From 70ec855578ddb20f836f45aa7975afdeb24cccf2 Mon Sep 17 00:00:00 2001 From: Subhash Arabhi Date: Mon, 2 Sep 2024 14:27:30 +0530 Subject: [PATCH 01/94] Removed changes in comments while renaming Signed-off-by: Subhash Arabhi --- .../protocol/TextDocumentServiceImpl.java | 1 - .../java/lsp/server/protocol/ServerTest.java | 39 ++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java index 212f9ee51f3c..e3121e03c565 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java @@ -1473,7 +1473,6 @@ public boolean cancel(boolean mayInterruptIfRunning) { refactoring[0] = new RenameRefactoring(Lookups.fixed(lookupContent.toArray(new Object[0]))); refactoring[0].getContext().add(JavaRefactoringUtils.getClasspathInfoFor(cc.getFileObject())); refactoring[0].setNewName(params.getNewName()); - refactoring[0].setSearchInComments(true); //TODO? } }, true); if (cancel.get()) return ; diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java index 684f5db0a2d6..b18c7850daff 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java @@ -3794,6 +3794,13 @@ public void testRenameDocumentChangesCapabilitiesRenameOp() throws Exception { Set actual = edit.getDocumentChanges().stream().map(this::toString).collect(Collectors.toSet()); Set expected = new HashSet<>(Arrays.asList("Test2.java:[0:27-0:31=>TestNew, 1:4-1:8=>TestNew, 2:11-2:15=>TestNew]", "Test.java:[0:13-0:17=>TestNew]", "Test.java=>TestNew.java")); assertEquals(expected, actual); + }, + cf -> { + WorkspaceEdit edit = cf.get(); + assertTrue(edit.getChanges().isEmpty()); + Set actual = edit.getDocumentChanges().stream().map(this::toString).collect(Collectors.toSet()); + Set expected = new HashSet<>(Arrays.asList("Test3.java:[3:14-3:22=>arg, 6:36-6:44=>arg, 7:27-7:35=>arg]")); + assertEquals(expected, actual); }); } @@ -3818,12 +3825,20 @@ public void testRenameDocumentChangesCapabilitiesNoRenameOp() throws Exception { Set actual = edit.getDocumentChanges().stream().map(this::toString).collect(Collectors.toSet()); Set expected = new HashSet<>(Arrays.asList("Test2.java:[0:27-0:31=>TestNew, 1:4-1:8=>TestNew, 2:11-2:15=>TestNew]", "Test.java:[0:13-0:17=>TestNew]", "Test.java=>TestNew.java")); assertEquals(expected, actual); + }, + cf -> { + WorkspaceEdit edit = cf.get(); + assertTrue(edit.getChanges().isEmpty()); + Set actual = edit.getDocumentChanges().stream().map(this::toString).collect(Collectors.toSet()); + Set expected = new HashSet<>(Arrays.asList("Test3.java:[3:14-3:22=>arg, 6:36-6:44=>arg, 7:27-7:35=>arg]")); + assertEquals(expected, actual); }); } private void doTestRename(Consumer settings, Validator> validateFieldRename, - Validator> validateClassRename) throws Exception { + Validator> validateClassRename, + Validator> validateArgumentRename) throws Exception { File src = new File(getWorkDir(), "Test.java"); src.getParentFile().mkdirs(); try (Writer w = new FileWriter(new File(src.getParentFile(), ".test-project"))) {} @@ -3842,6 +3857,20 @@ private void doTestRename(Consumer settings, try (Writer w = new FileWriter(src2)) { w.write(code2); } + File src3 = new File(getWorkDir(), "Test3.java"); + String code3 = "public class Test3 {\n" + + " /**\n" + + " * They had an argument\n" + + " * @param argument\n" + + " *\n" + + " */\n" + + " public static void greet(String argument){\n" + + " System.out.println(argument);\n" + + " }\n" + + "}"; + try (Writer w = new FileWriter(src3)) { + w.write(code3); + } List[] diags = new List[1]; CountDownLatch indexingComplete = new CountDownLatch(1); Launcher serverLauncher = createClientLauncherWithLogging(new LspClient() { @@ -3899,6 +3928,14 @@ public void logMessage(MessageParams arg0) { validateClassRename.validate(server.getTextDocumentService().rename(params)); } + server.getTextDocumentService().didOpen(new DidOpenTextDocumentParams(new TextDocumentItem(toURI(src3), "java", 0, code3))); + { + RenameParams params = new RenameParams(new TextDocumentIdentifier(src3.toURI().toString()), + new Position(6, 37), + "arg"); + + validateArgumentRename.validate(server.getTextDocumentService().rename(params)); + } } public void testMoveClass() throws Exception { From fe75977bf3d9f321477275c5d17422a5558fabc1 Mon Sep 17 00:00:00 2001 From: Siddharth Srinivasan Date: Mon, 2 Sep 2024 20:37:41 +0530 Subject: [PATCH 02/94] Making minor code modifications for better readability and validation Added minor improvements in `org.netbeans.modules.projectapi.SimpleFileOwnerQueryImplementation` to the config property values read for "project.limitScanRoot" and "project.forbiddenFolders" for: - path validations; - comparisons in `getOwner()`; - support multiple paths input for limitScanRoot. Added minor readability improvements and removed unused imports. Signed-off-by: Siddharth Srinivasan --- .../netbeans/modules/gradle/ProjectTrust.java | 6 +- ide/projectapi/arch.xml | 5 +- .../SimpleFileOwnerQueryImplementation.java | 61 ++++++++++++++----- .../src/org/netbeans/CLIHandler.java | 3 +- 4 files changed, 54 insertions(+), 21 deletions(-) diff --git a/extide/gradle/src/org/netbeans/modules/gradle/ProjectTrust.java b/extide/gradle/src/org/netbeans/modules/gradle/ProjectTrust.java index 1d7ad89a8714..216291f86fd4 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/ProjectTrust.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/ProjectTrust.java @@ -25,10 +25,10 @@ import java.security.InvalidKeyException; import java.security.Key; import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; import java.util.Collections; import java.util.HashSet; import java.util.List; -import java.util.Random; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -69,7 +69,7 @@ public class ProjectTrust { byte[] buf = prefs.getByteArray(KEY_SALT, null); if (buf == null) { buf = new byte[16]; - new Random().nextBytes(buf); + new SecureRandom().nextBytes(buf); prefs.putByteArray(KEY_SALT, buf); } salt = buf; @@ -134,7 +134,7 @@ public void trustProject(Project project, boolean permanently) { if (permanently && !isTrustedPermanently(project)) { Path trustFile = getProjectTrustFile(project); byte[] rnd = new byte[16]; - new Random().nextBytes(rnd); + new SecureRandom().nextBytes(rnd); String projectId = toHex(rnd); projectTrust.put(pathId, projectId); try { diff --git a/ide/projectapi/arch.xml b/ide/projectapi/arch.xml index e91502b7570b..81349ae3f7d0 100644 --- a/ide/projectapi/arch.xml +++ b/ide/projectapi/arch.xml @@ -509,8 +509,9 @@ Nothing.

- If defined, limits search for a parent project to a certain subtree. The property defines absolute path of a folder - where upwards search for a project in parent folders is terminated. Queries outside of the root will not find any project. + If defined, limits search for a parent project to a certain subtree. The property defines the absolute path of a folder + where upwards search for a project in parent folders is terminated. Queries outside the root will not find any project. + Multiple folders may be specified when delimited with OS-specific path separators (':' on *nix, ';' on Windows). Currently used for tests so the tested runtime does not escape the workdir.

diff --git a/ide/projectapi/src/org/netbeans/modules/projectapi/SimpleFileOwnerQueryImplementation.java b/ide/projectapi/src/org/netbeans/modules/projectapi/SimpleFileOwnerQueryImplementation.java index 05b887129a52..bf4b435f4dbf 100644 --- a/ide/projectapi/src/org/netbeans/modules/projectapi/SimpleFileOwnerQueryImplementation.java +++ b/ide/projectapi/src/org/netbeans/modules/projectapi/SimpleFileOwnerQueryImplementation.java @@ -19,6 +19,7 @@ package org.netbeans.modules.projectapi; +import java.io.File; import java.io.IOException; import java.lang.ref.Reference; import java.lang.ref.WeakReference; @@ -27,10 +28,9 @@ import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -45,6 +45,7 @@ import org.netbeans.api.project.ProjectManager; import org.netbeans.spi.project.FileOwnerQueryImplementation; import org.openide.filesystems.FileObject; +import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; import org.openide.util.BaseUtilities; import org.openide.util.NbPreferences; @@ -59,21 +60,19 @@ public class SimpleFileOwnerQueryImplementation implements FileOwnerQueryImpleme private static final Logger LOG = Logger.getLogger(SimpleFileOwnerQueryImplementation.class.getName()); private static final URI UNOWNED_URI = URI.create("http:unowned"); private static final Set forbiddenFolders; - private static final String projectScanRoot; + private static final Set projectScanRoots; static { - Set files = new HashSet(); - String root = null; + Set folders = null; + Set roots = null; try { - root = System.getProperty("project.limitScanRoot"); // NOI18N - String forbidden = System.getProperty("project.forbiddenFolders", System.getProperty("versioning.forbiddenFolders", "")); //NOI18N - files.addAll(Arrays.asList(forbidden.split("\\;"))); //NOI18N - files.remove(""); //NOI18N + roots = separatePaths(System.getProperty("project.limitScanRoot"), File.pathSeparator); //NOI18N + folders = separatePaths(System.getProperty("project.forbiddenFolders", System.getProperty("versioning.forbiddenFolders")), ";"); //NOI18N } catch (Exception e) { LOG.log(Level.INFO, e.getMessage(), e); } - forbiddenFolders = files; - projectScanRoot = root; + forbiddenFolders = folders == null ? Collections.emptySet() : folders; + projectScanRoots = roots; } /** Do nothing */ @@ -113,7 +112,7 @@ public Project getOwner(FileObject f) { deserialize(); while (f != null) { - if (projectScanRoot != null && !f.getPath().startsWith(projectScanRoot)) { + if (projectScanRoots != null && projectScanRoots.stream().noneMatch(f.getPath()::startsWith)) { break; } boolean folder = f.isFolder(); @@ -137,8 +136,8 @@ public Project getOwner(FileObject f) { } folders.add(f); if (!forbiddenFolders.contains(f.getPath()) && - !hasRoot(externalOwners.keySet(), f, folder, furi) && - !hasRoot(deserializedExternalOwners.keySet(), f, folder, furi)) { + !hasRoot(externalOwners.keySet(), f, true, furi) && + !hasRoot(deserializedExternalOwners.keySet(), f, true, furi)) { Project p; try { p = ProjectManager.getDefault().findProject(f); @@ -414,6 +413,40 @@ private static URI goUp(URI u) { assert u.toString().startsWith(nue.toString()) : "not a parent: " + nue + " of " + u; return nue; } + + private static Set separatePaths(String joinedPaths, String pathSeparator) { + if (joinedPaths == null || joinedPaths.isEmpty()) + return null; + + Set paths = null; + for (String split : joinedPaths.split(pathSeparator)) { + if ((split = split.trim()).isEmpty()) continue; + + // Ensure that variations in terms of ".." or "." or windows drive-letter case differences are removed. + // File.getCanonicalFile() will additionally resolve symlinks, which is not required. + File file = FileUtil.normalizeFile(new File(split)); + + // Store FileObject.getPath(); because getOwner() compares these with FileObject.getPath() strings. + // This has some peculiarities as compared to File.getAbsolutePath(); such as return "" for File("/"). + FileObject fileObject = FileUtil.toFileObject(file); + // This conversion may get rid of non-existent paths. + if (fileObject == null) continue; + + String path = fileObject.getPath(); + if (path == null || path.isEmpty()) continue; + + if (paths == null) { + paths = Collections.singleton(path); // more performant in usage when only a single element is present. + } else { + if (paths.size() == 1) { + paths = new LinkedHashSet<>(paths); // more performant in iteration + } + paths.add(path); + } + } + return paths; + } + private static final boolean WINDOWS = BaseUtilities.isWindows(); } diff --git a/platform/o.n.bootstrap/src/org/netbeans/CLIHandler.java b/platform/o.n.bootstrap/src/org/netbeans/CLIHandler.java index 633ee72340de..3140aba8eafa 100644 --- a/platform/o.n.bootstrap/src/org/netbeans/CLIHandler.java +++ b/platform/o.n.bootstrap/src/org/netbeans/CLIHandler.java @@ -45,7 +45,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Random; import java.util.logging.Level; import java.util.logging.Logger; import org.openide.util.RequestProcessor; @@ -580,7 +579,7 @@ static Status initialize( enterState(10, block); final byte[] arr = new byte[KEY_LENGTH]; - new Random().nextBytes(arr); + new SecureRandom().nextBytes(arr); final RandomAccessFile os = raf; From d371a8ca9a2b8563184a2adb0c8c61a271d15a9e Mon Sep 17 00:00:00 2001 From: Siddharth Srinivasan Date: Fri, 13 Sep 2024 10:58:19 +0530 Subject: [PATCH 03/94] Fix code-folding for LSP clients that support line-folding only 1. Added `TextDocumentServiceImpl.convertToLineOnlyFolds` which: - accepts code-folds specified as fine-grained Position-based (line, column) ranges, and, - changes them to coarse-grained line-only ranges. - The line-only ranges computed uphold the code-folding invariant that: *a fold **does not end** at the same point **where** another fold **starts**. * 2. This is used in `TextDocumentServiceImpl.foldingRange()` when the client capabilities have `FoldingRangeClientCapabilities.lineFoldingOnly = true`. Signed-off-by: Siddharth Srinivasan --- .../protocol/TextDocumentServiceImpl.java | 82 +++++++++- .../protocol/TextDocumentServiceImplTest.java | 142 ++++++++++++++++++ 2 files changed, 222 insertions(+), 2 deletions(-) diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java index 66b4e4287732..c5bd8de4cd00 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java @@ -43,13 +43,17 @@ import java.net.URISyntaxException; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; +import java.util.Comparator; +import java.util.Deque; import java.util.EnumSet; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; @@ -1550,12 +1554,13 @@ public CompletableFuture> foldingRange(FoldingRangeRequestPar if (source == null) { return CompletableFuture.completedFuture(Collections.emptyList()); } + final boolean lineFoldingOnly = client.getNbCodeCapabilities().getClientCapabilities().getTextDocument().getFoldingRange().getLineFoldingOnly() == Boolean.TRUE; CompletableFuture> result = new CompletableFuture<>(); try { source.runUserActionTask(cc -> { cc.toPhase(JavaSource.Phase.RESOLVED); Document doc = cc.getSnapshot().getSource().getDocument(true); - JavaElementFoldVisitor v = new JavaElementFoldVisitor(cc, cc.getCompilationUnit(), cc.getTrees().getSourcePositions(), doc, new FoldCreator() { + JavaElementFoldVisitor v = new JavaElementFoldVisitor<>(cc, cc.getCompilationUnit(), cc.getTrees().getSourcePositions(), doc, new FoldCreator() { @Override public FoldingRange createImportsFold(int start, int end) { return createFold(start, end, FoldingRangeKind.Imports); @@ -1600,7 +1605,10 @@ private FoldingRange createFold(int start, int end, String kind) { }); v.checkInitialFold(); v.scan(cc.getCompilationUnit(), null); - result.complete(v.getFolds()); + List folds = v.getFolds(); + if (lineFoldingOnly) + folds = convertToLineOnlyFolds(folds); + result.complete(folds); }, true); } catch (IOException ex) { result.completeExceptionally(ex); @@ -1608,6 +1616,76 @@ private FoldingRange createFold(int start, int end, String kind) { return result; } + /** + * Converts a list of code-folds to a line-only Range form, in place of the + * finer-grained form of {@linkplain Position Position-based} (line, column) Ranges. + *

+ * This is needed for LSP clients that do not support the finer grained Range + * specification. This is expected to be advertised by the client in + * {@code FoldingRangeClientCapabilities.lineFoldingOnly}. + * + * @implSpec The line-only ranges computed uphold the code-folding invariant that: + * a fold does not end at the same point where another fold starts. + * + * @implNote This is performed in {@code O(n log n) + O(n)} time and {@code O(n)} space for the returned list. + * + * @param folds List of code-folding ranges computed for a textDocument, + * containing fine-grained {@linkplain Position Position-based} + * (line, column) ranges. + * @return List of code-folding ranges computed for a textDocument, + * containing coarse-grained line-only ranges. + * + * @see + * LSP FoldingRangeClientCapabilities + */ + static List convertToLineOnlyFolds(List folds) { + if (folds != null && folds.size() > 1) { + // Ensure that the folds are sorted in increasing order of their start position + folds = new ArrayList<>(folds); + folds.sort(Comparator.comparingInt(FoldingRange::getStartLine) + .thenComparing(FoldingRange::getStartCharacter)); + // Maintain a stack of enclosing folds + Deque enclosingFolds = new ArrayDeque<>(); + for (FoldingRange fold : folds) { + FoldingRange last; + while ((last = enclosingFolds.peek()) != null && + (last.getEndLine() < fold.getEndLine() || + (last.getEndLine() == fold.getEndLine() && last.getEndCharacter() < fold.getEndCharacter()))) { + // The last enclosingFold does not enclose this fold. + // Due to sortedness of the folds, last also ends before this fold starts. + enclosingFolds.pop(); + // If needed, adjust last to end on a line prior to this fold start + if (last.getEndLine() == fold.getStartLine()) { + last.setEndLine(last.getEndLine() - 1); + } + last.setEndCharacter(null); // null denotes the end of the line. + last.setStartCharacter(null); // null denotes the end of the line. + } + enclosingFolds.push(fold); + } + // empty the stack; since each fold completely encloses the next higher one. + FoldingRange fold; + while ((fold = enclosingFolds.poll()) != null) { + fold.setEndCharacter(null); // null denotes the end of the line. + fold.setStartCharacter(null); // null denotes the end of the line. + } + // Remove invalid or duplicate folds + Iterator it = folds.iterator(); + FoldingRange prev = null; + while(it.hasNext()) { + FoldingRange next = it.next(); + if (next.getEndLine() <= next.getStartLine() || + (prev != null && prev.equals(next))) { + it.remove(); + } else { + prev = next; + } + } + } + return folds; + } + + @Override public void didOpen(DidOpenTextDocumentParams params) { LOG.log(Level.FINER, "didOpen: {0}", params); diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImplTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImplTest.java index 0f2bda50ae1e..06fd93d3e5ba 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImplTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImplTest.java @@ -18,14 +18,19 @@ */ package org.netbeans.modules.java.lsp.server.protocol; +import java.util.Collections; +import java.util.List; import java.util.concurrent.atomic.AtomicInteger; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; import javax.swing.text.Document; import javax.swing.text.PlainDocument; +import org.eclipse.lsp4j.FoldingRange; import org.netbeans.junit.NbTestCase; +import static org.netbeans.modules.java.lsp.server.protocol.TextDocumentServiceImpl.convertToLineOnlyFolds; + public class TextDocumentServiceImplTest extends NbTestCase { public TextDocumentServiceImplTest(String name) { @@ -117,4 +122,141 @@ public void changedUpdate(DocumentEvent e) { fail(String.valueOf(e)); } } + + public void testConvertToLineOnlyFolds() { + assertNull(convertToLineOnlyFolds(null)); + assertEquals(0, convertToLineOnlyFolds(Collections.emptyList()).size()); + List inputFolds, outputFolds; + inputFolds = Collections.singletonList(createRange(10, 20)); + assertEquals(inputFolds, convertToLineOnlyFolds(inputFolds)); + + // test stable sort by start index + inputFolds = List.of(createRange(10, 20, 9, 9), createRange(5, 9, 9, 9), createRange(10, 19, 9, 9), createRange(10, 14, 13, 13)); + outputFolds = List.of(createRange(5, 9), createRange(10, 20), createRange(10, 19), createRange(10, 14)); + assertEquals(outputFolds, convertToLineOnlyFolds(inputFolds)); + + // test already disjoint folds + inputFolds = List.of(createRange(10, 20, 9, 9), createRange(5, 9, 9, 9), createRange(15, 19, 13, 13), createRange(10, 14, 13, 13)); + outputFolds = List.of(createRange(5, 9), createRange(10, 20), createRange(10, 14), createRange(15, 19)); + assertEquals(outputFolds, convertToLineOnlyFolds(inputFolds)); + + // test invariant of range.endLine: there exists no otherRange.startLine == range.endLine. + inputFolds = List.of(createRange(10, 20, 35, 9), createRange(5, 10, 12, 9), createRange(15, 19, 20, 13), createRange(10, 15, 51, 13)); + assertEquals(outputFolds, convertToLineOnlyFolds(inputFolds)); + + // test a complex example of a full file: +//import java.util.ArrayList; +//import java.util.Collection; +//import java.util.Collections; +// +///** +// * A top-class action performer +// * +// * @since 1.1 +// */ +//public class TopClass { +// +// private final String action; +// private final int index; +// +// /** +// * @param action Top action to be done +// */ +// public TopClass(String action) { +// this(action, 0); +// } +// +// /** +// * @param action Top action to be done +// * @param index Action index +// */ +// public TopClass(String action, int index) { +// this.action = action; +// this.index = index; +// } +// +// public void doSomethingTopClass(TopClass tc) { +// // what can we do +// { +// if (tc == this) { +// return; +// } else if (tc.getClass() == this.getClass()) { +// } else if (tc.getClass().isAssignableFrom(this.getClass())) { +// +// } else { +// if (true) { +// switch (tc) { +// default: { /* this is some comment */ ; } +// /// some outside default +// } +// } else { if (true) { { /* some */ } { /* bad blocks */ } +// }} +// /* done */ +// } +// } +// tc.doSomethingTopClass(tc); +// } +// +// public class InnerClass { +// @Override +// public String toString() { +// StringBuilder sb = new StringBuilder(); +// sb.append("InnerClass{"); +// sb.append("action=").append(action); +// sb.append(", index=").append(index); +// sb.append('}'); +// return sb.toString(); +// } +// } +//} + inputFolds = List.of( + createRange(27, 30, 48, 5), + createRange(0, 3, 7, 30), + createRange(32, 52, 51, 5), + createRange(37, 38, 59, 13), + createRange(34, 50, 10, 9), + createRange(46, 46, 39, 51), + createRange(35, 37, 30, 13), + createRange(38, 40, 74, 13), + createRange(40, 49, 21, 13), + createRange(46, 47, 37, 17), + createRange(41, 46, 28, 17), + createRange(42, 45, 34, 21), + createRange(11, 66, 24, 1), + createRange(43, 43, 35, 65), + createRange(46, 47, 25, 18), + createRange(54, 64, 30, 5), + createRange(46, 46, 54, 72), + createRange(6, 10, 4, 1), + createRange(56, 63, 35, 9) + ); + outputFolds = List.of( + createRange(0, 3), + createRange(6, 10), + createRange(11, 66), + createRange(27, 30), + createRange(32, 52), + createRange(34, 50), + createRange(35, 36), + createRange(38, 39), + createRange(40, 49), + createRange(41, 45), + createRange(42, 45), + createRange(46, 47), + createRange(54, 64), + createRange(56, 63) + ); + assertEquals(outputFolds, convertToLineOnlyFolds(inputFolds)); + } + + private static FoldingRange createRange(int startLine, int endLine) { + return new FoldingRange(startLine, endLine); + } + + private static FoldingRange createRange(int startLine, int endLine, Integer startColumn, Integer endColumn) { + FoldingRange foldingRange = new FoldingRange(startLine, endLine); + foldingRange.setStartCharacter(startColumn); + foldingRange.setEndCharacter(endColumn); + return foldingRange; + } } From 23ed11129c5eee8d6806af906fbac9c1b5c34daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Tue, 17 Sep 2024 17:04:16 +0200 Subject: [PATCH 04/94] CSS: Improve handling of generic-at-rules (for example used by tailwind) Closes: #6860 --- ide/css.lib/build.xml | 2 +- .../src/org/netbeans/modules/css/lib/Css3.g | 19 +- .../netbeans/modules/css/lib/Css3Lexer.java | 3569 ++- .../netbeans/modules/css/lib/Css3Parser.java | 19649 ++++++++-------- .../modules/css/lib/api/NodeType.java | 3 + .../modules/css/lib/Css3ParserTest.java | 11 + 6 files changed, 11520 insertions(+), 11733 deletions(-) diff --git a/ide/css.lib/build.xml b/ide/css.lib/build.xml index 38d4a7c876a5..46c5328b22de 100644 --- a/ide/css.lib/build.xml +++ b/ide/css.lib/build.xml @@ -33,7 +33,7 @@ - + diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g index fb96bdfd295d..d6f983d82984 100644 --- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g +++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g @@ -713,11 +713,8 @@ atRuleId ; generic_at_rule - : AT_IDENT ws? ( atRuleId ws? )? - LBRACE - syncTo_RBRACE - RBRACE - ; + : AT_IDENT ws ((LBRACE) => braceBlock2 | (componentValue) => componentValue) ((ws (LBRACE | (componentValue) => componentValue)) => (ws ((LBRACE) => braceBlock2 | (componentValue) => componentValue)))*; + moz_document : MOZ_DOCUMENT_SYM ws? ( moz_document_function ws?) ( COMMA ws? moz_document_function ws? )* @@ -899,7 +896,7 @@ declaration | (cp_mixin_declaration)=>cp_mixin_declaration | (cp_mixin_call)=> cp_mixin_call (ws? IMPORTANT_SYM)? | (cp_mixin_call)=> {isScssSource()}? cp_mixin_call (ws? IMPORTANT_SYM)? - | {isCssPreprocessorSource()}? at_rule + | at_rule | {isScssSource()}? sass_control | {isScssSource()}? sass_extend | {isScssSource()}? sass_debug @@ -1096,7 +1093,15 @@ preservedToken: ~ (LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET); preservedTokenTopLevel: ~ (LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET | SEMI ); -braceBlock: LBRACE componentValue+ RBRACE; +// {} block +braceBlock2: + LBRACE ws? + declarations? + RBRACE + ; + +// simple brace block +braceBlock: LBRACE componentValue* RBRACE; bracketBlock: LBRACKET componentValue+ RBRACKET; diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java index dc50261a2d38..1a816c7731a3 100644 --- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java +++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.5.2 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2023-09-14 19:44:33 +// $ANTLR 3.5.3 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2024-10-07 20:25:38 /* * Licensed to the Apache Software Foundation (ASF) under one @@ -219,8 +219,8 @@ public final void mGEN() throws RecognitionException { try { int _type = GEN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1655:25: ( '@@@' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1655:27: '@@@' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1660:25: ( '@@@' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1660:27: '@@@' { match("@@@"); if (state.failed) return; @@ -238,7 +238,7 @@ public final void mGEN() throws RecognitionException { // $ANTLR start "HEXCHAR" public final void mHEXCHAR() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1657:25: ( ( 'a' .. 'f' | 'A' .. 'F' | '0' .. '9' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1662:25: ( ( 'a' .. 'f' | 'A' .. 'F' | '0' .. '9' ) ) // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) { @@ -263,7 +263,7 @@ public final void mHEXCHAR() throws RecognitionException { // $ANTLR start "NONASCII" public final void mNONASCII() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1659:25: ( '\\u0080' .. '\\uFFFF' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1664:25: ( '\\u0080' .. '\\uFFFF' ) // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { if ( (input.LA(1) >= '\u0080' && input.LA(1) <= '\uFFFF') ) { @@ -288,13 +288,13 @@ public final void mNONASCII() throws RecognitionException { // $ANTLR start "UNICODE" public final void mUNICODE() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1661:25: ( '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1661:27: '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1666:25: ( '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1666:27: '\\\\' HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* { match('\\'); if (state.failed) return; mHEXCHAR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1662:33: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1667:33: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? )? int alt5=2; int LA5_0 = input.LA(1); if ( ((LA5_0 >= '0' && LA5_0 <= '9')||(LA5_0 >= 'A' && LA5_0 <= 'F')||(LA5_0 >= 'a' && LA5_0 <= 'f')) ) { @@ -302,11 +302,11 @@ public final void mUNICODE() throws RecognitionException { } switch (alt5) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1662:34: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1667:34: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? { mHEXCHAR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1663:37: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1668:37: ( HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? )? int alt4=2; int LA4_0 = input.LA(1); if ( ((LA4_0 >= '0' && LA4_0 <= '9')||(LA4_0 >= 'A' && LA4_0 <= 'F')||(LA4_0 >= 'a' && LA4_0 <= 'f')) ) { @@ -314,11 +314,11 @@ public final void mUNICODE() throws RecognitionException { } switch (alt4) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1663:38: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1668:38: HEXCHAR ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? { mHEXCHAR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1664:41: ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1669:41: ( HEXCHAR ( HEXCHAR ( HEXCHAR )? )? )? int alt3=2; int LA3_0 = input.LA(1); if ( ((LA3_0 >= '0' && LA3_0 <= '9')||(LA3_0 >= 'A' && LA3_0 <= 'F')||(LA3_0 >= 'a' && LA3_0 <= 'f')) ) { @@ -326,11 +326,11 @@ public final void mUNICODE() throws RecognitionException { } switch (alt3) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1664:42: HEXCHAR ( HEXCHAR ( HEXCHAR )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1669:42: HEXCHAR ( HEXCHAR ( HEXCHAR )? )? { mHEXCHAR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1665:45: ( HEXCHAR ( HEXCHAR )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1670:45: ( HEXCHAR ( HEXCHAR )? )? int alt2=2; int LA2_0 = input.LA(1); if ( ((LA2_0 >= '0' && LA2_0 <= '9')||(LA2_0 >= 'A' && LA2_0 <= 'F')||(LA2_0 >= 'a' && LA2_0 <= 'f')) ) { @@ -338,11 +338,11 @@ public final void mUNICODE() throws RecognitionException { } switch (alt2) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1665:46: HEXCHAR ( HEXCHAR )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1670:46: HEXCHAR ( HEXCHAR )? { mHEXCHAR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1665:54: ( HEXCHAR )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1670:54: ( HEXCHAR )? int alt1=2; int LA1_0 = input.LA(1); if ( ((LA1_0 >= '0' && LA1_0 <= '9')||(LA1_0 >= 'A' && LA1_0 <= 'F')||(LA1_0 >= 'a' && LA1_0 <= 'f')) ) { @@ -387,7 +387,7 @@ public final void mUNICODE() throws RecognitionException { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1669:33: ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1674:33: ( '\\r' | '\\n' | '\\t' | '\\f' | ' ' )* loop6: while (true) { int alt6=2; @@ -430,7 +430,7 @@ public final void mUNICODE() throws RecognitionException { // $ANTLR start "ESCAPE" public final void mESCAPE() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:25: ( UNICODE | '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1676:25: ( UNICODE | '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR ) ) int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0=='\\') ) { @@ -466,14 +466,14 @@ else if ( ((LA7_1 >= '0' && LA7_1 <= '9')||(LA7_1 >= 'A' && LA7_1 <= 'F')||(LA7_ switch (alt7) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:27: UNICODE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1676:27: UNICODE { mUNICODE(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1671:37: '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1676:37: '\\\\' ~ ( '\\r' | '\\n' | '\\f' | HEXCHAR ) { match('\\'); if (state.failed) return; if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\t')||input.LA(1)=='\u000B'||(input.LA(1) >= '\u000E' && input.LA(1) <= '/')||(input.LA(1) >= ':' && input.LA(1) <= '@')||(input.LA(1) >= 'G' && input.LA(1) <= '`')||(input.LA(1) >= 'g' && input.LA(1) <= '\uFFFF') ) { @@ -500,7 +500,7 @@ else if ( ((LA7_1 >= '0' && LA7_1 <= '9')||(LA7_1 >= 'A' && LA7_1 <= 'F')||(LA7_ // $ANTLR start "NMSTART" public final void mNMSTART() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | NONASCII | ESCAPE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1678:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | NONASCII | ESCAPE ) int alt8=5; int LA8_0 = input.LA(1); if ( (LA8_0=='_') ) { @@ -528,32 +528,32 @@ else if ( (LA8_0=='\\') ) { switch (alt8) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1673:27: '_' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1678:27: '_' { match('_'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1674:27: 'a' .. 'z' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1679:27: 'a' .. 'z' { matchRange('a','z'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1675:27: 'A' .. 'Z' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:27: 'A' .. 'Z' { matchRange('A','Z'); if (state.failed) return; } break; case 4 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1676:27: NONASCII + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1681:27: NONASCII { mNONASCII(); if (state.failed) return; } break; case 5 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1677:27: ESCAPE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1682:27: ESCAPE { mESCAPE(); if (state.failed) return; @@ -571,7 +571,7 @@ else if ( (LA8_0=='\\') ) { // $ANTLR start "NMCHAR" public final void mNMCHAR() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | NONASCII | ESCAPE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1685:25: ( '_' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '-' | NONASCII | ESCAPE ) int alt9=7; int LA9_0 = input.LA(1); if ( (LA9_0=='_') ) { @@ -605,44 +605,44 @@ else if ( (LA9_0=='\\') ) { switch (alt9) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1680:27: '_' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1685:27: '_' { match('_'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1681:27: 'a' .. 'z' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1686:27: 'a' .. 'z' { matchRange('a','z'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1682:27: 'A' .. 'Z' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1687:27: 'A' .. 'Z' { matchRange('A','Z'); if (state.failed) return; } break; case 4 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1683:27: '0' .. '9' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1688:27: '0' .. '9' { matchRange('0','9'); if (state.failed) return; } break; case 5 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1684:27: '-' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1689:27: '-' { match('-'); if (state.failed) return; } break; case 6 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1685:27: NONASCII + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1690:27: NONASCII { mNONASCII(); if (state.failed) return; } break; case 7 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1686:27: ESCAPE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:27: ESCAPE { mESCAPE(); if (state.failed) return; @@ -660,10 +660,10 @@ else if ( (LA9_0=='\\') ) { // $ANTLR start "NAME" public final void mNAME() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1689:25: ( ( NMCHAR )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1689:27: ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1694:25: ( ( NMCHAR )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1694:27: ( NMCHAR )+ { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1689:27: ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1694:27: ( NMCHAR )+ int cnt10=0; loop10: while (true) { @@ -675,7 +675,7 @@ public final void mNAME() throws RecognitionException { switch (alt10) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1689:27: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1694:27: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -703,10 +703,10 @@ public final void mNAME() throws RecognitionException { // $ANTLR start "URL" public final void mURL() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:25: ( ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:25: ( ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:27: ( ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* )? int alt13=2; int LA13_0 = input.LA(1); if ( (LA13_0=='!'||(LA13_0 >= '#' && LA13_0 <= '&')||(LA13_0 >= '*' && LA13_0 <= ';')||LA13_0=='='||(LA13_0 >= '?' && LA13_0 <= '\\')||LA13_0=='_'||(LA13_0 >= 'a' && LA13_0 <= '~')||(LA13_0 >= '\u0080' && LA13_0 <= '\uFFFF')) ) { @@ -714,9 +714,9 @@ public final void mURL() throws RecognitionException { } switch (alt13) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1691:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:28: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | '{' | '}' | NMCHAR ) int alt11=21; int LA11_0 = input.LA(1); if ( (LA11_0=='[') ) { @@ -792,127 +792,127 @@ else if ( (LA11_0=='-'||(LA11_0 >= '0' && LA11_0 <= '9')||(LA11_0 >= 'A' && LA11 switch (alt11) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:31: '[' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:31: '[' { match('['); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:35: '!' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:35: '!' { match('!'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:39: '#' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:39: '#' { match('#'); if (state.failed) return; } break; case 4 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:43: '$' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:43: '$' { match('$'); if (state.failed) return; } break; case 5 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:47: '%' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:47: '%' { match('%'); if (state.failed) return; } break; case 6 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:51: '&' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:51: '&' { match('&'); if (state.failed) return; } break; case 7 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:55: '*' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:55: '*' { match('*'); if (state.failed) return; } break; case 8 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:59: '~' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:59: '~' { match('~'); if (state.failed) return; } break; case 9 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:63: '.' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:63: '.' { match('.'); if (state.failed) return; } break; case 10 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:67: ':' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:67: ':' { match(':'); if (state.failed) return; } break; case 11 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:71: '/' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:71: '/' { match('/'); if (state.failed) return; } break; case 12 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:75: '?' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:75: '?' { match('?'); if (state.failed) return; } break; case 13 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:79: '=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:79: '=' { match('='); if (state.failed) return; } break; case 14 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:83: ';' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:83: ';' { match(';'); if (state.failed) return; } break; case 15 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:87: ',' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:87: ',' { match(','); if (state.failed) return; } break; case 16 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:91: '+' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:91: '+' { match('+'); if (state.failed) return; } break; case 17 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:95: '@' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:95: '@' { match('@'); if (state.failed) return; } break; case 18 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:99: '|' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:99: '|' { match('|'); if (state.failed) return; } break; case 19 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:105: '{' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:105: '{' { match('{'); if (state.failed) return; } break; case 20 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1692:111: '}' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:111: '}' { match('}'); if (state.failed) return; } break; case 21 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1693:31: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1698:31: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -921,7 +921,7 @@ else if ( (LA11_0=='-'||(LA11_0 >= '0' && LA11_0 <= '9')||(LA11_0 >= 'A' && LA11 } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1695:27: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1700:27: ( '[' | '!' | '#' | '$' | '%' | '&' | '*' | '~' | '.' | ':' | '/' | '?' | '=' | ';' | ',' | '+' | '@' | '|' | WS | '\\\"' | '{' | '}' | NMCHAR )* loop12: while (true) { int alt12=24; @@ -998,140 +998,140 @@ else if ( (LA12_0=='-'||(LA12_0 >= '0' && LA12_0 <= '9')||(LA12_0 >= 'A' && LA12 switch (alt12) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:31: '[' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:31: '[' { match('['); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:35: '!' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:35: '!' { match('!'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:39: '#' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:39: '#' { match('#'); if (state.failed) return; } break; case 4 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:43: '$' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:43: '$' { match('$'); if (state.failed) return; } break; case 5 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:47: '%' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:47: '%' { match('%'); if (state.failed) return; } break; case 6 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:51: '&' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:51: '&' { match('&'); if (state.failed) return; } break; case 7 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:55: '*' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:55: '*' { match('*'); if (state.failed) return; } break; case 8 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:59: '~' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:59: '~' { match('~'); if (state.failed) return; } break; case 9 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:63: '.' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:63: '.' { match('.'); if (state.failed) return; } break; case 10 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:67: ':' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:67: ':' { match(':'); if (state.failed) return; } break; case 11 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:71: '/' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:71: '/' { match('/'); if (state.failed) return; } break; case 12 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:75: '?' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:75: '?' { match('?'); if (state.failed) return; } break; case 13 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:79: '=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:79: '=' { match('='); if (state.failed) return; } break; case 14 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:83: ';' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:83: ';' { match(';'); if (state.failed) return; } break; case 15 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:87: ',' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:87: ',' { match(','); if (state.failed) return; } break; case 16 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:91: '+' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:91: '+' { match('+'); if (state.failed) return; } break; case 17 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:95: '@' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:95: '@' { match('@'); if (state.failed) return; } break; case 18 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:99: '|' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:99: '|' { match('|'); if (state.failed) return; } break; case 19 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:105: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:105: WS { mWS(); if (state.failed) return; } break; case 20 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:111: '\\\"' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:111: '\\\"' { match('\"'); if (state.failed) return; } break; case 21 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:118: '{' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:118: '{' { match('{'); if (state.failed) return; } break; case 22 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1696:124: '}' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1701:124: '}' { match('}'); if (state.failed) return; } break; case 23 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1697:31: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1702:31: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -1160,7 +1160,7 @@ else if ( (LA12_0=='-'||(LA12_0 >= '0' && LA12_0 <= '9')||(LA12_0 >= 'A' && LA12 // $ANTLR start "A" public final void mA() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:17: ( ( 'a' | 'A' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1709:17: ( ( 'a' | 'A' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1' ) int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0=='A'||LA18_0=='a') ) { @@ -1179,7 +1179,7 @@ else if ( (LA18_0=='\\') ) { switch (alt18) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1704:21: ( 'a' | 'A' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1709:21: ( 'a' | 'A' ) { if ( input.LA(1)=='A'||input.LA(1)=='a' ) { input.consume(); @@ -1194,10 +1194,10 @@ else if ( (LA18_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '1' { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt17=2; int LA17_0 = input.LA(1); if ( (LA17_0=='0') ) { @@ -1205,10 +1205,10 @@ else if ( (LA18_0=='\\') ) { } switch (alt17) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:27: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:27: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:31: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:31: ( '0' ( '0' ( '0' )? )? )? int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0=='0') ) { @@ -1216,10 +1216,10 @@ else if ( (LA18_0=='\\') ) { } switch (alt16) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:32: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:32: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:36: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:36: ( '0' ( '0' )? )? int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0=='0') ) { @@ -1227,10 +1227,10 @@ else if ( (LA18_0=='\\') ) { } switch (alt15) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:37: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:37: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:41: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:41: ( '0' )? int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0=='0') ) { @@ -1238,7 +1238,7 @@ else if ( (LA18_0=='\\') ) { } switch (alt14) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1705:41: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:41: '0' { match('0'); if (state.failed) return; } @@ -1286,7 +1286,7 @@ else if ( (LA18_0=='\\') ) { // $ANTLR start "B" public final void mB() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1707:17: ( ( 'b' | 'B' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1712:17: ( ( 'b' | 'B' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2' ) int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0=='B'||LA23_0=='b') ) { @@ -1305,7 +1305,7 @@ else if ( (LA23_0=='\\') ) { switch (alt23) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1707:21: ( 'b' | 'B' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1712:21: ( 'b' | 'B' ) { if ( input.LA(1)=='B'||input.LA(1)=='b' ) { input.consume(); @@ -1320,10 +1320,10 @@ else if ( (LA23_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '2' { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0=='0') ) { @@ -1331,10 +1331,10 @@ else if ( (LA23_0=='\\') ) { } switch (alt22) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:27: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:27: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:31: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:31: ( '0' ( '0' ( '0' )? )? )? int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0=='0') ) { @@ -1342,10 +1342,10 @@ else if ( (LA23_0=='\\') ) { } switch (alt21) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:32: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:32: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:36: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:36: ( '0' ( '0' )? )? int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0=='0') ) { @@ -1353,10 +1353,10 @@ else if ( (LA23_0=='\\') ) { } switch (alt20) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:37: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:37: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:41: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:41: ( '0' )? int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0=='0') ) { @@ -1364,7 +1364,7 @@ else if ( (LA23_0=='\\') ) { } switch (alt19) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1708:41: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:41: '0' { match('0'); if (state.failed) return; } @@ -1412,7 +1412,7 @@ else if ( (LA23_0=='\\') ) { // $ANTLR start "C" public final void mC() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:17: ( ( 'c' | 'C' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1715:17: ( ( 'c' | 'C' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3' ) int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0=='C'||LA28_0=='c') ) { @@ -1431,7 +1431,7 @@ else if ( (LA28_0=='\\') ) { switch (alt28) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1710:21: ( 'c' | 'C' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1715:21: ( 'c' | 'C' ) { if ( input.LA(1)=='C'||input.LA(1)=='c' ) { input.consume(); @@ -1446,10 +1446,10 @@ else if ( (LA28_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '3' { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0=='0') ) { @@ -1457,10 +1457,10 @@ else if ( (LA28_0=='\\') ) { } switch (alt27) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:27: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:27: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:31: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:31: ( '0' ( '0' ( '0' )? )? )? int alt26=2; int LA26_0 = input.LA(1); if ( (LA26_0=='0') ) { @@ -1468,10 +1468,10 @@ else if ( (LA28_0=='\\') ) { } switch (alt26) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:32: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:32: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:36: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:36: ( '0' ( '0' )? )? int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0=='0') ) { @@ -1479,10 +1479,10 @@ else if ( (LA28_0=='\\') ) { } switch (alt25) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:37: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:37: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:41: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:41: ( '0' )? int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0=='0') ) { @@ -1490,7 +1490,7 @@ else if ( (LA28_0=='\\') ) { } switch (alt24) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1711:41: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:41: '0' { match('0'); if (state.failed) return; } @@ -1538,7 +1538,7 @@ else if ( (LA28_0=='\\') ) { // $ANTLR start "D" public final void mD() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:17: ( ( 'd' | 'D' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1718:17: ( ( 'd' | 'D' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4' ) int alt33=2; int LA33_0 = input.LA(1); if ( (LA33_0=='D'||LA33_0=='d') ) { @@ -1557,7 +1557,7 @@ else if ( (LA33_0=='\\') ) { switch (alt33) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1713:21: ( 'd' | 'D' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1718:21: ( 'd' | 'D' ) { if ( input.LA(1)=='D'||input.LA(1)=='d' ) { input.consume(); @@ -1572,10 +1572,10 @@ else if ( (LA33_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '4' { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt32=2; int LA32_0 = input.LA(1); if ( (LA32_0=='0') ) { @@ -1583,10 +1583,10 @@ else if ( (LA33_0=='\\') ) { } switch (alt32) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:27: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:27: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:31: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:31: ( '0' ( '0' ( '0' )? )? )? int alt31=2; int LA31_0 = input.LA(1); if ( (LA31_0=='0') ) { @@ -1594,10 +1594,10 @@ else if ( (LA33_0=='\\') ) { } switch (alt31) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:32: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:32: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:36: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:36: ( '0' ( '0' )? )? int alt30=2; int LA30_0 = input.LA(1); if ( (LA30_0=='0') ) { @@ -1605,10 +1605,10 @@ else if ( (LA33_0=='\\') ) { } switch (alt30) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:37: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:37: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:41: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:41: ( '0' )? int alt29=2; int LA29_0 = input.LA(1); if ( (LA29_0=='0') ) { @@ -1616,7 +1616,7 @@ else if ( (LA33_0=='\\') ) { } switch (alt29) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1714:41: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:41: '0' { match('0'); if (state.failed) return; } @@ -1664,7 +1664,7 @@ else if ( (LA33_0=='\\') ) { // $ANTLR start "E" public final void mE() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:17: ( ( 'e' | 'E' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1721:17: ( ( 'e' | 'E' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5' ) int alt38=2; int LA38_0 = input.LA(1); if ( (LA38_0=='E'||LA38_0=='e') ) { @@ -1683,7 +1683,7 @@ else if ( (LA38_0=='\\') ) { switch (alt38) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1716:21: ( 'e' | 'E' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1721:21: ( 'e' | 'E' ) { if ( input.LA(1)=='E'||input.LA(1)=='e' ) { input.consume(); @@ -1698,10 +1698,10 @@ else if ( (LA38_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '5' { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt37=2; int LA37_0 = input.LA(1); if ( (LA37_0=='0') ) { @@ -1709,10 +1709,10 @@ else if ( (LA38_0=='\\') ) { } switch (alt37) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:27: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:27: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:31: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:31: ( '0' ( '0' ( '0' )? )? )? int alt36=2; int LA36_0 = input.LA(1); if ( (LA36_0=='0') ) { @@ -1720,10 +1720,10 @@ else if ( (LA38_0=='\\') ) { } switch (alt36) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:32: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:32: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:36: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:36: ( '0' ( '0' )? )? int alt35=2; int LA35_0 = input.LA(1); if ( (LA35_0=='0') ) { @@ -1731,10 +1731,10 @@ else if ( (LA38_0=='\\') ) { } switch (alt35) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:37: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:37: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:41: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:41: ( '0' )? int alt34=2; int LA34_0 = input.LA(1); if ( (LA34_0=='0') ) { @@ -1742,7 +1742,7 @@ else if ( (LA38_0=='\\') ) { } switch (alt34) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1717:41: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:41: '0' { match('0'); if (state.failed) return; } @@ -1790,7 +1790,7 @@ else if ( (LA38_0=='\\') ) { // $ANTLR start "F" public final void mF() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:17: ( ( 'f' | 'F' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1724:17: ( ( 'f' | 'F' ) | '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6' ) int alt43=2; int LA43_0 = input.LA(1); if ( (LA43_0=='F'||LA43_0=='f') ) { @@ -1809,7 +1809,7 @@ else if ( (LA43_0=='\\') ) { switch (alt43) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1719:21: ( 'f' | 'F' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1724:21: ( 'f' | 'F' ) { if ( input.LA(1)=='F'||input.LA(1)=='f' ) { input.consume(); @@ -1824,10 +1824,10 @@ else if ( (LA43_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:21: '\\\\' ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '6' { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:26: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt42=2; int LA42_0 = input.LA(1); if ( (LA42_0=='0') ) { @@ -1835,10 +1835,10 @@ else if ( (LA43_0=='\\') ) { } switch (alt42) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:27: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:27: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:31: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:31: ( '0' ( '0' ( '0' )? )? )? int alt41=2; int LA41_0 = input.LA(1); if ( (LA41_0=='0') ) { @@ -1846,10 +1846,10 @@ else if ( (LA43_0=='\\') ) { } switch (alt41) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:32: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:32: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:36: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:36: ( '0' ( '0' )? )? int alt40=2; int LA40_0 = input.LA(1); if ( (LA40_0=='0') ) { @@ -1857,10 +1857,10 @@ else if ( (LA43_0=='\\') ) { } switch (alt40) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:37: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:37: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:41: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:41: ( '0' )? int alt39=2; int LA39_0 = input.LA(1); if ( (LA39_0=='0') ) { @@ -1868,7 +1868,7 @@ else if ( (LA43_0=='\\') ) { } switch (alt39) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1720:41: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:41: '0' { match('0'); if (state.failed) return; } @@ -1916,7 +1916,7 @@ else if ( (LA43_0=='\\') ) { // $ANTLR start "G" public final void mG() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:17: ( ( 'g' | 'G' ) | '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:17: ( ( 'g' | 'G' ) | '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) ) int alt49=2; int LA49_0 = input.LA(1); if ( (LA49_0=='G'||LA49_0=='g') ) { @@ -1935,7 +1935,7 @@ else if ( (LA49_0=='\\') ) { switch (alt49) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1722:21: ( 'g' | 'G' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:21: ( 'g' | 'G' ) { if ( input.LA(1)=='G'||input.LA(1)=='g' ) { input.consume(); @@ -1950,10 +1950,10 @@ else if ( (LA49_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1723:21: '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1728:21: '\\\\' ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1724:25: ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1729:25: ( 'g' | 'G' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' ) int alt48=3; switch ( input.LA(1) ) { case 'g': @@ -1981,21 +1981,21 @@ else if ( (LA49_0=='\\') ) { } switch (alt48) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1725:31: 'g' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1730:31: 'g' { match('g'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1726:31: 'G' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1731:31: 'G' { match('G'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '7' { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt47=2; int LA47_0 = input.LA(1); if ( (LA47_0=='0') ) { @@ -2003,10 +2003,10 @@ else if ( (LA49_0=='\\') ) { } switch (alt47) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:36: ( '0' ( '0' ( '0' )? )? )? int alt46=2; int LA46_0 = input.LA(1); if ( (LA46_0=='0') ) { @@ -2014,10 +2014,10 @@ else if ( (LA49_0=='\\') ) { } switch (alt46) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:41: ( '0' ( '0' )? )? int alt45=2; int LA45_0 = input.LA(1); if ( (LA45_0=='0') ) { @@ -2025,10 +2025,10 @@ else if ( (LA49_0=='\\') ) { } switch (alt45) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:46: ( '0' )? int alt44=2; int LA44_0 = input.LA(1); if ( (LA44_0=='0') ) { @@ -2036,7 +2036,7 @@ else if ( (LA49_0=='\\') ) { } switch (alt44) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1727:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:46: '0' { match('0'); if (state.failed) return; } @@ -2089,7 +2089,7 @@ else if ( (LA49_0=='\\') ) { // $ANTLR start "H" public final void mH() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1730:17: ( ( 'h' | 'H' ) | '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:17: ( ( 'h' | 'H' ) | '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) ) int alt55=2; int LA55_0 = input.LA(1); if ( (LA55_0=='H'||LA55_0=='h') ) { @@ -2108,7 +2108,7 @@ else if ( (LA55_0=='\\') ) { switch (alt55) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1730:21: ( 'h' | 'H' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:21: ( 'h' | 'H' ) { if ( input.LA(1)=='H'||input.LA(1)=='h' ) { input.consume(); @@ -2123,10 +2123,10 @@ else if ( (LA55_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1731:19: '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1736:19: '\\\\' ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1732:25: ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1737:25: ( 'h' | 'H' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' ) int alt54=3; switch ( input.LA(1) ) { case 'h': @@ -2154,21 +2154,21 @@ else if ( (LA55_0=='\\') ) { } switch (alt54) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1733:31: 'h' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1738:31: 'h' { match('h'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1734:31: 'H' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1739:31: 'H' { match('H'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '8' { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt53=2; int LA53_0 = input.LA(1); if ( (LA53_0=='0') ) { @@ -2176,10 +2176,10 @@ else if ( (LA55_0=='\\') ) { } switch (alt53) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:36: ( '0' ( '0' ( '0' )? )? )? int alt52=2; int LA52_0 = input.LA(1); if ( (LA52_0=='0') ) { @@ -2187,10 +2187,10 @@ else if ( (LA55_0=='\\') ) { } switch (alt52) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:41: ( '0' ( '0' )? )? int alt51=2; int LA51_0 = input.LA(1); if ( (LA51_0=='0') ) { @@ -2198,10 +2198,10 @@ else if ( (LA55_0=='\\') ) { } switch (alt51) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:46: ( '0' )? int alt50=2; int LA50_0 = input.LA(1); if ( (LA50_0=='0') ) { @@ -2209,7 +2209,7 @@ else if ( (LA55_0=='\\') ) { } switch (alt50) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1735:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:46: '0' { match('0'); if (state.failed) return; } @@ -2262,7 +2262,7 @@ else if ( (LA55_0=='\\') ) { // $ANTLR start "I" public final void mI() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1738:17: ( ( 'i' | 'I' ) | '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:17: ( ( 'i' | 'I' ) | '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) ) int alt61=2; int LA61_0 = input.LA(1); if ( (LA61_0=='I'||LA61_0=='i') ) { @@ -2281,7 +2281,7 @@ else if ( (LA61_0=='\\') ) { switch (alt61) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1738:21: ( 'i' | 'I' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:21: ( 'i' | 'I' ) { if ( input.LA(1)=='I'||input.LA(1)=='i' ) { input.consume(); @@ -2296,10 +2296,10 @@ else if ( (LA61_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1739:19: '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1744:19: '\\\\' ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1740:25: ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1745:25: ( 'i' | 'I' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' ) int alt60=3; switch ( input.LA(1) ) { case 'i': @@ -2327,21 +2327,21 @@ else if ( (LA61_0=='\\') ) { } switch (alt60) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1741:31: 'i' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1746:31: 'i' { match('i'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1742:31: 'I' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1747:31: 'I' { match('I'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) '9' { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt59=2; int LA59_0 = input.LA(1); if ( (LA59_0=='0') ) { @@ -2349,10 +2349,10 @@ else if ( (LA61_0=='\\') ) { } switch (alt59) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:36: ( '0' ( '0' ( '0' )? )? )? int alt58=2; int LA58_0 = input.LA(1); if ( (LA58_0=='0') ) { @@ -2360,10 +2360,10 @@ else if ( (LA61_0=='\\') ) { } switch (alt58) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:41: ( '0' ( '0' )? )? int alt57=2; int LA57_0 = input.LA(1); if ( (LA57_0=='0') ) { @@ -2371,10 +2371,10 @@ else if ( (LA61_0=='\\') ) { } switch (alt57) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:46: ( '0' )? int alt56=2; int LA56_0 = input.LA(1); if ( (LA56_0=='0') ) { @@ -2382,7 +2382,7 @@ else if ( (LA61_0=='\\') ) { } switch (alt56) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1743:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:46: '0' { match('0'); if (state.failed) return; } @@ -2435,7 +2435,7 @@ else if ( (LA61_0=='\\') ) { // $ANTLR start "J" public final void mJ() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1746:17: ( ( 'j' | 'J' ) | '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:17: ( ( 'j' | 'J' ) | '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) ) int alt67=2; int LA67_0 = input.LA(1); if ( (LA67_0=='J'||LA67_0=='j') ) { @@ -2454,7 +2454,7 @@ else if ( (LA67_0=='\\') ) { switch (alt67) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1746:21: ( 'j' | 'J' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:21: ( 'j' | 'J' ) { if ( input.LA(1)=='J'||input.LA(1)=='j' ) { input.consume(); @@ -2469,10 +2469,10 @@ else if ( (LA67_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1747:19: '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1752:19: '\\\\' ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1748:25: ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1753:25: ( 'j' | 'J' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) ) int alt66=3; switch ( input.LA(1) ) { case 'j': @@ -2500,21 +2500,21 @@ else if ( (LA67_0=='\\') ) { } switch (alt66) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1749:31: 'j' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:31: 'j' { match('j'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1750:31: 'J' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1755:31: 'J' { match('J'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'A' | 'a' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt65=2; int LA65_0 = input.LA(1); if ( (LA65_0=='0') ) { @@ -2522,10 +2522,10 @@ else if ( (LA67_0=='\\') ) { } switch (alt65) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:36: ( '0' ( '0' ( '0' )? )? )? int alt64=2; int LA64_0 = input.LA(1); if ( (LA64_0=='0') ) { @@ -2533,10 +2533,10 @@ else if ( (LA67_0=='\\') ) { } switch (alt64) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:41: ( '0' ( '0' )? )? int alt63=2; int LA63_0 = input.LA(1); if ( (LA63_0=='0') ) { @@ -2544,10 +2544,10 @@ else if ( (LA67_0=='\\') ) { } switch (alt63) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:46: ( '0' )? int alt62=2; int LA62_0 = input.LA(1); if ( (LA62_0=='0') ) { @@ -2555,7 +2555,7 @@ else if ( (LA67_0=='\\') ) { } switch (alt62) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1751:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:46: '0' { match('0'); if (state.failed) return; } @@ -2617,7 +2617,7 @@ else if ( (LA67_0=='\\') ) { // $ANTLR start "K" public final void mK() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:17: ( ( 'k' | 'K' ) | '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:17: ( ( 'k' | 'K' ) | '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) ) int alt73=2; int LA73_0 = input.LA(1); if ( (LA73_0=='K'||LA73_0=='k') ) { @@ -2636,7 +2636,7 @@ else if ( (LA73_0=='\\') ) { switch (alt73) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1754:21: ( 'k' | 'K' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:21: ( 'k' | 'K' ) { if ( input.LA(1)=='K'||input.LA(1)=='k' ) { input.consume(); @@ -2651,10 +2651,10 @@ else if ( (LA73_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1755:19: '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1760:19: '\\\\' ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1756:25: ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1761:25: ( 'k' | 'K' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) ) int alt72=3; switch ( input.LA(1) ) { case 'k': @@ -2682,21 +2682,21 @@ else if ( (LA73_0=='\\') ) { } switch (alt72) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1757:31: 'k' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:31: 'k' { match('k'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1758:31: 'K' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1763:31: 'K' { match('K'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'B' | 'b' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt71=2; int LA71_0 = input.LA(1); if ( (LA71_0=='0') ) { @@ -2704,10 +2704,10 @@ else if ( (LA73_0=='\\') ) { } switch (alt71) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:36: ( '0' ( '0' ( '0' )? )? )? int alt70=2; int LA70_0 = input.LA(1); if ( (LA70_0=='0') ) { @@ -2715,10 +2715,10 @@ else if ( (LA73_0=='\\') ) { } switch (alt70) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:41: ( '0' ( '0' )? )? int alt69=2; int LA69_0 = input.LA(1); if ( (LA69_0=='0') ) { @@ -2726,10 +2726,10 @@ else if ( (LA73_0=='\\') ) { } switch (alt69) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:46: ( '0' )? int alt68=2; int LA68_0 = input.LA(1); if ( (LA68_0=='0') ) { @@ -2737,7 +2737,7 @@ else if ( (LA73_0=='\\') ) { } switch (alt68) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1759:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:46: '0' { match('0'); if (state.failed) return; } @@ -2799,7 +2799,7 @@ else if ( (LA73_0=='\\') ) { // $ANTLR start "L" public final void mL() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:17: ( ( 'l' | 'L' ) | '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:17: ( ( 'l' | 'L' ) | '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) ) int alt79=2; int LA79_0 = input.LA(1); if ( (LA79_0=='L'||LA79_0=='l') ) { @@ -2818,7 +2818,7 @@ else if ( (LA79_0=='\\') ) { switch (alt79) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1762:21: ( 'l' | 'L' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:21: ( 'l' | 'L' ) { if ( input.LA(1)=='L'||input.LA(1)=='l' ) { input.consume(); @@ -2833,10 +2833,10 @@ else if ( (LA79_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1763:19: '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1768:19: '\\\\' ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1764:25: ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1769:25: ( 'l' | 'L' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) ) int alt78=3; switch ( input.LA(1) ) { case 'l': @@ -2864,21 +2864,21 @@ else if ( (LA79_0=='\\') ) { } switch (alt78) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1765:31: 'l' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1770:31: 'l' { match('l'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1766:31: 'L' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1771:31: 'L' { match('L'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'C' | 'c' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt77=2; int LA77_0 = input.LA(1); if ( (LA77_0=='0') ) { @@ -2886,10 +2886,10 @@ else if ( (LA79_0=='\\') ) { } switch (alt77) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:36: ( '0' ( '0' ( '0' )? )? )? int alt76=2; int LA76_0 = input.LA(1); if ( (LA76_0=='0') ) { @@ -2897,10 +2897,10 @@ else if ( (LA79_0=='\\') ) { } switch (alt76) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:41: ( '0' ( '0' )? )? int alt75=2; int LA75_0 = input.LA(1); if ( (LA75_0=='0') ) { @@ -2908,10 +2908,10 @@ else if ( (LA79_0=='\\') ) { } switch (alt75) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:46: ( '0' )? int alt74=2; int LA74_0 = input.LA(1); if ( (LA74_0=='0') ) { @@ -2919,7 +2919,7 @@ else if ( (LA79_0=='\\') ) { } switch (alt74) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1767:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:46: '0' { match('0'); if (state.failed) return; } @@ -2981,7 +2981,7 @@ else if ( (LA79_0=='\\') ) { // $ANTLR start "M" public final void mM() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1770:17: ( ( 'm' | 'M' ) | '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:17: ( ( 'm' | 'M' ) | '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) ) int alt85=2; int LA85_0 = input.LA(1); if ( (LA85_0=='M'||LA85_0=='m') ) { @@ -3000,7 +3000,7 @@ else if ( (LA85_0=='\\') ) { switch (alt85) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1770:21: ( 'm' | 'M' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:21: ( 'm' | 'M' ) { if ( input.LA(1)=='M'||input.LA(1)=='m' ) { input.consume(); @@ -3015,10 +3015,10 @@ else if ( (LA85_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1771:19: '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1776:19: '\\\\' ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1772:25: ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1777:25: ( 'm' | 'M' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) ) int alt84=3; switch ( input.LA(1) ) { case 'm': @@ -3046,21 +3046,21 @@ else if ( (LA85_0=='\\') ) { } switch (alt84) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1773:31: 'm' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1778:31: 'm' { match('m'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1774:31: 'M' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1779:31: 'M' { match('M'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'D' | 'd' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt83=2; int LA83_0 = input.LA(1); if ( (LA83_0=='0') ) { @@ -3068,10 +3068,10 @@ else if ( (LA85_0=='\\') ) { } switch (alt83) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:36: ( '0' ( '0' ( '0' )? )? )? int alt82=2; int LA82_0 = input.LA(1); if ( (LA82_0=='0') ) { @@ -3079,10 +3079,10 @@ else if ( (LA85_0=='\\') ) { } switch (alt82) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:41: ( '0' ( '0' )? )? int alt81=2; int LA81_0 = input.LA(1); if ( (LA81_0=='0') ) { @@ -3090,10 +3090,10 @@ else if ( (LA85_0=='\\') ) { } switch (alt81) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:46: ( '0' )? int alt80=2; int LA80_0 = input.LA(1); if ( (LA80_0=='0') ) { @@ -3101,7 +3101,7 @@ else if ( (LA85_0=='\\') ) { } switch (alt80) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1775:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:46: '0' { match('0'); if (state.failed) return; } @@ -3163,7 +3163,7 @@ else if ( (LA85_0=='\\') ) { // $ANTLR start "N" public final void mN() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1778:17: ( ( 'n' | 'N' ) | '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:17: ( ( 'n' | 'N' ) | '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) ) int alt91=2; int LA91_0 = input.LA(1); if ( (LA91_0=='N'||LA91_0=='n') ) { @@ -3182,7 +3182,7 @@ else if ( (LA91_0=='\\') ) { switch (alt91) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1778:21: ( 'n' | 'N' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:21: ( 'n' | 'N' ) { if ( input.LA(1)=='N'||input.LA(1)=='n' ) { input.consume(); @@ -3197,10 +3197,10 @@ else if ( (LA91_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1779:19: '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1784:19: '\\\\' ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1780:25: ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1785:25: ( 'n' | 'N' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) ) int alt90=3; switch ( input.LA(1) ) { case 'n': @@ -3228,21 +3228,21 @@ else if ( (LA91_0=='\\') ) { } switch (alt90) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1781:31: 'n' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1786:31: 'n' { match('n'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1782:31: 'N' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:31: 'N' { match('N'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'E' | 'e' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt89=2; int LA89_0 = input.LA(1); if ( (LA89_0=='0') ) { @@ -3250,10 +3250,10 @@ else if ( (LA91_0=='\\') ) { } switch (alt89) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:36: ( '0' ( '0' ( '0' )? )? )? int alt88=2; int LA88_0 = input.LA(1); if ( (LA88_0=='0') ) { @@ -3261,10 +3261,10 @@ else if ( (LA91_0=='\\') ) { } switch (alt88) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:41: ( '0' ( '0' )? )? int alt87=2; int LA87_0 = input.LA(1); if ( (LA87_0=='0') ) { @@ -3272,10 +3272,10 @@ else if ( (LA91_0=='\\') ) { } switch (alt87) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:46: ( '0' )? int alt86=2; int LA86_0 = input.LA(1); if ( (LA86_0=='0') ) { @@ -3283,7 +3283,7 @@ else if ( (LA91_0=='\\') ) { } switch (alt86) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1783:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:46: '0' { match('0'); if (state.failed) return; } @@ -3345,7 +3345,7 @@ else if ( (LA91_0=='\\') ) { // $ANTLR start "O" public final void mO() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1786:17: ( ( 'o' | 'O' ) | '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:17: ( ( 'o' | 'O' ) | '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) ) int alt97=2; int LA97_0 = input.LA(1); if ( (LA97_0=='O'||LA97_0=='o') ) { @@ -3364,7 +3364,7 @@ else if ( (LA97_0=='\\') ) { switch (alt97) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1786:21: ( 'o' | 'O' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:21: ( 'o' | 'O' ) { if ( input.LA(1)=='O'||input.LA(1)=='o' ) { input.consume(); @@ -3379,10 +3379,10 @@ else if ( (LA97_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1787:19: '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1792:19: '\\\\' ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1788:25: ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1793:25: ( 'o' | 'O' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) ) int alt96=3; switch ( input.LA(1) ) { case 'o': @@ -3410,21 +3410,21 @@ else if ( (LA97_0=='\\') ) { } switch (alt96) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1789:31: 'o' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1794:31: 'o' { match('o'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1790:31: 'O' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1795:31: 'O' { match('O'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '4' | '6' ) ( 'F' | 'f' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt95=2; int LA95_0 = input.LA(1); if ( (LA95_0=='0') ) { @@ -3432,10 +3432,10 @@ else if ( (LA97_0=='\\') ) { } switch (alt95) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:36: ( '0' ( '0' ( '0' )? )? )? int alt94=2; int LA94_0 = input.LA(1); if ( (LA94_0=='0') ) { @@ -3443,10 +3443,10 @@ else if ( (LA97_0=='\\') ) { } switch (alt94) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:41: ( '0' ( '0' )? )? int alt93=2; int LA93_0 = input.LA(1); if ( (LA93_0=='0') ) { @@ -3454,10 +3454,10 @@ else if ( (LA97_0=='\\') ) { } switch (alt93) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:46: ( '0' )? int alt92=2; int LA92_0 = input.LA(1); if ( (LA92_0=='0') ) { @@ -3465,7 +3465,7 @@ else if ( (LA97_0=='\\') ) { } switch (alt92) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1791:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:46: '0' { match('0'); if (state.failed) return; } @@ -3527,7 +3527,7 @@ else if ( (LA97_0=='\\') ) { // $ANTLR start "P" public final void mP() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1794:17: ( ( 'p' | 'P' ) | '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:17: ( ( 'p' | 'P' ) | '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) ) int alt103=2; int LA103_0 = input.LA(1); if ( (LA103_0=='P'||LA103_0=='p') ) { @@ -3546,7 +3546,7 @@ else if ( (LA103_0=='\\') ) { switch (alt103) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1794:21: ( 'p' | 'P' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:21: ( 'p' | 'P' ) { if ( input.LA(1)=='P'||input.LA(1)=='p' ) { input.consume(); @@ -3561,10 +3561,10 @@ else if ( (LA103_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1795:19: '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1800:19: '\\\\' ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1796:25: ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1801:25: ( 'p' | 'P' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) ) int alt102=3; switch ( input.LA(1) ) { case 'p': @@ -3592,21 +3592,21 @@ else if ( (LA103_0=='\\') ) { } switch (alt102) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1797:31: 'p' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1802:31: 'p' { match('p'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1798:31: 'P' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1803:31: 'P' { match('P'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '0' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt101=2; int LA101_0 = input.LA(1); if ( (LA101_0=='0') ) { @@ -3614,10 +3614,10 @@ else if ( (LA103_0=='\\') ) { } switch (alt101) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:36: ( '0' ( '0' ( '0' )? )? )? int alt100=2; int LA100_0 = input.LA(1); if ( (LA100_0=='0') ) { @@ -3625,10 +3625,10 @@ else if ( (LA103_0=='\\') ) { } switch (alt100) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:41: ( '0' ( '0' )? )? int alt99=2; int LA99_0 = input.LA(1); if ( (LA99_0=='0') ) { @@ -3636,10 +3636,10 @@ else if ( (LA103_0=='\\') ) { } switch (alt99) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:46: ( '0' )? int alt98=2; int LA98_0 = input.LA(1); if ( (LA98_0=='0') ) { @@ -3647,7 +3647,7 @@ else if ( (LA103_0=='\\') ) { } switch (alt98) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:46: '0' { match('0'); if (state.failed) return; } @@ -3680,8 +3680,8 @@ else if ( (LA103_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:66: ( '0' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1799:67: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:66: ( '0' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:67: '0' { match('0'); if (state.failed) return; } @@ -3705,7 +3705,7 @@ else if ( (LA103_0=='\\') ) { // $ANTLR start "Q" public final void mQ() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1802:17: ( ( 'q' | 'Q' ) | '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:17: ( ( 'q' | 'Q' ) | '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) ) int alt109=2; int LA109_0 = input.LA(1); if ( (LA109_0=='Q'||LA109_0=='q') ) { @@ -3724,7 +3724,7 @@ else if ( (LA109_0=='\\') ) { switch (alt109) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1802:21: ( 'q' | 'Q' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:21: ( 'q' | 'Q' ) { if ( input.LA(1)=='Q'||input.LA(1)=='q' ) { input.consume(); @@ -3739,10 +3739,10 @@ else if ( (LA109_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1803:19: '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1808:19: '\\\\' ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1804:25: ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1809:25: ( 'q' | 'Q' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) ) int alt108=3; switch ( input.LA(1) ) { case 'q': @@ -3770,21 +3770,21 @@ else if ( (LA109_0=='\\') ) { } switch (alt108) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1805:31: 'q' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1810:31: 'q' { match('q'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1806:31: 'Q' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1811:31: 'Q' { match('Q'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '1' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt107=2; int LA107_0 = input.LA(1); if ( (LA107_0=='0') ) { @@ -3792,10 +3792,10 @@ else if ( (LA109_0=='\\') ) { } switch (alt107) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:36: ( '0' ( '0' ( '0' )? )? )? int alt106=2; int LA106_0 = input.LA(1); if ( (LA106_0=='0') ) { @@ -3803,10 +3803,10 @@ else if ( (LA109_0=='\\') ) { } switch (alt106) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:41: ( '0' ( '0' )? )? int alt105=2; int LA105_0 = input.LA(1); if ( (LA105_0=='0') ) { @@ -3814,10 +3814,10 @@ else if ( (LA109_0=='\\') ) { } switch (alt105) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:46: ( '0' )? int alt104=2; int LA104_0 = input.LA(1); if ( (LA104_0=='0') ) { @@ -3825,7 +3825,7 @@ else if ( (LA109_0=='\\') ) { } switch (alt104) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:46: '0' { match('0'); if (state.failed) return; } @@ -3858,8 +3858,8 @@ else if ( (LA109_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:66: ( '1' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1807:67: '1' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:66: ( '1' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:67: '1' { match('1'); if (state.failed) return; } @@ -3883,7 +3883,7 @@ else if ( (LA109_0=='\\') ) { // $ANTLR start "R" public final void mR() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1810:17: ( ( 'r' | 'R' ) | '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:17: ( ( 'r' | 'R' ) | '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) ) int alt115=2; int LA115_0 = input.LA(1); if ( (LA115_0=='R'||LA115_0=='r') ) { @@ -3902,7 +3902,7 @@ else if ( (LA115_0=='\\') ) { switch (alt115) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1810:21: ( 'r' | 'R' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:21: ( 'r' | 'R' ) { if ( input.LA(1)=='R'||input.LA(1)=='r' ) { input.consume(); @@ -3917,10 +3917,10 @@ else if ( (LA115_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1811:19: '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1816:19: '\\\\' ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1812:25: ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1817:25: ( 'r' | 'R' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) ) int alt114=3; switch ( input.LA(1) ) { case 'r': @@ -3948,21 +3948,21 @@ else if ( (LA115_0=='\\') ) { } switch (alt114) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1813:31: 'r' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1818:31: 'r' { match('r'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1814:31: 'R' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1819:31: 'R' { match('R'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '2' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt113=2; int LA113_0 = input.LA(1); if ( (LA113_0=='0') ) { @@ -3970,10 +3970,10 @@ else if ( (LA115_0=='\\') ) { } switch (alt113) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:36: ( '0' ( '0' ( '0' )? )? )? int alt112=2; int LA112_0 = input.LA(1); if ( (LA112_0=='0') ) { @@ -3981,10 +3981,10 @@ else if ( (LA115_0=='\\') ) { } switch (alt112) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:41: ( '0' ( '0' )? )? int alt111=2; int LA111_0 = input.LA(1); if ( (LA111_0=='0') ) { @@ -3992,10 +3992,10 @@ else if ( (LA115_0=='\\') ) { } switch (alt111) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:46: ( '0' )? int alt110=2; int LA110_0 = input.LA(1); if ( (LA110_0=='0') ) { @@ -4003,7 +4003,7 @@ else if ( (LA115_0=='\\') ) { } switch (alt110) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:46: '0' { match('0'); if (state.failed) return; } @@ -4036,8 +4036,8 @@ else if ( (LA115_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:66: ( '2' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1815:67: '2' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:66: ( '2' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:67: '2' { match('2'); if (state.failed) return; } @@ -4061,7 +4061,7 @@ else if ( (LA115_0=='\\') ) { // $ANTLR start "S" public final void mS() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1818:17: ( ( 's' | 'S' ) | '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:17: ( ( 's' | 'S' ) | '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) ) int alt121=2; int LA121_0 = input.LA(1); if ( (LA121_0=='S'||LA121_0=='s') ) { @@ -4080,7 +4080,7 @@ else if ( (LA121_0=='\\') ) { switch (alt121) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1818:21: ( 's' | 'S' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:21: ( 's' | 'S' ) { if ( input.LA(1)=='S'||input.LA(1)=='s' ) { input.consume(); @@ -4095,10 +4095,10 @@ else if ( (LA121_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1819:19: '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1824:19: '\\\\' ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1820:25: ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1825:25: ( 's' | 'S' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) ) int alt120=3; switch ( input.LA(1) ) { case 's': @@ -4126,21 +4126,21 @@ else if ( (LA121_0=='\\') ) { } switch (alt120) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1821:31: 's' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1826:31: 's' { match('s'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1822:31: 'S' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1827:31: 'S' { match('S'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '3' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt119=2; int LA119_0 = input.LA(1); if ( (LA119_0=='0') ) { @@ -4148,10 +4148,10 @@ else if ( (LA121_0=='\\') ) { } switch (alt119) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:36: ( '0' ( '0' ( '0' )? )? )? int alt118=2; int LA118_0 = input.LA(1); if ( (LA118_0=='0') ) { @@ -4159,10 +4159,10 @@ else if ( (LA121_0=='\\') ) { } switch (alt118) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:41: ( '0' ( '0' )? )? int alt117=2; int LA117_0 = input.LA(1); if ( (LA117_0=='0') ) { @@ -4170,10 +4170,10 @@ else if ( (LA121_0=='\\') ) { } switch (alt117) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:46: ( '0' )? int alt116=2; int LA116_0 = input.LA(1); if ( (LA116_0=='0') ) { @@ -4181,7 +4181,7 @@ else if ( (LA121_0=='\\') ) { } switch (alt116) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:46: '0' { match('0'); if (state.failed) return; } @@ -4214,8 +4214,8 @@ else if ( (LA121_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:66: ( '3' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1823:67: '3' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:66: ( '3' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:67: '3' { match('3'); if (state.failed) return; } @@ -4239,7 +4239,7 @@ else if ( (LA121_0=='\\') ) { // $ANTLR start "T" public final void mT() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1826:17: ( ( 't' | 'T' ) | '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:17: ( ( 't' | 'T' ) | '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) ) int alt127=2; int LA127_0 = input.LA(1); if ( (LA127_0=='T'||LA127_0=='t') ) { @@ -4258,7 +4258,7 @@ else if ( (LA127_0=='\\') ) { switch (alt127) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1826:21: ( 't' | 'T' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:21: ( 't' | 'T' ) { if ( input.LA(1)=='T'||input.LA(1)=='t' ) { input.consume(); @@ -4273,10 +4273,10 @@ else if ( (LA127_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1827:19: '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1832:19: '\\\\' ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1828:25: ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1833:25: ( 't' | 'T' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) ) int alt126=3; switch ( input.LA(1) ) { case 't': @@ -4304,21 +4304,21 @@ else if ( (LA127_0=='\\') ) { } switch (alt126) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1829:31: 't' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1834:31: 't' { match('t'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1830:31: 'T' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1835:31: 'T' { match('T'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '4' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt125=2; int LA125_0 = input.LA(1); if ( (LA125_0=='0') ) { @@ -4326,10 +4326,10 @@ else if ( (LA127_0=='\\') ) { } switch (alt125) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:36: ( '0' ( '0' ( '0' )? )? )? int alt124=2; int LA124_0 = input.LA(1); if ( (LA124_0=='0') ) { @@ -4337,10 +4337,10 @@ else if ( (LA127_0=='\\') ) { } switch (alt124) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:41: ( '0' ( '0' )? )? int alt123=2; int LA123_0 = input.LA(1); if ( (LA123_0=='0') ) { @@ -4348,10 +4348,10 @@ else if ( (LA127_0=='\\') ) { } switch (alt123) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:46: ( '0' )? int alt122=2; int LA122_0 = input.LA(1); if ( (LA122_0=='0') ) { @@ -4359,7 +4359,7 @@ else if ( (LA127_0=='\\') ) { } switch (alt122) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:46: '0' { match('0'); if (state.failed) return; } @@ -4392,8 +4392,8 @@ else if ( (LA127_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:66: ( '4' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1831:67: '4' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:66: ( '4' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:67: '4' { match('4'); if (state.failed) return; } @@ -4417,7 +4417,7 @@ else if ( (LA127_0=='\\') ) { // $ANTLR start "U" public final void mU() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1834:17: ( ( 'u' | 'U' ) | '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:17: ( ( 'u' | 'U' ) | '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) ) int alt133=2; int LA133_0 = input.LA(1); if ( (LA133_0=='U'||LA133_0=='u') ) { @@ -4436,7 +4436,7 @@ else if ( (LA133_0=='\\') ) { switch (alt133) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1834:21: ( 'u' | 'U' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:21: ( 'u' | 'U' ) { if ( input.LA(1)=='U'||input.LA(1)=='u' ) { input.consume(); @@ -4451,10 +4451,10 @@ else if ( (LA133_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1835:19: '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1840:19: '\\\\' ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1836:25: ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1841:25: ( 'u' | 'U' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) ) int alt132=3; switch ( input.LA(1) ) { case 'u': @@ -4482,21 +4482,21 @@ else if ( (LA133_0=='\\') ) { } switch (alt132) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1837:31: 'u' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1842:31: 'u' { match('u'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1838:31: 'U' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:31: 'U' { match('U'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '5' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt131=2; int LA131_0 = input.LA(1); if ( (LA131_0=='0') ) { @@ -4504,10 +4504,10 @@ else if ( (LA133_0=='\\') ) { } switch (alt131) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:36: ( '0' ( '0' ( '0' )? )? )? int alt130=2; int LA130_0 = input.LA(1); if ( (LA130_0=='0') ) { @@ -4515,10 +4515,10 @@ else if ( (LA133_0=='\\') ) { } switch (alt130) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:41: ( '0' ( '0' )? )? int alt129=2; int LA129_0 = input.LA(1); if ( (LA129_0=='0') ) { @@ -4526,10 +4526,10 @@ else if ( (LA133_0=='\\') ) { } switch (alt129) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:46: ( '0' )? int alt128=2; int LA128_0 = input.LA(1); if ( (LA128_0=='0') ) { @@ -4537,7 +4537,7 @@ else if ( (LA133_0=='\\') ) { } switch (alt128) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:46: '0' { match('0'); if (state.failed) return; } @@ -4570,8 +4570,8 @@ else if ( (LA133_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:66: ( '5' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1839:67: '5' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:66: ( '5' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:67: '5' { match('5'); if (state.failed) return; } @@ -4595,7 +4595,7 @@ else if ( (LA133_0=='\\') ) { // $ANTLR start "V" public final void mV() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1842:17: ( ( 'v' | 'V' ) | '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1847:17: ( ( 'v' | 'V' ) | '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) ) int alt139=2; int LA139_0 = input.LA(1); if ( (LA139_0=='V'||LA139_0=='v') ) { @@ -4614,7 +4614,7 @@ else if ( (LA139_0=='\\') ) { switch (alt139) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1842:21: ( 'v' | 'V' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1847:21: ( 'v' | 'V' ) { if ( input.LA(1)=='V'||input.LA(1)=='v' ) { input.consume(); @@ -4629,10 +4629,10 @@ else if ( (LA139_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1843:19: '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1848:19: '\\\\' ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:25: ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:25: ( 'v' | 'V' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) ) int alt138=3; switch ( input.LA(1) ) { case 'v': @@ -4660,21 +4660,21 @@ else if ( (LA139_0=='\\') ) { } switch (alt138) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1844:31: 'v' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:31: 'v' { match('v'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1845:31: 'V' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1850:31: 'V' { match('V'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '6' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt137=2; int LA137_0 = input.LA(1); if ( (LA137_0=='0') ) { @@ -4682,10 +4682,10 @@ else if ( (LA139_0=='\\') ) { } switch (alt137) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:36: ( '0' ( '0' ( '0' )? )? )? int alt136=2; int LA136_0 = input.LA(1); if ( (LA136_0=='0') ) { @@ -4693,10 +4693,10 @@ else if ( (LA139_0=='\\') ) { } switch (alt136) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:41: ( '0' ( '0' )? )? int alt135=2; int LA135_0 = input.LA(1); if ( (LA135_0=='0') ) { @@ -4704,10 +4704,10 @@ else if ( (LA139_0=='\\') ) { } switch (alt135) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:46: ( '0' )? int alt134=2; int LA134_0 = input.LA(1); if ( (LA134_0=='0') ) { @@ -4715,7 +4715,7 @@ else if ( (LA139_0=='\\') ) { } switch (alt134) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:46: '0' { match('0'); if (state.failed) return; } @@ -4748,8 +4748,8 @@ else if ( (LA139_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:66: ( '6' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1846:67: '6' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:66: ( '6' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:67: '6' { match('6'); if (state.failed) return; } @@ -4773,7 +4773,7 @@ else if ( (LA139_0=='\\') ) { // $ANTLR start "W" public final void mW() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:17: ( ( 'w' | 'W' ) | '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:17: ( ( 'w' | 'W' ) | '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) ) int alt145=2; int LA145_0 = input.LA(1); if ( (LA145_0=='W'||LA145_0=='w') ) { @@ -4792,7 +4792,7 @@ else if ( (LA145_0=='\\') ) { switch (alt145) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1849:21: ( 'w' | 'W' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:21: ( 'w' | 'W' ) { if ( input.LA(1)=='W'||input.LA(1)=='w' ) { input.consume(); @@ -4807,10 +4807,10 @@ else if ( (LA145_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1850:19: '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1855:19: '\\\\' ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1851:25: ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1856:25: ( 'w' | 'W' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) ) int alt144=3; switch ( input.LA(1) ) { case 'w': @@ -4838,21 +4838,21 @@ else if ( (LA145_0=='\\') ) { } switch (alt144) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1852:31: 'w' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1857:31: 'w' { match('w'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1853:31: 'W' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1858:31: 'W' { match('W'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '7' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt143=2; int LA143_0 = input.LA(1); if ( (LA143_0=='0') ) { @@ -4860,10 +4860,10 @@ else if ( (LA145_0=='\\') ) { } switch (alt143) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:36: ( '0' ( '0' ( '0' )? )? )? int alt142=2; int LA142_0 = input.LA(1); if ( (LA142_0=='0') ) { @@ -4871,10 +4871,10 @@ else if ( (LA145_0=='\\') ) { } switch (alt142) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:41: ( '0' ( '0' )? )? int alt141=2; int LA141_0 = input.LA(1); if ( (LA141_0=='0') ) { @@ -4882,10 +4882,10 @@ else if ( (LA145_0=='\\') ) { } switch (alt141) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:46: ( '0' )? int alt140=2; int LA140_0 = input.LA(1); if ( (LA140_0=='0') ) { @@ -4893,7 +4893,7 @@ else if ( (LA145_0=='\\') ) { } switch (alt140) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:46: '0' { match('0'); if (state.failed) return; } @@ -4926,8 +4926,8 @@ else if ( (LA145_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:66: ( '7' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1854:67: '7' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:66: ( '7' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:67: '7' { match('7'); if (state.failed) return; } @@ -4951,7 +4951,7 @@ else if ( (LA145_0=='\\') ) { // $ANTLR start "X" public final void mX() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1857:17: ( ( 'x' | 'X' ) | '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:17: ( ( 'x' | 'X' ) | '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) ) int alt151=2; int LA151_0 = input.LA(1); if ( (LA151_0=='X'||LA151_0=='x') ) { @@ -4970,7 +4970,7 @@ else if ( (LA151_0=='\\') ) { switch (alt151) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1857:21: ( 'x' | 'X' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:21: ( 'x' | 'X' ) { if ( input.LA(1)=='X'||input.LA(1)=='x' ) { input.consume(); @@ -4985,10 +4985,10 @@ else if ( (LA151_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1858:19: '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1863:19: '\\\\' ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1859:25: ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1864:25: ( 'x' | 'X' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) ) int alt150=3; switch ( input.LA(1) ) { case 'x': @@ -5016,21 +5016,21 @@ else if ( (LA151_0=='\\') ) { } switch (alt150) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1860:31: 'x' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1865:31: 'x' { match('x'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1861:31: 'X' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1866:31: 'X' { match('X'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '8' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt149=2; int LA149_0 = input.LA(1); if ( (LA149_0=='0') ) { @@ -5038,10 +5038,10 @@ else if ( (LA151_0=='\\') ) { } switch (alt149) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:36: ( '0' ( '0' ( '0' )? )? )? int alt148=2; int LA148_0 = input.LA(1); if ( (LA148_0=='0') ) { @@ -5049,10 +5049,10 @@ else if ( (LA151_0=='\\') ) { } switch (alt148) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:41: ( '0' ( '0' )? )? int alt147=2; int LA147_0 = input.LA(1); if ( (LA147_0=='0') ) { @@ -5060,10 +5060,10 @@ else if ( (LA151_0=='\\') ) { } switch (alt147) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:46: ( '0' )? int alt146=2; int LA146_0 = input.LA(1); if ( (LA146_0=='0') ) { @@ -5071,7 +5071,7 @@ else if ( (LA151_0=='\\') ) { } switch (alt146) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:46: '0' { match('0'); if (state.failed) return; } @@ -5104,8 +5104,8 @@ else if ( (LA151_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:66: ( '8' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1862:67: '8' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:66: ( '8' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:67: '8' { match('8'); if (state.failed) return; } @@ -5129,7 +5129,7 @@ else if ( (LA151_0=='\\') ) { // $ANTLR start "Y" public final void mY() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1865:17: ( ( 'y' | 'Y' ) | '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:17: ( ( 'y' | 'Y' ) | '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) ) int alt157=2; int LA157_0 = input.LA(1); if ( (LA157_0=='Y'||LA157_0=='y') ) { @@ -5148,7 +5148,7 @@ else if ( (LA157_0=='\\') ) { switch (alt157) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1865:21: ( 'y' | 'Y' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:21: ( 'y' | 'Y' ) { if ( input.LA(1)=='Y'||input.LA(1)=='y' ) { input.consume(); @@ -5163,10 +5163,10 @@ else if ( (LA157_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1866:19: '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1871:19: '\\\\' ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1867:25: ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1872:25: ( 'y' | 'Y' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) ) int alt156=3; switch ( input.LA(1) ) { case 'y': @@ -5194,21 +5194,21 @@ else if ( (LA157_0=='\\') ) { } switch (alt156) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1868:31: 'y' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1873:31: 'y' { match('y'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1869:31: 'Y' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1874:31: 'Y' { match('Y'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( '9' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt155=2; int LA155_0 = input.LA(1); if ( (LA155_0=='0') ) { @@ -5216,10 +5216,10 @@ else if ( (LA157_0=='\\') ) { } switch (alt155) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:36: ( '0' ( '0' ( '0' )? )? )? int alt154=2; int LA154_0 = input.LA(1); if ( (LA154_0=='0') ) { @@ -5227,10 +5227,10 @@ else if ( (LA157_0=='\\') ) { } switch (alt154) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:41: ( '0' ( '0' )? )? int alt153=2; int LA153_0 = input.LA(1); if ( (LA153_0=='0') ) { @@ -5238,10 +5238,10 @@ else if ( (LA157_0=='\\') ) { } switch (alt153) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:46: ( '0' )? int alt152=2; int LA152_0 = input.LA(1); if ( (LA152_0=='0') ) { @@ -5249,7 +5249,7 @@ else if ( (LA157_0=='\\') ) { } switch (alt152) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:46: '0' { match('0'); if (state.failed) return; } @@ -5282,8 +5282,8 @@ else if ( (LA157_0=='\\') ) { recover(mse); throw mse; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:66: ( '9' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1870:67: '9' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:66: ( '9' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:67: '9' { match('9'); if (state.failed) return; } @@ -5307,7 +5307,7 @@ else if ( (LA157_0=='\\') ) { // $ANTLR start "Z" public final void mZ() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1873:17: ( ( 'z' | 'Z' ) | '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:17: ( ( 'z' | 'Z' ) | '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) ) int alt163=2; int LA163_0 = input.LA(1); if ( (LA163_0=='Z'||LA163_0=='z') ) { @@ -5326,7 +5326,7 @@ else if ( (LA163_0=='\\') ) { switch (alt163) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1873:21: ( 'z' | 'Z' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:21: ( 'z' | 'Z' ) { if ( input.LA(1)=='Z'||input.LA(1)=='z' ) { input.consume(); @@ -5341,10 +5341,10 @@ else if ( (LA163_0=='\\') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1874:19: '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1879:19: '\\\\' ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) { match('\\'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1875:25: ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1880:25: ( 'z' | 'Z' | ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) ) int alt162=3; switch ( input.LA(1) ) { case 'z': @@ -5372,21 +5372,21 @@ else if ( (LA163_0=='\\') ) { } switch (alt162) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1876:31: 'z' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1881:31: 'z' { match('z'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1877:31: 'Z' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1882:31: 'Z' { match('Z'); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? ( '5' | '7' ) ( 'A' | 'a' ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:31: ( '0' ( '0' ( '0' ( '0' )? )? )? )? int alt161=2; int LA161_0 = input.LA(1); if ( (LA161_0=='0') ) { @@ -5394,10 +5394,10 @@ else if ( (LA163_0=='\\') ) { } switch (alt161) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:32: '0' ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:32: '0' ( '0' ( '0' ( '0' )? )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:36: ( '0' ( '0' ( '0' )? )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:36: ( '0' ( '0' ( '0' )? )? )? int alt160=2; int LA160_0 = input.LA(1); if ( (LA160_0=='0') ) { @@ -5405,10 +5405,10 @@ else if ( (LA163_0=='\\') ) { } switch (alt160) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:37: '0' ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:37: '0' ( '0' ( '0' )? )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:41: ( '0' ( '0' )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:41: ( '0' ( '0' )? )? int alt159=2; int LA159_0 = input.LA(1); if ( (LA159_0=='0') ) { @@ -5416,10 +5416,10 @@ else if ( (LA163_0=='\\') ) { } switch (alt159) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:42: '0' ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:42: '0' ( '0' )? { match('0'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:46: ( '0' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:46: ( '0' )? int alt158=2; int LA158_0 = input.LA(1); if ( (LA158_0=='0') ) { @@ -5427,7 +5427,7 @@ else if ( (LA163_0=='\\') ) { } switch (alt158) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1878:46: '0' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1883:46: '0' { match('0'); if (state.failed) return; } @@ -5491,8 +5491,8 @@ public final void mCDO() throws RecognitionException { try { int _type = CDO; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1890:17: ( '' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1903:19: '-->' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1908:17: ( '-->' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1908:19: '-->' { match("-->"); if (state.failed) return; @@ -5539,8 +5539,8 @@ public final void mINCLUDES() throws RecognitionException { try { int _type = INCLUDES; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:17: ( '~=' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1910:19: '~=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1915:17: ( '~=' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1915:19: '~=' { match("~="); if (state.failed) return; @@ -5560,8 +5560,8 @@ public final void mDASHMATCH() throws RecognitionException { try { int _type = DASHMATCH; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1911:17: ( '|=' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1911:19: '|=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1916:17: ( '|=' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1916:19: '|=' { match("|="); if (state.failed) return; @@ -5581,8 +5581,8 @@ public final void mBEGINS() throws RecognitionException { try { int _type = BEGINS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1912:17: ( '^=' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1912:19: '^=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1917:17: ( '^=' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1917:19: '^=' { match("^="); if (state.failed) return; @@ -5602,8 +5602,8 @@ public final void mENDS() throws RecognitionException { try { int _type = ENDS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1913:17: ( '$=' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1913:19: '$=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:17: ( '$=' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:19: '$=' { match("$="); if (state.failed) return; @@ -5623,8 +5623,8 @@ public final void mCONTAINS() throws RecognitionException { try { int _type = CONTAINS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1914:17: ( '*=' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1914:19: '*=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1919:17: ( '*=' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1919:19: '*=' { match("*="); if (state.failed) return; @@ -5644,8 +5644,8 @@ public final void mGREATER() throws RecognitionException { try { int _type = GREATER; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1916:17: ( '>' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1916:19: '>' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1921:17: ( '>' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1921:19: '>' { match('>'); if (state.failed) return; } @@ -5664,8 +5664,8 @@ public final void mLBRACE() throws RecognitionException { try { int _type = LBRACE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1917:17: ( '{' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1917:19: '{' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1922:17: ( '{' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1922:19: '{' { match('{'); if (state.failed) return; } @@ -5684,8 +5684,8 @@ public final void mRBRACE() throws RecognitionException { try { int _type = RBRACE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:17: ( '}' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1918:19: '}' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1923:17: ( '}' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1923:19: '}' { match('}'); if (state.failed) return; } @@ -5704,8 +5704,8 @@ public final void mLBRACKET() throws RecognitionException { try { int _type = LBRACKET; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1919:17: ( '[' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1919:19: '[' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1924:17: ( '[' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1924:19: '[' { match('['); if (state.failed) return; } @@ -5724,8 +5724,8 @@ public final void mRBRACKET() throws RecognitionException { try { int _type = RBRACKET; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1920:17: ( ']' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1920:19: ']' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1925:17: ( ']' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1925:19: ']' { match(']'); if (state.failed) return; } @@ -5744,8 +5744,8 @@ public final void mOPEQ() throws RecognitionException { try { int _type = OPEQ; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1921:17: ( '=' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1921:19: '=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:17: ( '=' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:19: '=' { match('='); if (state.failed) return; } @@ -5764,8 +5764,8 @@ public final void mSEMI() throws RecognitionException { try { int _type = SEMI; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1922:17: ( ';' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1922:19: ';' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1927:17: ( ';' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1927:19: ';' { match(';'); if (state.failed) return; } @@ -5784,8 +5784,8 @@ public final void mCOLON() throws RecognitionException { try { int _type = COLON; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1923:17: ( ':' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1923:19: ':' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1928:17: ( ':' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1928:19: ':' { match(':'); if (state.failed) return; } @@ -5804,8 +5804,8 @@ public final void mDCOLON() throws RecognitionException { try { int _type = DCOLON; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1924:17: ( '::' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1924:19: '::' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1929:17: ( '::' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1929:19: '::' { match("::"); if (state.failed) return; @@ -5825,8 +5825,8 @@ public final void mSOLIDUS() throws RecognitionException { try { int _type = SOLIDUS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1925:17: ( '/' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1925:19: '/' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1930:17: ( '/' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1930:19: '/' { match('/'); if (state.failed) return; } @@ -5845,8 +5845,8 @@ public final void mMINUS() throws RecognitionException { try { int _type = MINUS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:17: ( '-' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1926:19: '-' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1931:17: ( '-' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1931:19: '-' { match('-'); if (state.failed) return; } @@ -5865,8 +5865,8 @@ public final void mPLUS() throws RecognitionException { try { int _type = PLUS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1927:17: ( '+' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1927:19: '+' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1932:17: ( '+' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1932:19: '+' { match('+'); if (state.failed) return; } @@ -5885,8 +5885,8 @@ public final void mSTAR() throws RecognitionException { try { int _type = STAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1928:17: ( '*' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1928:19: '*' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1933:17: ( '*' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1933:19: '*' { match('*'); if (state.failed) return; } @@ -5905,8 +5905,8 @@ public final void mLPAREN() throws RecognitionException { try { int _type = LPAREN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1929:17: ( '(' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1929:19: '(' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1934:17: ( '(' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1934:19: '(' { match('('); if (state.failed) return; } @@ -5925,8 +5925,8 @@ public final void mRPAREN() throws RecognitionException { try { int _type = RPAREN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1930:17: ( ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1930:19: ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1935:17: ( ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1935:19: ')' { match(')'); if (state.failed) return; } @@ -5945,8 +5945,8 @@ public final void mCOMMA() throws RecognitionException { try { int _type = COMMA; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1931:17: ( ',' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1931:19: ',' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1936:17: ( ',' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1936:19: ',' { match(','); if (state.failed) return; } @@ -5965,8 +5965,8 @@ public final void mDOT() throws RecognitionException { try { int _type = DOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1932:17: ( '.' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1932:19: '.' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1937:17: ( '.' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1937:19: '.' { match('.'); if (state.failed) return; } @@ -5985,8 +5985,8 @@ public final void mTILDE() throws RecognitionException { try { int _type = TILDE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1933:8: ( '~' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1933:10: '~' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1938:8: ( '~' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1938:10: '~' { match('~'); if (state.failed) return; } @@ -6005,8 +6005,8 @@ public final void mPIPE() throws RecognitionException { try { int _type = PIPE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1934:17: ( '|' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1934:19: '|' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1939:17: ( '|' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1939:19: '|' { match('|'); if (state.failed) return; } @@ -6025,8 +6025,8 @@ public final void mPERCENTAGE_SYMBOL() throws RecognitionException { try { int _type = PERCENTAGE_SYMBOL; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1936:17: ( '%' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1936:19: '%' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1941:17: ( '%' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1941:19: '%' { match('%'); if (state.failed) return; } @@ -6045,8 +6045,8 @@ public final void mEXCLAMATION_MARK() throws RecognitionException { try { int _type = EXCLAMATION_MARK; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1937:17: ( '!' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1937:19: '!' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1942:17: ( '!' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1942:19: '!' { match('!'); if (state.failed) return; } @@ -6065,8 +6065,8 @@ public final void mCP_EQ() throws RecognitionException { try { int _type = CP_EQ; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1939:17: ( '==' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1939:19: '==' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1944:17: ( '==' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1944:19: '==' { match("=="); if (state.failed) return; @@ -6086,8 +6086,8 @@ public final void mCP_NOT_EQ() throws RecognitionException { try { int _type = CP_NOT_EQ; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1940:17: ( '!=' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1940:19: '!=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1945:17: ( '!=' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1945:19: '!=' { match("!="); if (state.failed) return; @@ -6107,8 +6107,8 @@ public final void mLESS() throws RecognitionException { try { int _type = LESS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1941:17: ( '<' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1941:19: '<' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1946:17: ( '<' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1946:19: '<' { match('<'); if (state.failed) return; } @@ -6127,7 +6127,7 @@ public final void mGREATER_OR_EQ() throws RecognitionException { try { int _type = GREATER_OR_EQ; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1942:17: ( '>=' | '=>' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1947:17: ( '>=' | '=>' ) int alt164=2; int LA164_0 = input.LA(1); if ( (LA164_0=='>') ) { @@ -6146,14 +6146,14 @@ else if ( (LA164_0=='=') ) { switch (alt164) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1942:19: '>=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1947:19: '>=' { match(">="); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1942:26: '=>' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1947:26: '=>' { match("=>"); if (state.failed) return; @@ -6175,7 +6175,7 @@ public final void mLESS_OR_EQ() throws RecognitionException { try { int _type = LESS_OR_EQ; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1943:17: ( '=<' | '<=' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1948:17: ( '=<' | '<=' ) int alt165=2; int LA165_0 = input.LA(1); if ( (LA165_0=='=') ) { @@ -6194,14 +6194,14 @@ else if ( (LA165_0=='<') ) { switch (alt165) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1943:19: '=<' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1948:19: '=<' { match("=<"); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1943:26: '<=' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1948:26: '<=' { match("<="); if (state.failed) return; @@ -6223,11 +6223,11 @@ public final void mLESS_AND() throws RecognitionException { try { int _type = LESS_AND; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1944:17: ( '&' ( '-' )* ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1944:19: '&' ( '-' )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1949:17: ( '&' ( '-' )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1949:19: '&' ( '-' )* { match('&'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1944:23: ( '-' )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1949:23: ( '-' )* loop166: while (true) { int alt166=2; @@ -6238,7 +6238,7 @@ public final void mLESS_AND() throws RecognitionException { switch (alt166) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1944:23: '-' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1949:23: '-' { match('-'); if (state.failed) return; } @@ -6265,8 +6265,8 @@ public final void mCP_DOTS() throws RecognitionException { try { int _type = CP_DOTS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1945:17: ( '...' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1945:19: '...' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1950:17: ( '...' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1950:19: '...' { match("..."); if (state.failed) return; @@ -6286,8 +6286,8 @@ public final void mLESS_REST() throws RecognitionException { try { int _type = LESS_REST; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1946:17: ( '@rest...' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1946:19: '@rest...' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:17: ( '@rest...' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:19: '@rest...' { match("@rest..."); if (state.failed) return; @@ -6305,8 +6305,8 @@ public final void mLESS_REST() throws RecognitionException { // $ANTLR start "INVALID" public final void mINVALID() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:21: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1951:22: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1956:21: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1956:22: { } @@ -6322,7 +6322,7 @@ public final void mSTRING() throws RecognitionException { try { int _type = STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1952:17: ( '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |) | '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1957:17: ( '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |) | '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |) ) int alt171=2; int LA171_0 = input.LA(1); if ( (LA171_0=='\'') ) { @@ -6341,10 +6341,10 @@ else if ( (LA171_0=='\"') ) { switch (alt171) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1952:19: '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1957:19: '\\'' (~ ( '\\r' | '\\f' | '\\'' ) )* ( '\\'' |) { match('\''); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1952:24: (~ ( '\\r' | '\\f' | '\\'' ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1957:24: (~ ( '\\r' | '\\f' | '\\'' ) )* loop167: while (true) { int alt167=2; @@ -6375,7 +6375,7 @@ else if ( (LA171_0=='\"') ) { } } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1953:21: ( '\\'' |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:21: ( '\\'' |) int alt168=2; int LA168_0 = input.LA(1); if ( (LA168_0=='\'') ) { @@ -6388,13 +6388,13 @@ else if ( (LA171_0=='\"') ) { switch (alt168) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1954:27: '\\'' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1959:27: '\\'' { match('\''); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1955:27: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1960:27: { if ( state.backtracking==0 ) { _type = INVALID; } } @@ -6405,10 +6405,10 @@ else if ( (LA171_0=='\"') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:19: '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:19: '\"' ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* ( '\"' |) { match('\"'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:24: ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:24: ( ( '\\\\\\\"' )=> '\\\\\\\"' | ( '\\\\\\\\' )=> '\\\\\\\\' |~ ( '\\r' | '\\f' | '\"' ) )* loop169: while (true) { int alt169=4; @@ -6450,21 +6450,21 @@ else if ( ((LA169_0 >= '\u0000' && LA169_0 <= '\u000B')||(LA169_0 >= '\u000E' && switch (alt169) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:26: ( '\\\\\\\"' )=> '\\\\\\\"' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:26: ( '\\\\\\\"' )=> '\\\\\\\"' { match("\\\""); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:47: ( '\\\\\\\\' )=> '\\\\\\\\' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:47: ( '\\\\\\\\' )=> '\\\\\\\\' { match("\\\\"); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:68: ~ ( '\\r' | '\\f' | '\"' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:68: ~ ( '\\r' | '\\f' | '\"' ) { if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '\u000B')||(input.LA(1) >= '\u000E' && input.LA(1) <= '!')||(input.LA(1) >= '#' && input.LA(1) <= '\uFFFF') ) { input.consume(); @@ -6484,7 +6484,7 @@ else if ( ((LA169_0 >= '\u0000' && LA169_0 <= '\u000B')||(LA169_0 >= '\u000E' && } } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1959:21: ( '\"' |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1964:21: ( '\"' |) int alt170=2; int LA170_0 = input.LA(1); if ( (LA170_0=='\"') ) { @@ -6497,13 +6497,13 @@ else if ( ((LA169_0 >= '\u0000' && LA169_0 <= '\u000B')||(LA169_0 >= '\u000E' && switch (alt170) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1960:27: '\"' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1965:27: '\"' { match('\"'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1961:27: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1966:27: { if ( state.backtracking==0 ) { _type = INVALID; } } @@ -6529,11 +6529,11 @@ public final void mLESS_JS_STRING() throws RecognitionException { try { int _type = LESS_JS_STRING; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1965:17: ( '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1965:19: '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1970:17: ( '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1970:19: '`' (~ ( '\\r' | '\\f' | '`' ) )* ( '`' |) { match('`'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1965:23: (~ ( '\\r' | '\\f' | '`' ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1970:23: (~ ( '\\r' | '\\f' | '`' ) )* loop172: while (true) { int alt172=2; @@ -6564,7 +6564,7 @@ public final void mLESS_JS_STRING() throws RecognitionException { } } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1966:21: ( '`' |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1971:21: ( '`' |) int alt173=2; int LA173_0 = input.LA(1); if ( (LA173_0=='`') ) { @@ -6577,13 +6577,13 @@ public final void mLESS_JS_STRING() throws RecognitionException { switch (alt173) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1967:27: '`' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1972:27: '`' { match('`'); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1968:27: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1973:27: { if ( state.backtracking==0 ) { _type = INVALID; } } @@ -6607,8 +6607,8 @@ public final void mNOT() throws RecognitionException { try { int _type = NOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1972:6: ( 'NOT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1972:8: 'NOT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1977:6: ( 'NOT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1977:8: 'NOT' { match("NOT"); if (state.failed) return; @@ -6628,14 +6628,14 @@ public final void mVARIABLE() throws RecognitionException { try { int _type = VARIABLE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1976:17: ( '--' NMSTART ( NMCHAR )* ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1976:19: '--' NMSTART ( NMCHAR )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:17: ( '--' NMSTART ( NMCHAR )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:19: '--' NMSTART ( NMCHAR )* { match("--"); if (state.failed) return; mNMSTART(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1976:32: ( NMCHAR )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:32: ( NMCHAR )* loop174: while (true) { int alt174=2; @@ -6646,7 +6646,7 @@ public final void mVARIABLE() throws RecognitionException { switch (alt174) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1976:32: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:32: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -6674,10 +6674,10 @@ public final void mIDENT() throws RecognitionException { try { int _type = IDENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:17: ( ( '-' )? NMSTART ( NMCHAR )* ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:19: ( '-' )? NMSTART ( NMCHAR )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1986:17: ( ( '-' )? NMSTART ( NMCHAR )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1986:19: ( '-' )? NMSTART ( NMCHAR )* { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:19: ( '-' )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1986:19: ( '-' )? int alt175=2; int LA175_0 = input.LA(1); if ( (LA175_0=='-') ) { @@ -6685,7 +6685,7 @@ public final void mIDENT() throws RecognitionException { } switch (alt175) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:19: '-' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1986:19: '-' { match('-'); if (state.failed) return; } @@ -6695,7 +6695,7 @@ public final void mIDENT() throws RecognitionException { mNMSTART(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:32: ( NMCHAR )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1986:32: ( NMCHAR )* loop176: while (true) { int alt176=2; @@ -6706,7 +6706,7 @@ public final void mIDENT() throws RecognitionException { switch (alt176) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1981:32: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1986:32: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -6734,8 +6734,8 @@ public final void mHASH_SYMBOL() throws RecognitionException { try { int _type = HASH_SYMBOL; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1986:17: ( '#' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1986:19: '#' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1991:17: ( '#' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1991:19: '#' { match('#'); if (state.failed) return; } @@ -6754,8 +6754,8 @@ public final void mHASH() throws RecognitionException { try { int _type = HASH; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1987:17: ( HASH_SYMBOL NAME ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1987:19: HASH_SYMBOL NAME + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1992:17: ( HASH_SYMBOL NAME ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1992:19: HASH_SYMBOL NAME { mHASH_SYMBOL(); if (state.failed) return; @@ -6777,12 +6777,12 @@ public final void mIMPORTANT_SYM() throws RecognitionException { try { int _type = IMPORTANT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1989:17: ( EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1989:19: EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1994:17: ( EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1994:19: EXCLAMATION_MARK ( WS | COMMENT )* 'IMPORTANT' { mEXCLAMATION_MARK(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1989:36: ( WS | COMMENT )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1994:36: ( WS | COMMENT )* loop177: while (true) { int alt177=3; @@ -6796,14 +6796,14 @@ else if ( (LA177_0=='/') ) { switch (alt177) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1989:37: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1994:37: WS { mWS(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1989:40: COMMENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1994:40: COMMENT { mCOMMENT(); if (state.failed) return; @@ -6833,8 +6833,8 @@ public final void mIMPORT_SYM() throws RecognitionException { try { int _type = IMPORT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1991:21: ( '@IMPORT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1991:23: '@IMPORT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1996:21: ( '@IMPORT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1996:23: '@IMPORT' { match("@IMPORT"); if (state.failed) return; @@ -6854,8 +6854,8 @@ public final void mPAGE_SYM() throws RecognitionException { try { int _type = PAGE_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1992:21: ( '@PAGE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1992:23: '@PAGE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1997:21: ( '@PAGE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1997:23: '@PAGE' { match("@PAGE"); if (state.failed) return; @@ -6875,8 +6875,8 @@ public final void mMEDIA_SYM() throws RecognitionException { try { int _type = MEDIA_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1993:21: ( '@MEDIA' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1993:23: '@MEDIA' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1998:21: ( '@MEDIA' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1998:23: '@MEDIA' { match("@MEDIA"); if (state.failed) return; @@ -6896,8 +6896,8 @@ public final void mNAMESPACE_SYM() throws RecognitionException { try { int _type = NAMESPACE_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1994:21: ( '@NAMESPACE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1994:23: '@NAMESPACE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1999:21: ( '@NAMESPACE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1999:23: '@NAMESPACE' { match("@NAMESPACE"); if (state.failed) return; @@ -6917,8 +6917,8 @@ public final void mCHARSET_SYM() throws RecognitionException { try { int _type = CHARSET_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1995:21: ( '@CHARSET' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1995:23: '@CHARSET' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2000:21: ( '@CHARSET' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2000:23: '@CHARSET' { match("@CHARSET"); if (state.failed) return; @@ -6938,8 +6938,8 @@ public final void mCOUNTER_STYLE_SYM() throws RecognitionException { try { int _type = COUNTER_STYLE_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1996:21: ( '@COUNTER-STYLE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1996:23: '@COUNTER-STYLE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2001:21: ( '@COUNTER-STYLE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2001:23: '@COUNTER-STYLE' { match("@COUNTER-STYLE"); if (state.failed) return; @@ -6959,8 +6959,8 @@ public final void mFONT_FACE_SYM() throws RecognitionException { try { int _type = FONT_FACE_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1997:21: ( '@FONT-FACE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1997:23: '@FONT-FACE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2002:21: ( '@FONT-FACE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2002:23: '@FONT-FACE' { match("@FONT-FACE"); if (state.failed) return; @@ -6980,8 +6980,8 @@ public final void mSUPPORTS_SYM() throws RecognitionException { try { int _type = SUPPORTS_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1998:21: ( '@SUPPORTS' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1998:23: '@SUPPORTS' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2003:21: ( '@SUPPORTS' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2003:23: '@SUPPORTS' { match("@SUPPORTS"); if (state.failed) return; @@ -7001,8 +7001,8 @@ public final void mLAYER_SYM() throws RecognitionException { try { int _type = LAYER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1999:21: ( '@LAYER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1999:23: '@LAYER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2004:21: ( '@LAYER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2004:23: '@LAYER' { match("@LAYER"); if (state.failed) return; @@ -7022,8 +7022,8 @@ public final void mCONTAINER_SYM() throws RecognitionException { try { int _type = CONTAINER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2000:21: ( '@CONTAINER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2000:23: '@CONTAINER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2005:21: ( '@CONTAINER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2005:23: '@CONTAINER' { match("@CONTAINER"); if (state.failed) return; @@ -7043,8 +7043,8 @@ public final void mTOPLEFTCORNER_SYM() throws RecognitionException { try { int _type = TOPLEFTCORNER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2002:23: ( '@TOP-LEFT-CORNER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2002:24: '@TOP-LEFT-CORNER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2007:23: ( '@TOP-LEFT-CORNER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2007:24: '@TOP-LEFT-CORNER' { match("@TOP-LEFT-CORNER"); if (state.failed) return; @@ -7064,8 +7064,8 @@ public final void mTOPLEFT_SYM() throws RecognitionException { try { int _type = TOPLEFT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2003:23: ( '@TOP-LEFT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2003:24: '@TOP-LEFT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2008:23: ( '@TOP-LEFT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2008:24: '@TOP-LEFT' { match("@TOP-LEFT"); if (state.failed) return; @@ -7085,8 +7085,8 @@ public final void mTOPCENTER_SYM() throws RecognitionException { try { int _type = TOPCENTER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2004:23: ( '@TOP-CENTER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2004:24: '@TOP-CENTER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2009:23: ( '@TOP-CENTER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2009:24: '@TOP-CENTER' { match("@TOP-CENTER"); if (state.failed) return; @@ -7106,8 +7106,8 @@ public final void mTOPRIGHT_SYM() throws RecognitionException { try { int _type = TOPRIGHT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2005:23: ( '@TOP-RIGHT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2005:24: '@TOP-RIGHT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2010:23: ( '@TOP-RIGHT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2010:24: '@TOP-RIGHT' { match("@TOP-RIGHT"); if (state.failed) return; @@ -7127,8 +7127,8 @@ public final void mTOPRIGHTCORNER_SYM() throws RecognitionException { try { int _type = TOPRIGHTCORNER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2006:23: ( '@TOP-RIGHT-CORNER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2006:24: '@TOP-RIGHT-CORNER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2011:23: ( '@TOP-RIGHT-CORNER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2011:24: '@TOP-RIGHT-CORNER' { match("@TOP-RIGHT-CORNER"); if (state.failed) return; @@ -7148,8 +7148,8 @@ public final void mBOTTOMLEFTCORNER_SYM() throws RecognitionException { try { int _type = BOTTOMLEFTCORNER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2007:23: ( '@BOTTOM-LEFT-CORNER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2007:24: '@BOTTOM-LEFT-CORNER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2012:23: ( '@BOTTOM-LEFT-CORNER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2012:24: '@BOTTOM-LEFT-CORNER' { match("@BOTTOM-LEFT-CORNER"); if (state.failed) return; @@ -7169,8 +7169,8 @@ public final void mBOTTOMLEFT_SYM() throws RecognitionException { try { int _type = BOTTOMLEFT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2008:23: ( '@BOTTOM-LEFT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2008:24: '@BOTTOM-LEFT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2013:23: ( '@BOTTOM-LEFT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2013:24: '@BOTTOM-LEFT' { match("@BOTTOM-LEFT"); if (state.failed) return; @@ -7190,8 +7190,8 @@ public final void mBOTTOMCENTER_SYM() throws RecognitionException { try { int _type = BOTTOMCENTER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2009:23: ( '@BOTTOM-CENTER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2009:24: '@BOTTOM-CENTER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2014:23: ( '@BOTTOM-CENTER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2014:24: '@BOTTOM-CENTER' { match("@BOTTOM-CENTER"); if (state.failed) return; @@ -7211,8 +7211,8 @@ public final void mBOTTOMRIGHT_SYM() throws RecognitionException { try { int _type = BOTTOMRIGHT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2010:23: ( '@BOTTOM-RIGHT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2010:24: '@BOTTOM-RIGHT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2015:23: ( '@BOTTOM-RIGHT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2015:24: '@BOTTOM-RIGHT' { match("@BOTTOM-RIGHT"); if (state.failed) return; @@ -7232,8 +7232,8 @@ public final void mBOTTOMRIGHTCORNER_SYM() throws RecognitionException { try { int _type = BOTTOMRIGHTCORNER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2011:23: ( '@BOTTOM-RIGHT-CORNER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2011:24: '@BOTTOM-RIGHT-CORNER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2016:23: ( '@BOTTOM-RIGHT-CORNER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2016:24: '@BOTTOM-RIGHT-CORNER' { match("@BOTTOM-RIGHT-CORNER"); if (state.failed) return; @@ -7253,8 +7253,8 @@ public final void mLEFTTOP_SYM() throws RecognitionException { try { int _type = LEFTTOP_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2012:23: ( '@LEFT-TOP' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2012:24: '@LEFT-TOP' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2017:23: ( '@LEFT-TOP' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2017:24: '@LEFT-TOP' { match("@LEFT-TOP"); if (state.failed) return; @@ -7274,8 +7274,8 @@ public final void mLEFTMIDDLE_SYM() throws RecognitionException { try { int _type = LEFTMIDDLE_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2013:23: ( '@LEFT-MIDDLE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2013:24: '@LEFT-MIDDLE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2018:23: ( '@LEFT-MIDDLE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2018:24: '@LEFT-MIDDLE' { match("@LEFT-MIDDLE"); if (state.failed) return; @@ -7295,8 +7295,8 @@ public final void mLEFTBOTTOM_SYM() throws RecognitionException { try { int _type = LEFTBOTTOM_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2014:23: ( '@LEFT-BOTTOM' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2014:24: '@LEFT-BOTTOM' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2019:23: ( '@LEFT-BOTTOM' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2019:24: '@LEFT-BOTTOM' { match("@LEFT-BOTTOM"); if (state.failed) return; @@ -7316,8 +7316,8 @@ public final void mRIGHTTOP_SYM() throws RecognitionException { try { int _type = RIGHTTOP_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2015:23: ( '@RIGHT-TOP' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2015:24: '@RIGHT-TOP' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2020:23: ( '@RIGHT-TOP' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2020:24: '@RIGHT-TOP' { match("@RIGHT-TOP"); if (state.failed) return; @@ -7337,8 +7337,8 @@ public final void mRIGHTMIDDLE_SYM() throws RecognitionException { try { int _type = RIGHTMIDDLE_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2016:23: ( '@RIGHT-MIDDLE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2016:24: '@RIGHT-MIDDLE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2021:23: ( '@RIGHT-MIDDLE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2021:24: '@RIGHT-MIDDLE' { match("@RIGHT-MIDDLE"); if (state.failed) return; @@ -7358,8 +7358,8 @@ public final void mRIGHTBOTTOM_SYM() throws RecognitionException { try { int _type = RIGHTBOTTOM_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2017:23: ( '@RIGHT-BOTTOM' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2017:24: '@RIGHT-BOTTOM' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2022:23: ( '@RIGHT-BOTTOM' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2022:24: '@RIGHT-BOTTOM' { match("@RIGHT-BOTTOM"); if (state.failed) return; @@ -7379,8 +7379,8 @@ public final void mMOZ_DOCUMENT_SYM() throws RecognitionException { try { int _type = MOZ_DOCUMENT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2019:23: ( '@-MOZ-DOCUMENT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2019:25: '@-MOZ-DOCUMENT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2024:23: ( '@-MOZ-DOCUMENT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2024:25: '@-MOZ-DOCUMENT' { match("@-MOZ-DOCUMENT"); if (state.failed) return; @@ -7400,8 +7400,8 @@ public final void mWEBKIT_KEYFRAMES_SYM() throws RecognitionException { try { int _type = WEBKIT_KEYFRAMES_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2020:23: ( '@-WEBKIT-KEYFRAMES' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2020:25: '@-WEBKIT-KEYFRAMES' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2025:23: ( '@-WEBKIT-KEYFRAMES' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2025:25: '@-WEBKIT-KEYFRAMES' { match("@-WEBKIT-KEYFRAMES"); if (state.failed) return; @@ -7421,8 +7421,8 @@ public final void mSASS_CONTENT() throws RecognitionException { try { int _type = SASS_CONTENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2023:21: ( '@CONTENT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2023:23: '@CONTENT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2028:21: ( '@CONTENT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2028:23: '@CONTENT' { match("@CONTENT"); if (state.failed) return; @@ -7442,8 +7442,8 @@ public final void mSASS_MIXIN() throws RecognitionException { try { int _type = SASS_MIXIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2024:21: ( '@MIXIN' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2024:23: '@MIXIN' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2029:21: ( '@MIXIN' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2029:23: '@MIXIN' { match("@MIXIN"); if (state.failed) return; @@ -7463,8 +7463,8 @@ public final void mSASS_INCLUDE() throws RecognitionException { try { int _type = SASS_INCLUDE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2025:21: ( '@INCLUDE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2025:23: '@INCLUDE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2030:21: ( '@INCLUDE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2030:23: '@INCLUDE' { match("@INCLUDE"); if (state.failed) return; @@ -7484,8 +7484,8 @@ public final void mSASS_EXTEND() throws RecognitionException { try { int _type = SASS_EXTEND; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2026:21: ( '@EXTEND' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2026:23: '@EXTEND' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2031:21: ( '@EXTEND' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2031:23: '@EXTEND' { match("@EXTEND"); if (state.failed) return; @@ -7505,8 +7505,8 @@ public final void mSASS_DEBUG() throws RecognitionException { try { int _type = SASS_DEBUG; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2027:21: ( '@DEBUG' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2027:23: '@DEBUG' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2032:21: ( '@DEBUG' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2032:23: '@DEBUG' { match("@DEBUG"); if (state.failed) return; @@ -7526,8 +7526,8 @@ public final void mSASS_ERROR() throws RecognitionException { try { int _type = SASS_ERROR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2028:21: ( '@ERROR' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2028:23: '@ERROR' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2033:21: ( '@ERROR' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2033:23: '@ERROR' { match("@ERROR"); if (state.failed) return; @@ -7547,8 +7547,8 @@ public final void mSASS_WARN() throws RecognitionException { try { int _type = SASS_WARN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2029:21: ( '@WARN' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2029:23: '@WARN' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2034:21: ( '@WARN' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2034:23: '@WARN' { match("@WARN"); if (state.failed) return; @@ -7568,8 +7568,8 @@ public final void mSASS_IF() throws RecognitionException { try { int _type = SASS_IF; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2030:21: ( '@IF' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2030:23: '@IF' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2035:21: ( '@IF' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2035:23: '@IF' { match("@IF"); if (state.failed) return; @@ -7589,8 +7589,8 @@ public final void mSASS_ELSE() throws RecognitionException { try { int _type = SASS_ELSE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2031:21: ( '@ELSE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2031:23: '@ELSE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2036:21: ( '@ELSE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2036:23: '@ELSE' { match("@ELSE"); if (state.failed) return; @@ -7610,8 +7610,8 @@ public final void mSASS_ELSEIF() throws RecognitionException { try { int _type = SASS_ELSEIF; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2032:21: ( '@ELSEIF' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2032:23: '@ELSEIF' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2037:21: ( '@ELSEIF' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2037:23: '@ELSEIF' { match("@ELSEIF"); if (state.failed) return; @@ -7631,8 +7631,8 @@ public final void mSASS_FOR() throws RecognitionException { try { int _type = SASS_FOR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2033:21: ( '@FOR' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2033:23: '@FOR' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2038:21: ( '@FOR' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2038:23: '@FOR' { match("@FOR"); if (state.failed) return; @@ -7652,8 +7652,8 @@ public final void mSASS_FUNCTION() throws RecognitionException { try { int _type = SASS_FUNCTION; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2034:21: ( '@FUNCTION' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2034:23: '@FUNCTION' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2039:21: ( '@FUNCTION' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2039:23: '@FUNCTION' { match("@FUNCTION"); if (state.failed) return; @@ -7673,8 +7673,8 @@ public final void mSASS_RETURN() throws RecognitionException { try { int _type = SASS_RETURN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2035:21: ( '@RETURN' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2035:23: '@RETURN' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2040:21: ( '@RETURN' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2040:23: '@RETURN' { match("@RETURN"); if (state.failed) return; @@ -7694,8 +7694,8 @@ public final void mSASS_USE() throws RecognitionException { try { int _type = SASS_USE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2036:21: ( '@USE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2036:23: '@USE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2041:21: ( '@USE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2041:23: '@USE' { match("@USE"); if (state.failed) return; @@ -7715,8 +7715,8 @@ public final void mSASS_FORWARD() throws RecognitionException { try { int _type = SASS_FORWARD; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2037:21: ( '@FORWARD' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2037:23: '@FORWARD' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2042:21: ( '@FORWARD' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2042:23: '@FORWARD' { match("@FORWARD"); if (state.failed) return; @@ -7736,8 +7736,8 @@ public final void mSASS_EACH() throws RecognitionException { try { int _type = SASS_EACH; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2039:21: ( '@EACH' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2039:23: '@EACH' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:21: ( '@EACH' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:23: '@EACH' { match("@EACH"); if (state.failed) return; @@ -7757,8 +7757,8 @@ public final void mSASS_WHILE() throws RecognitionException { try { int _type = SASS_WHILE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2040:21: ( '@WHILE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2040:23: '@WHILE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2045:21: ( '@WHILE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2045:23: '@WHILE' { match("@WHILE"); if (state.failed) return; @@ -7778,8 +7778,8 @@ public final void mSASS_AT_ROOT() throws RecognitionException { try { int _type = SASS_AT_ROOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2041:21: ( '@AT-ROOT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2041:23: '@AT-ROOT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:21: ( '@AT-ROOT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:23: '@AT-ROOT' { match("@AT-ROOT"); if (state.failed) return; @@ -7799,8 +7799,8 @@ public final void mAT_SIGN() throws RecognitionException { try { int _type = AT_SIGN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2043:21: ( '@' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2043:23: '@' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2048:21: ( '@' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2048:23: '@' { match('@'); if (state.failed) return; } @@ -7819,10 +7819,10 @@ public final void mAT_IDENT() throws RecognitionException { try { int _type = AT_IDENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:14: ( ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:14: ( ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) int alt178=2; int LA178_0 = input.LA(1); if ( (LA178_0=='@') ) { @@ -7858,17 +7858,17 @@ else if ( (LA178_1=='@') ) { switch (alt178) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:17: AT_SIGN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:17: AT_SIGN { mAT_SIGN(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:27: ( AT_SIGN AT_SIGN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:27: ( AT_SIGN AT_SIGN ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:27: ( AT_SIGN AT_SIGN ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:28: AT_SIGN AT_SIGN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:27: ( AT_SIGN AT_SIGN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:28: AT_SIGN AT_SIGN { mAT_SIGN(); if (state.failed) return; @@ -7881,7 +7881,7 @@ else if ( (LA178_1=='@') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:46: ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:46: ( NMCHAR )+ int cnt179=0; loop179: while (true) { @@ -7893,7 +7893,7 @@ else if ( (LA178_1=='@') ) { switch (alt179) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:46: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:46: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -7925,11 +7925,11 @@ public final void mSASS_VAR() throws RecognitionException { try { int _type = SASS_VAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:21: ( '$' ( NMCHAR )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:23: '$' ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2051:21: ( '$' ( NMCHAR )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2051:23: '$' ( NMCHAR )+ { match('$'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:27: ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2051:27: ( NMCHAR )+ int cnt180=0; loop180: while (true) { @@ -7941,7 +7941,7 @@ public final void mSASS_VAR() throws RecognitionException { switch (alt180) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:27: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2051:27: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -7973,8 +7973,8 @@ public final void mSASS_DEFAULT() throws RecognitionException { try { int _type = SASS_DEFAULT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2047:21: ( '!DEFAULT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2047:23: '!DEFAULT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:21: ( '!DEFAULT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:23: '!DEFAULT' { match("!DEFAULT"); if (state.failed) return; @@ -7994,8 +7994,8 @@ public final void mSASS_OPTIONAL() throws RecognitionException { try { int _type = SASS_OPTIONAL; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2048:21: ( '!OPTIONAL' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2048:23: '!OPTIONAL' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2053:21: ( '!OPTIONAL' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2053:23: '!OPTIONAL' { match("!OPTIONAL"); if (state.failed) return; @@ -8015,8 +8015,8 @@ public final void mSASS_GLOBAL() throws RecognitionException { try { int _type = SASS_GLOBAL; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:21: ( '!GLOBAL' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:23: '!GLOBAL' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2054:21: ( '!GLOBAL' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2054:23: '!GLOBAL' { match("!GLOBAL"); if (state.failed) return; @@ -8036,12 +8036,12 @@ public final void mSASS_EXTEND_ONLY_SELECTOR() throws RecognitionException { try { int _type = SASS_EXTEND_ONLY_SELECTOR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:21: ( PERCENTAGE_SYMBOL ( NMCHAR )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:23: PERCENTAGE_SYMBOL ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2057:21: ( PERCENTAGE_SYMBOL ( NMCHAR )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2057:23: PERCENTAGE_SYMBOL ( NMCHAR )+ { mPERCENTAGE_SYMBOL(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:41: ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2057:41: ( NMCHAR )+ int cnt181=0; loop181: while (true) { @@ -8053,7 +8053,7 @@ public final void mSASS_EXTEND_ONLY_SELECTOR() throws RecognitionException { switch (alt181) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:41: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2057:41: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -8083,8 +8083,8 @@ public final void mSASS_EXTEND_ONLY_SELECTOR() throws RecognitionException { // $ANTLR start "EMS" public final void mEMS() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2064:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2064:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2069:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2069:26: { } @@ -8098,8 +8098,8 @@ public final void mEMS() throws RecognitionException { // $ANTLR start "EXS" public final void mEXS() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2065:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2065:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2070:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2070:26: { } @@ -8113,8 +8113,8 @@ public final void mEXS() throws RecognitionException { // $ANTLR start "LENGTH" public final void mLENGTH() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2066:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2066:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2071:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2071:26: { } @@ -8128,8 +8128,8 @@ public final void mLENGTH() throws RecognitionException { // $ANTLR start "REM" public final void mREM() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2067:18: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2067:19: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2072:18: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2072:19: { } @@ -8143,8 +8143,8 @@ public final void mREM() throws RecognitionException { // $ANTLR start "ANGLE" public final void mANGLE() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2068:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2068:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2073:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2073:26: { } @@ -8158,8 +8158,8 @@ public final void mANGLE() throws RecognitionException { // $ANTLR start "TIME" public final void mTIME() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2069:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2069:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2074:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2074:26: { } @@ -8173,8 +8173,8 @@ public final void mTIME() throws RecognitionException { // $ANTLR start "FREQ" public final void mFREQ() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2070:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2070:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2075:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2075:26: { } @@ -8188,8 +8188,8 @@ public final void mFREQ() throws RecognitionException { // $ANTLR start "DIMENSION" public final void mDIMENSION() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2071:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2071:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:26: { } @@ -8203,8 +8203,8 @@ public final void mDIMENSION() throws RecognitionException { // $ANTLR start "PERCENTAGE" public final void mPERCENTAGE() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2072:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2072:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:26: { } @@ -8218,8 +8218,8 @@ public final void mPERCENTAGE() throws RecognitionException { // $ANTLR start "RESOLUTION" public final void mRESOLUTION() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2073:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2073:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2078:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2078:26: { } @@ -8235,10 +8235,10 @@ public final void mNUMBER() throws RecognitionException { try { int _type = NUMBER; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:5: ( ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:5: ( ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) int alt186=2; int LA186_0 = input.LA(1); if ( ((LA186_0 >= '0' && LA186_0 <= '9')) ) { @@ -8257,9 +8257,9 @@ else if ( (LA186_0=='.') ) { switch (alt186) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:15: ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:15: ( '0' .. '9' )+ int cnt182=0; loop182: while (true) { @@ -8295,7 +8295,7 @@ else if ( (LA186_0=='.') ) { cnt182++; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:25: ( '.' ( '0' .. '9' )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:25: ( '.' ( '0' .. '9' )+ )? int alt184=2; int LA184_0 = input.LA(1); if ( (LA184_0=='.') ) { @@ -8303,10 +8303,10 @@ else if ( (LA186_0=='.') ) { } switch (alt184) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:26: '.' ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:26: '.' ( '0' .. '9' )+ { match('.'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:30: ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:30: ( '0' .. '9' )+ int cnt183=0; loop183: while (true) { @@ -8350,10 +8350,10 @@ else if ( (LA186_0=='.') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2078:15: '.' ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:15: '.' ( '0' .. '9' )+ { match('.'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2078:19: ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:19: ( '0' .. '9' )+ int cnt185=0; loop185: while (true) { @@ -8394,18 +8394,18 @@ else if ( (LA186_0=='.') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2080:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2085:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) int alt193=13; alt193 = dfa193.predict(input); switch (alt193) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:15: ( D P ( I | C ) )=> D P ( I | C M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:15: ( D P ( I | C ) )=> D P ( I | C M ) { mD(); if (state.failed) return; mP(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:17: ( I | C M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2088:17: ( I | C M ) int alt187=2; switch ( input.LA(1) ) { case 'I': @@ -8657,14 +8657,14 @@ else if ( (LA187_5=='3') ) { } switch (alt187) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2084:22: I + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2089:22: I { mI(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2084:26: C M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2089:26: C M { mC(); if (state.failed) return; @@ -8679,11 +8679,11 @@ else if ( (LA187_5=='3') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2088:15: ( E ( M | X ) )=> E ( M | X ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:15: ( E ( M | X ) )=> E ( M | X ) { mE(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2090:17: ( M | X ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2095:17: ( M | X ) int alt188=2; switch ( input.LA(1) ) { case 'M': @@ -8859,7 +8859,7 @@ else if ( (LA188_7=='5'||LA188_7=='7') ) { } switch (alt188) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2091:23: M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2096:23: M { mM(); if (state.failed) return; @@ -8867,7 +8867,7 @@ else if ( (LA188_7=='5'||LA188_7=='7') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2092:23: X + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2097:23: X { mX(); if (state.failed) return; @@ -8880,11 +8880,11 @@ else if ( (LA188_7=='5'||LA188_7=='7') ) { } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:15: ( P ( X | T | C ) )=> P ( X | T | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:15: ( P ( X | T | C ) )=> P ( X | T | C ) { mP(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2096:17: ( X | T | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2101:17: ( X | T | C ) int alt189=3; switch ( input.LA(1) ) { case 'X': @@ -9184,21 +9184,21 @@ else if ( (LA189_6=='4') ) { } switch (alt189) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2097:23: X + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2102:23: X { mX(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2098:23: T + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2103:23: T { mT(); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:23: C + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:23: C { mC(); if (state.failed) return; @@ -9211,7 +9211,7 @@ else if ( (LA189_6=='4') ) { } break; case 4 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2102:15: ( C M )=> C M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2107:15: ( C M )=> C M { mC(); if (state.failed) return; @@ -9221,11 +9221,11 @@ else if ( (LA189_6=='4') ) { } break; case 5 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:15: ( M ( M | S ) )=> M ( M | S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:15: ( M ( M | S ) )=> M ( M | S ) { mM(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2106:17: ( M | S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2111:17: ( M | S ) int alt190=2; switch ( input.LA(1) ) { case 'M': @@ -9401,7 +9401,7 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } switch (alt190) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2107:23: M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2112:23: M { mM(); if (state.failed) return; @@ -9409,7 +9409,7 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:23: S + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2114:23: S { mS(); if (state.failed) return; @@ -9422,7 +9422,7 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } break; case 6 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2111:15: ( I N )=> I N + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2116:15: ( I N )=> I N { mI(); if (state.failed) return; @@ -9432,7 +9432,7 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } break; case 7 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2114:15: ( D E G )=> D E G + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:15: ( D E G )=> D E G { mD(); if (state.failed) return; @@ -9444,11 +9444,11 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } break; case 8 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:15: ( R ( A | E ) )=> R ( A D | E M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:15: ( R ( A | E ) )=> R ( A D | E M ) { mR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2121:17: ( A D | E M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2126:17: ( A D | E M ) int alt191=2; switch ( input.LA(1) ) { case 'A': @@ -9691,7 +9691,7 @@ else if ( (LA191_5=='5') ) { } switch (alt191) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2122:20: A D + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2127:20: A D { mA(); if (state.failed) return; @@ -9701,7 +9701,7 @@ else if ( (LA191_5=='5') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2123:20: E M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2128:20: E M { mE(); if (state.failed) return; @@ -9716,7 +9716,7 @@ else if ( (LA191_5=='5') ) { } break; case 9 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2126:15: ( S )=> S + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2131:15: ( S )=> S { mS(); if (state.failed) return; @@ -9724,9 +9724,9 @@ else if ( (LA191_5=='5') ) { } break; case 10 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2128:15: ( ( K )? H Z )=> ( K )? H Z + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:15: ( ( K )? H Z )=> ( K )? H Z { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2129:17: ( K )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:17: ( K )? int alt192=2; int LA192_0 = input.LA(1); if ( (LA192_0=='K'||LA192_0=='k') ) { @@ -9791,7 +9791,7 @@ else if ( (LA192_4=='4'||LA192_4=='6') ) { } switch (alt192) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2129:17: K + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:17: K { mK(); if (state.failed) return; @@ -9808,7 +9808,7 @@ else if ( (LA192_4=='4'||LA192_4=='6') ) { } break; case 11 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2131:15: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2136:15: IDENT { mIDENT(); if (state.failed) return; @@ -9816,7 +9816,7 @@ else if ( (LA192_4=='4'||LA192_4=='6') ) { } break; case 12 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:15: PERCENTAGE_SYMBOL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2138:15: PERCENTAGE_SYMBOL { mPERCENTAGE_SYMBOL(); if (state.failed) return; @@ -9824,7 +9824,7 @@ else if ( (LA192_4=='4'||LA192_4=='6') ) { } break; case 13 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2136:9: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2141:9: { } break; @@ -9847,8 +9847,8 @@ public final void mURI() throws RecognitionException { try { int _type = URI; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2142:5: ( U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2142:9: U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2147:5: ( U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2147:9: U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' { mU(); if (state.failed) return; @@ -9857,7 +9857,7 @@ public final void mURI() throws RecognitionException { mL(); if (state.failed) return; match('('); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:13: ( ( WS )=> WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:13: ( ( WS )=> WS )? int alt194=2; int LA194_0 = input.LA(1); if ( (LA194_0=='\t'||LA194_0==' ') ) { @@ -9868,7 +9868,7 @@ public final void mURI() throws RecognitionException { } switch (alt194) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:14: ( WS )=> WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:14: ( WS )=> WS { mWS(); if (state.failed) return; @@ -9877,7 +9877,7 @@ public final void mURI() throws RecognitionException { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:25: ( URL | STRING ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:25: ( URL | STRING ) int alt195=2; int LA195_0 = input.LA(1); if ( (LA195_0=='\t'||(LA195_0 >= ' ' && LA195_0 <= '!')||(LA195_0 >= '#' && LA195_0 <= '&')||(LA195_0 >= ')' && LA195_0 <= ';')||LA195_0=='='||(LA195_0 >= '?' && LA195_0 <= '\\')||LA195_0=='_'||(LA195_0 >= 'a' && LA195_0 <= '~')||(LA195_0 >= '\u0080' && LA195_0 <= '\uFFFF')) ) { @@ -9896,14 +9896,14 @@ else if ( (LA195_0=='\"'||LA195_0=='\'') ) { switch (alt195) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:26: URL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:26: URL { mURL(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:30: STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:30: STRING { mSTRING(); if (state.failed) return; @@ -9912,7 +9912,7 @@ else if ( (LA195_0=='\"'||LA195_0=='\'') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:38: ( WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:38: ( WS )? int alt196=2; int LA196_0 = input.LA(1); if ( (LA196_0=='\t'||LA196_0==' ') ) { @@ -9920,7 +9920,7 @@ else if ( (LA195_0=='\"'||LA195_0=='\'') ) { } switch (alt196) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:38: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:38: WS { mWS(); if (state.failed) return; @@ -9944,7 +9944,7 @@ else if ( (LA195_0=='\"'||LA195_0=='\'') ) { // $ANTLR start "HEXCHAR_WILDCARD" public final void mHEXCHAR_WILDCARD() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2148:26: ( '?' | HEXCHAR ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2153:26: ( '?' | HEXCHAR ) // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||input.LA(1)=='?'||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) { @@ -9971,8 +9971,8 @@ public final void mURANGE() throws RecognitionException { try { int _type = URANGE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:7: ( ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:9: ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:7: ( ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:9: ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? { if ( input.LA(1)=='U'||input.LA(1)=='u' ) { input.consume(); @@ -9986,7 +9986,7 @@ public final void mURANGE() throws RecognitionException { } mPLUS(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:24: ( HEXCHAR_WILDCARD )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:24: ( HEXCHAR_WILDCARD )+ int cnt197=0; loop197: while (true) { @@ -10022,7 +10022,7 @@ public final void mURANGE() throws RecognitionException { cnt197++; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:42: ( MINUS ( HEXCHAR_WILDCARD )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:42: ( MINUS ( HEXCHAR_WILDCARD )+ )? int alt199=2; int LA199_0 = input.LA(1); if ( (LA199_0=='-') ) { @@ -10030,11 +10030,11 @@ public final void mURANGE() throws RecognitionException { } switch (alt199) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:43: MINUS ( HEXCHAR_WILDCARD )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:43: MINUS ( HEXCHAR_WILDCARD )+ { mMINUS(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:49: ( HEXCHAR_WILDCARD )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:49: ( HEXCHAR_WILDCARD )+ int cnt198=0; loop198: while (true) { @@ -10091,12 +10091,12 @@ public final void mMOZ_URL_PREFIX() throws RecognitionException { try { int _type = MOZ_URL_PREFIX; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2153:2: ( 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2154:2: 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2158:2: ( 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2159:2: 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' { match("URL-PREFIX("); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:13: ( ( WS )=> WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:13: ( ( WS )=> WS )? int alt200=2; int LA200_0 = input.LA(1); if ( (LA200_0=='\t'||LA200_0==' ') ) { @@ -10107,7 +10107,7 @@ public final void mMOZ_URL_PREFIX() throws RecognitionException { } switch (alt200) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:14: ( WS )=> WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:14: ( WS )=> WS { mWS(); if (state.failed) return; @@ -10116,7 +10116,7 @@ public final void mMOZ_URL_PREFIX() throws RecognitionException { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:25: ( URL | STRING ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:25: ( URL | STRING ) int alt201=2; int LA201_0 = input.LA(1); if ( (LA201_0=='\t'||(LA201_0 >= ' ' && LA201_0 <= '!')||(LA201_0 >= '#' && LA201_0 <= '&')||(LA201_0 >= ')' && LA201_0 <= ';')||LA201_0=='='||(LA201_0 >= '?' && LA201_0 <= '\\')||LA201_0=='_'||(LA201_0 >= 'a' && LA201_0 <= '~')||(LA201_0 >= '\u0080' && LA201_0 <= '\uFFFF')) ) { @@ -10135,14 +10135,14 @@ else if ( (LA201_0=='\"'||LA201_0=='\'') ) { switch (alt201) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:26: URL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:26: URL { mURL(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:30: STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:30: STRING { mSTRING(); if (state.failed) return; @@ -10151,7 +10151,7 @@ else if ( (LA201_0=='\"'||LA201_0=='\'') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:38: ( WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:38: ( WS )? int alt202=2; int LA202_0 = input.LA(1); if ( (LA202_0=='\t'||LA202_0==' ') ) { @@ -10159,7 +10159,7 @@ else if ( (LA201_0=='\"'||LA201_0=='\'') ) { } switch (alt202) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:38: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:38: WS { mWS(); if (state.failed) return; @@ -10185,12 +10185,12 @@ public final void mMOZ_DOMAIN() throws RecognitionException { try { int _type = MOZ_DOMAIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:2: ( 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2162:2: 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2166:2: ( 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2167:2: 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' { match("DOMAIN("); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:13: ( ( WS )=> WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:13: ( ( WS )=> WS )? int alt203=2; int LA203_0 = input.LA(1); if ( (LA203_0=='\t'||LA203_0==' ') ) { @@ -10201,7 +10201,7 @@ public final void mMOZ_DOMAIN() throws RecognitionException { } switch (alt203) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:14: ( WS )=> WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:14: ( WS )=> WS { mWS(); if (state.failed) return; @@ -10210,7 +10210,7 @@ public final void mMOZ_DOMAIN() throws RecognitionException { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:25: ( URL | STRING ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:25: ( URL | STRING ) int alt204=2; int LA204_0 = input.LA(1); if ( (LA204_0=='\t'||(LA204_0 >= ' ' && LA204_0 <= '!')||(LA204_0 >= '#' && LA204_0 <= '&')||(LA204_0 >= ')' && LA204_0 <= ';')||LA204_0=='='||(LA204_0 >= '?' && LA204_0 <= '\\')||LA204_0=='_'||(LA204_0 >= 'a' && LA204_0 <= '~')||(LA204_0 >= '\u0080' && LA204_0 <= '\uFFFF')) ) { @@ -10229,14 +10229,14 @@ else if ( (LA204_0=='\"'||LA204_0=='\'') ) { switch (alt204) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:26: URL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:26: URL { mURL(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:30: STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:30: STRING { mSTRING(); if (state.failed) return; @@ -10245,7 +10245,7 @@ else if ( (LA204_0=='\"'||LA204_0=='\'') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:38: ( WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:38: ( WS )? int alt205=2; int LA205_0 = input.LA(1); if ( (LA205_0=='\t'||LA205_0==' ') ) { @@ -10253,7 +10253,7 @@ else if ( (LA204_0=='\"'||LA204_0=='\'') ) { } switch (alt205) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:38: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:38: WS { mWS(); if (state.failed) return; @@ -10279,12 +10279,12 @@ public final void mMOZ_REGEXP() throws RecognitionException { try { int _type = MOZ_REGEXP; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:2: ( 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2170:2: 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2174:2: ( 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2175:2: 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' { match("REGEXP("); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2171:13: ( ( WS )=> WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:13: ( ( WS )=> WS )? int alt206=2; int LA206_0 = input.LA(1); if ( (LA206_0=='\t'||LA206_0==' ') && (synpred16_Css3())) { @@ -10292,7 +10292,7 @@ public final void mMOZ_REGEXP() throws RecognitionException { } switch (alt206) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2171:14: ( WS )=> WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:14: ( WS )=> WS { mWS(); if (state.failed) return; @@ -10303,7 +10303,7 @@ public final void mMOZ_REGEXP() throws RecognitionException { mSTRING(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2171:32: ( WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:32: ( WS )? int alt207=2; int LA207_0 = input.LA(1); if ( (LA207_0=='\t'||LA207_0==' ') ) { @@ -10311,7 +10311,7 @@ public final void mMOZ_REGEXP() throws RecognitionException { } switch (alt207) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2171:32: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:32: WS { mWS(); if (state.failed) return; @@ -10337,10 +10337,10 @@ public final void mWS() throws RecognitionException { try { int _type = WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2182:5: ( ( ' ' | '\\t' )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2183:5: ( ' ' | '\\t' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2187:5: ( ( ' ' | '\\t' )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2188:5: ( ' ' | '\\t' )+ { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2183:5: ( ' ' | '\\t' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2188:5: ( ' ' | '\\t' )+ int cnt208=0; loop208: while (true) { @@ -10392,10 +10392,10 @@ public final void mNL() throws RecognitionException { try { int _type = NL; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2187:5: ( ( '\\r' | '\\n' )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2189:5: ( '\\r' | '\\n' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2192:5: ( ( '\\r' | '\\n' )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2194:5: ( '\\r' | '\\n' )+ { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2189:5: ( '\\r' | '\\n' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2194:5: ( '\\r' | '\\n' )+ int cnt209=0; loop209: while (true) { @@ -10447,15 +10447,15 @@ public final void mCOMMENT() throws RecognitionException { try { int _type = COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2195:5: ( '/*' ( options {greedy=false; } : ( . )* ) '*/' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2196:5: '/*' ( options {greedy=false; } : ( . )* ) '*/' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2200:5: ( '/*' ( options {greedy=false; } : ( . )* ) '*/' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:5: '/*' ( options {greedy=false; } : ( . )* ) '*/' { match("/*"); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2196:10: ( options {greedy=false; } : ( . )* ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2196:40: ( . )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:10: ( options {greedy=false; } : ( . )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:40: ( . )* { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2196:40: ( . )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:40: ( . )* loop210: while (true) { int alt210=2; @@ -10476,7 +10476,7 @@ else if ( ((LA210_0 >= '\u0000' && LA210_0 <= ')')||(LA210_0 >= '+' && LA210_0 < switch (alt210) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2196:40: . + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:40: . { matchAny(); if (state.failed) return; } @@ -10507,15 +10507,15 @@ public final void mLINE_COMMENT() throws RecognitionException { try { int _type = LINE_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2200:5: ( '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:5: '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2205:5: ( '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:5: '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) { match("//"); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:9: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:39: (~ ( '\\r' | '\\n' ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:9: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:39: (~ ( '\\r' | '\\n' ) )* { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:39: (~ ( '\\r' | '\\n' ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:39: (~ ( '\\r' | '\\n' ) )* loop211: while (true) { int alt211=2; @@ -11330,8 +11330,8 @@ public void mTokens() throws RecognitionException { // $ANTLR start synpred1_Css3 public final void synpred1_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:26: ( '\\\\\\\"' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:27: '\\\\\\\"' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:26: ( '\\\\\\\"' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:27: '\\\\\\\"' { match("\\\""); if (state.failed) return; @@ -11342,8 +11342,8 @@ public final void synpred1_Css3_fragment() throws RecognitionException { // $ANTLR start synpred2_Css3 public final void synpred2_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:47: ( '\\\\\\\\' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1958:48: '\\\\\\\\' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:47: ( '\\\\\\\\' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1963:48: '\\\\\\\\' { match("\\\\"); if (state.failed) return; @@ -11354,14 +11354,14 @@ public final void synpred2_Css3_fragment() throws RecognitionException { // $ANTLR start synpred3_Css3 public final void synpred3_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:15: ( D P ( I | C ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:16: D P ( I | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:15: ( D P ( I | C ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:16: D P ( I | C ) { mD(); if (state.failed) return; mP(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:20: ( I | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:20: ( I | C ) int alt213=2; switch ( input.LA(1) ) { case 'I': @@ -11613,14 +11613,14 @@ else if ( (LA213_5=='3') ) { } switch (alt213) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:21: I + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:21: I { mI(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:23: C + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:23: C { mC(); if (state.failed) return; @@ -11636,12 +11636,12 @@ else if ( (LA213_5=='3') ) { // $ANTLR start synpred4_Css3 public final void synpred4_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2088:15: ( E ( M | X ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2088:16: E ( M | X ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:15: ( E ( M | X ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:16: E ( M | X ) { mE(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2088:18: ( M | X ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:18: ( M | X ) int alt214=2; switch ( input.LA(1) ) { case 'M': @@ -11817,14 +11817,14 @@ else if ( (LA214_7=='5'||LA214_7=='7') ) { } switch (alt214) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2088:19: M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:19: M { mM(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2088:21: X + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:21: X { mX(); if (state.failed) return; @@ -11840,12 +11840,12 @@ else if ( (LA214_7=='5'||LA214_7=='7') ) { // $ANTLR start synpred5_Css3 public final void synpred5_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:15: ( P ( X | T | C ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:16: P ( X | T | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:15: ( P ( X | T | C ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:16: P ( X | T | C ) { mP(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:17: ( X | T | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:17: ( X | T | C ) int alt215=3; switch ( input.LA(1) ) { case 'X': @@ -12145,21 +12145,21 @@ else if ( (LA215_6=='4') ) { } switch (alt215) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:18: X + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:18: X { mX(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:20: T + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:20: T { mT(); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:22: C + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:22: C { mC(); if (state.failed) return; @@ -12175,8 +12175,8 @@ else if ( (LA215_6=='4') ) { // $ANTLR start synpred6_Css3 public final void synpred6_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2102:15: ( C M ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2102:16: C M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2107:15: ( C M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2107:16: C M { mC(); if (state.failed) return; @@ -12189,12 +12189,12 @@ public final void synpred6_Css3_fragment() throws RecognitionException { // $ANTLR start synpred7_Css3 public final void synpred7_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:15: ( M ( M | S ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:16: M ( M | S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:15: ( M ( M | S ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:16: M ( M | S ) { mM(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:18: ( M | S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:18: ( M | S ) int alt216=2; switch ( input.LA(1) ) { case 'M': @@ -12370,14 +12370,14 @@ else if ( (LA216_7=='5'||LA216_7=='7') ) { } switch (alt216) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:19: M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:19: M { mM(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:21: S + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:21: S { mS(); if (state.failed) return; @@ -12393,8 +12393,8 @@ else if ( (LA216_7=='5'||LA216_7=='7') ) { // $ANTLR start synpred8_Css3 public final void synpred8_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2111:15: ( I N ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2111:16: I N + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2116:15: ( I N ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2116:16: I N { mI(); if (state.failed) return; @@ -12407,8 +12407,8 @@ public final void synpred8_Css3_fragment() throws RecognitionException { // $ANTLR start synpred9_Css3 public final void synpred9_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2114:15: ( D E G ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2114:16: D E G + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:15: ( D E G ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:16: D E G { mD(); if (state.failed) return; @@ -12423,12 +12423,12 @@ public final void synpred9_Css3_fragment() throws RecognitionException { // $ANTLR start synpred10_Css3 public final void synpred10_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:15: ( R ( A | E ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:16: R ( A | E ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:15: ( R ( A | E ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:16: R ( A | E ) { mR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:18: ( A | E ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:18: ( A | E ) int alt217=2; switch ( input.LA(1) ) { case 'A': @@ -12671,14 +12671,14 @@ else if ( (LA217_5=='5') ) { } switch (alt217) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:19: A + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:19: A { mA(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:21: E + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:21: E { mE(); if (state.failed) return; @@ -12694,8 +12694,8 @@ else if ( (LA217_5=='5') ) { // $ANTLR start synpred11_Css3 public final void synpred11_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2126:15: ( S ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2126:16: S + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2131:15: ( S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2131:16: S { mS(); if (state.failed) return; @@ -12706,10 +12706,10 @@ public final void synpred11_Css3_fragment() throws RecognitionException { // $ANTLR start synpred12_Css3 public final void synpred12_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2128:15: ( ( K )? H Z ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2128:16: ( K )? H Z + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:15: ( ( K )? H Z ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:16: ( K )? H Z { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2128:16: ( K )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:16: ( K )? int alt218=2; int LA218_0 = input.LA(1); if ( (LA218_0=='K'||LA218_0=='k') ) { @@ -12774,7 +12774,7 @@ else if ( (LA218_4=='4'||LA218_4=='6') ) { } switch (alt218) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2128:16: K + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:16: K { mK(); if (state.failed) return; @@ -12794,8 +12794,8 @@ else if ( (LA218_4=='4'||LA218_4=='6') ) { // $ANTLR start synpred13_Css3 public final void synpred13_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:14: ( WS ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2144:15: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:14: ( WS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:15: WS { mWS(); if (state.failed) return; @@ -12806,8 +12806,8 @@ public final void synpred13_Css3_fragment() throws RecognitionException { // $ANTLR start synpred14_Css3 public final void synpred14_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:14: ( WS ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:15: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:14: ( WS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:15: WS { mWS(); if (state.failed) return; @@ -12818,8 +12818,8 @@ public final void synpred14_Css3_fragment() throws RecognitionException { // $ANTLR start synpred15_Css3 public final void synpred15_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:14: ( WS ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2163:15: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:14: ( WS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:15: WS { mWS(); if (state.failed) return; @@ -12830,8 +12830,8 @@ public final void synpred15_Css3_fragment() throws RecognitionException { // $ANTLR start synpred16_Css3 public final void synpred16_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2171:14: ( WS ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2171:15: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:14: ( WS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:15: WS { mWS(); if (state.failed) return; @@ -13167,70 +13167,70 @@ public final boolean synpred3_Css3() { "\uffff\1\7\113\uffff\1\10\u020c\uffff"; static final String DFA193_specialS = "\2\uffff\1\u012d\6\uffff\1\u0176\12\uffff\1\u0177\5\uffff\1\71\16\uffff"+ - "\1\u0183\1\u0184\4\uffff\1\u01b6\1\u01ec\1\u00b1\1\u01be\1\u00b8\1\u00c6"+ - "\1\u01ee\1\110\1\u010e\1\u00d0\1\120\1\u0113\1\u012e\1\u017d\1\u0136\1"+ - "\u01cf\1\1\1\133\1\u01de\1\150\1\u0164\1\u01f7\1\u016d\1\uffff\1\43\5"+ - "\uffff\1\u01a1\1\uffff\1\u0085\1\u00c1\1\u0095\1\u01b7\1\u00b2\1\u01bf"+ - "\1\u00b9\1\u00c7\1\111\1\u010f\1\u00d1\1\121\1\u0114\1\u012f\1\u0137\1"+ - "\u01d0\1\136\1\u01df\1\147\1\u0165\1\u016e\1\u0084\1\u0096\1\u014e\1\u0127"+ - "\1\uffff\1\u0158\6\uffff\1\u00e8\1\u012a\1\u00f6\1\u014f\1\u0159\1\u00e7"+ - "\1\u00f7\1\u00c9\1\u00d2\1\107\1\122\1\u0110\1\u0115\14\uffff\1\u00ca"+ - "\1\u00d3\1\106\1\123\1\u0111\1\u0116\1\u01d2\1\u01dd\1\132\1\151\2\uffff"+ - "\1\u0185\1\u01d4\1\u01e0\1\131\1\153\1\u0166\1\u016c\1\u0167\1\u016f\1"+ - "\u0086\1\u0097\1\u0089\1\u009a\1\uffff\1\u0186\1\u0187\1\u00e3\2\uffff"+ + "\1\u0183\1\u0184\4\uffff\1\u01b6\1\u01ec\1\u00b1\1\u01be\1\u00b8\1\u00c8"+ + "\1\u01ee\1\107\1\u010e\1\u00d0\1\120\1\u0113\1\u012e\1\u017d\1\u0136\1"+ + "\u01d0\1\1\1\133\1\u01dd\1\150\1\u0164\1\u01f7\1\u016d\1\uffff\1\43\5"+ + "\uffff\1\u01a1\1\uffff\1\u0084\1\u00c1\1\u0096\1\u01b7\1\u00b2\1\u01bf"+ + "\1\u00b9\1\u00c9\1\106\1\u010f\1\u00d1\1\121\1\u0114\1\u012f\1\u0137\1"+ + "\u01cf\1\134\1\u01de\1\152\1\u0165\1\u016c\1\u0083\1\u0098\1\u014e\1\u0127"+ + "\1\uffff\1\u0158\6\uffff\1\u00e8\1\u012a\1\u00f7\1\u014d\1\u0159\1\u00e7"+ + "\1\u00f6\1\u00c7\1\u00cf\1\110\1\122\1\u0110\1\u0115\14\uffff\1\u00ca"+ + "\1\u00d2\1\111\1\123\1\u0111\1\u0116\1\u01d1\1\u01df\1\132\1\153\2\uffff"+ + "\1\u0185\1\u01d4\1\u01e0\1\135\1\147\1\u0166\1\u016e\1\u0167\1\u016f\1"+ + "\u0085\1\u0099\1\u0086\1\u009a\1\uffff\1\u0186\1\u0187\1\u00e3\2\uffff"+ "\1\u00e4\2\uffff\1\u0107\1\u0108\1\u0080\2\uffff\1\u0081\2\uffff\1\u0124"+ "\1\u0125\3\uffff\1\u01c0\1\u01c6\1\176\2\uffff\1\177\2\uffff\1\u014c\1"+ - "\u0156\2\uffff\1\u0139\1\u00e2\1\u0143\2\uffff\1\4\1\u0182\1\23\1\u013a"+ - "\1\u0144\1\5\1\24\1\u008a\1\u009b\4\uffff\1\u0083\1\u009e\1\uffff\1\u00e5"+ - "\1\u00e6\3\uffff\1\u0119\1\u011a\2\uffff\1\u0193\1\u017a\1\u01a3\1\u0194"+ - "\1\u01a4\1\u0150\1\u015a\1\u014d\1\u015b\6\uffff\1\u00a9\1\u00aa\20\uffff"+ - "\1\0\2\uffff\1\u01b8\1\u00b3\1\u01c1\1\u00ba\1\u0130\1\u013b\1\u01ce\1"+ - "\141\1\u01e1\1\154\1\u0168\1\u0170\1\u008e\1\u009f\1\u01d5\1\142\1\u01e2"+ - "\1\160\1\u00c5\1\112\1\u01ca\1\u00d4\1\124\1\u01cb\7\uffff\1\u0148\1\u0149"+ + "\u0156\2\uffff\1\u0138\1\u00e2\1\u0143\2\uffff\1\5\1\u0182\1\24\1\u0139"+ + "\1\u0144\1\4\1\23\1\u008b\1\u009f\4\uffff\1\u008d\1\u00a1\1\uffff\1\u00e5"+ + "\1\u00e6\3\uffff\1\u0119\1\u011a\2\uffff\1\u0194\1\u017a\1\u01a2\1\u0195"+ + "\1\u01a3\1\u014f\1\u0157\1\u0150\1\u015a\6\uffff\1\u00a9\1\u00aa\20\uffff"+ + "\1\0\2\uffff\1\u01b8\1\u00b3\1\u01c1\1\u00ba\1\u0130\1\u013a\1\u01d6\1"+ + "\140\1\u01e1\1\157\1\u0168\1\u0170\1\u008e\1\u0095\1\u01d7\1\141\1\u01e2"+ + "\1\160\1\u00cc\1\112\1\u01ca\1\u00d3\1\124\1\u01cb\7\uffff\1\u0148\1\u0149"+ "\1\u00ce\3\uffff\1\u00db\1\67\1\u018f\2\uffff\1\u0105\1\u0106\3\uffff"+ "\1\u0178\1\u0179\1\64\2\uffff\1\u011f\1\u0121\7\uffff\1\u01ed\1\u01ef"+ - "\2\uffff\1\u0090\1\u00a2\1\u0092\1\u00a5\5\uffff\1\u00d8\1\u00d9\2\uffff"+ - "\1\u00e0\1\uffff\1\u0180\1\u0181\7\uffff\1\u0151\1\uffff\1\u0157\1\uffff"+ - "\1\u00ea\1\u00f9\2\uffff\1\114\16\uffff\1\104\2\uffff\1\u01b9\1\u00b4"+ - "\1\u01c2\1\u00bb\1\u0131\1\u013f\1\u01d6\1\144\1\u01e4\1\161\1\u0169\1"+ - "\u0171\1\u008f\1\u00a6\1\u01d8\1\145\1\u01e6\1\162\1\u00cc\1\115\1\62"+ - "\1\u00cf\1\125\1\63\4\uffff\1\u00eb\1\u00fc\1\u00ef\1\u00fd\1\172\1\174"+ - "\1\6\1\25\1\173\1\175\1\7\1\27\3\uffff\1\u01b5\1\u01ba\1\u010b\3\uffff"+ - "\1\u011d\1\u00bf\1\44\2\uffff\1\u0132\1\u0140\3\uffff\1\u01dc\1\u01eb"+ - "\1\u00ab\2\uffff\1\u017b\1\u017c\2\uffff\1\u01f6\4\uffff\1\73\1\75\1\3"+ - "\1\22\2\uffff\1\u018c\1\u018d\3\uffff\1\u0087\1\u009d\2\uffff\1\u010c"+ - "\1\u010d\2\uffff\1\u0126\1\uffff\1\u0197\1\u01a8\2\uffff\1\u012b\1\u012c"+ - "\5\uffff\1\u0152\1\uffff\1\u015c\1\uffff\1\u00f1\1\u00fe\1\u0192\1\u01a2"+ - "\1\u0198\1\u01aa\2\uffff\1\u00dc\15\uffff\1\2\2\uffff\1\u01bb\1\u00b5"+ - "\1\u01c3\1\u00bc\1\u0133\1\u0141\1\u01da\1\134\1\u01e9\1\164\1\u0163\1"+ - "\u0172\1\u0093\1\u0099\1\u01d7\1\137\1\u01e7\1\163\1\u00cd\1\116\1\u01cc"+ - "\1\u00d5\1\126\1\u01cd\4\uffff\1\u00f2\1\u0102\1\u00f3\1\u0103\1\54\1"+ - "\56\1\15\1\30\1\55\1\57\1\16\1\34\3\uffff\1\60\1\61\1\u0160\3\uffff\1"+ + "\2\uffff\1\u0092\1\u00a4\1\u0094\1\u00a5\5\uffff\1\u00d8\1\u00d9\2\uffff"+ + "\1\u00e0\1\uffff\1\u0180\1\u0181\7\uffff\1\u0151\1\uffff\1\u015b\1\uffff"+ + "\1\u00ec\1\u00f8\2\uffff\1\113\16\uffff\1\104\2\uffff\1\u01b9\1\u00b4"+ + "\1\u01c2\1\u00bb\1\u0131\1\u013b\1\u01d8\1\142\1\u01e5\1\161\1\u0169\1"+ + "\u0171\1\u0088\1\u009d\1\u01d9\1\146\1\u01e7\1\163\1\u00cd\1\114\1\62"+ + "\1\u00d4\1\125\1\63\4\uffff\1\u00ee\1\u00f9\1\u00ef\1\u00fa\1\172\1\174"+ + "\1\6\1\26\1\173\1\175\1\10\1\31\3\uffff\1\u01b5\1\u01ba\1\u010b\3\uffff"+ + "\1\u011d\1\u00bf\1\44\2\uffff\1\u0132\1\u013d\3\uffff\1\u01dc\1\u01eb"+ + "\1\u00ab\2\uffff\1\u017b\1\u017c\2\uffff\1\u01f6\4\uffff\1\73\1\75\1\13"+ + "\1\22\2\uffff\1\u018c\1\u018d\3\uffff\1\u0089\1\u00a0\2\uffff\1\u010c"+ + "\1\u010d\2\uffff\1\u0126\1\uffff\1\u0193\1\u01a5\2\uffff\1\u012b\1\u012c"+ + "\5\uffff\1\u0152\1\uffff\1\u015d\1\uffff\1\u00f1\1\u00fc\1\u0196\1\u01a6"+ + "\1\u0192\1\u01a7\2\uffff\1\u00dc\15\uffff\1\2\2\uffff\1\u01bb\1\u00b5"+ + "\1\u01c3\1\u00bc\1\u0133\1\u0141\1\u01ce\1\136\1\u01e8\1\155\1\u016a\1"+ + "\u0172\1\u0093\1\u00a6\1\u01db\1\131\1\u01ea\1\162\1\u00c6\1\116\1\u01cc"+ + "\1\u00d5\1\126\1\u01cd\4\uffff\1\u00f2\1\u00fe\1\u00f4\1\u0100\1\54\1"+ + "\56\1\14\1\32\1\55\1\57\1\15\1\34\3\uffff\1\60\1\61\1\u0160\3\uffff\1"+ "\u0175\1\u010a\1\167\2\uffff\1\u01b1\1\u01b2\3\uffff\1\70\1\72\1\u0109"+ - "\2\uffff\1\u01f0\1\u01f2\2\uffff\1\77\4\uffff\1\u00c3\1\u00c4\1\17\1\36"+ - "\2\uffff\1\41\1\42\3\uffff\1\u0088\1\u00a4\2\uffff\1\u0161\1\u0162\2\uffff"+ - "\1\u0188\1\uffff\1\u0199\1\u01ab\2\uffff\1\u0190\1\u0191\4\uffff\1\u0153"+ - "\1\uffff\1\u015d\1\uffff\1\u00f4\1\u0104\1\u019a\1\u01ad\1\u019e\1\u01ae"+ + "\2\uffff\1\u01f0\1\u01f2\2\uffff\1\77\4\uffff\1\u00c3\1\u00c4\1\3\1\36"+ + "\2\uffff\1\41\1\42\3\uffff\1\u008c\1\u009e\2\uffff\1\u0161\1\u0162\2\uffff"+ + "\1\u0188\1\uffff\1\u0198\1\u01a9\2\uffff\1\u0190\1\u0191\4\uffff\1\u0153"+ + "\1\uffff\1\u015e\1\uffff\1\u00f5\1\u0102\1\u019b\1\u01ad\1\u019c\1\u01a8"+ "\2\uffff\1\u011e\13\uffff\1\u0082\2\uffff\1\u01bc\1\u00b6\1\u01c4\1\u00bd"+ - "\1\u0134\1\u0142\1\u01d3\1\143\1\u01e8\1\157\1\u016a\1\u0173\1\u0094\1"+ - "\u009c\1\u01db\1\140\1\u01e5\1\152\1\u00cb\1\117\1\102\1\u00d6\1\127\1"+ - "\103\4\uffff\1\u00ed\1\u00fb\1\u00e9\1\u0101\1\u00ad\1\u00af\1\20\1\26"+ - "\1\u00ae\1\u00b0\1\12\1\37\2\uffff\1\u01c7\1\u01c8\1\u0118\2\uffff\1\u0120"+ + "\1\u0134\1\u0142\1\u01d5\1\137\1\u01e6\1\164\1\u0163\1\u0173\1\u008f\1"+ + "\u00a2\1\u01da\1\144\1\u01e3\1\151\1\u00cb\1\117\1\102\1\u00d6\1\127\1"+ + "\103\4\uffff\1\u00ed\1\u00fb\1\u00e9\1\u0104\1\u00ad\1\u00af\1\21\1\37"+ + "\1\u00ae\1\u00b0\1\17\1\25\2\uffff\1\u01c7\1\u01c8\1\u0118\2\uffff\1\u0120"+ "\1\u00c2\1\53\1\uffff\1\u014a\1\u014b\2\uffff\1\u01f4\1\u01f5\1\u00c0"+ - "\1\uffff\1\u017e\1\u017f\2\uffff\1\u00da\3\uffff\1\100\1\101\1\13\1\40"+ - "\2\uffff\1\165\1\166\2\uffff\1\u008c\1\u00a0\1\uffff\1\u011b\1\u011c\1"+ - "\uffff\1\u0128\1\uffff\1\u01a0\1\u01af\2\uffff\1\50\1\52\2\uffff\1\u0154"+ - "\1\uffff\1\u015e\1\uffff\1\u00ee\1\u00fa\1\u019b\1\u01ac\1\u019d\1\u01b0"+ - "\1\uffff\1\u00dd\1\u01bd\1\u00b7\1\u01c5\1\u00be\1\u0135\1\u0138\1\u01d9"+ - "\1\135\1\u01ea\1\155\1\u016b\1\u0174\1\u008d\1\u00a1\1\u01d1\1\146\1\u01e3"+ - "\1\156\1\u00c8\1\113\1\u0112\1\u00d7\1\130\1\u0117\1\u00f0\1\u00ff\1\u00f5"+ - "\1\u0100\1\u013c\1\u0145\1\14\1\33\1\u013e\1\u0146\1\21\1\35\1\74\1\76"+ + "\1\uffff\1\u017e\1\u017f\2\uffff\1\u00da\3\uffff\1\100\1\101\1\7\1\33"+ + "\2\uffff\1\165\1\166\2\uffff\1\u0090\1\u0097\1\uffff\1\u011b\1\u011c\1"+ + "\uffff\1\u0128\1\uffff\1\u019f\1\u01ab\2\uffff\1\50\1\52\2\uffff\1\u0154"+ + "\1\uffff\1\u015f\1\uffff\1\u00ea\1\u00ff\1\u0199\1\u01ae\1\u019a\1\u01ac"+ + "\1\uffff\1\u00dd\1\u01bd\1\u00b7\1\u01c5\1\u00be\1\u0135\1\u013c\1\u01d2"+ + "\1\145\1\u01e4\1\156\1\u016b\1\u0174\1\u008a\1\u009b\1\u01d3\1\143\1\u01e9"+ + "\1\154\1\u00c5\1\115\1\u0112\1\u00d7\1\130\1\u0117\1\u00f3\1\u00fd\1\u00f0"+ + "\1\u0101\1\u013f\1\u0145\1\11\1\35\1\u0140\1\u0146\1\12\1\30\1\74\1\76"+ "\1\u0189\1\u018e\1\u0123\1\u00ac\1\u01f1\1\u01f3\1\170\1\171\1\u0122\1"+ - "\47\1\51\1\uffff\1\105\2\uffff\1\u00de\1\u00df\1\11\1\31\1\uffff\1\45"+ - "\1\46\1\uffff\1\u008b\1\u0098\1\u018a\1\u018b\1\u01c9\1\uffff\1\u0195"+ - "\1\u01a9\1\uffff\1\u01b3\1\u01b4\1\u0155\1\u015f\1\u00ec\1\u00f8\1\u0196"+ - "\1\u01a7\1\u019c\1\u01a5\1\u0129\1\u00e1\1\u013d\1\u0147\1\10\1\32\1\u00a7"+ - "\1\u00a8\1\u0091\1\u00a3\1\u019f\1\u01a6\1\65\1\66}>"; + "\47\1\51\1\uffff\1\105\2\uffff\1\u00de\1\u00df\1\16\1\27\1\uffff\1\45"+ + "\1\46\1\uffff\1\u0087\1\u00a3\1\u018a\1\u018b\1\u01c9\1\uffff\1\u01a0"+ + "\1\u01a4\1\uffff\1\u01b3\1\u01b4\1\u0155\1\u015c\1\u00eb\1\u0103\1\u019d"+ + "\1\u01af\1\u019e\1\u01aa\1\u0129\1\u00e1\1\u013e\1\u0147\1\20\1\40\1\u00a7"+ + "\1\u00a8\1\u0091\1\u009c\1\u0197\1\u01b0\1\65\1\66}>"; static final String[] DFA193_transitionS = { "\1\27\7\uffff\1\14\23\uffff\2\14\1\20\1\15\1\16\2\14\1\26\1\22\1\14\1"+ "\25\1\14\1\21\2\14\1\17\1\14\1\23\1\24\7\14\1\uffff\1\2\2\uffff\1\14"+ @@ -14142,7 +14142,7 @@ public DFA193(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "2080:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)"; + return "2085:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)"; } @Override public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { @@ -14161,7 +14161,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_259); if ( s>=0 ) return s; break; - case 1 : int LA193_63 = input.LA(1); s = -1; @@ -14175,7 +14174,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_63=='5'||LA193_63=='7') ) {s = 190;} if ( s>=0 ) return s; break; - case 2 : int LA193_508 = input.LA(1); @@ -14188,46 +14186,42 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_508); if ( s>=0 ) return s; break; - case 3 : - int LA193_452 = input.LA(1); + int LA193_586 = input.LA(1); - int index193_452 = input.index(); + int index193_586 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_452); + input.seek(index193_586); if ( s>=0 ) return s; break; - case 4 : - int LA193_201 = input.LA(1); + int LA193_206 = input.LA(1); - int index193_201 = input.index(); + int index193_206 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_201); + input.seek(index193_206); if ( s>=0 ) return s; break; - case 5 : - int LA193_206 = input.LA(1); + int LA193_201 = input.LA(1); - int index193_206 = input.index(); + int index193_201 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_206); + input.seek(index193_201); if ( s>=0 ) return s; break; - case 6 : int LA193_411 = input.LA(1); @@ -14240,150 +14234,138 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_411); if ( s>=0 ) return s; break; - case 7 : - int LA193_415 = input.LA(1); + int LA193_711 = input.LA(1); - int index193_415 = input.index(); + int index193_711 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_415); + input.seek(index193_711); if ( s>=0 ) return s; break; - case 8 : - int LA193_831 = input.LA(1); + int LA193_415 = input.LA(1); - int index193_831 = input.index(); + int index193_415 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_831); + input.seek(index193_415); if ( s>=0 ) return s; break; - case 9 : - int LA193_802 = input.LA(1); + int LA193_777 = input.LA(1); - int index193_802 = input.index(); + int index193_777 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_802); + input.seek(index193_777); if ( s>=0 ) return s; break; - case 10 : - int LA193_680 = input.LA(1); + int LA193_781 = input.LA(1); - int index193_680 = input.index(); + int index193_781 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_680); + input.seek(index193_781); if ( s>=0 ) return s; break; - case 11 : - int LA193_711 = input.LA(1); + int LA193_452 = input.LA(1); - int index193_711 = input.index(); + int index193_452 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_711); + input.seek(index193_452); if ( s>=0 ) return s; break; - case 12 : - int LA193_777 = input.LA(1); + int LA193_545 = input.LA(1); - int index193_777 = input.index(); + int index193_545 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_777); + input.seek(index193_545); if ( s>=0 ) return s; break; - case 13 : - int LA193_545 = input.LA(1); + int LA193_549 = input.LA(1); - int index193_545 = input.index(); + int index193_549 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_545); + input.seek(index193_549); if ( s>=0 ) return s; break; - case 14 : - int LA193_549 = input.LA(1); + int LA193_802 = input.LA(1); - int index193_549 = input.index(); + int index193_802 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_549); + input.seek(index193_802); if ( s>=0 ) return s; break; - case 15 : - int LA193_586 = input.LA(1); + int LA193_680 = input.LA(1); - int index193_586 = input.index(); + int index193_680 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_586); + input.seek(index193_680); if ( s>=0 ) return s; break; - case 16 : - int LA193_676 = input.LA(1); + int LA193_831 = input.LA(1); - int index193_676 = input.index(); + int index193_831 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_676); + input.seek(index193_831); if ( s>=0 ) return s; break; - case 17 : - int LA193_781 = input.LA(1); + int LA193_676 = input.LA(1); - int index193_781 = input.index(); + int index193_676 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_781); + input.seek(index193_676); if ( s>=0 ) return s; break; - case 18 : int LA193_453 = input.LA(1); @@ -14396,124 +14378,114 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_453); if ( s>=0 ) return s; break; - case 19 : - int LA193_203 = input.LA(1); + int LA193_207 = input.LA(1); - int index193_203 = input.index(); + int index193_207 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_203); + input.seek(index193_207); if ( s>=0 ) return s; break; - case 20 : - int LA193_207 = input.LA(1); + int LA193_203 = input.LA(1); - int index193_207 = input.index(); + int index193_203 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_207); + input.seek(index193_203); if ( s>=0 ) return s; break; - case 21 : - int LA193_412 = input.LA(1); + int LA193_681 = input.LA(1); - int index193_412 = input.index(); + int index193_681 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_412); + input.seek(index193_681); if ( s>=0 ) return s; break; - case 22 : - int LA193_677 = input.LA(1); + int LA193_412 = input.LA(1); - int index193_677 = input.index(); + int index193_412 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_677); + input.seek(index193_412); if ( s>=0 ) return s; break; - case 23 : - int LA193_416 = input.LA(1); + int LA193_803 = input.LA(1); - int index193_416 = input.index(); + int index193_803 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_416); + input.seek(index193_803); if ( s>=0 ) return s; break; - case 24 : - int LA193_546 = input.LA(1); + int LA193_782 = input.LA(1); - int index193_546 = input.index(); + int index193_782 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_546); + input.seek(index193_782); if ( s>=0 ) return s; break; - case 25 : - int LA193_803 = input.LA(1); + int LA193_416 = input.LA(1); - int index193_803 = input.index(); + int index193_416 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_803); + input.seek(index193_416); if ( s>=0 ) return s; break; - case 26 : - int LA193_832 = input.LA(1); + int LA193_546 = input.LA(1); - int index193_832 = input.index(); + int index193_546 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_832); + input.seek(index193_546); if ( s>=0 ) return s; break; - case 27 : - int LA193_778 = input.LA(1); + int LA193_712 = input.LA(1); - int index193_778 = input.index(); + int index193_712 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_778); + input.seek(index193_712); if ( s>=0 ) return s; break; - case 28 : int LA193_550 = input.LA(1); @@ -14526,20 +14498,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_550); if ( s>=0 ) return s; break; - case 29 : - int LA193_782 = input.LA(1); + int LA193_778 = input.LA(1); - int index193_782 = input.index(); + int index193_778 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_782); + input.seek(index193_778); if ( s>=0 ) return s; break; - case 30 : int LA193_587 = input.LA(1); @@ -14552,33 +14522,30 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_587); if ( s>=0 ) return s; break; - case 31 : - int LA193_681 = input.LA(1); + int LA193_677 = input.LA(1); - int index193_681 = input.index(); + int index193_677 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_681); + input.seek(index193_677); if ( s>=0 ) return s; break; - case 32 : - int LA193_712 = input.LA(1); + int LA193_832 = input.LA(1); - int index193_712 = input.index(); + int index193_832 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_712); + input.seek(index193_832); if ( s>=0 ) return s; break; - case 33 : int LA193_590 = input.LA(1); @@ -14591,7 +14558,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_590); if ( s>=0 ) return s; break; - case 34 : int LA193_591 = input.LA(1); @@ -14604,7 +14570,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_591); if ( s>=0 ) return s; break; - case 35 : int LA193_71 = input.LA(1); s = -1; @@ -14613,7 +14578,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_71=='4'||LA193_71=='6') ) {s = 200;} if ( s>=0 ) return s; break; - case 36 : int LA193_428 = input.LA(1); @@ -14626,7 +14590,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_428); if ( s>=0 ) return s; break; - case 37 : int LA193_805 = input.LA(1); @@ -14639,7 +14602,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_805); if ( s>=0 ) return s; break; - case 38 : int LA193_806 = input.LA(1); @@ -14652,7 +14614,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_806); if ( s>=0 ) return s; break; - case 39 : int LA193_794 = input.LA(1); @@ -14665,7 +14626,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_794); if ( s>=0 ) return s; break; - case 40 : int LA193_731 = input.LA(1); @@ -14678,7 +14638,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_731); if ( s>=0 ) return s; break; - case 41 : int LA193_795 = input.LA(1); @@ -14691,7 +14650,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_795); if ( s>=0 ) return s; break; - case 42 : int LA193_732 = input.LA(1); @@ -14704,7 +14662,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_732); if ( s>=0 ) return s; break; - case 43 : int LA193_691 = input.LA(1); @@ -14717,7 +14674,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_691); if ( s>=0 ) return s; break; - case 44 : int LA193_543 = input.LA(1); @@ -14730,7 +14686,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_543); if ( s>=0 ) return s; break; - case 45 : int LA193_547 = input.LA(1); @@ -14743,7 +14698,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_547); if ( s>=0 ) return s; break; - case 46 : int LA193_544 = input.LA(1); @@ -14756,7 +14710,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_544); if ( s>=0 ) return s; break; - case 47 : int LA193_548 = input.LA(1); @@ -14769,7 +14722,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_548); if ( s>=0 ) return s; break; - case 48 : int LA193_554 = input.LA(1); @@ -14782,7 +14734,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_554); if ( s>=0 ) return s; break; - case 49 : int LA193_555 = input.LA(1); @@ -14795,7 +14746,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_555); if ( s>=0 ) return s; break; - case 50 : int LA193_397 = input.LA(1); @@ -14808,7 +14758,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_397); if ( s>=0 ) return s; break; - case 51 : int LA193_400 = input.LA(1); @@ -14821,7 +14770,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_400); if ( s>=0 ) return s; break; - case 52 : int LA193_311 = input.LA(1); @@ -14834,7 +14782,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_311); if ( s>=0 ) return s; break; - case 53 : int LA193_839 = input.LA(1); @@ -14847,7 +14794,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_839); if ( s>=0 ) return s; break; - case 54 : int LA193_840 = input.LA(1); @@ -14860,7 +14806,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_840); if ( s>=0 ) return s; break; - case 55 : int LA193_300 = input.LA(1); @@ -14873,7 +14818,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_300); if ( s>=0 ) return s; break; - case 56 : int LA193_570 = input.LA(1); @@ -14886,7 +14830,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_570); if ( s>=0 ) return s; break; - case 57 : int LA193_26 = input.LA(1); s = -1; @@ -14898,7 +14841,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_26=='4'||LA193_26=='6') ) {s = 111;} if ( s>=0 ) return s; break; - case 58 : int LA193_571 = input.LA(1); @@ -14911,7 +14853,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_571); if ( s>=0 ) return s; break; - case 59 : int LA193_450 = input.LA(1); @@ -14924,7 +14865,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_450); if ( s>=0 ) return s; break; - case 60 : int LA193_783 = input.LA(1); @@ -14937,7 +14877,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_783); if ( s>=0 ) return s; break; - case 61 : int LA193_451 = input.LA(1); @@ -14950,7 +14889,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_451); if ( s>=0 ) return s; break; - case 62 : int LA193_784 = input.LA(1); @@ -14963,7 +14901,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_784); if ( s>=0 ) return s; break; - case 63 : int LA193_579 = input.LA(1); @@ -14976,7 +14913,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_579); if ( s>=0 ) return s; break; - case 64 : int LA193_709 = input.LA(1); @@ -14989,7 +14925,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_709); if ( s>=0 ) return s; break; - case 65 : int LA193_710 = input.LA(1); @@ -15002,7 +14937,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_710); if ( s>=0 ) return s; break; - case 66 : int LA193_662 = input.LA(1); @@ -15015,7 +14949,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_662); if ( s>=0 ) return s; break; - case 67 : int LA193_665 = input.LA(1); @@ -15028,7 +14961,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_665); if ( s>=0 ) return s; break; - case 68 : int LA193_374 = input.LA(1); @@ -15041,7 +14973,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_374); if ( s>=0 ) return s; break; - case 69 : int LA193_797 = input.LA(1); @@ -15054,59 +14985,54 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_797); if ( s>=0 ) return s; break; - case 70 : - int LA193_139 = input.LA(1); + int LA193_87 = input.LA(1); - int index193_139 = input.index(); + int index193_87 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_139); + input.seek(index193_87); if ( s>=0 ) return s; break; - case 71 : - int LA193_121 = input.LA(1); + int LA193_54 = input.LA(1); - int index193_121 = input.index(); + int index193_54 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_121); + input.seek(index193_54); if ( s>=0 ) return s; break; - case 72 : - int LA193_54 = input.LA(1); + int LA193_121 = input.LA(1); - int index193_54 = input.index(); + int index193_121 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_54); + input.seek(index193_121); if ( s>=0 ) return s; break; - case 73 : - int LA193_87 = input.LA(1); + int LA193_139 = input.LA(1); - int index193_87 = input.index(); + int index193_139 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_87); + input.seek(index193_139); if ( s>=0 ) return s; break; - case 74 : int LA193_281 = input.LA(1); @@ -15119,46 +15045,42 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_281); if ( s>=0 ) return s; break; - case 75 : - int LA193_766 = input.LA(1); + int LA193_359 = input.LA(1); - int index193_766 = input.index(); + int index193_359 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_766); + input.seek(index193_359); if ( s>=0 ) return s; break; - case 76 : - int LA193_359 = input.LA(1); + int LA193_396 = input.LA(1); - int index193_359 = input.index(); + int index193_396 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_359); + input.seek(index193_396); if ( s>=0 ) return s; break; - case 77 : - int LA193_396 = input.LA(1); + int LA193_766 = input.LA(1); - int index193_396 = input.index(); + int index193_766 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_396); + input.seek(index193_766); if ( s>=0 ) return s; break; - case 78 : int LA193_530 = input.LA(1); @@ -15171,7 +15093,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_530); if ( s>=0 ) return s; break; - case 79 : int LA193_661 = input.LA(1); @@ -15184,7 +15105,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_661); if ( s>=0 ) return s; break; - case 80 : int LA193_57 = input.LA(1); @@ -15197,7 +15117,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_57); if ( s>=0 ) return s; break; - case 81 : int LA193_90 = input.LA(1); @@ -15210,7 +15129,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_90); if ( s>=0 ) return s; break; - case 82 : int LA193_122 = input.LA(1); @@ -15223,7 +15141,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_122); if ( s>=0 ) return s; break; - case 83 : int LA193_140 = input.LA(1); @@ -15236,7 +15153,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_140); if ( s>=0 ) return s; break; - case 84 : int LA193_284 = input.LA(1); @@ -15249,7 +15165,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_284); if ( s>=0 ) return s; break; - case 85 : int LA193_399 = input.LA(1); @@ -15262,7 +15177,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_399); if ( s>=0 ) return s; break; - case 86 : int LA193_533 = input.LA(1); @@ -15275,7 +15189,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_533); if ( s>=0 ) return s; break; - case 87 : int LA193_664 = input.LA(1); @@ -15288,7 +15201,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_664); if ( s>=0 ) return s; break; - case 88 : int LA193_769 = input.LA(1); @@ -15301,20 +15213,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_769); if ( s>=0 ) return s; break; - case 89 : - int LA193_152 = input.LA(1); + int LA193_526 = input.LA(1); - int index193_152 = input.index(); + int index193_526 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_152); + input.seek(index193_526); if ( s>=0 ) return s; break; - case 90 : int LA193_145 = input.LA(1); @@ -15327,7 +15237,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_145); if ( s>=0 ) return s; break; - case 91 : int LA193_64 = input.LA(1); @@ -15340,163 +15249,150 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_64); if ( s>=0 ) return s; break; - case 92 : - int LA193_518 = input.LA(1); + int LA193_95 = input.LA(1); - int index193_518 = input.index(); + int index193_95 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_518); + input.seek(index193_95); if ( s>=0 ) return s; break; - case 93 : - int LA193_754 = input.LA(1); + int LA193_152 = input.LA(1); - int index193_754 = input.index(); + int index193_152 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_754); + input.seek(index193_152); if ( s>=0 ) return s; break; - case 94 : - int LA193_95 = input.LA(1); + int LA193_518 = input.LA(1); - int index193_95 = input.index(); + int index193_518 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_95); + input.seek(index193_518); if ( s>=0 ) return s; break; - case 95 : - int LA193_526 = input.LA(1); + int LA193_649 = input.LA(1); - int index193_526 = input.index(); + int index193_649 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_526); + input.seek(index193_649); if ( s>=0 ) return s; break; - case 96 : - int LA193_657 = input.LA(1); + int LA193_269 = input.LA(1); - int index193_657 = input.index(); + int index193_269 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_657); + input.seek(index193_269); if ( s>=0 ) return s; break; - case 97 : - int LA193_269 = input.LA(1); + int LA193_277 = input.LA(1); - int index193_269 = input.index(); + int index193_277 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_269); + input.seek(index193_277); if ( s>=0 ) return s; break; - case 98 : - int LA193_277 = input.LA(1); + int LA193_384 = input.LA(1); - int index193_277 = input.index(); + int index193_384 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_277); + input.seek(index193_384); if ( s>=0 ) return s; break; - case 99 : - int LA193_649 = input.LA(1); + int LA193_762 = input.LA(1); - int index193_649 = input.index(); + int index193_762 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_649); + input.seek(index193_762); if ( s>=0 ) return s; break; - case 100 : - int LA193_384 = input.LA(1); + int LA193_657 = input.LA(1); - int index193_384 = input.index(); + int index193_657 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_384); + input.seek(index193_657); if ( s>=0 ) return s; break; - case 101 : - int LA193_392 = input.LA(1); + int LA193_754 = input.LA(1); - int index193_392 = input.index(); + int index193_754 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_392); + input.seek(index193_754); if ( s>=0 ) return s; break; - case 102 : - int LA193_762 = input.LA(1); + int LA193_392 = input.LA(1); - int index193_762 = input.index(); + int index193_392 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_762); + input.seek(index193_392); if ( s>=0 ) return s; break; - case 103 : - int LA193_97 = input.LA(1); + int LA193_153 = input.LA(1); - int index193_97 = input.index(); + int index193_153 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_97); + input.seek(index193_153); if ( s>=0 ) return s; break; - case 104 : int LA193_66 = input.LA(1); @@ -15509,98 +15405,90 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_66); if ( s>=0 ) return s; break; - case 105 : - int LA193_146 = input.LA(1); + int LA193_659 = input.LA(1); - int index193_146 = input.index(); + int index193_659 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_146); + input.seek(index193_659); if ( s>=0 ) return s; break; - case 106 : - int LA193_659 = input.LA(1); + int LA193_97 = input.LA(1); - int index193_659 = input.index(); + int index193_97 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_659); + input.seek(index193_97); if ( s>=0 ) return s; break; - case 107 : - int LA193_153 = input.LA(1); + int LA193_146 = input.LA(1); - int index193_153 = input.index(); + int index193_146 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_153); + input.seek(index193_146); if ( s>=0 ) return s; break; - case 108 : - int LA193_271 = input.LA(1); + int LA193_764 = input.LA(1); - int index193_271 = input.index(); + int index193_764 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_271); + input.seek(index193_764); if ( s>=0 ) return s; break; - case 109 : - int LA193_756 = input.LA(1); + int LA193_520 = input.LA(1); - int index193_756 = input.index(); + int index193_520 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_756); + input.seek(index193_520); if ( s>=0 ) return s; break; - case 110 : - int LA193_764 = input.LA(1); + int LA193_756 = input.LA(1); - int index193_764 = input.index(); + int index193_756 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_764); + input.seek(index193_756); if ( s>=0 ) return s; break; - case 111 : - int LA193_651 = input.LA(1); + int LA193_271 = input.LA(1); - int index193_651 = input.index(); + int index193_271 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_651); + input.seek(index193_271); if ( s>=0 ) return s; break; - case 112 : int LA193_279 = input.LA(1); @@ -15613,7 +15501,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_279); if ( s>=0 ) return s; break; - case 113 : int LA193_386 = input.LA(1); @@ -15626,46 +15513,42 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_386); if ( s>=0 ) return s; break; - case 114 : - int LA193_394 = input.LA(1); + int LA193_528 = input.LA(1); - int index193_394 = input.index(); + int index193_528 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_394); + input.seek(index193_528); if ( s>=0 ) return s; break; - case 115 : - int LA193_528 = input.LA(1); + int LA193_394 = input.LA(1); - int index193_528 = input.index(); + int index193_394 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_528); + input.seek(index193_394); if ( s>=0 ) return s; break; - case 116 : - int LA193_520 = input.LA(1); + int LA193_651 = input.LA(1); - int index193_520 = input.index(); + int index193_651 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_520); + input.seek(index193_651); if ( s>=0 ) return s; break; - case 117 : int LA193_715 = input.LA(1); @@ -15678,7 +15561,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_715); if ( s>=0 ) return s; break; - case 118 : int LA193_716 = input.LA(1); @@ -15691,7 +15573,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_716); if ( s>=0 ) return s; break; - case 119 : int LA193_562 = input.LA(1); @@ -15704,7 +15585,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_562); if ( s>=0 ) return s; break; - case 120 : int LA193_791 = input.LA(1); @@ -15717,7 +15597,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_791); if ( s>=0 ) return s; break; - case 121 : int LA193_792 = input.LA(1); @@ -15730,7 +15609,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_792); if ( s>=0 ) return s; break; - case 122 : int LA193_409 = input.LA(1); @@ -15743,7 +15621,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_409); if ( s>=0 ) return s; break; - case 123 : int LA193_413 = input.LA(1); @@ -15756,7 +15633,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_413); if ( s>=0 ) return s; break; - case 124 : int LA193_410 = input.LA(1); @@ -15769,7 +15645,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_410); if ( s>=0 ) return s; break; - case 125 : int LA193_414 = input.LA(1); @@ -15782,7 +15657,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_414); if ( s>=0 ) return s; break; - case 126 : int LA193_186 = input.LA(1); @@ -15795,7 +15669,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_186); if ( s>=0 ) return s; break; - case 127 : int LA193_189 = input.LA(1); @@ -15808,7 +15681,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_189); if ( s>=0 ) return s; break; - case 128 : int LA193_173 = input.LA(1); @@ -15821,7 +15693,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_173); if ( s>=0 ) return s; break; - case 129 : int LA193_176 = input.LA(1); @@ -15834,7 +15705,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_176); if ( s>=0 ) return s; break; - case 130 : int LA193_639 = input.LA(1); @@ -15847,150 +15717,138 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_639); if ( s>=0 ) return s; break; - case 131 : - int LA193_214 = input.LA(1); + int LA193_100 = input.LA(1); - int index193_214 = input.index(); + int index193_100 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_214); + input.seek(index193_100); if ( s>=0 ) return s; break; - case 132 : - int LA193_100 = input.LA(1); + int LA193_79 = input.LA(1); - int index193_100 = input.index(); + int index193_79 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_100); + input.seek(index193_79); if ( s>=0 ) return s; break; - case 133 : - int LA193_79 = input.LA(1); + int LA193_158 = input.LA(1); - int index193_79 = input.index(); + int index193_158 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_79); + input.seek(index193_158); if ( s>=0 ) return s; break; - case 134 : - int LA193_158 = input.LA(1); + int LA193_160 = input.LA(1); - int index193_158 = input.index(); + int index193_160 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_158); + input.seek(index193_160); if ( s>=0 ) return s; break; - case 135 : - int LA193_461 = input.LA(1); + int LA193_808 = input.LA(1); - int index193_461 = input.index(); + int index193_808 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_461); + input.seek(index193_808); if ( s>=0 ) return s; break; - case 136 : - int LA193_595 = input.LA(1); + int LA193_389 = input.LA(1); - int index193_595 = input.index(); + int index193_389 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_595); + input.seek(index193_389); if ( s>=0 ) return s; break; - case 137 : - int LA193_160 = input.LA(1); + int LA193_461 = input.LA(1); - int index193_160 = input.index(); + int index193_461 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_160); + input.seek(index193_461); if ( s>=0 ) return s; break; - case 138 : - int LA193_208 = input.LA(1); + int LA193_759 = input.LA(1); - int index193_208 = input.index(); + int index193_759 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_208); + input.seek(index193_759); if ( s>=0 ) return s; break; - case 139 : - int LA193_808 = input.LA(1); + int LA193_208 = input.LA(1); - int index193_808 = input.index(); + int index193_208 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_808); + input.seek(index193_208); if ( s>=0 ) return s; break; - case 140 : - int LA193_719 = input.LA(1); + int LA193_595 = input.LA(1); - int index193_719 = input.index(); + int index193_595 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_719); + input.seek(index193_595); if ( s>=0 ) return s; break; - case 141 : - int LA193_759 = input.LA(1); + int LA193_214 = input.LA(1); - int index193_759 = input.index(); + int index193_214 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_759); + input.seek(index193_214); if ( s>=0 ) return s; break; - case 142 : int LA193_274 = input.LA(1); @@ -16003,33 +15861,30 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_274); if ( s>=0 ) return s; break; - case 143 : - int LA193_389 = input.LA(1); + int LA193_654 = input.LA(1); - int index193_389 = input.index(); + int index193_654 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_389); + input.seek(index193_654); if ( s>=0 ) return s; break; - case 144 : - int LA193_327 = input.LA(1); + int LA193_719 = input.LA(1); - int index193_327 = input.index(); + int index193_719 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_327); + input.seek(index193_719); if ( s>=0 ) return s; break; - case 145 : int LA193_835 = input.LA(1); @@ -16042,20 +15897,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_835); if ( s>=0 ) return s; break; - case 146 : - int LA193_329 = input.LA(1); + int LA193_327 = input.LA(1); - int index193_329 = input.index(); + int index193_327 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_329); + input.seek(index193_327); if ( s>=0 ) return s; break; - case 147 : int LA193_523 = input.LA(1); @@ -16068,85 +15921,78 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_523); if ( s>=0 ) return s; break; - case 148 : - int LA193_654 = input.LA(1); + int LA193_329 = input.LA(1); - int index193_654 = input.index(); + int index193_329 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_654); + input.seek(index193_329); if ( s>=0 ) return s; break; - case 149 : - int LA193_81 = input.LA(1); + int LA193_275 = input.LA(1); - int index193_81 = input.index(); + int index193_275 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_81); + input.seek(index193_275); if ( s>=0 ) return s; break; - case 150 : - int LA193_101 = input.LA(1); + int LA193_81 = input.LA(1); - int index193_101 = input.index(); + int index193_81 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_101); + input.seek(index193_81); if ( s>=0 ) return s; break; - case 151 : - int LA193_159 = input.LA(1); + int LA193_720 = input.LA(1); - int index193_159 = input.index(); + int index193_720 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_159); + input.seek(index193_720); if ( s>=0 ) return s; break; - case 152 : - int LA193_809 = input.LA(1); + int LA193_101 = input.LA(1); - int index193_809 = input.index(); + int index193_101 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_809); + input.seek(index193_101); if ( s>=0 ) return s; break; - case 153 : - int LA193_524 = input.LA(1); + int LA193_159 = input.LA(1); - int index193_524 = input.index(); + int index193_159 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_524); + input.seek(index193_159); if ( s>=0 ) return s; break; - case 154 : int LA193_161 = input.LA(1); @@ -16159,137 +16005,126 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_161); if ( s>=0 ) return s; break; - case 155 : - int LA193_209 = input.LA(1); + int LA193_760 = input.LA(1); - int index193_209 = input.index(); + int index193_760 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_209); + input.seek(index193_760); if ( s>=0 ) return s; break; - case 156 : - int LA193_655 = input.LA(1); + int LA193_836 = input.LA(1); - int index193_655 = input.index(); + int index193_836 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_655); + input.seek(index193_836); if ( s>=0 ) return s; break; - case 157 : - int LA193_462 = input.LA(1); + int LA193_390 = input.LA(1); - int index193_462 = input.index(); + int index193_390 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_462); + input.seek(index193_390); if ( s>=0 ) return s; break; - case 158 : - int LA193_215 = input.LA(1); + int LA193_596 = input.LA(1); - int index193_215 = input.index(); + int index193_596 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_215); + input.seek(index193_596); if ( s>=0 ) return s; break; - case 159 : - int LA193_275 = input.LA(1); + int LA193_209 = input.LA(1); - int index193_275 = input.index(); + int index193_209 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_275); + input.seek(index193_209); if ( s>=0 ) return s; break; - case 160 : - int LA193_720 = input.LA(1); + int LA193_462 = input.LA(1); - int index193_720 = input.index(); + int index193_462 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_720); + input.seek(index193_462); if ( s>=0 ) return s; break; - case 161 : - int LA193_760 = input.LA(1); + int LA193_215 = input.LA(1); - int index193_760 = input.index(); + int index193_215 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_760); + input.seek(index193_215); if ( s>=0 ) return s; break; - case 162 : - int LA193_328 = input.LA(1); + int LA193_655 = input.LA(1); - int index193_328 = input.index(); + int index193_655 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_328); + input.seek(index193_655); if ( s>=0 ) return s; break; - case 163 : - int LA193_836 = input.LA(1); + int LA193_809 = input.LA(1); - int index193_836 = input.index(); + int index193_809 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_836); + input.seek(index193_809); if ( s>=0 ) return s; break; - case 164 : - int LA193_596 = input.LA(1); + int LA193_328 = input.LA(1); - int index193_596 = input.index(); + int index193_328 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_596); + input.seek(index193_328); if ( s>=0 ) return s; break; - case 165 : int LA193_330 = input.LA(1); @@ -16302,20 +16137,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_330); if ( s>=0 ) return s; break; - case 166 : - int LA193_390 = input.LA(1); + int LA193_524 = input.LA(1); - int index193_390 = input.index(); + int index193_524 = input.index(); input.rewind(); s = -1; if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_390); + input.seek(index193_524); if ( s>=0 ) return s; break; - case 167 : int LA193_833 = input.LA(1); @@ -16328,7 +16161,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_833); if ( s>=0 ) return s; break; - case 168 : int LA193_834 = input.LA(1); @@ -16341,7 +16173,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_834); if ( s>=0 ) return s; break; - case 169 : int LA193_241 = input.LA(1); @@ -16354,7 +16185,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_241); if ( s>=0 ) return s; break; - case 170 : int LA193_242 = input.LA(1); @@ -16367,7 +16197,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_242); if ( s>=0 ) return s; break; - case 171 : int LA193_438 = input.LA(1); @@ -16380,7 +16209,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_438); if ( s>=0 ) return s; break; - case 172 : int LA193_788 = input.LA(1); @@ -16393,7 +16221,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_788); if ( s>=0 ) return s; break; - case 173 : int LA193_674 = input.LA(1); @@ -16406,7 +16233,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_674); if ( s>=0 ) return s; break; - case 174 : int LA193_678 = input.LA(1); @@ -16419,7 +16245,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_678); if ( s>=0 ) return s; break; - case 175 : int LA193_675 = input.LA(1); @@ -16432,7 +16257,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_675); if ( s>=0 ) return s; break; - case 176 : int LA193_679 = input.LA(1); @@ -16445,7 +16269,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_679); if ( s>=0 ) return s; break; - case 177 : int LA193_49 = input.LA(1); @@ -16458,7 +16281,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_49); if ( s>=0 ) return s; break; - case 178 : int LA193_83 = input.LA(1); @@ -16471,7 +16293,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_83); if ( s>=0 ) return s; break; - case 179 : int LA193_263 = input.LA(1); @@ -16484,7 +16305,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_263); if ( s>=0 ) return s; break; - case 180 : int LA193_378 = input.LA(1); @@ -16497,7 +16317,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_378); if ( s>=0 ) return s; break; - case 181 : int LA193_512 = input.LA(1); @@ -16510,7 +16329,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_512); if ( s>=0 ) return s; break; - case 182 : int LA193_643 = input.LA(1); @@ -16523,7 +16341,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_643); if ( s>=0 ) return s; break; - case 183 : int LA193_748 = input.LA(1); @@ -16536,7 +16353,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_748); if ( s>=0 ) return s; break; - case 184 : int LA193_51 = input.LA(1); @@ -16549,7 +16365,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_51); if ( s>=0 ) return s; break; - case 185 : int LA193_85 = input.LA(1); @@ -16562,7 +16377,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_85); if ( s>=0 ) return s; break; - case 186 : int LA193_265 = input.LA(1); @@ -16575,7 +16389,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_265); if ( s>=0 ) return s; break; - case 187 : int LA193_380 = input.LA(1); @@ -16588,7 +16401,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_380); if ( s>=0 ) return s; break; - case 188 : int LA193_514 = input.LA(1); @@ -16601,7 +16413,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_514); if ( s>=0 ) return s; break; - case 189 : int LA193_645 = input.LA(1); @@ -16614,7 +16425,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_645); if ( s>=0 ) return s; break; - case 190 : int LA193_750 = input.LA(1); @@ -16627,7 +16437,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_750); if ( s>=0 ) return s; break; - case 191 : int LA193_427 = input.LA(1); @@ -16640,7 +16449,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_427); if ( s>=0 ) return s; break; - case 192 : int LA193_699 = input.LA(1); @@ -16653,7 +16461,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_699); if ( s>=0 ) return s; break; - case 193 : int LA193_80 = input.LA(1); s = -1; @@ -16664,7 +16471,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_80=='5'||LA193_80=='7') ) {s = 220;} if ( s>=0 ) return s; break; - case 194 : int LA193_690 = input.LA(1); @@ -16677,7 +16483,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_690); if ( s>=0 ) return s; break; - case 195 : int LA193_584 = input.LA(1); @@ -16690,7 +16495,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_584); if ( s>=0 ) return s; break; - case 196 : int LA193_585 = input.LA(1); @@ -16703,72 +16507,66 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_585); if ( s>=0 ) return s; break; - case 197 : - int LA193_280 = input.LA(1); + int LA193_765 = input.LA(1); - int index193_280 = input.index(); + int index193_765 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_280); + input.seek(index193_765); if ( s>=0 ) return s; break; - case 198 : - int LA193_52 = input.LA(1); + int LA193_529 = input.LA(1); - int index193_52 = input.index(); + int index193_529 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_52); + input.seek(index193_529); if ( s>=0 ) return s; break; - case 199 : - int LA193_86 = input.LA(1); + int LA193_119 = input.LA(1); - int index193_86 = input.index(); + int index193_119 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_86); + input.seek(index193_119); if ( s>=0 ) return s; break; - case 200 : - int LA193_765 = input.LA(1); + int LA193_52 = input.LA(1); - int index193_765 = input.index(); + int index193_52 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_765); + input.seek(index193_52); if ( s>=0 ) return s; break; - case 201 : - int LA193_119 = input.LA(1); + int LA193_86 = input.LA(1); - int index193_119 = input.index(); + int index193_86 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_119); + input.seek(index193_86); if ( s>=0 ) return s; break; - case 202 : int LA193_137 = input.LA(1); @@ -16781,7 +16579,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_137); if ( s>=0 ) return s; break; - case 203 : int LA193_660 = input.LA(1); @@ -16794,33 +16591,30 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_660); if ( s>=0 ) return s; break; - case 204 : - int LA193_395 = input.LA(1); + int LA193_280 = input.LA(1); - int index193_395 = input.index(); + int index193_280 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_395); + input.seek(index193_280); if ( s>=0 ) return s; break; - case 205 : - int LA193_529 = input.LA(1); + int LA193_395 = input.LA(1); - int index193_529 = input.index(); + int index193_395 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_529); + input.seek(index193_395); if ( s>=0 ) return s; break; - case 206 : int LA193_295 = input.LA(1); @@ -16833,20 +16627,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_295); if ( s>=0 ) return s; break; - case 207 : - int LA193_398 = input.LA(1); + int LA193_120 = input.LA(1); - int index193_398 = input.index(); + int index193_120 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_398); + input.seek(index193_120); if ( s>=0 ) return s; break; - case 208 : int LA193_56 = input.LA(1); @@ -16859,7 +16651,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_56); if ( s>=0 ) return s; break; - case 209 : int LA193_89 = input.LA(1); @@ -16872,46 +16663,42 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_89); if ( s>=0 ) return s; break; - case 210 : - int LA193_120 = input.LA(1); + int LA193_138 = input.LA(1); - int index193_120 = input.index(); + int index193_138 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_120); + input.seek(index193_138); if ( s>=0 ) return s; break; - case 211 : - int LA193_138 = input.LA(1); + int LA193_283 = input.LA(1); - int index193_138 = input.index(); + int index193_283 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_138); + input.seek(index193_283); if ( s>=0 ) return s; break; - case 212 : - int LA193_283 = input.LA(1); + int LA193_398 = input.LA(1); - int index193_283 = input.index(); + int index193_398 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_283); + input.seek(index193_398); if ( s>=0 ) return s; break; - case 213 : int LA193_532 = input.LA(1); @@ -16924,7 +16711,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_532); if ( s>=0 ) return s; break; - case 214 : int LA193_663 = input.LA(1); @@ -16937,7 +16723,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_663); if ( s>=0 ) return s; break; - case 215 : int LA193_768 = input.LA(1); @@ -16950,7 +16735,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_768); if ( s>=0 ) return s; break; - case 216 : int LA193_336 = input.LA(1); @@ -16963,7 +16747,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_336); if ( s>=0 ) return s; break; - case 217 : int LA193_337 = input.LA(1); @@ -16976,7 +16759,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_337); if ( s>=0 ) return s; break; - case 218 : int LA193_705 = input.LA(1); @@ -16989,7 +16771,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_705); if ( s>=0 ) return s; break; - case 219 : int LA193_299 = input.LA(1); @@ -17002,7 +16783,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_299); if ( s>=0 ) return s; break; - case 220 : int LA193_494 = input.LA(1); @@ -17015,7 +16795,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_494); if ( s>=0 ) return s; break; - case 221 : int LA193_746 = input.LA(1); @@ -17028,7 +16807,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_746); if ( s>=0 ) return s; break; - case 222 : int LA193_800 = input.LA(1); @@ -17041,7 +16819,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_800); if ( s>=0 ) return s; break; - case 223 : int LA193_801 = input.LA(1); @@ -17054,7 +16831,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_801); if ( s>=0 ) return s; break; - case 224 : int LA193_340 = input.LA(1); @@ -17067,7 +16843,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_340); if ( s>=0 ) return s; break; - case 225 : int LA193_828 = input.LA(1); @@ -17080,7 +16855,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_828); if ( s>=0 ) return s; break; - case 226 : int LA193_197 = input.LA(1); s = -1; @@ -17089,7 +16863,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_197=='4'||LA193_197=='6') ) {s = 318;} if ( s>=0 ) return s; break; - case 227 : int LA193_165 = input.LA(1); @@ -17102,7 +16875,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_165); if ( s>=0 ) return s; break; - case 228 : int LA193_168 = input.LA(1); @@ -17115,7 +16887,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_168); if ( s>=0 ) return s; break; - case 229 : int LA193_217 = input.LA(1); @@ -17128,7 +16899,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_217); if ( s>=0 ) return s; break; - case 230 : int LA193_218 = input.LA(1); @@ -17141,7 +16911,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_218); if ( s>=0 ) return s; break; - case 231 : int LA193_117 = input.LA(1); @@ -17154,7 +16923,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_117); if ( s>=0 ) return s; break; - case 232 : int LA193_112 = input.LA(1); @@ -17167,7 +16935,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_112); if ( s>=0 ) return s; break; - case 233 : int LA193_672 = input.LA(1); @@ -17180,46 +16947,42 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_672); if ( s>=0 ) return s; break; - case 234 : - int LA193_355 = input.LA(1); + int LA193_739 = input.LA(1); - int index193_355 = input.index(); + int index193_739 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_355); + input.seek(index193_739); if ( s>=0 ) return s; break; - case 235 : - int LA193_405 = input.LA(1); + int LA193_821 = input.LA(1); - int index193_405 = input.index(); + int index193_821 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_405); + input.seek(index193_821); if ( s>=0 ) return s; break; - case 236 : - int LA193_821 = input.LA(1); + int LA193_355 = input.LA(1); - int index193_821 = input.index(); + int index193_355 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_821); + input.seek(index193_355); if ( s>=0 ) return s; break; - case 237 : int LA193_670 = input.LA(1); @@ -17232,20 +16995,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_670); if ( s>=0 ) return s; break; - case 238 : - int LA193_739 = input.LA(1); + int LA193_405 = input.LA(1); - int index193_739 = input.index(); + int index193_405 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_739); + input.seek(index193_405); if ( s>=0 ) return s; break; - case 239 : int LA193_407 = input.LA(1); @@ -17258,20 +17019,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_407); if ( s>=0 ) return s; break; - case 240 : - int LA193_771 = input.LA(1); + int LA193_773 = input.LA(1); - int index193_771 = input.index(); + int index193_773 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_771); + input.seek(index193_773); if ( s>=0 ) return s; break; - case 241 : int LA193_486 = input.LA(1); @@ -17284,7 +17043,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_486); if ( s>=0 ) return s; break; - case 242 : int LA193_539 = input.LA(1); @@ -17297,111 +17055,102 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_539); if ( s>=0 ) return s; break; - case 243 : - int LA193_541 = input.LA(1); + int LA193_771 = input.LA(1); - int index193_541 = input.index(); + int index193_771 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_541); + input.seek(index193_771); if ( s>=0 ) return s; break; - case 244 : - int LA193_619 = input.LA(1); + int LA193_541 = input.LA(1); - int index193_619 = input.index(); + int index193_541 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_619); + input.seek(index193_541); if ( s>=0 ) return s; break; - case 245 : - int LA193_773 = input.LA(1); + int LA193_619 = input.LA(1); - int index193_773 = input.index(); + int index193_619 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_773); + input.seek(index193_619); if ( s>=0 ) return s; break; - case 246 : - int LA193_114 = input.LA(1); + int LA193_118 = input.LA(1); - int index193_114 = input.index(); + int index193_118 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_114); + input.seek(index193_118); if ( s>=0 ) return s; break; - case 247 : - int LA193_118 = input.LA(1); + int LA193_114 = input.LA(1); - int index193_118 = input.index(); + int index193_114 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_118); + input.seek(index193_114); if ( s>=0 ) return s; break; - case 248 : - int LA193_822 = input.LA(1); + int LA193_356 = input.LA(1); - int index193_822 = input.index(); + int index193_356 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_822); + input.seek(index193_356); if ( s>=0 ) return s; break; - case 249 : - int LA193_356 = input.LA(1); + int LA193_406 = input.LA(1); - int index193_356 = input.index(); + int index193_406 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_356); + input.seek(index193_406); if ( s>=0 ) return s; break; - case 250 : - int LA193_740 = input.LA(1); + int LA193_408 = input.LA(1); - int index193_740 = input.index(); + int index193_408 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_740); + input.seek(index193_408); if ( s>=0 ) return s; break; - case 251 : int LA193_671 = input.LA(1); @@ -17414,124 +17163,114 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_671); if ( s>=0 ) return s; break; - case 252 : - int LA193_406 = input.LA(1); + int LA193_487 = input.LA(1); - int index193_406 = input.index(); + int index193_487 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_406); + input.seek(index193_487); if ( s>=0 ) return s; break; - case 253 : - int LA193_408 = input.LA(1); + int LA193_772 = input.LA(1); - int index193_408 = input.index(); + int index193_772 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_408); + input.seek(index193_772); if ( s>=0 ) return s; break; - case 254 : - int LA193_487 = input.LA(1); + int LA193_540 = input.LA(1); - int index193_487 = input.index(); + int index193_540 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_487); + input.seek(index193_540); if ( s>=0 ) return s; break; - case 255 : - int LA193_772 = input.LA(1); + int LA193_740 = input.LA(1); - int index193_772 = input.index(); + int index193_740 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_772); + input.seek(index193_740); if ( s>=0 ) return s; break; - case 256 : - int LA193_774 = input.LA(1); + int LA193_542 = input.LA(1); - int index193_774 = input.index(); + int index193_542 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_774); + input.seek(index193_542); if ( s>=0 ) return s; break; - case 257 : - int LA193_673 = input.LA(1); + int LA193_774 = input.LA(1); - int index193_673 = input.index(); + int index193_774 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_673); + input.seek(index193_774); if ( s>=0 ) return s; break; - case 258 : - int LA193_540 = input.LA(1); + int LA193_620 = input.LA(1); - int index193_540 = input.index(); + int index193_620 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_540); + input.seek(index193_620); if ( s>=0 ) return s; break; - case 259 : - int LA193_542 = input.LA(1); + int LA193_822 = input.LA(1); - int index193_542 = input.index(); + int index193_822 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_542); + input.seek(index193_822); if ( s>=0 ) return s; break; - case 260 : - int LA193_620 = input.LA(1); + int LA193_673 = input.LA(1); - int index193_620 = input.index(); + int index193_673 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_620); + input.seek(index193_673); if ( s>=0 ) return s; break; - case 261 : int LA193_304 = input.LA(1); @@ -17544,7 +17283,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_304); if ( s>=0 ) return s; break; - case 262 : int LA193_305 = input.LA(1); @@ -17557,7 +17295,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_305); if ( s>=0 ) return s; break; - case 263 : int LA193_171 = input.LA(1); @@ -17570,7 +17307,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_171); if ( s>=0 ) return s; break; - case 264 : int LA193_172 = input.LA(1); @@ -17583,7 +17319,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_172); if ( s>=0 ) return s; break; - case 265 : int LA193_572 = input.LA(1); @@ -17596,7 +17331,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_572); if ( s>=0 ) return s; break; - case 266 : int LA193_561 = input.LA(1); @@ -17609,7 +17343,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_561); if ( s>=0 ) return s; break; - case 267 : int LA193_422 = input.LA(1); @@ -17622,7 +17355,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_422); if ( s>=0 ) return s; break; - case 268 : int LA193_465 = input.LA(1); @@ -17635,7 +17367,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_465); if ( s>=0 ) return s; break; - case 269 : int LA193_466 = input.LA(1); @@ -17648,7 +17379,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_466); if ( s>=0 ) return s; break; - case 270 : int LA193_55 = input.LA(1); @@ -17661,7 +17391,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_55); if ( s>=0 ) return s; break; - case 271 : int LA193_88 = input.LA(1); @@ -17674,7 +17403,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_88); if ( s>=0 ) return s; break; - case 272 : int LA193_123 = input.LA(1); @@ -17687,7 +17415,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_123); if ( s>=0 ) return s; break; - case 273 : int LA193_141 = input.LA(1); @@ -17700,7 +17427,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_141); if ( s>=0 ) return s; break; - case 274 : int LA193_767 = input.LA(1); @@ -17713,7 +17439,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_767); if ( s>=0 ) return s; break; - case 275 : int LA193_58 = input.LA(1); @@ -17726,7 +17451,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_58); if ( s>=0 ) return s; break; - case 276 : int LA193_91 = input.LA(1); @@ -17739,7 +17463,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_91); if ( s>=0 ) return s; break; - case 277 : int LA193_124 = input.LA(1); @@ -17752,7 +17475,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_124); if ( s>=0 ) return s; break; - case 278 : int LA193_142 = input.LA(1); @@ -17765,7 +17487,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_142); if ( s>=0 ) return s; break; - case 279 : int LA193_770 = input.LA(1); @@ -17778,7 +17499,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_770); if ( s>=0 ) return s; break; - case 280 : int LA193_686 = input.LA(1); @@ -17791,7 +17511,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_686); if ( s>=0 ) return s; break; - case 281 : int LA193_222 = input.LA(1); @@ -17804,7 +17523,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_222); if ( s>=0 ) return s; break; - case 282 : int LA193_223 = input.LA(1); @@ -17817,7 +17535,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_223); if ( s>=0 ) return s; break; - case 283 : int LA193_722 = input.LA(1); @@ -17830,7 +17547,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_722); if ( s>=0 ) return s; break; - case 284 : int LA193_723 = input.LA(1); @@ -17843,7 +17559,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_723); if ( s>=0 ) return s; break; - case 285 : int LA193_426 = input.LA(1); @@ -17856,7 +17571,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_426); if ( s>=0 ) return s; break; - case 286 : int LA193_627 = input.LA(1); @@ -17869,7 +17583,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_627); if ( s>=0 ) return s; break; - case 287 : int LA193_314 = input.LA(1); @@ -17882,7 +17595,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_314); if ( s>=0 ) return s; break; - case 288 : int LA193_689 = input.LA(1); @@ -17895,7 +17607,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_689); if ( s>=0 ) return s; break; - case 289 : int LA193_315 = input.LA(1); @@ -17908,7 +17619,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_315); if ( s>=0 ) return s; break; - case 290 : int LA193_793 = input.LA(1); @@ -17921,7 +17631,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_793); if ( s>=0 ) return s; break; - case 291 : int LA193_787 = input.LA(1); @@ -17934,7 +17643,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_787); if ( s>=0 ) return s; break; - case 292 : int LA193_179 = input.LA(1); @@ -17947,7 +17655,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_179); if ( s>=0 ) return s; break; - case 293 : int LA193_180 = input.LA(1); @@ -17960,7 +17667,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_180); if ( s>=0 ) return s; break; - case 294 : int LA193_469 = input.LA(1); @@ -17973,7 +17679,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_469); if ( s>=0 ) return s; break; - case 295 : int LA193_103 = input.LA(1); s = -1; @@ -17984,7 +17689,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_103=='4'||LA193_103=='6') ) {s = 225;} if ( s>=0 ) return s; break; - case 296 : int LA193_725 = input.LA(1); @@ -17997,7 +17701,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_725); if ( s>=0 ) return s; break; - case 297 : int LA193_827 = input.LA(1); @@ -18010,7 +17713,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_827); if ( s>=0 ) return s; break; - case 298 : int LA193_113 = input.LA(1); s = -1; @@ -18021,7 +17723,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_113=='4'||LA193_113=='6') ) {s = 244;} if ( s>=0 ) return s; break; - case 299 : int LA193_475 = input.LA(1); @@ -18034,7 +17735,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_475); if ( s>=0 ) return s; break; - case 300 : int LA193_476 = input.LA(1); @@ -18047,7 +17747,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_476); if ( s>=0 ) return s; break; - case 301 : int LA193_2 = input.LA(1); s = -1; @@ -18071,7 +17770,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( ((LA193_2 >= '\u0000' && LA193_2 <= '\t')||LA193_2=='\u000B'||(LA193_2 >= '\u000E' && LA193_2 <= '/')||(LA193_2 >= '1' && LA193_2 <= '3')||(LA193_2 >= '8' && LA193_2 <= 'G')||LA193_2=='J'||LA193_2=='L'||(LA193_2 >= 'N' && LA193_2 <= 'O')||LA193_2=='Q'||(LA193_2 >= 'T' && LA193_2 <= 'g')||LA193_2=='j'||LA193_2=='l'||(LA193_2 >= 'n' && LA193_2 <= 'o')||LA193_2=='q'||(LA193_2 >= 't' && LA193_2 <= '\uFFFF')) ) {s = 12;} if ( s>=0 ) return s; break; - case 302 : int LA193_59 = input.LA(1); @@ -18084,7 +17782,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_59); if ( s>=0 ) return s; break; - case 303 : int LA193_92 = input.LA(1); @@ -18097,7 +17794,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_92); if ( s>=0 ) return s; break; - case 304 : int LA193_266 = input.LA(1); @@ -18110,7 +17806,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_266); if ( s>=0 ) return s; break; - case 305 : int LA193_381 = input.LA(1); @@ -18123,7 +17818,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_381); if ( s>=0 ) return s; break; - case 306 : int LA193_431 = input.LA(1); @@ -18136,7 +17830,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_431); if ( s>=0 ) return s; break; - case 307 : int LA193_515 = input.LA(1); @@ -18149,7 +17842,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_515); if ( s>=0 ) return s; break; - case 308 : int LA193_646 = input.LA(1); @@ -18162,7 +17854,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_646); if ( s>=0 ) return s; break; - case 309 : int LA193_751 = input.LA(1); @@ -18175,7 +17866,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_751); if ( s>=0 ) return s; break; - case 310 : int LA193_61 = input.LA(1); @@ -18188,7 +17878,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_61); if ( s>=0 ) return s; break; - case 311 : int LA193_93 = input.LA(1); @@ -18201,21 +17890,7 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_93); if ( s>=0 ) return s; break; - case 312 : - int LA193_752 = input.LA(1); - - int index193_752 = input.index(); - input.rewind(); - s = -1; - if ( (synpred6_Css3()) ) {s = 178;} - else if ( (true) ) {s = 12;} - - input.seek(index193_752); - if ( s>=0 ) return s; - break; - - case 313 : int LA193_196 = input.LA(1); int index193_196 = input.index(); @@ -18227,8 +17902,7 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_196); if ( s>=0 ) return s; break; - - case 314 : + case 313 : int LA193_204 = input.LA(1); int index193_204 = input.index(); @@ -18240,8 +17914,7 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_204); if ( s>=0 ) return s; break; - - case 315 : + case 314 : int LA193_267 = input.LA(1); int index193_267 = input.index(); @@ -18253,72 +17926,78 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_267); if ( s>=0 ) return s; break; - + case 315 : + int LA193_382 = input.LA(1); + + int index193_382 = input.index(); + input.rewind(); + s = -1; + if ( (synpred6_Css3()) ) {s = 178;} + else if ( (true) ) {s = 12;} + + input.seek(index193_382); + if ( s>=0 ) return s; + break; case 316 : - int LA193_775 = input.LA(1); + int LA193_752 = input.LA(1); - int index193_775 = input.index(); + int index193_752 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_775); + input.seek(index193_752); if ( s>=0 ) return s; break; - case 317 : - int LA193_829 = input.LA(1); + int LA193_432 = input.LA(1); - int index193_829 = input.index(); + int index193_432 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_829); + input.seek(index193_432); if ( s>=0 ) return s; break; - case 318 : - int LA193_779 = input.LA(1); + int LA193_829 = input.LA(1); - int index193_779 = input.index(); + int index193_829 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_779); + input.seek(index193_829); if ( s>=0 ) return s; break; - case 319 : - int LA193_382 = input.LA(1); + int LA193_775 = input.LA(1); - int index193_382 = input.index(); + int index193_775 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_382); + input.seek(index193_775); if ( s>=0 ) return s; break; - case 320 : - int LA193_432 = input.LA(1); + int LA193_779 = input.LA(1); - int index193_432 = input.index(); + int index193_779 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_432); + input.seek(index193_779); if ( s>=0 ) return s; break; - case 321 : int LA193_516 = input.LA(1); @@ -18331,7 +18010,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_516); if ( s>=0 ) return s; break; - case 322 : int LA193_647 = input.LA(1); @@ -18344,7 +18022,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_647); if ( s>=0 ) return s; break; - case 323 : int LA193_198 = input.LA(1); @@ -18357,7 +18034,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_198); if ( s>=0 ) return s; break; - case 324 : int LA193_205 = input.LA(1); @@ -18370,7 +18046,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_205); if ( s>=0 ) return s; break; - case 325 : int LA193_776 = input.LA(1); @@ -18383,7 +18058,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_776); if ( s>=0 ) return s; break; - case 326 : int LA193_780 = input.LA(1); @@ -18396,7 +18070,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_780); if ( s>=0 ) return s; break; - case 327 : int LA193_830 = input.LA(1); @@ -18409,7 +18082,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_830); if ( s>=0 ) return s; break; - case 328 : int LA193_293 = input.LA(1); @@ -18422,7 +18094,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_293); if ( s>=0 ) return s; break; - case 329 : int LA193_294 = input.LA(1); @@ -18435,7 +18106,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_294); if ( s>=0 ) return s; break; - case 330 : int LA193_693 = input.LA(1); @@ -18448,7 +18118,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_693); if ( s>=0 ) return s; break; - case 331 : int LA193_694 = input.LA(1); @@ -18461,7 +18130,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_694); if ( s>=0 ) return s; break; - case 332 : int LA193_192 = input.LA(1); @@ -18474,20 +18142,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_192); if ( s>=0 ) return s; break; - case 333 : - int LA193_233 = input.LA(1); + int LA193_115 = input.LA(1); - int index193_233 = input.index(); + int index193_115 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_233); + input.seek(index193_115); if ( s>=0 ) return s; break; - case 334 : int LA193_102 = input.LA(1); @@ -18500,33 +18166,30 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_102); if ( s>=0 ) return s; break; - case 335 : - int LA193_115 = input.LA(1); + int LA193_231 = input.LA(1); - int index193_115 = input.index(); + int index193_231 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_115); + input.seek(index193_231); if ( s>=0 ) return s; break; - case 336 : - int LA193_231 = input.LA(1); + int LA193_233 = input.LA(1); - int index193_231 = input.index(); + int index193_233 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_231); + input.seek(index193_233); if ( s>=0 ) return s; break; - case 337 : int LA193_351 = input.LA(1); @@ -18539,7 +18202,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_351); if ( s>=0 ) return s; break; - case 338 : int LA193_482 = input.LA(1); @@ -18552,7 +18214,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_482); if ( s>=0 ) return s; break; - case 339 : int LA193_615 = input.LA(1); @@ -18565,7 +18226,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_615); if ( s>=0 ) return s; break; - case 340 : int LA193_735 = input.LA(1); @@ -18578,7 +18238,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_735); if ( s>=0 ) return s; break; - case 341 : int LA193_819 = input.LA(1); @@ -18591,7 +18250,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_819); if ( s>=0 ) return s; break; - case 342 : int LA193_193 = input.LA(1); @@ -18604,20 +18262,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_193); if ( s>=0 ) return s; break; - case 343 : - int LA193_353 = input.LA(1); + int LA193_232 = input.LA(1); - int index193_353 = input.index(); + int index193_232 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_353); + input.seek(index193_232); if ( s>=0 ) return s; break; - case 344 : int LA193_105 = input.LA(1); @@ -18630,7 +18286,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_105); if ( s>=0 ) return s; break; - case 345 : int LA193_116 = input.LA(1); @@ -18643,85 +18298,78 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_116); if ( s>=0 ) return s; break; - case 346 : - int LA193_232 = input.LA(1); + int LA193_234 = input.LA(1); - int index193_232 = input.index(); + int index193_234 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_232); + input.seek(index193_234); if ( s>=0 ) return s; break; - case 347 : - int LA193_234 = input.LA(1); + int LA193_353 = input.LA(1); - int index193_234 = input.index(); + int index193_353 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_234); + input.seek(index193_353); if ( s>=0 ) return s; break; - case 348 : - int LA193_484 = input.LA(1); + int LA193_820 = input.LA(1); - int index193_484 = input.index(); + int index193_820 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_484); + input.seek(index193_820); if ( s>=0 ) return s; break; - case 349 : - int LA193_617 = input.LA(1); + int LA193_484 = input.LA(1); - int index193_617 = input.index(); + int index193_484 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_617); + input.seek(index193_484); if ( s>=0 ) return s; break; - case 350 : - int LA193_737 = input.LA(1); + int LA193_617 = input.LA(1); - int index193_737 = input.index(); + int index193_617 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_737); + input.seek(index193_617); if ( s>=0 ) return s; break; - case 351 : - int LA193_820 = input.LA(1); + int LA193_737 = input.LA(1); - int index193_820 = input.index(); + int index193_737 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_820); + input.seek(index193_737); if ( s>=0 ) return s; break; - case 352 : int LA193_556 = input.LA(1); @@ -18734,7 +18382,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_556); if ( s>=0 ) return s; break; - case 353 : int LA193_599 = input.LA(1); @@ -18747,7 +18394,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_599); if ( s>=0 ) return s; break; - case 354 : int LA193_600 = input.LA(1); @@ -18760,20 +18406,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_600); if ( s>=0 ) return s; break; - case 355 : - int LA193_521 = input.LA(1); + int LA193_652 = input.LA(1); - int index193_521 = input.index(); + int index193_652 = input.index(); input.rewind(); s = -1; if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_521); + input.seek(index193_652); if ( s>=0 ) return s; break; - case 356 : int LA193_67 = input.LA(1); @@ -18786,7 +18430,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_67); if ( s>=0 ) return s; break; - case 357 : int LA193_98 = input.LA(1); @@ -18799,7 +18442,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_98); if ( s>=0 ) return s; break; - case 358 : int LA193_154 = input.LA(1); @@ -18812,7 +18454,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_154); if ( s>=0 ) return s; break; - case 359 : int LA193_156 = input.LA(1); @@ -18825,7 +18466,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_156); if ( s>=0 ) return s; break; - case 360 : int LA193_272 = input.LA(1); @@ -18838,7 +18478,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_272); if ( s>=0 ) return s; break; - case 361 : int LA193_387 = input.LA(1); @@ -18851,20 +18490,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_387); if ( s>=0 ) return s; break; - case 362 : - int LA193_652 = input.LA(1); + int LA193_521 = input.LA(1); - int index193_652 = input.index(); + int index193_521 = input.index(); input.rewind(); s = -1; if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_652); + input.seek(index193_521); if ( s>=0 ) return s; break; - case 363 : int LA193_757 = input.LA(1); @@ -18877,20 +18514,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_757); if ( s>=0 ) return s; break; - case 364 : - int LA193_155 = input.LA(1); + int LA193_99 = input.LA(1); - int index193_155 = input.index(); + int index193_99 = input.index(); input.rewind(); s = -1; if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_155); + input.seek(index193_99); if ( s>=0 ) return s; break; - case 365 : int LA193_69 = input.LA(1); @@ -18903,20 +18538,18 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_69); if ( s>=0 ) return s; break; - case 366 : - int LA193_99 = input.LA(1); + int LA193_155 = input.LA(1); - int index193_99 = input.index(); + int index193_155 = input.index(); input.rewind(); s = -1; if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_99); + input.seek(index193_155); if ( s>=0 ) return s; break; - case 367 : int LA193_157 = input.LA(1); @@ -18929,7 +18562,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_157); if ( s>=0 ) return s; break; - case 368 : int LA193_273 = input.LA(1); @@ -18942,7 +18574,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_273); if ( s>=0 ) return s; break; - case 369 : int LA193_388 = input.LA(1); @@ -18955,7 +18586,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_388); if ( s>=0 ) return s; break; - case 370 : int LA193_522 = input.LA(1); @@ -18968,7 +18598,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_522); if ( s>=0 ) return s; break; - case 371 : int LA193_653 = input.LA(1); @@ -18981,7 +18610,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_653); if ( s>=0 ) return s; break; - case 372 : int LA193_758 = input.LA(1); @@ -18994,7 +18622,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_758); if ( s>=0 ) return s; break; - case 373 : int LA193_560 = input.LA(1); @@ -19007,7 +18634,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_560); if ( s>=0 ) return s; break; - case 374 : int LA193_9 = input.LA(1); @@ -19020,7 +18646,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_9); if ( s>=0 ) return s; break; - case 375 : int LA193_20 = input.LA(1); @@ -19033,7 +18658,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_20); if ( s>=0 ) return s; break; - case 376 : int LA193_309 = input.LA(1); @@ -19046,7 +18670,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_309); if ( s>=0 ) return s; break; - case 377 : int LA193_310 = input.LA(1); @@ -19059,7 +18682,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_310); if ( s>=0 ) return s; break; - case 378 : int LA193_227 = input.LA(1); s = -1; @@ -19070,7 +18692,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_227=='4'||LA193_227=='6') ) {s = 345;} if ( s>=0 ) return s; break; - case 379 : int LA193_441 = input.LA(1); @@ -19083,7 +18704,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_441); if ( s>=0 ) return s; break; - case 380 : int LA193_442 = input.LA(1); @@ -19096,7 +18716,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_442); if ( s>=0 ) return s; break; - case 381 : int LA193_60 = input.LA(1); s = -1; @@ -19107,7 +18726,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_60=='4'||LA193_60=='6') ) {s = 182;} if ( s>=0 ) return s; break; - case 382 : int LA193_701 = input.LA(1); @@ -19120,7 +18738,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_701); if ( s>=0 ) return s; break; - case 383 : int LA193_702 = input.LA(1); @@ -19133,7 +18750,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_702); if ( s>=0 ) return s; break; - case 384 : int LA193_342 = input.LA(1); @@ -19146,7 +18762,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_342); if ( s>=0 ) return s; break; - case 385 : int LA193_343 = input.LA(1); @@ -19159,7 +18774,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_343); if ( s>=0 ) return s; break; - case 386 : int LA193_202 = input.LA(1); s = -1; @@ -19170,7 +18784,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_202=='4'||LA193_202=='6') ) {s = 326;} if ( s>=0 ) return s; break; - case 387 : int LA193_41 = input.LA(1); @@ -19183,7 +18796,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_41); if ( s>=0 ) return s; break; - case 388 : int LA193_42 = input.LA(1); @@ -19196,7 +18808,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_42); if ( s>=0 ) return s; break; - case 389 : int LA193_149 = input.LA(1); @@ -19209,7 +18820,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_149); if ( s>=0 ) return s; break; - case 390 : int LA193_163 = input.LA(1); @@ -19222,7 +18832,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_163); if ( s>=0 ) return s; break; - case 391 : int LA193_164 = input.LA(1); @@ -19235,7 +18844,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_164); if ( s>=0 ) return s; break; - case 392 : int LA193_603 = input.LA(1); @@ -19248,7 +18856,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_603); if ( s>=0 ) return s; break; - case 393 : int LA193_785 = input.LA(1); @@ -19261,7 +18868,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_785); if ( s>=0 ) return s; break; - case 394 : int LA193_810 = input.LA(1); @@ -19274,7 +18880,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_810); if ( s>=0 ) return s; break; - case 395 : int LA193_811 = input.LA(1); @@ -19287,7 +18892,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_811); if ( s>=0 ) return s; break; - case 396 : int LA193_456 = input.LA(1); @@ -19300,7 +18904,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_456); if ( s>=0 ) return s; break; - case 397 : int LA193_457 = input.LA(1); @@ -19313,7 +18916,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_457); if ( s>=0 ) return s; break; - case 398 : int LA193_786 = input.LA(1); @@ -19326,7 +18928,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_786); if ( s>=0 ) return s; break; - case 399 : int LA193_301 = input.LA(1); @@ -19339,7 +18940,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_301); if ( s>=0 ) return s; break; - case 400 : int LA193_609 = input.LA(1); @@ -19352,7 +18952,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_609); if ( s>=0 ) return s; break; - case 401 : int LA193_610 = input.LA(1); @@ -19365,202 +18964,186 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_610); if ( s>=0 ) return s; break; - case 402 : - int LA193_488 = input.LA(1); + int LA193_490 = input.LA(1); - int index193_488 = input.index(); + int index193_490 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_488); + input.seek(index193_490); if ( s>=0 ) return s; break; - case 403 : - int LA193_226 = input.LA(1); + int LA193_471 = input.LA(1); - int index193_226 = input.index(); + int index193_471 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_226); + input.seek(index193_471); if ( s>=0 ) return s; break; - case 404 : - int LA193_229 = input.LA(1); + int LA193_226 = input.LA(1); - int index193_229 = input.index(); + int index193_226 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_229); + input.seek(index193_226); if ( s>=0 ) return s; break; - case 405 : - int LA193_814 = input.LA(1); + int LA193_229 = input.LA(1); - int index193_814 = input.index(); + int index193_229 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_814); + input.seek(index193_229); if ( s>=0 ) return s; break; - case 406 : - int LA193_823 = input.LA(1); + int LA193_488 = input.LA(1); - int index193_823 = input.index(); + int index193_488 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_823); + input.seek(index193_488); if ( s>=0 ) return s; break; - case 407 : - int LA193_471 = input.LA(1); + int LA193_837 = input.LA(1); - int index193_471 = input.index(); + int index193_837 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_471); + input.seek(index193_837); if ( s>=0 ) return s; break; - case 408 : - int LA193_490 = input.LA(1); + int LA193_605 = input.LA(1); - int index193_490 = input.index(); + int index193_605 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_490); + input.seek(index193_605); if ( s>=0 ) return s; break; - case 409 : - int LA193_605 = input.LA(1); + int LA193_741 = input.LA(1); - int index193_605 = input.index(); + int index193_741 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_605); + input.seek(index193_741); if ( s>=0 ) return s; break; - case 410 : - int LA193_621 = input.LA(1); + int LA193_743 = input.LA(1); - int index193_621 = input.index(); + int index193_743 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_621); + input.seek(index193_743); if ( s>=0 ) return s; break; - case 411 : - int LA193_741 = input.LA(1); + int LA193_621 = input.LA(1); - int index193_741 = input.index(); + int index193_621 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_741); + input.seek(index193_621); if ( s>=0 ) return s; break; - case 412 : - int LA193_825 = input.LA(1); + int LA193_623 = input.LA(1); - int index193_825 = input.index(); + int index193_623 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_825); + input.seek(index193_623); if ( s>=0 ) return s; break; - case 413 : - int LA193_743 = input.LA(1); + int LA193_823 = input.LA(1); - int index193_743 = input.index(); + int index193_823 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_743); + input.seek(index193_823); if ( s>=0 ) return s; break; - case 414 : - int LA193_623 = input.LA(1); + int LA193_825 = input.LA(1); - int index193_623 = input.index(); + int index193_825 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_623); + input.seek(index193_825); if ( s>=0 ) return s; break; - case 415 : - int LA193_837 = input.LA(1); + int LA193_727 = input.LA(1); - int index193_837 = input.index(); + int index193_727 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_837); + input.seek(index193_727); if ( s>=0 ) return s; break; - case 416 : - int LA193_727 = input.LA(1); + int LA193_814 = input.LA(1); - int index193_727 = input.index(); + int index193_814 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_727); + input.seek(index193_814); if ( s>=0 ) return s; break; - case 417 : int LA193_77 = input.LA(1); s = -1; @@ -19571,150 +19154,138 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_77=='4'||LA193_77=='6') ) {s = 213;} if ( s>=0 ) return s; break; - case 418 : - int LA193_489 = input.LA(1); + int LA193_228 = input.LA(1); - int index193_489 = input.index(); + int index193_228 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_489); + input.seek(index193_228); if ( s>=0 ) return s; break; - case 419 : - int LA193_228 = input.LA(1); + int LA193_230 = input.LA(1); - int index193_228 = input.index(); + int index193_230 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_228); + input.seek(index193_230); if ( s>=0 ) return s; break; - case 420 : - int LA193_230 = input.LA(1); + int LA193_815 = input.LA(1); - int index193_230 = input.index(); + int index193_815 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_230); + input.seek(index193_815); if ( s>=0 ) return s; break; - case 421 : - int LA193_826 = input.LA(1); + int LA193_472 = input.LA(1); - int index193_826 = input.index(); + int index193_472 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_826); + input.seek(index193_472); if ( s>=0 ) return s; break; - case 422 : - int LA193_838 = input.LA(1); + int LA193_489 = input.LA(1); - int index193_838 = input.index(); + int index193_489 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_838); + input.seek(index193_489); if ( s>=0 ) return s; break; - case 423 : - int LA193_824 = input.LA(1); + int LA193_491 = input.LA(1); - int index193_824 = input.index(); + int index193_491 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_824); + input.seek(index193_491); if ( s>=0 ) return s; break; - case 424 : - int LA193_472 = input.LA(1); + int LA193_624 = input.LA(1); - int index193_472 = input.index(); + int index193_624 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_472); + input.seek(index193_624); if ( s>=0 ) return s; break; - case 425 : - int LA193_815 = input.LA(1); + int LA193_606 = input.LA(1); - int index193_815 = input.index(); + int index193_606 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_815); + input.seek(index193_606); if ( s>=0 ) return s; break; - case 426 : - int LA193_491 = input.LA(1); + int LA193_826 = input.LA(1); - int index193_491 = input.index(); + int index193_826 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_491); + input.seek(index193_826); if ( s>=0 ) return s; break; - case 427 : - int LA193_606 = input.LA(1); + int LA193_728 = input.LA(1); - int index193_606 = input.index(); + int index193_728 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_606); + input.seek(index193_728); if ( s>=0 ) return s; break; - case 428 : - int LA193_742 = input.LA(1); + int LA193_744 = input.LA(1); - int index193_742 = input.index(); + int index193_744 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_742); + input.seek(index193_744); if ( s>=0 ) return s; break; - case 429 : int LA193_622 = input.LA(1); @@ -19727,46 +19298,42 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_622); if ( s>=0 ) return s; break; - case 430 : - int LA193_624 = input.LA(1); + int LA193_742 = input.LA(1); - int index193_624 = input.index(); + int index193_742 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_624); + input.seek(index193_742); if ( s>=0 ) return s; break; - case 431 : - int LA193_728 = input.LA(1); + int LA193_824 = input.LA(1); - int index193_728 = input.index(); + int index193_824 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_728); + input.seek(index193_824); if ( s>=0 ) return s; break; - case 432 : - int LA193_744 = input.LA(1); + int LA193_838 = input.LA(1); - int index193_744 = input.index(); + int index193_838 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_744); + input.seek(index193_838); if ( s>=0 ) return s; break; - case 433 : int LA193_565 = input.LA(1); @@ -19779,7 +19346,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_565); if ( s>=0 ) return s; break; - case 434 : int LA193_566 = input.LA(1); @@ -19792,7 +19358,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_566); if ( s>=0 ) return s; break; - case 435 : int LA193_817 = input.LA(1); @@ -19805,7 +19370,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_817); if ( s>=0 ) return s; break; - case 436 : int LA193_818 = input.LA(1); @@ -19818,7 +19382,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_818); if ( s>=0 ) return s; break; - case 437 : int LA193_420 = input.LA(1); @@ -19831,7 +19394,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_420); if ( s>=0 ) return s; break; - case 438 : int LA193_47 = input.LA(1); @@ -19844,7 +19406,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_47); if ( s>=0 ) return s; break; - case 439 : int LA193_82 = input.LA(1); @@ -19857,7 +19418,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_82); if ( s>=0 ) return s; break; - case 440 : int LA193_262 = input.LA(1); @@ -19870,7 +19430,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_262); if ( s>=0 ) return s; break; - case 441 : int LA193_377 = input.LA(1); @@ -19883,7 +19442,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_377); if ( s>=0 ) return s; break; - case 442 : int LA193_421 = input.LA(1); @@ -19896,7 +19454,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_421); if ( s>=0 ) return s; break; - case 443 : int LA193_511 = input.LA(1); @@ -19909,7 +19466,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_511); if ( s>=0 ) return s; break; - case 444 : int LA193_642 = input.LA(1); @@ -19922,7 +19478,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_642); if ( s>=0 ) return s; break; - case 445 : int LA193_747 = input.LA(1); @@ -19935,7 +19490,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_747); if ( s>=0 ) return s; break; - case 446 : int LA193_50 = input.LA(1); @@ -19948,7 +19502,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_50); if ( s>=0 ) return s; break; - case 447 : int LA193_84 = input.LA(1); @@ -19961,7 +19514,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_84); if ( s>=0 ) return s; break; - case 448 : int LA193_184 = input.LA(1); @@ -19974,7 +19526,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_184); if ( s>=0 ) return s; break; - case 449 : int LA193_264 = input.LA(1); @@ -19987,7 +19538,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_264); if ( s>=0 ) return s; break; - case 450 : int LA193_379 = input.LA(1); @@ -20000,7 +19550,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_379); if ( s>=0 ) return s; break; - case 451 : int LA193_513 = input.LA(1); @@ -20013,7 +19562,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_513); if ( s>=0 ) return s; break; - case 452 : int LA193_644 = input.LA(1); @@ -20026,7 +19574,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_644); if ( s>=0 ) return s; break; - case 453 : int LA193_749 = input.LA(1); @@ -20039,7 +19586,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_749); if ( s>=0 ) return s; break; - case 454 : int LA193_185 = input.LA(1); @@ -20052,7 +19598,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_185); if ( s>=0 ) return s; break; - case 455 : int LA193_684 = input.LA(1); @@ -20065,7 +19610,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_684); if ( s>=0 ) return s; break; - case 456 : int LA193_685 = input.LA(1); @@ -20078,7 +19622,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_685); if ( s>=0 ) return s; break; - case 457 : int LA193_812 = input.LA(1); @@ -20091,7 +19634,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_812); if ( s>=0 ) return s; break; - case 458 : int LA193_282 = input.LA(1); @@ -20104,7 +19646,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_282); if ( s>=0 ) return s; break; - case 459 : int LA193_285 = input.LA(1); @@ -20117,7 +19658,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_285); if ( s>=0 ) return s; break; - case 460 : int LA193_531 = input.LA(1); @@ -20130,7 +19670,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_531); if ( s>=0 ) return s; break; - case 461 : int LA193_534 = input.LA(1); @@ -20143,85 +19682,78 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_534); if ( s>=0 ) return s; break; - case 462 : - int LA193_268 = input.LA(1); + int LA193_517 = input.LA(1); - int index193_268 = input.index(); + int index193_517 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_268); + input.seek(index193_517); if ( s>=0 ) return s; break; - case 463 : - int LA193_62 = input.LA(1); + int LA193_94 = input.LA(1); - int index193_62 = input.index(); + int index193_94 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_62); + input.seek(index193_94); if ( s>=0 ) return s; break; - case 464 : - int LA193_94 = input.LA(1); + int LA193_62 = input.LA(1); - int index193_94 = input.index(); + int index193_62 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_94); + input.seek(index193_62); if ( s>=0 ) return s; break; - case 465 : - int LA193_761 = input.LA(1); + int LA193_143 = input.LA(1); - int index193_761 = input.index(); + int index193_143 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_761); + input.seek(index193_143); if ( s>=0 ) return s; break; - case 466 : - int LA193_143 = input.LA(1); + int LA193_753 = input.LA(1); - int index193_143 = input.index(); + int index193_753 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_143); + input.seek(index193_753); if ( s>=0 ) return s; break; - case 467 : - int LA193_648 = input.LA(1); + int LA193_761 = input.LA(1); - int index193_648 = input.index(); + int index193_761 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_648); + input.seek(index193_761); if ( s>=0 ) return s; break; - case 468 : int LA193_150 = input.LA(1); @@ -20234,98 +19766,90 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_150); if ( s>=0 ) return s; break; - case 469 : - int LA193_276 = input.LA(1); + int LA193_648 = input.LA(1); - int index193_276 = input.index(); + int index193_648 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_276); + input.seek(index193_648); if ( s>=0 ) return s; break; - case 470 : - int LA193_383 = input.LA(1); + int LA193_268 = input.LA(1); - int index193_383 = input.index(); + int index193_268 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_383); + input.seek(index193_268); if ( s>=0 ) return s; break; - case 471 : - int LA193_525 = input.LA(1); + int LA193_276 = input.LA(1); - int index193_525 = input.index(); + int index193_276 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_525); + input.seek(index193_276); if ( s>=0 ) return s; break; - case 472 : - int LA193_391 = input.LA(1); + int LA193_383 = input.LA(1); - int index193_391 = input.index(); + int index193_383 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_391); + input.seek(index193_383); if ( s>=0 ) return s; break; - case 473 : - int LA193_753 = input.LA(1); + int LA193_391 = input.LA(1); - int index193_753 = input.index(); + int index193_391 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_753); + input.seek(index193_391); if ( s>=0 ) return s; break; - case 474 : - int LA193_517 = input.LA(1); + int LA193_656 = input.LA(1); - int index193_517 = input.index(); + int index193_656 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_517); + input.seek(index193_656); if ( s>=0 ) return s; break; - case 475 : - int LA193_656 = input.LA(1); + int LA193_525 = input.LA(1); - int index193_656 = input.index(); + int index193_525 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_656); + input.seek(index193_525); if ( s>=0 ) return s; break; - case 476 : int LA193_436 = input.LA(1); @@ -20338,46 +19862,42 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_436); if ( s>=0 ) return s; break; - case 477 : - int LA193_144 = input.LA(1); + int LA193_65 = input.LA(1); - int index193_144 = input.index(); + int index193_65 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_144); + input.seek(index193_65); if ( s>=0 ) return s; break; - case 478 : - int LA193_65 = input.LA(1); + int LA193_96 = input.LA(1); - int index193_65 = input.index(); + int index193_96 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_65); + input.seek(index193_96); if ( s>=0 ) return s; break; - case 479 : - int LA193_96 = input.LA(1); + int LA193_144 = input.LA(1); - int index193_96 = input.index(); + int index193_144 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_96); + input.seek(index193_144); if ( s>=0 ) return s; break; - case 480 : int LA193_151 = input.LA(1); @@ -20390,7 +19910,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_151); if ( s>=0 ) return s; break; - case 481 : int LA193_270 = input.LA(1); @@ -20403,7 +19922,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_270); if ( s>=0 ) return s; break; - case 482 : int LA193_278 = input.LA(1); @@ -20416,111 +19934,102 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_278); if ( s>=0 ) return s; break; - case 483 : - int LA193_763 = input.LA(1); + int LA193_658 = input.LA(1); - int index193_763 = input.index(); + int index193_658 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_763); + input.seek(index193_658); if ( s>=0 ) return s; break; - case 484 : - int LA193_385 = input.LA(1); + int LA193_755 = input.LA(1); - int index193_385 = input.index(); + int index193_755 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_385); + input.seek(index193_755); if ( s>=0 ) return s; break; - case 485 : - int LA193_658 = input.LA(1); + int LA193_385 = input.LA(1); - int index193_658 = input.index(); + int index193_385 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_658); + input.seek(index193_385); if ( s>=0 ) return s; break; - case 486 : - int LA193_393 = input.LA(1); + int LA193_650 = input.LA(1); - int index193_393 = input.index(); + int index193_650 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_393); + input.seek(index193_650); if ( s>=0 ) return s; break; - case 487 : - int LA193_527 = input.LA(1); + int LA193_393 = input.LA(1); - int index193_527 = input.index(); + int index193_393 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_527); + input.seek(index193_393); if ( s>=0 ) return s; break; - case 488 : - int LA193_650 = input.LA(1); + int LA193_519 = input.LA(1); - int index193_650 = input.index(); + int index193_519 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_650); + input.seek(index193_519); if ( s>=0 ) return s; break; - case 489 : - int LA193_519 = input.LA(1); + int LA193_763 = input.LA(1); - int index193_519 = input.index(); + int index193_763 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_519); + input.seek(index193_763); if ( s>=0 ) return s; break; - case 490 : - int LA193_755 = input.LA(1); + int LA193_527 = input.LA(1); - int index193_755 = input.index(); + int index193_527 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_755); + input.seek(index193_527); if ( s>=0 ) return s; break; - case 491 : int LA193_437 = input.LA(1); @@ -20533,7 +20042,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_437); if ( s>=0 ) return s; break; - case 492 : int LA193_48 = input.LA(1); s = -1; @@ -20547,7 +20055,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_48=='5'||LA193_48=='7') ) {s = 169;} if ( s>=0 ) return s; break; - case 493 : int LA193_323 = input.LA(1); @@ -20560,7 +20067,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_323); if ( s>=0 ) return s; break; - case 494 : int LA193_53 = input.LA(1); s = -1; @@ -20574,7 +20080,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA193_53=='4'||LA193_53=='6') ) {s = 177;} if ( s>=0 ) return s; break; - case 495 : int LA193_324 = input.LA(1); @@ -20587,7 +20092,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_324); if ( s>=0 ) return s; break; - case 496 : int LA193_575 = input.LA(1); @@ -20600,7 +20104,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_575); if ( s>=0 ) return s; break; - case 497 : int LA193_789 = input.LA(1); @@ -20613,7 +20116,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_789); if ( s>=0 ) return s; break; - case 498 : int LA193_576 = input.LA(1); @@ -20626,7 +20128,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_576); if ( s>=0 ) return s; break; - case 499 : int LA193_790 = input.LA(1); @@ -20639,7 +20140,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_790); if ( s>=0 ) return s; break; - case 500 : int LA193_697 = input.LA(1); @@ -20652,7 +20152,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_697); if ( s>=0 ) return s; break; - case 501 : int LA193_698 = input.LA(1); @@ -20665,7 +20164,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_698); if ( s>=0 ) return s; break; - case 502 : int LA193_445 = input.LA(1); @@ -20678,7 +20176,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index193_445); if ( s>=0 ) return s; break; - case 503 : int LA193_68 = input.LA(1); s = -1; @@ -21425,7 +20922,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA212_142=='4'||LA212_142=='6') ) {s = 190;} if ( s>=0 ) return s; break; - case 1 : int LA212_95 = input.LA(1); s = -1; @@ -21436,7 +20932,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc else if ( (LA212_95=='5'||LA212_95=='7') ) {s = 146;} if ( s>=0 ) return s; break; - case 2 : int LA212_32 = input.LA(1); s = -1; diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java index aa7a442e5211..6562550f633b 100644 --- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java +++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.5.2 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2023-09-14 19:44:33 +// $ANTLR 3.5.3 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2024-10-07 20:25:38 /* * Licensed to the Apache Software Foundation (ASF) under one @@ -229,64 +229,66 @@ public Parser[] getDelegates() { public static final String[] ruleNames = new String[] { - "invalidRule", "webkitKeyframes", "sass_function_name", "syncTo_SEMI", - "cp_expression_operator", "styleQuery", "styleQueryConjunction", "imports", - "sizeFeatureName", "operator", "moz_document_function", "cp_mixin_call_arg", - "webkitKeyframeSelectors", "sass_map", "sass_for", "simpleSelectorSequence", - "sass_debug", "styleQueryDisjunction", "pseudoPage", "containerQueryDisjunction", - "cp_mixin_call", "resourceIdentifier", "synpred26_Css3", "mediaType", - "componentValueOuter", "margin_sym", "propertyValue", "cp_variable_declaration", - "namespacePrefixName", "layerStatement", "fontFace", "synpred46_Css3", - "synpred34_Css3", "mediaFeatureValue", "sass_extend_only_selector", "atRuleId", - "less_condition", "supportsFeature", "layerAtRule", "less_when", "layerName", - "containerQueryWithOperator", "synpred17_Css3", "cp_expression_list", - "sass_nested_properties", "expressionPredicate", "sass_forward_with_declaration", - "synpred22_Css3", "synpred43_Css3", "bodyItem", "function", "synpred47_Css3", - "esPred", "declarations", "synpred24_Css3", "sass_use_with", "sass_control", - "synpred19_Css3", "slAttributeName", "less_selector_interpolation_exp", - "containerQueryConjunction", "prio", "less_mixin_guarded", "mediaBody", - "cssClass", "less_function_in_condition", "styleSheet", "at_rule", "supportsInParens", - "mediaBodyItem", "page", "expression", "synpred57_Css3", "synpred28_Css3", - "synpred52_Css3", "synpred56_Css3", "synpred11_Css3", "generic_at_rule", - "sizeFeatureRangeBetweenLt", "synpred21_Css3", "cp_args_list", "synpred30_Css3", - "cp_mixin_call_args", "mediaQuery", "supportsDecl", "synpred60_Css3", - "functionName", "charSetValue", "charSet", "synpred64_Css3", "syncToDeclarationsRule", - "sass_if", "cp_variable", "synpred50_Css3", "cp_propertyValue", "sass_function_declaration", - "media", "mediaQueryList", "sass_content", "key_and", "synpred40_Css3", - "declaration", "hexColor", "synpred36_Css3", "sass_use_with_declaration", - "less_condition_operator", "sizeFeatureFixedValue", "synpred12_Css3", - "synpred38_Css3", "less_selector_interpolation", "synpred55_Css3", "synpred29_Css3", - "supportsCondition", "synpred61_Css3", "synpred51_Css3", "mediaQueryOperator", - "synpred2_Css3", "styleCondition", "importLayer", "synpred5_Css3", "synpred42_Css3", - "elementSubsequent", "fnAttribute", "synpred27_Css3", "counterStyle", - "supportsWithOperator", "supportsDisjunction", "sizeFeature", "sass_control_expression", - "sass_forward_hide", "sass_error", "bracketBlock", "containerQueryInParens", - "cssId", "unaryOperator", "cp_expression", "supportsConjunction", "containerCondition", - "margin", "styleInParens", "selector", "sass_map_pair", "cp_expression_atom", - "rule", "synpred4_Css3", "vendorAtRule", "synpred53_Css3", "mediaExpression", - "combinator", "synpred49_Css3", "fnAttributes", "sass_use_as", "cp_math_expression_atom", - "sass_forward_with", "selectorsGroup", "synpred14_Css3", "moz_document", - "sass_use", "sass_else", "slAttributeValue", "sass_forward", "propertyDeclaration", - "synpred13_Css3", "sass_map_pairs", "synpred58_Css3", "namespacePrefix", - "synpred18_Css3", "syncToFollow", "styleConditionWithOperator", "cp_arg", - "sass_interpolation_expression_var", "synpred8_Css3", "sizeFeatureRangeSingle", - "pseudo", "elementName", "mediaFeature", "webkitKeyframesBlock", "ws", - "componentValue", "less_import_types", "layerBody", "cp_term_symbol", - "synpred3_Css3", "synpred31_Css3", "sass_forward_show", "synpred37_Css3", - "body", "preservedToken", "parenBlock", "cp_mixin_name", "synpred32_Css3", - "synpred33_Css3", "sizeFeatureValue", "syncTo_RBRACE", "key_or", "synpred48_Css3", - "synpred6_Css3", "synpred44_Css3", "cp_math_expression", "synpred10_Css3", - "namespace", "synpred59_Css3", "property", "synpred41_Css3", "sizeFeatureRangeBetweenGt", - "layerBlock", "preservedTokenTopLevel", "supportsAtRule", "slAttribute", - "fnAttributeValue", "synpred62_Css3", "sass_selector_interpolation_exp", - "sass_function_return", "term", "synpred25_Css3", "synpred16_Css3", "braceBlock", - "synpred1_Css3", "importItem", "sass_map_name", "sass_while", "sass_control_block", - "sass_forward_as", "sass_extend", "less_fn_name", "containerAtRule", "fnAttributeName", - "synpred23_Css3", "synpred45_Css3", "styleFeature", "cp_math_expressions", - "typeSelector", "synpred7_Css3", "synpred35_Css3", "containerName", "synpred39_Css3", - "sass_each", "sass_each_variables", "synpred20_Css3", "cp_mixin_declaration", - "namespaces", "cp_mixin_block", "synpred63_Css3", "key_only", "synpred15_Css3", - "synpred54_Css3", "synpred9_Css3", "synpred65_Css3" + "invalidRule", "cp_mixin_block", "synpred53_Css3", "synpred70_Css3", "operator", + "media", "prio", "layerStatement", "styleQueryConjunction", "fnAttributeValue", + "synpred65_Css3", "mediaFeatureValue", "sizeFeature", "selectorsGroup", + "synpred42_Css3", "sass_forward_with_declaration", "sizeFeatureName", + "key_or", "supportsCondition", "sass_use_with_declaration", "synpred68_Css3", + "moz_document", "sass_function_name", "synpred27_Css3", "synpred44_Css3", + "sass_while", "cp_variable", "layerBody", "containerQueryDisjunction", + "synpred8_Css3", "fnAttributeName", "cp_arg", "fnAttributes", "slAttribute", + "synpred24_Css3", "styleFeature", "synpred4_Css3", "esPred", "less_import_types", + "synpred45_Css3", "propertyDeclaration", "synpred13_Css3", "synpred33_Css3", + "synpred16_Css3", "synpred62_Css3", "mediaQueryOperator", "cp_mixin_call_args", + "less_condition", "webkitKeyframeSelectors", "slAttributeName", "less_fn_name", + "sass_control", "containerCondition", "less_mixin_guarded", "cp_term_symbol", + "sass_control_expression", "webkitKeyframesBlock", "synpred15_Css3", "bodyItem", + "sass_if", "cp_math_expressions", "sass_use_as", "synpred56_Css3", "bracketBlock", + "layerAtRule", "at_rule", "charSet", "sizeFeatureValue", "sass_else", + "sass_forward_with", "sass_each", "cp_mixin_name", "synpred25_Css3", "term", + "mediaExpression", "synpred3_Css3", "sass_map_name", "synpred28_Css3", + "cp_math_expression_atom", "styleSheet", "synpred2_Css3", "synpred12_Css3", + "cp_math_expression", "namespace", "supportsAtRule", "containerAtRule", + "elementName", "synpred32_Css3", "sass_control_block", "sass_forward", + "namespaces", "sass_extend", "functionName", "sizeFeatureRangeSingle", + "importLayer", "styleConditionWithOperator", "componentValue", "sass_content", + "synpred9_Css3", "synpred37_Css3", "less_when", "synpred26_Css3", "syncTo_SEMI", + "margin", "synpred64_Css3", "page", "sass_error", "sass_map", "sass_nested_properties", + "resourceIdentifier", "selector", "cp_args_list", "synpred41_Css3", "sass_for", + "synpred48_Css3", "mediaQueryList", "counterStyle", "synpred54_Css3", + "synpred60_Css3", "synpred43_Css3", "sizeFeatureFixedValue", "synpred35_Css3", + "supportsWithOperator", "declarations", "sass_debug", "supportsDisjunction", + "supportsDecl", "importItem", "layerBlock", "slAttributeValue", "function", + "namespacePrefixName", "pseudoPage", "less_selector_interpolation_exp", + "synpred23_Css3", "sass_forward_hide", "styleQueryDisjunction", "synpred52_Css3", + "typeSelector", "less_function_in_condition", "synpred29_Css3", "sass_selector_interpolation_exp", + "syncTo_RBRACE", "declaration", "supportsFeature", "moz_document_function", + "sass_forward_as", "synpred19_Css3", "synpred21_Css3", "sass_function_return", + "atRuleId", "synpred36_Css3", "synpred69_Css3", "cp_expression_atom", + "synpred61_Css3", "hexColor", "simpleSelectorSequence", "synpred11_Css3", + "webkitKeyframes", "generic_at_rule", "unaryOperator", "sass_each_variables", + "componentValueOuter", "layerName", "elementSubsequent", "sass_map_pairs", + "synpred38_Css3", "preservedToken", "synpred58_Css3", "synpred67_Css3", + "cp_variable_declaration", "key_and", "synpred22_Css3", "cp_mixin_call_arg", + "rule", "ws", "synpred5_Css3", "cssClass", "namespacePrefix", "sass_use_with", + "synpred6_Css3", "sass_use", "margin_sym", "sass_map_pair", "braceBlock", + "synpred17_Css3", "sass_extend_only_selector", "synpred49_Css3", "synpred18_Css3", + "sass_forward_show", "cssId", "combinator", "propertyValue", "containerQueryConjunction", + "cp_mixin_call", "synpred51_Css3", "synpred7_Css3", "parenBlock", "supportsConjunction", + "sass_interpolation_expression_var", "synpred59_Css3", "fnAttribute", + "containerQueryInParens", "synpred71_Css3", "synpred66_Css3", "expression", + "containerQueryWithOperator", "synpred20_Css3", "synpred30_Css3", "cp_mixin_declaration", + "pseudo", "fontFace", "synpred47_Css3", "synpred39_Css3", "synpred10_Css3", + "styleQuery", "cp_expression_list", "synpred40_Css3", "synpred50_Css3", + "styleCondition", "key_only", "synpred57_Css3", "expressionPredicate", + "braceBlock2", "less_condition_operator", "synpred46_Css3", "imports", + "sizeFeatureRangeBetweenGt", "styleInParens", "syncToDeclarationsRule", + "mediaQuery", "sass_function_declaration", "syncToFollow", "charSetValue", + "cp_expression_operator", "cp_expression", "body", "synpred34_Css3", "containerName", + "synpred14_Css3", "synpred1_Css3", "synpred31_Css3", "preservedTokenTopLevel", + "supportsInParens", "sizeFeatureRangeBetweenLt", "less_selector_interpolation", + "mediaBodyItem", "mediaType", "synpred63_Css3", "cp_propertyValue", "property", + "mediaBody", "synpred55_Css3", "mediaFeature", "vendorAtRule" }; public static final boolean[] decisionCanBacktrack = new boolean[] { @@ -310,8 +312,8 @@ public Parser[] getDelegates() { true, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, true, + true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, @@ -327,18 +329,18 @@ public Parser[] getDelegates() { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, true, true, false, false, false, - false, true, false, false, false, false, false, true, false, false, - false, false, false, false, false, false, false, false, false, true, + false, false, false, false, false, false, false, true, true, false, + false, false, false, true, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, + false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - true, false, false, false, false, false, true, false, false, true, - false, false, false, false, false, false, true, false, false, false, - true, false, false, false, false, false, false, false, false, false, + false, false, true, false, false, false, false, false, true, false, + false, true, false, false, false, false, false, false, true, false, + false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, true, false, false, false, true, false, false, - false, false, false, false, false, false, false, false, true, false, + false, false, false, false, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, false, + true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, @@ -354,7 +356,7 @@ public Parser[] getDelegates() { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false + false, false, false, false, false, false, false, false, false, false }; @@ -13676,7 +13678,7 @@ else if ( (LA198_0==HASH_SYMBOL) ) { // $ANTLR start "generic_at_rule" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:715:1: generic_at_rule : AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: public final void generic_at_rule() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "generic_at_rule"); if ( getRuleLevel()==0 ) {dbg.commence();} @@ -13684,33 +13686,83 @@ public final void generic_at_rule() throws RecognitionException { dbg.location(715, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:5: ( AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:7: AT_IDENT ( ws )? ( atRuleId ( ws )? )? LBRACE syncTo_RBRACE RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { dbg.location(716,7); match(input,AT_IDENT,FOLLOW_AT_IDENT_in_generic_at_rule4013); if (state.failed) return;dbg.location(716,16); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:16: ( ws )? + pushFollow(FOLLOW_ws_in_generic_at_rule4015); + ws(); + state._fsp--; + if (state.failed) return;dbg.location(716,19); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:19: ( ( LBRACE )=> braceBlock2 | ( componentValue )=> componentValue ) int alt200=2; try { dbg.enterSubRule(200); try { dbg.enterDecision(200, decisionCanBacktrack[200]); int LA200_0 = input.LA(1); - if ( (LA200_0==COMMENT||LA200_0==NL||LA200_0==WS) ) { - alt200=1; + if ( (LA200_0==LBRACE) ) { + int LA200_1 = input.LA(2); + if ( (synpred32_Css3()) ) { + alt200=1; + } + else if ( (synpred33_Css3()) ) { + alt200=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 200, 1, input); + dbg.recognitionException(nvae); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + else if ( (LA200_0==LPAREN) && (synpred33_Css3())) { + alt200=2; + } + else if ( (LA200_0==LBRACKET) && (synpred33_Css3())) { + alt200=2; + } + else if ( (LA200_0==IDENT) && (synpred33_Css3())) { + alt200=2; } + else if ( ((LA200_0 >= A && LA200_0 <= I)||(LA200_0 >= IMPORTANT_SYM && LA200_0 <= LAYER_SYM)||(LA200_0 >= LEFTBOTTOM_SYM && LA200_0 <= LINE_COMMENT)||(LA200_0 >= M && LA200_0 <= R)||(LA200_0 >= REM && LA200_0 <= RIGHTTOP_SYM)||(LA200_0 >= S && LA200_0 <= Z)) && (synpred33_Css3())) { + alt200=2; + } + } finally {dbg.exitDecision(200);} switch (alt200) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:16: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:20: ( LBRACE )=> braceBlock2 { - dbg.location(716,16); - pushFollow(FOLLOW_ws_in_generic_at_rule4015); - ws(); + dbg.location(716,32); + pushFollow(FOLLOW_braceBlock2_in_generic_at_rule4024); + braceBlock2(); + state._fsp--; + if (state.failed) return; + } + break; + case 2 : + dbg.enterAlt(2); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:46: ( componentValue )=> componentValue + { + dbg.location(716,66); + pushFollow(FOLLOW_componentValue_in_generic_at_rule4034); + componentValue(); state._fsp--; if (state.failed) return; } @@ -13718,49 +13770,109 @@ public final void generic_at_rule() throws RecognitionException { } } finally {dbg.exitSubRule(200);} - dbg.location(716,20); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:20: ( atRuleId ( ws )? )? - int alt202=2; + dbg.location(716,82); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: try { dbg.enterSubRule(202); - try { dbg.enterDecision(202, decisionCanBacktrack[202]); - int LA202_0 = input.LA(1); - if ( (LA202_0==AT_IDENT||(LA202_0 >= BOTTOMCENTER_SYM && LA202_0 <= BOTTOMRIGHT_SYM)||LA202_0==CHARSET_SYM||LA202_0==COUNTER_STYLE_SYM||LA202_0==FONT_FACE_SYM||LA202_0==HASH_SYMBOL||LA202_0==IDENT||LA202_0==IMPORT_SYM||(LA202_0 >= LEFTBOTTOM_SYM && LA202_0 <= LEFTTOP_SYM)||LA202_0==MEDIA_SYM||LA202_0==MOZ_DOCUMENT_SYM||LA202_0==NAMESPACE_SYM||LA202_0==PAGE_SYM||(LA202_0 >= RIGHTBOTTOM_SYM && LA202_0 <= RIGHTTOP_SYM)||(LA202_0 >= SASS_AT_ROOT && LA202_0 <= SASS_DEBUG)||(LA202_0 >= SASS_EACH && LA202_0 <= SASS_ELSE)||LA202_0==SASS_EXTEND||(LA202_0 >= SASS_FOR && LA202_0 <= SASS_FUNCTION)||(LA202_0 >= SASS_IF && LA202_0 <= SASS_MIXIN)||(LA202_0 >= SASS_RETURN && LA202_0 <= SASS_WHILE)||LA202_0==STRING||(LA202_0 >= TOPCENTER_SYM && LA202_0 <= TOPRIGHT_SYM)||LA202_0==WEBKIT_KEYFRAMES_SYM) ) { - alt202=1; - } - } finally {dbg.exitDecision(202);} + loop202: + while (true) { + int alt202=2; + try { dbg.enterDecision(202, decisionCanBacktrack[202]); + + int LA202_0 = input.LA(1); + if ( (LA202_0==COMMENT||LA202_0==NL||LA202_0==WS) ) { + int LA202_1 = input.LA(2); + if ( (synpred35_Css3()) ) { + alt202=1; + } - switch (alt202) { + } + + } finally {dbg.exitDecision(202);} + + switch (alt202) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:22: atRuleId ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: + { + dbg.location(716,137); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:137: ( ws ( ( LBRACE )=> braceBlock2 | ( componentValue )=> componentValue ) ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:138: ws ( ( LBRACE )=> braceBlock2 | ( componentValue )=> componentValue ) { - dbg.location(716,22); - pushFollow(FOLLOW_atRuleId_in_generic_at_rule4020); - atRuleId(); + dbg.location(716,138); + pushFollow(FOLLOW_ws_in_generic_at_rule4059); + ws(); state._fsp--; - if (state.failed) return;dbg.location(716,31); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:31: ( ws )? + if (state.failed) return;dbg.location(716,141); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:141: ( ( LBRACE )=> braceBlock2 | ( componentValue )=> componentValue ) int alt201=2; try { dbg.enterSubRule(201); try { dbg.enterDecision(201, decisionCanBacktrack[201]); int LA201_0 = input.LA(1); - if ( (LA201_0==COMMENT||LA201_0==NL||LA201_0==WS) ) { - alt201=1; + if ( (LA201_0==LBRACE) ) { + int LA201_1 = input.LA(2); + if ( (synpred36_Css3()) ) { + alt201=1; + } + else if ( (synpred37_Css3()) ) { + alt201=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 201, 1, input); + dbg.recognitionException(nvae); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + else if ( (LA201_0==LPAREN) && (synpred37_Css3())) { + alt201=2; } + else if ( (LA201_0==LBRACKET) && (synpred37_Css3())) { + alt201=2; + } + else if ( (LA201_0==IDENT) && (synpred37_Css3())) { + alt201=2; + } + else if ( ((LA201_0 >= A && LA201_0 <= I)||(LA201_0 >= IMPORTANT_SYM && LA201_0 <= LAYER_SYM)||(LA201_0 >= LEFTBOTTOM_SYM && LA201_0 <= LINE_COMMENT)||(LA201_0 >= M && LA201_0 <= R)||(LA201_0 >= REM && LA201_0 <= RIGHTTOP_SYM)||(LA201_0 >= S && LA201_0 <= Z)) && (synpred37_Css3())) { + alt201=2; + } + } finally {dbg.exitDecision(201);} switch (alt201) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:31: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:142: ( LBRACE )=> braceBlock2 { - dbg.location(716,31); - pushFollow(FOLLOW_ws_in_generic_at_rule4022); - ws(); + dbg.location(716,154); + pushFollow(FOLLOW_braceBlock2_in_generic_at_rule4068); + braceBlock2(); + state._fsp--; + if (state.failed) return; + } + break; + case 2 : + dbg.enterAlt(2); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:168: ( componentValue )=> componentValue + { + dbg.location(716,188); + pushFollow(FOLLOW_componentValue_in_generic_at_rule4078); + componentValue(); state._fsp--; if (state.failed) return; } @@ -13769,18 +13881,17 @@ public final void generic_at_rule() throws RecognitionException { } } finally {dbg.exitSubRule(201);} + } + } break; + default : + break loop202; + } } } finally {dbg.exitSubRule(202);} - dbg.location(717,9); - match(input,LBRACE,FOLLOW_LBRACE_in_generic_at_rule4036); if (state.failed) return;dbg.location(718,10); - pushFollow(FOLLOW_syncTo_RBRACE_in_generic_at_rule4047); - syncTo_RBRACE(); - state._fsp--; - if (state.failed) return;dbg.location(719,9); - match(input,RBRACE,FOLLOW_RBRACE_in_generic_at_rule4057); if (state.failed) return; + } } @@ -13791,7 +13902,7 @@ public final void generic_at_rule() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(720, 1); + dbg.location(716, 205); } finally { @@ -13806,22 +13917,22 @@ public final void generic_at_rule() throws RecognitionException { // $ANTLR start "moz_document" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:1: moz_document : MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:718:1: moz_document : MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE ; public final void moz_document() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "moz_document"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(721, 0); + dbg.location(718, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:722:2: ( MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:719:2: ( MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:2: MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:2: MOZ_DOCUMENT_SYM ( ws )? ( moz_document_function ( ws )? ) ( COMMA ( ws )? moz_document_function ( ws )? )* LBRACE ( ws )? ( body )? RBRACE { - dbg.location(723,2); - match(input,MOZ_DOCUMENT_SYM,FOLLOW_MOZ_DOCUMENT_SYM_in_moz_document4068); if (state.failed) return;dbg.location(723,19); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:19: ( ws )? + dbg.location(720,2); + match(input,MOZ_DOCUMENT_SYM,FOLLOW_MOZ_DOCUMENT_SYM_in_moz_document4092); if (state.failed) return;dbg.location(720,19); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:19: ( ws )? int alt203=2; try { dbg.enterSubRule(203); try { dbg.enterDecision(203, decisionCanBacktrack[203]); @@ -13836,10 +13947,10 @@ public final void moz_document() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:19: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:19: ws { - dbg.location(723,19); - pushFollow(FOLLOW_ws_in_moz_document4070); + dbg.location(720,19); + pushFollow(FOLLOW_ws_in_moz_document4094); ws(); state._fsp--; if (state.failed) return; @@ -13848,18 +13959,18 @@ public final void moz_document() throws RecognitionException { } } finally {dbg.exitSubRule(203);} - dbg.location(723,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:23: ( moz_document_function ( ws )? ) + dbg.location(720,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:23: ( moz_document_function ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:25: moz_document_function ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:25: moz_document_function ( ws )? { - dbg.location(723,25); - pushFollow(FOLLOW_moz_document_function_in_moz_document4075); + dbg.location(720,25); + pushFollow(FOLLOW_moz_document_function_in_moz_document4099); moz_document_function(); state._fsp--; - if (state.failed) return;dbg.location(723,47); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:47: ( ws )? + if (state.failed) return;dbg.location(720,47); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:47: ( ws )? int alt204=2; try { dbg.enterSubRule(204); try { dbg.enterDecision(204, decisionCanBacktrack[204]); @@ -13874,10 +13985,10 @@ public final void moz_document() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:47: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:47: ws { - dbg.location(723,47); - pushFollow(FOLLOW_ws_in_moz_document4077); + dbg.location(720,47); + pushFollow(FOLLOW_ws_in_moz_document4101); ws(); state._fsp--; if (state.failed) return; @@ -13888,8 +13999,8 @@ public final void moz_document() throws RecognitionException { } finally {dbg.exitSubRule(204);} } - dbg.location(723,52); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:52: ( COMMA ( ws )? moz_document_function ( ws )? )* + dbg.location(720,52); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:52: ( COMMA ( ws )? moz_document_function ( ws )? )* try { dbg.enterSubRule(207); loop207: @@ -13908,11 +14019,11 @@ public final void moz_document() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:54: COMMA ( ws )? moz_document_function ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:54: COMMA ( ws )? moz_document_function ( ws )? { - dbg.location(723,54); - match(input,COMMA,FOLLOW_COMMA_in_moz_document4083); if (state.failed) return;dbg.location(723,60); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:60: ( ws )? + dbg.location(720,54); + match(input,COMMA,FOLLOW_COMMA_in_moz_document4107); if (state.failed) return;dbg.location(720,60); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:60: ( ws )? int alt205=2; try { dbg.enterSubRule(205); try { dbg.enterDecision(205, decisionCanBacktrack[205]); @@ -13927,10 +14038,10 @@ public final void moz_document() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:60: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:60: ws { - dbg.location(723,60); - pushFollow(FOLLOW_ws_in_moz_document4085); + dbg.location(720,60); + pushFollow(FOLLOW_ws_in_moz_document4109); ws(); state._fsp--; if (state.failed) return; @@ -13939,12 +14050,12 @@ public final void moz_document() throws RecognitionException { } } finally {dbg.exitSubRule(205);} - dbg.location(723,64); - pushFollow(FOLLOW_moz_document_function_in_moz_document4088); + dbg.location(720,64); + pushFollow(FOLLOW_moz_document_function_in_moz_document4112); moz_document_function(); state._fsp--; - if (state.failed) return;dbg.location(723,86); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:86: ( ws )? + if (state.failed) return;dbg.location(720,86); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:86: ( ws )? int alt206=2; try { dbg.enterSubRule(206); try { dbg.enterDecision(206, decisionCanBacktrack[206]); @@ -13959,10 +14070,10 @@ public final void moz_document() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:723:86: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:720:86: ws { - dbg.location(723,86); - pushFollow(FOLLOW_ws_in_moz_document4090); + dbg.location(720,86); + pushFollow(FOLLOW_ws_in_moz_document4114); ws(); state._fsp--; if (state.failed) return; @@ -13980,9 +14091,9 @@ public final void moz_document() throws RecognitionException { } } } finally {dbg.exitSubRule(207);} - dbg.location(724,2); - match(input,LBRACE,FOLLOW_LBRACE_in_moz_document4097); if (state.failed) return;dbg.location(724,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:9: ( ws )? + dbg.location(721,2); + match(input,LBRACE,FOLLOW_LBRACE_in_moz_document4121); if (state.failed) return;dbg.location(721,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:9: ( ws )? int alt208=2; try { dbg.enterSubRule(208); try { dbg.enterDecision(208, decisionCanBacktrack[208]); @@ -13997,10 +14108,10 @@ public final void moz_document() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:724:9: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:721:9: ws { - dbg.location(724,9); - pushFollow(FOLLOW_ws_in_moz_document4099); + dbg.location(721,9); + pushFollow(FOLLOW_ws_in_moz_document4123); ws(); state._fsp--; if (state.failed) return; @@ -14009,8 +14120,8 @@ public final void moz_document() throws RecognitionException { } } finally {dbg.exitSubRule(208);} - dbg.location(725,3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:3: ( body )? + dbg.location(722,3); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:722:3: ( body )? int alt209=2; try { dbg.enterSubRule(209); try { dbg.enterDecision(209, decisionCanBacktrack[209]); @@ -14025,10 +14136,10 @@ public final void moz_document() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:725:3: body + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:722:3: body { - dbg.location(725,3); - pushFollow(FOLLOW_body_in_moz_document4104); + dbg.location(722,3); + pushFollow(FOLLOW_body_in_moz_document4128); body(); state._fsp--; if (state.failed) return; @@ -14037,8 +14148,8 @@ public final void moz_document() throws RecognitionException { } } finally {dbg.exitSubRule(209);} - dbg.location(726,2); - match(input,RBRACE,FOLLOW_RBRACE_in_moz_document4109); if (state.failed) return; + dbg.location(723,2); + match(input,RBRACE,FOLLOW_RBRACE_in_moz_document4133); if (state.failed) return; } } @@ -14049,7 +14160,7 @@ public final void moz_document() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(727, 1); + dbg.location(724, 1); } finally { @@ -14064,20 +14175,20 @@ public final void moz_document() throws RecognitionException { // $ANTLR start "moz_document_function" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:729:1: moz_document_function : ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:726:1: moz_document_function : ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP ); public final void moz_document_function() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "moz_document_function"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(729, 0); + dbg.location(726, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:730:2: ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:727:2: ( URI | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(730,2); + dbg.location(727,2); if ( (input.LA(1) >= MOZ_DOMAIN && input.LA(1) <= MOZ_URL_PREFIX)||input.LA(1)==URI ) { input.consume(); state.errorRecovery=false; @@ -14099,7 +14210,7 @@ public final void moz_document_function() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(732, 1); + dbg.location(729, 1); } finally { @@ -14114,22 +14225,22 @@ public final void moz_document_function() throws RecognitionException { // $ANTLR start "webkitKeyframes" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:735:1: webkitKeyframes : WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:732:1: webkitKeyframes : WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ; public final void webkitKeyframes() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "webkitKeyframes"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(735, 0); + dbg.location(732, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:2: ( WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:733:2: ( WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:2: WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:2: WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE { - dbg.location(737,2); - match(input,WEBKIT_KEYFRAMES_SYM,FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes4146); if (state.failed) return;dbg.location(737,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:23: ( ws )? + dbg.location(734,2); + match(input,WEBKIT_KEYFRAMES_SYM,FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes4170); if (state.failed) return;dbg.location(734,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:23: ( ws )? int alt210=2; try { dbg.enterSubRule(210); try { dbg.enterDecision(210, decisionCanBacktrack[210]); @@ -14144,10 +14255,10 @@ public final void webkitKeyframes() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:23: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:23: ws { - dbg.location(737,23); - pushFollow(FOLLOW_ws_in_webkitKeyframes4148); + dbg.location(734,23); + pushFollow(FOLLOW_ws_in_webkitKeyframes4172); ws(); state._fsp--; if (state.failed) return; @@ -14156,12 +14267,12 @@ public final void webkitKeyframes() throws RecognitionException { } } finally {dbg.exitSubRule(210);} - dbg.location(737,27); - pushFollow(FOLLOW_atRuleId_in_webkitKeyframes4151); + dbg.location(734,27); + pushFollow(FOLLOW_atRuleId_in_webkitKeyframes4175); atRuleId(); state._fsp--; - if (state.failed) return;dbg.location(737,36); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:36: ( ws )? + if (state.failed) return;dbg.location(734,36); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:36: ( ws )? int alt211=2; try { dbg.enterSubRule(211); try { dbg.enterDecision(211, decisionCanBacktrack[211]); @@ -14176,10 +14287,10 @@ public final void webkitKeyframes() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:737:36: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:36: ws { - dbg.location(737,36); - pushFollow(FOLLOW_ws_in_webkitKeyframes4153); + dbg.location(734,36); + pushFollow(FOLLOW_ws_in_webkitKeyframes4177); ws(); state._fsp--; if (state.failed) return; @@ -14188,9 +14299,9 @@ public final void webkitKeyframes() throws RecognitionException { } } finally {dbg.exitSubRule(211);} - dbg.location(738,2); - match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframes4157); if (state.failed) return;dbg.location(738,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:9: ( ws )? + dbg.location(735,2); + match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframes4181); if (state.failed) return;dbg.location(735,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:735:9: ( ws )? int alt212=2; try { dbg.enterSubRule(212); try { dbg.enterDecision(212, decisionCanBacktrack[212]); @@ -14205,10 +14316,10 @@ public final void webkitKeyframes() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:738:9: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:735:9: ws { - dbg.location(738,9); - pushFollow(FOLLOW_ws_in_webkitKeyframes4159); + dbg.location(735,9); + pushFollow(FOLLOW_ws_in_webkitKeyframes4183); ws(); state._fsp--; if (state.failed) return; @@ -14217,8 +14328,8 @@ public final void webkitKeyframes() throws RecognitionException { } } finally {dbg.exitSubRule(212);} - dbg.location(739,3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:739:3: ( webkitKeyframesBlock ( ws )? )* + dbg.location(736,3); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:3: ( webkitKeyframesBlock ( ws )? )* try { dbg.enterSubRule(214); loop214: @@ -14237,14 +14348,14 @@ public final void webkitKeyframes() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:739:5: webkitKeyframesBlock ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:5: webkitKeyframesBlock ( ws )? { - dbg.location(739,5); - pushFollow(FOLLOW_webkitKeyframesBlock_in_webkitKeyframes4166); + dbg.location(736,5); + pushFollow(FOLLOW_webkitKeyframesBlock_in_webkitKeyframes4190); webkitKeyframesBlock(); state._fsp--; - if (state.failed) return;dbg.location(739,26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:739:26: ( ws )? + if (state.failed) return;dbg.location(736,26); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:26: ( ws )? int alt213=2; try { dbg.enterSubRule(213); try { dbg.enterDecision(213, decisionCanBacktrack[213]); @@ -14259,10 +14370,10 @@ public final void webkitKeyframes() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:739:26: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:26: ws { - dbg.location(739,26); - pushFollow(FOLLOW_ws_in_webkitKeyframes4168); + dbg.location(736,26); + pushFollow(FOLLOW_ws_in_webkitKeyframes4192); ws(); state._fsp--; if (state.failed) return; @@ -14280,8 +14391,8 @@ public final void webkitKeyframes() throws RecognitionException { } } } finally {dbg.exitSubRule(214);} - dbg.location(740,2); - match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframes4175); if (state.failed) return; + dbg.location(737,2); + match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframes4199); if (state.failed) return; } } @@ -14292,7 +14403,7 @@ public final void webkitKeyframes() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(741, 1); + dbg.location(738, 1); } finally { @@ -14307,15 +14418,15 @@ public final void webkitKeyframes() throws RecognitionException { // $ANTLR start "webkitKeyframesBlock" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:743:1: webkitKeyframesBlock : ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:740:1: webkitKeyframesBlock : ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? ); public final void webkitKeyframesBlock() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "webkitKeyframesBlock"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(743, 0); + dbg.location(740, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:744:2: ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:741:2: ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? ) int alt219=2; try { dbg.enterDecision(219, decisionCanBacktrack[219]); @@ -14341,14 +14452,14 @@ else if ( (LA219_0==SASS_CONTENT) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:745:2: webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:742:2: webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE { - dbg.location(745,2); - pushFollow(FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock4187); + dbg.location(742,2); + pushFollow(FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock4211); webkitKeyframeSelectors(); state._fsp--; - if (state.failed) return;dbg.location(745,26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:745:26: ( ws )? + if (state.failed) return;dbg.location(742,26); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:742:26: ( ws )? int alt215=2; try { dbg.enterSubRule(215); try { dbg.enterDecision(215, decisionCanBacktrack[215]); @@ -14363,10 +14474,10 @@ else if ( (LA219_0==SASS_CONTENT) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:745:26: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:742:26: ws { - dbg.location(745,26); - pushFollow(FOLLOW_ws_in_webkitKeyframesBlock4189); + dbg.location(742,26); + pushFollow(FOLLOW_ws_in_webkitKeyframesBlock4213); ws(); state._fsp--; if (state.failed) return; @@ -14375,9 +14486,9 @@ else if ( (LA219_0==SASS_CONTENT) ) { } } finally {dbg.exitSubRule(215);} - dbg.location(746,2); - match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframesBlock4193); if (state.failed) return;dbg.location(746,10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:10: ( ws )? + dbg.location(743,2); + match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframesBlock4217); if (state.failed) return;dbg.location(743,10); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:743:10: ( ws )? int alt216=2; try { dbg.enterSubRule(216); try { dbg.enterDecision(216, decisionCanBacktrack[216]); @@ -14392,10 +14503,10 @@ else if ( (LA219_0==SASS_CONTENT) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:10: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:743:10: ws { - dbg.location(746,10); - pushFollow(FOLLOW_ws_in_webkitKeyframesBlock4196); + dbg.location(743,10); + pushFollow(FOLLOW_ws_in_webkitKeyframesBlock4220); ws(); state._fsp--; if (state.failed) return; @@ -14404,12 +14515,12 @@ else if ( (LA219_0==SASS_CONTENT) ) { } } finally {dbg.exitSubRule(216);} - dbg.location(746,14); - pushFollow(FOLLOW_syncToFollow_in_webkitKeyframesBlock4199); + dbg.location(743,14); + pushFollow(FOLLOW_syncToFollow_in_webkitKeyframesBlock4223); syncToFollow(); state._fsp--; - if (state.failed) return;dbg.location(747,3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:3: ( declarations )? + if (state.failed) return;dbg.location(744,3); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:744:3: ( declarations )? int alt217=2; try { dbg.enterSubRule(217); try { dbg.enterDecision(217, decisionCanBacktrack[217]); @@ -14424,10 +14535,10 @@ else if ( (LA219_0==SASS_CONTENT) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:747:3: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:744:3: declarations { - dbg.location(747,3); - pushFollow(FOLLOW_declarations_in_webkitKeyframesBlock4203); + dbg.location(744,3); + pushFollow(FOLLOW_declarations_in_webkitKeyframesBlock4227); declarations(); state._fsp--; if (state.failed) return; @@ -14436,29 +14547,29 @@ else if ( (LA219_0==SASS_CONTENT) ) { } } finally {dbg.exitSubRule(217);} - dbg.location(748,2); - match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframesBlock4207); if (state.failed) return; + dbg.location(745,2); + match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframesBlock4231); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:749:11: {...}?{...}? sass_content ( SEMI )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:11: {...}?{...}? sass_content ( SEMI )? { - dbg.location(749,11); + dbg.location(746,11); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframesBlock", "isScssSource()"); - }dbg.location(749,30); + }dbg.location(746,30); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframesBlock", "isScssSource()"); - }dbg.location(749,48); - pushFollow(FOLLOW_sass_content_in_webkitKeyframesBlock4224); + }dbg.location(746,48); + pushFollow(FOLLOW_sass_content_in_webkitKeyframesBlock4248); sass_content(); state._fsp--; - if (state.failed) return;dbg.location(749,61); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:749:61: ( SEMI )? + if (state.failed) return;dbg.location(746,61); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:61: ( SEMI )? int alt218=2; try { dbg.enterSubRule(218); try { dbg.enterDecision(218, decisionCanBacktrack[218]); @@ -14473,10 +14584,10 @@ else if ( (LA219_0==SASS_CONTENT) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:749:61: SEMI + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:61: SEMI { - dbg.location(749,61); - match(input,SEMI,FOLLOW_SEMI_in_webkitKeyframesBlock4226); if (state.failed) return; + dbg.location(746,61); + match(input,SEMI,FOLLOW_SEMI_in_webkitKeyframesBlock4250); if (state.failed) return; } break; @@ -14495,7 +14606,7 @@ else if ( (LA219_0==SASS_CONTENT) ) { finally { // do for sure before leaving } - dbg.location(750, 1); + dbg.location(747, 1); } finally { @@ -14510,21 +14621,21 @@ else if ( (LA219_0==SASS_CONTENT) ) { // $ANTLR start "webkitKeyframeSelectors" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:752:1: webkitKeyframeSelectors : ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:749:1: webkitKeyframeSelectors : ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* ; public final void webkitKeyframeSelectors() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "webkitKeyframeSelectors"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(752, 0); + dbg.location(749, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:753:2: ( ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:750:2: ( ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* { - dbg.location(754,2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) + dbg.location(751,2); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) int alt220=3; try { dbg.enterSubRule(220); try { dbg.enterDecision(220, decisionCanBacktrack[220]); @@ -14572,43 +14683,43 @@ else if ( (LA220_0==PERCENTAGE) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:4: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:4: {...}? IDENT { - dbg.location(754,4); + dbg.location(751,4); if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"from\")"); - }dbg.location(754,31); - match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4243); if (state.failed) return; + }dbg.location(751,31); + match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4267); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:39: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:39: {...}? IDENT { - dbg.location(754,39); + dbg.location(751,39); if ( !(evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"to\")"); - }dbg.location(754,64); - match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4249); if (state.failed) return; + }dbg.location(751,64); + match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4273); if (state.failed) return; } break; case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:72: PERCENTAGE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:72: PERCENTAGE { - dbg.location(754,72); - match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors4253); if (state.failed) return; + dbg.location(751,72); + match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors4277); if (state.failed) return; } break; } } finally {dbg.exitSubRule(220);} - dbg.location(754,85); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* + dbg.location(751,85); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* try { dbg.enterSubRule(224); loop224: @@ -14630,10 +14741,10 @@ else if ( (LA220_0==PERCENTAGE) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:87: ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:87: ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) { - dbg.location(754,87); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:87: ( ws )? + dbg.location(751,87); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:87: ( ws )? int alt221=2; try { dbg.enterSubRule(221); try { dbg.enterDecision(221, decisionCanBacktrack[221]); @@ -14648,10 +14759,10 @@ else if ( (LA220_0==PERCENTAGE) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:87: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:87: ws { - dbg.location(754,87); - pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors4259); + dbg.location(751,87); + pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors4283); ws(); state._fsp--; if (state.failed) return; @@ -14660,9 +14771,9 @@ else if ( (LA220_0==PERCENTAGE) ) { } } finally {dbg.exitSubRule(221);} - dbg.location(754,91); - match(input,COMMA,FOLLOW_COMMA_in_webkitKeyframeSelectors4262); if (state.failed) return;dbg.location(754,97); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:97: ( ws )? + dbg.location(751,91); + match(input,COMMA,FOLLOW_COMMA_in_webkitKeyframeSelectors4286); if (state.failed) return;dbg.location(751,97); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:97: ( ws )? int alt222=2; try { dbg.enterSubRule(222); try { dbg.enterDecision(222, decisionCanBacktrack[222]); @@ -14677,10 +14788,10 @@ else if ( (LA220_0==PERCENTAGE) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:97: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:97: ws { - dbg.location(754,97); - pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors4264); + dbg.location(751,97); + pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors4288); ws(); state._fsp--; if (state.failed) return; @@ -14689,8 +14800,8 @@ else if ( (LA220_0==PERCENTAGE) ) { } } finally {dbg.exitSubRule(222);} - dbg.location(754,101); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:101: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) + dbg.location(751,101); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:101: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) int alt223=3; try { dbg.enterSubRule(223); try { dbg.enterDecision(223, decisionCanBacktrack[223]); @@ -14738,36 +14849,36 @@ else if ( (LA223_0==PERCENTAGE) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:103: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:103: {...}? IDENT { - dbg.location(754,103); + dbg.location(751,103); if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"from\")"); - }dbg.location(754,130); - match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4271); if (state.failed) return; + }dbg.location(751,130); + match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4295); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:138: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:138: {...}? IDENT { - dbg.location(754,138); + dbg.location(751,138); if ( !(evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"to\")"); - }dbg.location(754,163); - match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4277); if (state.failed) return; + }dbg.location(751,163); + match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4301); if (state.failed) return; } break; case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:171: PERCENTAGE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:171: PERCENTAGE { - dbg.location(754,171); - match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors4281); if (state.failed) return; + dbg.location(751,171); + match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors4305); if (state.failed) return; } break; @@ -14793,7 +14904,7 @@ else if ( (LA223_0==PERCENTAGE) ) { finally { // do for sure before leaving } - dbg.location(755, 1); + dbg.location(752, 1); } finally { @@ -14808,7 +14919,7 @@ else if ( (LA223_0==PERCENTAGE) ) { // $ANTLR start "page" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:757:1: page : PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* ( SEMI )? ( ws )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:754:1: page : PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* ( SEMI )? ( ws )? RBRACE ; public final void page() throws RecognitionException { boolean semiRequired = false; @@ -14816,17 +14927,17 @@ public final void page() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "page"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(757, 0); + dbg.location(754, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:5: ( PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* ( SEMI )? ( ws )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:5: ( PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* ( SEMI )? ( ws )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:7: PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* ( SEMI )? ( ws )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:7: PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* ( SEMI )? ( ws )? RBRACE { - dbg.location(761,7); - match(input,PAGE_SYM,FOLLOW_PAGE_SYM_in_page4305); if (state.failed) return;dbg.location(761,16); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:16: ( ws )? + dbg.location(758,7); + match(input,PAGE_SYM,FOLLOW_PAGE_SYM_in_page4329); if (state.failed) return;dbg.location(758,16); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:16: ( ws )? int alt225=2; try { dbg.enterSubRule(225); try { dbg.enterDecision(225, decisionCanBacktrack[225]); @@ -14841,10 +14952,10 @@ public final void page() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:16: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:16: ws { - dbg.location(761,16); - pushFollow(FOLLOW_ws_in_page4307); + dbg.location(758,16); + pushFollow(FOLLOW_ws_in_page4331); ws(); state._fsp--; if (state.failed) return; @@ -14853,8 +14964,8 @@ public final void page() throws RecognitionException { } } finally {dbg.exitSubRule(225);} - dbg.location(761,20); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:20: ( IDENT ( ws )? )? + dbg.location(758,20); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:20: ( IDENT ( ws )? )? int alt227=2; try { dbg.enterSubRule(227); try { dbg.enterDecision(227, decisionCanBacktrack[227]); @@ -14869,11 +14980,11 @@ public final void page() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:22: IDENT ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:22: IDENT ( ws )? { - dbg.location(761,22); - match(input,IDENT,FOLLOW_IDENT_in_page4312); if (state.failed) return;dbg.location(761,28); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:28: ( ws )? + dbg.location(758,22); + match(input,IDENT,FOLLOW_IDENT_in_page4336); if (state.failed) return;dbg.location(758,28); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:28: ( ws )? int alt226=2; try { dbg.enterSubRule(226); try { dbg.enterDecision(226, decisionCanBacktrack[226]); @@ -14888,10 +14999,10 @@ public final void page() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:28: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:28: ws { - dbg.location(761,28); - pushFollow(FOLLOW_ws_in_page4314); + dbg.location(758,28); + pushFollow(FOLLOW_ws_in_page4338); ws(); state._fsp--; if (state.failed) return; @@ -14906,8 +15017,8 @@ public final void page() throws RecognitionException { } } finally {dbg.exitSubRule(227);} - dbg.location(761,35); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:35: ( pseudoPage ( ws )? )? + dbg.location(758,35); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:35: ( pseudoPage ( ws )? )? int alt229=2; try { dbg.enterSubRule(229); try { dbg.enterDecision(229, decisionCanBacktrack[229]); @@ -14922,14 +15033,14 @@ public final void page() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:36: pseudoPage ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:36: pseudoPage ( ws )? { - dbg.location(761,36); - pushFollow(FOLLOW_pseudoPage_in_page4321); + dbg.location(758,36); + pushFollow(FOLLOW_pseudoPage_in_page4345); pseudoPage(); state._fsp--; - if (state.failed) return;dbg.location(761,47); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:47: ( ws )? + if (state.failed) return;dbg.location(758,47); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:47: ( ws )? int alt228=2; try { dbg.enterSubRule(228); try { dbg.enterDecision(228, decisionCanBacktrack[228]); @@ -14944,10 +15055,10 @@ public final void page() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:761:47: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:47: ws { - dbg.location(761,47); - pushFollow(FOLLOW_ws_in_page4323); + dbg.location(758,47); + pushFollow(FOLLOW_ws_in_page4347); ws(); state._fsp--; if (state.failed) return; @@ -14962,9 +15073,9 @@ public final void page() throws RecognitionException { } } finally {dbg.exitSubRule(229);} - dbg.location(762,9); - match(input,LBRACE,FOLLOW_LBRACE_in_page4336); if (state.failed) return;dbg.location(765,13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:13: ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* + dbg.location(759,9); + match(input,LBRACE,FOLLOW_LBRACE_in_page4360); if (state.failed) return;dbg.location(762,13); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:13: ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* try { dbg.enterSubRule(236); loop236: @@ -14986,10 +15097,10 @@ public final void page() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:15: ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:15: ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) { - dbg.location(765,15); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:15: ( ws )? + dbg.location(762,15); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:15: ( ws )? int alt230=2; try { dbg.enterSubRule(230); try { dbg.enterDecision(230, decisionCanBacktrack[230]); @@ -15004,10 +15115,10 @@ public final void page() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:15: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:15: ws { - dbg.location(765,15); - pushFollow(FOLLOW_ws_in_page4378); + dbg.location(762,15); + pushFollow(FOLLOW_ws_in_page4402); ws(); state._fsp--; if (state.failed) return; @@ -15016,8 +15127,8 @@ public final void page() throws RecognitionException { } } finally {dbg.exitSubRule(230);} - dbg.location(765,19); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:19: ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) + dbg.location(762,19); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:19: ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) int alt234=2; try { dbg.enterSubRule(234); try { dbg.enterDecision(234, decisionCanBacktrack[234]); @@ -15051,21 +15162,21 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:20: {...}? ( SEMI ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:20: {...}? ( SEMI ( ws )? ) { - dbg.location(765,20); + dbg.location(762,20); if ( !(evalPredicate(semiRequired,"semiRequired")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "page", "semiRequired"); - }dbg.location(765,36); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:36: ( SEMI ( ws )? ) + }dbg.location(762,36); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:36: ( SEMI ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:37: SEMI ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:37: SEMI ( ws )? { - dbg.location(765,37); - match(input,SEMI,FOLLOW_SEMI_in_page4385); if (state.failed) return;dbg.location(765,42); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:42: ( ws )? + dbg.location(762,37); + match(input,SEMI,FOLLOW_SEMI_in_page4409); if (state.failed) return;dbg.location(762,42); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:42: ( ws )? int alt231=2; try { dbg.enterSubRule(231); try { dbg.enterDecision(231, decisionCanBacktrack[231]); @@ -15080,10 +15191,10 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:42: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:42: ws { - dbg.location(765,42); - pushFollow(FOLLOW_ws_in_page4387); + dbg.location(762,42); + pushFollow(FOLLOW_ws_in_page4411); ws(); state._fsp--; if (state.failed) return; @@ -15100,10 +15211,10 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:49: ( SEMI ( ws )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:49: ( SEMI ( ws )? )? { - dbg.location(765,49); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:49: ( SEMI ( ws )? )? + dbg.location(762,49); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:49: ( SEMI ( ws )? )? int alt233=2; try { dbg.enterSubRule(233); try { dbg.enterDecision(233, decisionCanBacktrack[233]); @@ -15118,11 +15229,11 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:50: SEMI ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:50: SEMI ( ws )? { - dbg.location(765,50); - match(input,SEMI,FOLLOW_SEMI_in_page4394); if (state.failed) return;dbg.location(765,55); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:55: ( ws )? + dbg.location(762,50); + match(input,SEMI,FOLLOW_SEMI_in_page4418); if (state.failed) return;dbg.location(762,55); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:55: ( ws )? int alt232=2; try { dbg.enterSubRule(232); try { dbg.enterDecision(232, decisionCanBacktrack[232]); @@ -15137,10 +15248,10 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:55: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:55: ws { - dbg.location(765,55); - pushFollow(FOLLOW_ws_in_page4396); + dbg.location(762,55); + pushFollow(FOLLOW_ws_in_page4420); ws(); state._fsp--; if (state.failed) return; @@ -15161,8 +15272,8 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER } } finally {dbg.exitSubRule(234);} - dbg.location(765,62); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:62: ( propertyDeclaration | margin ) + dbg.location(762,62); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:62: ( propertyDeclaration | margin ) int alt235=2; try { dbg.enterSubRule(235); try { dbg.enterDecision(235, decisionCanBacktrack[235]); @@ -15181,26 +15292,26 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:63: propertyDeclaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:63: propertyDeclaration { - dbg.location(765,63); - pushFollow(FOLLOW_propertyDeclaration_in_page4403); + dbg.location(762,63); + pushFollow(FOLLOW_propertyDeclaration_in_page4427); propertyDeclaration(); state._fsp--; - if (state.failed) return;dbg.location(765,82); + if (state.failed) return;dbg.location(762,82); if ( state.backtracking==0 ) {semiRequired=true;} } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:765:103: margin + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:103: margin { - dbg.location(765,103); - pushFollow(FOLLOW_margin_in_page4406); + dbg.location(762,103); + pushFollow(FOLLOW_margin_in_page4430); margin(); state._fsp--; - if (state.failed) return;dbg.location(765,109); + if (state.failed) return;dbg.location(762,109); if ( state.backtracking==0 ) {semiRequired=false;} } break; @@ -15216,8 +15327,8 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER } } } finally {dbg.exitSubRule(236);} - dbg.location(766,13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:766:13: ( SEMI )? + dbg.location(763,13); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:763:13: ( SEMI )? int alt237=2; try { dbg.enterSubRule(237); try { dbg.enterDecision(237, decisionCanBacktrack[237]); @@ -15232,17 +15343,17 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:766:13: SEMI + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:763:13: SEMI { - dbg.location(766,13); - match(input,SEMI,FOLLOW_SEMI_in_page4424); if (state.failed) return; + dbg.location(763,13); + match(input,SEMI,FOLLOW_SEMI_in_page4448); if (state.failed) return; } break; } } finally {dbg.exitSubRule(237);} - dbg.location(767,13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:767:13: ( ws )? + dbg.location(764,13); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:764:13: ( ws )? int alt238=2; try { dbg.enterSubRule(238); try { dbg.enterDecision(238, decisionCanBacktrack[238]); @@ -15257,10 +15368,10 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:767:13: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:764:13: ws { - dbg.location(767,13); - pushFollow(FOLLOW_ws_in_page4439); + dbg.location(764,13); + pushFollow(FOLLOW_ws_in_page4463); ws(); state._fsp--; if (state.failed) return; @@ -15269,8 +15380,8 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER } } finally {dbg.exitSubRule(238);} - dbg.location(768,9); - match(input,RBRACE,FOLLOW_RBRACE_in_page4450); if (state.failed) return; + dbg.location(765,9); + match(input,RBRACE,FOLLOW_RBRACE_in_page4474); if (state.failed) return; } } @@ -15281,7 +15392,7 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER finally { // do for sure before leaving } - dbg.location(769, 4); + dbg.location(766, 4); } finally { @@ -15296,22 +15407,22 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER // $ANTLR start "counterStyle" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:771:1: counterStyle : COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:768:1: counterStyle : COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ; public final void counterStyle() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "counterStyle"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(771, 0); + dbg.location(768, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:772:5: ( COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:5: ( COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:772:7: COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:7: COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE { - dbg.location(772,7); - match(input,COUNTER_STYLE_SYM,FOLLOW_COUNTER_STYLE_SYM_in_counterStyle4467); if (state.failed) return;dbg.location(772,25); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:772:25: ( ws )? + dbg.location(769,7); + match(input,COUNTER_STYLE_SYM,FOLLOW_COUNTER_STYLE_SYM_in_counterStyle4491); if (state.failed) return;dbg.location(769,25); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:25: ( ws )? int alt239=2; try { dbg.enterSubRule(239); try { dbg.enterDecision(239, decisionCanBacktrack[239]); @@ -15326,10 +15437,10 @@ public final void counterStyle() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:772:25: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:25: ws { - dbg.location(772,25); - pushFollow(FOLLOW_ws_in_counterStyle4469); + dbg.location(769,25); + pushFollow(FOLLOW_ws_in_counterStyle4493); ws(); state._fsp--; if (state.failed) return; @@ -15338,9 +15449,9 @@ public final void counterStyle() throws RecognitionException { } } finally {dbg.exitSubRule(239);} - dbg.location(772,29); - match(input,IDENT,FOLLOW_IDENT_in_counterStyle4472); if (state.failed) return;dbg.location(772,35); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:772:35: ( ws )? + dbg.location(769,29); + match(input,IDENT,FOLLOW_IDENT_in_counterStyle4496); if (state.failed) return;dbg.location(769,35); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:35: ( ws )? int alt240=2; try { dbg.enterSubRule(240); try { dbg.enterDecision(240, decisionCanBacktrack[240]); @@ -15355,10 +15466,10 @@ public final void counterStyle() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:772:35: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:35: ws { - dbg.location(772,35); - pushFollow(FOLLOW_ws_in_counterStyle4474); + dbg.location(769,35); + pushFollow(FOLLOW_ws_in_counterStyle4498); ws(); state._fsp--; if (state.failed) return; @@ -15367,9 +15478,9 @@ public final void counterStyle() throws RecognitionException { } } finally {dbg.exitSubRule(240);} - dbg.location(773,9); - match(input,LBRACE,FOLLOW_LBRACE_in_counterStyle4485); if (state.failed) return;dbg.location(773,16); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:773:16: ( ws )? + dbg.location(770,9); + match(input,LBRACE,FOLLOW_LBRACE_in_counterStyle4509); if (state.failed) return;dbg.location(770,16); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:770:16: ( ws )? int alt241=2; try { dbg.enterSubRule(241); try { dbg.enterDecision(241, decisionCanBacktrack[241]); @@ -15384,10 +15495,10 @@ public final void counterStyle() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:773:16: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:770:16: ws { - dbg.location(773,16); - pushFollow(FOLLOW_ws_in_counterStyle4487); + dbg.location(770,16); + pushFollow(FOLLOW_ws_in_counterStyle4511); ws(); state._fsp--; if (state.failed) return; @@ -15396,12 +15507,12 @@ public final void counterStyle() throws RecognitionException { } } finally {dbg.exitSubRule(241);} - dbg.location(773,20); - pushFollow(FOLLOW_syncToDeclarationsRule_in_counterStyle4490); + dbg.location(770,20); + pushFollow(FOLLOW_syncToDeclarationsRule_in_counterStyle4514); syncToDeclarationsRule(); state._fsp--; - if (state.failed) return;dbg.location(774,3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:774:3: ( declarations )? + if (state.failed) return;dbg.location(771,3); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:771:3: ( declarations )? int alt242=2; try { dbg.enterSubRule(242); try { dbg.enterDecision(242, decisionCanBacktrack[242]); @@ -15416,10 +15527,10 @@ public final void counterStyle() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:774:3: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:771:3: declarations { - dbg.location(774,3); - pushFollow(FOLLOW_declarations_in_counterStyle4494); + dbg.location(771,3); + pushFollow(FOLLOW_declarations_in_counterStyle4518); declarations(); state._fsp--; if (state.failed) return; @@ -15428,8 +15539,8 @@ public final void counterStyle() throws RecognitionException { } } finally {dbg.exitSubRule(242);} - dbg.location(775,9); - match(input,RBRACE,FOLLOW_RBRACE_in_counterStyle4505); if (state.failed) return; + dbg.location(772,9); + match(input,RBRACE,FOLLOW_RBRACE_in_counterStyle4529); if (state.failed) return; } } @@ -15440,7 +15551,7 @@ public final void counterStyle() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(776, 4); + dbg.location(773, 4); } finally { @@ -15455,22 +15566,22 @@ public final void counterStyle() throws RecognitionException { // $ANTLR start "fontFace" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:778:1: fontFace : FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:775:1: fontFace : FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ; public final void fontFace() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "fontFace"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(778, 0); + dbg.location(775, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:779:5: ( FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:776:5: ( FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:779:7: FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:776:7: FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE { - dbg.location(779,7); - match(input,FONT_FACE_SYM,FOLLOW_FONT_FACE_SYM_in_fontFace4522); if (state.failed) return;dbg.location(779,21); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:779:21: ( ws )? + dbg.location(776,7); + match(input,FONT_FACE_SYM,FOLLOW_FONT_FACE_SYM_in_fontFace4546); if (state.failed) return;dbg.location(776,21); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:776:21: ( ws )? int alt243=2; try { dbg.enterSubRule(243); try { dbg.enterDecision(243, decisionCanBacktrack[243]); @@ -15485,10 +15596,10 @@ public final void fontFace() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:779:21: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:776:21: ws { - dbg.location(779,21); - pushFollow(FOLLOW_ws_in_fontFace4524); + dbg.location(776,21); + pushFollow(FOLLOW_ws_in_fontFace4548); ws(); state._fsp--; if (state.failed) return; @@ -15497,9 +15608,9 @@ public final void fontFace() throws RecognitionException { } } finally {dbg.exitSubRule(243);} - dbg.location(780,9); - match(input,LBRACE,FOLLOW_LBRACE_in_fontFace4535); if (state.failed) return;dbg.location(780,16); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:780:16: ( ws )? + dbg.location(777,9); + match(input,LBRACE,FOLLOW_LBRACE_in_fontFace4559); if (state.failed) return;dbg.location(777,16); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:777:16: ( ws )? int alt244=2; try { dbg.enterSubRule(244); try { dbg.enterDecision(244, decisionCanBacktrack[244]); @@ -15514,10 +15625,10 @@ public final void fontFace() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:780:16: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:777:16: ws { - dbg.location(780,16); - pushFollow(FOLLOW_ws_in_fontFace4537); + dbg.location(777,16); + pushFollow(FOLLOW_ws_in_fontFace4561); ws(); state._fsp--; if (state.failed) return; @@ -15526,12 +15637,12 @@ public final void fontFace() throws RecognitionException { } } finally {dbg.exitSubRule(244);} - dbg.location(780,20); - pushFollow(FOLLOW_syncToDeclarationsRule_in_fontFace4540); + dbg.location(777,20); + pushFollow(FOLLOW_syncToDeclarationsRule_in_fontFace4564); syncToDeclarationsRule(); state._fsp--; - if (state.failed) return;dbg.location(781,3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:781:3: ( declarations )? + if (state.failed) return;dbg.location(778,3); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:778:3: ( declarations )? int alt245=2; try { dbg.enterSubRule(245); try { dbg.enterDecision(245, decisionCanBacktrack[245]); @@ -15546,10 +15657,10 @@ public final void fontFace() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:781:3: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:778:3: declarations { - dbg.location(781,3); - pushFollow(FOLLOW_declarations_in_fontFace4544); + dbg.location(778,3); + pushFollow(FOLLOW_declarations_in_fontFace4568); declarations(); state._fsp--; if (state.failed) return; @@ -15558,8 +15669,8 @@ public final void fontFace() throws RecognitionException { } } finally {dbg.exitSubRule(245);} - dbg.location(782,9); - match(input,RBRACE,FOLLOW_RBRACE_in_fontFace4555); if (state.failed) return; + dbg.location(779,9); + match(input,RBRACE,FOLLOW_RBRACE_in_fontFace4579); if (state.failed) return; } } @@ -15570,7 +15681,7 @@ public final void fontFace() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(783, 4); + dbg.location(780, 4); } finally { @@ -15585,25 +15696,25 @@ public final void fontFace() throws RecognitionException { // $ANTLR start "margin" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:785:1: margin : margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:782:1: margin : margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ; public final void margin() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "margin"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(785, 0); + dbg.location(782, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:2: ( margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:2: ( margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:4: margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:4: margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE { - dbg.location(786,4); - pushFollow(FOLLOW_margin_sym_in_margin4569); + dbg.location(783,4); + pushFollow(FOLLOW_margin_sym_in_margin4593); margin_sym(); state._fsp--; - if (state.failed) return;dbg.location(786,15); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:15: ( ws )? + if (state.failed) return;dbg.location(783,15); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:15: ( ws )? int alt246=2; try { dbg.enterSubRule(246); try { dbg.enterDecision(246, decisionCanBacktrack[246]); @@ -15618,10 +15729,10 @@ public final void margin() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:15: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:15: ws { - dbg.location(786,15); - pushFollow(FOLLOW_ws_in_margin4571); + dbg.location(783,15); + pushFollow(FOLLOW_ws_in_margin4595); ws(); state._fsp--; if (state.failed) return; @@ -15630,9 +15741,9 @@ public final void margin() throws RecognitionException { } } finally {dbg.exitSubRule(246);} - dbg.location(786,19); - match(input,LBRACE,FOLLOW_LBRACE_in_margin4574); if (state.failed) return;dbg.location(786,26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:26: ( ws )? + dbg.location(783,19); + match(input,LBRACE,FOLLOW_LBRACE_in_margin4598); if (state.failed) return;dbg.location(783,26); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:26: ( ws )? int alt247=2; try { dbg.enterSubRule(247); try { dbg.enterDecision(247, decisionCanBacktrack[247]); @@ -15647,10 +15758,10 @@ public final void margin() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:26: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:26: ws { - dbg.location(786,26); - pushFollow(FOLLOW_ws_in_margin4576); + dbg.location(783,26); + pushFollow(FOLLOW_ws_in_margin4600); ws(); state._fsp--; if (state.failed) return; @@ -15659,12 +15770,12 @@ public final void margin() throws RecognitionException { } } finally {dbg.exitSubRule(247);} - dbg.location(786,30); - pushFollow(FOLLOW_syncToDeclarationsRule_in_margin4579); + dbg.location(783,30); + pushFollow(FOLLOW_syncToDeclarationsRule_in_margin4603); syncToDeclarationsRule(); state._fsp--; - if (state.failed) return;dbg.location(786,53); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:53: ( declarations )? + if (state.failed) return;dbg.location(783,53); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:53: ( declarations )? int alt248=2; try { dbg.enterSubRule(248); try { dbg.enterDecision(248, decisionCanBacktrack[248]); @@ -15679,10 +15790,10 @@ public final void margin() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:53: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:53: declarations { - dbg.location(786,53); - pushFollow(FOLLOW_declarations_in_margin4581); + dbg.location(783,53); + pushFollow(FOLLOW_declarations_in_margin4605); declarations(); state._fsp--; if (state.failed) return; @@ -15691,8 +15802,8 @@ public final void margin() throws RecognitionException { } } finally {dbg.exitSubRule(248);} - dbg.location(786,67); - match(input,RBRACE,FOLLOW_RBRACE_in_margin4584); if (state.failed) return; + dbg.location(783,67); + match(input,RBRACE,FOLLOW_RBRACE_in_margin4608); if (state.failed) return; } } @@ -15703,7 +15814,7 @@ public final void margin() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(787, 7); + dbg.location(784, 7); } finally { @@ -15718,20 +15829,20 @@ public final void margin() throws RecognitionException { // $ANTLR start "margin_sym" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:789:1: margin_sym : ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:786:1: margin_sym : ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM ); public final void margin_sym() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "margin_sym"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(789, 0); + dbg.location(786, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:790:2: ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:787:2: ( TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(790,2); + dbg.location(787,2); if ( (input.LA(1) >= BOTTOMCENTER_SYM && input.LA(1) <= BOTTOMRIGHT_SYM)||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LEFTTOP_SYM)||(input.LA(1) >= RIGHTBOTTOM_SYM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= TOPCENTER_SYM && input.LA(1) <= TOPRIGHT_SYM) ) { input.consume(); state.errorRecovery=false; @@ -15753,7 +15864,7 @@ public final void margin_sym() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(807, 7); + dbg.location(804, 7); } finally { @@ -15768,22 +15879,22 @@ public final void margin_sym() throws RecognitionException { // $ANTLR start "pseudoPage" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:809:1: pseudoPage : COLON IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:806:1: pseudoPage : COLON IDENT ; public final void pseudoPage() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "pseudoPage"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(809, 0); + dbg.location(806, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:810:5: ( COLON IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:807:5: ( COLON IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:810:7: COLON IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:807:7: COLON IDENT { - dbg.location(810,7); - match(input,COLON,FOLLOW_COLON_in_pseudoPage4793); if (state.failed) return;dbg.location(810,13); - match(input,IDENT,FOLLOW_IDENT_in_pseudoPage4795); if (state.failed) return; + dbg.location(807,7); + match(input,COLON,FOLLOW_COLON_in_pseudoPage4817); if (state.failed) return;dbg.location(807,13); + match(input,IDENT,FOLLOW_IDENT_in_pseudoPage4819); if (state.failed) return; } } @@ -15794,7 +15905,7 @@ public final void pseudoPage() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(811, 4); + dbg.location(808, 4); } finally { @@ -15809,20 +15920,20 @@ public final void pseudoPage() throws RecognitionException { // $ANTLR start "operator" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:813:1: operator : ( SOLIDUS | COMMA ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:810:1: operator : ( SOLIDUS | COMMA ); public final void operator() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "operator"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(813, 0); + dbg.location(810, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:814:5: ( SOLIDUS | COMMA ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:811:5: ( SOLIDUS | COMMA ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(814,5); + dbg.location(811,5); if ( input.LA(1)==COMMA||input.LA(1)==SOLIDUS ) { input.consume(); state.errorRecovery=false; @@ -15844,7 +15955,7 @@ public final void operator() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(816, 4); + dbg.location(813, 4); } finally { @@ -15859,20 +15970,20 @@ public final void operator() throws RecognitionException { // $ANTLR start "unaryOperator" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:818:1: unaryOperator : ( MINUS | PLUS ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:815:1: unaryOperator : ( MINUS | PLUS ); public final void unaryOperator() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "unaryOperator"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(818, 0); + dbg.location(815, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:819:5: ( MINUS | PLUS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:816:5: ( MINUS | PLUS ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(819,5); + dbg.location(816,5); if ( input.LA(1)==MINUS||input.LA(1)==PLUS ) { input.consume(); state.errorRecovery=false; @@ -15894,7 +16005,7 @@ public final void unaryOperator() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(821, 4); + dbg.location(818, 4); } finally { @@ -15909,15 +16020,15 @@ public final void unaryOperator() throws RecognitionException { // $ANTLR start "property" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:823:1: property : ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:820:1: property : ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable ); public final void property() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "property"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(823, 0); + dbg.location(820, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:824:5: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:821:5: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable ) int alt249=6; try { dbg.enterDecision(249, decisionCanBacktrack[249]); @@ -16069,14 +16180,14 @@ else if ( (LA249_5==AT_SIGN) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:828:5: {...}? sass_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:825:5: {...}? sass_selector_interpolation_exp { - dbg.location(828,5); + dbg.location(825,5); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "property", "isScssSource()"); - }dbg.location(828,23); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_property4879); + }dbg.location(825,23); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_property4903); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -16085,14 +16196,14 @@ else if ( (LA249_5==AT_SIGN) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:829:7: {...}? less_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:826:7: {...}? less_selector_interpolation_exp { - dbg.location(829,7); + dbg.location(826,7); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "property", "isLessSource()"); - }dbg.location(829,25); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_property4889); + }dbg.location(826,25); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_property4913); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -16101,41 +16212,41 @@ else if ( (LA249_5==AT_SIGN) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:830:7: VARIABLE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:827:7: VARIABLE { - dbg.location(830,7); - match(input,VARIABLE,FOLLOW_VARIABLE_in_property4897); if (state.failed) return; + dbg.location(827,7); + match(input,VARIABLE,FOLLOW_VARIABLE_in_property4921); if (state.failed) return; } break; case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:831:7: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:828:7: IDENT { - dbg.location(831,7); - match(input,IDENT,FOLLOW_IDENT_in_property4905); if (state.failed) return; + dbg.location(828,7); + match(input,IDENT,FOLLOW_IDENT_in_property4929); if (state.failed) return; } break; case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:832:7: GEN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:829:7: GEN { - dbg.location(832,7); - match(input,GEN,FOLLOW_GEN_in_property4913); if (state.failed) return; + dbg.location(829,7); + match(input,GEN,FOLLOW_GEN_in_property4937); if (state.failed) return; } break; case 6 : dbg.enterAlt(6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:833:7: {...}? cp_variable + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:830:7: {...}? cp_variable { - dbg.location(833,7); + dbg.location(830,7); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "property", "isCssPreprocessorSource()"); - }dbg.location(833,36); - pushFollow(FOLLOW_cp_variable_in_property4923); + }dbg.location(830,36); + pushFollow(FOLLOW_cp_variable_in_property4947); cp_variable(); state._fsp--; if (state.failed) return; @@ -16154,7 +16265,7 @@ else if ( (LA249_5==AT_SIGN) ) { finally { // do for sure before leaving } - dbg.location(835, 4); + dbg.location(832, 4); } finally { @@ -16169,26 +16280,26 @@ else if ( (LA249_5==AT_SIGN) ) { // $ANTLR start "sass_map" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:840:1: sass_map : sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:837:1: sass_map : sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ; public final void sass_map() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_map"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(840, 0); + dbg.location(837, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:841:5: ( sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:838:5: ( sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:5: sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:5: sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* { - dbg.location(842,5); - pushFollow(FOLLOW_sass_map_name_in_sass_map4950); + dbg.location(839,5); + pushFollow(FOLLOW_sass_map_name_in_sass_map4974); sass_map_name(); state._fsp--; - if (state.failed) return;dbg.location(842,19); - match(input,COLON,FOLLOW_COLON_in_sass_map4952); if (state.failed) return;dbg.location(842,25); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:25: ( ws )? + if (state.failed) return;dbg.location(839,19); + match(input,COLON,FOLLOW_COLON_in_sass_map4976); if (state.failed) return;dbg.location(839,25); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:25: ( ws )? int alt250=2; try { dbg.enterSubRule(250); try { dbg.enterDecision(250, decisionCanBacktrack[250]); @@ -16203,10 +16314,10 @@ public final void sass_map() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:25: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:25: ws { - dbg.location(842,25); - pushFollow(FOLLOW_ws_in_sass_map4954); + dbg.location(839,25); + pushFollow(FOLLOW_ws_in_sass_map4978); ws(); state._fsp--; if (state.failed) return; @@ -16215,9 +16326,9 @@ public final void sass_map() throws RecognitionException { } } finally {dbg.exitSubRule(250);} - dbg.location(842,29); - match(input,LPAREN,FOLLOW_LPAREN_in_sass_map4957); if (state.failed) return;dbg.location(842,36); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:36: ( ws )? + dbg.location(839,29); + match(input,LPAREN,FOLLOW_LPAREN_in_sass_map4981); if (state.failed) return;dbg.location(839,36); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:36: ( ws )? int alt251=2; try { dbg.enterSubRule(251); try { dbg.enterDecision(251, decisionCanBacktrack[251]); @@ -16232,10 +16343,10 @@ public final void sass_map() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:36: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:36: ws { - dbg.location(842,36); - pushFollow(FOLLOW_ws_in_sass_map4959); + dbg.location(839,36); + pushFollow(FOLLOW_ws_in_sass_map4983); ws(); state._fsp--; if (state.failed) return; @@ -16244,12 +16355,12 @@ public final void sass_map() throws RecognitionException { } } finally {dbg.exitSubRule(251);} - dbg.location(842,40); - pushFollow(FOLLOW_syncToFollow_in_sass_map4962); + dbg.location(839,40); + pushFollow(FOLLOW_syncToFollow_in_sass_map4986); syncToFollow(); state._fsp--; - if (state.failed) return;dbg.location(844,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:844:9: ( sass_map_pairs )? + if (state.failed) return;dbg.location(841,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:841:9: ( sass_map_pairs )? int alt252=2; try { dbg.enterSubRule(252); try { dbg.enterDecision(252, decisionCanBacktrack[252]); @@ -16264,10 +16375,10 @@ public final void sass_map() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:844:9: sass_map_pairs + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:841:9: sass_map_pairs { - dbg.location(844,9); - pushFollow(FOLLOW_sass_map_pairs_in_sass_map4981); + dbg.location(841,9); + pushFollow(FOLLOW_sass_map_pairs_in_sass_map5005); sass_map_pairs(); state._fsp--; if (state.failed) return; @@ -16276,9 +16387,9 @@ public final void sass_map() throws RecognitionException { } } finally {dbg.exitSubRule(252);} - dbg.location(845,5); - match(input,RPAREN,FOLLOW_RPAREN_in_sass_map4988); if (state.failed) return;dbg.location(845,12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* + dbg.location(842,5); + match(input,RPAREN,FOLLOW_RPAREN_in_sass_map5012); if (state.failed) return;dbg.location(842,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* try { dbg.enterSubRule(255); loop255: @@ -16300,16 +16411,16 @@ public final void sass_map() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:13: ( ( ws )? SASS_DEFAULT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:13: ( ( ws )? SASS_DEFAULT ) { - dbg.location(845,13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:13: ( ( ws )? SASS_DEFAULT ) + dbg.location(842,13); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:13: ( ( ws )? SASS_DEFAULT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:14: ( ws )? SASS_DEFAULT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:14: ( ws )? SASS_DEFAULT { - dbg.location(845,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:14: ( ws )? + dbg.location(842,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:14: ( ws )? int alt253=2; try { dbg.enterSubRule(253); try { dbg.enterDecision(253, decisionCanBacktrack[253]); @@ -16324,10 +16435,10 @@ public final void sass_map() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:14: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:14: ws { - dbg.location(845,14); - pushFollow(FOLLOW_ws_in_sass_map4992); + dbg.location(842,14); + pushFollow(FOLLOW_ws_in_sass_map5016); ws(); state._fsp--; if (state.failed) return; @@ -16336,8 +16447,8 @@ public final void sass_map() throws RecognitionException { } } finally {dbg.exitSubRule(253);} - dbg.location(845,18); - match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_sass_map4995); if (state.failed) return; + dbg.location(842,18); + match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_sass_map5019); if (state.failed) return; } } @@ -16345,16 +16456,16 @@ public final void sass_map() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:34: ( ( ws )? SASS_GLOBAL ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:34: ( ( ws )? SASS_GLOBAL ) { - dbg.location(845,34); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:34: ( ( ws )? SASS_GLOBAL ) + dbg.location(842,34); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:34: ( ( ws )? SASS_GLOBAL ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:35: ( ws )? SASS_GLOBAL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:35: ( ws )? SASS_GLOBAL { - dbg.location(845,35); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:35: ( ws )? + dbg.location(842,35); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:35: ( ws )? int alt254=2; try { dbg.enterSubRule(254); try { dbg.enterDecision(254, decisionCanBacktrack[254]); @@ -16369,10 +16480,10 @@ public final void sass_map() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:35: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:35: ws { - dbg.location(845,35); - pushFollow(FOLLOW_ws_in_sass_map5001); + dbg.location(842,35); + pushFollow(FOLLOW_ws_in_sass_map5025); ws(); state._fsp--; if (state.failed) return; @@ -16381,8 +16492,8 @@ public final void sass_map() throws RecognitionException { } } finally {dbg.exitSubRule(254);} - dbg.location(845,39); - match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_sass_map5004); if (state.failed) return; + dbg.location(842,39); + match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_sass_map5028); if (state.failed) return; } } @@ -16404,7 +16515,7 @@ public final void sass_map() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(846, 4); + dbg.location(843, 4); } finally { @@ -16419,21 +16530,21 @@ public final void sass_map() throws RecognitionException { // $ANTLR start "sass_map_name" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:848:1: sass_map_name : cp_variable ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:845:1: sass_map_name : cp_variable ; public final void sass_map_name() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_map_name"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(848, 0); + dbg.location(845, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:849:5: ( cp_variable ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:846:5: ( cp_variable ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:850:5: cp_variable + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:847:5: cp_variable { - dbg.location(850,5); - pushFollow(FOLLOW_cp_variable_in_sass_map_name5028); + dbg.location(847,5); + pushFollow(FOLLOW_cp_variable_in_sass_map_name5052); cp_variable(); state._fsp--; if (state.failed) return; @@ -16447,7 +16558,7 @@ public final void sass_map_name() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(851, 4); + dbg.location(848, 4); } finally { @@ -16462,21 +16573,21 @@ public final void sass_map_name() throws RecognitionException { // $ANTLR start "sass_map_pairs" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:1: sass_map_pairs : ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:850:1: sass_map_pairs : ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ ; public final void sass_map_pairs() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_map_pairs"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(853, 0); + dbg.location(850, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:854:5: ( ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:851:5: ( ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:852:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ { - dbg.location(855,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ + dbg.location(852,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:852:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ int cnt260=0; try { dbg.enterSubRule(260); @@ -16499,20 +16610,20 @@ else if ( (LA260_0==COMMA) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) { - dbg.location(856,10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) + dbg.location(853,10); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:10: ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:12: sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:12: sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? { - dbg.location(856,12); - pushFollow(FOLLOW_sass_map_pair_in_sass_map_pairs5062); + dbg.location(853,12); + pushFollow(FOLLOW_sass_map_pair_in_sass_map_pairs5086); sass_map_pair(); state._fsp--; - if (state.failed) return;dbg.location(856,26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )? + if (state.failed) return;dbg.location(853,26); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )? int alt257=2; try { dbg.enterSubRule(257); try { dbg.enterDecision(257, decisionCanBacktrack[257]); @@ -16531,10 +16642,10 @@ else if ( (LA260_0==COMMA) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:27: ( ( ws )? COMMA )=> ( ws )? COMMA + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:27: ( ( ws )? COMMA )=> ( ws )? COMMA { - dbg.location(856,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:40: ( ws )? + dbg.location(853,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:40: ( ws )? int alt256=2; try { dbg.enterSubRule(256); try { dbg.enterDecision(256, decisionCanBacktrack[256]); @@ -16549,10 +16660,10 @@ else if ( (LA260_0==COMMA) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:40: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:40: ws { - dbg.location(856,40); - pushFollow(FOLLOW_ws_in_sass_map_pairs5072); + dbg.location(853,40); + pushFollow(FOLLOW_ws_in_sass_map_pairs5096); ws(); state._fsp--; if (state.failed) return; @@ -16561,15 +16672,15 @@ else if ( (LA260_0==COMMA) ) { } } finally {dbg.exitSubRule(256);} - dbg.location(856,44); - match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs5075); if (state.failed) return; + dbg.location(853,44); + match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs5099); if (state.failed) return; } break; } } finally {dbg.exitSubRule(257);} - dbg.location(856,52); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:52: ( ws )? + dbg.location(853,52); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:52: ( ws )? int alt258=2; try { dbg.enterSubRule(258); try { dbg.enterDecision(258, decisionCanBacktrack[258]); @@ -16584,10 +16695,10 @@ else if ( (LA260_0==COMMA) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:52: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:52: ws { - dbg.location(856,52); - pushFollow(FOLLOW_ws_in_sass_map_pairs5079); + dbg.location(853,52); + pushFollow(FOLLOW_ws_in_sass_map_pairs5103); ws(); state._fsp--; if (state.failed) return; @@ -16604,17 +16715,17 @@ else if ( (LA260_0==COMMA) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:858:10: ( COMMA ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:10: ( COMMA ( ws )? ) { - dbg.location(858,10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:858:10: ( COMMA ( ws )? ) + dbg.location(855,10); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:10: ( COMMA ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:858:12: COMMA ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:12: COMMA ( ws )? { - dbg.location(858,12); - match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs5106); if (state.failed) return;dbg.location(858,18); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:858:18: ( ws )? + dbg.location(855,12); + match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs5130); if (state.failed) return;dbg.location(855,18); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:18: ( ws )? int alt259=2; try { dbg.enterSubRule(259); try { dbg.enterDecision(259, decisionCanBacktrack[259]); @@ -16629,10 +16740,10 @@ else if ( (LA260_0==COMMA) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:858:18: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:18: ws { - dbg.location(858,18); - pushFollow(FOLLOW_ws_in_sass_map_pairs5108); + dbg.location(855,18); + pushFollow(FOLLOW_ws_in_sass_map_pairs5132); ws(); state._fsp--; if (state.failed) return; @@ -16669,7 +16780,7 @@ else if ( (LA260_0==COMMA) ) { finally { // do for sure before leaving } - dbg.location(860, 4); + dbg.location(857, 4); } finally { @@ -16684,21 +16795,21 @@ else if ( (LA260_0==COMMA) ) { // $ANTLR start "sass_map_pair" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:862:1: sass_map_pair : ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:859:1: sass_map_pair : ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? ; public final void sass_map_pair() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_map_pair"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(862, 0); + dbg.location(859, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:863:5: ( ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:860:5: ( ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) ( ws )? COLON ( ws )? cp_expression ( ( ws )? prio )? { - dbg.location(864,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) + dbg.location(861,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) int alt263=5; try { dbg.enterSubRule(263); try { dbg.enterDecision(263, decisionCanBacktrack[263]); @@ -16717,7 +16828,7 @@ public final void sass_map_pair() throws RecognitionException { case IDENT: { int LA263_3 = input.LA(2); - if ( (synpred33_Css3()) ) { + if ( (synpred39_Css3()) ) { alt263=3; } else if ( (true) ) { @@ -16858,26 +16969,26 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:10: NUMBER + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:10: NUMBER { - dbg.location(864,10); - match(input,NUMBER,FOLLOW_NUMBER_in_sass_map_pair5144); if (state.failed) return; + dbg.location(861,10); + match(input,NUMBER,FOLLOW_NUMBER_in_sass_map_pair5168); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:17: ( STRING ( ( ws )? STRING )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:17: ( STRING ( ( ws )? STRING )* ) { - dbg.location(864,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:17: ( STRING ( ( ws )? STRING )* ) + dbg.location(861,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:17: ( STRING ( ( ws )? STRING )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:18: STRING ( ( ws )? STRING )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:18: STRING ( ( ws )? STRING )* { - dbg.location(864,18); - match(input,STRING,FOLLOW_STRING_in_sass_map_pair5147); if (state.failed) return;dbg.location(864,25); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:25: ( ( ws )? STRING )* + dbg.location(861,18); + match(input,STRING,FOLLOW_STRING_in_sass_map_pair5171); if (state.failed) return;dbg.location(861,25); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:25: ( ( ws )? STRING )* try { dbg.enterSubRule(262); loop262: @@ -16899,10 +17010,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:26: ( ws )? STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:26: ( ws )? STRING { - dbg.location(864,26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:26: ( ws )? + dbg.location(861,26); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:26: ( ws )? int alt261=2; try { dbg.enterSubRule(261); try { dbg.enterDecision(261, decisionCanBacktrack[261]); @@ -16917,10 +17028,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:26: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:26: ws { - dbg.location(864,26); - pushFollow(FOLLOW_ws_in_sass_map_pair5150); + dbg.location(861,26); + pushFollow(FOLLOW_ws_in_sass_map_pair5174); ws(); state._fsp--; if (state.failed) return; @@ -16929,8 +17040,8 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } finally {dbg.exitSubRule(261);} - dbg.location(864,30); - match(input,STRING,FOLLOW_STRING_in_sass_map_pair5153); if (state.failed) return; + dbg.location(861,30); + match(input,STRING,FOLLOW_STRING_in_sass_map_pair5177); if (state.failed) return; } break; @@ -16947,16 +17058,16 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:40: ( ( function )=> function ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:40: ( ( function )=> function ) { - dbg.location(864,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:40: ( ( function )=> function ) + dbg.location(861,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:40: ( ( function )=> function ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:41: ( function )=> function + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:41: ( function )=> function { - dbg.location(864,53); - pushFollow(FOLLOW_function_in_sass_map_pair5163); + dbg.location(861,53); + pushFollow(FOLLOW_function_in_sass_map_pair5187); function(); state._fsp--; if (state.failed) return; @@ -16967,10 +17078,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:63: property + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:63: property { - dbg.location(864,63); - pushFollow(FOLLOW_property_in_sass_map_pair5166); + dbg.location(861,63); + pushFollow(FOLLOW_property_in_sass_map_pair5190); property(); state._fsp--; if (state.failed) return; @@ -16979,10 +17090,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:72: sass_map + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:72: sass_map { - dbg.location(864,72); - pushFollow(FOLLOW_sass_map_in_sass_map_pair5168); + dbg.location(861,72); + pushFollow(FOLLOW_sass_map_in_sass_map_pair5192); sass_map(); state._fsp--; if (state.failed) return; @@ -16991,8 +17102,8 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } finally {dbg.exitSubRule(263);} - dbg.location(864,82); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:82: ( ws )? + dbg.location(861,82); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:82: ( ws )? int alt264=2; try { dbg.enterSubRule(264); try { dbg.enterDecision(264, decisionCanBacktrack[264]); @@ -17007,10 +17118,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:82: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:82: ws { - dbg.location(864,82); - pushFollow(FOLLOW_ws_in_sass_map_pair5171); + dbg.location(861,82); + pushFollow(FOLLOW_ws_in_sass_map_pair5195); ws(); state._fsp--; if (state.failed) return; @@ -17019,9 +17130,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } finally {dbg.exitSubRule(264);} - dbg.location(864,86); - match(input,COLON,FOLLOW_COLON_in_sass_map_pair5174); if (state.failed) return;dbg.location(864,92); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:92: ( ws )? + dbg.location(861,86); + match(input,COLON,FOLLOW_COLON_in_sass_map_pair5198); if (state.failed) return;dbg.location(861,92); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:92: ( ws )? int alt265=2; try { dbg.enterSubRule(265); try { dbg.enterDecision(265, decisionCanBacktrack[265]); @@ -17036,10 +17147,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:92: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:92: ws { - dbg.location(864,92); - pushFollow(FOLLOW_ws_in_sass_map_pair5176); + dbg.location(861,92); + pushFollow(FOLLOW_ws_in_sass_map_pair5200); ws(); state._fsp--; if (state.failed) return; @@ -17048,12 +17159,12 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } finally {dbg.exitSubRule(265);} - dbg.location(864,96); - pushFollow(FOLLOW_cp_expression_in_sass_map_pair5179); + dbg.location(861,96); + pushFollow(FOLLOW_cp_expression_in_sass_map_pair5203); cp_expression(); state._fsp--; - if (state.failed) return;dbg.location(864,110); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:110: ( ( ws )? prio )? + if (state.failed) return;dbg.location(861,110); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:110: ( ( ws )? prio )? int alt267=2; try { dbg.enterSubRule(267); try { dbg.enterDecision(267, decisionCanBacktrack[267]); @@ -17072,10 +17183,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:111: ( ws )? prio + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:111: ( ws )? prio { - dbg.location(864,111); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:111: ( ws )? + dbg.location(861,111); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:111: ( ws )? int alt266=2; try { dbg.enterSubRule(266); try { dbg.enterDecision(266, decisionCanBacktrack[266]); @@ -17090,10 +17201,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:111: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:111: ws { - dbg.location(864,111); - pushFollow(FOLLOW_ws_in_sass_map_pair5182); + dbg.location(861,111); + pushFollow(FOLLOW_ws_in_sass_map_pair5206); ws(); state._fsp--; if (state.failed) return; @@ -17102,8 +17213,8 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } finally {dbg.exitSubRule(266);} - dbg.location(864,115); - pushFollow(FOLLOW_prio_in_sass_map_pair5185); + dbg.location(861,115); + pushFollow(FOLLOW_prio_in_sass_map_pair5209); prio(); state._fsp--; if (state.failed) return; @@ -17123,7 +17234,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { finally { // do for sure before leaving } - dbg.location(865, 4); + dbg.location(862, 4); } finally { @@ -17138,21 +17249,21 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // $ANTLR start "rule" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:1: rule : ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:1: rule : ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ; public final void rule() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "rule"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(867, 0); + dbg.location(864, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:5: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:865:5: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:869:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:866:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE { - dbg.location(869,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:869:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) + dbg.location(866,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:866:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) int alt273=3; try { dbg.enterSubRule(273); try { dbg.enterDecision(273, decisionCanBacktrack[273]); @@ -17171,17 +17282,17 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:13: ( SASS_AT_ROOT ( ws selectorsGroup )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:13: ( SASS_AT_ROOT ( ws selectorsGroup )? ) { - dbg.location(870,13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:13: ( SASS_AT_ROOT ( ws selectorsGroup )? ) + dbg.location(867,13); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:13: ( SASS_AT_ROOT ( ws selectorsGroup )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:14: SASS_AT_ROOT ( ws selectorsGroup )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:14: SASS_AT_ROOT ( ws selectorsGroup )? { - dbg.location(870,14); - match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule5227); if (state.failed) return;dbg.location(870,27); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:27: ( ws selectorsGroup )? + dbg.location(867,14); + match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule5251); if (state.failed) return;dbg.location(867,27); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:27: ( ws selectorsGroup )? int alt268=2; try { dbg.enterSubRule(268); try { dbg.enterDecision(268, decisionCanBacktrack[268]); @@ -17200,14 +17311,14 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:28: ws selectorsGroup + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:28: ws selectorsGroup { - dbg.location(870,28); - pushFollow(FOLLOW_ws_in_rule5230); + dbg.location(867,28); + pushFollow(FOLLOW_ws_in_rule5254); ws(); state._fsp--; - if (state.failed) return;dbg.location(870,31); - pushFollow(FOLLOW_selectorsGroup_in_rule5232); + if (state.failed) return;dbg.location(867,31); + pushFollow(FOLLOW_selectorsGroup_in_rule5256); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -17224,22 +17335,22 @@ public final void rule() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) { - dbg.location(871,15); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) + dbg.location(868,15); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:15: ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:16: SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:16: SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN { - dbg.location(871,16); - match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule5253); if (state.failed) return;dbg.location(871,29); - pushFollow(FOLLOW_ws_in_rule5255); + dbg.location(868,16); + match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule5277); if (state.failed) return;dbg.location(868,29); + pushFollow(FOLLOW_ws_in_rule5279); ws(); state._fsp--; - if (state.failed) return;dbg.location(871,32); - match(input,LPAREN,FOLLOW_LPAREN_in_rule5257); if (state.failed) return;dbg.location(871,39); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:39: ( ws )? + if (state.failed) return;dbg.location(868,32); + match(input,LPAREN,FOLLOW_LPAREN_in_rule5281); if (state.failed) return;dbg.location(868,39); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:39: ( ws )? int alt269=2; try { dbg.enterSubRule(269); try { dbg.enterDecision(269, decisionCanBacktrack[269]); @@ -17254,10 +17365,10 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:39: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:39: ws { - dbg.location(871,39); - pushFollow(FOLLOW_ws_in_rule5259); + dbg.location(868,39); + pushFollow(FOLLOW_ws_in_rule5283); ws(); state._fsp--; if (state.failed) return; @@ -17266,13 +17377,13 @@ public final void rule() throws RecognitionException { } } finally {dbg.exitSubRule(269);} - dbg.location(871,43); + dbg.location(868,43); if ( !(evalPredicate(tokenNameEquals("without") || tokenNameEquals("with"),"tokenNameEquals(\"without\") || tokenNameEquals(\"with\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "rule", "tokenNameEquals(\"without\") || tokenNameEquals(\"with\")"); - }dbg.location(871,100); - match(input,IDENT,FOLLOW_IDENT_in_rule5264); if (state.failed) return;dbg.location(871,128); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:128: ( ws )? + }dbg.location(868,100); + match(input,IDENT,FOLLOW_IDENT_in_rule5288); if (state.failed) return;dbg.location(868,128); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:128: ( ws )? int alt270=2; try { dbg.enterSubRule(270); try { dbg.enterDecision(270, decisionCanBacktrack[270]); @@ -17287,10 +17398,10 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:128: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:128: ws { - dbg.location(871,128); - pushFollow(FOLLOW_ws_in_rule5268); + dbg.location(868,128); + pushFollow(FOLLOW_ws_in_rule5292); ws(); state._fsp--; if (state.failed) return; @@ -17299,9 +17410,9 @@ public final void rule() throws RecognitionException { } } finally {dbg.exitSubRule(270);} - dbg.location(871,132); - match(input,COLON,FOLLOW_COLON_in_rule5271); if (state.failed) return;dbg.location(871,138); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:138: ( ws )? + dbg.location(868,132); + match(input,COLON,FOLLOW_COLON_in_rule5295); if (state.failed) return;dbg.location(868,138); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:138: ( ws )? int alt271=2; try { dbg.enterSubRule(271); try { dbg.enterDecision(271, decisionCanBacktrack[271]); @@ -17316,10 +17427,10 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:138: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:138: ws { - dbg.location(871,138); - pushFollow(FOLLOW_ws_in_rule5273); + dbg.location(868,138); + pushFollow(FOLLOW_ws_in_rule5297); ws(); state._fsp--; if (state.failed) return; @@ -17328,9 +17439,9 @@ public final void rule() throws RecognitionException { } } finally {dbg.exitSubRule(271);} - dbg.location(871,142); - match(input,IDENT,FOLLOW_IDENT_in_rule5276); if (state.failed) return;dbg.location(871,148); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:148: ( ws )? + dbg.location(868,142); + match(input,IDENT,FOLLOW_IDENT_in_rule5300); if (state.failed) return;dbg.location(868,148); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:148: ( ws )? int alt272=2; try { dbg.enterSubRule(272); try { dbg.enterDecision(272, decisionCanBacktrack[272]); @@ -17345,10 +17456,10 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:148: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:148: ws { - dbg.location(871,148); - pushFollow(FOLLOW_ws_in_rule5278); + dbg.location(868,148); + pushFollow(FOLLOW_ws_in_rule5302); ws(); state._fsp--; if (state.failed) return; @@ -17357,8 +17468,8 @@ public final void rule() throws RecognitionException { } } finally {dbg.exitSubRule(272);} - dbg.location(871,152); - match(input,RPAREN,FOLLOW_RPAREN_in_rule5281); if (state.failed) return; + dbg.location(868,152); + match(input,RPAREN,FOLLOW_RPAREN_in_rule5305); if (state.failed) return; } } @@ -17366,10 +17477,10 @@ public final void rule() throws RecognitionException { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:872:15: selectorsGroup + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:869:15: selectorsGroup { - dbg.location(872,15); - pushFollow(FOLLOW_selectorsGroup_in_rule5299); + dbg.location(869,15); + pushFollow(FOLLOW_selectorsGroup_in_rule5323); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -17378,8 +17489,8 @@ public final void rule() throws RecognitionException { } } finally {dbg.exitSubRule(273);} - dbg.location(873,11); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:873:11: ( ws )? + dbg.location(870,11); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:11: ( ws )? int alt274=2; try { dbg.enterSubRule(274); try { dbg.enterDecision(274, decisionCanBacktrack[274]); @@ -17394,10 +17505,10 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:873:11: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:11: ws { - dbg.location(873,11); - pushFollow(FOLLOW_ws_in_rule5311); + dbg.location(870,11); + pushFollow(FOLLOW_ws_in_rule5335); ws(); state._fsp--; if (state.failed) return; @@ -17406,9 +17517,9 @@ public final void rule() throws RecognitionException { } } finally {dbg.exitSubRule(274);} - dbg.location(874,5); - match(input,LBRACE,FOLLOW_LBRACE_in_rule5318); if (state.failed) return;dbg.location(874,12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:874:12: ( ws )? + dbg.location(871,5); + match(input,LBRACE,FOLLOW_LBRACE_in_rule5342); if (state.failed) return;dbg.location(871,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:12: ( ws )? int alt275=2; try { dbg.enterSubRule(275); try { dbg.enterDecision(275, decisionCanBacktrack[275]); @@ -17423,10 +17534,10 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:874:12: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:12: ws { - dbg.location(874,12); - pushFollow(FOLLOW_ws_in_rule5320); + dbg.location(871,12); + pushFollow(FOLLOW_ws_in_rule5344); ws(); state._fsp--; if (state.failed) return; @@ -17435,12 +17546,12 @@ public final void rule() throws RecognitionException { } } finally {dbg.exitSubRule(275);} - dbg.location(874,16); - pushFollow(FOLLOW_syncToFollow_in_rule5323); + dbg.location(871,16); + pushFollow(FOLLOW_syncToFollow_in_rule5347); syncToFollow(); state._fsp--; - if (state.failed) return;dbg.location(875,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:875:9: ( declarations )? + if (state.failed) return;dbg.location(872,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:872:9: ( declarations )? int alt276=2; try { dbg.enterSubRule(276); try { dbg.enterDecision(276, decisionCanBacktrack[276]); @@ -17455,10 +17566,10 @@ public final void rule() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:875:9: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:872:9: declarations { - dbg.location(875,9); - pushFollow(FOLLOW_declarations_in_rule5333); + dbg.location(872,9); + pushFollow(FOLLOW_declarations_in_rule5357); declarations(); state._fsp--; if (state.failed) return; @@ -17467,8 +17578,8 @@ public final void rule() throws RecognitionException { } } finally {dbg.exitSubRule(276);} - dbg.location(876,5); - match(input,RBRACE,FOLLOW_RBRACE_in_rule5340); if (state.failed) return; + dbg.location(873,5); + match(input,RBRACE,FOLLOW_RBRACE_in_rule5364); if (state.failed) return; } } @@ -17483,7 +17594,7 @@ public final void rule() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(877, 4); + dbg.location(874, 4); } finally { @@ -17498,15 +17609,15 @@ public final void rule() throws RecognitionException { // $ANTLR start "declarations" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:1: declarations : ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:881:1: declarations : ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ ); public final void declarations() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "declarations"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(884, 0); + dbg.location(881, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:885:5: ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:882:5: ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ ) int alt290=2; try { dbg.enterDecision(290, decisionCanBacktrack[290]); @@ -17524,10 +17635,10 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:8: ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:8: ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? { - dbg.location(886,8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:8: ( SEMI ( ws )? )* + dbg.location(883,8); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:8: ( SEMI ( ws )? )* try { dbg.enterSubRule(278); loop278: @@ -17546,11 +17657,11 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:9: SEMI ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:9: SEMI ( ws )? { - dbg.location(886,9); - match(input,SEMI,FOLLOW_SEMI_in_declarations5374); if (state.failed) return;dbg.location(886,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:14: ( ws )? + dbg.location(883,9); + match(input,SEMI,FOLLOW_SEMI_in_declarations5398); if (state.failed) return;dbg.location(883,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:14: ( ws )? int alt277=2; try { dbg.enterSubRule(277); try { dbg.enterDecision(277, decisionCanBacktrack[277]); @@ -17565,10 +17676,10 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:14: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:14: ws { - dbg.location(886,14); - pushFollow(FOLLOW_ws_in_declarations5376); + dbg.location(883,14); + pushFollow(FOLLOW_ws_in_declarations5400); ws(); state._fsp--; if (state.failed) return; @@ -17586,12 +17697,12 @@ public final void declarations() throws RecognitionException { } } } finally {dbg.exitSubRule(278);} - dbg.location(886,21); - pushFollow(FOLLOW_declaration_in_declarations5382); + dbg.location(883,21); + pushFollow(FOLLOW_declaration_in_declarations5406); declaration(); state._fsp--; - if (state.failed) return;dbg.location(886,33); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* + if (state.failed) return;dbg.location(883,33); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* try { dbg.enterSubRule(283); loop283: @@ -17613,10 +17724,10 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration { - dbg.location(886,34); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) + dbg.location(883,34); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) int alt282=2; try { dbg.enterSubRule(282); try { dbg.enterDecision(282, decisionCanBacktrack[282]); @@ -17635,16 +17746,16 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:35: ( ( ws )? ( SEMI ( ws )? )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:35: ( ( ws )? ( SEMI ( ws )? )+ ) { - dbg.location(886,35); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:35: ( ( ws )? ( SEMI ( ws )? )+ ) + dbg.location(883,35); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:35: ( ( ws )? ( SEMI ( ws )? )+ ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:36: ( ws )? ( SEMI ( ws )? )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:36: ( ws )? ( SEMI ( ws )? )+ { - dbg.location(886,36); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:36: ( ws )? + dbg.location(883,36); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:36: ( ws )? int alt279=2; try { dbg.enterSubRule(279); try { dbg.enterDecision(279, decisionCanBacktrack[279]); @@ -17659,10 +17770,10 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:36: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:36: ws { - dbg.location(886,36); - pushFollow(FOLLOW_ws_in_declarations5387); + dbg.location(883,36); + pushFollow(FOLLOW_ws_in_declarations5411); ws(); state._fsp--; if (state.failed) return; @@ -17671,8 +17782,8 @@ public final void declarations() throws RecognitionException { } } finally {dbg.exitSubRule(279);} - dbg.location(886,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:40: ( SEMI ( ws )? )+ + dbg.location(883,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:40: ( SEMI ( ws )? )+ int cnt281=0; try { dbg.enterSubRule(281); @@ -17692,11 +17803,11 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:41: SEMI ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:41: SEMI ( ws )? { - dbg.location(886,41); - match(input,SEMI,FOLLOW_SEMI_in_declarations5391); if (state.failed) return;dbg.location(886,46); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:46: ( ws )? + dbg.location(883,41); + match(input,SEMI,FOLLOW_SEMI_in_declarations5415); if (state.failed) return;dbg.location(883,46); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:46: ( ws )? int alt280=2; try { dbg.enterSubRule(280); try { dbg.enterDecision(280, decisionCanBacktrack[280]); @@ -17711,10 +17822,10 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:46: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:46: ws { - dbg.location(886,46); - pushFollow(FOLLOW_ws_in_declarations5393); + dbg.location(883,46); + pushFollow(FOLLOW_ws_in_declarations5417); ws(); state._fsp--; if (state.failed) return; @@ -17746,10 +17857,10 @@ public final void declarations() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:53: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:53: ws { - dbg.location(886,53); - pushFollow(FOLLOW_ws_in_declarations5399); + dbg.location(883,53); + pushFollow(FOLLOW_ws_in_declarations5423); ws(); state._fsp--; if (state.failed) return; @@ -17758,8 +17869,8 @@ public final void declarations() throws RecognitionException { } } finally {dbg.exitSubRule(282);} - dbg.location(886,57); - pushFollow(FOLLOW_declaration_in_declarations5402); + dbg.location(883,57); + pushFollow(FOLLOW_declaration_in_declarations5426); declaration(); state._fsp--; if (state.failed) return; @@ -17771,8 +17882,8 @@ public final void declarations() throws RecognitionException { } } } finally {dbg.exitSubRule(283);} - dbg.location(886,71); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? + dbg.location(883,71); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? int alt287=3; try { dbg.enterSubRule(287); try { dbg.enterDecision(287, decisionCanBacktrack[287]); @@ -17791,16 +17902,16 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:72: ( ( ws )? ( SEMI ( ws )? )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:72: ( ( ws )? ( SEMI ( ws )? )+ ) { - dbg.location(886,72); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:72: ( ( ws )? ( SEMI ( ws )? )+ ) + dbg.location(883,72); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:72: ( ( ws )? ( SEMI ( ws )? )+ ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:73: ( ws )? ( SEMI ( ws )? )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:73: ( ws )? ( SEMI ( ws )? )+ { - dbg.location(886,73); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:73: ( ws )? + dbg.location(883,73); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:73: ( ws )? int alt284=2; try { dbg.enterSubRule(284); try { dbg.enterDecision(284, decisionCanBacktrack[284]); @@ -17815,10 +17926,10 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:73: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:73: ws { - dbg.location(886,73); - pushFollow(FOLLOW_ws_in_declarations5408); + dbg.location(883,73); + pushFollow(FOLLOW_ws_in_declarations5432); ws(); state._fsp--; if (state.failed) return; @@ -17827,8 +17938,8 @@ public final void declarations() throws RecognitionException { } } finally {dbg.exitSubRule(284);} - dbg.location(886,77); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:77: ( SEMI ( ws )? )+ + dbg.location(883,77); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:77: ( SEMI ( ws )? )+ int cnt286=0; try { dbg.enterSubRule(286); @@ -17848,11 +17959,11 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:78: SEMI ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:78: SEMI ( ws )? { - dbg.location(886,78); - match(input,SEMI,FOLLOW_SEMI_in_declarations5412); if (state.failed) return;dbg.location(886,83); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:83: ( ws )? + dbg.location(883,78); + match(input,SEMI,FOLLOW_SEMI_in_declarations5436); if (state.failed) return;dbg.location(883,83); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:83: ( ws )? int alt285=2; try { dbg.enterSubRule(285); try { dbg.enterDecision(285, decisionCanBacktrack[285]); @@ -17867,10 +17978,10 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:83: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:83: ws { - dbg.location(886,83); - pushFollow(FOLLOW_ws_in_declarations5414); + dbg.location(883,83); + pushFollow(FOLLOW_ws_in_declarations5438); ws(); state._fsp--; if (state.failed) return; @@ -17902,10 +18013,10 @@ public final void declarations() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:886:90: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:90: ws { - dbg.location(886,90); - pushFollow(FOLLOW_ws_in_declarations5420); + dbg.location(883,90); + pushFollow(FOLLOW_ws_in_declarations5444); ws(); state._fsp--; if (state.failed) return; @@ -17920,10 +18031,10 @@ public final void declarations() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:887:8: ( SEMI ( ws )? )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:8: ( SEMI ( ws )? )+ { - dbg.location(887,8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:887:8: ( SEMI ( ws )? )+ + dbg.location(884,8); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:8: ( SEMI ( ws )? )+ int cnt289=0; try { dbg.enterSubRule(289); @@ -17943,11 +18054,11 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:887:9: SEMI ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:9: SEMI ( ws )? { - dbg.location(887,9); - match(input,SEMI,FOLLOW_SEMI_in_declarations5432); if (state.failed) return;dbg.location(887,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:887:14: ( ws )? + dbg.location(884,9); + match(input,SEMI,FOLLOW_SEMI_in_declarations5456); if (state.failed) return;dbg.location(884,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:14: ( ws )? int alt288=2; try { dbg.enterSubRule(288); try { dbg.enterDecision(288, decisionCanBacktrack[288]); @@ -17962,10 +18073,10 @@ public final void declarations() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:887:14: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:14: ws { - dbg.location(887,14); - pushFollow(FOLLOW_ws_in_declarations5434); + dbg.location(884,14); + pushFollow(FOLLOW_ws_in_declarations5458); ws(); state._fsp--; if (state.failed) return; @@ -18002,7 +18113,7 @@ public final void declarations() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(888, 4); + dbg.location(885, 4); } finally { @@ -18017,37 +18128,37 @@ public final void declarations() throws RecognitionException { // $ANTLR start "declaration" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:890:1: declaration : ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? |{...}? at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:887:1: declaration : ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN ); public final void declaration() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "declaration"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(890, 0); + dbg.location(887, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:891:5: ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? |{...}? at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:888:5: ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN ) int alt295=18; try { dbg.enterDecision(295, decisionCanBacktrack[295]); int LA295_0 = input.LA(1); if ( (LA295_0==SASS_AT_ROOT) ) { int LA295_1 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (synpred37_Css3()) ) { + else if ( (synpred43_Css3()) ) { alt295=4; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } @@ -18068,19 +18179,19 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" } else if ( (LA295_0==SASS_VAR) ) { int LA295_2 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred36_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred39_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred45_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=6; } @@ -18101,22 +18212,22 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" } else if ( (LA295_0==IDENT) ) { int LA295_3 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=2; } - else if ( (synpred36_Css3()) ) { + else if ( (synpred42_Css3()) ) { alt295=3; } - else if ( (synpred37_Css3()) ) { + else if ( (synpred43_Css3()) ) { alt295=4; } - else if ( (synpred38_Css3()) ) { + else if ( (synpred44_Css3()) ) { alt295=5; } - else if ( (synpred39_Css3()) ) { + else if ( (synpred45_Css3()) ) { alt295=6; } @@ -18137,16 +18248,16 @@ else if ( (synpred39_Css3()) ) { } else if ( (LA295_0==MINUS) ) { int LA295_4 = input.LA(2); - if ( ((synpred36_Css3()&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) { + if ( ((synpred42_Css3()&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) { alt295=3; } - else if ( (((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()"))&&synpred37_Css3())) ) { + else if ( ((synpred43_Css3()&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) { alt295=4; } - else if ( ((synpred38_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isScssSource(),"isScssSource()"))||(evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()")))) ) { + else if ( ((synpred44_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isScssSource(),"isScssSource()"))||(evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()")))) ) { alt295=5; } - else if ( ((synpred39_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isScssSource(),"isScssSource()"))||(evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()")))) ) { + else if ( ((synpred45_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isScssSource(),"isScssSource()"))||(evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()")))) ) { alt295=6; } @@ -18167,16 +18278,16 @@ else if ( ((synpred39_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNa } else if ( (LA295_0==HASH_SYMBOL) ) { int LA295_5 = input.LA(2); - if ( ((synpred36_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + if ( ((synpred42_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=3; } - else if ( (synpred37_Css3()) ) { + else if ( (synpred43_Css3()) ) { alt295=4; } - else if ( ((synpred38_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( ((synpred44_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=5; } - else if ( ((synpred39_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=6; } @@ -18197,16 +18308,16 @@ else if ( ((synpred39_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) } else if ( (LA295_0==AT_SIGN) ) { int LA295_6 = input.LA(2); - if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred36_Css3())) ) { + if ( ((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred37_Css3())) ) { + else if ( ((synpred43_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=4; } - else if ( ((synpred38_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred44_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred39_Css3())) ) { + else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred45_Css3())) ) { alt295=6; } @@ -18227,13 +18338,13 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred39_Css3())) ) } else if ( (LA295_0==VARIABLE) ) { int LA295_7 = input.LA(2); - if ( (synpred36_Css3()) ) { + if ( (synpred42_Css3()) ) { alt295=3; } - else if ( (synpred38_Css3()) ) { + else if ( (synpred44_Css3()) ) { alt295=5; } - else if ( (synpred39_Css3()) ) { + else if ( (synpred45_Css3()) ) { alt295=6; } @@ -18254,16 +18365,16 @@ else if ( (synpred39_Css3()) ) { } else if ( (LA295_0==GEN) ) { int LA295_8 = input.LA(2); - if ( (synpred36_Css3()) ) { + if ( (synpred42_Css3()) ) { alt295=3; } - else if ( (synpred37_Css3()) ) { + else if ( (synpred43_Css3()) ) { alt295=4; } - else if ( (synpred38_Css3()) ) { + else if ( (synpred44_Css3()) ) { alt295=5; } - else if ( (synpred39_Css3()) ) { + else if ( (synpred45_Css3()) ) { alt295=6; } else if ( (true) ) { @@ -18273,22 +18384,22 @@ else if ( (true) ) { } else if ( (LA295_0==SASS_MIXIN) ) { int LA295_9 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred40_Css3())) ) { + else if ( ((synpred46_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=7; } @@ -18307,24 +18418,24 @@ else if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred40_Css3())) ) } } - else if ( (LA295_0==GREATER||LA295_0==PLUS||LA295_0==TILDE) && (synpred37_Css3())) { + else if ( (LA295_0==GREATER||LA295_0==PLUS||LA295_0==TILDE) && (synpred43_Css3())) { alt295=4; } - else if ( (LA295_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred37_Css3())) { + else if ( (LA295_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred43_Css3())) { alt295=4; } else if ( (LA295_0==LESS_AND) ) { int LA295_12 = input.LA(2); - if ( (synpred37_Css3()) ) { + if ( (synpred43_Css3()) ) { alt295=4; } - else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { + else if ( ((synpred46_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=7; } - else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred47_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=8; } - else if ( (((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=9; } @@ -18345,16 +18456,16 @@ else if ( (((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&& } else if ( (LA295_0==HASH) ) { int LA295_13 = input.LA(2); - if ( (synpred37_Css3()) ) { + if ( (synpred43_Css3()) ) { alt295=4; } - else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { + else if ( ((synpred46_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=7; } - else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred47_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=8; } - else if ( (((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=9; } @@ -18375,16 +18486,16 @@ else if ( (((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&& } else if ( (LA295_0==DOT) ) { int LA295_14 = input.LA(2); - if ( (synpred37_Css3()) ) { + if ( (synpred43_Css3()) ) { alt295=4; } - else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { + else if ( ((synpred46_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=7; } - else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred47_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=8; } - else if ( (((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=9; } @@ -18403,24 +18514,24 @@ else if ( (((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&& } } - else if ( (LA295_0==DIMENSION) && (synpred37_Css3())) { + else if ( (LA295_0==DIMENSION) && (synpred43_Css3())) { alt295=4; } - else if ( (LA295_0==LBRACKET) && (synpred37_Css3())) { + else if ( (LA295_0==LBRACKET) && (synpred43_Css3())) { alt295=4; } - else if ( (LA295_0==COLON||LA295_0==DCOLON) && (synpred37_Css3())) { + else if ( (LA295_0==COLON||LA295_0==DCOLON) && (synpred43_Css3())) { alt295=4; } else if ( (LA295_0==STAR) ) { int LA295_18 = input.LA(2); - if ( (synpred37_Css3()) ) { + if ( (synpred43_Css3()) ) { alt295=4; } - else if ( (synpred38_Css3()) ) { + else if ( (synpred44_Css3()) ) { alt295=5; } - else if ( (synpred39_Css3()) ) { + else if ( (synpred45_Css3()) ) { alt295=6; } @@ -18439,72 +18550,58 @@ else if ( (synpred39_Css3()) ) { } } - else if ( (LA295_0==PIPE) && (synpred37_Css3())) { + else if ( (LA295_0==PIPE) && (synpred43_Css3())) { alt295=4; } else if ( (LA295_0==AT_IDENT) ) { int LA295_20 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred47_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=8; } - else if ( (((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=9; } - else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { + else if ( (true) ) { alt295=10; } - else { - if (state.backtracking>0) {state.failed=true; return;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 295, 20, input); - dbg.recognitionException(nvae); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } else if ( (LA295_0==SASS_INCLUDE) ) { int LA295_21 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( ((synpred41_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( ((synpred47_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=8; } - else if ( ((synpred42_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + else if ( ((synpred48_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { alt295=9; } @@ -18525,238 +18622,154 @@ else if ( ((synpred42_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) } else if ( (LA295_0==MEDIA_SYM) ) { int LA295_22 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { + else if ( (true) ) { alt295=10; } - else { - if (state.backtracking>0) {state.failed=true; return;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 295, 22, input); - dbg.recognitionException(nvae); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } else if ( (LA295_0==PAGE_SYM) ) { int LA295_23 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { + else if ( (true) ) { alt295=10; } - else { - if (state.backtracking>0) {state.failed=true; return;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 295, 23, input); - dbg.recognitionException(nvae); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } else if ( (LA295_0==COUNTER_STYLE_SYM) ) { int LA295_24 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { + else if ( (true) ) { alt295=10; } - else { - if (state.backtracking>0) {state.failed=true; return;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 295, 24, input); - dbg.recognitionException(nvae); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } else if ( (LA295_0==FONT_FACE_SYM) ) { int LA295_25 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { + else if ( (true) ) { alt295=10; } - else { - if (state.backtracking>0) {state.failed=true; return;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 295, 25, input); - dbg.recognitionException(nvae); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } else if ( (LA295_0==MOZ_DOCUMENT_SYM) ) { int LA295_26 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { + else if ( (true) ) { alt295=10; } - else { - if (state.backtracking>0) {state.failed=true; return;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 295, 26, input); - dbg.recognitionException(nvae); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } else if ( (LA295_0==CONTAINER_SYM||LA295_0==LAYER_SYM||LA295_0==SUPPORTS_SYM) ) { alt295=10; } else if ( (LA295_0==WEBKIT_KEYFRAMES_SYM) ) { int LA295_28 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } - else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { + else if ( (true) ) { alt295=10; } - else { - if (state.backtracking>0) {state.failed=true; return;} - int nvaeMark = input.mark(); - try { - input.consume(); - NoViableAltException nvae = - new NoViableAltException("", 295, 28, input); - dbg.recognitionException(nvae); - throw nvae; - } finally { - input.rewind(nvaeMark); - } - } - } else if ( (LA295_0==SASS_IF) ) { int LA295_29 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -18780,19 +18793,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } else if ( (LA295_0==SASS_FOR) ) { int LA295_32 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -18816,19 +18829,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } else if ( (LA295_0==SASS_EACH) ) { int LA295_33 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -18852,19 +18865,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } else if ( (LA295_0==SASS_WHILE) ) { int LA295_34 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -18888,19 +18901,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } else if ( (LA295_0==SASS_EXTEND) ) { int LA295_35 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -18924,19 +18937,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } else if ( (LA295_0==SASS_DEBUG||LA295_0==SASS_WARN) ) { int LA295_36 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -18960,19 +18973,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } else if ( (LA295_0==SASS_CONTENT) ) { int LA295_37 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -18996,19 +19009,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } else if ( (LA295_0==SASS_RETURN) ) { int LA295_38 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -19032,19 +19045,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } else if ( (LA295_0==IMPORT_SYM) ) { int LA295_39 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { @@ -19071,19 +19084,19 @@ else if ( (LA295_0==SASS_ERROR) ) { } else if ( ((LA295_0 >= BOTTOMCENTER_SYM && LA295_0 <= BOTTOMRIGHT_SYM)||LA295_0==CHARSET_SYM||(LA295_0 >= LEFTBOTTOM_SYM && LA295_0 <= LEFTTOP_SYM)||LA295_0==NAMESPACE_SYM||(LA295_0 >= RIGHTBOTTOM_SYM && LA295_0 <= RIGHTTOP_SYM)||LA295_0==SASS_ELSE||(LA295_0 >= SASS_FORWARD && LA295_0 <= SASS_FUNCTION)||LA295_0==SASS_USE||(LA295_0 >= TOPCENTER_SYM && LA295_0 <= TOPRIGHT_SYM)) ) { int LA295_41 = input.LA(2); - if ( ((synpred34_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { alt295=1; } - else if ( ((synpred35_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=2; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred36_Css3())) ) { + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=3; } - else if ( (((synpred38_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt295=5; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred39_Css3())) ) { + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { alt295=6; } @@ -19117,10 +19130,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:5: ( cp_variable_declaration )=> cp_variable_declaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:889:5: ( cp_variable_declaration )=> cp_variable_declaration { - dbg.location(892,32); - pushFollow(FOLLOW_cp_variable_declaration_in_declaration5463); + dbg.location(889,32); + pushFollow(FOLLOW_cp_variable_declaration_in_declaration5487); cp_variable_declaration(); state._fsp--; if (state.failed) return; @@ -19129,10 +19142,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:7: ( sass_map )=> sass_map + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:890:7: ( sass_map )=> sass_map { - dbg.location(893,20); - pushFollow(FOLLOW_sass_map_in_declaration5476); + dbg.location(890,20); + pushFollow(FOLLOW_sass_map_in_declaration5500); sass_map(); state._fsp--; if (state.failed) return; @@ -19141,10 +19154,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:894:7: ( sass_nested_properties )=> sass_nested_properties + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:891:7: ( sass_nested_properties )=> sass_nested_properties { - dbg.location(894,33); - pushFollow(FOLLOW_sass_nested_properties_in_declaration5488); + dbg.location(891,33); + pushFollow(FOLLOW_sass_nested_properties_in_declaration5512); sass_nested_properties(); state._fsp--; if (state.failed) return; @@ -19153,10 +19166,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule { - dbg.location(895,145); - pushFollow(FOLLOW_rule_in_declaration5551); + dbg.location(892,145); + pushFollow(FOLLOW_rule_in_declaration5575); rule(); state._fsp--; if (state.failed) return; @@ -19165,10 +19178,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:896:7: ( propertyDeclaration )=> propertyDeclaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:7: ( propertyDeclaration )=> propertyDeclaration { - dbg.location(896,30); - pushFollow(FOLLOW_propertyDeclaration_in_declaration5563); + dbg.location(893,30); + pushFollow(FOLLOW_propertyDeclaration_in_declaration5587); propertyDeclaration(); state._fsp--; if (state.failed) return; @@ -19177,10 +19190,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 6 : dbg.enterAlt(6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration { - dbg.location(898,67); - pushFollow(FOLLOW_propertyDeclaration_in_declaration5602); + dbg.location(895,67); + pushFollow(FOLLOW_propertyDeclaration_in_declaration5626); propertyDeclaration(); state._fsp--; if (state.failed) return; @@ -19189,10 +19202,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 7 : dbg.enterAlt(7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:899:7: ( cp_mixin_declaration )=> cp_mixin_declaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:896:7: ( cp_mixin_declaration )=> cp_mixin_declaration { - dbg.location(899,31); - pushFollow(FOLLOW_cp_mixin_declaration_in_declaration5614); + dbg.location(896,31); + pushFollow(FOLLOW_cp_mixin_declaration_in_declaration5638); cp_mixin_declaration(); state._fsp--; if (state.failed) return; @@ -19201,14 +19214,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 8 : dbg.enterAlt(8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:7: ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:7: ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? { - dbg.location(900,25); - pushFollow(FOLLOW_cp_mixin_call_in_declaration5627); + dbg.location(897,25); + pushFollow(FOLLOW_cp_mixin_call_in_declaration5651); cp_mixin_call(); state._fsp--; - if (state.failed) return;dbg.location(900,39); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:39: ( ( ws )? IMPORTANT_SYM )? + if (state.failed) return;dbg.location(897,39); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:39: ( ( ws )? IMPORTANT_SYM )? int alt292=2; try { dbg.enterSubRule(292); try { dbg.enterDecision(292, decisionCanBacktrack[292]); @@ -19227,10 +19240,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:40: ( ws )? IMPORTANT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:40: ( ws )? IMPORTANT_SYM { - dbg.location(900,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:40: ( ws )? + dbg.location(897,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:40: ( ws )? int alt291=2; try { dbg.enterSubRule(291); try { dbg.enterDecision(291, decisionCanBacktrack[291]); @@ -19245,10 +19258,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:40: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:40: ws { - dbg.location(900,40); - pushFollow(FOLLOW_ws_in_declaration5630); + dbg.location(897,40); + pushFollow(FOLLOW_ws_in_declaration5654); ws(); state._fsp--; if (state.failed) return; @@ -19257,8 +19270,8 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" } } finally {dbg.exitSubRule(291);} - dbg.location(900,44); - match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration5633); if (state.failed) return; + dbg.location(897,44); + match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration5657); if (state.failed) return; } break; @@ -19270,18 +19283,18 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 9 : dbg.enterAlt(9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:901:7: ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:7: ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? { - dbg.location(901,25); + dbg.location(898,25); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); - }dbg.location(901,43); - pushFollow(FOLLOW_cp_mixin_call_in_declaration5650); + }dbg.location(898,43); + pushFollow(FOLLOW_cp_mixin_call_in_declaration5674); cp_mixin_call(); state._fsp--; - if (state.failed) return;dbg.location(901,57); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:901:57: ( ( ws )? IMPORTANT_SYM )? + if (state.failed) return;dbg.location(898,57); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:57: ( ( ws )? IMPORTANT_SYM )? int alt294=2; try { dbg.enterSubRule(294); try { dbg.enterDecision(294, decisionCanBacktrack[294]); @@ -19300,10 +19313,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:901:58: ( ws )? IMPORTANT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:58: ( ws )? IMPORTANT_SYM { - dbg.location(901,58); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:901:58: ( ws )? + dbg.location(898,58); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:58: ( ws )? int alt293=2; try { dbg.enterSubRule(293); try { dbg.enterDecision(293, decisionCanBacktrack[293]); @@ -19318,10 +19331,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:901:58: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:58: ws { - dbg.location(901,58); - pushFollow(FOLLOW_ws_in_declaration5653); + dbg.location(898,58); + pushFollow(FOLLOW_ws_in_declaration5677); ws(); state._fsp--; if (state.failed) return; @@ -19330,8 +19343,8 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" } } finally {dbg.exitSubRule(293);} - dbg.location(901,62); - match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration5656); if (state.failed) return; + dbg.location(898,62); + match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration5680); if (state.failed) return; } break; @@ -19343,14 +19356,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 10 : dbg.enterAlt(10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:902:7: {...}? at_rule + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:899:7: at_rule { - dbg.location(902,7); - if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - if (state.backtracking>0) {state.failed=true; return;} - throw new FailedPredicateException(input, "declaration", "isCssPreprocessorSource()"); - }dbg.location(902,36); - pushFollow(FOLLOW_at_rule_in_declaration5672); + dbg.location(899,7); + pushFollow(FOLLOW_at_rule_in_declaration5694); at_rule(); state._fsp--; if (state.failed) return; @@ -19359,14 +19368,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 11 : dbg.enterAlt(11); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:903:7: {...}? sass_control + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:7: {...}? sass_control { - dbg.location(903,7); + dbg.location(900,7); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); - }dbg.location(903,25); - pushFollow(FOLLOW_sass_control_in_declaration5682); + }dbg.location(900,25); + pushFollow(FOLLOW_sass_control_in_declaration5704); sass_control(); state._fsp--; if (state.failed) return; @@ -19375,14 +19384,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 12 : dbg.enterAlt(12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:904:7: {...}? sass_extend + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:901:7: {...}? sass_extend { - dbg.location(904,7); + dbg.location(901,7); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); - }dbg.location(904,25); - pushFollow(FOLLOW_sass_extend_in_declaration5692); + }dbg.location(901,25); + pushFollow(FOLLOW_sass_extend_in_declaration5714); sass_extend(); state._fsp--; if (state.failed) return; @@ -19391,14 +19400,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 13 : dbg.enterAlt(13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:905:7: {...}? sass_debug + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:902:7: {...}? sass_debug { - dbg.location(905,7); + dbg.location(902,7); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); - }dbg.location(905,25); - pushFollow(FOLLOW_sass_debug_in_declaration5702); + }dbg.location(902,25); + pushFollow(FOLLOW_sass_debug_in_declaration5724); sass_debug(); state._fsp--; if (state.failed) return; @@ -19407,14 +19416,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 14 : dbg.enterAlt(14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:906:7: {...}? sass_content + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:903:7: {...}? sass_content { - dbg.location(906,7); + dbg.location(903,7); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); - }dbg.location(906,25); - pushFollow(FOLLOW_sass_content_in_declaration5712); + }dbg.location(903,25); + pushFollow(FOLLOW_sass_content_in_declaration5734); sass_content(); state._fsp--; if (state.failed) return; @@ -19423,14 +19432,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 15 : dbg.enterAlt(15); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:7: {...}? sass_function_return + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:904:7: {...}? sass_function_return { - dbg.location(907,7); + dbg.location(904,7); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); - }dbg.location(907,25); - pushFollow(FOLLOW_sass_function_return_in_declaration5722); + }dbg.location(904,25); + pushFollow(FOLLOW_sass_function_return_in_declaration5744); sass_function_return(); state._fsp--; if (state.failed) return; @@ -19439,14 +19448,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 16 : dbg.enterAlt(16); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:908:7: {...}? sass_error + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:905:7: {...}? sass_error { - dbg.location(908,7); + dbg.location(905,7); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); - }dbg.location(908,25); - pushFollow(FOLLOW_sass_error_in_declaration5732); + }dbg.location(905,25); + pushFollow(FOLLOW_sass_error_in_declaration5754); sass_error(); state._fsp--; if (state.failed) return; @@ -19455,14 +19464,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 17 : dbg.enterAlt(17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:909:7: {...}? importItem + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:906:7: {...}? importItem { - dbg.location(909,7); + dbg.location(906,7); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); - }dbg.location(909,25); - pushFollow(FOLLOW_importItem_in_declaration5742); + }dbg.location(906,25); + pushFollow(FOLLOW_importItem_in_declaration5764); importItem(); state._fsp--; if (state.failed) return; @@ -19471,10 +19480,10 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" case 18 : dbg.enterAlt(18); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:910:7: GEN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:7: GEN { - dbg.location(910,7); - match(input,GEN,FOLLOW_GEN_in_declaration5750); if (state.failed) return; + dbg.location(907,7); + match(input,GEN,FOLLOW_GEN_in_declaration5772); if (state.failed) return; } break; @@ -19490,7 +19499,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" finally { // do for sure before leaving } - dbg.location(911, 4); + dbg.location(908, 4); } finally { @@ -19505,25 +19514,25 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // $ANTLR start "selectorsGroup" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:917:1: selectorsGroup : selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:914:1: selectorsGroup : selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? ; public final void selectorsGroup() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "selectorsGroup"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(917, 0); + dbg.location(914, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:918:5: ( selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:915:5: ( selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:9: selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:9: selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? { - dbg.location(919,9); - pushFollow(FOLLOW_selector_in_selectorsGroup5784); + dbg.location(916,9); + pushFollow(FOLLOW_selector_in_selectorsGroup5806); selector(); state._fsp--; - if (state.failed) return;dbg.location(919,18); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:18: ( ( ws )? COMMA ( ws )? selector )* + if (state.failed) return;dbg.location(916,18); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:18: ( ( ws )? COMMA ( ws )? selector )* try { dbg.enterSubRule(298); loop298: @@ -19545,10 +19554,10 @@ public final void selectorsGroup() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:19: ( ws )? COMMA ( ws )? selector + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:19: ( ws )? COMMA ( ws )? selector { - dbg.location(919,19); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:19: ( ws )? + dbg.location(916,19); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:19: ( ws )? int alt296=2; try { dbg.enterSubRule(296); try { dbg.enterDecision(296, decisionCanBacktrack[296]); @@ -19563,10 +19572,10 @@ public final void selectorsGroup() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:19: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:19: ws { - dbg.location(919,19); - pushFollow(FOLLOW_ws_in_selectorsGroup5787); + dbg.location(916,19); + pushFollow(FOLLOW_ws_in_selectorsGroup5809); ws(); state._fsp--; if (state.failed) return; @@ -19575,9 +19584,9 @@ public final void selectorsGroup() throws RecognitionException { } } finally {dbg.exitSubRule(296);} - dbg.location(919,23); - match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup5790); if (state.failed) return;dbg.location(919,29); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:29: ( ws )? + dbg.location(916,23); + match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup5812); if (state.failed) return;dbg.location(916,29); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:29: ( ws )? int alt297=2; try { dbg.enterSubRule(297); try { dbg.enterDecision(297, decisionCanBacktrack[297]); @@ -19592,10 +19601,10 @@ public final void selectorsGroup() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:29: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:29: ws { - dbg.location(919,29); - pushFollow(FOLLOW_ws_in_selectorsGroup5792); + dbg.location(916,29); + pushFollow(FOLLOW_ws_in_selectorsGroup5814); ws(); state._fsp--; if (state.failed) return; @@ -19604,8 +19613,8 @@ public final void selectorsGroup() throws RecognitionException { } } finally {dbg.exitSubRule(297);} - dbg.location(919,33); - pushFollow(FOLLOW_selector_in_selectorsGroup5795); + dbg.location(916,33); + pushFollow(FOLLOW_selector_in_selectorsGroup5817); selector(); state._fsp--; if (state.failed) return; @@ -19617,8 +19626,8 @@ public final void selectorsGroup() throws RecognitionException { } } } finally {dbg.exitSubRule(298);} - dbg.location(919,44); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:44: ({...}? COMMA )? + dbg.location(916,44); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:44: ({...}? COMMA )? int alt299=2; try { dbg.enterSubRule(299); try { dbg.enterDecision(299, decisionCanBacktrack[299]); @@ -19633,14 +19642,14 @@ public final void selectorsGroup() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:45: {...}? COMMA + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:45: {...}? COMMA { - dbg.location(919,45); + dbg.location(916,45); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "selectorsGroup", "isCssPreprocessorSource()"); - }dbg.location(919,74); - match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup5802); if (state.failed) return; + }dbg.location(916,74); + match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup5824); if (state.failed) return; } break; @@ -19657,7 +19666,7 @@ public final void selectorsGroup() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(920, 4); + dbg.location(917, 4); } finally { @@ -19672,15 +19681,15 @@ public final void selectorsGroup() throws RecognitionException { // $ANTLR start "selector" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:922:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:919:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator ); public final void selector() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "selector"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(922, 0); + dbg.location(919, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:5: ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:5: ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator ) int alt306=2; try { dbg.enterDecision(306, decisionCanBacktrack[306]); @@ -19698,10 +19707,10 @@ public final void selector() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:8: ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:8: ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* { - dbg.location(923,8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:8: ( combinator ( ws )? )? + dbg.location(920,8); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:8: ( combinator ( ws )? )? int alt301=2; try { dbg.enterSubRule(301); try { dbg.enterDecision(301, decisionCanBacktrack[301]); @@ -19716,14 +19725,14 @@ public final void selector() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:9: combinator ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:9: combinator ( ws )? { - dbg.location(923,9); - pushFollow(FOLLOW_combinator_in_selector5823); + dbg.location(920,9); + pushFollow(FOLLOW_combinator_in_selector5845); combinator(); state._fsp--; - if (state.failed) return;dbg.location(923,20); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:20: ( ws )? + if (state.failed) return;dbg.location(920,20); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:20: ( ws )? int alt300=2; try { dbg.enterSubRule(300); try { dbg.enterDecision(300, decisionCanBacktrack[300]); @@ -19738,10 +19747,10 @@ public final void selector() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:20: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:20: ws { - dbg.location(923,20); - pushFollow(FOLLOW_ws_in_selector5825); + dbg.location(920,20); + pushFollow(FOLLOW_ws_in_selector5847); ws(); state._fsp--; if (state.failed) return; @@ -19756,12 +19765,12 @@ public final void selector() throws RecognitionException { } } finally {dbg.exitSubRule(301);} - dbg.location(923,26); - pushFollow(FOLLOW_simpleSelectorSequence_in_selector5830); + dbg.location(920,26); + pushFollow(FOLLOW_simpleSelectorSequence_in_selector5852); simpleSelectorSequence(); state._fsp--; - if (state.failed) return;dbg.location(923,49); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* + if (state.failed) return;dbg.location(920,49); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* try { dbg.enterSubRule(305); loop305: @@ -19783,10 +19792,10 @@ public final void selector() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:51: ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:51: ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence { - dbg.location(923,51); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:51: ( ( ( ws )? combinator ( ws )? ) | ws ) + dbg.location(920,51); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:51: ( ( ( ws )? combinator ( ws )? ) | ws ) int alt304=2; try { dbg.enterSubRule(304); try { dbg.enterDecision(304, decisionCanBacktrack[304]); @@ -19805,16 +19814,16 @@ public final void selector() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:52: ( ( ws )? combinator ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:52: ( ( ws )? combinator ( ws )? ) { - dbg.location(923,52); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:52: ( ( ws )? combinator ( ws )? ) + dbg.location(920,52); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:52: ( ( ws )? combinator ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:53: ( ws )? combinator ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:53: ( ws )? combinator ( ws )? { - dbg.location(923,53); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:53: ( ws )? + dbg.location(920,53); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:53: ( ws )? int alt302=2; try { dbg.enterSubRule(302); try { dbg.enterDecision(302, decisionCanBacktrack[302]); @@ -19829,10 +19838,10 @@ public final void selector() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:53: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:53: ws { - dbg.location(923,53); - pushFollow(FOLLOW_ws_in_selector5836); + dbg.location(920,53); + pushFollow(FOLLOW_ws_in_selector5858); ws(); state._fsp--; if (state.failed) return; @@ -19841,12 +19850,12 @@ public final void selector() throws RecognitionException { } } finally {dbg.exitSubRule(302);} - dbg.location(923,57); - pushFollow(FOLLOW_combinator_in_selector5839); + dbg.location(920,57); + pushFollow(FOLLOW_combinator_in_selector5861); combinator(); state._fsp--; - if (state.failed) return;dbg.location(923,68); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:68: ( ws )? + if (state.failed) return;dbg.location(920,68); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:68: ( ws )? int alt303=2; try { dbg.enterSubRule(303); try { dbg.enterDecision(303, decisionCanBacktrack[303]); @@ -19861,10 +19870,10 @@ public final void selector() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:68: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:68: ws { - dbg.location(923,68); - pushFollow(FOLLOW_ws_in_selector5841); + dbg.location(920,68); + pushFollow(FOLLOW_ws_in_selector5863); ws(); state._fsp--; if (state.failed) return; @@ -19881,10 +19890,10 @@ public final void selector() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:923:73: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:73: ws { - dbg.location(923,73); - pushFollow(FOLLOW_ws_in_selector5845); + dbg.location(920,73); + pushFollow(FOLLOW_ws_in_selector5867); ws(); state._fsp--; if (state.failed) return; @@ -19893,8 +19902,8 @@ public final void selector() throws RecognitionException { } } finally {dbg.exitSubRule(304);} - dbg.location(923,77); - pushFollow(FOLLOW_simpleSelectorSequence_in_selector5848); + dbg.location(920,77); + pushFollow(FOLLOW_simpleSelectorSequence_in_selector5870); simpleSelectorSequence(); state._fsp--; if (state.failed) return; @@ -19912,14 +19921,14 @@ public final void selector() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:924:10: {...}? combinator + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:921:10: {...}? combinator { - dbg.location(924,10); + dbg.location(921,10); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "selector", "isScssSource()"); - }dbg.location(924,28); - pushFollow(FOLLOW_combinator_in_selector5863); + }dbg.location(921,28); + pushFollow(FOLLOW_combinator_in_selector5885); combinator(); state._fsp--; if (state.failed) return; @@ -19935,7 +19944,7 @@ public final void selector() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(925, 4); + dbg.location(922, 4); } finally { @@ -19950,20 +19959,20 @@ public final void selector() throws RecognitionException { // $ANTLR start "combinator" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:927:1: combinator : ( PLUS | GREATER | TILDE ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:924:1: combinator : ( PLUS | GREATER | TILDE ); public final void combinator() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "combinator"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(927, 0); + dbg.location(924, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:928:5: ( PLUS | GREATER | TILDE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:925:5: ( PLUS | GREATER | TILDE ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(928,5); + dbg.location(925,5); if ( input.LA(1)==GREATER||input.LA(1)==PLUS||input.LA(1)==TILDE ) { input.consume(); state.errorRecovery=false; @@ -19985,7 +19994,7 @@ public final void combinator() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(930, 4); + dbg.location(927, 4); } finally { @@ -20000,15 +20009,15 @@ public final void combinator() throws RecognitionException { // $ANTLR start "simpleSelectorSequence" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:1: simpleSelectorSequence : ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:929:1: simpleSelectorSequence : ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* ); public final void simpleSelectorSequence() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "simpleSelectorSequence"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(932, 0); + dbg.location(929, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:2: ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:930:2: ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* ) int alt315=2; try { dbg.enterDecision(315, decisionCanBacktrack[315]); @@ -20021,7 +20030,7 @@ else if ( (LA315_0==LESS_AND) ) { if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")||evalPredicate(isLessSource(),"isLessSource()"))) ) { alt315=1; } - else if ( (synpred44_Css3()) ) { + else if ( (synpred50_Css3()) ) { alt315=2; } @@ -20047,13 +20056,13 @@ else if ( (LA315_0==IDENT) ) { if ( (LA315_7==LBRACE) ) { alt315=1; } - else if ( (LA315_7==NAME) && (synpred44_Css3())) { + else if ( (LA315_7==NAME) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_7==IDENT||LA315_7==MINUS) && (synpred44_Css3())) { + else if ( (LA315_7==IDENT||LA315_7==MINUS) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_7==AT_SIGN) && (synpred44_Css3())) { + else if ( (LA315_7==AT_SIGN) && (synpred50_Css3())) { alt315=2; } @@ -20061,60 +20070,60 @@ else if ( (LA315_7==AT_SIGN) && (synpred44_Css3())) { else if ( (LA315_3==AT_SIGN) ) { alt315=1; } - else if ( (LA315_3==PIPE) && (synpred44_Css3())) { + else if ( (LA315_3==PIPE) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==COMMENT||LA315_3==NL||LA315_3==WS) && (synpred44_Css3())) { + else if ( (LA315_3==COMMENT||LA315_3==NL||LA315_3==WS) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==SASS_EXTEND_ONLY_SELECTOR) && (synpred44_Css3())) { + else if ( (LA315_3==SASS_EXTEND_ONLY_SELECTOR) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==LESS_AND) && (synpred44_Css3())) { + else if ( (LA315_3==LESS_AND) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==HASH) && (synpred44_Css3())) { + else if ( (LA315_3==HASH) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==DOT) && (synpred44_Css3())) { + else if ( (LA315_3==DOT) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==DIMENSION) && (synpred44_Css3())) { + else if ( (LA315_3==DIMENSION) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==LBRACKET) && (synpred44_Css3())) { + else if ( (LA315_3==LBRACKET) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==COLON||LA315_3==DCOLON) && (synpred44_Css3())) { + else if ( (LA315_3==COLON||LA315_3==DCOLON) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==GREATER||LA315_3==PLUS||LA315_3==TILDE) && (synpred44_Css3())) { + else if ( (LA315_3==GREATER||LA315_3==PLUS||LA315_3==TILDE) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==COMMA) && (synpred44_Css3())) { + else if ( (LA315_3==COMMA) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==LBRACE) && (synpred44_Css3())) { + else if ( (LA315_3==LBRACE) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==RPAREN) && (synpred44_Css3())) { + else if ( (LA315_3==RPAREN) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==SEMI) && (synpred44_Css3())) { + else if ( (LA315_3==SEMI) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_3==RBRACE) && (synpred44_Css3())) { + else if ( (LA315_3==RBRACE) && (synpred50_Css3())) { alt315=2; } } - else if ( (LA315_0==STAR) && (synpred44_Css3())) { + else if ( (LA315_0==STAR) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_0==PIPE) && (synpred44_Css3())) { + else if ( (LA315_0==PIPE) && (synpred50_Css3())) { alt315=2; } - else if ( (LA315_0==GEN) && (synpred44_Css3())) { + else if ( (LA315_0==GEN) && (synpred50_Css3())) { alt315=2; } @@ -20124,10 +20133,10 @@ else if ( (LA315_0==GEN) && (synpred44_Css3())) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:934:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* { - dbg.location(934,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:934:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) + dbg.location(931,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) int alt307=3; try { dbg.enterSubRule(307); try { dbg.enterDecision(307, decisionCanBacktrack[307]); @@ -20216,10 +20225,10 @@ else if ( (LA307_3==AT_SIGN) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:934:10: elementSubsequent + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:10: elementSubsequent { - dbg.location(934,10); - pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5915); + dbg.location(931,10); + pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5937); elementSubsequent(); state._fsp--; if (state.failed) return; @@ -20228,14 +20237,14 @@ else if ( (LA307_3==AT_SIGN) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:934:30: {...}? sass_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:30: {...}? sass_selector_interpolation_exp { - dbg.location(934,30); + dbg.location(931,30); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()"); - }dbg.location(934,48); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence5921); + }dbg.location(931,48); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence5943); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20244,14 +20253,14 @@ else if ( (LA307_3==AT_SIGN) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:11: {...}? less_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:11: {...}? less_selector_interpolation_exp { - dbg.location(935,11); + dbg.location(932,11); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isLessSource()"); - }dbg.location(935,29); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence5935); + }dbg.location(932,29); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence5957); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20260,8 +20269,8 @@ else if ( (LA307_3==AT_SIGN) ) { } } finally {dbg.exitSubRule(307);} - dbg.location(935,64); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:64: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* + dbg.location(932,64); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:64: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* try { dbg.enterSubRule(311); loop311: @@ -20272,33 +20281,33 @@ else if ( (LA307_3==AT_SIGN) ) { int LA311_0 = input.LA(1); if ( (LA311_0==COMMENT||LA311_0==NL||LA311_0==WS) ) { int LA311_1 = input.LA(2); - if ( (synpred43_Css3()) ) { + if ( (synpred49_Css3()) ) { alt311=1; } } - else if ( (LA311_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred43_Css3())) { + else if ( (LA311_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred49_Css3())) { alt311=1; } - else if ( (LA311_0==LESS_AND) && (synpred43_Css3())) { + else if ( (LA311_0==LESS_AND) && (synpred49_Css3())) { alt311=1; } - else if ( (LA311_0==HASH) && (synpred43_Css3())) { + else if ( (LA311_0==HASH) && (synpred49_Css3())) { alt311=1; } - else if ( (LA311_0==HASH_SYMBOL) && (synpred43_Css3())) { + else if ( (LA311_0==HASH_SYMBOL) && (synpred49_Css3())) { alt311=1; } - else if ( (LA311_0==DOT) && (synpred43_Css3())) { + else if ( (LA311_0==DOT) && (synpred49_Css3())) { alt311=1; } - else if ( (LA311_0==DIMENSION) && (synpred43_Css3())) { + else if ( (LA311_0==DIMENSION) && (synpred49_Css3())) { alt311=1; } - else if ( (LA311_0==LBRACKET) && (synpred43_Css3())) { + else if ( (LA311_0==LBRACKET) && (synpred49_Css3())) { alt311=1; } - else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred43_Css3())) { + else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred49_Css3())) { alt311=1; } @@ -20308,10 +20317,10 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred43_Css3())) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:65: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:65: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) { - dbg.location(935,79); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) + dbg.location(932,79); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) int alt310=2; try { dbg.enterSubRule(310); try { dbg.enterDecision(310, decisionCanBacktrack[310]); @@ -20330,16 +20339,16 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred43_Css3())) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:80: ( ( ws )? elementSubsequent ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:80: ( ( ws )? elementSubsequent ) { - dbg.location(935,80); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:80: ( ( ws )? elementSubsequent ) + dbg.location(932,80); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:80: ( ( ws )? elementSubsequent ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:81: ( ws )? elementSubsequent + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:81: ( ws )? elementSubsequent { - dbg.location(935,81); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:81: ( ws )? + dbg.location(932,81); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:81: ( ws )? int alt308=2; try { dbg.enterSubRule(308); try { dbg.enterDecision(308, decisionCanBacktrack[308]); @@ -20354,10 +20363,10 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred43_Css3())) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:81: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:81: ws { - dbg.location(935,81); - pushFollow(FOLLOW_ws_in_simpleSelectorSequence5950); + dbg.location(932,81); + pushFollow(FOLLOW_ws_in_simpleSelectorSequence5972); ws(); state._fsp--; if (state.failed) return; @@ -20366,8 +20375,8 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred43_Css3())) { } } finally {dbg.exitSubRule(308);} - dbg.location(935,85); - pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5953); + dbg.location(932,85); + pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5975); elementSubsequent(); state._fsp--; if (state.failed) return; @@ -20378,20 +20387,20 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred43_Css3())) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) { - dbg.location(935,105); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) + dbg.location(932,105); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:105: ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:106: ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:106: ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) { - dbg.location(935,106); - pushFollow(FOLLOW_ws_in_simpleSelectorSequence5958); + dbg.location(932,106); + pushFollow(FOLLOW_ws_in_simpleSelectorSequence5980); ws(); state._fsp--; - if (state.failed) return;dbg.location(935,109); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:109: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) + if (state.failed) return;dbg.location(932,109); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:109: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) int alt309=2; try { dbg.enterSubRule(309); try { dbg.enterDecision(309, decisionCanBacktrack[309]); @@ -20447,14 +20456,14 @@ else if ( (LA309_1==AT_SIGN) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:110: {...}? sass_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:110: {...}? sass_selector_interpolation_exp { - dbg.location(935,110); + dbg.location(932,110); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()"); - }dbg.location(935,128); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence5963); + }dbg.location(932,128); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence5985); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20463,14 +20472,14 @@ else if ( (LA309_1==AT_SIGN) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:162: {...}? less_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:162: {...}? less_selector_interpolation_exp { - dbg.location(935,162); + dbg.location(932,162); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isLessSource()"); - }dbg.location(935,180); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence5969); + }dbg.location(932,180); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence5991); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20502,14 +20511,14 @@ else if ( (LA309_1==AT_SIGN) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:4: ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:4: ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* { - dbg.location(936,20); - pushFollow(FOLLOW_typeSelector_in_simpleSelectorSequence5983); + dbg.location(933,20); + pushFollow(FOLLOW_typeSelector_in_simpleSelectorSequence6005); typeSelector(); state._fsp--; - if (state.failed) return;dbg.location(936,33); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:33: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* + if (state.failed) return;dbg.location(933,33); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:33: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* try { dbg.enterSubRule(314); loop314: @@ -20520,33 +20529,33 @@ else if ( (LA309_1==AT_SIGN) ) { int LA314_0 = input.LA(1); if ( (LA314_0==COMMENT||LA314_0==NL||LA314_0==WS) ) { int LA314_1 = input.LA(2); - if ( (synpred45_Css3()) ) { + if ( (synpred51_Css3()) ) { alt314=1; } } - else if ( (LA314_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred45_Css3())) { + else if ( (LA314_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred51_Css3())) { alt314=1; } - else if ( (LA314_0==LESS_AND) && (synpred45_Css3())) { + else if ( (LA314_0==LESS_AND) && (synpred51_Css3())) { alt314=1; } - else if ( (LA314_0==HASH) && (synpred45_Css3())) { + else if ( (LA314_0==HASH) && (synpred51_Css3())) { alt314=1; } - else if ( (LA314_0==HASH_SYMBOL) && (synpred45_Css3())) { + else if ( (LA314_0==HASH_SYMBOL) && (synpred51_Css3())) { alt314=1; } - else if ( (LA314_0==DOT) && (synpred45_Css3())) { + else if ( (LA314_0==DOT) && (synpred51_Css3())) { alt314=1; } - else if ( (LA314_0==DIMENSION) && (synpred45_Css3())) { + else if ( (LA314_0==DIMENSION) && (synpred51_Css3())) { alt314=1; } - else if ( (LA314_0==LBRACKET) && (synpred45_Css3())) { + else if ( (LA314_0==LBRACKET) && (synpred51_Css3())) { alt314=1; } - else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred45_Css3())) { + else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred51_Css3())) { alt314=1; } @@ -20556,10 +20565,10 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred45_Css3())) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:34: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:34: ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) { - dbg.location(936,48); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) + dbg.location(933,48); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) int alt313=2; try { dbg.enterSubRule(313); try { dbg.enterDecision(313, decisionCanBacktrack[313]); @@ -20578,16 +20587,16 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred45_Css3())) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:49: ( ( ws )? elementSubsequent ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:49: ( ( ws )? elementSubsequent ) { - dbg.location(936,49); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:49: ( ( ws )? elementSubsequent ) + dbg.location(933,49); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:49: ( ( ws )? elementSubsequent ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:50: ( ws )? elementSubsequent + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:50: ( ws )? elementSubsequent { - dbg.location(936,50); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:50: ( ws )? + dbg.location(933,50); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:50: ( ws )? int alt312=2; try { dbg.enterSubRule(312); try { dbg.enterDecision(312, decisionCanBacktrack[312]); @@ -20602,10 +20611,10 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred45_Css3())) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:50: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:50: ws { - dbg.location(936,50); - pushFollow(FOLLOW_ws_in_simpleSelectorSequence5995); + dbg.location(933,50); + pushFollow(FOLLOW_ws_in_simpleSelectorSequence6017); ws(); state._fsp--; if (state.failed) return; @@ -20614,8 +20623,8 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred45_Css3())) { } } finally {dbg.exitSubRule(312);} - dbg.location(936,54); - pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5998); + dbg.location(933,54); + pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence6020); elementSubsequent(); state._fsp--; if (state.failed) return; @@ -20626,18 +20635,18 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred45_Css3())) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:75: {...}? ws sass_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:75: {...}? ws sass_selector_interpolation_exp { - dbg.location(936,75); + dbg.location(933,75); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()"); - }dbg.location(936,93); - pushFollow(FOLLOW_ws_in_simpleSelectorSequence6005); + }dbg.location(933,93); + pushFollow(FOLLOW_ws_in_simpleSelectorSequence6027); ws(); state._fsp--; - if (state.failed) return;dbg.location(936,96); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence6007); + if (state.failed) return;dbg.location(933,96); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence6029); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20671,7 +20680,7 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred45_Css3())) { finally { // do for sure before leaving } - dbg.location(937, 1); + dbg.location(934, 1); } finally { @@ -20686,15 +20695,15 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred45_Css3())) { // $ANTLR start "esPred" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:944:1: esPred : ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:941:1: esPred : ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND ); public final void esPred() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "esPred"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(944, 0); + dbg.location(941, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:5: ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:5: ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND ) int alt316=8; try { dbg.enterDecision(316, decisionCanBacktrack[316]); @@ -20752,77 +20761,77 @@ public final void esPred() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:7: HASH_SYMBOL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:7: HASH_SYMBOL { - dbg.location(945,7); - match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_esPred6032); if (state.failed) return; + dbg.location(942,7); + match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_esPred6054); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:21: HASH + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:21: HASH { - dbg.location(945,21); - match(input,HASH,FOLLOW_HASH_in_esPred6036); if (state.failed) return; + dbg.location(942,21); + match(input,HASH,FOLLOW_HASH_in_esPred6058); if (state.failed) return; } break; case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:28: DOT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:28: DOT { - dbg.location(945,28); - match(input,DOT,FOLLOW_DOT_in_esPred6040); if (state.failed) return; + dbg.location(942,28); + match(input,DOT,FOLLOW_DOT_in_esPred6062); if (state.failed) return; } break; case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:34: LBRACKET + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:34: LBRACKET { - dbg.location(945,34); - match(input,LBRACKET,FOLLOW_LBRACKET_in_esPred6044); if (state.failed) return; + dbg.location(942,34); + match(input,LBRACKET,FOLLOW_LBRACKET_in_esPred6066); if (state.failed) return; } break; case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:45: COLON + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:45: COLON { - dbg.location(945,45); - match(input,COLON,FOLLOW_COLON_in_esPred6048); if (state.failed) return; + dbg.location(942,45); + match(input,COLON,FOLLOW_COLON_in_esPred6070); if (state.failed) return; } break; case 6 : dbg.enterAlt(6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:53: DCOLON + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:53: DCOLON { - dbg.location(945,53); - match(input,DCOLON,FOLLOW_DCOLON_in_esPred6052); if (state.failed) return; + dbg.location(942,53); + match(input,DCOLON,FOLLOW_DCOLON_in_esPred6074); if (state.failed) return; } break; case 7 : dbg.enterAlt(7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:62: SASS_EXTEND_ONLY_SELECTOR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:62: SASS_EXTEND_ONLY_SELECTOR { - dbg.location(945,62); - match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_esPred6056); if (state.failed) return; + dbg.location(942,62); + match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_esPred6078); if (state.failed) return; } break; case 8 : dbg.enterAlt(8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:90: {...}? LESS_AND + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:90: {...}? LESS_AND { - dbg.location(945,90); + dbg.location(942,90); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "esPred", "isCssPreprocessorSource()"); - }dbg.location(945,119); - match(input,LESS_AND,FOLLOW_LESS_AND_in_esPred6062); if (state.failed) return; + }dbg.location(942,119); + match(input,LESS_AND,FOLLOW_LESS_AND_in_esPred6084); if (state.failed) return; } break; @@ -20835,7 +20844,7 @@ public final void esPred() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(946, 4); + dbg.location(943, 4); } finally { @@ -20850,21 +20859,21 @@ public final void esPred() throws RecognitionException { // $ANTLR start "typeSelector" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:948:1: typeSelector options {k=2; } : ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:945:1: typeSelector options {k=2; } : ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName ; public final void typeSelector() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "typeSelector"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(948, 0); + dbg.location(945, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:3: ( ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:3: ( ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? elementName { - dbg.location(950,6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? + dbg.location(947,6); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? int alt317=2; try { dbg.enterSubRule(317); try { dbg.enterDecision(317, decisionCanBacktrack[317]); @@ -20872,17 +20881,17 @@ public final void typeSelector() throws RecognitionException { int LA317_0 = input.LA(1); if ( (LA317_0==IDENT) ) { int LA317_1 = input.LA(2); - if ( (LA317_1==PIPE) && (synpred46_Css3())) { + if ( (LA317_1==PIPE) && (synpred52_Css3())) { alt317=1; } } else if ( (LA317_0==STAR) ) { int LA317_2 = input.LA(2); - if ( (LA317_2==PIPE) && (synpred46_Css3())) { + if ( (LA317_2==PIPE) && (synpred52_Css3())) { alt317=1; } } - else if ( (LA317_0==PIPE) && (synpred46_Css3())) { + else if ( (LA317_0==PIPE) && (synpred52_Css3())) { alt317=1; } } finally {dbg.exitDecision(317);} @@ -20891,10 +20900,10 @@ else if ( (LA317_0==PIPE) && (synpred46_Css3())) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:7: ( ( IDENT | STAR )? PIPE )=> namespacePrefix + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:7: ( ( IDENT | STAR )? PIPE )=> namespacePrefix { - dbg.location(950,31); - pushFollow(FOLLOW_namespacePrefix_in_typeSelector6104); + dbg.location(947,31); + pushFollow(FOLLOW_namespacePrefix_in_typeSelector6126); namespacePrefix(); state._fsp--; if (state.failed) return; @@ -20903,8 +20912,8 @@ else if ( (LA317_0==PIPE) && (synpred46_Css3())) { } } finally {dbg.exitSubRule(317);} - dbg.location(950,49); - pushFollow(FOLLOW_elementName_in_typeSelector6108); + dbg.location(947,49); + pushFollow(FOLLOW_elementName_in_typeSelector6130); elementName(); state._fsp--; if (state.failed) return; @@ -20918,7 +20927,7 @@ else if ( (LA317_0==PIPE) && (synpred46_Css3())) { finally { // do for sure before leaving } - dbg.location(951, 2); + dbg.location(948, 2); } finally { @@ -20933,21 +20942,21 @@ else if ( (LA317_0==PIPE) && (synpred46_Css3())) { // $ANTLR start "namespacePrefix" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:953:1: namespacePrefix : ( namespacePrefixName | STAR )? PIPE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:1: namespacePrefix : ( namespacePrefixName | STAR )? PIPE ; public final void namespacePrefix() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "namespacePrefix"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(953, 0); + dbg.location(950, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:954:3: ( ( namespacePrefixName | STAR )? PIPE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:3: ( ( namespacePrefixName | STAR )? PIPE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:954:5: ( namespacePrefixName | STAR )? PIPE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:5: ( namespacePrefixName | STAR )? PIPE { - dbg.location(954,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:954:5: ( namespacePrefixName | STAR )? + dbg.location(951,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:5: ( namespacePrefixName | STAR )? int alt318=3; try { dbg.enterSubRule(318); try { dbg.enterDecision(318, decisionCanBacktrack[318]); @@ -20965,10 +20974,10 @@ else if ( (LA318_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:954:7: namespacePrefixName + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:7: namespacePrefixName { - dbg.location(954,7); - pushFollow(FOLLOW_namespacePrefixName_in_namespacePrefix6123); + dbg.location(951,7); + pushFollow(FOLLOW_namespacePrefixName_in_namespacePrefix6145); namespacePrefixName(); state._fsp--; if (state.failed) return; @@ -20977,17 +20986,17 @@ else if ( (LA318_0==STAR) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:954:29: STAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:29: STAR { - dbg.location(954,29); - match(input,STAR,FOLLOW_STAR_in_namespacePrefix6127); if (state.failed) return; + dbg.location(951,29); + match(input,STAR,FOLLOW_STAR_in_namespacePrefix6149); if (state.failed) return; } break; } } finally {dbg.exitSubRule(318);} - dbg.location(954,36); - match(input,PIPE,FOLLOW_PIPE_in_namespacePrefix6131); if (state.failed) return; + dbg.location(951,36); + match(input,PIPE,FOLLOW_PIPE_in_namespacePrefix6153); if (state.failed) return; } } @@ -20998,7 +21007,7 @@ else if ( (LA318_0==STAR) ) { finally { // do for sure before leaving } - dbg.location(955, 2); + dbg.location(952, 2); } finally { @@ -21013,21 +21022,21 @@ else if ( (LA318_0==STAR) ) { // $ANTLR start "elementSubsequent" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:958:1: elementSubsequent : ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:955:1: elementSubsequent : ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) ; public final void elementSubsequent() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "elementSubsequent"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(958, 0); + dbg.location(955, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:5: ( ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:956:5: ( ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:960:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:957:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) { - dbg.location(960,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:960:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) + dbg.location(957,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:957:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) int alt320=7; try { dbg.enterSubRule(320); try { dbg.enterDecision(320, decisionCanBacktrack[320]); @@ -21151,14 +21160,14 @@ else if ( (LA320_7==AT_SIGN) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:961:9: {...}? sass_extend_only_selector + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:958:9: {...}? sass_extend_only_selector { - dbg.location(961,9); + dbg.location(958,9); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "elementSubsequent", "isScssSource()"); - }dbg.location(961,27); - pushFollow(FOLLOW_sass_extend_only_selector_in_elementSubsequent6163); + }dbg.location(958,27); + pushFollow(FOLLOW_sass_extend_only_selector_in_elementSubsequent6185); sass_extend_only_selector(); state._fsp--; if (state.failed) return; @@ -21167,15 +21176,15 @@ else if ( (LA320_7==AT_SIGN) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:962:11: {...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:11: {...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* { - dbg.location(962,11); + dbg.location(959,11); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "elementSubsequent", "isCssPreprocessorSource()"); - }dbg.location(962,40); - match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent6177); if (state.failed) return;dbg.location(962,49); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:962:49: ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* + }dbg.location(959,40); + match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent6199); if (state.failed) return;dbg.location(959,49); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:49: ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* try { dbg.enterSubRule(319); loop319: @@ -21210,32 +21219,32 @@ else if ( (LA320_7==AT_SIGN) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:962:50: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:50: IDENT { - dbg.location(962,50); - match(input,IDENT,FOLLOW_IDENT_in_elementSubsequent6180); if (state.failed) return; + dbg.location(959,50); + match(input,IDENT,FOLLOW_IDENT_in_elementSubsequent6202); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:962:58: NUMBER + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:58: NUMBER { - dbg.location(962,58); - match(input,NUMBER,FOLLOW_NUMBER_in_elementSubsequent6184); if (state.failed) return; + dbg.location(959,58); + match(input,NUMBER,FOLLOW_NUMBER_in_elementSubsequent6206); if (state.failed) return; } break; case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:962:67: {...}? sass_interpolation_expression_var + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:67: {...}? sass_interpolation_expression_var { - dbg.location(962,67); + dbg.location(959,67); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "elementSubsequent", "isScssSource()"); - }dbg.location(962,85); - pushFollow(FOLLOW_sass_interpolation_expression_var_in_elementSubsequent6190); + }dbg.location(959,85); + pushFollow(FOLLOW_sass_interpolation_expression_var_in_elementSubsequent6212); sass_interpolation_expression_var(); state._fsp--; if (state.failed) return; @@ -21253,15 +21262,15 @@ else if ( (LA320_7==AT_SIGN) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:963:11: {...}? LESS_AND less_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:960:11: {...}? LESS_AND less_selector_interpolation_exp { - dbg.location(963,11); + dbg.location(960,11); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "elementSubsequent", "isLessSource()"); - }dbg.location(963,29); - match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent6206); if (state.failed) return;dbg.location(963,38); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_elementSubsequent6208); + }dbg.location(960,29); + match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent6228); if (state.failed) return;dbg.location(960,38); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_elementSubsequent6230); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21270,10 +21279,10 @@ else if ( (LA320_7==AT_SIGN) ) { case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:964:8: cssId + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:961:8: cssId { - dbg.location(964,8); - pushFollow(FOLLOW_cssId_in_elementSubsequent6217); + dbg.location(961,8); + pushFollow(FOLLOW_cssId_in_elementSubsequent6239); cssId(); state._fsp--; if (state.failed) return; @@ -21282,10 +21291,10 @@ else if ( (LA320_7==AT_SIGN) ) { case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:965:8: cssClass + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:962:8: cssClass { - dbg.location(965,8); - pushFollow(FOLLOW_cssClass_in_elementSubsequent6226); + dbg.location(962,8); + pushFollow(FOLLOW_cssClass_in_elementSubsequent6248); cssClass(); state._fsp--; if (state.failed) return; @@ -21294,10 +21303,10 @@ else if ( (LA320_7==AT_SIGN) ) { case 6 : dbg.enterAlt(6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:966:11: slAttribute + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:963:11: slAttribute { - dbg.location(966,11); - pushFollow(FOLLOW_slAttribute_in_elementSubsequent6238); + dbg.location(963,11); + pushFollow(FOLLOW_slAttribute_in_elementSubsequent6260); slAttribute(); state._fsp--; if (state.failed) return; @@ -21306,10 +21315,10 @@ else if ( (LA320_7==AT_SIGN) ) { case 7 : dbg.enterAlt(7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:967:11: pseudo + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:964:11: pseudo { - dbg.location(967,11); - pushFollow(FOLLOW_pseudo_in_elementSubsequent6250); + dbg.location(964,11); + pushFollow(FOLLOW_pseudo_in_elementSubsequent6272); pseudo(); state._fsp--; if (state.failed) return; @@ -21329,7 +21338,7 @@ else if ( (LA320_7==AT_SIGN) ) { finally { // do for sure before leaving } - dbg.location(969, 4); + dbg.location(966, 4); } finally { @@ -21344,15 +21353,15 @@ else if ( (LA320_7==AT_SIGN) ) { // $ANTLR start "cssId" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:972:1: cssId : ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:969:1: cssId : ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) ); public final void cssId() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cssId"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(972, 0); + dbg.location(969, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:5: ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:970:5: ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) ) int alt323=2; try { dbg.enterDecision(323, decisionCanBacktrack[323]); @@ -21378,11 +21387,11 @@ else if ( (LA323_0==HASH_SYMBOL) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:7: HASH ({...}? sass_selector_interpolation_exp )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:970:7: HASH ({...}? sass_selector_interpolation_exp )? { - dbg.location(973,7); - match(input,HASH,FOLLOW_HASH_in_cssId6274); if (state.failed) return;dbg.location(973,12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:12: ({...}? sass_selector_interpolation_exp )? + dbg.location(970,7); + match(input,HASH,FOLLOW_HASH_in_cssId6296); if (state.failed) return;dbg.location(970,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:970:12: ({...}? sass_selector_interpolation_exp )? int alt321=2; try { dbg.enterSubRule(321); try { dbg.enterDecision(321, decisionCanBacktrack[321]); @@ -21403,14 +21412,14 @@ else if ( (LA321_0==HASH_SYMBOL) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:13: {...}? sass_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:970:13: {...}? sass_selector_interpolation_exp { - dbg.location(973,13); + dbg.location(970,13); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssId", "isScssSource()"); - }dbg.location(973,31); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssId6279); + }dbg.location(970,31); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssId6301); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21425,17 +21434,17 @@ else if ( (LA321_0==HASH_SYMBOL) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:975:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:972:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) { - dbg.location(975,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:975:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) + dbg.location(972,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:972:9: ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:975:11: HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:972:11: HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) { - dbg.location(975,11); - match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_cssId6301); if (state.failed) return;dbg.location(976,13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:976:13: ( NAME |{...}? less_selector_interpolation_exp ) + dbg.location(972,11); + match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_cssId6323); if (state.failed) return;dbg.location(973,13); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:13: ( NAME |{...}? less_selector_interpolation_exp ) int alt322=2; try { dbg.enterSubRule(322); try { dbg.enterDecision(322, decisionCanBacktrack[322]); @@ -21462,23 +21471,23 @@ else if ( (LA322_0==AT_SIGN||LA322_0==IDENT||LA322_0==MINUS) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:976:15: NAME + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:15: NAME { - dbg.location(976,15); - match(input,NAME,FOLLOW_NAME_in_cssId6317); if (state.failed) return; + dbg.location(973,15); + match(input,NAME,FOLLOW_NAME_in_cssId6339); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:977:17: {...}? less_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:974:17: {...}? less_selector_interpolation_exp { - dbg.location(977,17); + dbg.location(974,17); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssId", "isLessSource()"); - }dbg.location(977,35); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssId6337); + }dbg.location(974,35); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssId6359); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21505,7 +21514,7 @@ else if ( (LA322_0==AT_SIGN||LA322_0==IDENT||LA322_0==MINUS) ) { finally { // do for sure before leaving } - dbg.location(980, 4); + dbg.location(977, 4); } finally { @@ -21520,15 +21529,15 @@ else if ( (LA322_0==AT_SIGN||LA322_0==IDENT||LA322_0==MINUS) ) { // $ANTLR start "cssClass" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:986:1: cssClass : ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:983:1: cssClass : ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION ); public final void cssClass() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cssClass"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(986, 0); + dbg.location(983, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:987:5: ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:984:5: ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION ) int alt325=2; try { dbg.enterDecision(325, decisionCanBacktrack[325]); @@ -21554,17 +21563,17 @@ else if ( (LA325_0==DIMENSION) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:987:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:984:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) { - dbg.location(987,7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:987:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) + dbg.location(984,7); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:984:7: ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:987:8: DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:984:8: DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) { - dbg.location(987,8); - match(input,DOT,FOLLOW_DOT_in_cssClass6389); if (state.failed) return;dbg.location(988,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:988:9: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) + dbg.location(984,8); + match(input,DOT,FOLLOW_DOT_in_cssClass6411); if (state.failed) return;dbg.location(985,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:985:9: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) int alt324=5; try { dbg.enterSubRule(324); try { dbg.enterDecision(324, decisionCanBacktrack[324]); @@ -21703,14 +21712,14 @@ else if ( (LA324_4==AT_SIGN) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:989:14: {...}? sass_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:986:14: {...}? sass_selector_interpolation_exp { - dbg.location(989,14); + dbg.location(986,14); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssClass", "isScssSource()"); - }dbg.location(989,33); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssClass6417); + }dbg.location(986,33); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssClass6439); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21719,14 +21728,14 @@ else if ( (LA324_4==AT_SIGN) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:990:15: {...}? less_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:987:15: {...}? less_selector_interpolation_exp { - dbg.location(990,15); + dbg.location(987,15); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssClass", "isLessSource()"); - }dbg.location(990,33); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssClass6435); + }dbg.location(987,33); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssClass6457); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21735,28 +21744,28 @@ else if ( (LA324_4==AT_SIGN) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:991:15: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:988:15: IDENT { - dbg.location(991,15); - match(input,IDENT,FOLLOW_IDENT_in_cssClass6451); if (state.failed) return; + dbg.location(988,15); + match(input,IDENT,FOLLOW_IDENT_in_cssClass6473); if (state.failed) return; } break; case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:15: NOT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:989:15: NOT { - dbg.location(992,15); - match(input,NOT,FOLLOW_NOT_in_cssClass6467); if (state.failed) return; + dbg.location(989,15); + match(input,NOT,FOLLOW_NOT_in_cssClass6489); if (state.failed) return; } break; case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:993:15: GEN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:990:15: GEN { - dbg.location(993,15); - match(input,GEN,FOLLOW_GEN_in_cssClass6483); if (state.failed) return; + dbg.location(990,15); + match(input,GEN,FOLLOW_GEN_in_cssClass6505); if (state.failed) return; } break; @@ -21770,14 +21779,14 @@ else if ( (LA324_4==AT_SIGN) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:995:11: {...}? DIMENSION + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:992:11: {...}? DIMENSION { - dbg.location(995,11); + dbg.location(992,11); if ( !(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssClass", "tokenNameStartsWith(\".\")"); - }dbg.location(995,39); - match(input,DIMENSION,FOLLOW_DIMENSION_in_cssClass6507); if (state.failed) return; + }dbg.location(992,39); + match(input,DIMENSION,FOLLOW_DIMENSION_in_cssClass6529); if (state.failed) return; } break; @@ -21793,7 +21802,7 @@ else if ( (LA324_4==AT_SIGN) ) { finally { // do for sure before leaving } - dbg.location(996, 4); + dbg.location(993, 4); } finally { @@ -21808,20 +21817,20 @@ else if ( (LA324_4==AT_SIGN) ) { // $ANTLR start "elementName" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1003:1: elementName : ( IDENT | GEN | LESS_AND | STAR ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1000:1: elementName : ( IDENT | GEN | LESS_AND | STAR ); public final void elementName() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "elementName"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1003, 0); + dbg.location(1000, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1004:5: ( IDENT | GEN | LESS_AND | STAR ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1001:5: ( IDENT | GEN | LESS_AND | STAR ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1004,5); + dbg.location(1001,5); if ( input.LA(1)==GEN||input.LA(1)==IDENT||input.LA(1)==LESS_AND||input.LA(1)==STAR ) { input.consume(); state.errorRecovery=false; @@ -21843,7 +21852,7 @@ public final void elementName() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1005, 4); + dbg.location(1002, 4); } finally { @@ -21858,22 +21867,22 @@ public final void elementName() throws RecognitionException { // $ANTLR start "slAttribute" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1007:1: slAttribute : LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1004:1: slAttribute : LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET ; public final void slAttribute() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "slAttribute"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1007, 0); + dbg.location(1004, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1008:5: ( LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:5: ( LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1008:7: LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:7: LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET { - dbg.location(1008,7); - match(input,LBRACKET,FOLLOW_LBRACKET_in_slAttribute6563); if (state.failed) return;dbg.location(1009,6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:6: ( namespacePrefix )? + dbg.location(1005,7); + match(input,LBRACKET,FOLLOW_LBRACKET_in_slAttribute6585); if (state.failed) return;dbg.location(1006,6); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:6: ( namespacePrefix )? int alt326=2; try { dbg.enterSubRule(326); try { dbg.enterDecision(326, decisionCanBacktrack[326]); @@ -21894,10 +21903,10 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:6: namespacePrefix + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:6: namespacePrefix { - dbg.location(1009,6); - pushFollow(FOLLOW_namespacePrefix_in_slAttribute6570); + dbg.location(1006,6); + pushFollow(FOLLOW_namespacePrefix_in_slAttribute6592); namespacePrefix(); state._fsp--; if (state.failed) return; @@ -21906,8 +21915,8 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { } } finally {dbg.exitSubRule(326);} - dbg.location(1009,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:23: ( ws )? + dbg.location(1006,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:23: ( ws )? int alt327=2; try { dbg.enterSubRule(327); try { dbg.enterDecision(327, decisionCanBacktrack[327]); @@ -21922,10 +21931,10 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:23: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:23: ws { - dbg.location(1009,23); - pushFollow(FOLLOW_ws_in_slAttribute6573); + dbg.location(1006,23); + pushFollow(FOLLOW_ws_in_slAttribute6595); ws(); state._fsp--; if (state.failed) return; @@ -21934,12 +21943,12 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { } } finally {dbg.exitSubRule(327);} - dbg.location(1010,9); - pushFollow(FOLLOW_slAttributeName_in_slAttribute6584); + dbg.location(1007,9); + pushFollow(FOLLOW_slAttributeName_in_slAttribute6606); slAttributeName(); state._fsp--; - if (state.failed) return;dbg.location(1010,25); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1010:25: ( ws )? + if (state.failed) return;dbg.location(1007,25); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1007:25: ( ws )? int alt328=2; try { dbg.enterSubRule(328); try { dbg.enterDecision(328, decisionCanBacktrack[328]); @@ -21954,10 +21963,10 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1010:25: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1007:25: ws { - dbg.location(1010,25); - pushFollow(FOLLOW_ws_in_slAttribute6586); + dbg.location(1007,25); + pushFollow(FOLLOW_ws_in_slAttribute6608); ws(); state._fsp--; if (state.failed) return; @@ -21966,8 +21975,8 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { } } finally {dbg.exitSubRule(328);} - dbg.location(1012,13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1012:13: ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? + dbg.location(1009,13); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:13: ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? int alt331=2; try { dbg.enterSubRule(331); try { dbg.enterDecision(331, decisionCanBacktrack[331]); @@ -21982,9 +21991,9 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1013:17: ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1010:17: ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? { - dbg.location(1013,17); + dbg.location(1010,17); if ( input.LA(1)==BEGINS||input.LA(1)==CONTAINS||input.LA(1)==DASHMATCH||input.LA(1)==ENDS||input.LA(1)==INCLUDES||input.LA(1)==OPEQ ) { input.consume(); state.errorRecovery=false; @@ -21995,8 +22004,8 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1021,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1021:17: ( ws )? + }dbg.location(1018,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:17: ( ws )? int alt329=2; try { dbg.enterSubRule(329); try { dbg.enterDecision(329, decisionCanBacktrack[329]); @@ -22011,10 +22020,10 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1021:17: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:17: ws { - dbg.location(1021,17); - pushFollow(FOLLOW_ws_in_slAttribute6800); + dbg.location(1018,17); + pushFollow(FOLLOW_ws_in_slAttribute6822); ws(); state._fsp--; if (state.failed) return; @@ -22023,12 +22032,12 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { } } finally {dbg.exitSubRule(329);} - dbg.location(1022,17); - pushFollow(FOLLOW_slAttributeValue_in_slAttribute6819); + dbg.location(1019,17); + pushFollow(FOLLOW_slAttributeValue_in_slAttribute6841); slAttributeValue(); state._fsp--; - if (state.failed) return;dbg.location(1023,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1023:17: ( ws )? + if (state.failed) return;dbg.location(1020,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1020:17: ( ws )? int alt330=2; try { dbg.enterSubRule(330); try { dbg.enterDecision(330, decisionCanBacktrack[330]); @@ -22043,10 +22052,10 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1023:17: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1020:17: ws { - dbg.location(1023,17); - pushFollow(FOLLOW_ws_in_slAttribute6837); + dbg.location(1020,17); + pushFollow(FOLLOW_ws_in_slAttribute6859); ws(); state._fsp--; if (state.failed) return; @@ -22061,8 +22070,8 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { } } finally {dbg.exitSubRule(331);} - dbg.location(1026,7); - match(input,RBRACKET,FOLLOW_RBRACKET_in_slAttribute6862); if (state.failed) return; + dbg.location(1023,7); + match(input,RBRACKET,FOLLOW_RBRACKET_in_slAttribute6884); if (state.failed) return; } } @@ -22076,7 +22085,7 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { finally { // do for sure before leaving } - dbg.location(1027, 0); + dbg.location(1024, 0); } finally { @@ -22091,21 +22100,21 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { // $ANTLR start "slAttributeName" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1034:1: slAttributeName : IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1031:1: slAttributeName : IDENT ; public final void slAttributeName() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "slAttributeName"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1034, 0); + dbg.location(1031, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1035:2: ( IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1032:2: ( IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1035:4: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1032:4: IDENT { - dbg.location(1035,4); - match(input,IDENT,FOLLOW_IDENT_in_slAttributeName6878); if (state.failed) return; + dbg.location(1032,4); + match(input,IDENT,FOLLOW_IDENT_in_slAttributeName6900); if (state.failed) return; } } @@ -22116,7 +22125,7 @@ public final void slAttributeName() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1036, 1); + dbg.location(1033, 1); } finally { @@ -22131,20 +22140,20 @@ public final void slAttributeName() throws RecognitionException { // $ANTLR start "slAttributeValue" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1038:1: slAttributeValue : ( IDENT | STRING ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1035:1: slAttributeValue : ( IDENT | STRING ) ; public final void slAttributeValue() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "slAttributeValue"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1038, 0); + dbg.location(1035, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1039:2: ( ( IDENT | STRING ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1036:2: ( ( IDENT | STRING ) ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1039,2); + dbg.location(1036,2); if ( input.LA(1)==IDENT||input.LA(1)==STRING ) { input.consume(); state.errorRecovery=false; @@ -22166,7 +22175,7 @@ public final void slAttributeValue() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1044, 8); + dbg.location(1041, 8); } finally { @@ -22181,20 +22190,20 @@ public final void slAttributeValue() throws RecognitionException { // $ANTLR start "pseudo" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:1: pseudo : ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1043:1: pseudo : ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) ; public final void pseudo() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "pseudo"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1046, 0); + dbg.location(1043, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1047:5: ( ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1044:5: ( ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1047:7: ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1044:7: ( COLON | DCOLON ) ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) { - dbg.location(1047,7); + dbg.location(1044,7); if ( input.LA(1)==COLON||input.LA(1)==DCOLON ) { input.consume(); state.errorRecovery=false; @@ -22205,8 +22214,8 @@ public final void pseudo() throws RecognitionException { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1048,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1048:14: ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) + }dbg.location(1045,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:14: ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) int alt348=5; try { dbg.enterSubRule(348); try { dbg.enterDecision(348, decisionCanBacktrack[348]); @@ -22269,15 +22278,15 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) { - dbg.location(1049,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) + dbg.location(1046,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1046:17: ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1050:21: ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1047:21: ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? { - dbg.location(1050,21); + dbg.location(1047,21); if ( input.LA(1)==GEN||input.LA(1)==IDENT ) { input.consume(); state.errorRecovery=false; @@ -22288,8 +22297,8 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1051,21); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1051:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? + }dbg.location(1048,21); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1048:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? int alt336=2; try { dbg.enterSubRule(336); try { dbg.enterDecision(336, decisionCanBacktrack[336]); @@ -22308,10 +22317,10 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:25: ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:25: ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN { - dbg.location(1052,25); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:25: ( ws )? + dbg.location(1049,25); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:25: ( ws )? int alt332=2; try { dbg.enterSubRule(332); try { dbg.enterDecision(332, decisionCanBacktrack[332]); @@ -22326,10 +22335,10 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:25: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:25: ws { - dbg.location(1052,25); - pushFollow(FOLLOW_ws_in_pseudo7070); + dbg.location(1049,25); + pushFollow(FOLLOW_ws_in_pseudo7092); ws(); state._fsp--; if (state.failed) return; @@ -22338,9 +22347,9 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") } } finally {dbg.exitSubRule(332);} - dbg.location(1052,29); - match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7073); if (state.failed) return;dbg.location(1052,36); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:36: ( ws )? + dbg.location(1049,29); + match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7095); if (state.failed) return;dbg.location(1049,36); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:36: ( ws )? int alt333=2; try { dbg.enterSubRule(333); try { dbg.enterDecision(333, decisionCanBacktrack[333]); @@ -22355,10 +22364,10 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:36: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:36: ws { - dbg.location(1052,36); - pushFollow(FOLLOW_ws_in_pseudo7075); + dbg.location(1049,36); + pushFollow(FOLLOW_ws_in_pseudo7097); ws(); state._fsp--; if (state.failed) return; @@ -22367,8 +22376,8 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") } } finally {dbg.exitSubRule(333);} - dbg.location(1052,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:40: ( ( expression ( ws )? ) | STAR )? + dbg.location(1049,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:40: ( ( expression ( ws )? ) | STAR )? int alt335=3; try { dbg.enterSubRule(335); try { dbg.enterDecision(335, decisionCanBacktrack[335]); @@ -22386,20 +22395,20 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:42: ( expression ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:42: ( expression ( ws )? ) { - dbg.location(1052,42); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:42: ( expression ( ws )? ) + dbg.location(1049,42); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:42: ( expression ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:43: expression ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:43: expression ( ws )? { - dbg.location(1052,43); - pushFollow(FOLLOW_expression_in_pseudo7081); + dbg.location(1049,43); + pushFollow(FOLLOW_expression_in_pseudo7103); expression(); state._fsp--; - if (state.failed) return;dbg.location(1052,54); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:54: ( ws )? + if (state.failed) return;dbg.location(1049,54); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:54: ( ws )? int alt334=2; try { dbg.enterSubRule(334); try { dbg.enterDecision(334, decisionCanBacktrack[334]); @@ -22414,10 +22423,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:54: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:54: ws { - dbg.location(1052,54); - pushFollow(FOLLOW_ws_in_pseudo7083); + dbg.location(1049,54); + pushFollow(FOLLOW_ws_in_pseudo7105); ws(); state._fsp--; if (state.failed) return; @@ -22434,17 +22443,17 @@ else if ( (LA335_0==STAR) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:61: STAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:61: STAR { - dbg.location(1052,61); - match(input,STAR,FOLLOW_STAR_in_pseudo7089); if (state.failed) return; + dbg.location(1049,61); + match(input,STAR,FOLLOW_STAR_in_pseudo7111); if (state.failed) return; } break; } } finally {dbg.exitSubRule(335);} - dbg.location(1052,69); - match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7094); if (state.failed) return; + dbg.location(1049,69); + match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7116); if (state.failed) return; } break; @@ -22458,14 +22467,14 @@ else if ( (LA335_0==STAR) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:19: {...}? sass_interpolation_expression_var + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1052:19: {...}? sass_interpolation_expression_var { - dbg.location(1055,19); + dbg.location(1052,19); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "pseudo", "isScssSource()"); - }dbg.location(1055,37); - pushFollow(FOLLOW_sass_interpolation_expression_var_in_pseudo7157); + }dbg.location(1052,37); + pushFollow(FOLLOW_sass_interpolation_expression_var_in_pseudo7179); sass_interpolation_expression_var(); state._fsp--; if (state.failed) return; @@ -22474,17 +22483,17 @@ else if ( (LA335_0==STAR) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:19: ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:19: ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) { - dbg.location(1056,19); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:19: ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) + dbg.location(1053,19); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:19: ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:21: NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:21: NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN { - dbg.location(1056,21); - match(input,NOT,FOLLOW_NOT_in_pseudo7179); if (state.failed) return;dbg.location(1056,25); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:25: ( ws )? + dbg.location(1053,21); + match(input,NOT,FOLLOW_NOT_in_pseudo7201); if (state.failed) return;dbg.location(1053,25); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:25: ( ws )? int alt337=2; try { dbg.enterSubRule(337); try { dbg.enterDecision(337, decisionCanBacktrack[337]); @@ -22499,10 +22508,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:25: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:25: ws { - dbg.location(1056,25); - pushFollow(FOLLOW_ws_in_pseudo7181); + dbg.location(1053,25); + pushFollow(FOLLOW_ws_in_pseudo7203); ws(); state._fsp--; if (state.failed) return; @@ -22511,9 +22520,9 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(337);} - dbg.location(1056,29); - match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7184); if (state.failed) return;dbg.location(1056,36); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:36: ( ws )? + dbg.location(1053,29); + match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7206); if (state.failed) return;dbg.location(1053,36); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:36: ( ws )? int alt338=2; try { dbg.enterSubRule(338); try { dbg.enterDecision(338, decisionCanBacktrack[338]); @@ -22528,10 +22537,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:36: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:36: ws { - dbg.location(1056,36); - pushFollow(FOLLOW_ws_in_pseudo7186); + dbg.location(1053,36); + pushFollow(FOLLOW_ws_in_pseudo7208); ws(); state._fsp--; if (state.failed) return; @@ -22540,8 +22549,8 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(338);} - dbg.location(1056,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:40: ( selectorsGroup ( ws )? )? + dbg.location(1053,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:40: ( selectorsGroup ( ws )? )? int alt340=2; try { dbg.enterSubRule(340); try { dbg.enterDecision(340, decisionCanBacktrack[340]); @@ -22556,14 +22565,14 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:42: selectorsGroup ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:42: selectorsGroup ( ws )? { - dbg.location(1056,42); - pushFollow(FOLLOW_selectorsGroup_in_pseudo7191); + dbg.location(1053,42); + pushFollow(FOLLOW_selectorsGroup_in_pseudo7213); selectorsGroup(); state._fsp--; - if (state.failed) return;dbg.location(1056,57); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:57: ( ws )? + if (state.failed) return;dbg.location(1053,57); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:57: ( ws )? int alt339=2; try { dbg.enterSubRule(339); try { dbg.enterDecision(339, decisionCanBacktrack[339]); @@ -22578,10 +22587,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1056:57: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:57: ws { - dbg.location(1056,57); - pushFollow(FOLLOW_ws_in_pseudo7193); + dbg.location(1053,57); + pushFollow(FOLLOW_ws_in_pseudo7215); ws(); state._fsp--; if (state.failed) return; @@ -22596,8 +22605,8 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(340);} - dbg.location(1056,63); - match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7198); if (state.failed) return; + dbg.location(1053,63); + match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7220); if (state.failed) return; } } @@ -22605,21 +22614,21 @@ else if ( (LA335_0==STAR) ) { case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:19: {...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:19: {...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) { - dbg.location(1057,19); + dbg.location(1054,19); if ( !(evalPredicate(tokenNameEquals("is") || tokenNameEquals("where") || tokenNameEquals("has"),"tokenNameEquals(\"is\") || tokenNameEquals(\"where\") || tokenNameEquals(\"has\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "pseudo", "tokenNameEquals(\"is\") || tokenNameEquals(\"where\") || tokenNameEquals(\"has\")"); - }dbg.location(1057,98); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:98: ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) + }dbg.location(1054,98); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:98: ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:100: IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:100: IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN { - dbg.location(1057,100); - match(input,IDENT,FOLLOW_IDENT_in_pseudo7224); if (state.failed) return;dbg.location(1057,106); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:106: ( ws )? + dbg.location(1054,100); + match(input,IDENT,FOLLOW_IDENT_in_pseudo7246); if (state.failed) return;dbg.location(1054,106); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:106: ( ws )? int alt341=2; try { dbg.enterSubRule(341); try { dbg.enterDecision(341, decisionCanBacktrack[341]); @@ -22634,10 +22643,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:106: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:106: ws { - dbg.location(1057,106); - pushFollow(FOLLOW_ws_in_pseudo7226); + dbg.location(1054,106); + pushFollow(FOLLOW_ws_in_pseudo7248); ws(); state._fsp--; if (state.failed) return; @@ -22646,9 +22655,9 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(341);} - dbg.location(1057,110); - match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7229); if (state.failed) return;dbg.location(1057,117); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:117: ( ws )? + dbg.location(1054,110); + match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7251); if (state.failed) return;dbg.location(1054,117); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:117: ( ws )? int alt342=2; try { dbg.enterSubRule(342); try { dbg.enterDecision(342, decisionCanBacktrack[342]); @@ -22663,10 +22672,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:117: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:117: ws { - dbg.location(1057,117); - pushFollow(FOLLOW_ws_in_pseudo7231); + dbg.location(1054,117); + pushFollow(FOLLOW_ws_in_pseudo7253); ws(); state._fsp--; if (state.failed) return; @@ -22675,8 +22684,8 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(342);} - dbg.location(1057,121); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:121: ( selectorsGroup ( ws )? )? + dbg.location(1054,121); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:121: ( selectorsGroup ( ws )? )? int alt344=2; try { dbg.enterSubRule(344); try { dbg.enterDecision(344, decisionCanBacktrack[344]); @@ -22691,14 +22700,14 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:123: selectorsGroup ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:123: selectorsGroup ( ws )? { - dbg.location(1057,123); - pushFollow(FOLLOW_selectorsGroup_in_pseudo7236); + dbg.location(1054,123); + pushFollow(FOLLOW_selectorsGroup_in_pseudo7258); selectorsGroup(); state._fsp--; - if (state.failed) return;dbg.location(1057,138); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:138: ( ws )? + if (state.failed) return;dbg.location(1054,138); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:138: ( ws )? int alt343=2; try { dbg.enterSubRule(343); try { dbg.enterDecision(343, decisionCanBacktrack[343]); @@ -22713,10 +22722,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1057:138: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:138: ws { - dbg.location(1057,138); - pushFollow(FOLLOW_ws_in_pseudo7238); + dbg.location(1054,138); + pushFollow(FOLLOW_ws_in_pseudo7260); ws(); state._fsp--; if (state.failed) return; @@ -22731,8 +22740,8 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(344);} - dbg.location(1057,144); - match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7243); if (state.failed) return; + dbg.location(1054,144); + match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7265); if (state.failed) return; } } @@ -22740,25 +22749,25 @@ else if ( (LA335_0==STAR) ) { case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:19: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:19: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) { - dbg.location(1058,19); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:19: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) + dbg.location(1055,19); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:19: ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:20: {...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:20: {...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN { - dbg.location(1058,20); + dbg.location(1055,20); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "pseudo", "isLessSource()"); - }dbg.location(1058,38); + }dbg.location(1055,38); if ( !(evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "pseudo", "tokenNameEquals(\"extend\")"); - }dbg.location(1058,67); - match(input,IDENT,FOLLOW_IDENT_in_pseudo7270); if (state.failed) return;dbg.location(1058,73); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:73: ( ws )? + }dbg.location(1055,67); + match(input,IDENT,FOLLOW_IDENT_in_pseudo7292); if (state.failed) return;dbg.location(1055,73); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:73: ( ws )? int alt345=2; try { dbg.enterSubRule(345); try { dbg.enterDecision(345, decisionCanBacktrack[345]); @@ -22773,10 +22782,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:73: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:73: ws { - dbg.location(1058,73); - pushFollow(FOLLOW_ws_in_pseudo7272); + dbg.location(1055,73); + pushFollow(FOLLOW_ws_in_pseudo7294); ws(); state._fsp--; if (state.failed) return; @@ -22785,9 +22794,9 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(345);} - dbg.location(1058,77); - match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7275); if (state.failed) return;dbg.location(1058,84); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:84: ( ws )? + dbg.location(1055,77); + match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7297); if (state.failed) return;dbg.location(1055,84); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:84: ( ws )? int alt346=2; try { dbg.enterSubRule(346); try { dbg.enterDecision(346, decisionCanBacktrack[346]); @@ -22802,10 +22811,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:84: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:84: ws { - dbg.location(1058,84); - pushFollow(FOLLOW_ws_in_pseudo7277); + dbg.location(1055,84); + pushFollow(FOLLOW_ws_in_pseudo7299); ws(); state._fsp--; if (state.failed) return; @@ -22814,8 +22823,8 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(346);} - dbg.location(1058,88); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:88: ( selectorsGroup )? + dbg.location(1055,88); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:88: ( selectorsGroup )? int alt347=2; try { dbg.enterSubRule(347); try { dbg.enterDecision(347, decisionCanBacktrack[347]); @@ -22830,10 +22839,10 @@ else if ( (LA335_0==STAR) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1058:88: selectorsGroup + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:88: selectorsGroup { - dbg.location(1058,88); - pushFollow(FOLLOW_selectorsGroup_in_pseudo7280); + dbg.location(1055,88); + pushFollow(FOLLOW_selectorsGroup_in_pseudo7302); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -22842,8 +22851,8 @@ else if ( (LA335_0==STAR) ) { } } finally {dbg.exitSubRule(347);} - dbg.location(1058,104); - match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7283); if (state.failed) return; + dbg.location(1055,104); + match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7305); if (state.failed) return; } } @@ -22862,7 +22871,7 @@ else if ( (LA335_0==STAR) ) { finally { // do for sure before leaving } - dbg.location(1060, 4); + dbg.location(1057, 4); } finally { @@ -22877,15 +22886,15 @@ else if ( (LA335_0==STAR) ) { // $ANTLR start "propertyDeclaration" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:1: propertyDeclaration : ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue |{...}? property ( ws )? COLON ( ws )? ( componentValueOuter )? | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1059:1: propertyDeclaration : ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue |{...}? property ( ws )? COLON ( ws )? ( componentValueOuter )? | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? ); public final void propertyDeclaration() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "propertyDeclaration"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1062, 0); + dbg.location(1059, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:5: ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue |{...}? property ( ws )? COLON ( ws )? ( componentValueOuter )? | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1060:5: ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue |{...}? property ( ws )? COLON ( ws )? ( componentValueOuter )? | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? ) int alt360=3; try { dbg.enterDecision(360, decisionCanBacktrack[360]); @@ -23146,14 +23155,14 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1064:7: {...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:7: {...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue { - dbg.location(1064,7); + dbg.location(1061,7); if ( !(evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "propertyDeclaration", "isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")"); - }dbg.location(1064,66); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1064:66: ( STAR )? + }dbg.location(1061,66); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:66: ( STAR )? int alt349=2; try { dbg.enterSubRule(349); try { dbg.enterDecision(349, decisionCanBacktrack[349]); @@ -23168,21 +23177,21 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1064:66: STAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:66: STAR { - dbg.location(1064,66); - match(input,STAR,FOLLOW_STAR_in_propertyDeclaration7325); if (state.failed) return; + dbg.location(1061,66); + match(input,STAR,FOLLOW_STAR_in_propertyDeclaration7347); if (state.failed) return; } break; } } finally {dbg.exitSubRule(349);} - dbg.location(1064,72); - pushFollow(FOLLOW_property_in_propertyDeclaration7328); + dbg.location(1061,72); + pushFollow(FOLLOW_property_in_propertyDeclaration7350); property(); state._fsp--; - if (state.failed) return;dbg.location(1064,81); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1064:81: ( ws )? + if (state.failed) return;dbg.location(1061,81); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:81: ( ws )? int alt350=2; try { dbg.enterSubRule(350); try { dbg.enterDecision(350, decisionCanBacktrack[350]); @@ -23197,10 +23206,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1064:81: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:81: ws { - dbg.location(1064,81); - pushFollow(FOLLOW_ws_in_propertyDeclaration7330); + dbg.location(1061,81); + pushFollow(FOLLOW_ws_in_propertyDeclaration7352); ws(); state._fsp--; if (state.failed) return; @@ -23209,9 +23218,9 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } finally {dbg.exitSubRule(350);} - dbg.location(1064,85); - match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7333); if (state.failed) return;dbg.location(1064,91); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1064:91: ( ws )? + dbg.location(1061,85); + match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7355); if (state.failed) return;dbg.location(1061,91); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:91: ( ws )? int alt351=2; try { dbg.enterSubRule(351); try { dbg.enterDecision(351, decisionCanBacktrack[351]); @@ -23226,10 +23235,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1064:91: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:91: ws { - dbg.location(1064,91); - pushFollow(FOLLOW_ws_in_propertyDeclaration7335); + dbg.location(1061,91); + pushFollow(FOLLOW_ws_in_propertyDeclaration7357); ws(); state._fsp--; if (state.failed) return; @@ -23238,8 +23247,8 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } finally {dbg.exitSubRule(351);} - dbg.location(1064,95); - pushFollow(FOLLOW_cp_propertyValue_in_propertyDeclaration7338); + dbg.location(1061,95); + pushFollow(FOLLOW_cp_propertyValue_in_propertyDeclaration7360); cp_propertyValue(); state._fsp--; if (state.failed) return; @@ -23248,18 +23257,18 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1065:7: {...}? property ( ws )? COLON ( ws )? ( componentValueOuter )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:7: {...}? property ( ws )? COLON ( ws )? ( componentValueOuter )? { - dbg.location(1065,7); + dbg.location(1062,7); if ( !(evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "propertyDeclaration", "tokenNameStartsWith(\"--\")"); - }dbg.location(1065,36); - pushFollow(FOLLOW_property_in_propertyDeclaration7349); + }dbg.location(1062,36); + pushFollow(FOLLOW_property_in_propertyDeclaration7371); property(); state._fsp--; - if (state.failed) return;dbg.location(1065,45); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1065:45: ( ws )? + if (state.failed) return;dbg.location(1062,45); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:45: ( ws )? int alt352=2; try { dbg.enterSubRule(352); try { dbg.enterDecision(352, decisionCanBacktrack[352]); @@ -23274,10 +23283,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1065:45: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:45: ws { - dbg.location(1065,45); - pushFollow(FOLLOW_ws_in_propertyDeclaration7351); + dbg.location(1062,45); + pushFollow(FOLLOW_ws_in_propertyDeclaration7373); ws(); state._fsp--; if (state.failed) return; @@ -23286,9 +23295,9 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } finally {dbg.exitSubRule(352);} - dbg.location(1065,49); - match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7354); if (state.failed) return;dbg.location(1065,55); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1065:55: ( ws )? + dbg.location(1062,49); + match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7376); if (state.failed) return;dbg.location(1062,55); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:55: ( ws )? int alt353=2; try { dbg.enterSubRule(353); try { dbg.enterDecision(353, decisionCanBacktrack[353]); @@ -23303,10 +23312,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1065:55: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:55: ws { - dbg.location(1065,55); - pushFollow(FOLLOW_ws_in_propertyDeclaration7356); + dbg.location(1062,55); + pushFollow(FOLLOW_ws_in_propertyDeclaration7378); ws(); state._fsp--; if (state.failed) return; @@ -23315,8 +23324,8 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } finally {dbg.exitSubRule(353);} - dbg.location(1065,59); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1065:59: ( componentValueOuter )? + dbg.location(1062,59); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:59: ( componentValueOuter )? int alt354=2; try { dbg.enterSubRule(354); try { dbg.enterDecision(354, decisionCanBacktrack[354]); @@ -23641,10 +23650,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1065:59: componentValueOuter + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:59: componentValueOuter { - dbg.location(1065,59); - pushFollow(FOLLOW_componentValueOuter_in_propertyDeclaration7359); + dbg.location(1062,59); + pushFollow(FOLLOW_componentValueOuter_in_propertyDeclaration7381); componentValueOuter(); state._fsp--; if (state.failed) return; @@ -23659,10 +23668,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:7: ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:7: ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? { - dbg.location(1066,7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:7: ( STAR )? + dbg.location(1063,7); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:7: ( STAR )? int alt355=2; try { dbg.enterSubRule(355); try { dbg.enterDecision(355, decisionCanBacktrack[355]); @@ -23677,21 +23686,21 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:7: STAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:7: STAR { - dbg.location(1066,7); - match(input,STAR,FOLLOW_STAR_in_propertyDeclaration7368); if (state.failed) return; + dbg.location(1063,7); + match(input,STAR,FOLLOW_STAR_in_propertyDeclaration7390); if (state.failed) return; } break; } } finally {dbg.exitSubRule(355);} - dbg.location(1066,13); - pushFollow(FOLLOW_property_in_propertyDeclaration7371); + dbg.location(1063,13); + pushFollow(FOLLOW_property_in_propertyDeclaration7393); property(); state._fsp--; - if (state.failed) return;dbg.location(1066,22); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:22: ( ws )? + if (state.failed) return;dbg.location(1063,22); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:22: ( ws )? int alt356=2; try { dbg.enterSubRule(356); try { dbg.enterDecision(356, decisionCanBacktrack[356]); @@ -23706,10 +23715,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:22: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:22: ws { - dbg.location(1066,22); - pushFollow(FOLLOW_ws_in_propertyDeclaration7373); + dbg.location(1063,22); + pushFollow(FOLLOW_ws_in_propertyDeclaration7395); ws(); state._fsp--; if (state.failed) return; @@ -23718,9 +23727,9 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } finally {dbg.exitSubRule(356);} - dbg.location(1066,26); - match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7376); if (state.failed) return;dbg.location(1066,32); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:32: ( ws )? + dbg.location(1063,26); + match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7398); if (state.failed) return;dbg.location(1063,32); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:32: ( ws )? int alt357=2; try { dbg.enterSubRule(357); try { dbg.enterDecision(357, decisionCanBacktrack[357]); @@ -23735,10 +23744,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:32: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:32: ws { - dbg.location(1066,32); - pushFollow(FOLLOW_ws_in_propertyDeclaration7378); + dbg.location(1063,32); + pushFollow(FOLLOW_ws_in_propertyDeclaration7400); ws(); state._fsp--; if (state.failed) return; @@ -23747,12 +23756,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } finally {dbg.exitSubRule(357);} - dbg.location(1066,36); - pushFollow(FOLLOW_propertyValue_in_propertyDeclaration7381); + dbg.location(1063,36); + pushFollow(FOLLOW_propertyValue_in_propertyDeclaration7403); propertyValue(); state._fsp--; - if (state.failed) return;dbg.location(1066,50); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:50: ( ( ws )? prio )? + if (state.failed) return;dbg.location(1063,50); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:50: ( ( ws )? prio )? int alt359=2; try { dbg.enterSubRule(359); try { dbg.enterDecision(359, decisionCanBacktrack[359]); @@ -23771,10 +23780,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:51: ( ws )? prio + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:51: ( ws )? prio { - dbg.location(1066,51); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:51: ( ws )? + dbg.location(1063,51); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:51: ( ws )? int alt358=2; try { dbg.enterSubRule(358); try { dbg.enterDecision(358, decisionCanBacktrack[358]); @@ -23789,10 +23798,10 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1066:51: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:51: ws { - dbg.location(1066,51); - pushFollow(FOLLOW_ws_in_propertyDeclaration7384); + dbg.location(1063,51); + pushFollow(FOLLOW_ws_in_propertyDeclaration7406); ws(); state._fsp--; if (state.failed) return; @@ -23801,8 +23810,8 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } finally {dbg.exitSubRule(358);} - dbg.location(1066,55); - pushFollow(FOLLOW_prio_in_propertyDeclaration7387); + dbg.location(1063,55); + pushFollow(FOLLOW_prio_in_propertyDeclaration7409); prio(); state._fsp--; if (state.failed) return; @@ -23829,7 +23838,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") finally { // do for sure before leaving } - dbg.location(1068, 4); + dbg.location(1065, 4); } finally { @@ -23844,15 +23853,15 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // $ANTLR start "cp_propertyValue" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1077:1: cp_propertyValue : ({...}? cp_expression_list | propertyValue ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1074:1: cp_propertyValue : ({...}? cp_expression_list | propertyValue ); public final void cp_propertyValue() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_propertyValue"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1077, 0); + dbg.location(1074, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1078:5: ({...}? cp_expression_list | propertyValue ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1075:5: ({...}? cp_expression_list | propertyValue ) int alt361=2; try { dbg.enterDecision(361, decisionCanBacktrack[361]); @@ -24340,14 +24349,14 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1079:5: {...}? cp_expression_list + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1076:5: {...}? cp_expression_list { - dbg.location(1079,5); + dbg.location(1076,5); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_propertyValue", "isCssPreprocessorSource()"); - }dbg.location(1079,34); - pushFollow(FOLLOW_cp_expression_list_in_cp_propertyValue7427); + }dbg.location(1076,34); + pushFollow(FOLLOW_cp_expression_list_in_cp_propertyValue7449); cp_expression_list(); state._fsp--; if (state.failed) return; @@ -24356,10 +24365,10 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1080:7: propertyValue + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1077:7: propertyValue { - dbg.location(1080,7); - pushFollow(FOLLOW_propertyValue_in_cp_propertyValue7435); + dbg.location(1077,7); + pushFollow(FOLLOW_propertyValue_in_cp_propertyValue7457); propertyValue(); state._fsp--; if (state.failed) return; @@ -24375,7 +24384,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) finally { // do for sure before leaving } - dbg.location(1081, 4); + dbg.location(1078, 4); } finally { @@ -24390,21 +24399,21 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) // $ANTLR start "propertyValue" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1083:1: propertyValue : expression ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1080:1: propertyValue : expression ; public final void propertyValue() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "propertyValue"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1083, 0); + dbg.location(1080, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1084:2: ( expression ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1081:2: ( expression ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1085:9: expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1082:9: expression { - dbg.location(1085,9); - pushFollow(FOLLOW_expression_in_propertyValue7457); + dbg.location(1082,9); + pushFollow(FOLLOW_expression_in_propertyValue7479); expression(); state._fsp--; if (state.failed) return; @@ -24418,7 +24427,7 @@ public final void propertyValue() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1086, 1); + dbg.location(1083, 1); } finally { @@ -24433,21 +24442,21 @@ public final void propertyValue() throws RecognitionException { // $ANTLR start "expressionPredicate" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1089:1: expressionPredicate options {k=1; } : (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1086:1: expressionPredicate options {k=1; } : (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) ; public final void expressionPredicate() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "expressionPredicate"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1089, 0); + dbg.location(1086, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1091:5: ( (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1088:5: ( (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1092:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1089:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ ( SEMI | RBRACE ) { - dbg.location(1092,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1092:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ + dbg.location(1089,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1089:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ int cnt362=0; try { dbg.enterSubRule(362); @@ -24469,7 +24478,7 @@ public final void expressionPredicate() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1092,5); + dbg.location(1089,5); if ( (input.LA(1) >= A && input.LA(1) <= ANGLE)||(input.LA(1) >= AT_SIGN && input.LA(1) <= LAYER_SYM)||(input.LA(1) >= LBRACKET && input.LA(1) <= R)||(input.LA(1) >= RBRACKET && input.LA(1) <= SASS_USE)||(input.LA(1) >= SASS_WARN && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= STRING && input.LA(1) <= Z) ) { input.consume(); state.errorRecovery=false; @@ -24495,7 +24504,7 @@ public final void expressionPredicate() throws RecognitionException { cnt362++; } } finally {dbg.exitSubRule(362);} - dbg.location(1092,76); + dbg.location(1089,76); if ( input.LA(1)==RBRACE||input.LA(1)==SEMI ) { input.consume(); state.errorRecovery=false; @@ -24517,7 +24526,7 @@ public final void expressionPredicate() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1093, 4); + dbg.location(1090, 4); } finally { @@ -24532,20 +24541,20 @@ public final void expressionPredicate() throws RecognitionException { // $ANTLR start "preservedToken" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:1: preservedToken : ~ ( LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1092:1: preservedToken : ~ ( LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET ) ; public final void preservedToken() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "preservedToken"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1095, 0); + dbg.location(1092, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1095:15: (~ ( LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1092:15: (~ ( LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET ) ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1095,15); + dbg.location(1092,15); if ( (input.LA(1) >= A && input.LA(1) <= LAYER_SYM)||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LINE_COMMENT)||(input.LA(1) >= M && input.LA(1) <= R)||(input.LA(1) >= REM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= S && input.LA(1) <= Z) ) { input.consume(); state.errorRecovery=false; @@ -24567,7 +24576,7 @@ public final void preservedToken() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1095, 75); + dbg.location(1092, 75); } finally { @@ -24582,20 +24591,20 @@ public final void preservedToken() throws RecognitionException { // $ANTLR start "preservedTokenTopLevel" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1097:1: preservedTokenTopLevel : ~ ( LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET | SEMI ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1094:1: preservedTokenTopLevel : ~ ( LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET | SEMI ) ; public final void preservedTokenTopLevel() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "preservedTokenTopLevel"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1097, 0); + dbg.location(1094, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1097:23: (~ ( LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET | SEMI ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1094:23: (~ ( LPAREN | LBRACE | LBRACKET | RPAREN | RBRACE | RBRACKET | SEMI ) ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1097,23); + dbg.location(1094,23); if ( (input.LA(1) >= A && input.LA(1) <= LAYER_SYM)||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LINE_COMMENT)||(input.LA(1) >= M && input.LA(1) <= R)||(input.LA(1) >= REM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= S && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= SOLIDUS && input.LA(1) <= Z) ) { input.consume(); state.errorRecovery=false; @@ -24617,7 +24626,7 @@ public final void preservedTokenTopLevel() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1097, 91); + dbg.location(1094, 91); } finally { @@ -24631,46 +24640,142 @@ public final void preservedTokenTopLevel() throws RecognitionException { + // $ANTLR start "braceBlock2" + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1097:1: braceBlock2 : LBRACE ( ws )? ( declarations )? RBRACE ; + public final void braceBlock2() throws RecognitionException { + try { dbg.enterRule(getGrammarFileName(), "braceBlock2"); + if ( getRuleLevel()==0 ) {dbg.commence();} + incRuleLevel(); + dbg.location(1097, 0); + + try { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1097:12: ( LBRACE ( ws )? ( declarations )? RBRACE ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1098:5: LBRACE ( ws )? ( declarations )? RBRACE + { + dbg.location(1098,5); + match(input,LBRACE,FOLLOW_LBRACE_in_braceBlock27640); if (state.failed) return;dbg.location(1098,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1098:12: ( ws )? + int alt363=2; + try { dbg.enterSubRule(363); + try { dbg.enterDecision(363, decisionCanBacktrack[363]); + + int LA363_0 = input.LA(1); + if ( (LA363_0==COMMENT||LA363_0==NL||LA363_0==WS) ) { + alt363=1; + } + } finally {dbg.exitDecision(363);} + + switch (alt363) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1098:12: ws + { + dbg.location(1098,12); + pushFollow(FOLLOW_ws_in_braceBlock27642); + ws(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(363);} + dbg.location(1099,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:9: ( declarations )? + int alt364=2; + try { dbg.enterSubRule(364); + try { dbg.enterDecision(364, decisionCanBacktrack[364]); + + int LA364_0 = input.LA(1); + if ( ((LA364_0 >= AT_IDENT && LA364_0 <= AT_SIGN)||(LA364_0 >= BOTTOMCENTER_SYM && LA364_0 <= BOTTOMRIGHT_SYM)||(LA364_0 >= CHARSET_SYM && LA364_0 <= COLON)||LA364_0==CONTAINER_SYM||LA364_0==COUNTER_STYLE_SYM||(LA364_0 >= DCOLON && LA364_0 <= DOT)||LA364_0==FONT_FACE_SYM||(LA364_0 >= GEN && LA364_0 <= GREATER)||(LA364_0 >= HASH && LA364_0 <= HASH_SYMBOL)||LA364_0==IDENT||LA364_0==IMPORT_SYM||LA364_0==LAYER_SYM||(LA364_0 >= LBRACKET && LA364_0 <= LEFTTOP_SYM)||LA364_0==LESS_AND||(LA364_0 >= MEDIA_SYM && LA364_0 <= MOZ_DOCUMENT_SYM)||LA364_0==NAMESPACE_SYM||LA364_0==PAGE_SYM||(LA364_0 >= PIPE && LA364_0 <= PLUS)||(LA364_0 >= RIGHTBOTTOM_SYM && LA364_0 <= RIGHTTOP_SYM)||(LA364_0 >= SASS_AT_ROOT && LA364_0 <= SASS_DEBUG)||(LA364_0 >= SASS_EACH && LA364_0 <= SASS_ELSE)||(LA364_0 >= SASS_ERROR && LA364_0 <= SASS_FUNCTION)||(LA364_0 >= SASS_IF && LA364_0 <= SASS_MIXIN)||(LA364_0 >= SASS_RETURN && LA364_0 <= SEMI)||LA364_0==STAR||LA364_0==SUPPORTS_SYM||LA364_0==TILDE||(LA364_0 >= TOPCENTER_SYM && LA364_0 <= TOPRIGHT_SYM)||LA364_0==VARIABLE||LA364_0==WEBKIT_KEYFRAMES_SYM) ) { + alt364=1; + } + } finally {dbg.exitDecision(364);} + + switch (alt364) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:9: declarations + { + dbg.location(1099,9); + pushFollow(FOLLOW_declarations_in_braceBlock27653); + declarations(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(364);} + dbg.location(1100,5); + match(input,RBRACE,FOLLOW_RBRACE_in_braceBlock27660); if (state.failed) return; + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + // do for sure before leaving + } + dbg.location(1101, 4); + + } + finally { + dbg.exitRule(getGrammarFileName(), "braceBlock2"); + decRuleLevel(); + if ( getRuleLevel()==0 ) {dbg.terminate();} + } + + } + // $ANTLR end "braceBlock2" + + + // $ANTLR start "braceBlock" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:1: braceBlock : LBRACE ( componentValue )+ RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:1: braceBlock : LBRACE ( componentValue )* RBRACE ; public final void braceBlock() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "braceBlock"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1099, 0); + dbg.location(1104, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:11: ( LBRACE ( componentValue )+ RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:11: ( LBRACE ( componentValue )* RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:13: LBRACE ( componentValue )+ RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:13: LBRACE ( componentValue )* RBRACE { - dbg.location(1099,13); - match(input,LBRACE,FOLLOW_LBRACE_in_braceBlock7613); if (state.failed) return;dbg.location(1099,20); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:20: ( componentValue )+ - int cnt363=0; - try { dbg.enterSubRule(363); + dbg.location(1104,13); + match(input,LBRACE,FOLLOW_LBRACE_in_braceBlock7673); if (state.failed) return;dbg.location(1104,20); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:20: ( componentValue )* + try { dbg.enterSubRule(365); - loop363: + loop365: while (true) { - int alt363=2; - try { dbg.enterDecision(363, decisionCanBacktrack[363]); + int alt365=2; + try { dbg.enterDecision(365, decisionCanBacktrack[365]); - int LA363_0 = input.LA(1); - if ( ((LA363_0 >= A && LA363_0 <= R)||(LA363_0 >= REM && LA363_0 <= RIGHTTOP_SYM)||(LA363_0 >= S && LA363_0 <= Z)) ) { - alt363=1; + int LA365_0 = input.LA(1); + if ( ((LA365_0 >= A && LA365_0 <= R)||(LA365_0 >= REM && LA365_0 <= RIGHTTOP_SYM)||(LA365_0 >= S && LA365_0 <= Z)) ) { + alt365=1; } - } finally {dbg.exitDecision(363);} + } finally {dbg.exitDecision(365);} - switch (alt363) { + switch (alt365) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:20: componentValue + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:20: componentValue { - dbg.location(1099,20); - pushFollow(FOLLOW_componentValue_in_braceBlock7615); + dbg.location(1104,20); + pushFollow(FOLLOW_componentValue_in_braceBlock7675); componentValue(); state._fsp--; if (state.failed) return; @@ -24678,18 +24783,12 @@ public final void braceBlock() throws RecognitionException { break; default : - if ( cnt363 >= 1 ) break loop363; - if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(363, input); - dbg.recognitionException(eee); - - throw eee; + break loop365; } - cnt363++; } - } finally {dbg.exitSubRule(363);} - dbg.location(1099,36); - match(input,RBRACE,FOLLOW_RBRACE_in_braceBlock7618); if (state.failed) return; + } finally {dbg.exitSubRule(365);} + dbg.location(1104,36); + match(input,RBRACE,FOLLOW_RBRACE_in_braceBlock7678); if (state.failed) return; } } @@ -24700,7 +24799,7 @@ public final void braceBlock() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1099, 41); + dbg.location(1104, 41); } finally { @@ -24715,45 +24814,45 @@ public final void braceBlock() throws RecognitionException { // $ANTLR start "bracketBlock" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1101:1: bracketBlock : LBRACKET ( componentValue )+ RBRACKET ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:1: bracketBlock : LBRACKET ( componentValue )+ RBRACKET ; public final void bracketBlock() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "bracketBlock"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1101, 0); + dbg.location(1106, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1101:13: ( LBRACKET ( componentValue )+ RBRACKET ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:13: ( LBRACKET ( componentValue )+ RBRACKET ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1101:15: LBRACKET ( componentValue )+ RBRACKET + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:15: LBRACKET ( componentValue )+ RBRACKET { - dbg.location(1101,15); - match(input,LBRACKET,FOLLOW_LBRACKET_in_bracketBlock7625); if (state.failed) return;dbg.location(1101,24); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1101:24: ( componentValue )+ - int cnt364=0; - try { dbg.enterSubRule(364); + dbg.location(1106,15); + match(input,LBRACKET,FOLLOW_LBRACKET_in_bracketBlock7685); if (state.failed) return;dbg.location(1106,24); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:24: ( componentValue )+ + int cnt366=0; + try { dbg.enterSubRule(366); - loop364: + loop366: while (true) { - int alt364=2; - try { dbg.enterDecision(364, decisionCanBacktrack[364]); + int alt366=2; + try { dbg.enterDecision(366, decisionCanBacktrack[366]); - int LA364_0 = input.LA(1); - if ( ((LA364_0 >= A && LA364_0 <= R)||(LA364_0 >= REM && LA364_0 <= RIGHTTOP_SYM)||(LA364_0 >= S && LA364_0 <= Z)) ) { - alt364=1; + int LA366_0 = input.LA(1); + if ( ((LA366_0 >= A && LA366_0 <= R)||(LA366_0 >= REM && LA366_0 <= RIGHTTOP_SYM)||(LA366_0 >= S && LA366_0 <= Z)) ) { + alt366=1; } - } finally {dbg.exitDecision(364);} + } finally {dbg.exitDecision(366);} - switch (alt364) { + switch (alt366) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1101:24: componentValue + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:24: componentValue { - dbg.location(1101,24); - pushFollow(FOLLOW_componentValue_in_bracketBlock7627); + dbg.location(1106,24); + pushFollow(FOLLOW_componentValue_in_bracketBlock7687); componentValue(); state._fsp--; if (state.failed) return; @@ -24761,18 +24860,18 @@ public final void bracketBlock() throws RecognitionException { break; default : - if ( cnt364 >= 1 ) break loop364; + if ( cnt366 >= 1 ) break loop366; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(364, input); + EarlyExitException eee = new EarlyExitException(366, input); dbg.recognitionException(eee); throw eee; } - cnt364++; + cnt366++; } - } finally {dbg.exitSubRule(364);} - dbg.location(1101,40); - match(input,RBRACKET,FOLLOW_RBRACKET_in_bracketBlock7630); if (state.failed) return; + } finally {dbg.exitSubRule(366);} + dbg.location(1106,40); + match(input,RBRACKET,FOLLOW_RBRACKET_in_bracketBlock7690); if (state.failed) return; } } @@ -24783,7 +24882,7 @@ public final void bracketBlock() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1101, 47); + dbg.location(1106, 47); } finally { @@ -24798,45 +24897,45 @@ public final void bracketBlock() throws RecognitionException { // $ANTLR start "parenBlock" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1103:1: parenBlock : LPAREN ( componentValue )+ RPAREN ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1108:1: parenBlock : LPAREN ( componentValue )+ RPAREN ; public final void parenBlock() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "parenBlock"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1103, 0); + dbg.location(1108, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1103:11: ( LPAREN ( componentValue )+ RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1108:11: ( LPAREN ( componentValue )+ RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1103:13: LPAREN ( componentValue )+ RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1108:13: LPAREN ( componentValue )+ RPAREN { - dbg.location(1103,13); - match(input,LPAREN,FOLLOW_LPAREN_in_parenBlock7637); if (state.failed) return;dbg.location(1103,20); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1103:20: ( componentValue )+ - int cnt365=0; - try { dbg.enterSubRule(365); + dbg.location(1108,13); + match(input,LPAREN,FOLLOW_LPAREN_in_parenBlock7697); if (state.failed) return;dbg.location(1108,20); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1108:20: ( componentValue )+ + int cnt367=0; + try { dbg.enterSubRule(367); - loop365: + loop367: while (true) { - int alt365=2; - try { dbg.enterDecision(365, decisionCanBacktrack[365]); + int alt367=2; + try { dbg.enterDecision(367, decisionCanBacktrack[367]); - int LA365_0 = input.LA(1); - if ( ((LA365_0 >= A && LA365_0 <= R)||(LA365_0 >= REM && LA365_0 <= RIGHTTOP_SYM)||(LA365_0 >= S && LA365_0 <= Z)) ) { - alt365=1; + int LA367_0 = input.LA(1); + if ( ((LA367_0 >= A && LA367_0 <= R)||(LA367_0 >= REM && LA367_0 <= RIGHTTOP_SYM)||(LA367_0 >= S && LA367_0 <= Z)) ) { + alt367=1; } - } finally {dbg.exitDecision(365);} + } finally {dbg.exitDecision(367);} - switch (alt365) { + switch (alt367) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1103:20: componentValue + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1108:20: componentValue { - dbg.location(1103,20); - pushFollow(FOLLOW_componentValue_in_parenBlock7639); + dbg.location(1108,20); + pushFollow(FOLLOW_componentValue_in_parenBlock7699); componentValue(); state._fsp--; if (state.failed) return; @@ -24844,18 +24943,18 @@ public final void parenBlock() throws RecognitionException { break; default : - if ( cnt365 >= 1 ) break loop365; + if ( cnt367 >= 1 ) break loop367; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(365, input); + EarlyExitException eee = new EarlyExitException(367, input); dbg.recognitionException(eee); throw eee; } - cnt365++; + cnt367++; } - } finally {dbg.exitSubRule(365);} - dbg.location(1103,36); - match(input,RPAREN,FOLLOW_RPAREN_in_parenBlock7642); if (state.failed) return; + } finally {dbg.exitSubRule(367);} + dbg.location(1108,36); + match(input,RPAREN,FOLLOW_RPAREN_in_parenBlock7702); if (state.failed) return; } } @@ -24866,7 +24965,7 @@ public final void parenBlock() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1103, 41); + dbg.location(1108, 41); } finally { @@ -24881,42 +24980,42 @@ public final void parenBlock() throws RecognitionException { // $ANTLR start "componentValue" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:1: componentValue : ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedToken ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:1: componentValue : ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedToken ); public final void componentValue() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "componentValue"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1105, 0); + dbg.location(1110, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:15: ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedToken ) - int alt366=5; - try { dbg.enterDecision(366, decisionCanBacktrack[366]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:15: ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedToken ) + int alt368=5; + try { dbg.enterDecision(368, decisionCanBacktrack[368]); switch ( input.LA(1) ) { case LPAREN: { - alt366=1; + alt368=1; } break; case LBRACE: { - alt366=2; + alt368=2; } break; case LBRACKET: { - alt366=3; + alt368=3; } break; case IDENT: { - int LA366_4 = input.LA(2); - if ( (synpred47_Css3()) ) { - alt366=4; + int LA368_4 = input.LA(2); + if ( (synpred53_Css3()) ) { + alt368=4; } else if ( (true) ) { - alt366=5; + alt368=5; } } @@ -25069,26 +25168,26 @@ else if ( (true) ) { case Y: case Z: { - alt366=5; + alt368=5; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 366, 0, input); + new NoViableAltException("", 368, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(366);} + } finally {dbg.exitDecision(368);} - switch (alt366) { + switch (alt368) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:17: parenBlock + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:17: parenBlock { - dbg.location(1105,17); - pushFollow(FOLLOW_parenBlock_in_componentValue7649); + dbg.location(1110,17); + pushFollow(FOLLOW_parenBlock_in_componentValue7709); parenBlock(); state._fsp--; if (state.failed) return; @@ -25097,10 +25196,10 @@ else if ( (true) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:30: braceBlock + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:30: braceBlock { - dbg.location(1105,30); - pushFollow(FOLLOW_braceBlock_in_componentValue7653); + dbg.location(1110,30); + pushFollow(FOLLOW_braceBlock_in_componentValue7713); braceBlock(); state._fsp--; if (state.failed) return; @@ -25109,10 +25208,10 @@ else if ( (true) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:43: bracketBlock + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:43: bracketBlock { - dbg.location(1105,43); - pushFollow(FOLLOW_bracketBlock_in_componentValue7657); + dbg.location(1110,43); + pushFollow(FOLLOW_bracketBlock_in_componentValue7717); bracketBlock(); state._fsp--; if (state.failed) return; @@ -25121,10 +25220,10 @@ else if ( (true) ) { case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:58: ( functionName ( ws )? LPAREN )=> function + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:58: ( functionName ( ws )? LPAREN )=> function { - dbg.location(1105,87); - pushFollow(FOLLOW_function_in_componentValue7672); + dbg.location(1110,87); + pushFollow(FOLLOW_function_in_componentValue7732); function(); state._fsp--; if (state.failed) return; @@ -25133,10 +25232,10 @@ else if ( (true) ) { case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:98: preservedToken + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:98: preservedToken { - dbg.location(1105,98); - pushFollow(FOLLOW_preservedToken_in_componentValue7676); + dbg.location(1110,98); + pushFollow(FOLLOW_preservedToken_in_componentValue7736); preservedToken(); state._fsp--; if (state.failed) return; @@ -25152,7 +25251,7 @@ else if ( (true) ) { finally { // do for sure before leaving } - dbg.location(1105, 111); + dbg.location(1110, 111); } finally { @@ -25167,49 +25266,49 @@ else if ( (true) ) { // $ANTLR start "componentValueOuter" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:1: componentValueOuter : ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) ( componentValueOuter )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:1: componentValueOuter : ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) ( componentValueOuter )* ; public final void componentValueOuter() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "componentValueOuter"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1107, 0); + dbg.location(1112, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:20: ( ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) ( componentValueOuter )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:20: ( ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) ( componentValueOuter )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:22: ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) ( componentValueOuter )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:22: ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) ( componentValueOuter )* { - dbg.location(1107,22); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:22: ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) - int alt367=5; - try { dbg.enterSubRule(367); - try { dbg.enterDecision(367, decisionCanBacktrack[367]); + dbg.location(1112,22); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:22: ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) + int alt369=5; + try { dbg.enterSubRule(369); + try { dbg.enterDecision(369, decisionCanBacktrack[369]); switch ( input.LA(1) ) { case LPAREN: { - alt367=1; + alt369=1; } break; case LBRACE: { - alt367=2; + alt369=2; } break; case LBRACKET: { - alt367=3; + alt369=3; } break; case IDENT: { - int LA367_4 = input.LA(2); - if ( (synpred48_Css3()) ) { - alt367=4; + int LA369_4 = input.LA(2); + if ( (synpred54_Css3()) ) { + alt369=4; } else if ( (true) ) { - alt367=5; + alt369=5; } } @@ -25361,26 +25460,26 @@ else if ( (true) ) { case Y: case Z: { - alt367=5; + alt369=5; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 367, 0, input); + new NoViableAltException("", 369, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(367);} + } finally {dbg.exitDecision(369);} - switch (alt367) { + switch (alt369) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:23: parenBlock + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:23: parenBlock { - dbg.location(1107,23); - pushFollow(FOLLOW_parenBlock_in_componentValueOuter7684); + dbg.location(1112,23); + pushFollow(FOLLOW_parenBlock_in_componentValueOuter7744); parenBlock(); state._fsp--; if (state.failed) return; @@ -25389,10 +25488,10 @@ else if ( (true) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:36: braceBlock + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:36: braceBlock { - dbg.location(1107,36); - pushFollow(FOLLOW_braceBlock_in_componentValueOuter7688); + dbg.location(1112,36); + pushFollow(FOLLOW_braceBlock_in_componentValueOuter7748); braceBlock(); state._fsp--; if (state.failed) return; @@ -25401,10 +25500,10 @@ else if ( (true) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:49: bracketBlock + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:49: bracketBlock { - dbg.location(1107,49); - pushFollow(FOLLOW_bracketBlock_in_componentValueOuter7692); + dbg.location(1112,49); + pushFollow(FOLLOW_bracketBlock_in_componentValueOuter7752); bracketBlock(); state._fsp--; if (state.failed) return; @@ -25413,10 +25512,10 @@ else if ( (true) ) { case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:64: ( functionName ( ws )? LPAREN )=> function + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:64: ( functionName ( ws )? LPAREN )=> function { - dbg.location(1107,93); - pushFollow(FOLLOW_function_in_componentValueOuter7707); + dbg.location(1112,93); + pushFollow(FOLLOW_function_in_componentValueOuter7767); function(); state._fsp--; if (state.failed) return; @@ -25425,10 +25524,10 @@ else if ( (true) ) { case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:104: preservedTokenTopLevel + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:104: preservedTokenTopLevel { - dbg.location(1107,104); - pushFollow(FOLLOW_preservedTokenTopLevel_in_componentValueOuter7711); + dbg.location(1112,104); + pushFollow(FOLLOW_preservedTokenTopLevel_in_componentValueOuter7771); preservedTokenTopLevel(); state._fsp--; if (state.failed) return; @@ -25436,201 +25535,201 @@ else if ( (true) ) { break; } - } finally {dbg.exitSubRule(367);} - dbg.location(1107,128); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:128: ( componentValueOuter )* - try { dbg.enterSubRule(368); + } finally {dbg.exitSubRule(369);} + dbg.location(1112,128); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:128: ( componentValueOuter )* + try { dbg.enterSubRule(370); - loop368: + loop370: while (true) { - int alt368=2; - try { dbg.enterDecision(368, decisionCanBacktrack[368]); + int alt370=2; + try { dbg.enterDecision(370, decisionCanBacktrack[370]); switch ( input.LA(1) ) { case COMMENT: case NL: case WS: { - alt368=1; + alt370=1; } break; case LESS_AND: { - alt368=1; + alt370=1; } break; case DOT: { - alt368=1; + alt370=1; } break; case HASH: { - alt368=1; + alt370=1; } break; case SASS_MIXIN: { - alt368=1; + alt370=1; } break; case AT_IDENT: { - alt368=1; + alt370=1; } break; case SASS_INCLUDE: { - alt368=1; + alt370=1; } break; case SASS_AT_ROOT: { - alt368=1; + alt370=1; } break; case GREATER: case PLUS: case TILDE: { - alt368=1; + alt370=1; } break; case SASS_EXTEND_ONLY_SELECTOR: { - alt368=1; + alt370=1; } break; case HASH_SYMBOL: { - alt368=1; + alt370=1; } break; case DIMENSION: { - alt368=1; + alt370=1; } break; case LBRACKET: { - alt368=1; + alt370=1; } break; case COLON: case DCOLON: { - alt368=1; + alt370=1; } break; case IDENT: { - alt368=1; + alt370=1; } break; case AT_SIGN: { - alt368=1; + alt370=1; } break; case MINUS: { - alt368=1; + alt370=1; } break; case STAR: { - alt368=1; + alt370=1; } break; case PIPE: { - alt368=1; + alt370=1; } break; case GEN: { - alt368=1; + alt370=1; } break; case VARIABLE: { - alt368=1; + alt370=1; } break; case SASS_DEBUG: case SASS_WARN: { - alt368=1; + alt370=1; } break; case SASS_VAR: { - alt368=1; + alt370=1; } break; case SASS_IF: { - alt368=1; + alt370=1; } break; case SASS_FOR: { - alt368=1; + alt370=1; } break; case SASS_EACH: { - alt368=1; + alt370=1; } break; case SASS_WHILE: { - alt368=1; + alt370=1; } break; case SASS_CONTENT: { - alt368=1; + alt370=1; } break; case IMPORT_SYM: { - alt368=1; + alt370=1; } break; case PAGE_SYM: { - alt368=1; + alt370=1; } break; case FONT_FACE_SYM: { - alt368=1; + alt370=1; } break; case MOZ_DOCUMENT_SYM: { - alt368=1; + alt370=1; } break; case WEBKIT_KEYFRAMES_SYM: { - alt368=1; + alt370=1; } break; case MEDIA_SYM: { - alt368=1; + alt370=1; } break; case SASS_EXTEND: { - alt368=1; + alt370=1; } break; case SUPPORTS_SYM: { - alt368=1; + alt370=1; } break; case BOTTOMCENTER_SYM: @@ -25650,7 +25749,7 @@ else if ( (true) ) { case TOPRIGHTCORNER_SYM: case TOPRIGHT_SYM: { - alt368=1; + alt370=1; } break; case CHARSET_SYM: @@ -25662,17 +25761,17 @@ else if ( (true) ) { case SASS_RETURN: case SASS_USE: { - alt368=1; + alt370=1; } break; case LPAREN: { - alt368=1; + alt370=1; } break; case LBRACE: { - alt368=1; + alt370=1; } break; case A: @@ -25758,20 +25857,20 @@ else if ( (true) ) { case Y: case Z: { - alt368=1; + alt370=1; } break; } - } finally {dbg.exitDecision(368);} + } finally {dbg.exitDecision(370);} - switch (alt368) { + switch (alt370) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:128: componentValueOuter + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:128: componentValueOuter { - dbg.location(1107,128); - pushFollow(FOLLOW_componentValueOuter_in_componentValueOuter7714); + dbg.location(1112,128); + pushFollow(FOLLOW_componentValueOuter_in_componentValueOuter7774); componentValueOuter(); state._fsp--; if (state.failed) return; @@ -25779,10 +25878,10 @@ else if ( (true) ) { break; default : - break loop368; + break loop370; } } - } finally {dbg.exitSubRule(368);} + } finally {dbg.exitSubRule(370);} } @@ -25794,7 +25893,7 @@ else if ( (true) ) { finally { // do for sure before leaving } - dbg.location(1107, 147); + dbg.location(1112, 147); } finally { @@ -25809,7 +25908,7 @@ else if ( (true) ) { // $ANTLR start "syncToDeclarationsRule" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1111:1: syncToDeclarationsRule :; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1116:1: syncToDeclarationsRule :; public final void syncToDeclarationsRule() throws RecognitionException { //why sync to DOT? - LESS allows class rules nested @@ -25818,13 +25917,13 @@ public final void syncToDeclarationsRule() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "syncToDeclarationsRule"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1111, 0); + dbg.location(1116, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1116:6: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1121:6: () dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1117:6: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1122:6: { } @@ -25832,7 +25931,7 @@ public final void syncToDeclarationsRule() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1117, 5); + dbg.location(1122, 5); } finally { @@ -25847,7 +25946,7 @@ public final void syncToDeclarationsRule() throws RecognitionException { // $ANTLR start "syncTo_RBRACE" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1119:1: syncTo_RBRACE :; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1124:1: syncTo_RBRACE :; public final void syncTo_RBRACE() throws RecognitionException { syncToRBRACE(1); //initial nest == 1 @@ -25855,13 +25954,13 @@ public final void syncTo_RBRACE() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "syncTo_RBRACE"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1119, 0); + dbg.location(1124, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1123:6: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1128:6: () dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1124:6: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1129:6: { } @@ -25869,7 +25968,7 @@ public final void syncTo_RBRACE() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1124, 5); + dbg.location(1129, 5); } finally { @@ -25884,7 +25983,7 @@ public final void syncTo_RBRACE() throws RecognitionException { // $ANTLR start "syncTo_SEMI" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1126:1: syncTo_SEMI : SEMI ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1131:1: syncTo_SEMI : SEMI ; public final void syncTo_SEMI() throws RecognitionException { syncToSet(BitSet.of(SEMI)); @@ -25892,16 +25991,16 @@ public final void syncTo_SEMI() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "syncTo_SEMI"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1126, 0); + dbg.location(1131, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1130:6: ( SEMI ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:6: ( SEMI ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1131:13: SEMI + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1136:13: SEMI { - dbg.location(1131,13); - match(input,SEMI,FOLLOW_SEMI_in_syncTo_SEMI7803); if (state.failed) return; + dbg.location(1136,13); + match(input,SEMI,FOLLOW_SEMI_in_syncTo_SEMI7863); if (state.failed) return; } } @@ -25912,7 +26011,7 @@ public final void syncTo_SEMI() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1132, 5); + dbg.location(1137, 5); } finally { @@ -25927,7 +26026,7 @@ public final void syncTo_SEMI() throws RecognitionException { // $ANTLR start "syncToFollow" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1135:1: syncToFollow :; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1140:1: syncToFollow :; public final void syncToFollow() throws RecognitionException { syncToSet(); @@ -25935,13 +26034,13 @@ public final void syncToFollow() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "syncToFollow"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1135, 0); + dbg.location(1140, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1139:6: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1144:6: () dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1140:6: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1145:6: { } @@ -25949,7 +26048,7 @@ public final void syncToFollow() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1140, 5); + dbg.location(1145, 5); } finally { @@ -25964,21 +26063,21 @@ public final void syncToFollow() throws RecognitionException { // $ANTLR start "prio" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1142:1: prio : IMPORTANT_SYM ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:1: prio : IMPORTANT_SYM ; public final void prio() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "prio"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1142, 0); + dbg.location(1147, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1143:5: ( IMPORTANT_SYM ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1148:5: ( IMPORTANT_SYM ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1143:7: IMPORTANT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1148:7: IMPORTANT_SYM { - dbg.location(1143,7); - match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_prio7848); if (state.failed) return; + dbg.location(1148,7); + match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_prio7908); if (state.failed) return; } } @@ -25989,7 +26088,7 @@ public final void prio() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1144, 4); + dbg.location(1149, 4); } finally { @@ -26004,72 +26103,72 @@ public final void prio() throws RecognitionException { // $ANTLR start "expression" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1146:1: expression : term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1151:1: expression : term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* ; public final void expression() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "expression"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1146, 0); + dbg.location(1151, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:5: ( term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:5: ( term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:7: term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:7: term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* { - dbg.location(1147,7); - pushFollow(FOLLOW_term_in_expression7865); + dbg.location(1152,7); + pushFollow(FOLLOW_term_in_expression7925); term(); state._fsp--; - if (state.failed) return;dbg.location(1147,12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:12: ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* - try { dbg.enterSubRule(372); + if (state.failed) return;dbg.location(1152,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:12: ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* + try { dbg.enterSubRule(374); - loop372: + loop374: while (true) { - int alt372=2; - try { dbg.enterDecision(372, decisionCanBacktrack[372]); + int alt374=2; + try { dbg.enterDecision(374, decisionCanBacktrack[374]); try { isCyclicDecision = true; - alt372 = dfa372.predict(input); + alt374 = dfa374.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(372);} + } finally {dbg.exitDecision(374);} - switch (alt372) { + switch (alt374) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term { - dbg.location(1147,66); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:66: ( ws | ( ( ws )? operator ( ws )? ) |) - int alt371=3; - try { dbg.enterSubRule(371); - try { dbg.enterDecision(371, decisionCanBacktrack[371]); + dbg.location(1152,66); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:66: ( ws | ( ( ws )? operator ( ws )? ) |) + int alt373=3; + try { dbg.enterSubRule(373); + try { dbg.enterDecision(373, decisionCanBacktrack[373]); try { isCyclicDecision = true; - alt371 = dfa371.predict(input); + alt373 = dfa373.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(371);} + } finally {dbg.exitDecision(373);} - switch (alt371) { + switch (alt373) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:68: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:68: ws { - dbg.location(1147,68); - pushFollow(FOLLOW_ws_in_expression7897); + dbg.location(1152,68); + pushFollow(FOLLOW_ws_in_expression7957); ws(); state._fsp--; if (state.failed) return; @@ -26078,34 +26177,34 @@ public final void expression() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:73: ( ( ws )? operator ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:73: ( ( ws )? operator ( ws )? ) { - dbg.location(1147,73); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:73: ( ( ws )? operator ( ws )? ) + dbg.location(1152,73); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:73: ( ( ws )? operator ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:74: ( ws )? operator ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:74: ( ws )? operator ( ws )? { - dbg.location(1147,74); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:74: ( ws )? - int alt369=2; - try { dbg.enterSubRule(369); - try { dbg.enterDecision(369, decisionCanBacktrack[369]); + dbg.location(1152,74); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:74: ( ws )? + int alt371=2; + try { dbg.enterSubRule(371); + try { dbg.enterDecision(371, decisionCanBacktrack[371]); - int LA369_0 = input.LA(1); - if ( (LA369_0==COMMENT||LA369_0==NL||LA369_0==WS) ) { - alt369=1; + int LA371_0 = input.LA(1); + if ( (LA371_0==COMMENT||LA371_0==NL||LA371_0==WS) ) { + alt371=1; } - } finally {dbg.exitDecision(369);} + } finally {dbg.exitDecision(371);} - switch (alt369) { + switch (alt371) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:74: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:74: ws { - dbg.location(1147,74); - pushFollow(FOLLOW_ws_in_expression7902); + dbg.location(1152,74); + pushFollow(FOLLOW_ws_in_expression7962); ws(); state._fsp--; if (state.failed) return; @@ -26113,31 +26212,31 @@ public final void expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(369);} - dbg.location(1147,78); - pushFollow(FOLLOW_operator_in_expression7905); + } finally {dbg.exitSubRule(371);} + dbg.location(1152,78); + pushFollow(FOLLOW_operator_in_expression7965); operator(); state._fsp--; - if (state.failed) return;dbg.location(1147,87); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:87: ( ws )? - int alt370=2; - try { dbg.enterSubRule(370); - try { dbg.enterDecision(370, decisionCanBacktrack[370]); + if (state.failed) return;dbg.location(1152,87); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:87: ( ws )? + int alt372=2; + try { dbg.enterSubRule(372); + try { dbg.enterDecision(372, decisionCanBacktrack[372]); - int LA370_0 = input.LA(1); - if ( (LA370_0==COMMENT||LA370_0==NL||LA370_0==WS) ) { - alt370=1; + int LA372_0 = input.LA(1); + if ( (LA372_0==COMMENT||LA372_0==NL||LA372_0==WS) ) { + alt372=1; } - } finally {dbg.exitDecision(370);} + } finally {dbg.exitDecision(372);} - switch (alt370) { + switch (alt372) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:87: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:87: ws { - dbg.location(1147,87); - pushFollow(FOLLOW_ws_in_expression7907); + dbg.location(1152,87); + pushFollow(FOLLOW_ws_in_expression7967); ws(); state._fsp--; if (state.failed) return; @@ -26145,7 +26244,7 @@ public final void expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(370);} + } finally {dbg.exitSubRule(372);} } @@ -26154,15 +26253,15 @@ public final void expression() throws RecognitionException { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:107: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:107: { } break; } - } finally {dbg.exitSubRule(371);} - dbg.location(1147,109); - pushFollow(FOLLOW_term_in_expression7916); + } finally {dbg.exitSubRule(373);} + dbg.location(1152,109); + pushFollow(FOLLOW_term_in_expression7976); term(); state._fsp--; if (state.failed) return; @@ -26170,10 +26269,10 @@ public final void expression() throws RecognitionException { break; default : - break loop372; + break loop374; } } - } finally {dbg.exitSubRule(372);} + } finally {dbg.exitSubRule(374);} } @@ -26185,7 +26284,7 @@ public final void expression() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1148, 4); + dbg.location(1153, 4); } finally { @@ -26200,61 +26299,61 @@ public final void expression() throws RecognitionException { // $ANTLR start "term" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1150:1: term : ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1155:1: term : ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) ; public final void term() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "term"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1150, 0); + dbg.location(1155, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1151:5: ( ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1156:5: ( ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:5: ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:5: ( unaryOperator ( ws )? )? ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) { - dbg.location(1152,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:5: ( unaryOperator ( ws )? )? - int alt374=2; - try { dbg.enterSubRule(374); - try { dbg.enterDecision(374, decisionCanBacktrack[374]); + dbg.location(1157,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:5: ( unaryOperator ( ws )? )? + int alt376=2; + try { dbg.enterSubRule(376); + try { dbg.enterDecision(376, decisionCanBacktrack[376]); - int LA374_0 = input.LA(1); - if ( (LA374_0==MINUS||LA374_0==PLUS) ) { - alt374=1; + int LA376_0 = input.LA(1); + if ( (LA376_0==MINUS||LA376_0==PLUS) ) { + alt376=1; } - } finally {dbg.exitDecision(374);} + } finally {dbg.exitDecision(376);} - switch (alt374) { + switch (alt376) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:7: unaryOperator ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:7: unaryOperator ( ws )? { - dbg.location(1152,7); - pushFollow(FOLLOW_unaryOperator_in_term7941); + dbg.location(1157,7); + pushFollow(FOLLOW_unaryOperator_in_term8001); unaryOperator(); state._fsp--; - if (state.failed) return;dbg.location(1152,21); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:21: ( ws )? - int alt373=2; - try { dbg.enterSubRule(373); - try { dbg.enterDecision(373, decisionCanBacktrack[373]); + if (state.failed) return;dbg.location(1157,21); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:21: ( ws )? + int alt375=2; + try { dbg.enterSubRule(375); + try { dbg.enterDecision(375, decisionCanBacktrack[375]); - int LA373_0 = input.LA(1); - if ( (LA373_0==COMMENT||LA373_0==NL||LA373_0==WS) ) { - alt373=1; + int LA375_0 = input.LA(1); + if ( (LA375_0==COMMENT||LA375_0==NL||LA375_0==WS) ) { + alt375=1; } - } finally {dbg.exitDecision(373);} + } finally {dbg.exitDecision(375);} - switch (alt373) { + switch (alt375) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:21: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:21: ws { - dbg.location(1152,21); - pushFollow(FOLLOW_ws_in_term7943); + dbg.location(1157,21); + pushFollow(FOLLOW_ws_in_term8003); ws(); state._fsp--; if (state.failed) return; @@ -26262,31 +26361,31 @@ public final void term() throws RecognitionException { break; } - } finally {dbg.exitSubRule(373);} + } finally {dbg.exitSubRule(375);} } break; } - } finally {dbg.exitSubRule(374);} - dbg.location(1153,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1153:5: ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) - int alt378=27; - try { dbg.enterSubRule(378); - try { dbg.enterDecision(378, decisionCanBacktrack[378]); + } finally {dbg.exitSubRule(376);} + dbg.location(1158,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1158:5: ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) + int alt380=27; + try { dbg.enterSubRule(380); + try { dbg.enterDecision(380, decisionCanBacktrack[380]); switch ( input.LA(1) ) { case IDENT: { - int LA378_1 = input.LA(2); - if ( (synpred50_Css3()) ) { - alt378=1; + int LA380_1 = input.LA(2); + if ( (synpred56_Css3()) ) { + alt380=1; } else if ( (evalPredicate(! (isScssSource() && tokenNameEquals2(".")),"! (isScssSource() && tokenNameEquals2(\".\"))")) ) { - alt378=3; + alt380=3; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt378=23; + alt380=23; } else { @@ -26295,7 +26394,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 378, 1, input); + new NoViableAltException("", 380, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -26307,102 +26406,102 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case VARIABLE: { - alt378=2; + alt380=2; } break; case LBRACKET: { - alt378=4; + alt380=4; } break; case NUMBER: { - alt378=5; + alt380=5; } break; case URANGE: { - alt378=6; + alt380=6; } break; case PERCENTAGE: { - alt378=7; + alt380=7; } break; case LENGTH: { - alt378=8; + alt380=8; } break; case EMS: { - alt378=9; + alt380=9; } break; case REM: { - alt378=10; + alt380=10; } break; case EXS: { - alt378=11; + alt380=11; } break; case ANGLE: { - alt378=12; + alt380=12; } break; case TIME: { - alt378=13; + alt380=13; } break; case FREQ: { - alt378=14; + alt380=14; } break; case RESOLUTION: { - alt378=15; + alt380=15; } break; case DIMENSION: { - alt378=16; + alt380=16; } break; case STRING: { - alt378=17; + alt380=17; } break; case TILDE: { - alt378=18; + alt380=18; } break; case LESS_JS_STRING: { - alt378=19; + alt380=19; } break; case GEN: { - alt378=20; + alt380=20; } break; case URI: { - alt378=21; + alt380=21; } break; case HASH: { - alt378=22; + alt380=22; } break; case AT_IDENT: @@ -26449,46 +26548,46 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - alt378=23; + alt380=23; } break; case LESS_AND: { - alt378=24; + alt380=24; } break; case HASH_SYMBOL: { - alt378=25; + alt380=25; } break; case AT_SIGN: { - alt378=26; + alt380=26; } break; case PERCENTAGE_SYMBOL: { - alt378=27; + alt380=27; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 378, 0, input); + new NoViableAltException("", 380, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(378);} + } finally {dbg.exitDecision(380);} - switch (alt378) { + switch (alt380) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:9: ( functionName ( ws )? LPAREN )=> function + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:9: ( functionName ( ws )? LPAREN )=> function { - dbg.location(1154,36); - pushFollow(FOLLOW_function_in_term7972); + dbg.location(1159,36); + pushFollow(FOLLOW_function_in_term8032); function(); state._fsp--; if (state.failed) return; @@ -26497,127 +26596,127 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1155:11: VARIABLE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1160:11: VARIABLE { - dbg.location(1155,11); - match(input,VARIABLE,FOLLOW_VARIABLE_in_term7985); if (state.failed) return; + dbg.location(1160,11); + match(input,VARIABLE,FOLLOW_VARIABLE_in_term8045); if (state.failed) return; } break; case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1156:11: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1161:11: {...}? IDENT { - dbg.location(1156,11); + dbg.location(1161,11); if ( !(evalPredicate(! (isScssSource() && tokenNameEquals2(".")),"! (isScssSource() && tokenNameEquals2(\".\"))")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "! (isScssSource() && tokenNameEquals2(\".\"))"); - }dbg.location(1156,58); - match(input,IDENT,FOLLOW_IDENT_in_term7999); if (state.failed) return; + }dbg.location(1161,58); + match(input,IDENT,FOLLOW_IDENT_in_term8059); if (state.failed) return; } break; case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:11: ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:11: ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) { - dbg.location(1157,11); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:11: ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) + dbg.location(1162,11); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:11: ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:12: LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:12: LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET { - dbg.location(1157,12); - match(input,LBRACKET,FOLLOW_LBRACKET_in_term8012); if (state.failed) return;dbg.location(1157,21); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:21: ( WS )? - int alt375=2; - try { dbg.enterSubRule(375); - try { dbg.enterDecision(375, decisionCanBacktrack[375]); + dbg.location(1162,12); + match(input,LBRACKET,FOLLOW_LBRACKET_in_term8072); if (state.failed) return;dbg.location(1162,21); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:21: ( WS )? + int alt377=2; + try { dbg.enterSubRule(377); + try { dbg.enterDecision(377, decisionCanBacktrack[377]); - int LA375_0 = input.LA(1); - if ( (LA375_0==WS) ) { - alt375=1; + int LA377_0 = input.LA(1); + if ( (LA377_0==WS) ) { + alt377=1; } - } finally {dbg.exitDecision(375);} + } finally {dbg.exitDecision(377);} - switch (alt375) { + switch (alt377) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:21: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:21: WS { - dbg.location(1157,21); - match(input,WS,FOLLOW_WS_in_term8014); if (state.failed) return; + dbg.location(1162,21); + match(input,WS,FOLLOW_WS_in_term8074); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(375);} - dbg.location(1157,25); - match(input,IDENT,FOLLOW_IDENT_in_term8017); if (state.failed) return;dbg.location(1157,31); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:31: ( WS IDENT )* - try { dbg.enterSubRule(376); + } finally {dbg.exitSubRule(377);} + dbg.location(1162,25); + match(input,IDENT,FOLLOW_IDENT_in_term8077); if (state.failed) return;dbg.location(1162,31); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:31: ( WS IDENT )* + try { dbg.enterSubRule(378); - loop376: + loop378: while (true) { - int alt376=2; - try { dbg.enterDecision(376, decisionCanBacktrack[376]); + int alt378=2; + try { dbg.enterDecision(378, decisionCanBacktrack[378]); - int LA376_0 = input.LA(1); - if ( (LA376_0==WS) ) { - int LA376_1 = input.LA(2); - if ( (LA376_1==IDENT) ) { - alt376=1; + int LA378_0 = input.LA(1); + if ( (LA378_0==WS) ) { + int LA378_1 = input.LA(2); + if ( (LA378_1==IDENT) ) { + alt378=1; } } - } finally {dbg.exitDecision(376);} + } finally {dbg.exitDecision(378);} - switch (alt376) { + switch (alt378) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:32: WS IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:32: WS IDENT { - dbg.location(1157,32); - match(input,WS,FOLLOW_WS_in_term8020); if (state.failed) return;dbg.location(1157,35); - match(input,IDENT,FOLLOW_IDENT_in_term8022); if (state.failed) return; + dbg.location(1162,32); + match(input,WS,FOLLOW_WS_in_term8080); if (state.failed) return;dbg.location(1162,35); + match(input,IDENT,FOLLOW_IDENT_in_term8082); if (state.failed) return; } break; default : - break loop376; + break loop378; } } - } finally {dbg.exitSubRule(376);} - dbg.location(1157,43); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:43: ( WS )? - int alt377=2; - try { dbg.enterSubRule(377); - try { dbg.enterDecision(377, decisionCanBacktrack[377]); + } finally {dbg.exitSubRule(378);} + dbg.location(1162,43); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:43: ( WS )? + int alt379=2; + try { dbg.enterSubRule(379); + try { dbg.enterDecision(379, decisionCanBacktrack[379]); - int LA377_0 = input.LA(1); - if ( (LA377_0==WS) ) { - alt377=1; + int LA379_0 = input.LA(1); + if ( (LA379_0==WS) ) { + alt379=1; } - } finally {dbg.exitDecision(377);} + } finally {dbg.exitDecision(379);} - switch (alt377) { + switch (alt379) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:43: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:43: WS { - dbg.location(1157,43); - match(input,WS,FOLLOW_WS_in_term8026); if (state.failed) return; + dbg.location(1162,43); + match(input,WS,FOLLOW_WS_in_term8086); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(377);} - dbg.location(1157,47); - match(input,RBRACKET,FOLLOW_RBRACKET_in_term8029); if (state.failed) return; + } finally {dbg.exitSubRule(379);} + dbg.location(1162,47); + match(input,RBRACKET,FOLLOW_RBRACKET_in_term8089); if (state.failed) return; } } @@ -26625,127 +26724,127 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1158:11: NUMBER + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1163:11: NUMBER { - dbg.location(1158,11); - match(input,NUMBER,FOLLOW_NUMBER_in_term8042); if (state.failed) return; + dbg.location(1163,11); + match(input,NUMBER,FOLLOW_NUMBER_in_term8102); if (state.failed) return; } break; case 6 : dbg.enterAlt(6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:11: URANGE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1164:11: URANGE { - dbg.location(1159,11); - match(input,URANGE,FOLLOW_URANGE_in_term8054); if (state.failed) return; + dbg.location(1164,11); + match(input,URANGE,FOLLOW_URANGE_in_term8114); if (state.failed) return; } break; case 7 : dbg.enterAlt(7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1160:11: PERCENTAGE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1165:11: PERCENTAGE { - dbg.location(1160,11); - match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_term8066); if (state.failed) return; + dbg.location(1165,11); + match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_term8126); if (state.failed) return; } break; case 8 : dbg.enterAlt(8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1161:11: LENGTH + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1166:11: LENGTH { - dbg.location(1161,11); - match(input,LENGTH,FOLLOW_LENGTH_in_term8078); if (state.failed) return; + dbg.location(1166,11); + match(input,LENGTH,FOLLOW_LENGTH_in_term8138); if (state.failed) return; } break; case 9 : dbg.enterAlt(9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:11: EMS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1167:11: EMS { - dbg.location(1162,11); - match(input,EMS,FOLLOW_EMS_in_term8090); if (state.failed) return; + dbg.location(1167,11); + match(input,EMS,FOLLOW_EMS_in_term8150); if (state.failed) return; } break; case 10 : dbg.enterAlt(10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1163:11: REM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:11: REM { - dbg.location(1163,11); - match(input,REM,FOLLOW_REM_in_term8102); if (state.failed) return; + dbg.location(1168,11); + match(input,REM,FOLLOW_REM_in_term8162); if (state.failed) return; } break; case 11 : dbg.enterAlt(11); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1164:11: EXS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1169:11: EXS { - dbg.location(1164,11); - match(input,EXS,FOLLOW_EXS_in_term8114); if (state.failed) return; + dbg.location(1169,11); + match(input,EXS,FOLLOW_EXS_in_term8174); if (state.failed) return; } break; case 12 : dbg.enterAlt(12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1165:11: ANGLE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:11: ANGLE { - dbg.location(1165,11); - match(input,ANGLE,FOLLOW_ANGLE_in_term8126); if (state.failed) return; + dbg.location(1170,11); + match(input,ANGLE,FOLLOW_ANGLE_in_term8186); if (state.failed) return; } break; case 13 : dbg.enterAlt(13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1166:11: TIME + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1171:11: TIME { - dbg.location(1166,11); - match(input,TIME,FOLLOW_TIME_in_term8138); if (state.failed) return; + dbg.location(1171,11); + match(input,TIME,FOLLOW_TIME_in_term8198); if (state.failed) return; } break; case 14 : dbg.enterAlt(14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1167:11: FREQ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1172:11: FREQ { - dbg.location(1167,11); - match(input,FREQ,FOLLOW_FREQ_in_term8150); if (state.failed) return; + dbg.location(1172,11); + match(input,FREQ,FOLLOW_FREQ_in_term8210); if (state.failed) return; } break; case 15 : dbg.enterAlt(15); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:11: RESOLUTION + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1173:11: RESOLUTION { - dbg.location(1168,11); - match(input,RESOLUTION,FOLLOW_RESOLUTION_in_term8162); if (state.failed) return; + dbg.location(1173,11); + match(input,RESOLUTION,FOLLOW_RESOLUTION_in_term8222); if (state.failed) return; } break; case 16 : dbg.enterAlt(16); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1169:11: DIMENSION + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1174:11: DIMENSION { - dbg.location(1169,11); - match(input,DIMENSION,FOLLOW_DIMENSION_in_term8174); if (state.failed) return; + dbg.location(1174,11); + match(input,DIMENSION,FOLLOW_DIMENSION_in_term8234); if (state.failed) return; } break; case 17 : dbg.enterAlt(17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:11: STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1175:11: STRING { - dbg.location(1170,11); - match(input,STRING,FOLLOW_STRING_in_term8191); if (state.failed) return; + dbg.location(1175,11); + match(input,STRING,FOLLOW_STRING_in_term8251); if (state.failed) return; } break; case 18 : dbg.enterAlt(18); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1171:11: TILDE ( STRING | LESS_JS_STRING ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1176:11: TILDE ( STRING | LESS_JS_STRING ) { - dbg.location(1171,11); - match(input,TILDE,FOLLOW_TILDE_in_term8203); if (state.failed) return;dbg.location(1171,17); + dbg.location(1176,11); + match(input,TILDE,FOLLOW_TILDE_in_term8263); if (state.failed) return;dbg.location(1176,17); if ( input.LA(1)==LESS_JS_STRING||input.LA(1)==STRING ) { input.consume(); state.errorRecovery=false; @@ -26762,37 +26861,37 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 19 : dbg.enterAlt(19); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1172:11: LESS_JS_STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1177:11: LESS_JS_STRING { - dbg.location(1172,11); - match(input,LESS_JS_STRING,FOLLOW_LESS_JS_STRING_in_term8226); if (state.failed) return; + dbg.location(1177,11); + match(input,LESS_JS_STRING,FOLLOW_LESS_JS_STRING_in_term8286); if (state.failed) return; } break; case 20 : dbg.enterAlt(20); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1173:11: GEN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:11: GEN { - dbg.location(1173,11); - match(input,GEN,FOLLOW_GEN_in_term8241); if (state.failed) return; + dbg.location(1178,11); + match(input,GEN,FOLLOW_GEN_in_term8301); if (state.failed) return; } break; case 21 : dbg.enterAlt(21); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1174:11: URI + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1179:11: URI { - dbg.location(1174,11); - match(input,URI,FOLLOW_URI_in_term8253); if (state.failed) return; + dbg.location(1179,11); + match(input,URI,FOLLOW_URI_in_term8313); if (state.failed) return; } break; case 22 : dbg.enterAlt(22); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1175:11: hexColor + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1180:11: hexColor { - dbg.location(1175,11); - pushFollow(FOLLOW_hexColor_in_term8265); + dbg.location(1180,11); + pushFollow(FOLLOW_hexColor_in_term8325); hexColor(); state._fsp--; if (state.failed) return; @@ -26801,14 +26900,14 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 23 : dbg.enterAlt(23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1176:11: {...}? cp_variable + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1181:11: {...}? cp_variable { - dbg.location(1176,11); + dbg.location(1181,11); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()"); - }dbg.location(1176,40); - pushFollow(FOLLOW_cp_variable_in_term8279); + }dbg.location(1181,40); + pushFollow(FOLLOW_cp_variable_in_term8339); cp_variable(); state._fsp--; if (state.failed) return; @@ -26817,27 +26916,27 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 24 : dbg.enterAlt(24); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1177:11: {...}? LESS_AND + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1182:11: {...}? LESS_AND { - dbg.location(1177,11); + dbg.location(1182,11); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isScssSource()"); - }dbg.location(1177,29); - match(input,LESS_AND,FOLLOW_LESS_AND_in_term8293); if (state.failed) return; + }dbg.location(1182,29); + match(input,LESS_AND,FOLLOW_LESS_AND_in_term8353); if (state.failed) return; } break; case 25 : dbg.enterAlt(25); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:11: {...}? sass_interpolation_expression_var + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1183:11: {...}? sass_interpolation_expression_var { - dbg.location(1178,11); + dbg.location(1183,11); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isScssSource()"); - }dbg.location(1178,29); - pushFollow(FOLLOW_sass_interpolation_expression_var_in_term8307); + }dbg.location(1183,29); + pushFollow(FOLLOW_sass_interpolation_expression_var_in_term8367); sass_interpolation_expression_var(); state._fsp--; if (state.failed) return; @@ -26846,14 +26945,14 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 26 : dbg.enterAlt(26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1179:11: {...}? less_selector_interpolation + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1184:11: {...}? less_selector_interpolation { - dbg.location(1179,11); + dbg.location(1184,11); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isLessSource()"); - }dbg.location(1179,29); - pushFollow(FOLLOW_less_selector_interpolation_in_term8321); + }dbg.location(1184,29); + pushFollow(FOLLOW_less_selector_interpolation_in_term8381); less_selector_interpolation(); state._fsp--; if (state.failed) return; @@ -26862,14 +26961,14 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case 27 : dbg.enterAlt(27); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1180:11: {...}? cp_term_symbol + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1185:11: {...}? cp_term_symbol { - dbg.location(1180,11); + dbg.location(1185,11); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()"); - }dbg.location(1180,40); - pushFollow(FOLLOW_cp_term_symbol_in_term8335); + }dbg.location(1185,40); + pushFollow(FOLLOW_cp_term_symbol_in_term8395); cp_term_symbol(); state._fsp--; if (state.failed) return; @@ -26877,7 +26976,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(378);} + } finally {dbg.exitSubRule(380);} } @@ -26889,7 +26988,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") finally { // do for sure before leaving } - dbg.location(1182, 4); + dbg.location(1187, 4); } finally { @@ -26904,21 +27003,21 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // $ANTLR start "cp_term_symbol" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1187:1: cp_term_symbol : PERCENTAGE_SYMBOL ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1192:1: cp_term_symbol : PERCENTAGE_SYMBOL ; public final void cp_term_symbol() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_term_symbol"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1187, 0); + dbg.location(1192, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:5: ( PERCENTAGE_SYMBOL ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1193:5: ( PERCENTAGE_SYMBOL ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1188:7: PERCENTAGE_SYMBOL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1193:7: PERCENTAGE_SYMBOL { - dbg.location(1188,7); - match(input,PERCENTAGE_SYMBOL,FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol8362); if (state.failed) return; + dbg.location(1193,7); + match(input,PERCENTAGE_SYMBOL,FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol8422); if (state.failed) return; } } @@ -26929,7 +27028,7 @@ public final void cp_term_symbol() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1189, 4); + dbg.location(1194, 4); } finally { @@ -26944,44 +27043,44 @@ public final void cp_term_symbol() throws RecognitionException { // $ANTLR start "function" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1191:1: function : functionName LPAREN ( ws )? ( fnAttributes |) RPAREN ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1196:1: function : functionName LPAREN ( ws )? ( fnAttributes |) RPAREN ; public final void function() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "function"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1191, 0); + dbg.location(1196, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1192:2: ( functionName LPAREN ( ws )? ( fnAttributes |) RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1197:2: ( functionName LPAREN ( ws )? ( fnAttributes |) RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1192:5: functionName LPAREN ( ws )? ( fnAttributes |) RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1197:5: functionName LPAREN ( ws )? ( fnAttributes |) RPAREN { - dbg.location(1192,5); - pushFollow(FOLLOW_functionName_in_function8378); + dbg.location(1197,5); + pushFollow(FOLLOW_functionName_in_function8438); functionName(); state._fsp--; - if (state.failed) return;dbg.location(1193,3); - match(input,LPAREN,FOLLOW_LPAREN_in_function8382); if (state.failed) return;dbg.location(1193,10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1193:10: ( ws )? - int alt379=2; - try { dbg.enterSubRule(379); - try { dbg.enterDecision(379, decisionCanBacktrack[379]); + if (state.failed) return;dbg.location(1198,3); + match(input,LPAREN,FOLLOW_LPAREN_in_function8442); if (state.failed) return;dbg.location(1198,10); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1198:10: ( ws )? + int alt381=2; + try { dbg.enterSubRule(381); + try { dbg.enterDecision(381, decisionCanBacktrack[381]); - int LA379_0 = input.LA(1); - if ( (LA379_0==COMMENT||LA379_0==NL||LA379_0==WS) ) { - alt379=1; + int LA381_0 = input.LA(1); + if ( (LA381_0==COMMENT||LA381_0==NL||LA381_0==WS) ) { + alt381=1; } - } finally {dbg.exitDecision(379);} + } finally {dbg.exitDecision(381);} - switch (alt379) { + switch (alt381) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1193:10: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1198:10: ws { - dbg.location(1193,10); - pushFollow(FOLLOW_ws_in_function8384); + dbg.location(1198,10); + pushFollow(FOLLOW_ws_in_function8444); ws(); state._fsp--; if (state.failed) return; @@ -26989,39 +27088,39 @@ public final void function() throws RecognitionException { break; } - } finally {dbg.exitSubRule(379);} - dbg.location(1194,3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1194:3: ( fnAttributes |) - int alt380=2; - try { dbg.enterSubRule(380); - try { dbg.enterDecision(380, decisionCanBacktrack[380]); + } finally {dbg.exitSubRule(381);} + dbg.location(1199,3); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1199:3: ( fnAttributes |) + int alt382=2; + try { dbg.enterSubRule(382); + try { dbg.enterDecision(382, decisionCanBacktrack[382]); - int LA380_0 = input.LA(1); - if ( ((LA380_0 >= ANGLE && LA380_0 <= AT_SIGN)||(LA380_0 >= BOTTOMCENTER_SYM && LA380_0 <= BOTTOMRIGHT_SYM)||LA380_0==CHARSET_SYM||LA380_0==COUNTER_STYLE_SYM||LA380_0==DIMENSION||LA380_0==EMS||LA380_0==EXS||(LA380_0 >= FONT_FACE_SYM && LA380_0 <= FREQ)||LA380_0==GEN||(LA380_0 >= HASH && LA380_0 <= HASH_SYMBOL)||(LA380_0 >= IDENT && LA380_0 <= IMPORT_SYM)||(LA380_0 >= LBRACE && LA380_0 <= LENGTH)||(LA380_0 >= LESS_AND && LA380_0 <= LESS_JS_STRING)||LA380_0==LPAREN||(LA380_0 >= MEDIA_SYM && LA380_0 <= MOZ_DOCUMENT_SYM)||LA380_0==NAMESPACE_SYM||(LA380_0 >= NOT && LA380_0 <= NUMBER)||(LA380_0 >= PAGE_SYM && LA380_0 <= PERCENTAGE_SYMBOL)||LA380_0==PLUS||(LA380_0 >= REM && LA380_0 <= RIGHTTOP_SYM)||(LA380_0 >= SASS_AT_ROOT && LA380_0 <= SASS_DEBUG)||(LA380_0 >= SASS_EACH && LA380_0 <= SASS_ELSE)||LA380_0==SASS_EXTEND||(LA380_0 >= SASS_FOR && LA380_0 <= SASS_FUNCTION)||(LA380_0 >= SASS_IF && LA380_0 <= SASS_MIXIN)||(LA380_0 >= SASS_RETURN && LA380_0 <= SASS_WHILE)||LA380_0==STRING||(LA380_0 >= TILDE && LA380_0 <= TOPRIGHT_SYM)||(LA380_0 >= URANGE && LA380_0 <= URI)||LA380_0==VARIABLE||LA380_0==WEBKIT_KEYFRAMES_SYM) ) { - alt380=1; + int LA382_0 = input.LA(1); + if ( ((LA382_0 >= ANGLE && LA382_0 <= AT_SIGN)||(LA382_0 >= BOTTOMCENTER_SYM && LA382_0 <= BOTTOMRIGHT_SYM)||LA382_0==CHARSET_SYM||LA382_0==COUNTER_STYLE_SYM||LA382_0==DIMENSION||LA382_0==EMS||LA382_0==EXS||(LA382_0 >= FONT_FACE_SYM && LA382_0 <= FREQ)||LA382_0==GEN||(LA382_0 >= HASH && LA382_0 <= HASH_SYMBOL)||(LA382_0 >= IDENT && LA382_0 <= IMPORT_SYM)||(LA382_0 >= LBRACE && LA382_0 <= LENGTH)||(LA382_0 >= LESS_AND && LA382_0 <= LESS_JS_STRING)||LA382_0==LPAREN||(LA382_0 >= MEDIA_SYM && LA382_0 <= MOZ_DOCUMENT_SYM)||LA382_0==NAMESPACE_SYM||(LA382_0 >= NOT && LA382_0 <= NUMBER)||(LA382_0 >= PAGE_SYM && LA382_0 <= PERCENTAGE_SYMBOL)||LA382_0==PLUS||(LA382_0 >= REM && LA382_0 <= RIGHTTOP_SYM)||(LA382_0 >= SASS_AT_ROOT && LA382_0 <= SASS_DEBUG)||(LA382_0 >= SASS_EACH && LA382_0 <= SASS_ELSE)||LA382_0==SASS_EXTEND||(LA382_0 >= SASS_FOR && LA382_0 <= SASS_FUNCTION)||(LA382_0 >= SASS_IF && LA382_0 <= SASS_MIXIN)||(LA382_0 >= SASS_RETURN && LA382_0 <= SASS_WHILE)||LA382_0==STRING||(LA382_0 >= TILDE && LA382_0 <= TOPRIGHT_SYM)||(LA382_0 >= URANGE && LA382_0 <= URI)||LA382_0==VARIABLE||LA382_0==WEBKIT_KEYFRAMES_SYM) ) { + alt382=1; } - else if ( (LA380_0==RPAREN) ) { - alt380=2; + else if ( (LA382_0==RPAREN) ) { + alt382=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 380, 0, input); + new NoViableAltException("", 382, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(380);} + } finally {dbg.exitDecision(382);} - switch (alt380) { + switch (alt382) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1195:21: fnAttributes + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1200:21: fnAttributes { - dbg.location(1195,21); - pushFollow(FOLLOW_fnAttributes_in_function8411); + dbg.location(1200,21); + pushFollow(FOLLOW_fnAttributes_in_function8471); fnAttributes(); state._fsp--; if (state.failed) return; @@ -27030,15 +27129,15 @@ else if ( (LA380_0==RPAREN) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1197:3: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1202:3: { } break; } - } finally {dbg.exitSubRule(380);} - dbg.location(1198,3); - match(input,RPAREN,FOLLOW_RPAREN_in_function8442); if (state.failed) return; + } finally {dbg.exitSubRule(382);} + dbg.location(1203,3); + match(input,RPAREN,FOLLOW_RPAREN_in_function8502); if (state.failed) return; } } @@ -27052,7 +27151,7 @@ else if ( (LA380_0==RPAREN) ) { finally { // do for sure before leaving } - dbg.location(1199, 1); + dbg.location(1204, 1); } finally { @@ -27067,82 +27166,82 @@ else if ( (LA380_0==RPAREN) ) { // $ANTLR start "functionName" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1205:1: functionName : ( IDENT COLON )? IDENT ( DOT IDENT )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:1: functionName : ( IDENT COLON )? IDENT ( DOT IDENT )* ; public final void functionName() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "functionName"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1205, 0); + dbg.location(1210, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1209:2: ( ( IDENT COLON )? IDENT ( DOT IDENT )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:2: ( ( IDENT COLON )? IDENT ( DOT IDENT )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:9: ( IDENT COLON )? IDENT ( DOT IDENT )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:9: ( IDENT COLON )? IDENT ( DOT IDENT )* { - dbg.location(1210,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:9: ( IDENT COLON )? - int alt381=2; - try { dbg.enterSubRule(381); - try { dbg.enterDecision(381, decisionCanBacktrack[381]); + dbg.location(1215,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:9: ( IDENT COLON )? + int alt383=2; + try { dbg.enterSubRule(383); + try { dbg.enterDecision(383, decisionCanBacktrack[383]); - int LA381_0 = input.LA(1); - if ( (LA381_0==IDENT) ) { - int LA381_1 = input.LA(2); - if ( (LA381_1==COLON) ) { - alt381=1; + int LA383_0 = input.LA(1); + if ( (LA383_0==IDENT) ) { + int LA383_1 = input.LA(2); + if ( (LA383_1==COLON) ) { + alt383=1; } } - } finally {dbg.exitDecision(381);} + } finally {dbg.exitDecision(383);} - switch (alt381) { + switch (alt383) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:10: IDENT COLON + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:10: IDENT COLON { - dbg.location(1210,10); - match(input,IDENT,FOLLOW_IDENT_in_functionName8494); if (state.failed) return;dbg.location(1210,16); - match(input,COLON,FOLLOW_COLON_in_functionName8496); if (state.failed) return; + dbg.location(1215,10); + match(input,IDENT,FOLLOW_IDENT_in_functionName8554); if (state.failed) return;dbg.location(1215,16); + match(input,COLON,FOLLOW_COLON_in_functionName8556); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(381);} - dbg.location(1210,24); - match(input,IDENT,FOLLOW_IDENT_in_functionName8500); if (state.failed) return;dbg.location(1210,30); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:30: ( DOT IDENT )* - try { dbg.enterSubRule(382); + } finally {dbg.exitSubRule(383);} + dbg.location(1215,24); + match(input,IDENT,FOLLOW_IDENT_in_functionName8560); if (state.failed) return;dbg.location(1215,30); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:30: ( DOT IDENT )* + try { dbg.enterSubRule(384); - loop382: + loop384: while (true) { - int alt382=2; - try { dbg.enterDecision(382, decisionCanBacktrack[382]); + int alt384=2; + try { dbg.enterDecision(384, decisionCanBacktrack[384]); - int LA382_0 = input.LA(1); - if ( (LA382_0==DOT) ) { - alt382=1; + int LA384_0 = input.LA(1); + if ( (LA384_0==DOT) ) { + alt384=1; } - } finally {dbg.exitDecision(382);} + } finally {dbg.exitDecision(384);} - switch (alt382) { + switch (alt384) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1210:31: DOT IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:31: DOT IDENT { - dbg.location(1210,31); - match(input,DOT,FOLLOW_DOT_in_functionName8503); if (state.failed) return;dbg.location(1210,35); - match(input,IDENT,FOLLOW_IDENT_in_functionName8505); if (state.failed) return; + dbg.location(1215,31); + match(input,DOT,FOLLOW_DOT_in_functionName8563); if (state.failed) return;dbg.location(1215,35); + match(input,IDENT,FOLLOW_IDENT_in_functionName8565); if (state.failed) return; } break; default : - break loop382; + break loop384; } } - } finally {dbg.exitSubRule(382);} + } finally {dbg.exitSubRule(384);} } @@ -27154,7 +27253,7 @@ public final void functionName() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1211, 5); + dbg.location(1216, 5); } finally { @@ -27169,68 +27268,68 @@ public final void functionName() throws RecognitionException { // $ANTLR start "fnAttributes" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1213:1: fnAttributes : fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1218:1: fnAttributes : fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? ; public final void fnAttributes() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "fnAttributes"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1213, 0); + dbg.location(1218, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1214:5: ( fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1219:5: ( fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:5: fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:5: fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? { - dbg.location(1215,5); - pushFollow(FOLLOW_fnAttribute_in_fnAttributes8529); + dbg.location(1220,5); + pushFollow(FOLLOW_fnAttribute_in_fnAttributes8589); fnAttribute(); state._fsp--; - if (state.failed) return;dbg.location(1215,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* - try { dbg.enterSubRule(386); + if (state.failed) return;dbg.location(1220,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* + try { dbg.enterSubRule(388); - loop386: + loop388: while (true) { - int alt386=2; - try { dbg.enterDecision(386, decisionCanBacktrack[386]); + int alt388=2; + try { dbg.enterDecision(388, decisionCanBacktrack[388]); try { isCyclicDecision = true; - alt386 = dfa386.predict(input); + alt388 = dfa388.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(386);} + } finally {dbg.exitDecision(388);} - switch (alt386) { + switch (alt388) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:18: ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:18: ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute { - dbg.location(1215,18); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:18: ( ws )? - int alt383=2; - try { dbg.enterSubRule(383); - try { dbg.enterDecision(383, decisionCanBacktrack[383]); + dbg.location(1220,18); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:18: ( ws )? + int alt385=2; + try { dbg.enterSubRule(385); + try { dbg.enterDecision(385, decisionCanBacktrack[385]); - int LA383_0 = input.LA(1); - if ( (LA383_0==COMMENT||LA383_0==NL||LA383_0==WS) ) { - alt383=1; + int LA385_0 = input.LA(1); + if ( (LA385_0==COMMENT||LA385_0==NL||LA385_0==WS) ) { + alt385=1; } - } finally {dbg.exitDecision(383);} + } finally {dbg.exitDecision(385);} - switch (alt383) { + switch (alt385) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:18: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:18: ws { - dbg.location(1215,18); - pushFollow(FOLLOW_ws_in_fnAttributes8532); + dbg.location(1220,18); + pushFollow(FOLLOW_ws_in_fnAttributes8592); ws(); state._fsp--; if (state.failed) return; @@ -27238,77 +27337,77 @@ public final void fnAttributes() throws RecognitionException { break; } - } finally {dbg.exitSubRule(383);} - dbg.location(1215,22); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:22: ( COMMA |{...}? SEMI ) - int alt384=2; - try { dbg.enterSubRule(384); - try { dbg.enterDecision(384, decisionCanBacktrack[384]); + } finally {dbg.exitSubRule(385);} + dbg.location(1220,22); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:22: ( COMMA |{...}? SEMI ) + int alt386=2; + try { dbg.enterSubRule(386); + try { dbg.enterDecision(386, decisionCanBacktrack[386]); - int LA384_0 = input.LA(1); - if ( (LA384_0==COMMA) ) { - alt384=1; + int LA386_0 = input.LA(1); + if ( (LA386_0==COMMA) ) { + alt386=1; } - else if ( (LA384_0==SEMI) ) { - alt384=2; + else if ( (LA386_0==SEMI) ) { + alt386=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 384, 0, input); + new NoViableAltException("", 386, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(384);} + } finally {dbg.exitDecision(386);} - switch (alt384) { + switch (alt386) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:23: COMMA + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:23: COMMA { - dbg.location(1215,23); - match(input,COMMA,FOLLOW_COMMA_in_fnAttributes8536); if (state.failed) return; + dbg.location(1220,23); + match(input,COMMA,FOLLOW_COMMA_in_fnAttributes8596); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:31: {...}? SEMI + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:31: {...}? SEMI { - dbg.location(1215,31); + dbg.location(1220,31); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "fnAttributes", "isLessSource()"); - }dbg.location(1215,49); - match(input,SEMI,FOLLOW_SEMI_in_fnAttributes8542); if (state.failed) return; + }dbg.location(1220,49); + match(input,SEMI,FOLLOW_SEMI_in_fnAttributes8602); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(384);} - dbg.location(1215,55); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:55: ( ws )? - int alt385=2; - try { dbg.enterSubRule(385); - try { dbg.enterDecision(385, decisionCanBacktrack[385]); + } finally {dbg.exitSubRule(386);} + dbg.location(1220,55); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:55: ( ws )? + int alt387=2; + try { dbg.enterSubRule(387); + try { dbg.enterDecision(387, decisionCanBacktrack[387]); - int LA385_0 = input.LA(1); - if ( (LA385_0==COMMENT||LA385_0==NL||LA385_0==WS) ) { - alt385=1; + int LA387_0 = input.LA(1); + if ( (LA387_0==COMMENT||LA387_0==NL||LA387_0==WS) ) { + alt387=1; } - } finally {dbg.exitDecision(385);} + } finally {dbg.exitDecision(387);} - switch (alt385) { + switch (alt387) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:55: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:55: ws { - dbg.location(1215,55); - pushFollow(FOLLOW_ws_in_fnAttributes8545); + dbg.location(1220,55); + pushFollow(FOLLOW_ws_in_fnAttributes8605); ws(); state._fsp--; if (state.failed) return; @@ -27316,9 +27415,9 @@ else if ( (LA384_0==SEMI) ) { break; } - } finally {dbg.exitSubRule(385);} - dbg.location(1215,59); - pushFollow(FOLLOW_fnAttribute_in_fnAttributes8548); + } finally {dbg.exitSubRule(387);} + dbg.location(1220,59); + pushFollow(FOLLOW_fnAttribute_in_fnAttributes8608); fnAttribute(); state._fsp--; if (state.failed) return; @@ -27326,30 +27425,30 @@ else if ( (LA384_0==SEMI) ) { break; default : - break loop386; + break loop388; } } - } finally {dbg.exitSubRule(386);} - dbg.location(1215,73); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:73: ( ws )? - int alt387=2; - try { dbg.enterSubRule(387); - try { dbg.enterDecision(387, decisionCanBacktrack[387]); + } finally {dbg.exitSubRule(388);} + dbg.location(1220,73); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:73: ( ws )? + int alt389=2; + try { dbg.enterSubRule(389); + try { dbg.enterDecision(389, decisionCanBacktrack[389]); - int LA387_0 = input.LA(1); - if ( (LA387_0==COMMENT||LA387_0==NL||LA387_0==WS) ) { - alt387=1; + int LA389_0 = input.LA(1); + if ( (LA389_0==COMMENT||LA389_0==NL||LA389_0==WS) ) { + alt389=1; } - } finally {dbg.exitDecision(387);} + } finally {dbg.exitDecision(389);} - switch (alt387) { + switch (alt389) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:73: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:73: ws { - dbg.location(1215,73); - pushFollow(FOLLOW_ws_in_fnAttributes8552); + dbg.location(1220,73); + pushFollow(FOLLOW_ws_in_fnAttributes8612); ws(); state._fsp--; if (state.failed) return; @@ -27357,7 +27456,7 @@ else if ( (LA384_0==SEMI) ) { break; } - } finally {dbg.exitSubRule(387);} + } finally {dbg.exitSubRule(389);} } @@ -27369,7 +27468,7 @@ else if ( (LA384_0==SEMI) ) { finally { // do for sure before leaving } - dbg.location(1216, 4); + dbg.location(1221, 4); } finally { @@ -27384,42 +27483,42 @@ else if ( (LA384_0==SEMI) ) { // $ANTLR start "fnAttribute" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1218:1: fnAttribute : ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1223:1: fnAttribute : ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression ); public final void fnAttribute() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "fnAttribute"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1218, 0); + dbg.location(1223, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1219:2: ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression ) - int alt390=3; - try { dbg.enterDecision(390, decisionCanBacktrack[390]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1224:2: ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression ) + int alt392=3; + try { dbg.enterDecision(392, decisionCanBacktrack[392]); - int LA390_0 = input.LA(1); - if ( (LA390_0==IDENT) ) { - int LA390_1 = input.LA(2); - if ( (synpred51_Css3()) ) { - alt390=1; + int LA392_0 = input.LA(1); + if ( (LA392_0==IDENT) ) { + int LA392_1 = input.LA(2); + if ( (synpred57_Css3()) ) { + alt392=1; } - else if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==AT_IDENT||(LA390_0 >= BOTTOMCENTER_SYM && LA390_0 <= BOTTOMRIGHT_SYM)||LA390_0==CHARSET_SYM||LA390_0==COUNTER_STYLE_SYM||LA390_0==FONT_FACE_SYM||LA390_0==IMPORT_SYM||(LA390_0 >= LEFTBOTTOM_SYM && LA390_0 <= LEFTTOP_SYM)||LA390_0==MEDIA_SYM||LA390_0==MOZ_DOCUMENT_SYM||LA390_0==NAMESPACE_SYM||LA390_0==PAGE_SYM||(LA390_0 >= RIGHTBOTTOM_SYM && LA390_0 <= RIGHTTOP_SYM)||(LA390_0 >= SASS_AT_ROOT && LA390_0 <= SASS_DEBUG)||(LA390_0 >= SASS_EACH && LA390_0 <= SASS_ELSE)||LA390_0==SASS_EXTEND||(LA390_0 >= SASS_FOR && LA390_0 <= SASS_FUNCTION)||(LA390_0 >= SASS_IF && LA390_0 <= SASS_MIXIN)||(LA390_0 >= SASS_RETURN && LA390_0 <= SASS_USE)||(LA390_0 >= SASS_WARN && LA390_0 <= SASS_WHILE)||(LA390_0 >= TOPCENTER_SYM && LA390_0 <= TOPRIGHT_SYM)||LA390_0==WEBKIT_KEYFRAMES_SYM) ) { - int LA390_2 = input.LA(2); - if ( (((synpred51_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt390=1; + else if ( (LA392_0==AT_IDENT||(LA392_0 >= BOTTOMCENTER_SYM && LA392_0 <= BOTTOMRIGHT_SYM)||LA392_0==CHARSET_SYM||LA392_0==COUNTER_STYLE_SYM||LA392_0==FONT_FACE_SYM||LA392_0==IMPORT_SYM||(LA392_0 >= LEFTBOTTOM_SYM && LA392_0 <= LEFTTOP_SYM)||LA392_0==MEDIA_SYM||LA392_0==MOZ_DOCUMENT_SYM||LA392_0==NAMESPACE_SYM||LA392_0==PAGE_SYM||(LA392_0 >= RIGHTBOTTOM_SYM && LA392_0 <= RIGHTTOP_SYM)||(LA392_0 >= SASS_AT_ROOT && LA392_0 <= SASS_DEBUG)||(LA392_0 >= SASS_EACH && LA392_0 <= SASS_ELSE)||LA392_0==SASS_EXTEND||(LA392_0 >= SASS_FOR && LA392_0 <= SASS_FUNCTION)||(LA392_0 >= SASS_IF && LA392_0 <= SASS_MIXIN)||(LA392_0 >= SASS_RETURN && LA392_0 <= SASS_USE)||(LA392_0 >= SASS_WARN && LA392_0 <= SASS_WHILE)||(LA392_0 >= TOPCENTER_SYM && LA392_0 <= TOPRIGHT_SYM)||LA392_0==WEBKIT_KEYFRAMES_SYM) ) { + int LA392_2 = input.LA(2); + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred57_Css3())) ) { + alt392=1; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred52_Css3())) ) { - alt390=2; + else if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + alt392=2; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt390=3; + alt392=3; } else { @@ -27428,7 +27527,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 390, 2, input); + new NoViableAltException("", 392, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27437,16 +27536,16 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } - else if ( (LA390_0==SASS_VAR) ) { - int LA390_3 = input.LA(2); - if ( (((synpred51_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt390=1; + else if ( (LA392_0==SASS_VAR) ) { + int LA392_3 = input.LA(2); + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred57_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + alt392=1; } - else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))&&synpred52_Css3())) ) { - alt390=2; + else if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + alt392=2; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt390=3; + alt392=3; } else { @@ -27455,7 +27554,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 390, 3, input); + new NoViableAltException("", 392, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27464,229 +27563,229 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } - else if ( (LA390_0==LBRACE) && (synpred52_Css3())) { - alt390=2; + else if ( (LA392_0==LBRACE) && (synpred58_Css3())) { + alt392=2; } - else if ( (LA390_0==NOT) && (synpred52_Css3())) { - alt390=2; + else if ( (LA392_0==NOT) && (synpred58_Css3())) { + alt392=2; } - else if ( (LA390_0==MINUS||LA390_0==PLUS) ) { - int LA390_6 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==MINUS||LA392_0==PLUS) ) { + int LA392_6 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==VARIABLE) ) { - int LA390_7 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==VARIABLE) ) { + int LA392_7 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==LBRACKET) ) { - int LA390_8 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==LBRACKET) ) { + int LA392_8 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==NUMBER) ) { - int LA390_9 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==NUMBER) ) { + int LA392_9 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==URANGE) ) { - int LA390_10 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==URANGE) ) { + int LA392_10 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==PERCENTAGE) ) { - int LA390_11 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==PERCENTAGE) ) { + int LA392_11 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==LENGTH) ) { - int LA390_12 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==LENGTH) ) { + int LA392_12 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==EMS) ) { - int LA390_13 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==EMS) ) { + int LA392_13 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==REM) ) { - int LA390_14 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==REM) ) { + int LA392_14 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==EXS) ) { - int LA390_15 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==EXS) ) { + int LA392_15 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==ANGLE) ) { - int LA390_16 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==ANGLE) ) { + int LA392_16 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==TIME) ) { - int LA390_17 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==TIME) ) { + int LA392_17 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==FREQ) ) { - int LA390_18 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==FREQ) ) { + int LA392_18 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==RESOLUTION) ) { - int LA390_19 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==RESOLUTION) ) { + int LA392_19 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==DIMENSION) ) { - int LA390_20 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==DIMENSION) ) { + int LA392_20 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==STRING) ) { - int LA390_21 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==STRING) ) { + int LA392_21 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==TILDE) ) { - int LA390_22 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==TILDE) ) { + int LA392_22 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==LESS_JS_STRING) ) { - int LA390_23 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==LESS_JS_STRING) ) { + int LA392_23 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==GEN) ) { - int LA390_24 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==GEN) ) { + int LA392_24 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==URI) ) { - int LA390_25 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==URI) ) { + int LA392_25 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==HASH) ) { - int LA390_26 = input.LA(2); - if ( (synpred52_Css3()) ) { - alt390=2; + else if ( (LA392_0==HASH) ) { + int LA392_26 = input.LA(2); + if ( (synpred58_Css3()) ) { + alt392=2; } else if ( (true) ) { - alt390=3; + alt392=3; } } - else if ( (LA390_0==LESS_AND) ) { - int LA390_27 = input.LA(2); - if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred52_Css3())) ) { - alt390=2; + else if ( (LA392_0==LESS_AND) ) { + int LA392_27 = input.LA(2); + if ( ((synpred58_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + alt392=2; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt390=3; + alt392=3; } else { @@ -27695,7 +27794,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 390, 27, input); + new NoViableAltException("", 392, 27, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27704,13 +27803,13 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA390_0==HASH_SYMBOL) ) { - int LA390_28 = input.LA(2); - if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred52_Css3())) ) { - alt390=2; + else if ( (LA392_0==HASH_SYMBOL) ) { + int LA392_28 = input.LA(2); + if ( ((synpred58_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + alt392=2; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt390=3; + alt392=3; } else { @@ -27719,7 +27818,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 390, 28, input); + new NoViableAltException("", 392, 28, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27728,13 +27827,13 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA390_0==AT_SIGN) ) { - int LA390_29 = input.LA(2); - if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred52_Css3())) ) { - alt390=2; + else if ( (LA392_0==AT_SIGN) ) { + int LA392_29 = input.LA(2); + if ( ((synpred58_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + alt392=2; } else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt390=3; + alt392=3; } else { @@ -27743,7 +27842,7 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 390, 29, input); + new NoViableAltException("", 392, 29, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27752,13 +27851,13 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { } } - else if ( (LA390_0==PERCENTAGE_SYMBOL) ) { - int LA390_30 = input.LA(2); - if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred52_Css3())) ) { - alt390=2; + else if ( (LA392_0==PERCENTAGE_SYMBOL) ) { + int LA392_30 = input.LA(2); + if ( ((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))) ) { + alt392=2; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt390=3; + alt392=3; } else { @@ -27767,7 +27866,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 390, 30, input); + new NoViableAltException("", 392, 30, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27776,45 +27875,45 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) } } - else if ( (LA390_0==IMPORTANT_SYM) && (synpred52_Css3())) { - alt390=2; + else if ( (LA392_0==IMPORTANT_SYM) && (synpred58_Css3())) { + alt392=2; } - else if ( (LA390_0==LPAREN) && (synpred52_Css3())) { - alt390=2; + else if ( (LA392_0==LPAREN) && (synpred58_Css3())) { + alt392=2; } - } finally {dbg.exitDecision(390);} + } finally {dbg.exitDecision(392);} - switch (alt390) { + switch (alt392) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue { - dbg.location(1220,46); - pushFollow(FOLLOW_fnAttributeName_in_fnAttribute8589); + dbg.location(1225,46); + pushFollow(FOLLOW_fnAttributeName_in_fnAttribute8649); fnAttributeName(); state._fsp--; - if (state.failed) return;dbg.location(1220,62); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:62: ( ws )? - int alt388=2; - try { dbg.enterSubRule(388); - try { dbg.enterDecision(388, decisionCanBacktrack[388]); + if (state.failed) return;dbg.location(1225,62); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:62: ( ws )? + int alt390=2; + try { dbg.enterSubRule(390); + try { dbg.enterDecision(390, decisionCanBacktrack[390]); - int LA388_0 = input.LA(1); - if ( (LA388_0==COMMENT||LA388_0==NL||LA388_0==WS) ) { - alt388=1; + int LA390_0 = input.LA(1); + if ( (LA390_0==COMMENT||LA390_0==NL||LA390_0==WS) ) { + alt390=1; } - } finally {dbg.exitDecision(388);} + } finally {dbg.exitDecision(390);} - switch (alt388) { + switch (alt390) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:62: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:62: ws { - dbg.location(1220,62); - pushFollow(FOLLOW_ws_in_fnAttribute8591); + dbg.location(1225,62); + pushFollow(FOLLOW_ws_in_fnAttribute8651); ws(); state._fsp--; if (state.failed) return; @@ -27822,8 +27921,8 @@ else if ( (LA390_0==LPAREN) && (synpred52_Css3())) { break; } - } finally {dbg.exitSubRule(388);} - dbg.location(1220,66); + } finally {dbg.exitSubRule(390);} + dbg.location(1225,66); if ( input.LA(1)==COLON||input.LA(1)==OPEQ ) { input.consume(); state.errorRecovery=false; @@ -27834,26 +27933,26 @@ else if ( (LA390_0==LPAREN) && (synpred52_Css3())) { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1220,79); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:79: ( ws )? - int alt389=2; - try { dbg.enterSubRule(389); - try { dbg.enterDecision(389, decisionCanBacktrack[389]); + }dbg.location(1225,79); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:79: ( ws )? + int alt391=2; + try { dbg.enterSubRule(391); + try { dbg.enterDecision(391, decisionCanBacktrack[391]); - int LA389_0 = input.LA(1); - if ( (LA389_0==COMMENT||LA389_0==NL||LA389_0==WS) ) { - alt389=1; + int LA391_0 = input.LA(1); + if ( (LA391_0==COMMENT||LA391_0==NL||LA391_0==WS) ) { + alt391=1; } - } finally {dbg.exitDecision(389);} + } finally {dbg.exitDecision(391);} - switch (alt389) { + switch (alt391) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:79: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:79: ws { - dbg.location(1220,79); - pushFollow(FOLLOW_ws_in_fnAttribute8600); + dbg.location(1225,79); + pushFollow(FOLLOW_ws_in_fnAttribute8660); ws(); state._fsp--; if (state.failed) return; @@ -27861,9 +27960,9 @@ else if ( (LA390_0==LPAREN) && (synpred52_Css3())) { break; } - } finally {dbg.exitSubRule(389);} - dbg.location(1220,83); - pushFollow(FOLLOW_fnAttributeValue_in_fnAttribute8603); + } finally {dbg.exitSubRule(391);} + dbg.location(1225,83); + pushFollow(FOLLOW_fnAttributeValue_in_fnAttribute8663); fnAttributeValue(); state._fsp--; if (state.failed) return; @@ -27872,10 +27971,10 @@ else if ( (LA390_0==LPAREN) && (synpred52_Css3())) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:11: ( cp_expression )=> cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:11: ( cp_expression )=> cp_expression { - dbg.location(1221,29); - pushFollow(FOLLOW_cp_expression_in_fnAttribute8620); + dbg.location(1226,29); + pushFollow(FOLLOW_cp_expression_in_fnAttribute8680); cp_expression(); state._fsp--; if (state.failed) return; @@ -27884,10 +27983,10 @@ else if ( (LA390_0==LPAREN) && (synpred52_Css3())) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1222:11: expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1227:11: expression { - dbg.location(1222,11); - pushFollow(FOLLOW_expression_in_fnAttribute8632); + dbg.location(1227,11); + pushFollow(FOLLOW_expression_in_fnAttribute8692); expression(); state._fsp--; if (state.failed) return; @@ -27903,7 +28002,7 @@ else if ( (LA390_0==LPAREN) && (synpred52_Css3())) { finally { // do for sure before leaving } - dbg.location(1223, 1); + dbg.location(1228, 1); } finally { @@ -27918,28 +28017,28 @@ else if ( (LA390_0==LPAREN) && (synpred52_Css3())) { // $ANTLR start "fnAttributeName" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:1: fnAttributeName : ( IDENT ( DOT IDENT )* |{...}? cp_variable ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1230:1: fnAttributeName : ( IDENT ( DOT IDENT )* |{...}? cp_variable ); public final void fnAttributeName() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "fnAttributeName"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1225, 0); + dbg.location(1230, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:2: ( IDENT ( DOT IDENT )* |{...}? cp_variable ) - int alt392=2; - try { dbg.enterDecision(392, decisionCanBacktrack[392]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1231:2: ( IDENT ( DOT IDENT )* |{...}? cp_variable ) + int alt394=2; + try { dbg.enterDecision(394, decisionCanBacktrack[394]); - int LA392_0 = input.LA(1); - if ( (LA392_0==IDENT) ) { - int LA392_1 = input.LA(2); - if ( (LA392_1==DOT) ) { - int LA392_3 = input.LA(3); - if ( (LA392_3==SASS_VAR) ) { - alt392=2; + int LA394_0 = input.LA(1); + if ( (LA394_0==IDENT) ) { + int LA394_1 = input.LA(2); + if ( (LA394_1==DOT) ) { + int LA394_3 = input.LA(3); + if ( (LA394_3==SASS_VAR) ) { + alt394=2; } - else if ( (LA392_3==IDENT) ) { - alt392=1; + else if ( (LA394_3==IDENT) ) { + alt394=1; } else { @@ -27950,7 +28049,7 @@ else if ( (LA392_3==IDENT) ) { input.consume(); } NoViableAltException nvae = - new NoViableAltException("", 392, 3, input); + new NoViableAltException("", 394, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27959,8 +28058,8 @@ else if ( (LA392_3==IDENT) ) { } } - else if ( (LA392_1==COLON||LA392_1==COMMENT||LA392_1==NL||LA392_1==OPEQ||LA392_1==WS) ) { - alt392=1; + else if ( (LA394_1==COLON||LA394_1==COMMENT||LA394_1==NL||LA394_1==OPEQ||LA394_1==WS) ) { + alt394=1; } else { @@ -27969,7 +28068,7 @@ else if ( (LA392_1==COLON||LA392_1==COMMENT||LA392_1==NL||LA392_1==OPEQ||LA392_1 try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 392, 1, input); + new NoViableAltException("", 394, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27978,74 +28077,74 @@ else if ( (LA392_1==COLON||LA392_1==COMMENT||LA392_1==NL||LA392_1==OPEQ||LA392_1 } } - else if ( (LA392_0==AT_IDENT||(LA392_0 >= BOTTOMCENTER_SYM && LA392_0 <= BOTTOMRIGHT_SYM)||LA392_0==CHARSET_SYM||LA392_0==COUNTER_STYLE_SYM||LA392_0==FONT_FACE_SYM||LA392_0==IMPORT_SYM||(LA392_0 >= LEFTBOTTOM_SYM && LA392_0 <= LEFTTOP_SYM)||LA392_0==MEDIA_SYM||LA392_0==MOZ_DOCUMENT_SYM||LA392_0==NAMESPACE_SYM||LA392_0==PAGE_SYM||(LA392_0 >= RIGHTBOTTOM_SYM && LA392_0 <= RIGHTTOP_SYM)||(LA392_0 >= SASS_AT_ROOT && LA392_0 <= SASS_DEBUG)||(LA392_0 >= SASS_EACH && LA392_0 <= SASS_ELSE)||LA392_0==SASS_EXTEND||(LA392_0 >= SASS_FOR && LA392_0 <= SASS_FUNCTION)||(LA392_0 >= SASS_IF && LA392_0 <= SASS_MIXIN)||(LA392_0 >= SASS_RETURN && LA392_0 <= SASS_WHILE)||(LA392_0 >= TOPCENTER_SYM && LA392_0 <= TOPRIGHT_SYM)||LA392_0==WEBKIT_KEYFRAMES_SYM) ) { - alt392=2; + else if ( (LA394_0==AT_IDENT||(LA394_0 >= BOTTOMCENTER_SYM && LA394_0 <= BOTTOMRIGHT_SYM)||LA394_0==CHARSET_SYM||LA394_0==COUNTER_STYLE_SYM||LA394_0==FONT_FACE_SYM||LA394_0==IMPORT_SYM||(LA394_0 >= LEFTBOTTOM_SYM && LA394_0 <= LEFTTOP_SYM)||LA394_0==MEDIA_SYM||LA394_0==MOZ_DOCUMENT_SYM||LA394_0==NAMESPACE_SYM||LA394_0==PAGE_SYM||(LA394_0 >= RIGHTBOTTOM_SYM && LA394_0 <= RIGHTTOP_SYM)||(LA394_0 >= SASS_AT_ROOT && LA394_0 <= SASS_DEBUG)||(LA394_0 >= SASS_EACH && LA394_0 <= SASS_ELSE)||LA394_0==SASS_EXTEND||(LA394_0 >= SASS_FOR && LA394_0 <= SASS_FUNCTION)||(LA394_0 >= SASS_IF && LA394_0 <= SASS_MIXIN)||(LA394_0 >= SASS_RETURN && LA394_0 <= SASS_WHILE)||(LA394_0 >= TOPCENTER_SYM && LA394_0 <= TOPRIGHT_SYM)||LA394_0==WEBKIT_KEYFRAMES_SYM) ) { + alt394=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 392, 0, input); + new NoViableAltException("", 394, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(392);} + } finally {dbg.exitDecision(394);} - switch (alt392) { + switch (alt394) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1227:13: IDENT ( DOT IDENT )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1232:13: IDENT ( DOT IDENT )* { - dbg.location(1227,13); - match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName8655); if (state.failed) return;dbg.location(1227,19); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1227:19: ( DOT IDENT )* - try { dbg.enterSubRule(391); + dbg.location(1232,13); + match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName8715); if (state.failed) return;dbg.location(1232,19); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1232:19: ( DOT IDENT )* + try { dbg.enterSubRule(393); - loop391: + loop393: while (true) { - int alt391=2; - try { dbg.enterDecision(391, decisionCanBacktrack[391]); + int alt393=2; + try { dbg.enterDecision(393, decisionCanBacktrack[393]); - int LA391_0 = input.LA(1); - if ( (LA391_0==DOT) ) { - alt391=1; + int LA393_0 = input.LA(1); + if ( (LA393_0==DOT) ) { + alt393=1; } - } finally {dbg.exitDecision(391);} + } finally {dbg.exitDecision(393);} - switch (alt391) { + switch (alt393) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1227:20: DOT IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1232:20: DOT IDENT { - dbg.location(1227,20); - match(input,DOT,FOLLOW_DOT_in_fnAttributeName8658); if (state.failed) return;dbg.location(1227,24); - match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName8660); if (state.failed) return; + dbg.location(1232,20); + match(input,DOT,FOLLOW_DOT_in_fnAttributeName8718); if (state.failed) return;dbg.location(1232,24); + match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName8720); if (state.failed) return; } break; default : - break loop391; + break loop393; } } - } finally {dbg.exitSubRule(391);} + } finally {dbg.exitSubRule(393);} } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1228:15: {...}? cp_variable + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:15: {...}? cp_variable { - dbg.location(1228,15); + dbg.location(1233,15); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "fnAttributeName", "isCssPreprocessorSource()"); - }dbg.location(1228,44); - pushFollow(FOLLOW_cp_variable_in_fnAttributeName8680); + }dbg.location(1233,44); + pushFollow(FOLLOW_cp_variable_in_fnAttributeName8740); cp_variable(); state._fsp--; if (state.failed) return; @@ -28061,7 +28160,7 @@ else if ( (LA392_0==AT_IDENT||(LA392_0 >= BOTTOMCENTER_SYM && LA392_0 <= BOTTOMR finally { // do for sure before leaving } - dbg.location(1229, 1); + dbg.location(1234, 1); } finally { @@ -28076,28 +28175,28 @@ else if ( (LA392_0==AT_IDENT||(LA392_0 >= BOTTOMCENTER_SYM && LA392_0 <= BOTTOMR // $ANTLR start "fnAttributeValue" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1231:1: fnAttributeValue : ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1236:1: fnAttributeValue : ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression ); public final void fnAttributeValue() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "fnAttributeValue"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1231, 0); + dbg.location(1236, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1232:2: ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression ) - int alt397=2; - try { dbg.enterDecision(397, decisionCanBacktrack[397]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:2: ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression ) + int alt399=2; + try { dbg.enterDecision(399, decisionCanBacktrack[399]); switch ( input.LA(1) ) { case MINUS: case PLUS: { - int LA397_1 = input.LA(2); + int LA399_1 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28106,7 +28205,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 1, input); + new NoViableAltException("", 399, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28118,12 +28217,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case IDENT: { - int LA397_2 = input.LA(2); + int LA399_2 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28132,7 +28231,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 2, input); + new NoViableAltException("", 399, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28144,12 +28243,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case VARIABLE: { - int LA397_3 = input.LA(2); + int LA399_3 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28158,7 +28257,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 3, input); + new NoViableAltException("", 399, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28170,12 +28269,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case LBRACKET: { - int LA397_4 = input.LA(2); + int LA399_4 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28184,7 +28283,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 4, input); + new NoViableAltException("", 399, 4, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28196,12 +28295,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case NUMBER: { - int LA397_5 = input.LA(2); + int LA399_5 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28210,7 +28309,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 5, input); + new NoViableAltException("", 399, 5, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28222,12 +28321,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case URANGE: { - int LA397_6 = input.LA(2); + int LA399_6 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28236,7 +28335,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 6, input); + new NoViableAltException("", 399, 6, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28248,12 +28347,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case PERCENTAGE: { - int LA397_7 = input.LA(2); + int LA399_7 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28262,7 +28361,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 7, input); + new NoViableAltException("", 399, 7, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28274,12 +28373,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case LENGTH: { - int LA397_8 = input.LA(2); + int LA399_8 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28288,7 +28387,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 8, input); + new NoViableAltException("", 399, 8, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28300,12 +28399,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case EMS: { - int LA397_9 = input.LA(2); + int LA399_9 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28314,7 +28413,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 9, input); + new NoViableAltException("", 399, 9, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28326,12 +28425,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case REM: { - int LA397_10 = input.LA(2); + int LA399_10 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28340,7 +28439,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 10, input); + new NoViableAltException("", 399, 10, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28352,12 +28451,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case EXS: { - int LA397_11 = input.LA(2); + int LA399_11 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28366,7 +28465,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 11, input); + new NoViableAltException("", 399, 11, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28378,12 +28477,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case ANGLE: { - int LA397_12 = input.LA(2); + int LA399_12 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28392,7 +28491,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 12, input); + new NoViableAltException("", 399, 12, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28404,12 +28503,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case TIME: { - int LA397_13 = input.LA(2); + int LA399_13 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28418,7 +28517,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 13, input); + new NoViableAltException("", 399, 13, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28430,12 +28529,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case FREQ: { - int LA397_14 = input.LA(2); + int LA399_14 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28444,7 +28543,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 14, input); + new NoViableAltException("", 399, 14, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28456,12 +28555,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case RESOLUTION: { - int LA397_15 = input.LA(2); + int LA399_15 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28470,7 +28569,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 15, input); + new NoViableAltException("", 399, 15, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28482,12 +28581,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case DIMENSION: { - int LA397_16 = input.LA(2); + int LA399_16 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28496,7 +28595,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 16, input); + new NoViableAltException("", 399, 16, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28508,12 +28607,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case STRING: { - int LA397_17 = input.LA(2); + int LA399_17 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28522,7 +28621,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 17, input); + new NoViableAltException("", 399, 17, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28534,12 +28633,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case TILDE: { - int LA397_18 = input.LA(2); + int LA399_18 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28548,7 +28647,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 18, input); + new NoViableAltException("", 399, 18, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28560,12 +28659,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case LESS_JS_STRING: { - int LA397_19 = input.LA(2); + int LA399_19 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28574,7 +28673,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 19, input); + new NoViableAltException("", 399, 19, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28586,12 +28685,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case GEN: { - int LA397_20 = input.LA(2); + int LA399_20 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28600,7 +28699,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 20, input); + new NoViableAltException("", 399, 20, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28612,12 +28711,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case URI: { - int LA397_21 = input.LA(2); + int LA399_21 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28626,7 +28725,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 21, input); + new NoViableAltException("", 399, 21, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28638,12 +28737,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case HASH: { - int LA397_22 = input.LA(2); + int LA399_22 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28652,7 +28751,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 22, input); + new NoViableAltException("", 399, 22, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28705,12 +28804,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - int LA397_23 = input.LA(2); + int LA399_23 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt397=1; + alt399=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt397=2; + alt399=2; } else { @@ -28719,7 +28818,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 23, input); + new NoViableAltException("", 399, 23, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28731,12 +28830,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case SASS_VAR: { - int LA397_24 = input.LA(2); + int LA399_24 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt397=1; + alt399=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt397=2; + alt399=2; } else { @@ -28745,7 +28844,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 24, input); + new NoViableAltException("", 399, 24, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28757,12 +28856,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case LESS_AND: { - int LA397_25 = input.LA(2); + int LA399_25 = input.LA(2); if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt397=1; + alt399=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt397=2; + alt399=2; } else { @@ -28771,7 +28870,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 25, input); + new NoViableAltException("", 399, 25, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28783,12 +28882,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case HASH_SYMBOL: { - int LA397_26 = input.LA(2); + int LA399_26 = input.LA(2); if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt397=1; + alt399=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt397=2; + alt399=2; } else { @@ -28797,7 +28896,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 26, input); + new NoViableAltException("", 399, 26, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28809,12 +28908,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case AT_SIGN: { - int LA397_27 = input.LA(2); + int LA399_27 = input.LA(2); if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt397=1; + alt399=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt397=2; + alt399=2; } else { @@ -28823,7 +28922,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 27, input); + new NoViableAltException("", 399, 27, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28835,12 +28934,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case PERCENTAGE_SYMBOL: { - int LA397_28 = input.LA(2); + int LA399_28 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=1; + alt399=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt397=2; + alt399=2; } else { @@ -28849,7 +28948,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 397, 28, input); + new NoViableAltException("", 399, 28, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28862,77 +28961,77 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case IMPORTANT_SYM: case LPAREN: { - alt397=2; + alt399=2; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 397, 0, input); + new NoViableAltException("", 399, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(397);} + } finally {dbg.exitDecision(399);} - switch (alt397) { + switch (alt399) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:13: term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:13: term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* { - dbg.location(1233,13); - pushFollow(FOLLOW_term_in_fnAttributeValue8703); + dbg.location(1238,13); + pushFollow(FOLLOW_term_in_fnAttributeValue8763); term(); state._fsp--; - if (state.failed) return;dbg.location(1233,18); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* - try { dbg.enterSubRule(396); + if (state.failed) return;dbg.location(1238,18); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* + try { dbg.enterSubRule(398); - loop396: + loop398: while (true) { - int alt396=2; - try { dbg.enterDecision(396, decisionCanBacktrack[396]); + int alt398=2; + try { dbg.enterDecision(398, decisionCanBacktrack[398]); try { isCyclicDecision = true; - alt396 = dfa396.predict(input); + alt398 = dfa398.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(396);} + } finally {dbg.exitDecision(398);} - switch (alt396) { + switch (alt398) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term { - dbg.location(1233,71); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) - int alt395=3; - try { dbg.enterSubRule(395); - try { dbg.enterDecision(395, decisionCanBacktrack[395]); + dbg.location(1238,71); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) + int alt397=3; + try { dbg.enterSubRule(397); + try { dbg.enterDecision(397, decisionCanBacktrack[397]); try { isCyclicDecision = true; - alt395 = dfa395.predict(input); + alt397 = dfa397.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(395);} + } finally {dbg.exitDecision(397);} - switch (alt395) { + switch (alt397) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:73: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:73: ws { - dbg.location(1233,73); - pushFollow(FOLLOW_ws_in_fnAttributeValue8735); + dbg.location(1238,73); + pushFollow(FOLLOW_ws_in_fnAttributeValue8795); ws(); state._fsp--; if (state.failed) return; @@ -28941,34 +29040,34 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:78: ( ( ws )? SOLIDUS ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:78: ( ( ws )? SOLIDUS ( ws )? ) { - dbg.location(1233,78); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:78: ( ( ws )? SOLIDUS ( ws )? ) + dbg.location(1238,78); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:78: ( ( ws )? SOLIDUS ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:79: ( ws )? SOLIDUS ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:79: ( ws )? SOLIDUS ( ws )? { - dbg.location(1233,79); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:79: ( ws )? - int alt393=2; - try { dbg.enterSubRule(393); - try { dbg.enterDecision(393, decisionCanBacktrack[393]); - - int LA393_0 = input.LA(1); - if ( (LA393_0==COMMENT||LA393_0==NL||LA393_0==WS) ) { - alt393=1; + dbg.location(1238,79); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:79: ( ws )? + int alt395=2; + try { dbg.enterSubRule(395); + try { dbg.enterDecision(395, decisionCanBacktrack[395]); + + int LA395_0 = input.LA(1); + if ( (LA395_0==COMMENT||LA395_0==NL||LA395_0==WS) ) { + alt395=1; } - } finally {dbg.exitDecision(393);} + } finally {dbg.exitDecision(395);} - switch (alt393) { + switch (alt395) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:79: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:79: ws { - dbg.location(1233,79); - pushFollow(FOLLOW_ws_in_fnAttributeValue8740); + dbg.location(1238,79); + pushFollow(FOLLOW_ws_in_fnAttributeValue8800); ws(); state._fsp--; if (state.failed) return; @@ -28976,28 +29075,28 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; } - } finally {dbg.exitSubRule(393);} - dbg.location(1233,83); - match(input,SOLIDUS,FOLLOW_SOLIDUS_in_fnAttributeValue8743); if (state.failed) return;dbg.location(1233,91); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:91: ( ws )? - int alt394=2; - try { dbg.enterSubRule(394); - try { dbg.enterDecision(394, decisionCanBacktrack[394]); - - int LA394_0 = input.LA(1); - if ( (LA394_0==COMMENT||LA394_0==NL||LA394_0==WS) ) { - alt394=1; + } finally {dbg.exitSubRule(395);} + dbg.location(1238,83); + match(input,SOLIDUS,FOLLOW_SOLIDUS_in_fnAttributeValue8803); if (state.failed) return;dbg.location(1238,91); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:91: ( ws )? + int alt396=2; + try { dbg.enterSubRule(396); + try { dbg.enterDecision(396, decisionCanBacktrack[396]); + + int LA396_0 = input.LA(1); + if ( (LA396_0==COMMENT||LA396_0==NL||LA396_0==WS) ) { + alt396=1; } - } finally {dbg.exitDecision(394);} + } finally {dbg.exitDecision(396);} - switch (alt394) { + switch (alt396) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:91: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:91: ws { - dbg.location(1233,91); - pushFollow(FOLLOW_ws_in_fnAttributeValue8745); + dbg.location(1238,91); + pushFollow(FOLLOW_ws_in_fnAttributeValue8805); ws(); state._fsp--; if (state.failed) return; @@ -29005,7 +29104,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; } - } finally {dbg.exitSubRule(394);} + } finally {dbg.exitSubRule(396);} } @@ -29014,15 +29113,15 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:111: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:111: { } break; } - } finally {dbg.exitSubRule(395);} - dbg.location(1233,113); - pushFollow(FOLLOW_term_in_fnAttributeValue8754); + } finally {dbg.exitSubRule(397);} + dbg.location(1238,113); + pushFollow(FOLLOW_term_in_fnAttributeValue8814); term(); state._fsp--; if (state.failed) return; @@ -29030,24 +29129,24 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; default : - break loop396; + break loop398; } } - } finally {dbg.exitSubRule(396);} + } finally {dbg.exitSubRule(398);} } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1234:15: {...}? cp_math_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1239:15: {...}? cp_math_expression { - dbg.location(1234,15); + dbg.location(1239,15); if ( !(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "fnAttributeValue", "isCssPreprocessorSource()"); - }dbg.location(1234,44); - pushFollow(FOLLOW_cp_math_expression_in_fnAttributeValue8775); + }dbg.location(1239,44); + pushFollow(FOLLOW_cp_math_expression_in_fnAttributeValue8835); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -29063,7 +29162,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) finally { // do for sure before leaving } - dbg.location(1235, 1); + dbg.location(1240, 1); } finally { @@ -29078,21 +29177,21 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) // $ANTLR start "hexColor" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:1: hexColor : HASH ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:1: hexColor : HASH ; public final void hexColor() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "hexColor"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1237, 0); + dbg.location(1242, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:5: ( HASH ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1243:5: ( HASH ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:7: HASH + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1243:7: HASH { - dbg.location(1238,7); - match(input,HASH,FOLLOW_HASH_in_hexColor8789); if (state.failed) return; + dbg.location(1243,7); + match(input,HASH,FOLLOW_HASH_in_hexColor8849); if (state.failed) return; } } @@ -29103,7 +29202,7 @@ public final void hexColor() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1239, 4); + dbg.location(1244, 4); } finally { @@ -29118,43 +29217,43 @@ public final void hexColor() throws RecognitionException { // $ANTLR start "ws" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1241:1: ws : ( WS | NL | COMMENT )+ ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1246:1: ws : ( WS | NL | COMMENT )+ ; public final void ws() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "ws"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1241, 0); + dbg.location(1246, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:5: ( ( WS | NL | COMMENT )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:5: ( ( WS | NL | COMMENT )+ ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:7: ( WS | NL | COMMENT )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:7: ( WS | NL | COMMENT )+ { - dbg.location(1242,7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1242:7: ( WS | NL | COMMENT )+ - int cnt398=0; - try { dbg.enterSubRule(398); + dbg.location(1247,7); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:7: ( WS | NL | COMMENT )+ + int cnt400=0; + try { dbg.enterSubRule(400); - loop398: + loop400: while (true) { - int alt398=2; - try { dbg.enterDecision(398, decisionCanBacktrack[398]); + int alt400=2; + try { dbg.enterDecision(400, decisionCanBacktrack[400]); - int LA398_0 = input.LA(1); - if ( (LA398_0==COMMENT||LA398_0==NL||LA398_0==WS) ) { - alt398=1; + int LA400_0 = input.LA(1); + if ( (LA400_0==COMMENT||LA400_0==NL||LA400_0==WS) ) { + alt400=1; } - } finally {dbg.exitDecision(398);} + } finally {dbg.exitDecision(400);} - switch (alt398) { + switch (alt400) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1242,7); + dbg.location(1247,7); if ( input.LA(1)==COMMENT||input.LA(1)==NL||input.LA(1)==WS ) { input.consume(); state.errorRecovery=false; @@ -29170,16 +29269,16 @@ public final void ws() throws RecognitionException { break; default : - if ( cnt398 >= 1 ) break loop398; + if ( cnt400 >= 1 ) break loop400; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(398, input); + EarlyExitException eee = new EarlyExitException(400, input); dbg.recognitionException(eee); throw eee; } - cnt398++; + cnt400++; } - } finally {dbg.exitSubRule(398);} + } finally {dbg.exitSubRule(400);} } @@ -29191,7 +29290,7 @@ public final void ws() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1243, 4); + dbg.location(1248, 4); } finally { @@ -29206,17 +29305,17 @@ public final void ws() throws RecognitionException { // $ANTLR start "cp_variable_declaration" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1248:1: cp_variable_declaration : ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1253:1: cp_variable_declaration : ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ); public final void cp_variable_declaration() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_variable_declaration"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1248, 0); + dbg.location(1253, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1249:5: ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ) - int alt406=2; - try { dbg.enterDecision(406, decisionCanBacktrack[406]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1254:5: ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ) + int alt408=2; + try { dbg.enterDecision(408, decisionCanBacktrack[408]); switch ( input.LA(1) ) { case AT_IDENT: @@ -29262,12 +29361,12 @@ public final void cp_variable_declaration() throws RecognitionException { case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - int LA406_1 = input.LA(2); + int LA408_1 = input.LA(2); if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt406=1; + alt408=1; } else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt406=2; + alt408=2; } else { @@ -29276,7 +29375,7 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScss try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 406, 1, input); + new NoViableAltException("", 408, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -29288,12 +29387,12 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScss break; case SASS_VAR: { - int LA406_2 = input.LA(2); + int LA408_2 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt406=1; + alt408=1; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt406=2; + alt408=2; } else { @@ -29302,7 +29401,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 406, 2, input); + new NoViableAltException("", 408, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -29314,12 +29413,12 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case IDENT: { - int LA406_3 = input.LA(2); + int LA408_3 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt406=1; + alt408=1; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt406=2; + alt408=2; } else { @@ -29328,7 +29427,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 406, 3, input); + new NoViableAltException("", 408, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -29341,46 +29440,46 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 406, 0, input); + new NoViableAltException("", 408, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(406);} + } finally {dbg.exitDecision(408);} - switch (alt406) { + switch (alt408) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1250:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list { - dbg.location(1250,9); + dbg.location(1255,9); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_variable_declaration", "isLessSource()"); - }dbg.location(1250,27); - pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration8849); + }dbg.location(1255,27); + pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration8909); cp_variable(); state._fsp--; - if (state.failed) return;dbg.location(1250,39); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1250:39: ( ws )? - int alt399=2; - try { dbg.enterSubRule(399); - try { dbg.enterDecision(399, decisionCanBacktrack[399]); + if (state.failed) return;dbg.location(1255,39); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:39: ( ws )? + int alt401=2; + try { dbg.enterSubRule(401); + try { dbg.enterDecision(401, decisionCanBacktrack[401]); - int LA399_0 = input.LA(1); - if ( (LA399_0==COMMENT||LA399_0==NL||LA399_0==WS) ) { - alt399=1; + int LA401_0 = input.LA(1); + if ( (LA401_0==COMMENT||LA401_0==NL||LA401_0==WS) ) { + alt401=1; } - } finally {dbg.exitDecision(399);} + } finally {dbg.exitDecision(401);} - switch (alt399) { + switch (alt401) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1250:39: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:39: ws { - dbg.location(1250,39); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8851); + dbg.location(1255,39); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8911); ws(); state._fsp--; if (state.failed) return; @@ -29388,28 +29487,28 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(399);} - dbg.location(1250,43); - match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration8854); if (state.failed) return;dbg.location(1250,49); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1250:49: ( ws )? - int alt400=2; - try { dbg.enterSubRule(400); - try { dbg.enterDecision(400, decisionCanBacktrack[400]); + } finally {dbg.exitSubRule(401);} + dbg.location(1255,43); + match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration8914); if (state.failed) return;dbg.location(1255,49); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:49: ( ws )? + int alt402=2; + try { dbg.enterSubRule(402); + try { dbg.enterDecision(402, decisionCanBacktrack[402]); - int LA400_0 = input.LA(1); - if ( (LA400_0==COMMENT||LA400_0==NL||LA400_0==WS) ) { - alt400=1; + int LA402_0 = input.LA(1); + if ( (LA402_0==COMMENT||LA402_0==NL||LA402_0==WS) ) { + alt402=1; } - } finally {dbg.exitDecision(400);} + } finally {dbg.exitDecision(402);} - switch (alt400) { + switch (alt402) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1250:49: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:49: ws { - dbg.location(1250,49); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8856); + dbg.location(1255,49); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8916); ws(); state._fsp--; if (state.failed) return; @@ -29417,9 +29516,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(400);} - dbg.location(1250,53); - pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration8859); + } finally {dbg.exitSubRule(402);} + dbg.location(1255,53); + pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration8919); cp_expression_list(); state._fsp--; if (state.failed) return; @@ -29428,36 +29527,36 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:9: {...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* { - dbg.location(1252,9); + dbg.location(1257,9); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_variable_declaration", "isScssSource()"); - }dbg.location(1252,27); - pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration8881); + }dbg.location(1257,27); + pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration8941); cp_variable(); state._fsp--; - if (state.failed) return;dbg.location(1252,39); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:39: ( ws )? - int alt401=2; - try { dbg.enterSubRule(401); - try { dbg.enterDecision(401, decisionCanBacktrack[401]); + if (state.failed) return;dbg.location(1257,39); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:39: ( ws )? + int alt403=2; + try { dbg.enterSubRule(403); + try { dbg.enterDecision(403, decisionCanBacktrack[403]); - int LA401_0 = input.LA(1); - if ( (LA401_0==COMMENT||LA401_0==NL||LA401_0==WS) ) { - alt401=1; + int LA403_0 = input.LA(1); + if ( (LA403_0==COMMENT||LA403_0==NL||LA403_0==WS) ) { + alt403=1; } - } finally {dbg.exitDecision(401);} + } finally {dbg.exitDecision(403);} - switch (alt401) { + switch (alt403) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:39: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:39: ws { - dbg.location(1252,39); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8883); + dbg.location(1257,39); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8943); ws(); state._fsp--; if (state.failed) return; @@ -29465,28 +29564,28 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(401);} - dbg.location(1252,43); - match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration8886); if (state.failed) return;dbg.location(1252,49); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:49: ( ws )? - int alt402=2; - try { dbg.enterSubRule(402); - try { dbg.enterDecision(402, decisionCanBacktrack[402]); + } finally {dbg.exitSubRule(403);} + dbg.location(1257,43); + match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration8946); if (state.failed) return;dbg.location(1257,49); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:49: ( ws )? + int alt404=2; + try { dbg.enterSubRule(404); + try { dbg.enterDecision(404, decisionCanBacktrack[404]); - int LA402_0 = input.LA(1); - if ( (LA402_0==COMMENT||LA402_0==NL||LA402_0==WS) ) { - alt402=1; + int LA404_0 = input.LA(1); + if ( (LA404_0==COMMENT||LA404_0==NL||LA404_0==WS) ) { + alt404=1; } - } finally {dbg.exitDecision(402);} + } finally {dbg.exitDecision(404);} - switch (alt402) { + switch (alt404) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:49: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:49: ws { - dbg.location(1252,49); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8888); + dbg.location(1257,49); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8948); ws(); state._fsp--; if (state.failed) return; @@ -29494,62 +29593,62 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(402);} - dbg.location(1252,53); - pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration8891); + } finally {dbg.exitSubRule(404);} + dbg.location(1257,53); + pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration8951); cp_expression_list(); state._fsp--; - if (state.failed) return;dbg.location(1252,72); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* - try { dbg.enterSubRule(405); + if (state.failed) return;dbg.location(1257,72); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* + try { dbg.enterSubRule(407); - loop405: + loop407: while (true) { - int alt405=3; - try { dbg.enterDecision(405, decisionCanBacktrack[405]); + int alt407=3; + try { dbg.enterDecision(407, decisionCanBacktrack[407]); try { isCyclicDecision = true; - alt405 = dfa405.predict(input); + alt407 = dfa407.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(405);} + } finally {dbg.exitDecision(407);} - switch (alt405) { + switch (alt407) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:73: ( ( ws )? SASS_DEFAULT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:73: ( ( ws )? SASS_DEFAULT ) { - dbg.location(1252,73); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:73: ( ( ws )? SASS_DEFAULT ) + dbg.location(1257,73); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:73: ( ( ws )? SASS_DEFAULT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:74: ( ws )? SASS_DEFAULT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:74: ( ws )? SASS_DEFAULT { - dbg.location(1252,74); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:74: ( ws )? - int alt403=2; - try { dbg.enterSubRule(403); - try { dbg.enterDecision(403, decisionCanBacktrack[403]); + dbg.location(1257,74); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:74: ( ws )? + int alt405=2; + try { dbg.enterSubRule(405); + try { dbg.enterDecision(405, decisionCanBacktrack[405]); - int LA403_0 = input.LA(1); - if ( (LA403_0==COMMENT||LA403_0==NL||LA403_0==WS) ) { - alt403=1; + int LA405_0 = input.LA(1); + if ( (LA405_0==COMMENT||LA405_0==NL||LA405_0==WS) ) { + alt405=1; } - } finally {dbg.exitDecision(403);} + } finally {dbg.exitDecision(405);} - switch (alt403) { + switch (alt405) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:74: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:74: ws { - dbg.location(1252,74); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8895); + dbg.location(1257,74); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8955); ws(); state._fsp--; if (state.failed) return; @@ -29557,9 +29656,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(403);} - dbg.location(1252,78); - match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_cp_variable_declaration8898); if (state.failed) return; + } finally {dbg.exitSubRule(405);} + dbg.location(1257,78); + match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_cp_variable_declaration8958); if (state.failed) return; } } @@ -29567,34 +29666,34 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:94: ( ( ws )? SASS_GLOBAL ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:94: ( ( ws )? SASS_GLOBAL ) { - dbg.location(1252,94); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:94: ( ( ws )? SASS_GLOBAL ) + dbg.location(1257,94); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:94: ( ( ws )? SASS_GLOBAL ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:95: ( ws )? SASS_GLOBAL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:95: ( ws )? SASS_GLOBAL { - dbg.location(1252,95); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:95: ( ws )? - int alt404=2; - try { dbg.enterSubRule(404); - try { dbg.enterDecision(404, decisionCanBacktrack[404]); + dbg.location(1257,95); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:95: ( ws )? + int alt406=2; + try { dbg.enterSubRule(406); + try { dbg.enterDecision(406, decisionCanBacktrack[406]); - int LA404_0 = input.LA(1); - if ( (LA404_0==COMMENT||LA404_0==NL||LA404_0==WS) ) { - alt404=1; + int LA406_0 = input.LA(1); + if ( (LA406_0==COMMENT||LA406_0==NL||LA406_0==WS) ) { + alt406=1; } - } finally {dbg.exitDecision(404);} + } finally {dbg.exitDecision(406);} - switch (alt404) { + switch (alt406) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1252:95: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:95: ws { - dbg.location(1252,95); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8904); + dbg.location(1257,95); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8964); ws(); state._fsp--; if (state.failed) return; @@ -29602,19 +29701,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(404);} - dbg.location(1252,99); - match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_cp_variable_declaration8907); if (state.failed) return; + } finally {dbg.exitSubRule(406);} + dbg.location(1257,99); + match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_cp_variable_declaration8967); if (state.failed) return; } } break; default : - break loop405; + break loop407; } } - } finally {dbg.exitSubRule(405);} + } finally {dbg.exitSubRule(407);} } break; @@ -29628,7 +29727,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { finally { // do for sure before leaving } - dbg.location(1253, 4); + dbg.location(1258, 4); } finally { @@ -29643,47 +29742,47 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // $ANTLR start "cp_variable" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1256:1: cp_variable : ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) |{...}? ( SASS_VAR | IDENT DOT SASS_VAR ) ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1261:1: cp_variable : ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) |{...}? ( SASS_VAR | IDENT DOT SASS_VAR ) ); public final void cp_variable() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_variable"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1256, 0); + dbg.location(1261, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:5: ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) |{...}? ( SASS_VAR | IDENT DOT SASS_VAR ) ) - int alt408=2; - try { dbg.enterDecision(408, decisionCanBacktrack[408]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1262:5: ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) |{...}? ( SASS_VAR | IDENT DOT SASS_VAR ) ) + int alt410=2; + try { dbg.enterDecision(410, decisionCanBacktrack[410]); - int LA408_0 = input.LA(1); - if ( (LA408_0==AT_IDENT||(LA408_0 >= BOTTOMCENTER_SYM && LA408_0 <= BOTTOMRIGHT_SYM)||LA408_0==CHARSET_SYM||LA408_0==COUNTER_STYLE_SYM||LA408_0==FONT_FACE_SYM||LA408_0==IMPORT_SYM||(LA408_0 >= LEFTBOTTOM_SYM && LA408_0 <= LEFTTOP_SYM)||LA408_0==MEDIA_SYM||LA408_0==MOZ_DOCUMENT_SYM||LA408_0==NAMESPACE_SYM||LA408_0==PAGE_SYM||(LA408_0 >= RIGHTBOTTOM_SYM && LA408_0 <= RIGHTTOP_SYM)||(LA408_0 >= SASS_AT_ROOT && LA408_0 <= SASS_DEBUG)||(LA408_0 >= SASS_EACH && LA408_0 <= SASS_ELSE)||LA408_0==SASS_EXTEND||(LA408_0 >= SASS_FOR && LA408_0 <= SASS_FUNCTION)||(LA408_0 >= SASS_IF && LA408_0 <= SASS_MIXIN)||(LA408_0 >= SASS_RETURN && LA408_0 <= SASS_USE)||(LA408_0 >= SASS_WARN && LA408_0 <= SASS_WHILE)||(LA408_0 >= TOPCENTER_SYM && LA408_0 <= TOPRIGHT_SYM)||LA408_0==WEBKIT_KEYFRAMES_SYM) ) { - alt408=1; + int LA410_0 = input.LA(1); + if ( (LA410_0==AT_IDENT||(LA410_0 >= BOTTOMCENTER_SYM && LA410_0 <= BOTTOMRIGHT_SYM)||LA410_0==CHARSET_SYM||LA410_0==COUNTER_STYLE_SYM||LA410_0==FONT_FACE_SYM||LA410_0==IMPORT_SYM||(LA410_0 >= LEFTBOTTOM_SYM && LA410_0 <= LEFTTOP_SYM)||LA410_0==MEDIA_SYM||LA410_0==MOZ_DOCUMENT_SYM||LA410_0==NAMESPACE_SYM||LA410_0==PAGE_SYM||(LA410_0 >= RIGHTBOTTOM_SYM && LA410_0 <= RIGHTTOP_SYM)||(LA410_0 >= SASS_AT_ROOT && LA410_0 <= SASS_DEBUG)||(LA410_0 >= SASS_EACH && LA410_0 <= SASS_ELSE)||LA410_0==SASS_EXTEND||(LA410_0 >= SASS_FOR && LA410_0 <= SASS_FUNCTION)||(LA410_0 >= SASS_IF && LA410_0 <= SASS_MIXIN)||(LA410_0 >= SASS_RETURN && LA410_0 <= SASS_USE)||(LA410_0 >= SASS_WARN && LA410_0 <= SASS_WHILE)||(LA410_0 >= TOPCENTER_SYM && LA410_0 <= TOPRIGHT_SYM)||LA410_0==WEBKIT_KEYFRAMES_SYM) ) { + alt410=1; } - else if ( (LA408_0==IDENT||LA408_0==SASS_VAR) ) { - alt408=2; + else if ( (LA410_0==IDENT||LA410_0==SASS_VAR) ) { + alt410=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 408, 0, input); + new NoViableAltException("", 410, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(408);} + } finally {dbg.exitDecision(410);} - switch (alt408) { + switch (alt410) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1259:9: {...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1264:9: {...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) { - dbg.location(1259,9); + dbg.location(1264,9); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_variable", "isLessSource()"); - }dbg.location(1259,27); + }dbg.location(1264,27); if ( input.LA(1)==AT_IDENT||(input.LA(1) >= BOTTOMCENTER_SYM && input.LA(1) <= BOTTOMRIGHT_SYM)||input.LA(1)==CHARSET_SYM||input.LA(1)==COUNTER_STYLE_SYM||input.LA(1)==FONT_FACE_SYM||input.LA(1)==IMPORT_SYM||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LEFTTOP_SYM)||input.LA(1)==MEDIA_SYM||input.LA(1)==MOZ_DOCUMENT_SYM||input.LA(1)==NAMESPACE_SYM||input.LA(1)==PAGE_SYM||(input.LA(1) >= RIGHTBOTTOM_SYM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= SASS_AT_ROOT && input.LA(1) <= SASS_DEBUG)||(input.LA(1) >= SASS_EACH && input.LA(1) <= SASS_ELSE)||input.LA(1)==SASS_EXTEND||(input.LA(1) >= SASS_FOR && input.LA(1) <= SASS_FUNCTION)||(input.LA(1) >= SASS_IF && input.LA(1) <= SASS_MIXIN)||(input.LA(1) >= SASS_RETURN && input.LA(1) <= SASS_USE)||(input.LA(1) >= SASS_WARN && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= TOPCENTER_SYM && input.LA(1) <= TOPRIGHT_SYM)||input.LA(1)==WEBKIT_KEYFRAMES_SYM ) { input.consume(); state.errorRecovery=false; @@ -29700,60 +29799,60 @@ else if ( (LA408_0==IDENT||LA408_0==SASS_VAR) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1261:9: {...}? ( SASS_VAR | IDENT DOT SASS_VAR ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1266:9: {...}? ( SASS_VAR | IDENT DOT SASS_VAR ) { - dbg.location(1261,9); + dbg.location(1266,9); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_variable", "isScssSource()"); - }dbg.location(1261,27); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1261:27: ( SASS_VAR | IDENT DOT SASS_VAR ) - int alt407=2; - try { dbg.enterSubRule(407); - try { dbg.enterDecision(407, decisionCanBacktrack[407]); + }dbg.location(1266,27); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1266:27: ( SASS_VAR | IDENT DOT SASS_VAR ) + int alt409=2; + try { dbg.enterSubRule(409); + try { dbg.enterDecision(409, decisionCanBacktrack[409]); - int LA407_0 = input.LA(1); - if ( (LA407_0==SASS_VAR) ) { - alt407=1; + int LA409_0 = input.LA(1); + if ( (LA409_0==SASS_VAR) ) { + alt409=1; } - else if ( (LA407_0==IDENT) ) { - alt407=2; + else if ( (LA409_0==IDENT) ) { + alt409=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 407, 0, input); + new NoViableAltException("", 409, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(407);} + } finally {dbg.exitDecision(409);} - switch (alt407) { + switch (alt409) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1261:29: SASS_VAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1266:29: SASS_VAR { - dbg.location(1261,29); - match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable9139); if (state.failed) return; + dbg.location(1266,29); + match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable9199); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1261:40: IDENT DOT SASS_VAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1266:40: IDENT DOT SASS_VAR { - dbg.location(1261,40); - match(input,IDENT,FOLLOW_IDENT_in_cp_variable9143); if (state.failed) return;dbg.location(1261,46); - match(input,DOT,FOLLOW_DOT_in_cp_variable9145); if (state.failed) return;dbg.location(1261,50); - match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable9147); if (state.failed) return; + dbg.location(1266,40); + match(input,IDENT,FOLLOW_IDENT_in_cp_variable9203); if (state.failed) return;dbg.location(1266,46); + match(input,DOT,FOLLOW_DOT_in_cp_variable9205); if (state.failed) return;dbg.location(1266,50); + match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable9207); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(407);} + } finally {dbg.exitSubRule(409);} } break; @@ -29767,7 +29866,7 @@ else if ( (LA407_0==IDENT) ) { finally { // do for sure before leaving } - dbg.location(1262, 4); + dbg.location(1267, 4); } finally { @@ -29782,68 +29881,68 @@ else if ( (LA407_0==IDENT) ) { // $ANTLR start "cp_expression_list" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1265:1: cp_expression_list : ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1270:1: cp_expression_list : ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* ; public final void cp_expression_list() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_expression_list"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1265, 0); + dbg.location(1270, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1266:5: ( ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1271:5: ( ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1267:5: ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1272:5: ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* { - dbg.location(1267,24); - pushFollow(FOLLOW_cp_expression_in_cp_expression_list9177); + dbg.location(1272,24); + pushFollow(FOLLOW_cp_expression_in_cp_expression_list9237); cp_expression(); state._fsp--; - if (state.failed) return;dbg.location(1268,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* - try { dbg.enterSubRule(411); + if (state.failed) return;dbg.location(1273,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* + try { dbg.enterSubRule(413); - loop411: + loop413: while (true) { - int alt411=2; - try { dbg.enterDecision(411, decisionCanBacktrack[411]); + int alt413=2; + try { dbg.enterDecision(413, decisionCanBacktrack[413]); try { isCyclicDecision = true; - alt411 = dfa411.predict(input); + alt413 = dfa413.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(411);} + } finally {dbg.exitDecision(413);} - switch (alt411) { + switch (alt413) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:6: ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:6: ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression { - dbg.location(1268,37); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:37: ( ws )? - int alt409=2; - try { dbg.enterSubRule(409); - try { dbg.enterDecision(409, decisionCanBacktrack[409]); + dbg.location(1273,37); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:37: ( ws )? + int alt411=2; + try { dbg.enterSubRule(411); + try { dbg.enterDecision(411, decisionCanBacktrack[411]); - int LA409_0 = input.LA(1); - if ( (LA409_0==COMMENT||LA409_0==NL||LA409_0==WS) ) { - alt409=1; + int LA411_0 = input.LA(1); + if ( (LA411_0==COMMENT||LA411_0==NL||LA411_0==WS) ) { + alt411=1; } - } finally {dbg.exitDecision(409);} + } finally {dbg.exitDecision(411);} - switch (alt409) { + switch (alt411) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:37: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:37: ws { - dbg.location(1268,37); - pushFollow(FOLLOW_ws_in_cp_expression_list9196); + dbg.location(1273,37); + pushFollow(FOLLOW_ws_in_cp_expression_list9256); ws(); state._fsp--; if (state.failed) return; @@ -29851,28 +29950,28 @@ public final void cp_expression_list() throws RecognitionException { break; } - } finally {dbg.exitSubRule(409);} - dbg.location(1268,41); - match(input,COMMA,FOLLOW_COMMA_in_cp_expression_list9199); if (state.failed) return;dbg.location(1268,47); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:47: ( ws )? - int alt410=2; - try { dbg.enterSubRule(410); - try { dbg.enterDecision(410, decisionCanBacktrack[410]); + } finally {dbg.exitSubRule(411);} + dbg.location(1273,41); + match(input,COMMA,FOLLOW_COMMA_in_cp_expression_list9259); if (state.failed) return;dbg.location(1273,47); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:47: ( ws )? + int alt412=2; + try { dbg.enterSubRule(412); + try { dbg.enterDecision(412, decisionCanBacktrack[412]); - int LA410_0 = input.LA(1); - if ( (LA410_0==COMMENT||LA410_0==NL||LA410_0==WS) ) { - alt410=1; + int LA412_0 = input.LA(1); + if ( (LA412_0==COMMENT||LA412_0==NL||LA412_0==WS) ) { + alt412=1; } - } finally {dbg.exitDecision(410);} + } finally {dbg.exitDecision(412);} - switch (alt410) { + switch (alt412) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:47: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:47: ws { - dbg.location(1268,47); - pushFollow(FOLLOW_ws_in_cp_expression_list9201); + dbg.location(1273,47); + pushFollow(FOLLOW_ws_in_cp_expression_list9261); ws(); state._fsp--; if (state.failed) return; @@ -29880,9 +29979,9 @@ public final void cp_expression_list() throws RecognitionException { break; } - } finally {dbg.exitSubRule(410);} - dbg.location(1268,51); - pushFollow(FOLLOW_cp_expression_in_cp_expression_list9204); + } finally {dbg.exitSubRule(412);} + dbg.location(1273,51); + pushFollow(FOLLOW_cp_expression_in_cp_expression_list9264); cp_expression(); state._fsp--; if (state.failed) return; @@ -29890,10 +29989,10 @@ public final void cp_expression_list() throws RecognitionException { break; default : - break loop411; + break loop413; } } - } finally {dbg.exitSubRule(411);} + } finally {dbg.exitSubRule(413);} } @@ -29905,7 +30004,7 @@ public final void cp_expression_list() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1269, 4); + dbg.location(1274, 4); } finally { @@ -29920,119 +30019,119 @@ public final void cp_expression_list() throws RecognitionException { // $ANTLR start "cp_expression" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1281:1: cp_expression : ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:1: cp_expression : ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ); public final void cp_expression() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_expression"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1281, 0); + dbg.location(1286, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1282:5: ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ) - int alt420=3; - try { dbg.enterDecision(420, decisionCanBacktrack[420]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:5: ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ) + int alt422=3; + try { dbg.enterDecision(422, decisionCanBacktrack[422]); - int LA420_0 = input.LA(1); - if ( (LA420_0==LBRACE) ) { - alt420=1; + int LA422_0 = input.LA(1); + if ( (LA422_0==LBRACE) ) { + alt422=1; } - else if ( (LA420_0==NOT) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==NOT) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==MINUS||LA420_0==PLUS) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==MINUS||LA422_0==PLUS) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==IDENT) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==IDENT) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==VARIABLE) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==VARIABLE) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==LBRACKET) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==LBRACKET) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==NUMBER) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==NUMBER) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==URANGE) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==URANGE) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==PERCENTAGE) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==PERCENTAGE) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==LENGTH) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==LENGTH) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==EMS) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==EMS) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==REM) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==REM) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==EXS) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==EXS) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==ANGLE) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==ANGLE) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==TIME) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==TIME) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==FREQ) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==FREQ) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==RESOLUTION) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==RESOLUTION) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==DIMENSION) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==DIMENSION) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==STRING) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==STRING) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==TILDE) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==TILDE) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==LESS_JS_STRING) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==LESS_JS_STRING) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==GEN) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==GEN) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==URI) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==URI) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==HASH) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==HASH) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==AT_IDENT||(LA420_0 >= BOTTOMCENTER_SYM && LA420_0 <= BOTTOMRIGHT_SYM)||LA420_0==CHARSET_SYM||LA420_0==COUNTER_STYLE_SYM||LA420_0==FONT_FACE_SYM||LA420_0==IMPORT_SYM||(LA420_0 >= LEFTBOTTOM_SYM && LA420_0 <= LEFTTOP_SYM)||LA420_0==MEDIA_SYM||LA420_0==MOZ_DOCUMENT_SYM||LA420_0==NAMESPACE_SYM||LA420_0==PAGE_SYM||(LA420_0 >= RIGHTBOTTOM_SYM && LA420_0 <= RIGHTTOP_SYM)||(LA420_0 >= SASS_AT_ROOT && LA420_0 <= SASS_DEBUG)||(LA420_0 >= SASS_EACH && LA420_0 <= SASS_ELSE)||LA420_0==SASS_EXTEND||(LA420_0 >= SASS_FOR && LA420_0 <= SASS_FUNCTION)||(LA420_0 >= SASS_IF && LA420_0 <= SASS_MIXIN)||(LA420_0 >= SASS_RETURN && LA420_0 <= SASS_USE)||(LA420_0 >= SASS_WARN && LA420_0 <= SASS_WHILE)||(LA420_0 >= TOPCENTER_SYM && LA420_0 <= TOPRIGHT_SYM)||LA420_0==WEBKIT_KEYFRAMES_SYM) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==AT_IDENT||(LA422_0 >= BOTTOMCENTER_SYM && LA422_0 <= BOTTOMRIGHT_SYM)||LA422_0==CHARSET_SYM||LA422_0==COUNTER_STYLE_SYM||LA422_0==FONT_FACE_SYM||LA422_0==IMPORT_SYM||(LA422_0 >= LEFTBOTTOM_SYM && LA422_0 <= LEFTTOP_SYM)||LA422_0==MEDIA_SYM||LA422_0==MOZ_DOCUMENT_SYM||LA422_0==NAMESPACE_SYM||LA422_0==PAGE_SYM||(LA422_0 >= RIGHTBOTTOM_SYM && LA422_0 <= RIGHTTOP_SYM)||(LA422_0 >= SASS_AT_ROOT && LA422_0 <= SASS_DEBUG)||(LA422_0 >= SASS_EACH && LA422_0 <= SASS_ELSE)||LA422_0==SASS_EXTEND||(LA422_0 >= SASS_FOR && LA422_0 <= SASS_FUNCTION)||(LA422_0 >= SASS_IF && LA422_0 <= SASS_MIXIN)||(LA422_0 >= SASS_RETURN && LA422_0 <= SASS_USE)||(LA422_0 >= SASS_WARN && LA422_0 <= SASS_WHILE)||(LA422_0 >= TOPCENTER_SYM && LA422_0 <= TOPRIGHT_SYM)||LA422_0==WEBKIT_KEYFRAMES_SYM) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==SASS_VAR) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==SASS_VAR) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==LESS_AND) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==LESS_AND) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==HASH_SYMBOL) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==HASH_SYMBOL) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==AT_SIGN) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==AT_SIGN) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==PERCENTAGE_SYMBOL) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==PERCENTAGE_SYMBOL) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==IMPORTANT_SYM) && (synpred56_Css3())) { - alt420=2; + else if ( (LA422_0==IMPORTANT_SYM) && (synpred62_Css3())) { + alt422=2; } - else if ( (LA420_0==LPAREN) ) { - int LA420_32 = input.LA(2); - if ( (synpred56_Css3()) ) { - alt420=2; + else if ( (LA422_0==LPAREN) ) { + int LA422_32 = input.LA(2); + if ( (synpred62_Css3()) ) { + alt422=2; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt420=3; + alt422=3; } else { @@ -30041,7 +30140,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 420, 32, input); + new NoViableAltException("", 422, 32, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -30054,50 +30153,50 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 420, 0, input); + new NoViableAltException("", 422, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(420);} + } finally {dbg.exitDecision(422);} - switch (alt420) { + switch (alt422) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:5: {...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:5: {...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) { - dbg.location(1283,5); + dbg.location(1288,5); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_expression", "isLessSource()"); - }dbg.location(1283,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:23: ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) + }dbg.location(1288,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:23: ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:24: LBRACE ( ws )? syncToFollow ( declarations )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:24: LBRACE ( ws )? syncToFollow ( declarations )? RBRACE { - dbg.location(1283,24); - match(input,LBRACE,FOLLOW_LBRACE_in_cp_expression9240); if (state.failed) return;dbg.location(1283,31); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:31: ( ws )? - int alt412=2; - try { dbg.enterSubRule(412); - try { dbg.enterDecision(412, decisionCanBacktrack[412]); + dbg.location(1288,24); + match(input,LBRACE,FOLLOW_LBRACE_in_cp_expression9300); if (state.failed) return;dbg.location(1288,31); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:31: ( ws )? + int alt414=2; + try { dbg.enterSubRule(414); + try { dbg.enterDecision(414, decisionCanBacktrack[414]); - int LA412_0 = input.LA(1); - if ( (LA412_0==COMMENT||LA412_0==NL||LA412_0==WS) ) { - alt412=1; + int LA414_0 = input.LA(1); + if ( (LA414_0==COMMENT||LA414_0==NL||LA414_0==WS) ) { + alt414=1; } - } finally {dbg.exitDecision(412);} + } finally {dbg.exitDecision(414);} - switch (alt412) { + switch (alt414) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:31: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:31: ws { - dbg.location(1283,31); - pushFollow(FOLLOW_ws_in_cp_expression9242); + dbg.location(1288,31); + pushFollow(FOLLOW_ws_in_cp_expression9302); ws(); state._fsp--; if (state.failed) return; @@ -30105,31 +30204,31 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(412);} - dbg.location(1283,35); - pushFollow(FOLLOW_syncToFollow_in_cp_expression9245); + } finally {dbg.exitSubRule(414);} + dbg.location(1288,35); + pushFollow(FOLLOW_syncToFollow_in_cp_expression9305); syncToFollow(); state._fsp--; - if (state.failed) return;dbg.location(1283,48); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:48: ( declarations )? - int alt413=2; - try { dbg.enterSubRule(413); - try { dbg.enterDecision(413, decisionCanBacktrack[413]); + if (state.failed) return;dbg.location(1288,48); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:48: ( declarations )? + int alt415=2; + try { dbg.enterSubRule(415); + try { dbg.enterDecision(415, decisionCanBacktrack[415]); - int LA413_0 = input.LA(1); - if ( ((LA413_0 >= AT_IDENT && LA413_0 <= AT_SIGN)||(LA413_0 >= BOTTOMCENTER_SYM && LA413_0 <= BOTTOMRIGHT_SYM)||(LA413_0 >= CHARSET_SYM && LA413_0 <= COLON)||LA413_0==CONTAINER_SYM||LA413_0==COUNTER_STYLE_SYM||(LA413_0 >= DCOLON && LA413_0 <= DOT)||LA413_0==FONT_FACE_SYM||(LA413_0 >= GEN && LA413_0 <= GREATER)||(LA413_0 >= HASH && LA413_0 <= HASH_SYMBOL)||LA413_0==IDENT||LA413_0==IMPORT_SYM||LA413_0==LAYER_SYM||(LA413_0 >= LBRACKET && LA413_0 <= LEFTTOP_SYM)||LA413_0==LESS_AND||(LA413_0 >= MEDIA_SYM && LA413_0 <= MOZ_DOCUMENT_SYM)||LA413_0==NAMESPACE_SYM||LA413_0==PAGE_SYM||(LA413_0 >= PIPE && LA413_0 <= PLUS)||(LA413_0 >= RIGHTBOTTOM_SYM && LA413_0 <= RIGHTTOP_SYM)||(LA413_0 >= SASS_AT_ROOT && LA413_0 <= SASS_DEBUG)||(LA413_0 >= SASS_EACH && LA413_0 <= SASS_ELSE)||(LA413_0 >= SASS_ERROR && LA413_0 <= SASS_FUNCTION)||(LA413_0 >= SASS_IF && LA413_0 <= SASS_MIXIN)||(LA413_0 >= SASS_RETURN && LA413_0 <= SEMI)||LA413_0==STAR||LA413_0==SUPPORTS_SYM||LA413_0==TILDE||(LA413_0 >= TOPCENTER_SYM && LA413_0 <= TOPRIGHT_SYM)||LA413_0==VARIABLE||LA413_0==WEBKIT_KEYFRAMES_SYM) ) { - alt413=1; + int LA415_0 = input.LA(1); + if ( ((LA415_0 >= AT_IDENT && LA415_0 <= AT_SIGN)||(LA415_0 >= BOTTOMCENTER_SYM && LA415_0 <= BOTTOMRIGHT_SYM)||(LA415_0 >= CHARSET_SYM && LA415_0 <= COLON)||LA415_0==CONTAINER_SYM||LA415_0==COUNTER_STYLE_SYM||(LA415_0 >= DCOLON && LA415_0 <= DOT)||LA415_0==FONT_FACE_SYM||(LA415_0 >= GEN && LA415_0 <= GREATER)||(LA415_0 >= HASH && LA415_0 <= HASH_SYMBOL)||LA415_0==IDENT||LA415_0==IMPORT_SYM||LA415_0==LAYER_SYM||(LA415_0 >= LBRACKET && LA415_0 <= LEFTTOP_SYM)||LA415_0==LESS_AND||(LA415_0 >= MEDIA_SYM && LA415_0 <= MOZ_DOCUMENT_SYM)||LA415_0==NAMESPACE_SYM||LA415_0==PAGE_SYM||(LA415_0 >= PIPE && LA415_0 <= PLUS)||(LA415_0 >= RIGHTBOTTOM_SYM && LA415_0 <= RIGHTTOP_SYM)||(LA415_0 >= SASS_AT_ROOT && LA415_0 <= SASS_DEBUG)||(LA415_0 >= SASS_EACH && LA415_0 <= SASS_ELSE)||(LA415_0 >= SASS_ERROR && LA415_0 <= SASS_FUNCTION)||(LA415_0 >= SASS_IF && LA415_0 <= SASS_MIXIN)||(LA415_0 >= SASS_RETURN && LA415_0 <= SEMI)||LA415_0==STAR||LA415_0==SUPPORTS_SYM||LA415_0==TILDE||(LA415_0 >= TOPCENTER_SYM && LA415_0 <= TOPRIGHT_SYM)||LA415_0==VARIABLE||LA415_0==WEBKIT_KEYFRAMES_SYM) ) { + alt415=1; } - } finally {dbg.exitDecision(413);} + } finally {dbg.exitDecision(415);} - switch (alt413) { + switch (alt415) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1283:48: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:48: declarations { - dbg.location(1283,48); - pushFollow(FOLLOW_declarations_in_cp_expression9247); + dbg.location(1288,48); + pushFollow(FOLLOW_declarations_in_cp_expression9307); declarations(); state._fsp--; if (state.failed) return; @@ -30137,9 +30236,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(413);} - dbg.location(1283,62); - match(input,RBRACE,FOLLOW_RBRACE_in_cp_expression9250); if (state.failed) return; + } finally {dbg.exitSubRule(415);} + dbg.location(1288,62); + match(input,RBRACE,FOLLOW_RBRACE_in_cp_expression9310); if (state.failed) return; } } @@ -30147,69 +30246,69 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:7: ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:7: ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) { - dbg.location(1284,31); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:31: ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) + dbg.location(1289,31); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:31: ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:32: cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:32: cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* { - dbg.location(1284,32); - pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9266); + dbg.location(1289,32); + pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9326); cp_expression_atom(); state._fsp--; - if (state.failed) return;dbg.location(1285,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1285:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* - try { dbg.enterSubRule(417); + if (state.failed) return;dbg.location(1290,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1290:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* + try { dbg.enterSubRule(419); - loop417: + loop419: while (true) { - int alt417=3; - try { dbg.enterDecision(417, decisionCanBacktrack[417]); + int alt419=3; + try { dbg.enterDecision(419, decisionCanBacktrack[419]); try { isCyclicDecision = true; - alt417 = dfa417.predict(input); + alt419 = dfa419.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(417);} + } finally {dbg.exitDecision(419);} - switch (alt417) { + switch (alt419) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:9: ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:9: ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom { - dbg.location(1286,39); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:39: ( ( ws )? cp_expression_operator ( ws )? ) + dbg.location(1291,39); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:39: ( ( ws )? cp_expression_operator ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:40: ( ws )? cp_expression_operator ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:40: ( ws )? cp_expression_operator ( ws )? { - dbg.location(1286,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:40: ( ws )? - int alt414=2; - try { dbg.enterSubRule(414); - try { dbg.enterDecision(414, decisionCanBacktrack[414]); + dbg.location(1291,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:40: ( ws )? + int alt416=2; + try { dbg.enterSubRule(416); + try { dbg.enterDecision(416, decisionCanBacktrack[416]); - int LA414_0 = input.LA(1); - if ( (LA414_0==COMMENT||LA414_0==NL||LA414_0==WS) ) { - alt414=1; + int LA416_0 = input.LA(1); + if ( (LA416_0==COMMENT||LA416_0==NL||LA416_0==WS) ) { + alt416=1; } - } finally {dbg.exitDecision(414);} + } finally {dbg.exitDecision(416);} - switch (alt414) { + switch (alt416) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:40: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:40: ws { - dbg.location(1286,40); - pushFollow(FOLLOW_ws_in_cp_expression9290); + dbg.location(1291,40); + pushFollow(FOLLOW_ws_in_cp_expression9350); ws(); state._fsp--; if (state.failed) return; @@ -30217,31 +30316,31 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(414);} - dbg.location(1286,44); - pushFollow(FOLLOW_cp_expression_operator_in_cp_expression9293); + } finally {dbg.exitSubRule(416);} + dbg.location(1291,44); + pushFollow(FOLLOW_cp_expression_operator_in_cp_expression9353); cp_expression_operator(); state._fsp--; - if (state.failed) return;dbg.location(1286,67); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:67: ( ws )? - int alt415=2; - try { dbg.enterSubRule(415); - try { dbg.enterDecision(415, decisionCanBacktrack[415]); + if (state.failed) return;dbg.location(1291,67); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:67: ( ws )? + int alt417=2; + try { dbg.enterSubRule(417); + try { dbg.enterDecision(417, decisionCanBacktrack[417]); - int LA415_0 = input.LA(1); - if ( (LA415_0==COMMENT||LA415_0==NL||LA415_0==WS) ) { - alt415=1; + int LA417_0 = input.LA(1); + if ( (LA417_0==COMMENT||LA417_0==NL||LA417_0==WS) ) { + alt417=1; } - } finally {dbg.exitDecision(415);} + } finally {dbg.exitDecision(417);} - switch (alt415) { + switch (alt417) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:67: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:67: ws { - dbg.location(1286,67); - pushFollow(FOLLOW_ws_in_cp_expression9295); + dbg.location(1291,67); + pushFollow(FOLLOW_ws_in_cp_expression9355); ws(); state._fsp--; if (state.failed) return; @@ -30249,11 +30348,11 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(415);} + } finally {dbg.exitSubRule(417);} } - dbg.location(1286,72); - pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9299); + dbg.location(1291,72); + pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9359); cp_expression_atom(); state._fsp--; if (state.failed) return; @@ -30262,28 +30361,28 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:11: ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:11: ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom { - dbg.location(1287,37); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:37: ( ws )? - int alt416=2; - try { dbg.enterSubRule(416); - try { dbg.enterDecision(416, decisionCanBacktrack[416]); + dbg.location(1292,37); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:37: ( ws )? + int alt418=2; + try { dbg.enterSubRule(418); + try { dbg.enterDecision(418, decisionCanBacktrack[418]); - int LA416_0 = input.LA(1); - if ( (LA416_0==COMMENT||LA416_0==NL||LA416_0==WS) ) { - alt416=1; + int LA418_0 = input.LA(1); + if ( (LA418_0==COMMENT||LA418_0==NL||LA418_0==WS) ) { + alt418=1; } - } finally {dbg.exitDecision(416);} + } finally {dbg.exitDecision(418);} - switch (alt416) { + switch (alt418) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:37: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:37: ws { - dbg.location(1287,37); - pushFollow(FOLLOW_ws_in_cp_expression9318); + dbg.location(1292,37); + pushFollow(FOLLOW_ws_in_cp_expression9378); ws(); state._fsp--; if (state.failed) return; @@ -30291,9 +30390,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(416);} - dbg.location(1287,41); - pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9321); + } finally {dbg.exitSubRule(418);} + dbg.location(1292,41); + pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9381); cp_expression_atom(); state._fsp--; if (state.failed) return; @@ -30301,10 +30400,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; default : - break loop417; + break loop419; } } - } finally {dbg.exitSubRule(417);} + } finally {dbg.exitSubRule(419);} } @@ -30313,33 +30412,33 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:7: {...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:7: {...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN { - dbg.location(1289,7); + dbg.location(1294,7); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_expression", "isScssSource()"); - }dbg.location(1289,25); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression9339); if (state.failed) return;dbg.location(1289,32); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:32: ( ws )? - int alt418=2; - try { dbg.enterSubRule(418); - try { dbg.enterDecision(418, decisionCanBacktrack[418]); + }dbg.location(1294,25); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression9399); if (state.failed) return;dbg.location(1294,32); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:32: ( ws )? + int alt420=2; + try { dbg.enterSubRule(420); + try { dbg.enterDecision(420, decisionCanBacktrack[420]); - int LA418_0 = input.LA(1); - if ( (LA418_0==COMMENT||LA418_0==NL||LA418_0==WS) ) { - alt418=1; + int LA420_0 = input.LA(1); + if ( (LA420_0==COMMENT||LA420_0==NL||LA420_0==WS) ) { + alt420=1; } - } finally {dbg.exitDecision(418);} + } finally {dbg.exitDecision(420);} - switch (alt418) { + switch (alt420) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:32: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:32: ws { - dbg.location(1289,32); - pushFollow(FOLLOW_ws_in_cp_expression9341); + dbg.location(1294,32); + pushFollow(FOLLOW_ws_in_cp_expression9401); ws(); state._fsp--; if (state.failed) return; @@ -30347,31 +30446,31 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(418);} - dbg.location(1289,36); - pushFollow(FOLLOW_syncToFollow_in_cp_expression9344); + } finally {dbg.exitSubRule(420);} + dbg.location(1294,36); + pushFollow(FOLLOW_syncToFollow_in_cp_expression9404); syncToFollow(); state._fsp--; - if (state.failed) return;dbg.location(1289,49); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:49: ( sass_map_pairs )? - int alt419=2; - try { dbg.enterSubRule(419); - try { dbg.enterDecision(419, decisionCanBacktrack[419]); + if (state.failed) return;dbg.location(1294,49); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:49: ( sass_map_pairs )? + int alt421=2; + try { dbg.enterSubRule(421); + try { dbg.enterDecision(421, decisionCanBacktrack[421]); - int LA419_0 = input.LA(1); - if ( ((LA419_0 >= AT_IDENT && LA419_0 <= AT_SIGN)||(LA419_0 >= BOTTOMCENTER_SYM && LA419_0 <= BOTTOMRIGHT_SYM)||LA419_0==CHARSET_SYM||LA419_0==COMMA||LA419_0==COUNTER_STYLE_SYM||LA419_0==FONT_FACE_SYM||LA419_0==GEN||LA419_0==HASH_SYMBOL||LA419_0==IDENT||LA419_0==IMPORT_SYM||(LA419_0 >= LEFTBOTTOM_SYM && LA419_0 <= LEFTTOP_SYM)||(LA419_0 >= MEDIA_SYM && LA419_0 <= MOZ_DOCUMENT_SYM)||LA419_0==NAMESPACE_SYM||LA419_0==NUMBER||LA419_0==PAGE_SYM||(LA419_0 >= RIGHTBOTTOM_SYM && LA419_0 <= RIGHTTOP_SYM)||(LA419_0 >= SASS_AT_ROOT && LA419_0 <= SASS_DEBUG)||(LA419_0 >= SASS_EACH && LA419_0 <= SASS_ELSE)||LA419_0==SASS_EXTEND||(LA419_0 >= SASS_FOR && LA419_0 <= SASS_FUNCTION)||(LA419_0 >= SASS_IF && LA419_0 <= SASS_MIXIN)||(LA419_0 >= SASS_RETURN && LA419_0 <= SASS_WHILE)||LA419_0==STRING||(LA419_0 >= TOPCENTER_SYM && LA419_0 <= TOPRIGHT_SYM)||LA419_0==VARIABLE||LA419_0==WEBKIT_KEYFRAMES_SYM) ) { - alt419=1; + int LA421_0 = input.LA(1); + if ( ((LA421_0 >= AT_IDENT && LA421_0 <= AT_SIGN)||(LA421_0 >= BOTTOMCENTER_SYM && LA421_0 <= BOTTOMRIGHT_SYM)||LA421_0==CHARSET_SYM||LA421_0==COMMA||LA421_0==COUNTER_STYLE_SYM||LA421_0==FONT_FACE_SYM||LA421_0==GEN||LA421_0==HASH_SYMBOL||LA421_0==IDENT||LA421_0==IMPORT_SYM||(LA421_0 >= LEFTBOTTOM_SYM && LA421_0 <= LEFTTOP_SYM)||(LA421_0 >= MEDIA_SYM && LA421_0 <= MOZ_DOCUMENT_SYM)||LA421_0==NAMESPACE_SYM||LA421_0==NUMBER||LA421_0==PAGE_SYM||(LA421_0 >= RIGHTBOTTOM_SYM && LA421_0 <= RIGHTTOP_SYM)||(LA421_0 >= SASS_AT_ROOT && LA421_0 <= SASS_DEBUG)||(LA421_0 >= SASS_EACH && LA421_0 <= SASS_ELSE)||LA421_0==SASS_EXTEND||(LA421_0 >= SASS_FOR && LA421_0 <= SASS_FUNCTION)||(LA421_0 >= SASS_IF && LA421_0 <= SASS_MIXIN)||(LA421_0 >= SASS_RETURN && LA421_0 <= SASS_WHILE)||LA421_0==STRING||(LA421_0 >= TOPCENTER_SYM && LA421_0 <= TOPRIGHT_SYM)||LA421_0==VARIABLE||LA421_0==WEBKIT_KEYFRAMES_SYM) ) { + alt421=1; } - } finally {dbg.exitDecision(419);} + } finally {dbg.exitDecision(421);} - switch (alt419) { + switch (alt421) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:49: sass_map_pairs + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:49: sass_map_pairs { - dbg.location(1289,49); - pushFollow(FOLLOW_sass_map_pairs_in_cp_expression9346); + dbg.location(1294,49); + pushFollow(FOLLOW_sass_map_pairs_in_cp_expression9406); sass_map_pairs(); state._fsp--; if (state.failed) return; @@ -30379,9 +30478,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(419);} - dbg.location(1289,65); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression9349); if (state.failed) return; + } finally {dbg.exitSubRule(421);} + dbg.location(1294,65); + match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression9409); if (state.failed) return; } break; @@ -30394,7 +30493,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { finally { // do for sure before leaving } - dbg.location(1290, 4); + dbg.location(1295, 4); } finally { @@ -30409,27 +30508,27 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // $ANTLR start "cp_expression_operator" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:1: cp_expression_operator : ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1297:1: cp_expression_operator : ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ ); public final void cp_expression_operator() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_expression_operator"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1292, 0); + dbg.location(1297, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1293:5: ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ ) - int alt421=8; - try { dbg.enterDecision(421, decisionCanBacktrack[421]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1298:5: ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ ) + int alt423=8; + try { dbg.enterDecision(423, decisionCanBacktrack[423]); switch ( input.LA(1) ) { case IDENT: { - int LA421_1 = input.LA(2); + int LA423_1 = input.LA(2); if ( (evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")) ) { - alt421=1; + alt423=1; } else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { - alt421=2; + alt423=2; } else { @@ -30438,7 +30537,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 421, 1, input); + new NoViableAltException("", 423, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -30450,51 +30549,51 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { break; case CP_EQ: { - alt421=3; + alt423=3; } break; case CP_NOT_EQ: { - alt421=4; + alt423=4; } break; case LESS: { - alt421=5; + alt423=5; } break; case LESS_OR_EQ: { - alt421=6; + alt423=6; } break; case GREATER: { - alt421=7; + alt423=7; } break; case GREATER_OR_EQ: { - alt421=8; + alt423=8; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 421, 0, input); + new NoViableAltException("", 423, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(421);} + } finally {dbg.exitDecision(423);} - switch (alt421) { + switch (alt423) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:5: key_or + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:5: key_or { - dbg.location(1294,5); - pushFollow(FOLLOW_key_or_in_cp_expression_operator9370); + dbg.location(1299,5); + pushFollow(FOLLOW_key_or_in_cp_expression_operator9430); key_or(); state._fsp--; if (state.failed) return; @@ -30503,10 +30602,10 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:14: key_and + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:14: key_and { - dbg.location(1294,14); - pushFollow(FOLLOW_key_and_in_cp_expression_operator9374); + dbg.location(1299,14); + pushFollow(FOLLOW_key_and_in_cp_expression_operator9434); key_and(); state._fsp--; if (state.failed) return; @@ -30515,55 +30614,55 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:25: CP_EQ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:25: CP_EQ { - dbg.location(1294,25); - match(input,CP_EQ,FOLLOW_CP_EQ_in_cp_expression_operator9379); if (state.failed) return; + dbg.location(1299,25); + match(input,CP_EQ,FOLLOW_CP_EQ_in_cp_expression_operator9439); if (state.failed) return; } break; case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:33: CP_NOT_EQ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:33: CP_NOT_EQ { - dbg.location(1294,33); - match(input,CP_NOT_EQ,FOLLOW_CP_NOT_EQ_in_cp_expression_operator9383); if (state.failed) return; + dbg.location(1299,33); + match(input,CP_NOT_EQ,FOLLOW_CP_NOT_EQ_in_cp_expression_operator9443); if (state.failed) return; } break; case 5 : dbg.enterAlt(5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:45: LESS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:45: LESS { - dbg.location(1294,45); - match(input,LESS,FOLLOW_LESS_in_cp_expression_operator9387); if (state.failed) return; + dbg.location(1299,45); + match(input,LESS,FOLLOW_LESS_in_cp_expression_operator9447); if (state.failed) return; } break; case 6 : dbg.enterAlt(6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:52: LESS_OR_EQ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:52: LESS_OR_EQ { - dbg.location(1294,52); - match(input,LESS_OR_EQ,FOLLOW_LESS_OR_EQ_in_cp_expression_operator9391); if (state.failed) return; + dbg.location(1299,52); + match(input,LESS_OR_EQ,FOLLOW_LESS_OR_EQ_in_cp_expression_operator9451); if (state.failed) return; } break; case 7 : dbg.enterAlt(7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:65: GREATER + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:65: GREATER { - dbg.location(1294,65); - match(input,GREATER,FOLLOW_GREATER_in_cp_expression_operator9395); if (state.failed) return; + dbg.location(1299,65); + match(input,GREATER,FOLLOW_GREATER_in_cp_expression_operator9455); if (state.failed) return; } break; case 8 : dbg.enterAlt(8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:75: GREATER_OR_EQ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:75: GREATER_OR_EQ { - dbg.location(1294,75); - match(input,GREATER_OR_EQ,FOLLOW_GREATER_OR_EQ_in_cp_expression_operator9399); if (state.failed) return; + dbg.location(1299,75); + match(input,GREATER_OR_EQ,FOLLOW_GREATER_OR_EQ_in_cp_expression_operator9459); if (state.failed) return; } break; @@ -30576,7 +30675,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { finally { // do for sure before leaving } - dbg.location(1295, 4); + dbg.location(1300, 4); } finally { @@ -30591,58 +30690,58 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { // $ANTLR start "cp_expression_atom" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1297:1: cp_expression_atom : ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1302:1: cp_expression_atom : ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) ; public final void cp_expression_atom() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_expression_atom"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1297, 0); + dbg.location(1302, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1298:5: ( ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1303:5: ( ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:9: ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:9: ( NOT ( ws )? )? ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) { - dbg.location(1299,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:9: ( NOT ( ws )? )? - int alt423=2; - try { dbg.enterSubRule(423); - try { dbg.enterDecision(423, decisionCanBacktrack[423]); + dbg.location(1304,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:9: ( NOT ( ws )? )? + int alt425=2; + try { dbg.enterSubRule(425); + try { dbg.enterDecision(425, decisionCanBacktrack[425]); - int LA423_0 = input.LA(1); - if ( (LA423_0==NOT) ) { - alt423=1; + int LA425_0 = input.LA(1); + if ( (LA425_0==NOT) ) { + alt425=1; } - } finally {dbg.exitDecision(423);} + } finally {dbg.exitDecision(425);} - switch (alt423) { + switch (alt425) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:10: NOT ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:10: NOT ( ws )? { - dbg.location(1299,10); - match(input,NOT,FOLLOW_NOT_in_cp_expression_atom9425); if (state.failed) return;dbg.location(1299,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:14: ( ws )? - int alt422=2; - try { dbg.enterSubRule(422); - try { dbg.enterDecision(422, decisionCanBacktrack[422]); + dbg.location(1304,10); + match(input,NOT,FOLLOW_NOT_in_cp_expression_atom9485); if (state.failed) return;dbg.location(1304,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:14: ( ws )? + int alt424=2; + try { dbg.enterSubRule(424); + try { dbg.enterDecision(424, decisionCanBacktrack[424]); - int LA422_0 = input.LA(1); - if ( (LA422_0==COMMENT||LA422_0==NL||LA422_0==WS) ) { - alt422=1; + int LA424_0 = input.LA(1); + if ( (LA424_0==COMMENT||LA424_0==NL||LA424_0==WS) ) { + alt424=1; } - } finally {dbg.exitDecision(422);} + } finally {dbg.exitDecision(424);} - switch (alt422) { + switch (alt424) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:14: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:14: ws { - dbg.location(1299,14); - pushFollow(FOLLOW_ws_in_cp_expression_atom9427); + dbg.location(1304,14); + pushFollow(FOLLOW_ws_in_cp_expression_atom9487); ws(); state._fsp--; if (state.failed) return; @@ -30650,114 +30749,114 @@ public final void cp_expression_atom() throws RecognitionException { break; } - } finally {dbg.exitSubRule(422);} + } finally {dbg.exitSubRule(424);} } break; } - } finally {dbg.exitSubRule(423);} - dbg.location(1300,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1300:9: ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) - int alt427=2; - try { dbg.enterSubRule(427); - try { dbg.enterDecision(427, decisionCanBacktrack[427]); + } finally {dbg.exitSubRule(425);} + dbg.location(1305,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:9: ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) + int alt429=2; + try { dbg.enterSubRule(429); + try { dbg.enterDecision(429, decisionCanBacktrack[429]); - int LA427_0 = input.LA(1); - if ( (LA427_0==MINUS||LA427_0==PLUS) && (synpred59_Css3())) { - alt427=1; + int LA429_0 = input.LA(1); + if ( (LA429_0==MINUS||LA429_0==PLUS) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==IDENT) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==IDENT) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==VARIABLE) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==VARIABLE) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==LBRACKET) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==LBRACKET) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==NUMBER) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==NUMBER) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==URANGE) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==URANGE) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==PERCENTAGE) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==PERCENTAGE) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==LENGTH) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==LENGTH) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==EMS) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==EMS) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==REM) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==REM) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==EXS) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==EXS) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==ANGLE) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==ANGLE) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==TIME) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==TIME) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==FREQ) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==FREQ) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==RESOLUTION) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==RESOLUTION) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==DIMENSION) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==DIMENSION) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==STRING) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==STRING) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==TILDE) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==TILDE) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==LESS_JS_STRING) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==LESS_JS_STRING) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==GEN) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==GEN) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==URI) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==URI) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==HASH) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==HASH) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==AT_IDENT||(LA427_0 >= BOTTOMCENTER_SYM && LA427_0 <= BOTTOMRIGHT_SYM)||LA427_0==CHARSET_SYM||LA427_0==COUNTER_STYLE_SYM||LA427_0==FONT_FACE_SYM||LA427_0==IMPORT_SYM||(LA427_0 >= LEFTBOTTOM_SYM && LA427_0 <= LEFTTOP_SYM)||LA427_0==MEDIA_SYM||LA427_0==MOZ_DOCUMENT_SYM||LA427_0==NAMESPACE_SYM||LA427_0==PAGE_SYM||(LA427_0 >= RIGHTBOTTOM_SYM && LA427_0 <= RIGHTTOP_SYM)||(LA427_0 >= SASS_AT_ROOT && LA427_0 <= SASS_DEBUG)||(LA427_0 >= SASS_EACH && LA427_0 <= SASS_ELSE)||LA427_0==SASS_EXTEND||(LA427_0 >= SASS_FOR && LA427_0 <= SASS_FUNCTION)||(LA427_0 >= SASS_IF && LA427_0 <= SASS_MIXIN)||(LA427_0 >= SASS_RETURN && LA427_0 <= SASS_USE)||(LA427_0 >= SASS_WARN && LA427_0 <= SASS_WHILE)||(LA427_0 >= TOPCENTER_SYM && LA427_0 <= TOPRIGHT_SYM)||LA427_0==WEBKIT_KEYFRAMES_SYM) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==AT_IDENT||(LA429_0 >= BOTTOMCENTER_SYM && LA429_0 <= BOTTOMRIGHT_SYM)||LA429_0==CHARSET_SYM||LA429_0==COUNTER_STYLE_SYM||LA429_0==FONT_FACE_SYM||LA429_0==IMPORT_SYM||(LA429_0 >= LEFTBOTTOM_SYM && LA429_0 <= LEFTTOP_SYM)||LA429_0==MEDIA_SYM||LA429_0==MOZ_DOCUMENT_SYM||LA429_0==NAMESPACE_SYM||LA429_0==PAGE_SYM||(LA429_0 >= RIGHTBOTTOM_SYM && LA429_0 <= RIGHTTOP_SYM)||(LA429_0 >= SASS_AT_ROOT && LA429_0 <= SASS_DEBUG)||(LA429_0 >= SASS_EACH && LA429_0 <= SASS_ELSE)||LA429_0==SASS_EXTEND||(LA429_0 >= SASS_FOR && LA429_0 <= SASS_FUNCTION)||(LA429_0 >= SASS_IF && LA429_0 <= SASS_MIXIN)||(LA429_0 >= SASS_RETURN && LA429_0 <= SASS_USE)||(LA429_0 >= SASS_WARN && LA429_0 <= SASS_WHILE)||(LA429_0 >= TOPCENTER_SYM && LA429_0 <= TOPRIGHT_SYM)||LA429_0==WEBKIT_KEYFRAMES_SYM) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==SASS_VAR) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==SASS_VAR) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==LESS_AND) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==LESS_AND) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==HASH_SYMBOL) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==HASH_SYMBOL) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==AT_SIGN) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==AT_SIGN) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==PERCENTAGE_SYMBOL) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==PERCENTAGE_SYMBOL) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==IMPORTANT_SYM) && (synpred59_Css3())) { - alt427=1; + else if ( (LA429_0==IMPORTANT_SYM) && (synpred65_Css3())) { + alt429=1; } - else if ( (LA427_0==LPAREN) ) { - int LA427_30 = input.LA(2); - if ( (synpred59_Css3()) ) { - alt427=1; + else if ( (LA429_0==LPAREN) ) { + int LA429_30 = input.LA(2); + if ( (synpred65_Css3()) ) { + alt429=1; } else if ( (true) ) { - alt427=2; + alt429=2; } } @@ -30765,21 +30864,21 @@ else if ( (true) ) { else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 427, 0, input); + new NoViableAltException("", 429, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(427);} + } finally {dbg.exitDecision(429);} - switch (alt427) { + switch (alt429) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:13: ( cp_math_expression )=> cp_math_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:13: ( cp_math_expression )=> cp_math_expression { - dbg.location(1301,35); - pushFollow(FOLLOW_cp_math_expression_in_cp_expression_atom9458); + dbg.location(1306,35); + pushFollow(FOLLOW_cp_math_expression_in_cp_expression_atom9518); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -30788,29 +30887,29 @@ else if ( (true) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1302:15: LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:15: LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN { - dbg.location(1302,15); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression_atom9474); if (state.failed) return;dbg.location(1302,22); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1302:22: ( ws )? - int alt424=2; - try { dbg.enterSubRule(424); - try { dbg.enterDecision(424, decisionCanBacktrack[424]); + dbg.location(1307,15); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression_atom9534); if (state.failed) return;dbg.location(1307,22); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:22: ( ws )? + int alt426=2; + try { dbg.enterSubRule(426); + try { dbg.enterDecision(426, decisionCanBacktrack[426]); - int LA424_0 = input.LA(1); - if ( (LA424_0==COMMENT||LA424_0==NL||LA424_0==WS) ) { - alt424=1; + int LA426_0 = input.LA(1); + if ( (LA426_0==COMMENT||LA426_0==NL||LA426_0==WS) ) { + alt426=1; } - } finally {dbg.exitDecision(424);} + } finally {dbg.exitDecision(426);} - switch (alt424) { + switch (alt426) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1302:22: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:22: ws { - dbg.location(1302,22); - pushFollow(FOLLOW_ws_in_cp_expression_atom9476); + dbg.location(1307,22); + pushFollow(FOLLOW_ws_in_cp_expression_atom9536); ws(); state._fsp--; if (state.failed) return; @@ -30818,49 +30917,49 @@ else if ( (true) ) { break; } - } finally {dbg.exitSubRule(424);} - dbg.location(1302,26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1302:26: ( cp_expression_list ( ws )? )? - int alt426=2; - try { dbg.enterSubRule(426); - try { dbg.enterDecision(426, decisionCanBacktrack[426]); + } finally {dbg.exitSubRule(426);} + dbg.location(1307,26); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:26: ( cp_expression_list ( ws )? )? + int alt428=2; + try { dbg.enterSubRule(428); + try { dbg.enterDecision(428, decisionCanBacktrack[428]); - int LA426_0 = input.LA(1); - if ( ((LA426_0 >= ANGLE && LA426_0 <= AT_SIGN)||(LA426_0 >= BOTTOMCENTER_SYM && LA426_0 <= BOTTOMRIGHT_SYM)||LA426_0==CHARSET_SYM||LA426_0==COUNTER_STYLE_SYM||LA426_0==DIMENSION||LA426_0==EMS||LA426_0==EXS||(LA426_0 >= FONT_FACE_SYM && LA426_0 <= FREQ)||LA426_0==GEN||(LA426_0 >= HASH && LA426_0 <= HASH_SYMBOL)||(LA426_0 >= IDENT && LA426_0 <= IMPORT_SYM)||(LA426_0 >= LBRACE && LA426_0 <= LENGTH)||(LA426_0 >= LESS_AND && LA426_0 <= LESS_JS_STRING)||LA426_0==LPAREN||(LA426_0 >= MEDIA_SYM && LA426_0 <= MOZ_DOCUMENT_SYM)||LA426_0==NAMESPACE_SYM||(LA426_0 >= NOT && LA426_0 <= NUMBER)||(LA426_0 >= PAGE_SYM && LA426_0 <= PERCENTAGE_SYMBOL)||LA426_0==PLUS||(LA426_0 >= REM && LA426_0 <= RIGHTTOP_SYM)||(LA426_0 >= SASS_AT_ROOT && LA426_0 <= SASS_DEBUG)||(LA426_0 >= SASS_EACH && LA426_0 <= SASS_ELSE)||LA426_0==SASS_EXTEND||(LA426_0 >= SASS_FOR && LA426_0 <= SASS_FUNCTION)||(LA426_0 >= SASS_IF && LA426_0 <= SASS_MIXIN)||(LA426_0 >= SASS_RETURN && LA426_0 <= SASS_WHILE)||LA426_0==STRING||(LA426_0 >= TILDE && LA426_0 <= TOPRIGHT_SYM)||(LA426_0 >= URANGE && LA426_0 <= URI)||LA426_0==VARIABLE||LA426_0==WEBKIT_KEYFRAMES_SYM) ) { - alt426=1; + int LA428_0 = input.LA(1); + if ( ((LA428_0 >= ANGLE && LA428_0 <= AT_SIGN)||(LA428_0 >= BOTTOMCENTER_SYM && LA428_0 <= BOTTOMRIGHT_SYM)||LA428_0==CHARSET_SYM||LA428_0==COUNTER_STYLE_SYM||LA428_0==DIMENSION||LA428_0==EMS||LA428_0==EXS||(LA428_0 >= FONT_FACE_SYM && LA428_0 <= FREQ)||LA428_0==GEN||(LA428_0 >= HASH && LA428_0 <= HASH_SYMBOL)||(LA428_0 >= IDENT && LA428_0 <= IMPORT_SYM)||(LA428_0 >= LBRACE && LA428_0 <= LENGTH)||(LA428_0 >= LESS_AND && LA428_0 <= LESS_JS_STRING)||LA428_0==LPAREN||(LA428_0 >= MEDIA_SYM && LA428_0 <= MOZ_DOCUMENT_SYM)||LA428_0==NAMESPACE_SYM||(LA428_0 >= NOT && LA428_0 <= NUMBER)||(LA428_0 >= PAGE_SYM && LA428_0 <= PERCENTAGE_SYMBOL)||LA428_0==PLUS||(LA428_0 >= REM && LA428_0 <= RIGHTTOP_SYM)||(LA428_0 >= SASS_AT_ROOT && LA428_0 <= SASS_DEBUG)||(LA428_0 >= SASS_EACH && LA428_0 <= SASS_ELSE)||LA428_0==SASS_EXTEND||(LA428_0 >= SASS_FOR && LA428_0 <= SASS_FUNCTION)||(LA428_0 >= SASS_IF && LA428_0 <= SASS_MIXIN)||(LA428_0 >= SASS_RETURN && LA428_0 <= SASS_WHILE)||LA428_0==STRING||(LA428_0 >= TILDE && LA428_0 <= TOPRIGHT_SYM)||(LA428_0 >= URANGE && LA428_0 <= URI)||LA428_0==VARIABLE||LA428_0==WEBKIT_KEYFRAMES_SYM) ) { + alt428=1; } - } finally {dbg.exitDecision(426);} + } finally {dbg.exitDecision(428);} - switch (alt426) { + switch (alt428) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1302:27: cp_expression_list ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:27: cp_expression_list ( ws )? { - dbg.location(1302,27); - pushFollow(FOLLOW_cp_expression_list_in_cp_expression_atom9480); + dbg.location(1307,27); + pushFollow(FOLLOW_cp_expression_list_in_cp_expression_atom9540); cp_expression_list(); state._fsp--; - if (state.failed) return;dbg.location(1302,46); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1302:46: ( ws )? - int alt425=2; - try { dbg.enterSubRule(425); - try { dbg.enterDecision(425, decisionCanBacktrack[425]); + if (state.failed) return;dbg.location(1307,46); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:46: ( ws )? + int alt427=2; + try { dbg.enterSubRule(427); + try { dbg.enterDecision(427, decisionCanBacktrack[427]); - int LA425_0 = input.LA(1); - if ( (LA425_0==COMMENT||LA425_0==NL||LA425_0==WS) ) { - alt425=1; + int LA427_0 = input.LA(1); + if ( (LA427_0==COMMENT||LA427_0==NL||LA427_0==WS) ) { + alt427=1; } - } finally {dbg.exitDecision(425);} + } finally {dbg.exitDecision(427);} - switch (alt425) { + switch (alt427) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1302:46: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:46: ws { - dbg.location(1302,46); - pushFollow(FOLLOW_ws_in_cp_expression_atom9482); + dbg.location(1307,46); + pushFollow(FOLLOW_ws_in_cp_expression_atom9542); ws(); state._fsp--; if (state.failed) return; @@ -30868,20 +30967,20 @@ else if ( (true) ) { break; } - } finally {dbg.exitSubRule(425);} + } finally {dbg.exitSubRule(427);} } break; } - } finally {dbg.exitSubRule(426);} - dbg.location(1302,52); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression_atom9487); if (state.failed) return; + } finally {dbg.exitSubRule(428);} + dbg.location(1307,52); + match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression_atom9547); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(427);} + } finally {dbg.exitSubRule(429);} } @@ -30893,7 +30992,7 @@ else if ( (true) ) { finally { // do for sure before leaving } - dbg.location(1304, 4); + dbg.location(1309, 4); } finally { @@ -30908,51 +31007,51 @@ else if ( (true) ) { // $ANTLR start "cp_math_expressions" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:1: cp_math_expressions : cp_math_expression ( ws cp_math_expression )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1312:1: cp_math_expressions : cp_math_expression ( ws cp_math_expression )* ; public final void cp_math_expressions() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_math_expressions"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1307, 0); + dbg.location(1312, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1308:5: ( cp_math_expression ( ws cp_math_expression )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1313:5: ( cp_math_expression ( ws cp_math_expression )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1309:5: cp_math_expression ( ws cp_math_expression )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1314:5: cp_math_expression ( ws cp_math_expression )* { - dbg.location(1309,5); - pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions9519); + dbg.location(1314,5); + pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions9579); cp_math_expression(); state._fsp--; - if (state.failed) return;dbg.location(1310,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1310:5: ( ws cp_math_expression )* - try { dbg.enterSubRule(428); + if (state.failed) return;dbg.location(1315,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1315:5: ( ws cp_math_expression )* + try { dbg.enterSubRule(430); - loop428: + loop430: while (true) { - int alt428=2; - try { dbg.enterDecision(428, decisionCanBacktrack[428]); + int alt430=2; + try { dbg.enterDecision(430, decisionCanBacktrack[430]); - int LA428_0 = input.LA(1); - if ( (LA428_0==COMMENT||LA428_0==NL||LA428_0==WS) ) { - alt428=1; + int LA430_0 = input.LA(1); + if ( (LA430_0==COMMENT||LA430_0==NL||LA430_0==WS) ) { + alt430=1; } - } finally {dbg.exitDecision(428);} + } finally {dbg.exitDecision(430);} - switch (alt428) { + switch (alt430) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1310:6: ws cp_math_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1315:6: ws cp_math_expression { - dbg.location(1310,6); - pushFollow(FOLLOW_ws_in_cp_math_expressions9526); + dbg.location(1315,6); + pushFollow(FOLLOW_ws_in_cp_math_expressions9586); ws(); state._fsp--; - if (state.failed) return;dbg.location(1310,9); - pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions9528); + if (state.failed) return;dbg.location(1315,9); + pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions9588); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -30960,10 +31059,10 @@ public final void cp_math_expressions() throws RecognitionException { break; default : - break loop428; + break loop430; } } - } finally {dbg.exitSubRule(428);} + } finally {dbg.exitSubRule(430);} } @@ -30975,7 +31074,7 @@ public final void cp_math_expressions() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1311, 4); + dbg.location(1316, 4); } finally { @@ -30990,68 +31089,68 @@ public final void cp_math_expressions() throws RecognitionException { // $ANTLR start "cp_math_expression" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1325:1: cp_math_expression : cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1330:1: cp_math_expression : cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* ; public final void cp_math_expression() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_math_expression"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1325, 0); + dbg.location(1330, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1326:5: ( cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1331:5: ( cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1326:10: cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1331:10: cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* { - dbg.location(1326,10); - pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression9562); + dbg.location(1331,10); + pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression9622); cp_math_expression_atom(); state._fsp--; - if (state.failed) return;dbg.location(1327,10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1327:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* - try { dbg.enterSubRule(431); + if (state.failed) return;dbg.location(1332,10); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* + try { dbg.enterSubRule(433); - loop431: + loop433: while (true) { - int alt431=2; - try { dbg.enterDecision(431, decisionCanBacktrack[431]); + int alt433=2; + try { dbg.enterDecision(433, decisionCanBacktrack[433]); try { isCyclicDecision = true; - alt431 = dfa431.predict(input); + alt433 = dfa433.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(431);} + } finally {dbg.exitDecision(433);} - switch (alt431) { + switch (alt433) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom { - dbg.location(1328,48); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:48: ( ws )? - int alt429=2; - try { dbg.enterSubRule(429); - try { dbg.enterDecision(429, decisionCanBacktrack[429]); + dbg.location(1333,48); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:48: ( ws )? + int alt431=2; + try { dbg.enterSubRule(431); + try { dbg.enterDecision(431, decisionCanBacktrack[431]); - int LA429_0 = input.LA(1); - if ( (LA429_0==COMMENT||LA429_0==NL||LA429_0==WS) ) { - alt429=1; + int LA431_0 = input.LA(1); + if ( (LA431_0==COMMENT||LA431_0==NL||LA431_0==WS) ) { + alt431=1; } - } finally {dbg.exitDecision(429);} + } finally {dbg.exitDecision(431);} - switch (alt429) { + switch (alt431) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:48: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:48: ws { - dbg.location(1328,48); - pushFollow(FOLLOW_ws_in_cp_math_expression9604); + dbg.location(1333,48); + pushFollow(FOLLOW_ws_in_cp_math_expression9664); ws(); state._fsp--; if (state.failed) return; @@ -31059,8 +31158,8 @@ public final void cp_math_expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(429);} - dbg.location(1328,52); + } finally {dbg.exitSubRule(431);} + dbg.location(1333,52); if ( input.LA(1)==MINUS||input.LA(1)==PLUS||(input.LA(1) >= SOLIDUS && input.LA(1) <= STAR) ) { input.consume(); state.errorRecovery=false; @@ -31071,26 +31170,26 @@ public final void cp_math_expression() throws RecognitionException { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1328,78); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:78: ( ws )? - int alt430=2; - try { dbg.enterSubRule(430); - try { dbg.enterDecision(430, decisionCanBacktrack[430]); + }dbg.location(1333,78); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:78: ( ws )? + int alt432=2; + try { dbg.enterSubRule(432); + try { dbg.enterDecision(432, decisionCanBacktrack[432]); - int LA430_0 = input.LA(1); - if ( (LA430_0==COMMENT||LA430_0==NL||LA430_0==WS) ) { - alt430=1; + int LA432_0 = input.LA(1); + if ( (LA432_0==COMMENT||LA432_0==NL||LA432_0==WS) ) { + alt432=1; } - } finally {dbg.exitDecision(430);} + } finally {dbg.exitDecision(432);} - switch (alt430) { + switch (alt432) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:78: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:78: ws { - dbg.location(1328,78); - pushFollow(FOLLOW_ws_in_cp_math_expression9617); + dbg.location(1333,78); + pushFollow(FOLLOW_ws_in_cp_math_expression9677); ws(); state._fsp--; if (state.failed) return; @@ -31098,9 +31197,9 @@ public final void cp_math_expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(430);} - dbg.location(1328,82); - pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression9620); + } finally {dbg.exitSubRule(432);} + dbg.location(1333,82); + pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression9680); cp_math_expression_atom(); state._fsp--; if (state.failed) return; @@ -31108,10 +31207,10 @@ public final void cp_math_expression() throws RecognitionException { break; default : - break loop431; + break loop433; } } - } finally {dbg.exitSubRule(431);} + } finally {dbg.exitSubRule(433);} } @@ -31123,7 +31222,7 @@ public final void cp_math_expression() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1330, 4); + dbg.location(1335, 4); } finally { @@ -31138,36 +31237,36 @@ public final void cp_math_expression() throws RecognitionException { // $ANTLR start "cp_math_expression_atom" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:1: cp_math_expression_atom : ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1337:1: cp_math_expression_atom : ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN ); public final void cp_math_expression_atom() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_math_expression_atom"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1332, 0); + dbg.location(1337, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:5: ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN ) - int alt436=3; - try { dbg.enterDecision(436, decisionCanBacktrack[436]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1338:5: ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN ) + int alt438=3; + try { dbg.enterDecision(438, decisionCanBacktrack[438]); try { isCyclicDecision = true; - alt436 = dfa436.predict(input); + alt438 = dfa438.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(436);} + } finally {dbg.exitDecision(438);} - switch (alt436) { + switch (alt438) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1334:5: term + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1339:5: term { - dbg.location(1334,5); - pushFollow(FOLLOW_term_in_cp_math_expression_atom9653); + dbg.location(1339,5); + pushFollow(FOLLOW_term_in_cp_math_expression_atom9713); term(); state._fsp--; if (state.failed) return; @@ -31176,59 +31275,59 @@ public final void cp_math_expression_atom() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1335:7: IMPORTANT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1340:7: IMPORTANT_SYM { - dbg.location(1335,7); - match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom9661); if (state.failed) return; + dbg.location(1340,7); + match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom9721); if (state.failed) return; } break; case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:7: ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:7: ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN { - dbg.location(1336,7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:7: ( unaryOperator ( ws )? )? - int alt433=2; - try { dbg.enterSubRule(433); - try { dbg.enterDecision(433, decisionCanBacktrack[433]); + dbg.location(1341,7); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:7: ( unaryOperator ( ws )? )? + int alt435=2; + try { dbg.enterSubRule(435); + try { dbg.enterDecision(435, decisionCanBacktrack[435]); - int LA433_0 = input.LA(1); - if ( (LA433_0==MINUS||LA433_0==PLUS) ) { - alt433=1; + int LA435_0 = input.LA(1); + if ( (LA435_0==MINUS||LA435_0==PLUS) ) { + alt435=1; } - } finally {dbg.exitDecision(433);} + } finally {dbg.exitDecision(435);} - switch (alt433) { + switch (alt435) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:9: unaryOperator ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:9: unaryOperator ( ws )? { - dbg.location(1336,9); - pushFollow(FOLLOW_unaryOperator_in_cp_math_expression_atom9672); + dbg.location(1341,9); + pushFollow(FOLLOW_unaryOperator_in_cp_math_expression_atom9732); unaryOperator(); state._fsp--; - if (state.failed) return;dbg.location(1336,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:23: ( ws )? - int alt432=2; - try { dbg.enterSubRule(432); - try { dbg.enterDecision(432, decisionCanBacktrack[432]); + if (state.failed) return;dbg.location(1341,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:23: ( ws )? + int alt434=2; + try { dbg.enterSubRule(434); + try { dbg.enterDecision(434, decisionCanBacktrack[434]); - int LA432_0 = input.LA(1); - if ( (LA432_0==COMMENT||LA432_0==NL||LA432_0==WS) ) { - alt432=1; + int LA434_0 = input.LA(1); + if ( (LA434_0==COMMENT||LA434_0==NL||LA434_0==WS) ) { + alt434=1; } - } finally {dbg.exitDecision(432);} + } finally {dbg.exitDecision(434);} - switch (alt432) { + switch (alt434) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:23: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:23: ws { - dbg.location(1336,23); - pushFollow(FOLLOW_ws_in_cp_math_expression_atom9674); + dbg.location(1341,23); + pushFollow(FOLLOW_ws_in_cp_math_expression_atom9734); ws(); state._fsp--; if (state.failed) return; @@ -31236,34 +31335,34 @@ public final void cp_math_expression_atom() throws RecognitionException { break; } - } finally {dbg.exitSubRule(432);} + } finally {dbg.exitSubRule(434);} } break; } - } finally {dbg.exitSubRule(433);} - dbg.location(1336,30); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_math_expression_atom9680); if (state.failed) return;dbg.location(1336,37); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:37: ( ws )? - int alt434=2; - try { dbg.enterSubRule(434); - try { dbg.enterDecision(434, decisionCanBacktrack[434]); + } finally {dbg.exitSubRule(435);} + dbg.location(1341,30); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_math_expression_atom9740); if (state.failed) return;dbg.location(1341,37); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:37: ( ws )? + int alt436=2; + try { dbg.enterSubRule(436); + try { dbg.enterDecision(436, decisionCanBacktrack[436]); - int LA434_0 = input.LA(1); - if ( (LA434_0==COMMENT||LA434_0==NL||LA434_0==WS) ) { - alt434=1; + int LA436_0 = input.LA(1); + if ( (LA436_0==COMMENT||LA436_0==NL||LA436_0==WS) ) { + alt436=1; } - } finally {dbg.exitDecision(434);} + } finally {dbg.exitDecision(436);} - switch (alt434) { + switch (alt436) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:37: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:37: ws { - dbg.location(1336,37); - pushFollow(FOLLOW_ws_in_cp_math_expression_atom9682); + dbg.location(1341,37); + pushFollow(FOLLOW_ws_in_cp_math_expression_atom9742); ws(); state._fsp--; if (state.failed) return; @@ -31271,31 +31370,31 @@ public final void cp_math_expression_atom() throws RecognitionException { break; } - } finally {dbg.exitSubRule(434);} - dbg.location(1336,41); - pushFollow(FOLLOW_cp_math_expression_in_cp_math_expression_atom9685); + } finally {dbg.exitSubRule(436);} + dbg.location(1341,41); + pushFollow(FOLLOW_cp_math_expression_in_cp_math_expression_atom9745); cp_math_expression(); state._fsp--; - if (state.failed) return;dbg.location(1336,60); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:60: ( ws )? - int alt435=2; - try { dbg.enterSubRule(435); - try { dbg.enterDecision(435, decisionCanBacktrack[435]); + if (state.failed) return;dbg.location(1341,60); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:60: ( ws )? + int alt437=2; + try { dbg.enterSubRule(437); + try { dbg.enterDecision(437, decisionCanBacktrack[437]); - int LA435_0 = input.LA(1); - if ( (LA435_0==COMMENT||LA435_0==NL||LA435_0==WS) ) { - alt435=1; + int LA437_0 = input.LA(1); + if ( (LA437_0==COMMENT||LA437_0==NL||LA437_0==WS) ) { + alt437=1; } - } finally {dbg.exitDecision(435);} + } finally {dbg.exitDecision(437);} - switch (alt435) { + switch (alt437) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1336:60: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:60: ws { - dbg.location(1336,60); - pushFollow(FOLLOW_ws_in_cp_math_expression_atom9687); + dbg.location(1341,60); + pushFollow(FOLLOW_ws_in_cp_math_expression_atom9747); ws(); state._fsp--; if (state.failed) return; @@ -31303,9 +31402,9 @@ public final void cp_math_expression_atom() throws RecognitionException { break; } - } finally {dbg.exitSubRule(435);} - dbg.location(1336,64); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_math_expression_atom9690); if (state.failed) return; + } finally {dbg.exitSubRule(437);} + dbg.location(1341,64); + match(input,RPAREN,FOLLOW_RPAREN_in_cp_math_expression_atom9750); if (state.failed) return; } break; @@ -31318,7 +31417,7 @@ public final void cp_math_expression_atom() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1337, 4); + dbg.location(1342, 4); } finally { @@ -31333,137 +31432,137 @@ public final void cp_math_expression_atom() throws RecognitionException { // $ANTLR start "cp_mixin_declaration" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1345:1: cp_mixin_declaration : ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:1: cp_mixin_declaration : ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block ; public final void cp_mixin_declaration() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_mixin_declaration"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1345, 0); + dbg.location(1350, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1346:5: ( ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1351:5: ( ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1347:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1352:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) ( ws )? cp_mixin_block { - dbg.location(1347,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1347:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) - int alt448=2; - try { dbg.enterSubRule(448); - try { dbg.enterDecision(448, decisionCanBacktrack[448]); + dbg.location(1352,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1352:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) + int alt450=2; + try { dbg.enterSubRule(450); + try { dbg.enterDecision(450, decisionCanBacktrack[450]); - int LA448_0 = input.LA(1); - if ( (LA448_0==DOT||LA448_0==HASH||LA448_0==LESS_AND) ) { - alt448=1; + int LA450_0 = input.LA(1); + if ( (LA450_0==DOT||LA450_0==HASH||LA450_0==LESS_AND) ) { + alt450=1; } - else if ( (LA448_0==SASS_MIXIN) ) { - alt448=2; + else if ( (LA450_0==SASS_MIXIN) ) { + alt450=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 448, 0, input); + new NoViableAltException("", 450, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(448);} + } finally {dbg.exitDecision(450);} - switch (alt448) { + switch (alt450) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:9: {...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:9: {...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? { - dbg.location(1348,9); + dbg.location(1353,9); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_mixin_declaration", "isLessSource()"); - }dbg.location(1348,27); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:27: ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) - int alt441=2; - try { dbg.enterSubRule(441); - try { dbg.enterDecision(441, decisionCanBacktrack[441]); + }dbg.location(1353,27); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:27: ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) + int alt443=2; + try { dbg.enterSubRule(443); + try { dbg.enterDecision(443, decisionCanBacktrack[443]); - int LA441_0 = input.LA(1); - if ( (LA441_0==LESS_AND) ) { - alt441=1; + int LA443_0 = input.LA(1); + if ( (LA443_0==LESS_AND) ) { + alt443=1; } - else if ( (LA441_0==DOT||LA441_0==HASH) ) { - alt441=2; + else if ( (LA443_0==DOT||LA443_0==HASH) ) { + alt443=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 441, 0, input); + new NoViableAltException("", 443, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(441);} + } finally {dbg.exitDecision(443);} - switch (alt441) { + switch (alt443) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:28: LESS_AND + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:28: LESS_AND { - dbg.location(1348,28); - match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_declaration9730); if (state.failed) return; + dbg.location(1353,28); + match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_declaration9790); if (state.failed) return; } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) { - dbg.location(1348,39); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) + dbg.location(1353,39); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:39: ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:40: ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:40: ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN { - dbg.location(1348,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:40: ( ( DOT cp_mixin_name ) | HASH ) - int alt437=2; - try { dbg.enterSubRule(437); - try { dbg.enterDecision(437, decisionCanBacktrack[437]); + dbg.location(1353,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:40: ( ( DOT cp_mixin_name ) | HASH ) + int alt439=2; + try { dbg.enterSubRule(439); + try { dbg.enterDecision(439, decisionCanBacktrack[439]); - int LA437_0 = input.LA(1); - if ( (LA437_0==DOT) ) { - alt437=1; + int LA439_0 = input.LA(1); + if ( (LA439_0==DOT) ) { + alt439=1; } - else if ( (LA437_0==HASH) ) { - alt437=2; + else if ( (LA439_0==HASH) ) { + alt439=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 437, 0, input); + new NoViableAltException("", 439, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(437);} + } finally {dbg.exitDecision(439);} - switch (alt437) { + switch (alt439) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:41: ( DOT cp_mixin_name ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:41: ( DOT cp_mixin_name ) { - dbg.location(1348,41); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:41: ( DOT cp_mixin_name ) + dbg.location(1353,41); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:41: ( DOT cp_mixin_name ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:42: DOT cp_mixin_name + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:42: DOT cp_mixin_name { - dbg.location(1348,42); - match(input,DOT,FOLLOW_DOT_in_cp_mixin_declaration9737); if (state.failed) return;dbg.location(1348,46); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration9739); + dbg.location(1353,42); + match(input,DOT,FOLLOW_DOT_in_cp_mixin_declaration9797); if (state.failed) return;dbg.location(1353,46); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration9799); cp_mixin_name(); state._fsp--; if (state.failed) return; @@ -31474,35 +31573,35 @@ else if ( (LA437_0==HASH) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:63: HASH + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:63: HASH { - dbg.location(1348,63); - match(input,HASH,FOLLOW_HASH_in_cp_mixin_declaration9744); if (state.failed) return; + dbg.location(1353,63); + match(input,HASH,FOLLOW_HASH_in_cp_mixin_declaration9804); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(437);} - dbg.location(1348,69); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:69: ( ws )? - int alt438=2; - try { dbg.enterSubRule(438); - try { dbg.enterDecision(438, decisionCanBacktrack[438]); + } finally {dbg.exitSubRule(439);} + dbg.location(1353,69); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:69: ( ws )? + int alt440=2; + try { dbg.enterSubRule(440); + try { dbg.enterDecision(440, decisionCanBacktrack[440]); - int LA438_0 = input.LA(1); - if ( (LA438_0==COMMENT||LA438_0==NL||LA438_0==WS) ) { - alt438=1; + int LA440_0 = input.LA(1); + if ( (LA440_0==COMMENT||LA440_0==NL||LA440_0==WS) ) { + alt440=1; } - } finally {dbg.exitDecision(438);} + } finally {dbg.exitDecision(440);} - switch (alt438) { + switch (alt440) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:69: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:69: ws { - dbg.location(1348,69); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9747); + dbg.location(1353,69); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9807); ws(); state._fsp--; if (state.failed) return; @@ -31510,28 +31609,28 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(438);} - dbg.location(1348,73); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration9750); if (state.failed) return;dbg.location(1348,80); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:80: ( ws )? - int alt439=2; - try { dbg.enterSubRule(439); - try { dbg.enterDecision(439, decisionCanBacktrack[439]); + } finally {dbg.exitSubRule(440);} + dbg.location(1353,73); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration9810); if (state.failed) return;dbg.location(1353,80); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:80: ( ws )? + int alt441=2; + try { dbg.enterSubRule(441); + try { dbg.enterDecision(441, decisionCanBacktrack[441]); - int LA439_0 = input.LA(1); - if ( (LA439_0==COMMENT||LA439_0==NL||LA439_0==WS) ) { - alt439=1; + int LA441_0 = input.LA(1); + if ( (LA441_0==COMMENT||LA441_0==NL||LA441_0==WS) ) { + alt441=1; } - } finally {dbg.exitDecision(439);} + } finally {dbg.exitDecision(441);} - switch (alt439) { + switch (alt441) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:80: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:80: ws { - dbg.location(1348,80); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9752); + dbg.location(1353,80); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9812); ws(); state._fsp--; if (state.failed) return; @@ -31539,27 +31638,27 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(439);} - dbg.location(1348,84); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:84: ( cp_args_list )? - int alt440=2; - try { dbg.enterSubRule(440); - try { dbg.enterDecision(440, decisionCanBacktrack[440]); + } finally {dbg.exitSubRule(441);} + dbg.location(1353,84); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:84: ( cp_args_list )? + int alt442=2; + try { dbg.enterSubRule(442); + try { dbg.enterDecision(442, decisionCanBacktrack[442]); - int LA440_0 = input.LA(1); - if ( (LA440_0==AT_IDENT||(LA440_0 >= BOTTOMCENTER_SYM && LA440_0 <= BOTTOMRIGHT_SYM)||LA440_0==CHARSET_SYM||(LA440_0 >= COUNTER_STYLE_SYM && LA440_0 <= CP_DOTS)||LA440_0==FONT_FACE_SYM||LA440_0==IDENT||LA440_0==IMPORT_SYM||(LA440_0 >= LEFTBOTTOM_SYM && LA440_0 <= LEFTTOP_SYM)||LA440_0==LESS_REST||LA440_0==MEDIA_SYM||LA440_0==MOZ_DOCUMENT_SYM||LA440_0==NAMESPACE_SYM||LA440_0==PAGE_SYM||(LA440_0 >= RIGHTBOTTOM_SYM && LA440_0 <= RIGHTTOP_SYM)||(LA440_0 >= SASS_AT_ROOT && LA440_0 <= SASS_DEBUG)||(LA440_0 >= SASS_EACH && LA440_0 <= SASS_ELSE)||LA440_0==SASS_EXTEND||(LA440_0 >= SASS_FOR && LA440_0 <= SASS_FUNCTION)||(LA440_0 >= SASS_IF && LA440_0 <= SASS_MIXIN)||(LA440_0 >= SASS_RETURN && LA440_0 <= SASS_WHILE)||(LA440_0 >= TOPCENTER_SYM && LA440_0 <= TOPRIGHT_SYM)||LA440_0==WEBKIT_KEYFRAMES_SYM) ) { - alt440=1; + int LA442_0 = input.LA(1); + if ( (LA442_0==AT_IDENT||(LA442_0 >= BOTTOMCENTER_SYM && LA442_0 <= BOTTOMRIGHT_SYM)||LA442_0==CHARSET_SYM||(LA442_0 >= COUNTER_STYLE_SYM && LA442_0 <= CP_DOTS)||LA442_0==FONT_FACE_SYM||LA442_0==IDENT||LA442_0==IMPORT_SYM||(LA442_0 >= LEFTBOTTOM_SYM && LA442_0 <= LEFTTOP_SYM)||LA442_0==LESS_REST||LA442_0==MEDIA_SYM||LA442_0==MOZ_DOCUMENT_SYM||LA442_0==NAMESPACE_SYM||LA442_0==PAGE_SYM||(LA442_0 >= RIGHTBOTTOM_SYM && LA442_0 <= RIGHTTOP_SYM)||(LA442_0 >= SASS_AT_ROOT && LA442_0 <= SASS_DEBUG)||(LA442_0 >= SASS_EACH && LA442_0 <= SASS_ELSE)||LA442_0==SASS_EXTEND||(LA442_0 >= SASS_FOR && LA442_0 <= SASS_FUNCTION)||(LA442_0 >= SASS_IF && LA442_0 <= SASS_MIXIN)||(LA442_0 >= SASS_RETURN && LA442_0 <= SASS_WHILE)||(LA442_0 >= TOPCENTER_SYM && LA442_0 <= TOPRIGHT_SYM)||LA442_0==WEBKIT_KEYFRAMES_SYM) ) { + alt442=1; } - } finally {dbg.exitDecision(440);} + } finally {dbg.exitDecision(442);} - switch (alt440) { + switch (alt442) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:84: cp_args_list + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:84: cp_args_list { - dbg.location(1348,84); - pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration9755); + dbg.location(1353,84); + pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration9815); cp_args_list(); state._fsp--; if (state.failed) return; @@ -31567,58 +31666,58 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(440);} - dbg.location(1348,98); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration9758); if (state.failed) return; + } finally {dbg.exitSubRule(442);} + dbg.location(1353,98); + match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration9818); if (state.failed) return; } } break; } - } finally {dbg.exitSubRule(441);} - dbg.location(1348,107); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:107: ( ( ws )? less_mixin_guarded )? - int alt443=2; - try { dbg.enterSubRule(443); - try { dbg.enterDecision(443, decisionCanBacktrack[443]); + } finally {dbg.exitSubRule(443);} + dbg.location(1353,107); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:107: ( ( ws )? less_mixin_guarded )? + int alt445=2; + try { dbg.enterSubRule(445); + try { dbg.enterDecision(445, decisionCanBacktrack[445]); try { isCyclicDecision = true; - alt443 = dfa443.predict(input); + alt445 = dfa445.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(443);} + } finally {dbg.exitDecision(445);} - switch (alt443) { + switch (alt445) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:108: ( ws )? less_mixin_guarded + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:108: ( ws )? less_mixin_guarded { - dbg.location(1348,108); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:108: ( ws )? - int alt442=2; - try { dbg.enterSubRule(442); - try { dbg.enterDecision(442, decisionCanBacktrack[442]); + dbg.location(1353,108); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:108: ( ws )? + int alt444=2; + try { dbg.enterSubRule(444); + try { dbg.enterDecision(444, decisionCanBacktrack[444]); - int LA442_0 = input.LA(1); - if ( (LA442_0==COMMENT||LA442_0==NL||LA442_0==WS) ) { - alt442=1; + int LA444_0 = input.LA(1); + if ( (LA444_0==COMMENT||LA444_0==NL||LA444_0==WS) ) { + alt444=1; } - } finally {dbg.exitDecision(442);} + } finally {dbg.exitDecision(444);} - switch (alt442) { + switch (alt444) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1348:108: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:108: ws { - dbg.location(1348,108); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9763); + dbg.location(1353,108); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9823); ws(); state._fsp--; if (state.failed) return; @@ -31626,9 +31725,9 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(442);} - dbg.location(1348,112); - pushFollow(FOLLOW_less_mixin_guarded_in_cp_mixin_declaration9766); + } finally {dbg.exitSubRule(444);} + dbg.location(1353,112); + pushFollow(FOLLOW_less_mixin_guarded_in_cp_mixin_declaration9826); less_mixin_guarded(); state._fsp--; if (state.failed) return; @@ -31636,70 +31735,70 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(443);} + } finally {dbg.exitSubRule(445);} } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:9: {...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:9: {...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? { - dbg.location(1350,9); + dbg.location(1355,9); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_mixin_declaration", "isScssSource()"); - }dbg.location(1350,27); - match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_cp_mixin_declaration9790); if (state.failed) return;dbg.location(1350,38); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9792); + }dbg.location(1355,27); + match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_cp_mixin_declaration9850); if (state.failed) return;dbg.location(1355,38); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9852); ws(); state._fsp--; - if (state.failed) return;dbg.location(1350,41); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration9794); + if (state.failed) return;dbg.location(1355,41); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration9854); cp_mixin_name(); state._fsp--; - if (state.failed) return;dbg.location(1350,55); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? - int alt447=2; - try { dbg.enterSubRule(447); - try { dbg.enterDecision(447, decisionCanBacktrack[447]); + if (state.failed) return;dbg.location(1355,55); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? + int alt449=2; + try { dbg.enterSubRule(449); + try { dbg.enterDecision(449, decisionCanBacktrack[449]); try { isCyclicDecision = true; - alt447 = dfa447.predict(input); + alt449 = dfa449.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(447);} + } finally {dbg.exitDecision(449);} - switch (alt447) { + switch (alt449) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:56: ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:56: ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN { - dbg.location(1350,56); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:56: ( ws )? - int alt444=2; - try { dbg.enterSubRule(444); - try { dbg.enterDecision(444, decisionCanBacktrack[444]); + dbg.location(1355,56); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:56: ( ws )? + int alt446=2; + try { dbg.enterSubRule(446); + try { dbg.enterDecision(446, decisionCanBacktrack[446]); - int LA444_0 = input.LA(1); - if ( (LA444_0==COMMENT||LA444_0==NL||LA444_0==WS) ) { - alt444=1; + int LA446_0 = input.LA(1); + if ( (LA446_0==COMMENT||LA446_0==NL||LA446_0==WS) ) { + alt446=1; } - } finally {dbg.exitDecision(444);} + } finally {dbg.exitDecision(446);} - switch (alt444) { + switch (alt446) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:56: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:56: ws { - dbg.location(1350,56); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9797); + dbg.location(1355,56); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9857); ws(); state._fsp--; if (state.failed) return; @@ -31707,28 +31806,28 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(444);} - dbg.location(1350,60); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration9800); if (state.failed) return;dbg.location(1350,67); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:67: ( ws )? - int alt445=2; - try { dbg.enterSubRule(445); - try { dbg.enterDecision(445, decisionCanBacktrack[445]); + } finally {dbg.exitSubRule(446);} + dbg.location(1355,60); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration9860); if (state.failed) return;dbg.location(1355,67); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:67: ( ws )? + int alt447=2; + try { dbg.enterSubRule(447); + try { dbg.enterDecision(447, decisionCanBacktrack[447]); - int LA445_0 = input.LA(1); - if ( (LA445_0==COMMENT||LA445_0==NL||LA445_0==WS) ) { - alt445=1; + int LA447_0 = input.LA(1); + if ( (LA447_0==COMMENT||LA447_0==NL||LA447_0==WS) ) { + alt447=1; } - } finally {dbg.exitDecision(445);} + } finally {dbg.exitDecision(447);} - switch (alt445) { + switch (alt447) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:67: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:67: ws { - dbg.location(1350,67); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9802); + dbg.location(1355,67); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9862); ws(); state._fsp--; if (state.failed) return; @@ -31736,27 +31835,27 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(445);} - dbg.location(1350,71); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:71: ( cp_args_list )? - int alt446=2; - try { dbg.enterSubRule(446); - try { dbg.enterDecision(446, decisionCanBacktrack[446]); + } finally {dbg.exitSubRule(447);} + dbg.location(1355,71); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:71: ( cp_args_list )? + int alt448=2; + try { dbg.enterSubRule(448); + try { dbg.enterDecision(448, decisionCanBacktrack[448]); - int LA446_0 = input.LA(1); - if ( (LA446_0==AT_IDENT||(LA446_0 >= BOTTOMCENTER_SYM && LA446_0 <= BOTTOMRIGHT_SYM)||LA446_0==CHARSET_SYM||(LA446_0 >= COUNTER_STYLE_SYM && LA446_0 <= CP_DOTS)||LA446_0==FONT_FACE_SYM||LA446_0==IDENT||LA446_0==IMPORT_SYM||(LA446_0 >= LEFTBOTTOM_SYM && LA446_0 <= LEFTTOP_SYM)||LA446_0==LESS_REST||LA446_0==MEDIA_SYM||LA446_0==MOZ_DOCUMENT_SYM||LA446_0==NAMESPACE_SYM||LA446_0==PAGE_SYM||(LA446_0 >= RIGHTBOTTOM_SYM && LA446_0 <= RIGHTTOP_SYM)||(LA446_0 >= SASS_AT_ROOT && LA446_0 <= SASS_DEBUG)||(LA446_0 >= SASS_EACH && LA446_0 <= SASS_ELSE)||LA446_0==SASS_EXTEND||(LA446_0 >= SASS_FOR && LA446_0 <= SASS_FUNCTION)||(LA446_0 >= SASS_IF && LA446_0 <= SASS_MIXIN)||(LA446_0 >= SASS_RETURN && LA446_0 <= SASS_WHILE)||(LA446_0 >= TOPCENTER_SYM && LA446_0 <= TOPRIGHT_SYM)||LA446_0==WEBKIT_KEYFRAMES_SYM) ) { - alt446=1; + int LA448_0 = input.LA(1); + if ( (LA448_0==AT_IDENT||(LA448_0 >= BOTTOMCENTER_SYM && LA448_0 <= BOTTOMRIGHT_SYM)||LA448_0==CHARSET_SYM||(LA448_0 >= COUNTER_STYLE_SYM && LA448_0 <= CP_DOTS)||LA448_0==FONT_FACE_SYM||LA448_0==IDENT||LA448_0==IMPORT_SYM||(LA448_0 >= LEFTBOTTOM_SYM && LA448_0 <= LEFTTOP_SYM)||LA448_0==LESS_REST||LA448_0==MEDIA_SYM||LA448_0==MOZ_DOCUMENT_SYM||LA448_0==NAMESPACE_SYM||LA448_0==PAGE_SYM||(LA448_0 >= RIGHTBOTTOM_SYM && LA448_0 <= RIGHTTOP_SYM)||(LA448_0 >= SASS_AT_ROOT && LA448_0 <= SASS_DEBUG)||(LA448_0 >= SASS_EACH && LA448_0 <= SASS_ELSE)||LA448_0==SASS_EXTEND||(LA448_0 >= SASS_FOR && LA448_0 <= SASS_FUNCTION)||(LA448_0 >= SASS_IF && LA448_0 <= SASS_MIXIN)||(LA448_0 >= SASS_RETURN && LA448_0 <= SASS_WHILE)||(LA448_0 >= TOPCENTER_SYM && LA448_0 <= TOPRIGHT_SYM)||LA448_0==WEBKIT_KEYFRAMES_SYM) ) { + alt448=1; } - } finally {dbg.exitDecision(446);} + } finally {dbg.exitDecision(448);} - switch (alt446) { + switch (alt448) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1350:71: cp_args_list + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:71: cp_args_list { - dbg.location(1350,71); - pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration9805); + dbg.location(1355,71); + pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration9865); cp_args_list(); state._fsp--; if (state.failed) return; @@ -31764,40 +31863,40 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(446);} - dbg.location(1350,85); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration9808); if (state.failed) return; + } finally {dbg.exitSubRule(448);} + dbg.location(1355,85); + match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration9868); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(447);} + } finally {dbg.exitSubRule(449);} } break; } - } finally {dbg.exitSubRule(448);} - dbg.location(1352,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1352:5: ( ws )? - int alt449=2; - try { dbg.enterSubRule(449); - try { dbg.enterDecision(449, decisionCanBacktrack[449]); + } finally {dbg.exitSubRule(450);} + dbg.location(1357,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1357:5: ( ws )? + int alt451=2; + try { dbg.enterSubRule(451); + try { dbg.enterDecision(451, decisionCanBacktrack[451]); - int LA449_0 = input.LA(1); - if ( (LA449_0==COMMENT||LA449_0==NL||LA449_0==WS) ) { - alt449=1; + int LA451_0 = input.LA(1); + if ( (LA451_0==COMMENT||LA451_0==NL||LA451_0==WS) ) { + alt451=1; } - } finally {dbg.exitDecision(449);} + } finally {dbg.exitDecision(451);} - switch (alt449) { + switch (alt451) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1352:5: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1357:5: ws { - dbg.location(1352,5); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9822); + dbg.location(1357,5); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9882); ws(); state._fsp--; if (state.failed) return; @@ -31805,9 +31904,9 @@ else if ( (LA437_0==HASH) ) { break; } - } finally {dbg.exitSubRule(449);} - dbg.location(1352,9); - pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_declaration9825); + } finally {dbg.exitSubRule(451);} + dbg.location(1357,9); + pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_declaration9885); cp_mixin_block(); state._fsp--; if (state.failed) return; @@ -31821,7 +31920,7 @@ else if ( (LA437_0==HASH) ) { finally { // do for sure before leaving } - dbg.location(1353, 4); + dbg.location(1358, 4); } finally { @@ -31836,98 +31935,98 @@ else if ( (LA437_0==HASH) ) { // $ANTLR start "cp_mixin_call" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1357:1: cp_mixin_call : ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:1: cp_mixin_call : ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) ; public final void cp_mixin_call() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1357, 0); + dbg.location(1362, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1358:5: ( ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1363:5: ( ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1359:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1364:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) { - dbg.location(1359,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1359:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) - int alt465=2; - try { dbg.enterSubRule(465); - try { dbg.enterDecision(465, decisionCanBacktrack[465]); + dbg.location(1364,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1364:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) + int alt467=2; + try { dbg.enterSubRule(467); + try { dbg.enterDecision(467, decisionCanBacktrack[467]); - int LA465_0 = input.LA(1); - if ( (LA465_0==AT_IDENT||LA465_0==DOT||LA465_0==HASH||LA465_0==LESS_AND) ) { - alt465=1; + int LA467_0 = input.LA(1); + if ( (LA467_0==AT_IDENT||LA467_0==DOT||LA467_0==HASH||LA467_0==LESS_AND) ) { + alt467=1; } - else if ( (LA465_0==SASS_INCLUDE) ) { - alt465=2; + else if ( (LA467_0==SASS_INCLUDE) ) { + alt467=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 465, 0, input); + new NoViableAltException("", 467, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(465);} + } finally {dbg.exitDecision(467);} - switch (alt465) { + switch (alt467) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:9: {...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:9: {...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? { - dbg.location(1360,9); + dbg.location(1365,9); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_mixin_call", "isLessSource()"); - }dbg.location(1360,27); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:27: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) - int alt450=4; - try { dbg.enterSubRule(450); - try { dbg.enterDecision(450, decisionCanBacktrack[450]); + }dbg.location(1365,27); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:27: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) + int alt452=4; + try { dbg.enterSubRule(452); + try { dbg.enterDecision(452, decisionCanBacktrack[452]); switch ( input.LA(1) ) { case DOT: { - alt450=1; + alt452=1; } break; case HASH: { - alt450=2; + alt452=2; } break; case AT_IDENT: { - alt450=3; + alt452=3; } break; case LESS_AND: { - alt450=4; + alt452=4; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 450, 0, input); + new NoViableAltException("", 452, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(450);} + } finally {dbg.exitDecision(452);} - switch (alt450) { + switch (alt452) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:28: DOT cp_mixin_name + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:28: DOT cp_mixin_name { - dbg.location(1360,28); - match(input,DOT,FOLLOW_DOT_in_cp_mixin_call9861); if (state.failed) return;dbg.location(1360,32); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9863); + dbg.location(1365,28); + match(input,DOT,FOLLOW_DOT_in_cp_mixin_call9921); if (state.failed) return;dbg.location(1365,32); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9923); cp_mixin_name(); state._fsp--; if (state.failed) return; @@ -31936,86 +32035,86 @@ else if ( (LA465_0==SASS_INCLUDE) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:48: HASH + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:48: HASH { - dbg.location(1360,48); - match(input,HASH,FOLLOW_HASH_in_cp_mixin_call9867); if (state.failed) return; + dbg.location(1365,48); + match(input,HASH,FOLLOW_HASH_in_cp_mixin_call9927); if (state.failed) return; } break; case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:55: AT_IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:55: AT_IDENT { - dbg.location(1360,55); - match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call9871); if (state.failed) return; + dbg.location(1365,55); + match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call9931); if (state.failed) return; } break; case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:66: LESS_AND + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:66: LESS_AND { - dbg.location(1360,66); - match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call9875); if (state.failed) return; + dbg.location(1365,66); + match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call9935); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(450);} - dbg.location(1360,76); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:76: ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* - try { dbg.enterSubRule(454); + } finally {dbg.exitSubRule(452);} + dbg.location(1365,76); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:76: ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* + try { dbg.enterSubRule(456); - loop454: + loop456: while (true) { - int alt454=2; - try { dbg.enterDecision(454, decisionCanBacktrack[454]); + int alt456=2; + try { dbg.enterDecision(456, decisionCanBacktrack[456]); - int LA454_0 = input.LA(1); - if ( (LA454_0==COMMENT||LA454_0==NL||LA454_0==WS) ) { - int LA454_2 = input.LA(2); - if ( (synpred61_Css3()) ) { - alt454=1; + int LA456_0 = input.LA(1); + if ( (LA456_0==COMMENT||LA456_0==NL||LA456_0==WS) ) { + int LA456_2 = input.LA(2); + if ( (synpred67_Css3()) ) { + alt456=1; } } - else if ( (LA454_0==GREATER||LA454_0==PLUS||LA454_0==TILDE) ) { - int LA454_14 = input.LA(2); - if ( (synpred61_Css3()) ) { - alt454=1; + else if ( (LA456_0==GREATER||LA456_0==PLUS||LA456_0==TILDE) ) { + int LA456_14 = input.LA(2); + if ( (synpred67_Css3()) ) { + alt456=1; } } - } finally {dbg.exitDecision(454);} + } finally {dbg.exitDecision(456);} - switch (alt454) { + switch (alt456) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:77: ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:77: ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) { - dbg.location(1360,101); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:101: ( ws )? - int alt451=2; - try { dbg.enterSubRule(451); - try { dbg.enterDecision(451, decisionCanBacktrack[451]); + dbg.location(1365,101); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:101: ( ws )? + int alt453=2; + try { dbg.enterSubRule(453); + try { dbg.enterDecision(453, decisionCanBacktrack[453]); - int LA451_0 = input.LA(1); - if ( (LA451_0==COMMENT||LA451_0==NL||LA451_0==WS) ) { - alt451=1; + int LA453_0 = input.LA(1); + if ( (LA453_0==COMMENT||LA453_0==NL||LA453_0==WS) ) { + alt453=1; } - } finally {dbg.exitDecision(451);} + } finally {dbg.exitDecision(453);} - switch (alt451) { + switch (alt453) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:101: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:101: ws { - dbg.location(1360,101); - pushFollow(FOLLOW_ws_in_cp_mixin_call9891); + dbg.location(1365,101); + pushFollow(FOLLOW_ws_in_cp_mixin_call9951); ws(); state._fsp--; if (state.failed) return; @@ -32023,31 +32122,31 @@ else if ( (LA454_0==GREATER||LA454_0==PLUS||LA454_0==TILDE) ) { break; } - } finally {dbg.exitSubRule(451);} - dbg.location(1360,105); - pushFollow(FOLLOW_combinator_in_cp_mixin_call9894); + } finally {dbg.exitSubRule(453);} + dbg.location(1365,105); + pushFollow(FOLLOW_combinator_in_cp_mixin_call9954); combinator(); state._fsp--; - if (state.failed) return;dbg.location(1360,116); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:116: ( ws )? - int alt452=2; - try { dbg.enterSubRule(452); - try { dbg.enterDecision(452, decisionCanBacktrack[452]); - - int LA452_0 = input.LA(1); - if ( (LA452_0==COMMENT||LA452_0==NL||LA452_0==WS) ) { - alt452=1; + if (state.failed) return;dbg.location(1365,116); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:116: ( ws )? + int alt454=2; + try { dbg.enterSubRule(454); + try { dbg.enterDecision(454, decisionCanBacktrack[454]); + + int LA454_0 = input.LA(1); + if ( (LA454_0==COMMENT||LA454_0==NL||LA454_0==WS) ) { + alt454=1; } - } finally {dbg.exitDecision(452);} + } finally {dbg.exitDecision(454);} - switch (alt452) { + switch (alt454) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:116: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:116: ws { - dbg.location(1360,116); - pushFollow(FOLLOW_ws_in_cp_mixin_call9896); + dbg.location(1365,116); + pushFollow(FOLLOW_ws_in_cp_mixin_call9956); ws(); state._fsp--; if (state.failed) return; @@ -32055,52 +32154,52 @@ else if ( (LA454_0==GREATER||LA454_0==PLUS||LA454_0==TILDE) ) { break; } - } finally {dbg.exitSubRule(452);} - dbg.location(1360,120); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:120: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) - int alt453=4; - try { dbg.enterSubRule(453); - try { dbg.enterDecision(453, decisionCanBacktrack[453]); + } finally {dbg.exitSubRule(454);} + dbg.location(1365,120); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:120: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) + int alt455=4; + try { dbg.enterSubRule(455); + try { dbg.enterDecision(455, decisionCanBacktrack[455]); switch ( input.LA(1) ) { case DOT: { - alt453=1; + alt455=1; } break; case HASH: { - alt453=2; + alt455=2; } break; case AT_IDENT: { - alt453=3; + alt455=3; } break; case LESS_AND: { - alt453=4; + alt455=4; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 453, 0, input); + new NoViableAltException("", 455, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(453);} + } finally {dbg.exitDecision(455);} - switch (alt453) { + switch (alt455) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:121: DOT cp_mixin_name + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:121: DOT cp_mixin_name { - dbg.location(1360,121); - match(input,DOT,FOLLOW_DOT_in_cp_mixin_call9900); if (state.failed) return;dbg.location(1360,125); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9902); + dbg.location(1365,121); + match(input,DOT,FOLLOW_DOT_in_cp_mixin_call9960); if (state.failed) return;dbg.location(1365,125); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9962); cp_mixin_name(); state._fsp--; if (state.failed) return; @@ -32109,74 +32208,74 @@ else if ( (LA454_0==GREATER||LA454_0==PLUS||LA454_0==TILDE) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:141: HASH + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:141: HASH { - dbg.location(1360,141); - match(input,HASH,FOLLOW_HASH_in_cp_mixin_call9906); if (state.failed) return; + dbg.location(1365,141); + match(input,HASH,FOLLOW_HASH_in_cp_mixin_call9966); if (state.failed) return; } break; case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:148: AT_IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:148: AT_IDENT { - dbg.location(1360,148); - match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call9910); if (state.failed) return; + dbg.location(1365,148); + match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call9970); if (state.failed) return; } break; case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:159: LESS_AND + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:159: LESS_AND { - dbg.location(1360,159); - match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call9914); if (state.failed) return; + dbg.location(1365,159); + match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call9974); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(453);} + } finally {dbg.exitSubRule(455);} } break; default : - break loop454; + break loop456; } } - } finally {dbg.exitSubRule(454);} - dbg.location(1360,171); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:171: ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? - int alt458=3; - try { dbg.enterSubRule(458); - try { dbg.enterDecision(458, decisionCanBacktrack[458]); - - int LA458_0 = input.LA(1); - if ( (LA458_0==COLON||LA458_0==DCOLON) ) { - int LA458_1 = input.LA(2); - if ( (synpred62_Css3()) ) { - alt458=1; + } finally {dbg.exitSubRule(456);} + dbg.location(1365,171); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:171: ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? + int alt460=3; + try { dbg.enterSubRule(460); + try { dbg.enterDecision(460, decisionCanBacktrack[460]); + + int LA460_0 = input.LA(1); + if ( (LA460_0==COLON||LA460_0==DCOLON) ) { + int LA460_1 = input.LA(2); + if ( (synpred68_Css3()) ) { + alt460=1; } } - else if ( (LA458_0==COMMENT||LA458_0==NL||LA458_0==WS) ) { - int LA458_2 = input.LA(2); - if ( (synpred63_Css3()) ) { - alt458=2; + else if ( (LA460_0==COMMENT||LA460_0==NL||LA460_0==WS) ) { + int LA460_2 = input.LA(2); + if ( (synpred69_Css3()) ) { + alt460=2; } } - else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { - alt458=2; + else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { + alt460=2; } - } finally {dbg.exitDecision(458);} + } finally {dbg.exitDecision(460);} - switch (alt458) { + switch (alt460) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:172: ( pseudo )=> pseudo + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:172: ( pseudo )=> pseudo { - dbg.location(1360,182); - pushFollow(FOLLOW_pseudo_in_cp_mixin_call9924); + dbg.location(1365,182); + pushFollow(FOLLOW_pseudo_in_cp_mixin_call9984); pseudo(); state._fsp--; if (state.failed) return; @@ -32185,34 +32284,34 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:191: ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:191: ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) { - dbg.location(1360,205); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:205: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) + dbg.location(1365,205); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:205: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:206: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:206: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN { - dbg.location(1360,206); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:206: ( ws )? - int alt455=2; - try { dbg.enterSubRule(455); - try { dbg.enterDecision(455, decisionCanBacktrack[455]); + dbg.location(1365,206); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:206: ( ws )? + int alt457=2; + try { dbg.enterSubRule(457); + try { dbg.enterDecision(457, decisionCanBacktrack[457]); - int LA455_0 = input.LA(1); - if ( (LA455_0==COMMENT||LA455_0==NL||LA455_0==WS) ) { - alt455=1; + int LA457_0 = input.LA(1); + if ( (LA457_0==COMMENT||LA457_0==NL||LA457_0==WS) ) { + alt457=1; } - } finally {dbg.exitDecision(455);} + } finally {dbg.exitDecision(457);} - switch (alt455) { + switch (alt457) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:206: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:206: ws { - dbg.location(1360,206); - pushFollow(FOLLOW_ws_in_cp_mixin_call9936); + dbg.location(1365,206); + pushFollow(FOLLOW_ws_in_cp_mixin_call9996); ws(); state._fsp--; if (state.failed) return; @@ -32220,28 +32319,28 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { break; } - } finally {dbg.exitSubRule(455);} - dbg.location(1360,210); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call9939); if (state.failed) return;dbg.location(1360,217); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:217: ( ws )? - int alt456=2; - try { dbg.enterSubRule(456); - try { dbg.enterDecision(456, decisionCanBacktrack[456]); - - int LA456_0 = input.LA(1); - if ( (LA456_0==COMMENT||LA456_0==NL||LA456_0==WS) ) { - alt456=1; + } finally {dbg.exitSubRule(457);} + dbg.location(1365,210); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call9999); if (state.failed) return;dbg.location(1365,217); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:217: ( ws )? + int alt458=2; + try { dbg.enterSubRule(458); + try { dbg.enterDecision(458, decisionCanBacktrack[458]); + + int LA458_0 = input.LA(1); + if ( (LA458_0==COMMENT||LA458_0==NL||LA458_0==WS) ) { + alt458=1; } - } finally {dbg.exitDecision(456);} + } finally {dbg.exitDecision(458);} - switch (alt456) { + switch (alt458) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:217: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:217: ws { - dbg.location(1360,217); - pushFollow(FOLLOW_ws_in_cp_mixin_call9941); + dbg.location(1365,217); + pushFollow(FOLLOW_ws_in_cp_mixin_call10001); ws(); state._fsp--; if (state.failed) return; @@ -32249,27 +32348,27 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { break; } - } finally {dbg.exitSubRule(456);} - dbg.location(1360,221); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:221: ( cp_mixin_call_args )? - int alt457=2; - try { dbg.enterSubRule(457); - try { dbg.enterDecision(457, decisionCanBacktrack[457]); + } finally {dbg.exitSubRule(458);} + dbg.location(1365,221); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:221: ( cp_mixin_call_args )? + int alt459=2; + try { dbg.enterSubRule(459); + try { dbg.enterDecision(459, decisionCanBacktrack[459]); - int LA457_0 = input.LA(1); - if ( ((LA457_0 >= ANGLE && LA457_0 <= AT_SIGN)||(LA457_0 >= BOTTOMCENTER_SYM && LA457_0 <= BOTTOMRIGHT_SYM)||LA457_0==CHARSET_SYM||LA457_0==COUNTER_STYLE_SYM||LA457_0==DIMENSION||LA457_0==EMS||LA457_0==EXS||(LA457_0 >= FONT_FACE_SYM && LA457_0 <= FREQ)||LA457_0==GEN||(LA457_0 >= HASH && LA457_0 <= HASH_SYMBOL)||(LA457_0 >= IDENT && LA457_0 <= IMPORT_SYM)||(LA457_0 >= LBRACE && LA457_0 <= LENGTH)||(LA457_0 >= LESS_AND && LA457_0 <= LESS_JS_STRING)||LA457_0==LPAREN||(LA457_0 >= MEDIA_SYM && LA457_0 <= MOZ_DOCUMENT_SYM)||LA457_0==NAMESPACE_SYM||(LA457_0 >= NOT && LA457_0 <= NUMBER)||(LA457_0 >= PAGE_SYM && LA457_0 <= PERCENTAGE_SYMBOL)||LA457_0==PLUS||(LA457_0 >= REM && LA457_0 <= RIGHTTOP_SYM)||(LA457_0 >= SASS_AT_ROOT && LA457_0 <= SASS_DEBUG)||(LA457_0 >= SASS_EACH && LA457_0 <= SASS_ELSE)||LA457_0==SASS_EXTEND||(LA457_0 >= SASS_FOR && LA457_0 <= SASS_FUNCTION)||(LA457_0 >= SASS_IF && LA457_0 <= SASS_MIXIN)||(LA457_0 >= SASS_RETURN && LA457_0 <= SASS_WHILE)||LA457_0==STRING||(LA457_0 >= TILDE && LA457_0 <= TOPRIGHT_SYM)||(LA457_0 >= URANGE && LA457_0 <= URI)||LA457_0==VARIABLE||LA457_0==WEBKIT_KEYFRAMES_SYM) ) { - alt457=1; + int LA459_0 = input.LA(1); + if ( ((LA459_0 >= ANGLE && LA459_0 <= AT_SIGN)||(LA459_0 >= BOTTOMCENTER_SYM && LA459_0 <= BOTTOMRIGHT_SYM)||LA459_0==CHARSET_SYM||LA459_0==COUNTER_STYLE_SYM||LA459_0==DIMENSION||LA459_0==EMS||LA459_0==EXS||(LA459_0 >= FONT_FACE_SYM && LA459_0 <= FREQ)||LA459_0==GEN||(LA459_0 >= HASH && LA459_0 <= HASH_SYMBOL)||(LA459_0 >= IDENT && LA459_0 <= IMPORT_SYM)||(LA459_0 >= LBRACE && LA459_0 <= LENGTH)||(LA459_0 >= LESS_AND && LA459_0 <= LESS_JS_STRING)||LA459_0==LPAREN||(LA459_0 >= MEDIA_SYM && LA459_0 <= MOZ_DOCUMENT_SYM)||LA459_0==NAMESPACE_SYM||(LA459_0 >= NOT && LA459_0 <= NUMBER)||(LA459_0 >= PAGE_SYM && LA459_0 <= PERCENTAGE_SYMBOL)||LA459_0==PLUS||(LA459_0 >= REM && LA459_0 <= RIGHTTOP_SYM)||(LA459_0 >= SASS_AT_ROOT && LA459_0 <= SASS_DEBUG)||(LA459_0 >= SASS_EACH && LA459_0 <= SASS_ELSE)||LA459_0==SASS_EXTEND||(LA459_0 >= SASS_FOR && LA459_0 <= SASS_FUNCTION)||(LA459_0 >= SASS_IF && LA459_0 <= SASS_MIXIN)||(LA459_0 >= SASS_RETURN && LA459_0 <= SASS_WHILE)||LA459_0==STRING||(LA459_0 >= TILDE && LA459_0 <= TOPRIGHT_SYM)||(LA459_0 >= URANGE && LA459_0 <= URI)||LA459_0==VARIABLE||LA459_0==WEBKIT_KEYFRAMES_SYM) ) { + alt459=1; } - } finally {dbg.exitDecision(457);} + } finally {dbg.exitDecision(459);} - switch (alt457) { + switch (alt459) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:221: cp_mixin_call_args + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:221: cp_mixin_call_args { - dbg.location(1360,221); - pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call9944); + dbg.location(1365,221); + pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call10004); cp_mixin_call_args(); state._fsp--; if (state.failed) return; @@ -32277,79 +32376,79 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { break; } - } finally {dbg.exitSubRule(457);} - dbg.location(1360,241); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call9947); if (state.failed) return; + } finally {dbg.exitSubRule(459);} + dbg.location(1365,241); + match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call10007); if (state.failed) return; } } break; } - } finally {dbg.exitSubRule(458);} + } finally {dbg.exitSubRule(460);} } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:9: {...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:9: {...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? { - dbg.location(1362,9); + dbg.location(1367,9); if ( !(evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_mixin_call", "isScssSource()"); - }dbg.location(1362,27); - match(input,SASS_INCLUDE,FOLLOW_SASS_INCLUDE_in_cp_mixin_call9972); if (state.failed) return;dbg.location(1362,40); - pushFollow(FOLLOW_ws_in_cp_mixin_call9974); + }dbg.location(1367,27); + match(input,SASS_INCLUDE,FOLLOW_SASS_INCLUDE_in_cp_mixin_call10032); if (state.failed) return;dbg.location(1367,40); + pushFollow(FOLLOW_ws_in_cp_mixin_call10034); ws(); state._fsp--; - if (state.failed) return;dbg.location(1362,43); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9976); + if (state.failed) return;dbg.location(1367,43); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call10036); cp_mixin_name(); state._fsp--; - if (state.failed) return;dbg.location(1362,57); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? - int alt462=2; - try { dbg.enterSubRule(462); - try { dbg.enterDecision(462, decisionCanBacktrack[462]); + if (state.failed) return;dbg.location(1367,57); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? + int alt464=2; + try { dbg.enterSubRule(464); + try { dbg.enterDecision(464, decisionCanBacktrack[464]); try { isCyclicDecision = true; - alt462 = dfa462.predict(input); + alt464 = dfa464.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(462);} + } finally {dbg.exitDecision(464);} - switch (alt462) { + switch (alt464) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:58: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:58: ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN { - dbg.location(1362,58); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:58: ( ws )? - int alt459=2; - try { dbg.enterSubRule(459); - try { dbg.enterDecision(459, decisionCanBacktrack[459]); + dbg.location(1367,58); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:58: ( ws )? + int alt461=2; + try { dbg.enterSubRule(461); + try { dbg.enterDecision(461, decisionCanBacktrack[461]); - int LA459_0 = input.LA(1); - if ( (LA459_0==COMMENT||LA459_0==NL||LA459_0==WS) ) { - alt459=1; + int LA461_0 = input.LA(1); + if ( (LA461_0==COMMENT||LA461_0==NL||LA461_0==WS) ) { + alt461=1; } - } finally {dbg.exitDecision(459);} + } finally {dbg.exitDecision(461);} - switch (alt459) { + switch (alt461) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:58: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:58: ws { - dbg.location(1362,58); - pushFollow(FOLLOW_ws_in_cp_mixin_call9979); + dbg.location(1367,58); + pushFollow(FOLLOW_ws_in_cp_mixin_call10039); ws(); state._fsp--; if (state.failed) return; @@ -32357,28 +32456,28 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { break; } - } finally {dbg.exitSubRule(459);} - dbg.location(1362,62); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call9982); if (state.failed) return;dbg.location(1362,69); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:69: ( ws )? - int alt460=2; - try { dbg.enterSubRule(460); - try { dbg.enterDecision(460, decisionCanBacktrack[460]); + } finally {dbg.exitSubRule(461);} + dbg.location(1367,62); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call10042); if (state.failed) return;dbg.location(1367,69); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:69: ( ws )? + int alt462=2; + try { dbg.enterSubRule(462); + try { dbg.enterDecision(462, decisionCanBacktrack[462]); - int LA460_0 = input.LA(1); - if ( (LA460_0==COMMENT||LA460_0==NL||LA460_0==WS) ) { - alt460=1; + int LA462_0 = input.LA(1); + if ( (LA462_0==COMMENT||LA462_0==NL||LA462_0==WS) ) { + alt462=1; } - } finally {dbg.exitDecision(460);} + } finally {dbg.exitDecision(462);} - switch (alt460) { + switch (alt462) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:69: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:69: ws { - dbg.location(1362,69); - pushFollow(FOLLOW_ws_in_cp_mixin_call9984); + dbg.location(1367,69); + pushFollow(FOLLOW_ws_in_cp_mixin_call10044); ws(); state._fsp--; if (state.failed) return; @@ -32386,27 +32485,27 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { break; } - } finally {dbg.exitSubRule(460);} - dbg.location(1362,73); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:73: ( cp_mixin_call_args )? - int alt461=2; - try { dbg.enterSubRule(461); - try { dbg.enterDecision(461, decisionCanBacktrack[461]); + } finally {dbg.exitSubRule(462);} + dbg.location(1367,73); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:73: ( cp_mixin_call_args )? + int alt463=2; + try { dbg.enterSubRule(463); + try { dbg.enterDecision(463, decisionCanBacktrack[463]); - int LA461_0 = input.LA(1); - if ( ((LA461_0 >= ANGLE && LA461_0 <= AT_SIGN)||(LA461_0 >= BOTTOMCENTER_SYM && LA461_0 <= BOTTOMRIGHT_SYM)||LA461_0==CHARSET_SYM||LA461_0==COUNTER_STYLE_SYM||LA461_0==DIMENSION||LA461_0==EMS||LA461_0==EXS||(LA461_0 >= FONT_FACE_SYM && LA461_0 <= FREQ)||LA461_0==GEN||(LA461_0 >= HASH && LA461_0 <= HASH_SYMBOL)||(LA461_0 >= IDENT && LA461_0 <= IMPORT_SYM)||(LA461_0 >= LBRACE && LA461_0 <= LENGTH)||(LA461_0 >= LESS_AND && LA461_0 <= LESS_JS_STRING)||LA461_0==LPAREN||(LA461_0 >= MEDIA_SYM && LA461_0 <= MOZ_DOCUMENT_SYM)||LA461_0==NAMESPACE_SYM||(LA461_0 >= NOT && LA461_0 <= NUMBER)||(LA461_0 >= PAGE_SYM && LA461_0 <= PERCENTAGE_SYMBOL)||LA461_0==PLUS||(LA461_0 >= REM && LA461_0 <= RIGHTTOP_SYM)||(LA461_0 >= SASS_AT_ROOT && LA461_0 <= SASS_DEBUG)||(LA461_0 >= SASS_EACH && LA461_0 <= SASS_ELSE)||LA461_0==SASS_EXTEND||(LA461_0 >= SASS_FOR && LA461_0 <= SASS_FUNCTION)||(LA461_0 >= SASS_IF && LA461_0 <= SASS_MIXIN)||(LA461_0 >= SASS_RETURN && LA461_0 <= SASS_WHILE)||LA461_0==STRING||(LA461_0 >= TILDE && LA461_0 <= TOPRIGHT_SYM)||(LA461_0 >= URANGE && LA461_0 <= URI)||LA461_0==VARIABLE||LA461_0==WEBKIT_KEYFRAMES_SYM) ) { - alt461=1; + int LA463_0 = input.LA(1); + if ( ((LA463_0 >= ANGLE && LA463_0 <= AT_SIGN)||(LA463_0 >= BOTTOMCENTER_SYM && LA463_0 <= BOTTOMRIGHT_SYM)||LA463_0==CHARSET_SYM||LA463_0==COUNTER_STYLE_SYM||LA463_0==DIMENSION||LA463_0==EMS||LA463_0==EXS||(LA463_0 >= FONT_FACE_SYM && LA463_0 <= FREQ)||LA463_0==GEN||(LA463_0 >= HASH && LA463_0 <= HASH_SYMBOL)||(LA463_0 >= IDENT && LA463_0 <= IMPORT_SYM)||(LA463_0 >= LBRACE && LA463_0 <= LENGTH)||(LA463_0 >= LESS_AND && LA463_0 <= LESS_JS_STRING)||LA463_0==LPAREN||(LA463_0 >= MEDIA_SYM && LA463_0 <= MOZ_DOCUMENT_SYM)||LA463_0==NAMESPACE_SYM||(LA463_0 >= NOT && LA463_0 <= NUMBER)||(LA463_0 >= PAGE_SYM && LA463_0 <= PERCENTAGE_SYMBOL)||LA463_0==PLUS||(LA463_0 >= REM && LA463_0 <= RIGHTTOP_SYM)||(LA463_0 >= SASS_AT_ROOT && LA463_0 <= SASS_DEBUG)||(LA463_0 >= SASS_EACH && LA463_0 <= SASS_ELSE)||LA463_0==SASS_EXTEND||(LA463_0 >= SASS_FOR && LA463_0 <= SASS_FUNCTION)||(LA463_0 >= SASS_IF && LA463_0 <= SASS_MIXIN)||(LA463_0 >= SASS_RETURN && LA463_0 <= SASS_WHILE)||LA463_0==STRING||(LA463_0 >= TILDE && LA463_0 <= TOPRIGHT_SYM)||(LA463_0 >= URANGE && LA463_0 <= URI)||LA463_0==VARIABLE||LA463_0==WEBKIT_KEYFRAMES_SYM) ) { + alt463=1; } - } finally {dbg.exitDecision(461);} + } finally {dbg.exitDecision(463);} - switch (alt461) { + switch (alt463) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:73: cp_mixin_call_args + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:73: cp_mixin_call_args { - dbg.location(1362,73); - pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call9987); + dbg.location(1367,73); + pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call10047); cp_mixin_call_args(); state._fsp--; if (state.failed) return; @@ -32414,56 +32513,56 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { break; } - } finally {dbg.exitSubRule(461);} - dbg.location(1362,93); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call9990); if (state.failed) return; + } finally {dbg.exitSubRule(463);} + dbg.location(1367,93); + match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call10050); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(462);} - dbg.location(1362,102); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:102: ( ( ws )? cp_mixin_block )? - int alt464=2; - try { dbg.enterSubRule(464); - try { dbg.enterDecision(464, decisionCanBacktrack[464]); + } finally {dbg.exitSubRule(464);} + dbg.location(1367,102); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:102: ( ( ws )? cp_mixin_block )? + int alt466=2; + try { dbg.enterSubRule(466); + try { dbg.enterDecision(466, decisionCanBacktrack[466]); try { isCyclicDecision = true; - alt464 = dfa464.predict(input); + alt466 = dfa466.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(464);} + } finally {dbg.exitDecision(466);} - switch (alt464) { + switch (alt466) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:103: ( ws )? cp_mixin_block + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:103: ( ws )? cp_mixin_block { - dbg.location(1362,103); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:103: ( ws )? - int alt463=2; - try { dbg.enterSubRule(463); - try { dbg.enterDecision(463, decisionCanBacktrack[463]); + dbg.location(1367,103); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:103: ( ws )? + int alt465=2; + try { dbg.enterSubRule(465); + try { dbg.enterDecision(465, decisionCanBacktrack[465]); - int LA463_0 = input.LA(1); - if ( (LA463_0==COMMENT||LA463_0==NL||LA463_0==WS) ) { - alt463=1; + int LA465_0 = input.LA(1); + if ( (LA465_0==COMMENT||LA465_0==NL||LA465_0==WS) ) { + alt465=1; } - } finally {dbg.exitDecision(463);} + } finally {dbg.exitDecision(465);} - switch (alt463) { + switch (alt465) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1362:103: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:103: ws { - dbg.location(1362,103); - pushFollow(FOLLOW_ws_in_cp_mixin_call9995); + dbg.location(1367,103); + pushFollow(FOLLOW_ws_in_cp_mixin_call10055); ws(); state._fsp--; if (state.failed) return; @@ -32471,9 +32570,9 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { break; } - } finally {dbg.exitSubRule(463);} - dbg.location(1362,107); - pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_call9998); + } finally {dbg.exitSubRule(465);} + dbg.location(1367,107); + pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_call10058); cp_mixin_block(); state._fsp--; if (state.failed) return; @@ -32481,13 +32580,13 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { break; } - } finally {dbg.exitSubRule(464);} + } finally {dbg.exitSubRule(466);} } break; } - } finally {dbg.exitSubRule(465);} + } finally {dbg.exitSubRule(467);} } @@ -32499,7 +32598,7 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { finally { // do for sure before leaving } - dbg.location(1364, 4); + dbg.location(1369, 4); } finally { @@ -32514,40 +32613,40 @@ else if ( (LA458_0==LPAREN) && (synpred63_Css3())) { // $ANTLR start "cp_mixin_block" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1366:1: cp_mixin_block : LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1371:1: cp_mixin_block : LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE ; public final void cp_mixin_block() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_mixin_block"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1366, 0); + dbg.location(1371, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:5: ( LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1372:5: ( LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1368:5: LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1373:5: LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE { - dbg.location(1368,5); - match(input,LBRACE,FOLLOW_LBRACE_in_cp_mixin_block10027); if (state.failed) return;dbg.location(1368,12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1368:12: ( ws )? - int alt466=2; - try { dbg.enterSubRule(466); - try { dbg.enterDecision(466, decisionCanBacktrack[466]); + dbg.location(1373,5); + match(input,LBRACE,FOLLOW_LBRACE_in_cp_mixin_block10087); if (state.failed) return;dbg.location(1373,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1373:12: ( ws )? + int alt468=2; + try { dbg.enterSubRule(468); + try { dbg.enterDecision(468, decisionCanBacktrack[468]); - int LA466_0 = input.LA(1); - if ( (LA466_0==COMMENT||LA466_0==NL||LA466_0==WS) ) { - alt466=1; + int LA468_0 = input.LA(1); + if ( (LA468_0==COMMENT||LA468_0==NL||LA468_0==WS) ) { + alt468=1; } - } finally {dbg.exitDecision(466);} + } finally {dbg.exitDecision(468);} - switch (alt466) { + switch (alt468) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1368:12: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1373:12: ws { - dbg.location(1368,12); - pushFollow(FOLLOW_ws_in_cp_mixin_block10029); + dbg.location(1373,12); + pushFollow(FOLLOW_ws_in_cp_mixin_block10089); ws(); state._fsp--; if (state.failed) return; @@ -32555,58 +32654,58 @@ public final void cp_mixin_block() throws RecognitionException { break; } - } finally {dbg.exitSubRule(466);} - dbg.location(1368,16); - pushFollow(FOLLOW_syncToFollow_in_cp_mixin_block10032); + } finally {dbg.exitSubRule(468);} + dbg.location(1373,16); + pushFollow(FOLLOW_syncToFollow_in_cp_mixin_block10092); syncToFollow(); state._fsp--; - if (state.failed) return;dbg.location(1369,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1369:9: ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? - int alt469=3; - try { dbg.enterSubRule(469); - try { dbg.enterDecision(469, decisionCanBacktrack[469]); - - int LA469_0 = input.LA(1); - if ( ((LA469_0 >= AT_IDENT && LA469_0 <= AT_SIGN)||(LA469_0 >= BOTTOMCENTER_SYM && LA469_0 <= BOTTOMRIGHT_SYM)||(LA469_0 >= CHARSET_SYM && LA469_0 <= COLON)||LA469_0==CONTAINER_SYM||LA469_0==COUNTER_STYLE_SYM||(LA469_0 >= DCOLON && LA469_0 <= DOT)||LA469_0==FONT_FACE_SYM||(LA469_0 >= GEN && LA469_0 <= GREATER)||(LA469_0 >= HASH && LA469_0 <= HASH_SYMBOL)||LA469_0==IMPORT_SYM||LA469_0==LAYER_SYM||(LA469_0 >= LBRACKET && LA469_0 <= LEFTTOP_SYM)||LA469_0==LESS_AND||(LA469_0 >= MEDIA_SYM && LA469_0 <= MOZ_DOCUMENT_SYM)||LA469_0==NAMESPACE_SYM||LA469_0==PAGE_SYM||(LA469_0 >= PIPE && LA469_0 <= PLUS)||(LA469_0 >= RIGHTBOTTOM_SYM && LA469_0 <= RIGHTTOP_SYM)||LA469_0==SASS_AT_ROOT||LA469_0==SASS_DEBUG||(LA469_0 >= SASS_EACH && LA469_0 <= SASS_ELSE)||(LA469_0 >= SASS_ERROR && LA469_0 <= SASS_FUNCTION)||(LA469_0 >= SASS_IF && LA469_0 <= SASS_MIXIN)||(LA469_0 >= SASS_RETURN && LA469_0 <= SEMI)||LA469_0==STAR||LA469_0==SUPPORTS_SYM||LA469_0==TILDE||(LA469_0 >= TOPCENTER_SYM && LA469_0 <= TOPRIGHT_SYM)||LA469_0==VARIABLE||LA469_0==WEBKIT_KEYFRAMES_SYM) ) { - alt469=1; - } - else if ( (LA469_0==IDENT) ) { - int LA469_4 = input.LA(2); + if (state.failed) return;dbg.location(1374,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:9: ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? + int alt471=3; + try { dbg.enterSubRule(471); + try { dbg.enterDecision(471, decisionCanBacktrack[471]); + + int LA471_0 = input.LA(1); + if ( ((LA471_0 >= AT_IDENT && LA471_0 <= AT_SIGN)||(LA471_0 >= BOTTOMCENTER_SYM && LA471_0 <= BOTTOMRIGHT_SYM)||(LA471_0 >= CHARSET_SYM && LA471_0 <= COLON)||LA471_0==CONTAINER_SYM||LA471_0==COUNTER_STYLE_SYM||(LA471_0 >= DCOLON && LA471_0 <= DOT)||LA471_0==FONT_FACE_SYM||(LA471_0 >= GEN && LA471_0 <= GREATER)||(LA471_0 >= HASH && LA471_0 <= HASH_SYMBOL)||LA471_0==IMPORT_SYM||LA471_0==LAYER_SYM||(LA471_0 >= LBRACKET && LA471_0 <= LEFTTOP_SYM)||LA471_0==LESS_AND||(LA471_0 >= MEDIA_SYM && LA471_0 <= MOZ_DOCUMENT_SYM)||LA471_0==NAMESPACE_SYM||LA471_0==PAGE_SYM||(LA471_0 >= PIPE && LA471_0 <= PLUS)||(LA471_0 >= RIGHTBOTTOM_SYM && LA471_0 <= RIGHTTOP_SYM)||LA471_0==SASS_AT_ROOT||LA471_0==SASS_DEBUG||(LA471_0 >= SASS_EACH && LA471_0 <= SASS_ELSE)||(LA471_0 >= SASS_ERROR && LA471_0 <= SASS_FUNCTION)||(LA471_0 >= SASS_IF && LA471_0 <= SASS_MIXIN)||(LA471_0 >= SASS_RETURN && LA471_0 <= SEMI)||LA471_0==STAR||LA471_0==SUPPORTS_SYM||LA471_0==TILDE||(LA471_0 >= TOPCENTER_SYM && LA471_0 <= TOPRIGHT_SYM)||LA471_0==VARIABLE||LA471_0==WEBKIT_KEYFRAMES_SYM) ) { + alt471=1; + } + else if ( (LA471_0==IDENT) ) { + int LA471_4 = input.LA(2); if ( (true) ) { - alt469=1; + alt471=1; } - else if ( (((evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")||evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")"))&&synpred64_Css3())) ) { - alt469=2; + else if ( (((evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")||evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")"))&&synpred70_Css3())) ) { + alt471=2; } } - else if ( (LA469_0==SASS_CONTENT) ) { - int LA469_38 = input.LA(2); + else if ( (LA471_0==SASS_CONTENT) ) { + int LA471_38 = input.LA(2); if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||((evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))||((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt469=1; + alt471=1; } - else if ( ((synpred64_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt469=2; + else if ( ((synpred70_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { + alt471=2; } } - else if ( (LA469_0==PERCENTAGE) && (synpred64_Css3())) { - alt469=2; + else if ( (LA471_0==PERCENTAGE) && (synpred70_Css3())) { + alt471=2; } - else if ( (LA469_0==RBRACE) ) { - int LA469_44 = input.LA(2); - if ( (synpred64_Css3()) ) { - alt469=2; + else if ( (LA471_0==RBRACE) ) { + int LA471_44 = input.LA(2); + if ( (synpred70_Css3()) ) { + alt471=2; } } - } finally {dbg.exitDecision(469);} + } finally {dbg.exitDecision(471);} - switch (alt469) { + switch (alt471) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1369:10: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:10: declarations { - dbg.location(1369,10); - pushFollow(FOLLOW_declarations_in_cp_mixin_block10043); + dbg.location(1374,10); + pushFollow(FOLLOW_declarations_in_cp_mixin_block10103); declarations(); state._fsp--; if (state.failed) return; @@ -32615,54 +32714,54 @@ else if ( (LA469_0==RBRACE) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1369:25: ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:25: ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* { - dbg.location(1370,3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1370:3: ( webkitKeyframesBlock ( ws )? )* - try { dbg.enterSubRule(468); + dbg.location(1375,3); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:3: ( webkitKeyframesBlock ( ws )? )* + try { dbg.enterSubRule(470); - loop468: + loop470: while (true) { - int alt468=2; - try { dbg.enterDecision(468, decisionCanBacktrack[468]); + int alt470=2; + try { dbg.enterDecision(470, decisionCanBacktrack[470]); - int LA468_0 = input.LA(1); - if ( (LA468_0==IDENT||LA468_0==PERCENTAGE||LA468_0==SASS_CONTENT) ) { - alt468=1; + int LA470_0 = input.LA(1); + if ( (LA470_0==IDENT||LA470_0==PERCENTAGE||LA470_0==SASS_CONTENT) ) { + alt470=1; } - } finally {dbg.exitDecision(468);} + } finally {dbg.exitDecision(470);} - switch (alt468) { + switch (alt470) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1370:5: webkitKeyframesBlock ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:5: webkitKeyframesBlock ( ws )? { - dbg.location(1370,5); - pushFollow(FOLLOW_webkitKeyframesBlock_in_cp_mixin_block10058); + dbg.location(1375,5); + pushFollow(FOLLOW_webkitKeyframesBlock_in_cp_mixin_block10118); webkitKeyframesBlock(); state._fsp--; - if (state.failed) return;dbg.location(1370,26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1370:26: ( ws )? - int alt467=2; - try { dbg.enterSubRule(467); - try { dbg.enterDecision(467, decisionCanBacktrack[467]); + if (state.failed) return;dbg.location(1375,26); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:26: ( ws )? + int alt469=2; + try { dbg.enterSubRule(469); + try { dbg.enterDecision(469, decisionCanBacktrack[469]); - int LA467_0 = input.LA(1); - if ( (LA467_0==COMMENT||LA467_0==NL||LA467_0==WS) ) { - alt467=1; + int LA469_0 = input.LA(1); + if ( (LA469_0==COMMENT||LA469_0==NL||LA469_0==WS) ) { + alt469=1; } - } finally {dbg.exitDecision(467);} + } finally {dbg.exitDecision(469);} - switch (alt467) { + switch (alt469) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1370:26: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:26: ws { - dbg.location(1370,26); - pushFollow(FOLLOW_ws_in_cp_mixin_block10060); + dbg.location(1375,26); + pushFollow(FOLLOW_ws_in_cp_mixin_block10120); ws(); state._fsp--; if (state.failed) return; @@ -32670,24 +32769,24 @@ else if ( (LA469_0==RBRACE) ) { break; } - } finally {dbg.exitSubRule(467);} + } finally {dbg.exitSubRule(469);} } break; default : - break loop468; + break loop470; } } - } finally {dbg.exitSubRule(468);} + } finally {dbg.exitSubRule(470);} } break; } - } finally {dbg.exitSubRule(469);} - dbg.location(1371,5); - match(input,RBRACE,FOLLOW_RBRACE_in_cp_mixin_block10072); if (state.failed) return; + } finally {dbg.exitSubRule(471);} + dbg.location(1376,5); + match(input,RBRACE,FOLLOW_RBRACE_in_cp_mixin_block10132); if (state.failed) return; } } @@ -32698,7 +32797,7 @@ else if ( (LA469_0==RBRACE) ) { finally { // do for sure before leaving } - dbg.location(1372, 4); + dbg.location(1377, 4); } finally { @@ -32713,21 +32812,21 @@ else if ( (LA469_0==RBRACE) ) { // $ANTLR start "cp_mixin_name" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:1: cp_mixin_name : IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1379:1: cp_mixin_name : IDENT ; public final void cp_mixin_name() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_mixin_name"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1374, 0); + dbg.location(1379, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:5: ( IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1380:5: ( IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1376:5: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1381:5: IDENT { - dbg.location(1376,5); - match(input,IDENT,FOLLOW_IDENT_in_cp_mixin_name10093); if (state.failed) return; + dbg.location(1381,5); + match(input,IDENT,FOLLOW_IDENT_in_cp_mixin_name10153); if (state.failed) return; } } @@ -32738,7 +32837,7 @@ public final void cp_mixin_name() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1377, 4); + dbg.location(1382, 4); } finally { @@ -32753,53 +32852,53 @@ public final void cp_mixin_name() throws RecognitionException { // $ANTLR start "cp_mixin_call_args" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1379:1: cp_mixin_call_args : cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1384:1: cp_mixin_call_args : cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? ; public final void cp_mixin_call_args() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call_args"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1379, 0); + dbg.location(1384, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1380:5: ( cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1385:5: ( cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:5: cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:5: cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? { - dbg.location(1383,5); - pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args10124); + dbg.location(1388,5); + pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args10184); cp_mixin_call_arg(); state._fsp--; - if (state.failed) return;dbg.location(1383,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:23: ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* - try { dbg.enterSubRule(471); + if (state.failed) return;dbg.location(1388,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:23: ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* + try { dbg.enterSubRule(473); - loop471: + loop473: while (true) { - int alt471=2; - try { dbg.enterDecision(471, decisionCanBacktrack[471]); + int alt473=2; + try { dbg.enterDecision(473, decisionCanBacktrack[473]); - int LA471_0 = input.LA(1); - if ( (LA471_0==SEMI) ) { - int LA471_2 = input.LA(2); - if ( ((LA471_2 >= ANGLE && LA471_2 <= AT_SIGN)||(LA471_2 >= BOTTOMCENTER_SYM && LA471_2 <= BOTTOMRIGHT_SYM)||LA471_2==CHARSET_SYM||LA471_2==COMMENT||LA471_2==COUNTER_STYLE_SYM||LA471_2==DIMENSION||LA471_2==EMS||LA471_2==EXS||(LA471_2 >= FONT_FACE_SYM && LA471_2 <= FREQ)||LA471_2==GEN||(LA471_2 >= HASH && LA471_2 <= HASH_SYMBOL)||(LA471_2 >= IDENT && LA471_2 <= IMPORT_SYM)||(LA471_2 >= LBRACE && LA471_2 <= LENGTH)||(LA471_2 >= LESS_AND && LA471_2 <= LESS_JS_STRING)||LA471_2==LPAREN||(LA471_2 >= MEDIA_SYM && LA471_2 <= MOZ_DOCUMENT_SYM)||(LA471_2 >= NAMESPACE_SYM && LA471_2 <= NL)||(LA471_2 >= NOT && LA471_2 <= NUMBER)||(LA471_2 >= PAGE_SYM && LA471_2 <= PERCENTAGE_SYMBOL)||LA471_2==PLUS||(LA471_2 >= REM && LA471_2 <= RIGHTTOP_SYM)||(LA471_2 >= SASS_AT_ROOT && LA471_2 <= SASS_DEBUG)||(LA471_2 >= SASS_EACH && LA471_2 <= SASS_ELSE)||LA471_2==SASS_EXTEND||(LA471_2 >= SASS_FOR && LA471_2 <= SASS_FUNCTION)||(LA471_2 >= SASS_IF && LA471_2 <= SASS_MIXIN)||(LA471_2 >= SASS_RETURN && LA471_2 <= SASS_WHILE)||LA471_2==STRING||(LA471_2 >= TILDE && LA471_2 <= TOPRIGHT_SYM)||(LA471_2 >= URANGE && LA471_2 <= URI)||LA471_2==VARIABLE||(LA471_2 >= WEBKIT_KEYFRAMES_SYM && LA471_2 <= WS)) ) { - alt471=1; + int LA473_0 = input.LA(1); + if ( (LA473_0==SEMI) ) { + int LA473_2 = input.LA(2); + if ( ((LA473_2 >= ANGLE && LA473_2 <= AT_SIGN)||(LA473_2 >= BOTTOMCENTER_SYM && LA473_2 <= BOTTOMRIGHT_SYM)||LA473_2==CHARSET_SYM||LA473_2==COMMENT||LA473_2==COUNTER_STYLE_SYM||LA473_2==DIMENSION||LA473_2==EMS||LA473_2==EXS||(LA473_2 >= FONT_FACE_SYM && LA473_2 <= FREQ)||LA473_2==GEN||(LA473_2 >= HASH && LA473_2 <= HASH_SYMBOL)||(LA473_2 >= IDENT && LA473_2 <= IMPORT_SYM)||(LA473_2 >= LBRACE && LA473_2 <= LENGTH)||(LA473_2 >= LESS_AND && LA473_2 <= LESS_JS_STRING)||LA473_2==LPAREN||(LA473_2 >= MEDIA_SYM && LA473_2 <= MOZ_DOCUMENT_SYM)||(LA473_2 >= NAMESPACE_SYM && LA473_2 <= NL)||(LA473_2 >= NOT && LA473_2 <= NUMBER)||(LA473_2 >= PAGE_SYM && LA473_2 <= PERCENTAGE_SYMBOL)||LA473_2==PLUS||(LA473_2 >= REM && LA473_2 <= RIGHTTOP_SYM)||(LA473_2 >= SASS_AT_ROOT && LA473_2 <= SASS_DEBUG)||(LA473_2 >= SASS_EACH && LA473_2 <= SASS_ELSE)||LA473_2==SASS_EXTEND||(LA473_2 >= SASS_FOR && LA473_2 <= SASS_FUNCTION)||(LA473_2 >= SASS_IF && LA473_2 <= SASS_MIXIN)||(LA473_2 >= SASS_RETURN && LA473_2 <= SASS_WHILE)||LA473_2==STRING||(LA473_2 >= TILDE && LA473_2 <= TOPRIGHT_SYM)||(LA473_2 >= URANGE && LA473_2 <= URI)||LA473_2==VARIABLE||(LA473_2 >= WEBKIT_KEYFRAMES_SYM && LA473_2 <= WS)) ) { + alt473=1; } } - else if ( (LA471_0==COMMA) ) { - alt471=1; + else if ( (LA473_0==COMMA) ) { + alt473=1; } - } finally {dbg.exitDecision(471);} + } finally {dbg.exitDecision(473);} - switch (alt471) { + switch (alt473) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:25: ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:25: ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg { - dbg.location(1383,25); + dbg.location(1388,25); if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) { input.consume(); state.errorRecovery=false; @@ -32810,26 +32909,26 @@ else if ( (LA471_0==COMMA) ) { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1383,40); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:40: ( ws )? - int alt470=2; - try { dbg.enterSubRule(470); - try { dbg.enterDecision(470, decisionCanBacktrack[470]); + }dbg.location(1388,40); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:40: ( ws )? + int alt472=2; + try { dbg.enterSubRule(472); + try { dbg.enterDecision(472, decisionCanBacktrack[472]); - int LA470_0 = input.LA(1); - if ( (LA470_0==COMMENT||LA470_0==NL||LA470_0==WS) ) { - alt470=1; + int LA472_0 = input.LA(1); + if ( (LA472_0==COMMENT||LA472_0==NL||LA472_0==WS) ) { + alt472=1; } - } finally {dbg.exitDecision(470);} + } finally {dbg.exitDecision(472);} - switch (alt470) { + switch (alt472) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:40: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:40: ws { - dbg.location(1383,40); - pushFollow(FOLLOW_ws_in_cp_mixin_call_args10136); + dbg.location(1388,40); + pushFollow(FOLLOW_ws_in_cp_mixin_call_args10196); ws(); state._fsp--; if (state.failed) return; @@ -32837,9 +32936,9 @@ else if ( (LA471_0==COMMA) ) { break; } - } finally {dbg.exitSubRule(470);} - dbg.location(1383,44); - pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args10139); + } finally {dbg.exitSubRule(472);} + dbg.location(1388,44); + pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args10199); cp_mixin_call_arg(); state._fsp--; if (state.failed) return; @@ -32847,49 +32946,49 @@ else if ( (LA471_0==COMMA) ) { break; default : - break loop471; + break loop473; } } - } finally {dbg.exitSubRule(471);} - dbg.location(1383,65); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:65: ( CP_DOTS ( ws )? )? - int alt473=2; - try { dbg.enterSubRule(473); - try { dbg.enterDecision(473, decisionCanBacktrack[473]); + } finally {dbg.exitSubRule(473);} + dbg.location(1388,65); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:65: ( CP_DOTS ( ws )? )? + int alt475=2; + try { dbg.enterSubRule(475); + try { dbg.enterDecision(475, decisionCanBacktrack[475]); - int LA473_0 = input.LA(1); - if ( (LA473_0==CP_DOTS) ) { - alt473=1; + int LA475_0 = input.LA(1); + if ( (LA475_0==CP_DOTS) ) { + alt475=1; } - } finally {dbg.exitDecision(473);} + } finally {dbg.exitDecision(475);} - switch (alt473) { + switch (alt475) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:66: CP_DOTS ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:66: CP_DOTS ( ws )? { - dbg.location(1383,66); - match(input,CP_DOTS,FOLLOW_CP_DOTS_in_cp_mixin_call_args10145); if (state.failed) return;dbg.location(1383,74); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:74: ( ws )? - int alt472=2; - try { dbg.enterSubRule(472); - try { dbg.enterDecision(472, decisionCanBacktrack[472]); + dbg.location(1388,66); + match(input,CP_DOTS,FOLLOW_CP_DOTS_in_cp_mixin_call_args10205); if (state.failed) return;dbg.location(1388,74); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:74: ( ws )? + int alt474=2; + try { dbg.enterSubRule(474); + try { dbg.enterDecision(474, decisionCanBacktrack[474]); - int LA472_0 = input.LA(1); - if ( (LA472_0==COMMENT||LA472_0==NL||LA472_0==WS) ) { - alt472=1; + int LA474_0 = input.LA(1); + if ( (LA474_0==COMMENT||LA474_0==NL||LA474_0==WS) ) { + alt474=1; } - } finally {dbg.exitDecision(472);} + } finally {dbg.exitDecision(474);} - switch (alt472) { + switch (alt474) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:74: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:74: ws { - dbg.location(1383,74); - pushFollow(FOLLOW_ws_in_cp_mixin_call_args10147); + dbg.location(1388,74); + pushFollow(FOLLOW_ws_in_cp_mixin_call_args10207); ws(); state._fsp--; if (state.failed) return; @@ -32897,38 +32996,38 @@ else if ( (LA471_0==COMMA) ) { break; } - } finally {dbg.exitSubRule(472);} + } finally {dbg.exitSubRule(474);} } break; } - } finally {dbg.exitSubRule(473);} - dbg.location(1383,80); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:80: ( SEMI )? - int alt474=2; - try { dbg.enterSubRule(474); - try { dbg.enterDecision(474, decisionCanBacktrack[474]); + } finally {dbg.exitSubRule(475);} + dbg.location(1388,80); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:80: ( SEMI )? + int alt476=2; + try { dbg.enterSubRule(476); + try { dbg.enterDecision(476, decisionCanBacktrack[476]); - int LA474_0 = input.LA(1); - if ( (LA474_0==SEMI) ) { - alt474=1; + int LA476_0 = input.LA(1); + if ( (LA476_0==SEMI) ) { + alt476=1; } - } finally {dbg.exitDecision(474);} + } finally {dbg.exitDecision(476);} - switch (alt474) { + switch (alt476) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1383:80: SEMI + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:80: SEMI { - dbg.location(1383,80); - match(input,SEMI,FOLLOW_SEMI_in_cp_mixin_call_args10152); if (state.failed) return; + dbg.location(1388,80); + match(input,SEMI,FOLLOW_SEMI_in_cp_mixin_call_args10212); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(474);} + } finally {dbg.exitSubRule(476);} } @@ -32940,7 +33039,7 @@ else if ( (LA471_0==COMMA) ) { finally { // do for sure before leaving } - dbg.location(1384, 4); + dbg.location(1389, 4); } finally { @@ -32955,65 +33054,65 @@ else if ( (LA471_0==COMMA) ) { // $ANTLR start "cp_mixin_call_arg" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1386:1: cp_mixin_call_arg : ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1391:1: cp_mixin_call_arg : ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? ; public final void cp_mixin_call_arg() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_mixin_call_arg"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1386, 0); + dbg.location(1391, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1387:5: ( ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1392:5: ( ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1393:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) ( ws )? { - dbg.location(1388,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) - int alt477=2; - try { dbg.enterSubRule(477); - try { dbg.enterDecision(477, decisionCanBacktrack[477]); + dbg.location(1393,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1393:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) + int alt479=2; + try { dbg.enterSubRule(479); + try { dbg.enterDecision(479, decisionCanBacktrack[479]); try { isCyclicDecision = true; - alt477 = dfa477.predict(input); + alt479 = dfa479.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(477);} + } finally {dbg.exitDecision(479);} - switch (alt477) { + switch (alt479) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1389:9: cp_variable ( ws )? COLON ( ws )? cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:9: cp_variable ( ws )? COLON ( ws )? cp_expression { - dbg.location(1389,9); - pushFollow(FOLLOW_cp_variable_in_cp_mixin_call_arg10184); + dbg.location(1394,9); + pushFollow(FOLLOW_cp_variable_in_cp_mixin_call_arg10244); cp_variable(); state._fsp--; - if (state.failed) return;dbg.location(1389,21); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1389:21: ( ws )? - int alt475=2; - try { dbg.enterSubRule(475); - try { dbg.enterDecision(475, decisionCanBacktrack[475]); + if (state.failed) return;dbg.location(1394,21); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:21: ( ws )? + int alt477=2; + try { dbg.enterSubRule(477); + try { dbg.enterDecision(477, decisionCanBacktrack[477]); - int LA475_0 = input.LA(1); - if ( (LA475_0==COMMENT||LA475_0==NL||LA475_0==WS) ) { - alt475=1; + int LA477_0 = input.LA(1); + if ( (LA477_0==COMMENT||LA477_0==NL||LA477_0==WS) ) { + alt477=1; } - } finally {dbg.exitDecision(475);} + } finally {dbg.exitDecision(477);} - switch (alt475) { + switch (alt477) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1389:21: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:21: ws { - dbg.location(1389,21); - pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10186); + dbg.location(1394,21); + pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10246); ws(); state._fsp--; if (state.failed) return; @@ -33021,28 +33120,28 @@ public final void cp_mixin_call_arg() throws RecognitionException { break; } - } finally {dbg.exitSubRule(475);} - dbg.location(1389,25); - match(input,COLON,FOLLOW_COLON_in_cp_mixin_call_arg10189); if (state.failed) return;dbg.location(1389,31); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1389:31: ( ws )? - int alt476=2; - try { dbg.enterSubRule(476); - try { dbg.enterDecision(476, decisionCanBacktrack[476]); + } finally {dbg.exitSubRule(477);} + dbg.location(1394,25); + match(input,COLON,FOLLOW_COLON_in_cp_mixin_call_arg10249); if (state.failed) return;dbg.location(1394,31); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:31: ( ws )? + int alt478=2; + try { dbg.enterSubRule(478); + try { dbg.enterDecision(478, decisionCanBacktrack[478]); - int LA476_0 = input.LA(1); - if ( (LA476_0==COMMENT||LA476_0==NL||LA476_0==WS) ) { - alt476=1; + int LA478_0 = input.LA(1); + if ( (LA478_0==COMMENT||LA478_0==NL||LA478_0==WS) ) { + alt478=1; } - } finally {dbg.exitDecision(476);} + } finally {dbg.exitDecision(478);} - switch (alt476) { + switch (alt478) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1389:31: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:31: ws { - dbg.location(1389,31); - pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10191); + dbg.location(1394,31); + pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10251); ws(); state._fsp--; if (state.failed) return; @@ -33050,9 +33149,9 @@ public final void cp_mixin_call_arg() throws RecognitionException { break; } - } finally {dbg.exitSubRule(476);} - dbg.location(1389,35); - pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg10194); + } finally {dbg.exitSubRule(478);} + dbg.location(1394,35); + pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg10254); cp_expression(); state._fsp--; if (state.failed) return; @@ -33061,10 +33160,10 @@ public final void cp_mixin_call_arg() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1390:11: cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1395:11: cp_expression { - dbg.location(1390,11); - pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg10206); + dbg.location(1395,11); + pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg10266); cp_expression(); state._fsp--; if (state.failed) return; @@ -33072,27 +33171,27 @@ public final void cp_mixin_call_arg() throws RecognitionException { break; } - } finally {dbg.exitSubRule(477);} - dbg.location(1391,7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1391:7: ( ws )? - int alt478=2; - try { dbg.enterSubRule(478); - try { dbg.enterDecision(478, decisionCanBacktrack[478]); + } finally {dbg.exitSubRule(479);} + dbg.location(1396,7); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1396:7: ( ws )? + int alt480=2; + try { dbg.enterSubRule(480); + try { dbg.enterDecision(480, decisionCanBacktrack[480]); - int LA478_0 = input.LA(1); - if ( (LA478_0==COMMENT||LA478_0==NL||LA478_0==WS) ) { - alt478=1; + int LA480_0 = input.LA(1); + if ( (LA480_0==COMMENT||LA480_0==NL||LA480_0==WS) ) { + alt480=1; } - } finally {dbg.exitDecision(478);} + } finally {dbg.exitDecision(480);} - switch (alt478) { + switch (alt480) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1391:7: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1396:7: ws { - dbg.location(1391,7); - pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10214); + dbg.location(1396,7); + pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10274); ws(); state._fsp--; if (state.failed) return; @@ -33100,7 +33199,7 @@ public final void cp_mixin_call_arg() throws RecognitionException { break; } - } finally {dbg.exitSubRule(478);} + } finally {dbg.exitSubRule(480);} } @@ -33112,7 +33211,7 @@ public final void cp_mixin_call_arg() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1392, 4); + dbg.location(1397, 4); } finally { @@ -33127,78 +33226,78 @@ public final void cp_mixin_call_arg() throws RecognitionException { // $ANTLR start "cp_args_list" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1395:1: cp_args_list : ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1400:1: cp_args_list : ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? ); public final void cp_args_list() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_args_list"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1395, 0); + dbg.location(1400, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1396:5: ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? ) - int alt486=2; - try { dbg.enterDecision(486, decisionCanBacktrack[486]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1401:5: ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? ) + int alt488=2; + try { dbg.enterDecision(488, decisionCanBacktrack[488]); - int LA486_0 = input.LA(1); - if ( (LA486_0==AT_IDENT||(LA486_0 >= BOTTOMCENTER_SYM && LA486_0 <= BOTTOMRIGHT_SYM)||LA486_0==CHARSET_SYM||LA486_0==COUNTER_STYLE_SYM||LA486_0==FONT_FACE_SYM||LA486_0==IDENT||LA486_0==IMPORT_SYM||(LA486_0 >= LEFTBOTTOM_SYM && LA486_0 <= LEFTTOP_SYM)||LA486_0==MEDIA_SYM||LA486_0==MOZ_DOCUMENT_SYM||LA486_0==NAMESPACE_SYM||LA486_0==PAGE_SYM||(LA486_0 >= RIGHTBOTTOM_SYM && LA486_0 <= RIGHTTOP_SYM)||(LA486_0 >= SASS_AT_ROOT && LA486_0 <= SASS_DEBUG)||(LA486_0 >= SASS_EACH && LA486_0 <= SASS_ELSE)||LA486_0==SASS_EXTEND||(LA486_0 >= SASS_FOR && LA486_0 <= SASS_FUNCTION)||(LA486_0 >= SASS_IF && LA486_0 <= SASS_MIXIN)||(LA486_0 >= SASS_RETURN && LA486_0 <= SASS_WHILE)||(LA486_0 >= TOPCENTER_SYM && LA486_0 <= TOPRIGHT_SYM)||LA486_0==WEBKIT_KEYFRAMES_SYM) ) { - alt486=1; + int LA488_0 = input.LA(1); + if ( (LA488_0==AT_IDENT||(LA488_0 >= BOTTOMCENTER_SYM && LA488_0 <= BOTTOMRIGHT_SYM)||LA488_0==CHARSET_SYM||LA488_0==COUNTER_STYLE_SYM||LA488_0==FONT_FACE_SYM||LA488_0==IDENT||LA488_0==IMPORT_SYM||(LA488_0 >= LEFTBOTTOM_SYM && LA488_0 <= LEFTTOP_SYM)||LA488_0==MEDIA_SYM||LA488_0==MOZ_DOCUMENT_SYM||LA488_0==NAMESPACE_SYM||LA488_0==PAGE_SYM||(LA488_0 >= RIGHTBOTTOM_SYM && LA488_0 <= RIGHTTOP_SYM)||(LA488_0 >= SASS_AT_ROOT && LA488_0 <= SASS_DEBUG)||(LA488_0 >= SASS_EACH && LA488_0 <= SASS_ELSE)||LA488_0==SASS_EXTEND||(LA488_0 >= SASS_FOR && LA488_0 <= SASS_FUNCTION)||(LA488_0 >= SASS_IF && LA488_0 <= SASS_MIXIN)||(LA488_0 >= SASS_RETURN && LA488_0 <= SASS_WHILE)||(LA488_0 >= TOPCENTER_SYM && LA488_0 <= TOPRIGHT_SYM)||LA488_0==WEBKIT_KEYFRAMES_SYM) ) { + alt488=1; } - else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { - alt486=2; + else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { + alt488=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 486, 0, input); + new NoViableAltException("", 488, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(486);} + } finally {dbg.exitDecision(488);} - switch (alt486) { + switch (alt488) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) { - dbg.location(1403,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) + dbg.location(1408,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:5: ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:7: cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:7: cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? { - dbg.location(1403,7); - pushFollow(FOLLOW_cp_arg_in_cp_args_list10261); + dbg.location(1408,7); + pushFollow(FOLLOW_cp_arg_in_cp_args_list10321); cp_arg(); state._fsp--; - if (state.failed) return;dbg.location(1403,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )* - try { dbg.enterSubRule(480); + if (state.failed) return;dbg.location(1408,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )* + try { dbg.enterSubRule(482); - loop480: + loop482: while (true) { - int alt480=2; - try { dbg.enterDecision(480, decisionCanBacktrack[480]); + int alt482=2; + try { dbg.enterDecision(482, decisionCanBacktrack[482]); try { isCyclicDecision = true; - alt480 = dfa480.predict(input); + alt482 = dfa482.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(480);} + } finally {dbg.exitDecision(482);} - switch (alt480) { + switch (alt482) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:16: ( COMMA | SEMI ) ( ws )? cp_arg + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:16: ( COMMA | SEMI ) ( ws )? cp_arg { - dbg.location(1403,16); + dbg.location(1408,16); if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) { input.consume(); state.errorRecovery=false; @@ -33209,26 +33308,26 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1403,33); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:33: ( ws )? - int alt479=2; - try { dbg.enterSubRule(479); - try { dbg.enterDecision(479, decisionCanBacktrack[479]); + }dbg.location(1408,33); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:33: ( ws )? + int alt481=2; + try { dbg.enterSubRule(481); + try { dbg.enterDecision(481, decisionCanBacktrack[481]); - int LA479_0 = input.LA(1); - if ( (LA479_0==COMMENT||LA479_0==NL||LA479_0==WS) ) { - alt479=1; + int LA481_0 = input.LA(1); + if ( (LA481_0==COMMENT||LA481_0==NL||LA481_0==WS) ) { + alt481=1; } - } finally {dbg.exitDecision(479);} + } finally {dbg.exitDecision(481);} - switch (alt479) { + switch (alt481) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:33: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:33: ws { - dbg.location(1403,33); - pushFollow(FOLLOW_ws_in_cp_args_list10275); + dbg.location(1408,33); + pushFollow(FOLLOW_ws_in_cp_args_list10335); ws(); state._fsp--; if (state.failed) return; @@ -33236,9 +33335,9 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { break; } - } finally {dbg.exitSubRule(479);} - dbg.location(1403,37); - pushFollow(FOLLOW_cp_arg_in_cp_args_list10278); + } finally {dbg.exitSubRule(481);} + dbg.location(1408,37); + pushFollow(FOLLOW_cp_arg_in_cp_args_list10338); cp_arg(); state._fsp--; if (state.failed) return; @@ -33246,29 +33345,29 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { break; default : - break loop480; + break loop482; } } - } finally {dbg.exitSubRule(480);} - dbg.location(1403,47); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:47: ( ( COMMA | SEMI ) ( ws )? )? - int alt482=2; - try { dbg.enterSubRule(482); - try { dbg.enterDecision(482, decisionCanBacktrack[482]); + } finally {dbg.exitSubRule(482);} + dbg.location(1408,47); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:47: ( ( COMMA | SEMI ) ( ws )? )? + int alt484=2; + try { dbg.enterSubRule(484); + try { dbg.enterDecision(484, decisionCanBacktrack[484]); - int LA482_0 = input.LA(1); - if ( (LA482_0==COMMA||LA482_0==SEMI) ) { - alt482=1; + int LA484_0 = input.LA(1); + if ( (LA484_0==COMMA||LA484_0==SEMI) ) { + alt484=1; } - } finally {dbg.exitDecision(482);} + } finally {dbg.exitDecision(484);} - switch (alt482) { + switch (alt484) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:49: ( COMMA | SEMI ) ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:49: ( COMMA | SEMI ) ( ws )? { - dbg.location(1403,49); + dbg.location(1408,49); if ( input.LA(1)==COMMA||input.LA(1)==SEMI ) { input.consume(); state.errorRecovery=false; @@ -33279,26 +33378,26 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1403,64); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:64: ( ws )? - int alt481=2; - try { dbg.enterSubRule(481); - try { dbg.enterDecision(481, decisionCanBacktrack[481]); + }dbg.location(1408,64); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:64: ( ws )? + int alt483=2; + try { dbg.enterSubRule(483); + try { dbg.enterDecision(483, decisionCanBacktrack[483]); - int LA481_0 = input.LA(1); - if ( (LA481_0==COMMENT||LA481_0==NL||LA481_0==WS) ) { - alt481=1; + int LA483_0 = input.LA(1); + if ( (LA483_0==COMMENT||LA483_0==NL||LA483_0==WS) ) { + alt483=1; } - } finally {dbg.exitDecision(481);} + } finally {dbg.exitDecision(483);} - switch (alt481) { + switch (alt483) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:64: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:64: ws { - dbg.location(1403,64); - pushFollow(FOLLOW_ws_in_cp_args_list10293); + dbg.location(1408,64); + pushFollow(FOLLOW_ws_in_cp_args_list10353); ws(); state._fsp--; if (state.failed) return; @@ -33306,32 +33405,32 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { break; } - } finally {dbg.exitSubRule(481);} + } finally {dbg.exitSubRule(483);} } break; } - } finally {dbg.exitSubRule(482);} - dbg.location(1403,71); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:71: ( ( CP_DOTS | LESS_REST ) ( ws )? )? - int alt484=2; - try { dbg.enterSubRule(484); - try { dbg.enterDecision(484, decisionCanBacktrack[484]); + } finally {dbg.exitSubRule(484);} + dbg.location(1408,71); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:71: ( ( CP_DOTS | LESS_REST ) ( ws )? )? + int alt486=2; + try { dbg.enterSubRule(486); + try { dbg.enterDecision(486, decisionCanBacktrack[486]); - int LA484_0 = input.LA(1); - if ( (LA484_0==CP_DOTS||LA484_0==LESS_REST) ) { - alt484=1; + int LA486_0 = input.LA(1); + if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { + alt486=1; } - } finally {dbg.exitDecision(484);} + } finally {dbg.exitDecision(486);} - switch (alt484) { + switch (alt486) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:73: ( CP_DOTS | LESS_REST ) ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:73: ( CP_DOTS | LESS_REST ) ( ws )? { - dbg.location(1403,73); + dbg.location(1408,73); if ( input.LA(1)==CP_DOTS||input.LA(1)==LESS_REST ) { input.consume(); state.errorRecovery=false; @@ -33342,26 +33441,26 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1403,95); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:95: ( ws )? - int alt483=2; - try { dbg.enterSubRule(483); - try { dbg.enterDecision(483, decisionCanBacktrack[483]); + }dbg.location(1408,95); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:95: ( ws )? + int alt485=2; + try { dbg.enterSubRule(485); + try { dbg.enterDecision(485, decisionCanBacktrack[485]); - int LA483_0 = input.LA(1); - if ( (LA483_0==COMMENT||LA483_0==NL||LA483_0==WS) ) { - alt483=1; + int LA485_0 = input.LA(1); + if ( (LA485_0==COMMENT||LA485_0==NL||LA485_0==WS) ) { + alt485=1; } - } finally {dbg.exitDecision(483);} + } finally {dbg.exitDecision(485);} - switch (alt483) { + switch (alt485) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1403:95: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:95: ws { - dbg.location(1403,95); - pushFollow(FOLLOW_ws_in_cp_args_list10309); + dbg.location(1408,95); + pushFollow(FOLLOW_ws_in_cp_args_list10369); ws(); state._fsp--; if (state.failed) return; @@ -33369,13 +33468,13 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { break; } - } finally {dbg.exitSubRule(483);} + } finally {dbg.exitSubRule(485);} } break; } - } finally {dbg.exitSubRule(484);} + } finally {dbg.exitSubRule(486);} } @@ -33384,9 +33483,9 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:5: ( CP_DOTS | LESS_REST ) ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1410:5: ( CP_DOTS | LESS_REST ) ( ws )? { - dbg.location(1405,5); + dbg.location(1410,5); if ( input.LA(1)==CP_DOTS||input.LA(1)==LESS_REST ) { input.consume(); state.errorRecovery=false; @@ -33397,26 +33496,26 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1405,27); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:27: ( ws )? - int alt485=2; - try { dbg.enterSubRule(485); - try { dbg.enterDecision(485, decisionCanBacktrack[485]); + }dbg.location(1410,27); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1410:27: ( ws )? + int alt487=2; + try { dbg.enterSubRule(487); + try { dbg.enterDecision(487, decisionCanBacktrack[487]); - int LA485_0 = input.LA(1); - if ( (LA485_0==COMMENT||LA485_0==NL||LA485_0==WS) ) { - alt485=1; + int LA487_0 = input.LA(1); + if ( (LA487_0==COMMENT||LA487_0==NL||LA487_0==WS) ) { + alt487=1; } - } finally {dbg.exitDecision(485);} + } finally {dbg.exitDecision(487);} - switch (alt485) { + switch (alt487) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1405:27: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1410:27: ws { - dbg.location(1405,27); - pushFollow(FOLLOW_ws_in_cp_args_list10334); + dbg.location(1410,27); + pushFollow(FOLLOW_ws_in_cp_args_list10394); ws(); state._fsp--; if (state.failed) return; @@ -33424,7 +33523,7 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { break; } - } finally {dbg.exitSubRule(485);} + } finally {dbg.exitSubRule(487);} } break; @@ -33438,7 +33537,7 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { finally { // do for sure before leaving } - dbg.location(1406, 4); + dbg.location(1411, 4); } finally { @@ -33453,29 +33552,29 @@ else if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { // $ANTLR start "cp_arg" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1409:1: cp_arg : ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1414:1: cp_arg : ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT ); public final void cp_arg() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_arg"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1409, 0); + dbg.location(1414, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1410:5: ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT ) - int alt491=2; - try { dbg.enterDecision(491, decisionCanBacktrack[491]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1415:5: ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT ) + int alt493=2; + try { dbg.enterDecision(493, decisionCanBacktrack[493]); - int LA491_0 = input.LA(1); - if ( (LA491_0==AT_IDENT||(LA491_0 >= BOTTOMCENTER_SYM && LA491_0 <= BOTTOMRIGHT_SYM)||LA491_0==CHARSET_SYM||LA491_0==COUNTER_STYLE_SYM||LA491_0==FONT_FACE_SYM||LA491_0==IMPORT_SYM||(LA491_0 >= LEFTBOTTOM_SYM && LA491_0 <= LEFTTOP_SYM)||LA491_0==MEDIA_SYM||LA491_0==MOZ_DOCUMENT_SYM||LA491_0==NAMESPACE_SYM||LA491_0==PAGE_SYM||(LA491_0 >= RIGHTBOTTOM_SYM && LA491_0 <= RIGHTTOP_SYM)||(LA491_0 >= SASS_AT_ROOT && LA491_0 <= SASS_DEBUG)||(LA491_0 >= SASS_EACH && LA491_0 <= SASS_ELSE)||LA491_0==SASS_EXTEND||(LA491_0 >= SASS_FOR && LA491_0 <= SASS_FUNCTION)||(LA491_0 >= SASS_IF && LA491_0 <= SASS_MIXIN)||(LA491_0 >= SASS_RETURN && LA491_0 <= SASS_WHILE)||(LA491_0 >= TOPCENTER_SYM && LA491_0 <= TOPRIGHT_SYM)||LA491_0==WEBKIT_KEYFRAMES_SYM) ) { - alt491=1; + int LA493_0 = input.LA(1); + if ( (LA493_0==AT_IDENT||(LA493_0 >= BOTTOMCENTER_SYM && LA493_0 <= BOTTOMRIGHT_SYM)||LA493_0==CHARSET_SYM||LA493_0==COUNTER_STYLE_SYM||LA493_0==FONT_FACE_SYM||LA493_0==IMPORT_SYM||(LA493_0 >= LEFTBOTTOM_SYM && LA493_0 <= LEFTTOP_SYM)||LA493_0==MEDIA_SYM||LA493_0==MOZ_DOCUMENT_SYM||LA493_0==NAMESPACE_SYM||LA493_0==PAGE_SYM||(LA493_0 >= RIGHTBOTTOM_SYM && LA493_0 <= RIGHTTOP_SYM)||(LA493_0 >= SASS_AT_ROOT && LA493_0 <= SASS_DEBUG)||(LA493_0 >= SASS_EACH && LA493_0 <= SASS_ELSE)||LA493_0==SASS_EXTEND||(LA493_0 >= SASS_FOR && LA493_0 <= SASS_FUNCTION)||(LA493_0 >= SASS_IF && LA493_0 <= SASS_MIXIN)||(LA493_0 >= SASS_RETURN && LA493_0 <= SASS_WHILE)||(LA493_0 >= TOPCENTER_SYM && LA493_0 <= TOPRIGHT_SYM)||LA493_0==WEBKIT_KEYFRAMES_SYM) ) { + alt493=1; } - else if ( (LA491_0==IDENT) ) { - int LA491_2 = input.LA(2); - if ( (LA491_2==DOT) ) { - alt491=1; + else if ( (LA493_0==IDENT) ) { + int LA493_2 = input.LA(2); + if ( (LA493_2==DOT) ) { + alt493=1; } - else if ( (LA491_2==COMMA||LA491_2==CP_DOTS||LA491_2==LESS_REST||LA491_2==RPAREN||LA491_2==SEMI) ) { - alt491=2; + else if ( (LA493_2==COMMA||LA493_2==CP_DOTS||LA493_2==LESS_REST||LA493_2==RPAREN||LA493_2==SEMI) ) { + alt493=2; } else { @@ -33484,7 +33583,7 @@ else if ( (LA491_2==COMMA||LA491_2==CP_DOTS||LA491_2==LESS_REST||LA491_2==RPAREN try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 491, 2, input); + new NoViableAltException("", 493, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -33497,43 +33596,43 @@ else if ( (LA491_2==COMMA||LA491_2==CP_DOTS||LA491_2==LESS_REST||LA491_2==RPAREN else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 491, 0, input); + new NoViableAltException("", 493, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(491);} + } finally {dbg.exitDecision(493);} - switch (alt491) { + switch (alt493) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:5: cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:5: cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? { - dbg.location(1411,5); - pushFollow(FOLLOW_cp_variable_in_cp_arg10357); + dbg.location(1416,5); + pushFollow(FOLLOW_cp_variable_in_cp_arg10417); cp_variable(); state._fsp--; - if (state.failed) return;dbg.location(1411,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:17: ( ws )? - int alt487=2; - try { dbg.enterSubRule(487); - try { dbg.enterDecision(487, decisionCanBacktrack[487]); + if (state.failed) return;dbg.location(1416,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:17: ( ws )? + int alt489=2; + try { dbg.enterSubRule(489); + try { dbg.enterDecision(489, decisionCanBacktrack[489]); - int LA487_0 = input.LA(1); - if ( (LA487_0==COMMENT||LA487_0==NL||LA487_0==WS) ) { - alt487=1; + int LA489_0 = input.LA(1); + if ( (LA489_0==COMMENT||LA489_0==NL||LA489_0==WS) ) { + alt489=1; } - } finally {dbg.exitDecision(487);} + } finally {dbg.exitDecision(489);} - switch (alt487) { + switch (alt489) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:17: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:17: ws { - dbg.location(1411,17); - pushFollow(FOLLOW_ws_in_cp_arg10359); + dbg.location(1416,17); + pushFollow(FOLLOW_ws_in_cp_arg10419); ws(); state._fsp--; if (state.failed) return; @@ -33541,46 +33640,46 @@ else if ( (LA491_2==COMMA||LA491_2==CP_DOTS||LA491_2==LESS_REST||LA491_2==RPAREN break; } - } finally {dbg.exitSubRule(487);} - dbg.location(1411,21); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:21: ( COLON ( ws )? cp_expression ( ws )? )? - int alt490=2; - try { dbg.enterSubRule(490); - try { dbg.enterDecision(490, decisionCanBacktrack[490]); + } finally {dbg.exitSubRule(489);} + dbg.location(1416,21); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:21: ( COLON ( ws )? cp_expression ( ws )? )? + int alt492=2; + try { dbg.enterSubRule(492); + try { dbg.enterDecision(492, decisionCanBacktrack[492]); - int LA490_0 = input.LA(1); - if ( (LA490_0==COLON) ) { - alt490=1; + int LA492_0 = input.LA(1); + if ( (LA492_0==COLON) ) { + alt492=1; } - } finally {dbg.exitDecision(490);} + } finally {dbg.exitDecision(492);} - switch (alt490) { + switch (alt492) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:23: COLON ( ws )? cp_expression ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:23: COLON ( ws )? cp_expression ( ws )? { - dbg.location(1411,23); - match(input,COLON,FOLLOW_COLON_in_cp_arg10364); if (state.failed) return;dbg.location(1411,29); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:29: ( ws )? - int alt488=2; - try { dbg.enterSubRule(488); - try { dbg.enterDecision(488, decisionCanBacktrack[488]); + dbg.location(1416,23); + match(input,COLON,FOLLOW_COLON_in_cp_arg10424); if (state.failed) return;dbg.location(1416,29); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:29: ( ws )? + int alt490=2; + try { dbg.enterSubRule(490); + try { dbg.enterDecision(490, decisionCanBacktrack[490]); - int LA488_0 = input.LA(1); - if ( (LA488_0==COMMENT||LA488_0==NL||LA488_0==WS) ) { - alt488=1; + int LA490_0 = input.LA(1); + if ( (LA490_0==COMMENT||LA490_0==NL||LA490_0==WS) ) { + alt490=1; } - } finally {dbg.exitDecision(488);} + } finally {dbg.exitDecision(490);} - switch (alt488) { + switch (alt490) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:29: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:29: ws { - dbg.location(1411,29); - pushFollow(FOLLOW_ws_in_cp_arg10366); + dbg.location(1416,29); + pushFollow(FOLLOW_ws_in_cp_arg10426); ws(); state._fsp--; if (state.failed) return; @@ -33588,31 +33687,31 @@ else if ( (LA491_2==COMMA||LA491_2==CP_DOTS||LA491_2==LESS_REST||LA491_2==RPAREN break; } - } finally {dbg.exitSubRule(488);} - dbg.location(1411,33); - pushFollow(FOLLOW_cp_expression_in_cp_arg10369); + } finally {dbg.exitSubRule(490);} + dbg.location(1416,33); + pushFollow(FOLLOW_cp_expression_in_cp_arg10429); cp_expression(); state._fsp--; - if (state.failed) return;dbg.location(1411,47); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:47: ( ws )? - int alt489=2; - try { dbg.enterSubRule(489); - try { dbg.enterDecision(489, decisionCanBacktrack[489]); + if (state.failed) return;dbg.location(1416,47); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:47: ( ws )? + int alt491=2; + try { dbg.enterSubRule(491); + try { dbg.enterDecision(491, decisionCanBacktrack[491]); - int LA489_0 = input.LA(1); - if ( (LA489_0==COMMENT||LA489_0==NL||LA489_0==WS) ) { - alt489=1; + int LA491_0 = input.LA(1); + if ( (LA491_0==COMMENT||LA491_0==NL||LA491_0==WS) ) { + alt491=1; } - } finally {dbg.exitDecision(489);} + } finally {dbg.exitDecision(491);} - switch (alt489) { + switch (alt491) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1411:47: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:47: ws { - dbg.location(1411,47); - pushFollow(FOLLOW_ws_in_cp_arg10371); + dbg.location(1416,47); + pushFollow(FOLLOW_ws_in_cp_arg10431); ws(); state._fsp--; if (state.failed) return; @@ -33620,27 +33719,27 @@ else if ( (LA491_2==COMMA||LA491_2==CP_DOTS||LA491_2==LESS_REST||LA491_2==RPAREN break; } - } finally {dbg.exitSubRule(489);} + } finally {dbg.exitSubRule(491);} } break; } - } finally {dbg.exitSubRule(490);} + } finally {dbg.exitSubRule(492);} } break; case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1412:7: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1417:7: {...}? IDENT { - dbg.location(1412,7); + dbg.location(1417,7); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_arg", "isLessSource()"); - }dbg.location(1412,25); - match(input,IDENT,FOLLOW_IDENT_in_cp_arg10384); if (state.failed) return; + }dbg.location(1417,25); + match(input,IDENT,FOLLOW_IDENT_in_cp_arg10444); if (state.failed) return; } break; @@ -33653,7 +33752,7 @@ else if ( (LA491_2==COMMA||LA491_2==CP_DOTS||LA491_2==LESS_REST||LA491_2==RPAREN finally { // do for sure before leaving } - dbg.location(1413, 4); + dbg.location(1418, 4); } finally { @@ -33668,43 +33767,43 @@ else if ( (LA491_2==COMMA||LA491_2==CP_DOTS||LA491_2==LESS_REST||LA491_2==RPAREN // $ANTLR start "less_mixin_guarded" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1417:1: less_mixin_guarded : less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1422:1: less_mixin_guarded : less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* ; public final void less_mixin_guarded() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_mixin_guarded"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1417, 0); + dbg.location(1422, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1418:5: ( less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1423:5: ( less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:5: less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:5: less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* { - dbg.location(1419,5); - pushFollow(FOLLOW_less_when_in_less_mixin_guarded10407); + dbg.location(1424,5); + pushFollow(FOLLOW_less_when_in_less_mixin_guarded10467); less_when(); state._fsp--; - if (state.failed) return;dbg.location(1419,15); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:15: ( ws )? - int alt492=2; - try { dbg.enterSubRule(492); - try { dbg.enterDecision(492, decisionCanBacktrack[492]); + if (state.failed) return;dbg.location(1424,15); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:15: ( ws )? + int alt494=2; + try { dbg.enterSubRule(494); + try { dbg.enterDecision(494, decisionCanBacktrack[494]); - int LA492_0 = input.LA(1); - if ( (LA492_0==COMMENT||LA492_0==NL||LA492_0==WS) ) { - alt492=1; + int LA494_0 = input.LA(1); + if ( (LA494_0==COMMENT||LA494_0==NL||LA494_0==WS) ) { + alt494=1; } - } finally {dbg.exitDecision(492);} + } finally {dbg.exitDecision(494);} - switch (alt492) { + switch (alt494) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:15: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:15: ws { - dbg.location(1419,15); - pushFollow(FOLLOW_ws_in_less_mixin_guarded10409); + dbg.location(1424,15); + pushFollow(FOLLOW_ws_in_less_mixin_guarded10469); ws(); state._fsp--; if (state.failed) return; @@ -33712,115 +33811,38 @@ public final void less_mixin_guarded() throws RecognitionException { break; } - } finally {dbg.exitSubRule(492);} - dbg.location(1419,19); - pushFollow(FOLLOW_less_condition_in_less_mixin_guarded10412); + } finally {dbg.exitSubRule(494);} + dbg.location(1424,19); + pushFollow(FOLLOW_less_condition_in_less_mixin_guarded10472); less_condition(); state._fsp--; - if (state.failed) return;dbg.location(1419,34); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* - try { dbg.enterSubRule(496); + if (state.failed) return;dbg.location(1424,34); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* + try { dbg.enterSubRule(498); - loop496: + loop498: while (true) { - int alt496=2; - try { dbg.enterDecision(496, decisionCanBacktrack[496]); + int alt498=2; + try { dbg.enterDecision(498, decisionCanBacktrack[498]); try { isCyclicDecision = true; - alt496 = dfa496.predict(input); + alt498 = dfa498.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(496);} + } finally {dbg.exitDecision(498);} - switch (alt496) { + switch (alt498) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:35: ( ws )? ( COMMA | key_and ) ( ws )? less_condition + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:35: ( ws )? ( COMMA | key_and ) ( ws )? less_condition { - dbg.location(1419,35); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:35: ( ws )? - int alt493=2; - try { dbg.enterSubRule(493); - try { dbg.enterDecision(493, decisionCanBacktrack[493]); - - int LA493_0 = input.LA(1); - if ( (LA493_0==COMMENT||LA493_0==NL||LA493_0==WS) ) { - alt493=1; - } - } finally {dbg.exitDecision(493);} - - switch (alt493) { - case 1 : - dbg.enterAlt(1); - - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:35: ws - { - dbg.location(1419,35); - pushFollow(FOLLOW_ws_in_less_mixin_guarded10415); - ws(); - state._fsp--; - if (state.failed) return; - } - break; - - } - } finally {dbg.exitSubRule(493);} - dbg.location(1419,39); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:39: ( COMMA | key_and ) - int alt494=2; - try { dbg.enterSubRule(494); - try { dbg.enterDecision(494, decisionCanBacktrack[494]); - - int LA494_0 = input.LA(1); - if ( (LA494_0==COMMA) ) { - alt494=1; - } - else if ( (LA494_0==IDENT) ) { - alt494=2; - } - - else { - if (state.backtracking>0) {state.failed=true; return;} - NoViableAltException nvae = - new NoViableAltException("", 494, 0, input); - dbg.recognitionException(nvae); - throw nvae; - } - - } finally {dbg.exitDecision(494);} - - switch (alt494) { - case 1 : - dbg.enterAlt(1); - - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:40: COMMA - { - dbg.location(1419,40); - match(input,COMMA,FOLLOW_COMMA_in_less_mixin_guarded10419); if (state.failed) return; - } - break; - case 2 : - dbg.enterAlt(2); - - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:48: key_and - { - dbg.location(1419,48); - pushFollow(FOLLOW_key_and_in_less_mixin_guarded10423); - key_and(); - state._fsp--; - if (state.failed) return; - } - break; - - } - } finally {dbg.exitSubRule(494);} - dbg.location(1419,57); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:57: ( ws )? + dbg.location(1424,35); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:35: ( ws )? int alt495=2; try { dbg.enterSubRule(495); try { dbg.enterDecision(495, decisionCanBacktrack[495]); @@ -33835,10 +33857,10 @@ else if ( (LA494_0==IDENT) ) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1419:57: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:35: ws { - dbg.location(1419,57); - pushFollow(FOLLOW_ws_in_less_mixin_guarded10426); + dbg.location(1424,35); + pushFollow(FOLLOW_ws_in_less_mixin_guarded10475); ws(); state._fsp--; if (state.failed) return; @@ -33847,8 +33869,85 @@ else if ( (LA494_0==IDENT) ) { } } finally {dbg.exitSubRule(495);} - dbg.location(1419,61); - pushFollow(FOLLOW_less_condition_in_less_mixin_guarded10429); + dbg.location(1424,39); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:39: ( COMMA | key_and ) + int alt496=2; + try { dbg.enterSubRule(496); + try { dbg.enterDecision(496, decisionCanBacktrack[496]); + + int LA496_0 = input.LA(1); + if ( (LA496_0==COMMA) ) { + alt496=1; + } + else if ( (LA496_0==IDENT) ) { + alt496=2; + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + NoViableAltException nvae = + new NoViableAltException("", 496, 0, input); + dbg.recognitionException(nvae); + throw nvae; + } + + } finally {dbg.exitDecision(496);} + + switch (alt496) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:40: COMMA + { + dbg.location(1424,40); + match(input,COMMA,FOLLOW_COMMA_in_less_mixin_guarded10479); if (state.failed) return; + } + break; + case 2 : + dbg.enterAlt(2); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:48: key_and + { + dbg.location(1424,48); + pushFollow(FOLLOW_key_and_in_less_mixin_guarded10483); + key_and(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(496);} + dbg.location(1424,57); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:57: ( ws )? + int alt497=2; + try { dbg.enterSubRule(497); + try { dbg.enterDecision(497, decisionCanBacktrack[497]); + + int LA497_0 = input.LA(1); + if ( (LA497_0==COMMENT||LA497_0==NL||LA497_0==WS) ) { + alt497=1; + } + } finally {dbg.exitDecision(497);} + + switch (alt497) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:57: ws + { + dbg.location(1424,57); + pushFollow(FOLLOW_ws_in_less_mixin_guarded10486); + ws(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(497);} + dbg.location(1424,61); + pushFollow(FOLLOW_less_condition_in_less_mixin_guarded10489); less_condition(); state._fsp--; if (state.failed) return; @@ -33856,10 +33955,10 @@ else if ( (LA494_0==IDENT) ) { break; default : - break loop496; + break loop498; } } - } finally {dbg.exitSubRule(496);} + } finally {dbg.exitSubRule(498);} } @@ -33871,7 +33970,7 @@ else if ( (LA494_0==IDENT) ) { finally { // do for sure before leaving } - dbg.location(1420, 4); + dbg.location(1425, 4); } finally { @@ -33886,58 +33985,58 @@ else if ( (LA494_0==IDENT) ) { // $ANTLR start "less_condition" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:1: less_condition : ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:1: less_condition : ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN ; public final void less_condition() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_condition"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1424, 0); + dbg.location(1429, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1425:5: ( ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1430:5: ( ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:5: ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:5: ( NOT ( ws )? )? LPAREN ( ws )? ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) RPAREN { - dbg.location(1426,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:5: ( NOT ( ws )? )? - int alt498=2; - try { dbg.enterSubRule(498); - try { dbg.enterDecision(498, decisionCanBacktrack[498]); + dbg.location(1431,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:5: ( NOT ( ws )? )? + int alt500=2; + try { dbg.enterSubRule(500); + try { dbg.enterDecision(500, decisionCanBacktrack[500]); - int LA498_0 = input.LA(1); - if ( (LA498_0==NOT) ) { - alt498=1; + int LA500_0 = input.LA(1); + if ( (LA500_0==NOT) ) { + alt500=1; } - } finally {dbg.exitDecision(498);} + } finally {dbg.exitDecision(500);} - switch (alt498) { + switch (alt500) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:6: NOT ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:6: NOT ( ws )? { - dbg.location(1426,6); - match(input,NOT,FOLLOW_NOT_in_less_condition10455); if (state.failed) return;dbg.location(1426,10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:10: ( ws )? - int alt497=2; - try { dbg.enterSubRule(497); - try { dbg.enterDecision(497, decisionCanBacktrack[497]); + dbg.location(1431,6); + match(input,NOT,FOLLOW_NOT_in_less_condition10515); if (state.failed) return;dbg.location(1431,10); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:10: ( ws )? + int alt499=2; + try { dbg.enterSubRule(499); + try { dbg.enterDecision(499, decisionCanBacktrack[499]); - int LA497_0 = input.LA(1); - if ( (LA497_0==COMMENT||LA497_0==NL||LA497_0==WS) ) { - alt497=1; + int LA499_0 = input.LA(1); + if ( (LA499_0==COMMENT||LA499_0==NL||LA499_0==WS) ) { + alt499=1; } - } finally {dbg.exitDecision(497);} + } finally {dbg.exitDecision(499);} - switch (alt497) { + switch (alt499) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1426:10: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:10: ws { - dbg.location(1426,10); - pushFollow(FOLLOW_ws_in_less_condition10457); + dbg.location(1431,10); + pushFollow(FOLLOW_ws_in_less_condition10517); ws(); state._fsp--; if (state.failed) return; @@ -33945,34 +34044,34 @@ public final void less_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(497);} + } finally {dbg.exitSubRule(499);} } break; } - } finally {dbg.exitSubRule(498);} - dbg.location(1427,5); - match(input,LPAREN,FOLLOW_LPAREN_in_less_condition10466); if (state.failed) return;dbg.location(1427,12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:12: ( ws )? - int alt499=2; - try { dbg.enterSubRule(499); - try { dbg.enterDecision(499, decisionCanBacktrack[499]); + } finally {dbg.exitSubRule(500);} + dbg.location(1432,5); + match(input,LPAREN,FOLLOW_LPAREN_in_less_condition10526); if (state.failed) return;dbg.location(1432,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:12: ( ws )? + int alt501=2; + try { dbg.enterSubRule(501); + try { dbg.enterDecision(501, decisionCanBacktrack[501]); - int LA499_0 = input.LA(1); - if ( (LA499_0==COMMENT||LA499_0==NL||LA499_0==WS) ) { - alt499=1; + int LA501_0 = input.LA(1); + if ( (LA501_0==COMMENT||LA501_0==NL||LA501_0==WS) ) { + alt501=1; } - } finally {dbg.exitDecision(499);} + } finally {dbg.exitDecision(501);} - switch (alt499) { + switch (alt501) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1427:12: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:12: ws { - dbg.location(1427,12); - pushFollow(FOLLOW_ws_in_less_condition10468); + dbg.location(1432,12); + pushFollow(FOLLOW_ws_in_less_condition10528); ws(); state._fsp--; if (state.failed) return; @@ -33980,30 +34079,30 @@ public final void less_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(499);} - dbg.location(1428,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1428:9: ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) + } finally {dbg.exitSubRule(501);} + dbg.location(1433,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:9: ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:14: ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:14: ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? { - dbg.location(1429,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:14: ( cp_variable | less_function_in_condition ) - int alt500=2; - try { dbg.enterSubRule(500); - try { dbg.enterDecision(500, decisionCanBacktrack[500]); + dbg.location(1434,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:14: ( cp_variable | less_function_in_condition ) + int alt502=2; + try { dbg.enterSubRule(502); + try { dbg.enterDecision(502, decisionCanBacktrack[502]); - int LA500_0 = input.LA(1); - if ( (LA500_0==AT_IDENT||(LA500_0 >= BOTTOMCENTER_SYM && LA500_0 <= BOTTOMRIGHT_SYM)||LA500_0==CHARSET_SYM||LA500_0==COUNTER_STYLE_SYM||LA500_0==FONT_FACE_SYM||LA500_0==IMPORT_SYM||(LA500_0 >= LEFTBOTTOM_SYM && LA500_0 <= LEFTTOP_SYM)||LA500_0==MEDIA_SYM||LA500_0==MOZ_DOCUMENT_SYM||LA500_0==NAMESPACE_SYM||LA500_0==PAGE_SYM||(LA500_0 >= RIGHTBOTTOM_SYM && LA500_0 <= RIGHTTOP_SYM)||(LA500_0 >= SASS_AT_ROOT && LA500_0 <= SASS_DEBUG)||(LA500_0 >= SASS_EACH && LA500_0 <= SASS_ELSE)||LA500_0==SASS_EXTEND||(LA500_0 >= SASS_FOR && LA500_0 <= SASS_FUNCTION)||(LA500_0 >= SASS_IF && LA500_0 <= SASS_MIXIN)||(LA500_0 >= SASS_RETURN && LA500_0 <= SASS_WHILE)||(LA500_0 >= TOPCENTER_SYM && LA500_0 <= TOPRIGHT_SYM)||LA500_0==WEBKIT_KEYFRAMES_SYM) ) { - alt500=1; + int LA502_0 = input.LA(1); + if ( (LA502_0==AT_IDENT||(LA502_0 >= BOTTOMCENTER_SYM && LA502_0 <= BOTTOMRIGHT_SYM)||LA502_0==CHARSET_SYM||LA502_0==COUNTER_STYLE_SYM||LA502_0==FONT_FACE_SYM||LA502_0==IMPORT_SYM||(LA502_0 >= LEFTBOTTOM_SYM && LA502_0 <= LEFTTOP_SYM)||LA502_0==MEDIA_SYM||LA502_0==MOZ_DOCUMENT_SYM||LA502_0==NAMESPACE_SYM||LA502_0==PAGE_SYM||(LA502_0 >= RIGHTBOTTOM_SYM && LA502_0 <= RIGHTTOP_SYM)||(LA502_0 >= SASS_AT_ROOT && LA502_0 <= SASS_DEBUG)||(LA502_0 >= SASS_EACH && LA502_0 <= SASS_ELSE)||LA502_0==SASS_EXTEND||(LA502_0 >= SASS_FOR && LA502_0 <= SASS_FUNCTION)||(LA502_0 >= SASS_IF && LA502_0 <= SASS_MIXIN)||(LA502_0 >= SASS_RETURN && LA502_0 <= SASS_WHILE)||(LA502_0 >= TOPCENTER_SYM && LA502_0 <= TOPRIGHT_SYM)||LA502_0==WEBKIT_KEYFRAMES_SYM) ) { + alt502=1; } - else if ( (LA500_0==IDENT) ) { - int LA500_2 = input.LA(2); - if ( (LA500_2==DOT) ) { - alt500=1; + else if ( (LA502_0==IDENT) ) { + int LA502_2 = input.LA(2); + if ( (LA502_2==DOT) ) { + alt502=1; } - else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { - alt500=2; + else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { + alt502=2; } else { @@ -34012,7 +34111,7 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 500, 2, input); + new NoViableAltException("", 502, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -34025,21 +34124,21 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 500, 0, input); + new NoViableAltException("", 502, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(500);} + } finally {dbg.exitDecision(502);} - switch (alt500) { + switch (alt502) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:15: cp_variable + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:15: cp_variable { - dbg.location(1429,15); - pushFollow(FOLLOW_cp_variable_in_less_condition10495); + dbg.location(1434,15); + pushFollow(FOLLOW_cp_variable_in_less_condition10555); cp_variable(); state._fsp--; if (state.failed) return; @@ -34048,10 +34147,10 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:29: less_function_in_condition + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:29: less_function_in_condition { - dbg.location(1429,29); - pushFollow(FOLLOW_less_function_in_condition_in_less_condition10499); + dbg.location(1434,29); + pushFollow(FOLLOW_less_function_in_condition_in_less_condition10559); less_function_in_condition(); state._fsp--; if (state.failed) return; @@ -34059,27 +34158,27 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { break; } - } finally {dbg.exitSubRule(500);} - dbg.location(1429,57); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:57: ( ws )? - int alt501=2; - try { dbg.enterSubRule(501); - try { dbg.enterDecision(501, decisionCanBacktrack[501]); + } finally {dbg.exitSubRule(502);} + dbg.location(1434,57); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:57: ( ws )? + int alt503=2; + try { dbg.enterSubRule(503); + try { dbg.enterDecision(503, decisionCanBacktrack[503]); - int LA501_0 = input.LA(1); - if ( (LA501_0==COMMENT||LA501_0==NL||LA501_0==WS) ) { - alt501=1; + int LA503_0 = input.LA(1); + if ( (LA503_0==COMMENT||LA503_0==NL||LA503_0==WS) ) { + alt503=1; } - } finally {dbg.exitDecision(501);} + } finally {dbg.exitDecision(503);} - switch (alt501) { + switch (alt503) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:57: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:57: ws { - dbg.location(1429,57); - pushFollow(FOLLOW_ws_in_less_condition10502); + dbg.location(1434,57); + pushFollow(FOLLOW_ws_in_less_condition10562); ws(); state._fsp--; if (state.failed) return; @@ -34087,49 +34186,49 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { break; } - } finally {dbg.exitSubRule(501);} - dbg.location(1429,61); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:61: ( less_condition_operator ( ws )? cp_math_expression )? - int alt503=2; - try { dbg.enterSubRule(503); - try { dbg.enterDecision(503, decisionCanBacktrack[503]); + } finally {dbg.exitSubRule(503);} + dbg.location(1434,61); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:61: ( less_condition_operator ( ws )? cp_math_expression )? + int alt505=2; + try { dbg.enterSubRule(505); + try { dbg.enterDecision(505, decisionCanBacktrack[505]); - int LA503_0 = input.LA(1); - if ( ((LA503_0 >= GREATER && LA503_0 <= GREATER_OR_EQ)||LA503_0==LESS||LA503_0==LESS_OR_EQ||LA503_0==OPEQ) ) { - alt503=1; + int LA505_0 = input.LA(1); + if ( ((LA505_0 >= GREATER && LA505_0 <= GREATER_OR_EQ)||LA505_0==LESS||LA505_0==LESS_OR_EQ||LA505_0==OPEQ) ) { + alt505=1; } - } finally {dbg.exitDecision(503);} + } finally {dbg.exitDecision(505);} - switch (alt503) { + switch (alt505) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:62: less_condition_operator ( ws )? cp_math_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:62: less_condition_operator ( ws )? cp_math_expression { - dbg.location(1429,62); - pushFollow(FOLLOW_less_condition_operator_in_less_condition10506); + dbg.location(1434,62); + pushFollow(FOLLOW_less_condition_operator_in_less_condition10566); less_condition_operator(); state._fsp--; - if (state.failed) return;dbg.location(1429,86); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:86: ( ws )? - int alt502=2; - try { dbg.enterSubRule(502); - try { dbg.enterDecision(502, decisionCanBacktrack[502]); + if (state.failed) return;dbg.location(1434,86); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:86: ( ws )? + int alt504=2; + try { dbg.enterSubRule(504); + try { dbg.enterDecision(504, decisionCanBacktrack[504]); - int LA502_0 = input.LA(1); - if ( (LA502_0==COMMENT||LA502_0==NL||LA502_0==WS) ) { - alt502=1; + int LA504_0 = input.LA(1); + if ( (LA504_0==COMMENT||LA504_0==NL||LA504_0==WS) ) { + alt504=1; } - } finally {dbg.exitDecision(502);} + } finally {dbg.exitDecision(504);} - switch (alt502) { + switch (alt504) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1429:86: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:86: ws { - dbg.location(1429,86); - pushFollow(FOLLOW_ws_in_less_condition10508); + dbg.location(1434,86); + pushFollow(FOLLOW_ws_in_less_condition10568); ws(); state._fsp--; if (state.failed) return; @@ -34137,9 +34236,9 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { break; } - } finally {dbg.exitSubRule(502);} - dbg.location(1429,90); - pushFollow(FOLLOW_cp_math_expression_in_less_condition10511); + } finally {dbg.exitSubRule(504);} + dbg.location(1434,90); + pushFollow(FOLLOW_cp_math_expression_in_less_condition10571); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -34147,11 +34246,11 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { break; } - } finally {dbg.exitSubRule(503);} + } finally {dbg.exitSubRule(505);} } - dbg.location(1431,5); - match(input,RPAREN,FOLLOW_RPAREN_in_less_condition10529); if (state.failed) return; + dbg.location(1436,5); + match(input,RPAREN,FOLLOW_RPAREN_in_less_condition10589); if (state.failed) return; } } @@ -34162,7 +34261,7 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { finally { // do for sure before leaving } - dbg.location(1432, 4); + dbg.location(1437, 4); } finally { @@ -34177,43 +34276,43 @@ else if ( (LA500_2==COMMENT||LA500_2==LPAREN||LA500_2==NL||LA500_2==WS) ) { // $ANTLR start "less_function_in_condition" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1435:1: less_function_in_condition : less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1440:1: less_function_in_condition : less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN ; public final void less_function_in_condition() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_function_in_condition"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1435, 0); + dbg.location(1440, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1436:5: ( less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1441:5: ( less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:5: less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:5: less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN { - dbg.location(1437,5); - pushFollow(FOLLOW_less_fn_name_in_less_function_in_condition10551); + dbg.location(1442,5); + pushFollow(FOLLOW_less_fn_name_in_less_function_in_condition10611); less_fn_name(); state._fsp--; - if (state.failed) return;dbg.location(1437,18); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:18: ( ws )? - int alt504=2; - try { dbg.enterSubRule(504); - try { dbg.enterDecision(504, decisionCanBacktrack[504]); + if (state.failed) return;dbg.location(1442,18); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:18: ( ws )? + int alt506=2; + try { dbg.enterSubRule(506); + try { dbg.enterDecision(506, decisionCanBacktrack[506]); - int LA504_0 = input.LA(1); - if ( (LA504_0==COMMENT||LA504_0==NL||LA504_0==WS) ) { - alt504=1; + int LA506_0 = input.LA(1); + if ( (LA506_0==COMMENT||LA506_0==NL||LA506_0==WS) ) { + alt506=1; } - } finally {dbg.exitDecision(504);} + } finally {dbg.exitDecision(506);} - switch (alt504) { + switch (alt506) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:18: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:18: ws { - dbg.location(1437,18); - pushFollow(FOLLOW_ws_in_less_function_in_condition10553); + dbg.location(1442,18); + pushFollow(FOLLOW_ws_in_less_function_in_condition10613); ws(); state._fsp--; if (state.failed) return; @@ -34221,28 +34320,28 @@ public final void less_function_in_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(504);} - dbg.location(1437,22); - match(input,LPAREN,FOLLOW_LPAREN_in_less_function_in_condition10556); if (state.failed) return;dbg.location(1437,29); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:29: ( ws )? - int alt505=2; - try { dbg.enterSubRule(505); - try { dbg.enterDecision(505, decisionCanBacktrack[505]); + } finally {dbg.exitSubRule(506);} + dbg.location(1442,22); + match(input,LPAREN,FOLLOW_LPAREN_in_less_function_in_condition10616); if (state.failed) return;dbg.location(1442,29); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:29: ( ws )? + int alt507=2; + try { dbg.enterSubRule(507); + try { dbg.enterDecision(507, decisionCanBacktrack[507]); - int LA505_0 = input.LA(1); - if ( (LA505_0==COMMENT||LA505_0==NL||LA505_0==WS) ) { - alt505=1; + int LA507_0 = input.LA(1); + if ( (LA507_0==COMMENT||LA507_0==NL||LA507_0==WS) ) { + alt507=1; } - } finally {dbg.exitDecision(505);} + } finally {dbg.exitDecision(507);} - switch (alt505) { + switch (alt507) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:29: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:29: ws { - dbg.location(1437,29); - pushFollow(FOLLOW_ws_in_less_function_in_condition10558); + dbg.location(1442,29); + pushFollow(FOLLOW_ws_in_less_function_in_condition10618); ws(); state._fsp--; if (state.failed) return; @@ -34250,31 +34349,31 @@ public final void less_function_in_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(505);} - dbg.location(1437,33); - pushFollow(FOLLOW_cp_variable_in_less_function_in_condition10561); + } finally {dbg.exitSubRule(507);} + dbg.location(1442,33); + pushFollow(FOLLOW_cp_variable_in_less_function_in_condition10621); cp_variable(); state._fsp--; - if (state.failed) return;dbg.location(1437,45); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:45: ( ws )? - int alt506=2; - try { dbg.enterSubRule(506); - try { dbg.enterDecision(506, decisionCanBacktrack[506]); + if (state.failed) return;dbg.location(1442,45); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:45: ( ws )? + int alt508=2; + try { dbg.enterSubRule(508); + try { dbg.enterDecision(508, decisionCanBacktrack[508]); - int LA506_0 = input.LA(1); - if ( (LA506_0==COMMENT||LA506_0==NL||LA506_0==WS) ) { - alt506=1; + int LA508_0 = input.LA(1); + if ( (LA508_0==COMMENT||LA508_0==NL||LA508_0==WS) ) { + alt508=1; } - } finally {dbg.exitDecision(506);} + } finally {dbg.exitDecision(508);} - switch (alt506) { + switch (alt508) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1437:45: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:45: ws { - dbg.location(1437,45); - pushFollow(FOLLOW_ws_in_less_function_in_condition10563); + dbg.location(1442,45); + pushFollow(FOLLOW_ws_in_less_function_in_condition10623); ws(); state._fsp--; if (state.failed) return; @@ -34282,9 +34381,9 @@ public final void less_function_in_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(506);} - dbg.location(1437,49); - match(input,RPAREN,FOLLOW_RPAREN_in_less_function_in_condition10566); if (state.failed) return; + } finally {dbg.exitSubRule(508);} + dbg.location(1442,49); + match(input,RPAREN,FOLLOW_RPAREN_in_less_function_in_condition10626); if (state.failed) return; } } @@ -34295,7 +34394,7 @@ public final void less_function_in_condition() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1438, 4); + dbg.location(1443, 4); } finally { @@ -34310,21 +34409,21 @@ public final void less_function_in_condition() throws RecognitionException { // $ANTLR start "less_fn_name" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1441:1: less_fn_name : IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1446:1: less_fn_name : IDENT ; public final void less_fn_name() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_fn_name"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1441, 0); + dbg.location(1446, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:5: ( IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1447:5: ( IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1443:5: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:5: IDENT { - dbg.location(1443,5); - match(input,IDENT,FOLLOW_IDENT_in_less_fn_name10588); if (state.failed) return; + dbg.location(1448,5); + match(input,IDENT,FOLLOW_IDENT_in_less_fn_name10648); if (state.failed) return; } } @@ -34335,7 +34434,7 @@ public final void less_fn_name() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1444, 4); + dbg.location(1449, 4); } finally { @@ -34350,20 +34449,20 @@ public final void less_fn_name() throws RecognitionException { // $ANTLR start "less_condition_operator" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1446:1: less_condition_operator : ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:1: less_condition_operator : ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ ); public final void less_condition_operator() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_condition_operator"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1446, 0); + dbg.location(1451, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1447:5: ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:5: ( GREATER | GREATER_OR_EQ | OPEQ | LESS | LESS_OR_EQ ) dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1447,5); + dbg.location(1452,5); if ( (input.LA(1) >= GREATER && input.LA(1) <= GREATER_OR_EQ)||input.LA(1)==LESS||input.LA(1)==LESS_OR_EQ||input.LA(1)==OPEQ ) { input.consume(); state.errorRecovery=false; @@ -34385,7 +34484,7 @@ public final void less_condition_operator() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1449, 4); + dbg.location(1454, 4); } finally { @@ -34400,38 +34499,38 @@ public final void less_condition_operator() throws RecognitionException { // $ANTLR start "less_selector_interpolation_exp" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:1: less_selector_interpolation_exp : ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:1: less_selector_interpolation_exp : ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ; public final void less_selector_interpolation_exp() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_selector_interpolation_exp"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1451, 0); + dbg.location(1456, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1451:33: ( ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:33: ( ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:5: ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:5: ( IDENT | MINUS )? less_selector_interpolation ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? { - dbg.location(1452,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:5: ( IDENT | MINUS )? - int alt507=2; - try { dbg.enterSubRule(507); - try { dbg.enterDecision(507, decisionCanBacktrack[507]); + dbg.location(1457,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:5: ( IDENT | MINUS )? + int alt509=2; + try { dbg.enterSubRule(509); + try { dbg.enterDecision(509, decisionCanBacktrack[509]); - int LA507_0 = input.LA(1); - if ( (LA507_0==IDENT||LA507_0==MINUS) ) { - alt507=1; + int LA509_0 = input.LA(1); + if ( (LA509_0==IDENT||LA509_0==MINUS) ) { + alt509=1; } - } finally {dbg.exitDecision(507);} + } finally {dbg.exitDecision(509);} - switch (alt507) { + switch (alt509) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1452,5); + dbg.location(1457,5); if ( input.LA(1)==IDENT||input.LA(1)==MINUS ) { input.consume(); state.errorRecovery=false; @@ -34447,59 +34546,59 @@ public final void less_selector_interpolation_exp() throws RecognitionException break; } - } finally {dbg.exitSubRule(507);} - dbg.location(1452,22); - pushFollow(FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp10651); + } finally {dbg.exitSubRule(509);} + dbg.location(1457,22); + pushFollow(FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp10711); less_selector_interpolation(); state._fsp--; - if (state.failed) return;dbg.location(1452,50); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:50: ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? - int alt509=3; - try { dbg.enterSubRule(509); - try { dbg.enterDecision(509, decisionCanBacktrack[509]); + if (state.failed) return;dbg.location(1457,50); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:50: ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? + int alt511=3; + try { dbg.enterSubRule(511); + try { dbg.enterDecision(511, decisionCanBacktrack[511]); switch ( input.LA(1) ) { case IDENT: case MINUS: { - int LA509_1 = input.LA(2); - if ( (LA509_1==AT_SIGN) ) { - alt509=1; + int LA511_1 = input.LA(2); + if ( (LA511_1==AT_SIGN) ) { + alt511=1; } - else if ( ((LA509_1 >= COLON && LA509_1 <= COMMENT)||(LA509_1 >= DCOLON && LA509_1 <= DOT)||LA509_1==GREATER||(LA509_1 >= HASH && LA509_1 <= HASH_SYMBOL)||LA509_1==IDENT||(LA509_1 >= LBRACE && LA509_1 <= LBRACKET)||LA509_1==LENGTH||LA509_1==LESS_AND||LA509_1==MINUS||LA509_1==NL||LA509_1==PLUS||LA509_1==RBRACE||LA509_1==RPAREN||LA509_1==SASS_EXTEND_ONLY_SELECTOR||LA509_1==SEMI||LA509_1==TILDE||LA509_1==WS) ) { - alt509=2; + else if ( ((LA511_1 >= COLON && LA511_1 <= COMMENT)||(LA511_1 >= DCOLON && LA511_1 <= DOT)||LA511_1==GREATER||(LA511_1 >= HASH && LA511_1 <= HASH_SYMBOL)||LA511_1==IDENT||(LA511_1 >= LBRACE && LA511_1 <= LBRACKET)||LA511_1==LENGTH||LA511_1==LESS_AND||LA511_1==MINUS||LA511_1==NL||LA511_1==PLUS||LA511_1==RBRACE||LA511_1==RPAREN||LA511_1==SASS_EXTEND_ONLY_SELECTOR||LA511_1==SEMI||LA511_1==TILDE||LA511_1==WS) ) { + alt511=2; } } break; case AT_SIGN: { - alt509=1; + alt511=1; } break; case DIMENSION: { - int LA509_3 = input.LA(2); + int LA511_3 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt509=2; + alt511=2; } } break; case LENGTH: { - alt509=2; + alt511=2; } break; } - } finally {dbg.exitDecision(509);} + } finally {dbg.exitDecision(511);} - switch (alt509) { + switch (alt511) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:51: less_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:51: less_selector_interpolation_exp { - dbg.location(1452,51); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp10654); + dbg.location(1457,51); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp10714); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -34508,39 +34607,39 @@ else if ( ((LA509_1 >= COLON && LA509_1 <= COMMENT)||(LA509_1 >= DCOLON && LA509 case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:85: ( IDENT | MINUS | DIMENSION | LENGTH )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:85: ( IDENT | MINUS | DIMENSION | LENGTH )+ { - dbg.location(1452,85); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1452:85: ( IDENT | MINUS | DIMENSION | LENGTH )+ - int cnt508=0; - try { dbg.enterSubRule(508); + dbg.location(1457,85); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:85: ( IDENT | MINUS | DIMENSION | LENGTH )+ + int cnt510=0; + try { dbg.enterSubRule(510); - loop508: + loop510: while (true) { - int alt508=2; - try { dbg.enterDecision(508, decisionCanBacktrack[508]); + int alt510=2; + try { dbg.enterDecision(510, decisionCanBacktrack[510]); - int LA508_0 = input.LA(1); - if ( (LA508_0==DIMENSION) ) { - int LA508_2 = input.LA(2); + int LA510_0 = input.LA(1); + if ( (LA510_0==DIMENSION) ) { + int LA510_2 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt508=1; + alt510=1; } } - else if ( (LA508_0==IDENT||LA508_0==LENGTH||LA508_0==MINUS) ) { - alt508=1; + else if ( (LA510_0==IDENT||LA510_0==LENGTH||LA510_0==MINUS) ) { + alt510=1; } - } finally {dbg.exitDecision(508);} + } finally {dbg.exitDecision(510);} - switch (alt508) { + switch (alt510) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1452,85); + dbg.location(1457,85); if ( input.LA(1)==DIMENSION||input.LA(1)==IDENT||input.LA(1)==LENGTH||input.LA(1)==MINUS ) { input.consume(); state.errorRecovery=false; @@ -34556,22 +34655,22 @@ else if ( (LA508_0==IDENT||LA508_0==LENGTH||LA508_0==MINUS) ) { break; default : - if ( cnt508 >= 1 ) break loop508; + if ( cnt510 >= 1 ) break loop510; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(508, input); + EarlyExitException eee = new EarlyExitException(510, input); dbg.recognitionException(eee); throw eee; } - cnt508++; + cnt510++; } - } finally {dbg.exitSubRule(508);} + } finally {dbg.exitSubRule(510);} } break; } - } finally {dbg.exitSubRule(509);} + } finally {dbg.exitSubRule(511);} } @@ -34583,7 +34682,7 @@ else if ( (LA508_0==IDENT||LA508_0==LENGTH||LA508_0==MINUS) ) { finally { // do for sure before leaving } - dbg.location(1453, 4); + dbg.location(1458, 4); } finally { @@ -34598,41 +34697,41 @@ else if ( (LA508_0==IDENT||LA508_0==LENGTH||LA508_0==MINUS) ) { // $ANTLR start "less_selector_interpolation" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1455:1: less_selector_interpolation : AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1460:1: less_selector_interpolation : AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE ; public final void less_selector_interpolation() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_selector_interpolation"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1455, 0); + dbg.location(1460, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1456:5: ( AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1461:5: ( AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:5: AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:5: AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE { - dbg.location(1457,5); - match(input,AT_SIGN,FOLLOW_AT_SIGN_in_less_selector_interpolation10697); if (state.failed) return;dbg.location(1457,13); - match(input,LBRACE,FOLLOW_LBRACE_in_less_selector_interpolation10699); if (state.failed) return;dbg.location(1457,20); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:20: ( ws )? - int alt510=2; - try { dbg.enterSubRule(510); - try { dbg.enterDecision(510, decisionCanBacktrack[510]); + dbg.location(1462,5); + match(input,AT_SIGN,FOLLOW_AT_SIGN_in_less_selector_interpolation10757); if (state.failed) return;dbg.location(1462,13); + match(input,LBRACE,FOLLOW_LBRACE_in_less_selector_interpolation10759); if (state.failed) return;dbg.location(1462,20); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:20: ( ws )? + int alt512=2; + try { dbg.enterSubRule(512); + try { dbg.enterDecision(512, decisionCanBacktrack[512]); - int LA510_0 = input.LA(1); - if ( (LA510_0==COMMENT||LA510_0==NL||LA510_0==WS) ) { - alt510=1; + int LA512_0 = input.LA(1); + if ( (LA512_0==COMMENT||LA512_0==NL||LA512_0==WS) ) { + alt512=1; } - } finally {dbg.exitDecision(510);} + } finally {dbg.exitDecision(512);} - switch (alt510) { + switch (alt512) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:20: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:20: ws { - dbg.location(1457,20); - pushFollow(FOLLOW_ws_in_less_selector_interpolation10701); + dbg.location(1462,20); + pushFollow(FOLLOW_ws_in_less_selector_interpolation10761); ws(); state._fsp--; if (state.failed) return; @@ -34640,28 +34739,28 @@ public final void less_selector_interpolation() throws RecognitionException { break; } - } finally {dbg.exitSubRule(510);} - dbg.location(1457,24); - match(input,IDENT,FOLLOW_IDENT_in_less_selector_interpolation10704); if (state.failed) return;dbg.location(1457,30); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:30: ( ws )? - int alt511=2; - try { dbg.enterSubRule(511); - try { dbg.enterDecision(511, decisionCanBacktrack[511]); + } finally {dbg.exitSubRule(512);} + dbg.location(1462,24); + match(input,IDENT,FOLLOW_IDENT_in_less_selector_interpolation10764); if (state.failed) return;dbg.location(1462,30); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:30: ( ws )? + int alt513=2; + try { dbg.enterSubRule(513); + try { dbg.enterDecision(513, decisionCanBacktrack[513]); - int LA511_0 = input.LA(1); - if ( (LA511_0==COMMENT||LA511_0==NL||LA511_0==WS) ) { - alt511=1; + int LA513_0 = input.LA(1); + if ( (LA513_0==COMMENT||LA513_0==NL||LA513_0==WS) ) { + alt513=1; } - } finally {dbg.exitDecision(511);} + } finally {dbg.exitDecision(513);} - switch (alt511) { + switch (alt513) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:30: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:30: ws { - dbg.location(1457,30); - pushFollow(FOLLOW_ws_in_less_selector_interpolation10706); + dbg.location(1462,30); + pushFollow(FOLLOW_ws_in_less_selector_interpolation10766); ws(); state._fsp--; if (state.failed) return; @@ -34669,9 +34768,9 @@ public final void less_selector_interpolation() throws RecognitionException { break; } - } finally {dbg.exitSubRule(511);} - dbg.location(1457,34); - match(input,RBRACE,FOLLOW_RBRACE_in_less_selector_interpolation10709); if (state.failed) return; + } finally {dbg.exitSubRule(513);} + dbg.location(1462,34); + match(input,RBRACE,FOLLOW_RBRACE_in_less_selector_interpolation10769); if (state.failed) return; } } @@ -34682,7 +34781,7 @@ public final void less_selector_interpolation() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1458, 4); + dbg.location(1463, 4); } finally { @@ -34697,38 +34796,38 @@ public final void less_selector_interpolation() throws RecognitionException { // $ANTLR start "sass_selector_interpolation_exp" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1461:1: sass_selector_interpolation_exp : ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:1: sass_selector_interpolation_exp : ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ; public final void sass_selector_interpolation_exp() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_selector_interpolation_exp"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1461, 0); + dbg.location(1466, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1461:33: ( ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:33: ( ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:5: ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:5: ( IDENT | MINUS )? sass_interpolation_expression_var ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? { - dbg.location(1462,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:5: ( IDENT | MINUS )? - int alt512=2; - try { dbg.enterSubRule(512); - try { dbg.enterDecision(512, decisionCanBacktrack[512]); + dbg.location(1467,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:5: ( IDENT | MINUS )? + int alt514=2; + try { dbg.enterSubRule(514); + try { dbg.enterDecision(514, decisionCanBacktrack[514]); - int LA512_0 = input.LA(1); - if ( (LA512_0==IDENT||LA512_0==MINUS) ) { - alt512=1; + int LA514_0 = input.LA(1); + if ( (LA514_0==IDENT||LA514_0==MINUS) ) { + alt514=1; } - } finally {dbg.exitDecision(512);} + } finally {dbg.exitDecision(514);} - switch (alt512) { + switch (alt514) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1462,5); + dbg.location(1467,5); if ( input.LA(1)==IDENT||input.LA(1)==MINUS ) { input.consume(); state.errorRecovery=false; @@ -34744,68 +34843,68 @@ public final void sass_selector_interpolation_exp() throws RecognitionException break; } - } finally {dbg.exitSubRule(512);} - dbg.location(1462,22); - pushFollow(FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp10736); + } finally {dbg.exitSubRule(514);} + dbg.location(1467,22); + pushFollow(FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp10796); sass_interpolation_expression_var(); state._fsp--; - if (state.failed) return;dbg.location(1462,56); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:56: ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? - int alt514=3; - try { dbg.enterSubRule(514); - try { dbg.enterDecision(514, decisionCanBacktrack[514]); + if (state.failed) return;dbg.location(1467,56); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:56: ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? + int alt516=3; + try { dbg.enterSubRule(516); + try { dbg.enterDecision(516, decisionCanBacktrack[516]); switch ( input.LA(1) ) { case IDENT: case MINUS: { - int LA514_1 = input.LA(2); - if ( (LA514_1==HASH_SYMBOL) ) { - int LA514_6 = input.LA(3); - if ( (LA514_6==LBRACE) ) { - alt514=1; + int LA516_1 = input.LA(2); + if ( (LA516_1==HASH_SYMBOL) ) { + int LA516_6 = input.LA(3); + if ( (LA516_6==LBRACE) ) { + alt516=1; } - else if ( (LA514_6==AT_SIGN||LA514_6==IDENT||LA514_6==MINUS||LA514_6==NAME) ) { - alt514=2; + else if ( (LA516_6==AT_SIGN||LA516_6==IDENT||LA516_6==MINUS||LA516_6==NAME) ) { + alt516=2; } } - else if ( ((LA514_1 >= COLON && LA514_1 <= COMMENT)||(LA514_1 >= DCOLON && LA514_1 <= DOT)||LA514_1==GREATER||LA514_1==HASH||LA514_1==IDENT||(LA514_1 >= LBRACE && LA514_1 <= LBRACKET)||LA514_1==LENGTH||LA514_1==LESS_AND||LA514_1==MINUS||LA514_1==NL||LA514_1==PLUS||LA514_1==RBRACE||LA514_1==RPAREN||LA514_1==SASS_EXTEND_ONLY_SELECTOR||LA514_1==SEMI||LA514_1==TILDE||LA514_1==WS) ) { - alt514=2; + else if ( ((LA516_1 >= COLON && LA516_1 <= COMMENT)||(LA516_1 >= DCOLON && LA516_1 <= DOT)||LA516_1==GREATER||LA516_1==HASH||LA516_1==IDENT||(LA516_1 >= LBRACE && LA516_1 <= LBRACKET)||LA516_1==LENGTH||LA516_1==LESS_AND||LA516_1==MINUS||LA516_1==NL||LA516_1==PLUS||LA516_1==RBRACE||LA516_1==RPAREN||LA516_1==SASS_EXTEND_ONLY_SELECTOR||LA516_1==SEMI||LA516_1==TILDE||LA516_1==WS) ) { + alt516=2; } } break; case HASH_SYMBOL: { - int LA514_2 = input.LA(2); - if ( (LA514_2==LBRACE) ) { - alt514=1; + int LA516_2 = input.LA(2); + if ( (LA516_2==LBRACE) ) { + alt516=1; } } break; case DIMENSION: { - int LA514_3 = input.LA(2); + int LA516_3 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt514=2; + alt516=2; } } break; case LENGTH: { - alt514=2; + alt516=2; } break; } - } finally {dbg.exitDecision(514);} + } finally {dbg.exitDecision(516);} - switch (alt514) { + switch (alt516) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:57: sass_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:57: sass_selector_interpolation_exp { - dbg.location(1462,57); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp10739); + dbg.location(1467,57); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp10799); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -34814,39 +34913,39 @@ else if ( ((LA514_1 >= COLON && LA514_1 <= COMMENT)||(LA514_1 >= DCOLON && LA514 case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:91: ( IDENT | MINUS | DIMENSION | LENGTH )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:91: ( IDENT | MINUS | DIMENSION | LENGTH )+ { - dbg.location(1462,91); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:91: ( IDENT | MINUS | DIMENSION | LENGTH )+ - int cnt513=0; - try { dbg.enterSubRule(513); + dbg.location(1467,91); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:91: ( IDENT | MINUS | DIMENSION | LENGTH )+ + int cnt515=0; + try { dbg.enterSubRule(515); - loop513: + loop515: while (true) { - int alt513=2; - try { dbg.enterDecision(513, decisionCanBacktrack[513]); + int alt515=2; + try { dbg.enterDecision(515, decisionCanBacktrack[515]); - int LA513_0 = input.LA(1); - if ( (LA513_0==DIMENSION) ) { - int LA513_2 = input.LA(2); + int LA515_0 = input.LA(1); + if ( (LA515_0==DIMENSION) ) { + int LA515_2 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt513=1; + alt515=1; } } - else if ( (LA513_0==IDENT||LA513_0==LENGTH||LA513_0==MINUS) ) { - alt513=1; + else if ( (LA515_0==IDENT||LA515_0==LENGTH||LA515_0==MINUS) ) { + alt515=1; } - } finally {dbg.exitDecision(513);} + } finally {dbg.exitDecision(515);} - switch (alt513) { + switch (alt515) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(1462,91); + dbg.location(1467,91); if ( input.LA(1)==DIMENSION||input.LA(1)==IDENT||input.LA(1)==LENGTH||input.LA(1)==MINUS ) { input.consume(); state.errorRecovery=false; @@ -34862,22 +34961,22 @@ else if ( (LA513_0==IDENT||LA513_0==LENGTH||LA513_0==MINUS) ) { break; default : - if ( cnt513 >= 1 ) break loop513; + if ( cnt515 >= 1 ) break loop515; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(513, input); + EarlyExitException eee = new EarlyExitException(515, input); dbg.recognitionException(eee); throw eee; } - cnt513++; + cnt515++; } - } finally {dbg.exitSubRule(513);} + } finally {dbg.exitSubRule(515);} } break; } - } finally {dbg.exitSubRule(514);} + } finally {dbg.exitSubRule(516);} } @@ -34889,7 +34988,7 @@ else if ( (LA513_0==IDENT||LA513_0==LENGTH||LA513_0==MINUS) ) { finally { // do for sure before leaving } - dbg.location(1463, 4); + dbg.location(1468, 4); } finally { @@ -34904,77 +35003,77 @@ else if ( (LA513_0==IDENT||LA513_0==LENGTH||LA513_0==MINUS) ) { // $ANTLR start "sass_interpolation_expression_var" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1465:1: sass_interpolation_expression_var : HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1470:1: sass_interpolation_expression_var : HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE ; public final void sass_interpolation_expression_var() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_interpolation_expression_var"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1465, 0); + dbg.location(1470, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1466:5: ( HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1471:5: ( HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:9: HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:9: HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE { - dbg.location(1467,9); - match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var10786); if (state.failed) return;dbg.location(1467,21); - match(input,LBRACE,FOLLOW_LBRACE_in_sass_interpolation_expression_var10788); if (state.failed) return;dbg.location(1467,28); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:28: ( WS )? - int alt515=2; - try { dbg.enterSubRule(515); - try { dbg.enterDecision(515, decisionCanBacktrack[515]); + dbg.location(1472,9); + match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var10846); if (state.failed) return;dbg.location(1472,21); + match(input,LBRACE,FOLLOW_LBRACE_in_sass_interpolation_expression_var10848); if (state.failed) return;dbg.location(1472,28); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:28: ( WS )? + int alt517=2; + try { dbg.enterSubRule(517); + try { dbg.enterDecision(517, decisionCanBacktrack[517]); - int LA515_0 = input.LA(1); - if ( (LA515_0==WS) ) { - alt515=1; + int LA517_0 = input.LA(1); + if ( (LA517_0==WS) ) { + alt517=1; } - } finally {dbg.exitDecision(515);} + } finally {dbg.exitDecision(517);} - switch (alt515) { + switch (alt517) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:28: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:28: WS { - dbg.location(1467,28); - match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var10790); if (state.failed) return; + dbg.location(1472,28); + match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var10850); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(515);} - dbg.location(1467,32); - pushFollow(FOLLOW_cp_expression_in_sass_interpolation_expression_var10793); + } finally {dbg.exitSubRule(517);} + dbg.location(1472,32); + pushFollow(FOLLOW_cp_expression_in_sass_interpolation_expression_var10853); cp_expression(); state._fsp--; - if (state.failed) return;dbg.location(1467,46); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:46: ( WS )? - int alt516=2; - try { dbg.enterSubRule(516); - try { dbg.enterDecision(516, decisionCanBacktrack[516]); + if (state.failed) return;dbg.location(1472,46); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:46: ( WS )? + int alt518=2; + try { dbg.enterSubRule(518); + try { dbg.enterDecision(518, decisionCanBacktrack[518]); - int LA516_0 = input.LA(1); - if ( (LA516_0==WS) ) { - alt516=1; + int LA518_0 = input.LA(1); + if ( (LA518_0==WS) ) { + alt518=1; } - } finally {dbg.exitDecision(516);} + } finally {dbg.exitDecision(518);} - switch (alt516) { + switch (alt518) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:46: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:46: WS { - dbg.location(1467,46); - match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var10795); if (state.failed) return; + dbg.location(1472,46); + match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var10855); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(516);} - dbg.location(1467,50); - match(input,RBRACE,FOLLOW_RBRACE_in_sass_interpolation_expression_var10798); if (state.failed) return; + } finally {dbg.exitSubRule(518);} + dbg.location(1472,50); + match(input,RBRACE,FOLLOW_RBRACE_in_sass_interpolation_expression_var10858); if (state.failed) return; } } @@ -34985,7 +35084,7 @@ public final void sass_interpolation_expression_var() throws RecognitionExceptio finally { // do for sure before leaving } - dbg.location(1468, 4); + dbg.location(1473, 4); } finally { @@ -35000,43 +35099,43 @@ public final void sass_interpolation_expression_var() throws RecognitionExceptio // $ANTLR start "sass_nested_properties" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1488:1: sass_nested_properties : property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1493:1: sass_nested_properties : property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ; public final void sass_nested_properties() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_nested_properties"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1488, 0); + dbg.location(1493, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1489:5: ( property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:5: ( property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:5: property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:5: property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE { - dbg.location(1490,5); - pushFollow(FOLLOW_property_in_sass_nested_properties10838); + dbg.location(1495,5); + pushFollow(FOLLOW_property_in_sass_nested_properties10898); property(); state._fsp--; - if (state.failed) return;dbg.location(1490,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:14: ( ws )? - int alt517=2; - try { dbg.enterSubRule(517); - try { dbg.enterDecision(517, decisionCanBacktrack[517]); + if (state.failed) return;dbg.location(1495,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:14: ( ws )? + int alt519=2; + try { dbg.enterSubRule(519); + try { dbg.enterDecision(519, decisionCanBacktrack[519]); - int LA517_0 = input.LA(1); - if ( (LA517_0==COMMENT||LA517_0==NL||LA517_0==WS) ) { - alt517=1; + int LA519_0 = input.LA(1); + if ( (LA519_0==COMMENT||LA519_0==NL||LA519_0==WS) ) { + alt519=1; } - } finally {dbg.exitDecision(517);} + } finally {dbg.exitDecision(519);} - switch (alt517) { + switch (alt519) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:14: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:14: ws { - dbg.location(1490,14); - pushFollow(FOLLOW_ws_in_sass_nested_properties10840); + dbg.location(1495,14); + pushFollow(FOLLOW_ws_in_sass_nested_properties10900); ws(); state._fsp--; if (state.failed) return; @@ -35044,28 +35143,28 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(517);} - dbg.location(1490,18); - match(input,COLON,FOLLOW_COLON_in_sass_nested_properties10843); if (state.failed) return;dbg.location(1490,24); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:24: ( ws )? - int alt518=2; - try { dbg.enterSubRule(518); - try { dbg.enterDecision(518, decisionCanBacktrack[518]); + } finally {dbg.exitSubRule(519);} + dbg.location(1495,18); + match(input,COLON,FOLLOW_COLON_in_sass_nested_properties10903); if (state.failed) return;dbg.location(1495,24); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:24: ( ws )? + int alt520=2; + try { dbg.enterSubRule(520); + try { dbg.enterDecision(520, decisionCanBacktrack[520]); - int LA518_0 = input.LA(1); - if ( (LA518_0==COMMENT||LA518_0==NL||LA518_0==WS) ) { - alt518=1; + int LA520_0 = input.LA(1); + if ( (LA520_0==COMMENT||LA520_0==NL||LA520_0==WS) ) { + alt520=1; } - } finally {dbg.exitDecision(518);} + } finally {dbg.exitDecision(520);} - switch (alt518) { + switch (alt520) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:24: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:24: ws { - dbg.location(1490,24); - pushFollow(FOLLOW_ws_in_sass_nested_properties10845); + dbg.location(1495,24); + pushFollow(FOLLOW_ws_in_sass_nested_properties10905); ws(); state._fsp--; if (state.failed) return; @@ -35073,49 +35172,49 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(518);} - dbg.location(1490,28); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:28: ( propertyValue ( ws )? )? - int alt520=2; - try { dbg.enterSubRule(520); - try { dbg.enterDecision(520, decisionCanBacktrack[520]); + } finally {dbg.exitSubRule(520);} + dbg.location(1495,28); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:28: ( propertyValue ( ws )? )? + int alt522=2; + try { dbg.enterSubRule(522); + try { dbg.enterDecision(522, decisionCanBacktrack[522]); - int LA520_0 = input.LA(1); - if ( ((LA520_0 >= ANGLE && LA520_0 <= AT_SIGN)||(LA520_0 >= BOTTOMCENTER_SYM && LA520_0 <= BOTTOMRIGHT_SYM)||LA520_0==CHARSET_SYM||LA520_0==COUNTER_STYLE_SYM||LA520_0==DIMENSION||LA520_0==EMS||LA520_0==EXS||(LA520_0 >= FONT_FACE_SYM && LA520_0 <= FREQ)||LA520_0==GEN||(LA520_0 >= HASH && LA520_0 <= HASH_SYMBOL)||LA520_0==IDENT||LA520_0==IMPORT_SYM||(LA520_0 >= LBRACKET && LA520_0 <= LENGTH)||(LA520_0 >= LESS_AND && LA520_0 <= LESS_JS_STRING)||(LA520_0 >= MEDIA_SYM && LA520_0 <= MOZ_DOCUMENT_SYM)||LA520_0==NAMESPACE_SYM||LA520_0==NUMBER||(LA520_0 >= PAGE_SYM && LA520_0 <= PERCENTAGE_SYMBOL)||LA520_0==PLUS||(LA520_0 >= REM && LA520_0 <= RIGHTTOP_SYM)||(LA520_0 >= SASS_AT_ROOT && LA520_0 <= SASS_DEBUG)||(LA520_0 >= SASS_EACH && LA520_0 <= SASS_ELSE)||LA520_0==SASS_EXTEND||(LA520_0 >= SASS_FOR && LA520_0 <= SASS_FUNCTION)||(LA520_0 >= SASS_IF && LA520_0 <= SASS_MIXIN)||(LA520_0 >= SASS_RETURN && LA520_0 <= SASS_WHILE)||LA520_0==STRING||(LA520_0 >= TILDE && LA520_0 <= TOPRIGHT_SYM)||(LA520_0 >= URANGE && LA520_0 <= URI)||LA520_0==VARIABLE||LA520_0==WEBKIT_KEYFRAMES_SYM) ) { - alt520=1; + int LA522_0 = input.LA(1); + if ( ((LA522_0 >= ANGLE && LA522_0 <= AT_SIGN)||(LA522_0 >= BOTTOMCENTER_SYM && LA522_0 <= BOTTOMRIGHT_SYM)||LA522_0==CHARSET_SYM||LA522_0==COUNTER_STYLE_SYM||LA522_0==DIMENSION||LA522_0==EMS||LA522_0==EXS||(LA522_0 >= FONT_FACE_SYM && LA522_0 <= FREQ)||LA522_0==GEN||(LA522_0 >= HASH && LA522_0 <= HASH_SYMBOL)||LA522_0==IDENT||LA522_0==IMPORT_SYM||(LA522_0 >= LBRACKET && LA522_0 <= LENGTH)||(LA522_0 >= LESS_AND && LA522_0 <= LESS_JS_STRING)||(LA522_0 >= MEDIA_SYM && LA522_0 <= MOZ_DOCUMENT_SYM)||LA522_0==NAMESPACE_SYM||LA522_0==NUMBER||(LA522_0 >= PAGE_SYM && LA522_0 <= PERCENTAGE_SYMBOL)||LA522_0==PLUS||(LA522_0 >= REM && LA522_0 <= RIGHTTOP_SYM)||(LA522_0 >= SASS_AT_ROOT && LA522_0 <= SASS_DEBUG)||(LA522_0 >= SASS_EACH && LA522_0 <= SASS_ELSE)||LA522_0==SASS_EXTEND||(LA522_0 >= SASS_FOR && LA522_0 <= SASS_FUNCTION)||(LA522_0 >= SASS_IF && LA522_0 <= SASS_MIXIN)||(LA522_0 >= SASS_RETURN && LA522_0 <= SASS_WHILE)||LA522_0==STRING||(LA522_0 >= TILDE && LA522_0 <= TOPRIGHT_SYM)||(LA522_0 >= URANGE && LA522_0 <= URI)||LA522_0==VARIABLE||LA522_0==WEBKIT_KEYFRAMES_SYM) ) { + alt522=1; } - } finally {dbg.exitDecision(520);} + } finally {dbg.exitDecision(522);} - switch (alt520) { + switch (alt522) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:29: propertyValue ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:29: propertyValue ( ws )? { - dbg.location(1490,29); - pushFollow(FOLLOW_propertyValue_in_sass_nested_properties10849); + dbg.location(1495,29); + pushFollow(FOLLOW_propertyValue_in_sass_nested_properties10909); propertyValue(); state._fsp--; - if (state.failed) return;dbg.location(1490,43); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:43: ( ws )? - int alt519=2; - try { dbg.enterSubRule(519); - try { dbg.enterDecision(519, decisionCanBacktrack[519]); + if (state.failed) return;dbg.location(1495,43); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:43: ( ws )? + int alt521=2; + try { dbg.enterSubRule(521); + try { dbg.enterDecision(521, decisionCanBacktrack[521]); - int LA519_0 = input.LA(1); - if ( (LA519_0==COMMENT||LA519_0==NL||LA519_0==WS) ) { - alt519=1; + int LA521_0 = input.LA(1); + if ( (LA521_0==COMMENT||LA521_0==NL||LA521_0==WS) ) { + alt521=1; } - } finally {dbg.exitDecision(519);} + } finally {dbg.exitDecision(521);} - switch (alt519) { + switch (alt521) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:43: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:43: ws { - dbg.location(1490,43); - pushFollow(FOLLOW_ws_in_sass_nested_properties10851); + dbg.location(1495,43); + pushFollow(FOLLOW_ws_in_sass_nested_properties10911); ws(); state._fsp--; if (state.failed) return; @@ -35123,34 +35222,34 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(519);} + } finally {dbg.exitSubRule(521);} } break; } - } finally {dbg.exitSubRule(520);} - dbg.location(1490,49); - match(input,LBRACE,FOLLOW_LBRACE_in_sass_nested_properties10856); if (state.failed) return;dbg.location(1490,56); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:56: ( ws )? - int alt521=2; - try { dbg.enterSubRule(521); - try { dbg.enterDecision(521, decisionCanBacktrack[521]); + } finally {dbg.exitSubRule(522);} + dbg.location(1495,49); + match(input,LBRACE,FOLLOW_LBRACE_in_sass_nested_properties10916); if (state.failed) return;dbg.location(1495,56); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:56: ( ws )? + int alt523=2; + try { dbg.enterSubRule(523); + try { dbg.enterDecision(523, decisionCanBacktrack[523]); - int LA521_0 = input.LA(1); - if ( (LA521_0==COMMENT||LA521_0==NL||LA521_0==WS) ) { - alt521=1; + int LA523_0 = input.LA(1); + if ( (LA523_0==COMMENT||LA523_0==NL||LA523_0==WS) ) { + alt523=1; } - } finally {dbg.exitDecision(521);} + } finally {dbg.exitDecision(523);} - switch (alt521) { + switch (alt523) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:56: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:56: ws { - dbg.location(1490,56); - pushFollow(FOLLOW_ws_in_sass_nested_properties10858); + dbg.location(1495,56); + pushFollow(FOLLOW_ws_in_sass_nested_properties10918); ws(); state._fsp--; if (state.failed) return; @@ -35158,31 +35257,31 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(521);} - dbg.location(1490,60); - pushFollow(FOLLOW_syncToFollow_in_sass_nested_properties10861); + } finally {dbg.exitSubRule(523);} + dbg.location(1495,60); + pushFollow(FOLLOW_syncToFollow_in_sass_nested_properties10921); syncToFollow(); state._fsp--; - if (state.failed) return;dbg.location(1490,73); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:73: ( declarations )? - int alt522=2; - try { dbg.enterSubRule(522); - try { dbg.enterDecision(522, decisionCanBacktrack[522]); + if (state.failed) return;dbg.location(1495,73); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:73: ( declarations )? + int alt524=2; + try { dbg.enterSubRule(524); + try { dbg.enterDecision(524, decisionCanBacktrack[524]); - int LA522_0 = input.LA(1); - if ( ((LA522_0 >= AT_IDENT && LA522_0 <= AT_SIGN)||(LA522_0 >= BOTTOMCENTER_SYM && LA522_0 <= BOTTOMRIGHT_SYM)||(LA522_0 >= CHARSET_SYM && LA522_0 <= COLON)||LA522_0==CONTAINER_SYM||LA522_0==COUNTER_STYLE_SYM||(LA522_0 >= DCOLON && LA522_0 <= DOT)||LA522_0==FONT_FACE_SYM||(LA522_0 >= GEN && LA522_0 <= GREATER)||(LA522_0 >= HASH && LA522_0 <= HASH_SYMBOL)||LA522_0==IDENT||LA522_0==IMPORT_SYM||LA522_0==LAYER_SYM||(LA522_0 >= LBRACKET && LA522_0 <= LEFTTOP_SYM)||LA522_0==LESS_AND||(LA522_0 >= MEDIA_SYM && LA522_0 <= MOZ_DOCUMENT_SYM)||LA522_0==NAMESPACE_SYM||LA522_0==PAGE_SYM||(LA522_0 >= PIPE && LA522_0 <= PLUS)||(LA522_0 >= RIGHTBOTTOM_SYM && LA522_0 <= RIGHTTOP_SYM)||(LA522_0 >= SASS_AT_ROOT && LA522_0 <= SASS_DEBUG)||(LA522_0 >= SASS_EACH && LA522_0 <= SASS_ELSE)||(LA522_0 >= SASS_ERROR && LA522_0 <= SASS_FUNCTION)||(LA522_0 >= SASS_IF && LA522_0 <= SASS_MIXIN)||(LA522_0 >= SASS_RETURN && LA522_0 <= SEMI)||LA522_0==STAR||LA522_0==SUPPORTS_SYM||LA522_0==TILDE||(LA522_0 >= TOPCENTER_SYM && LA522_0 <= TOPRIGHT_SYM)||LA522_0==VARIABLE||LA522_0==WEBKIT_KEYFRAMES_SYM) ) { - alt522=1; + int LA524_0 = input.LA(1); + if ( ((LA524_0 >= AT_IDENT && LA524_0 <= AT_SIGN)||(LA524_0 >= BOTTOMCENTER_SYM && LA524_0 <= BOTTOMRIGHT_SYM)||(LA524_0 >= CHARSET_SYM && LA524_0 <= COLON)||LA524_0==CONTAINER_SYM||LA524_0==COUNTER_STYLE_SYM||(LA524_0 >= DCOLON && LA524_0 <= DOT)||LA524_0==FONT_FACE_SYM||(LA524_0 >= GEN && LA524_0 <= GREATER)||(LA524_0 >= HASH && LA524_0 <= HASH_SYMBOL)||LA524_0==IDENT||LA524_0==IMPORT_SYM||LA524_0==LAYER_SYM||(LA524_0 >= LBRACKET && LA524_0 <= LEFTTOP_SYM)||LA524_0==LESS_AND||(LA524_0 >= MEDIA_SYM && LA524_0 <= MOZ_DOCUMENT_SYM)||LA524_0==NAMESPACE_SYM||LA524_0==PAGE_SYM||(LA524_0 >= PIPE && LA524_0 <= PLUS)||(LA524_0 >= RIGHTBOTTOM_SYM && LA524_0 <= RIGHTTOP_SYM)||(LA524_0 >= SASS_AT_ROOT && LA524_0 <= SASS_DEBUG)||(LA524_0 >= SASS_EACH && LA524_0 <= SASS_ELSE)||(LA524_0 >= SASS_ERROR && LA524_0 <= SASS_FUNCTION)||(LA524_0 >= SASS_IF && LA524_0 <= SASS_MIXIN)||(LA524_0 >= SASS_RETURN && LA524_0 <= SEMI)||LA524_0==STAR||LA524_0==SUPPORTS_SYM||LA524_0==TILDE||(LA524_0 >= TOPCENTER_SYM && LA524_0 <= TOPRIGHT_SYM)||LA524_0==VARIABLE||LA524_0==WEBKIT_KEYFRAMES_SYM) ) { + alt524=1; } - } finally {dbg.exitDecision(522);} + } finally {dbg.exitDecision(524);} - switch (alt522) { + switch (alt524) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1490:73: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:73: declarations { - dbg.location(1490,73); - pushFollow(FOLLOW_declarations_in_sass_nested_properties10863); + dbg.location(1495,73); + pushFollow(FOLLOW_declarations_in_sass_nested_properties10923); declarations(); state._fsp--; if (state.failed) return; @@ -35190,9 +35289,9 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(522);} - dbg.location(1490,87); - match(input,RBRACE,FOLLOW_RBRACE_in_sass_nested_properties10866); if (state.failed) return; + } finally {dbg.exitSubRule(524);} + dbg.location(1495,87); + match(input,RBRACE,FOLLOW_RBRACE_in_sass_nested_properties10926); if (state.failed) return; } } @@ -35203,7 +35302,7 @@ public final void sass_nested_properties() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1491, 4); + dbg.location(1496, 4); } finally { @@ -35218,73 +35317,73 @@ public final void sass_nested_properties() throws RecognitionException { // $ANTLR start "sass_extend" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1493:1: sass_extend : SASS_EXTEND ws simpleSelectorSequence ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* ( ws SASS_OPTIONAL )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:1: sass_extend : SASS_EXTEND ws simpleSelectorSequence ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* ( ws SASS_OPTIONAL )? ; public final void sass_extend() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_extend"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1493, 0); + dbg.location(1498, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1494:5: ( SASS_EXTEND ws simpleSelectorSequence ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* ( ws SASS_OPTIONAL )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1499:5: ( SASS_EXTEND ws simpleSelectorSequence ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* ( ws SASS_OPTIONAL )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:5: SASS_EXTEND ws simpleSelectorSequence ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* ( ws SASS_OPTIONAL )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:5: SASS_EXTEND ws simpleSelectorSequence ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* ( ws SASS_OPTIONAL )? { - dbg.location(1495,5); - match(input,SASS_EXTEND,FOLLOW_SASS_EXTEND_in_sass_extend10887); if (state.failed) return;dbg.location(1495,17); - pushFollow(FOLLOW_ws_in_sass_extend10889); + dbg.location(1500,5); + match(input,SASS_EXTEND,FOLLOW_SASS_EXTEND_in_sass_extend10947); if (state.failed) return;dbg.location(1500,17); + pushFollow(FOLLOW_ws_in_sass_extend10949); ws(); state._fsp--; - if (state.failed) return;dbg.location(1495,20); - pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend10891); + if (state.failed) return;dbg.location(1500,20); + pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend10951); simpleSelectorSequence(); state._fsp--; - if (state.failed) return;dbg.location(1495,43); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:43: ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* - try { dbg.enterSubRule(525); + if (state.failed) return;dbg.location(1500,43); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:43: ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* + try { dbg.enterSubRule(527); - loop525: + loop527: while (true) { - int alt525=2; - try { dbg.enterDecision(525, decisionCanBacktrack[525]); + int alt527=2; + try { dbg.enterDecision(527, decisionCanBacktrack[527]); try { isCyclicDecision = true; - alt525 = dfa525.predict(input); + alt527 = dfa527.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(525);} + } finally {dbg.exitDecision(527);} - switch (alt525) { + switch (alt527) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:44: ( ws )? COMMA ( ws )? simpleSelectorSequence + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:44: ( ws )? COMMA ( ws )? simpleSelectorSequence { - dbg.location(1495,44); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:44: ( ws )? - int alt523=2; - try { dbg.enterSubRule(523); - try { dbg.enterDecision(523, decisionCanBacktrack[523]); + dbg.location(1500,44); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:44: ( ws )? + int alt525=2; + try { dbg.enterSubRule(525); + try { dbg.enterDecision(525, decisionCanBacktrack[525]); - int LA523_0 = input.LA(1); - if ( (LA523_0==COMMENT||LA523_0==NL||LA523_0==WS) ) { - alt523=1; + int LA525_0 = input.LA(1); + if ( (LA525_0==COMMENT||LA525_0==NL||LA525_0==WS) ) { + alt525=1; } - } finally {dbg.exitDecision(523);} + } finally {dbg.exitDecision(525);} - switch (alt523) { + switch (alt525) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:44: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:44: ws { - dbg.location(1495,44); - pushFollow(FOLLOW_ws_in_sass_extend10894); + dbg.location(1500,44); + pushFollow(FOLLOW_ws_in_sass_extend10954); ws(); state._fsp--; if (state.failed) return; @@ -35292,28 +35391,28 @@ public final void sass_extend() throws RecognitionException { break; } - } finally {dbg.exitSubRule(523);} - dbg.location(1495,48); - match(input,COMMA,FOLLOW_COMMA_in_sass_extend10897); if (state.failed) return;dbg.location(1495,54); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:54: ( ws )? - int alt524=2; - try { dbg.enterSubRule(524); - try { dbg.enterDecision(524, decisionCanBacktrack[524]); + } finally {dbg.exitSubRule(525);} + dbg.location(1500,48); + match(input,COMMA,FOLLOW_COMMA_in_sass_extend10957); if (state.failed) return;dbg.location(1500,54); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:54: ( ws )? + int alt526=2; + try { dbg.enterSubRule(526); + try { dbg.enterDecision(526, decisionCanBacktrack[526]); - int LA524_0 = input.LA(1); - if ( (LA524_0==COMMENT||LA524_0==NL||LA524_0==WS) ) { - alt524=1; + int LA526_0 = input.LA(1); + if ( (LA526_0==COMMENT||LA526_0==NL||LA526_0==WS) ) { + alt526=1; } - } finally {dbg.exitDecision(524);} + } finally {dbg.exitDecision(526);} - switch (alt524) { + switch (alt526) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:54: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:54: ws { - dbg.location(1495,54); - pushFollow(FOLLOW_ws_in_sass_extend10899); + dbg.location(1500,54); + pushFollow(FOLLOW_ws_in_sass_extend10959); ws(); state._fsp--; if (state.failed) return; @@ -35321,9 +35420,9 @@ public final void sass_extend() throws RecognitionException { break; } - } finally {dbg.exitSubRule(524);} - dbg.location(1495,58); - pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend10902); + } finally {dbg.exitSubRule(526);} + dbg.location(1500,58); + pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend10962); simpleSelectorSequence(); state._fsp--; if (state.failed) return; @@ -35331,43 +35430,43 @@ public final void sass_extend() throws RecognitionException { break; default : - break loop525; + break loop527; } } - } finally {dbg.exitSubRule(525);} - dbg.location(1495,83); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:83: ( ws SASS_OPTIONAL )? - int alt526=2; - try { dbg.enterSubRule(526); - try { dbg.enterDecision(526, decisionCanBacktrack[526]); + } finally {dbg.exitSubRule(527);} + dbg.location(1500,83); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:83: ( ws SASS_OPTIONAL )? + int alt528=2; + try { dbg.enterSubRule(528); + try { dbg.enterDecision(528, decisionCanBacktrack[528]); try { isCyclicDecision = true; - alt526 = dfa526.predict(input); + alt528 = dfa528.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(526);} + } finally {dbg.exitDecision(528);} - switch (alt526) { + switch (alt528) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:84: ws SASS_OPTIONAL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:84: ws SASS_OPTIONAL { - dbg.location(1495,84); - pushFollow(FOLLOW_ws_in_sass_extend10907); + dbg.location(1500,84); + pushFollow(FOLLOW_ws_in_sass_extend10967); ws(); state._fsp--; - if (state.failed) return;dbg.location(1495,87); - match(input,SASS_OPTIONAL,FOLLOW_SASS_OPTIONAL_in_sass_extend10909); if (state.failed) return; + if (state.failed) return;dbg.location(1500,87); + match(input,SASS_OPTIONAL,FOLLOW_SASS_OPTIONAL_in_sass_extend10969); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(526);} + } finally {dbg.exitSubRule(528);} } @@ -35379,7 +35478,7 @@ public final void sass_extend() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1496, 4); + dbg.location(1501, 4); } finally { @@ -35394,46 +35493,46 @@ public final void sass_extend() throws RecognitionException { // $ANTLR start "sass_extend_only_selector" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1498:1: sass_extend_only_selector : SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1503:1: sass_extend_only_selector : SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? ; public final void sass_extend_only_selector() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_extend_only_selector"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1498, 0); + dbg.location(1503, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1499:5: ( SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:5: ( SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:5: SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:5: SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? { - dbg.location(1500,5); - match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector10932); if (state.failed) return;dbg.location(1500,31); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:31: ( sass_selector_interpolation_exp )? - int alt527=2; - try { dbg.enterSubRule(527); - try { dbg.enterDecision(527, decisionCanBacktrack[527]); + dbg.location(1505,5); + match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector10992); if (state.failed) return;dbg.location(1505,31); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:31: ( sass_selector_interpolation_exp )? + int alt529=2; + try { dbg.enterSubRule(529); + try { dbg.enterDecision(529, decisionCanBacktrack[529]); - int LA527_0 = input.LA(1); - if ( (LA527_0==IDENT||LA527_0==MINUS) ) { - alt527=1; + int LA529_0 = input.LA(1); + if ( (LA529_0==IDENT||LA529_0==MINUS) ) { + alt529=1; } - else if ( (LA527_0==HASH_SYMBOL) ) { - int LA527_2 = input.LA(2); - if ( (LA527_2==LBRACE) ) { - alt527=1; + else if ( (LA529_0==HASH_SYMBOL) ) { + int LA529_2 = input.LA(2); + if ( (LA529_2==LBRACE) ) { + alt529=1; } } - } finally {dbg.exitDecision(527);} + } finally {dbg.exitDecision(529);} - switch (alt527) { + switch (alt529) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:31: sass_selector_interpolation_exp + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:31: sass_selector_interpolation_exp { - dbg.location(1500,31); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector10934); + dbg.location(1505,31); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector10994); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -35441,7 +35540,7 @@ else if ( (LA527_0==HASH_SYMBOL) ) { break; } - } finally {dbg.exitSubRule(527);} + } finally {dbg.exitSubRule(529);} } @@ -35453,7 +35552,7 @@ else if ( (LA527_0==HASH_SYMBOL) ) { finally { // do for sure before leaving } - dbg.location(1501, 4); + dbg.location(1506, 4); } finally { @@ -35468,20 +35567,20 @@ else if ( (LA527_0==HASH_SYMBOL) ) { // $ANTLR start "sass_debug" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1503:1: sass_debug : ( SASS_DEBUG | SASS_WARN ) ws cp_expression ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1508:1: sass_debug : ( SASS_DEBUG | SASS_WARN ) ws cp_expression ; public final void sass_debug() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_debug"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1503, 0); + dbg.location(1508, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1504:5: ( ( SASS_DEBUG | SASS_WARN ) ws cp_expression ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1509:5: ( ( SASS_DEBUG | SASS_WARN ) ws cp_expression ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:5: ( SASS_DEBUG | SASS_WARN ) ws cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:5: ( SASS_DEBUG | SASS_WARN ) ws cp_expression { - dbg.location(1505,5); + dbg.location(1510,5); if ( input.LA(1)==SASS_DEBUG||input.LA(1)==SASS_WARN ) { input.consume(); state.errorRecovery=false; @@ -35492,12 +35591,12 @@ public final void sass_debug() throws RecognitionException { MismatchedSetException mse = new MismatchedSetException(null,input); dbg.recognitionException(mse); throw mse; - }dbg.location(1505,32); - pushFollow(FOLLOW_ws_in_sass_debug10966); + }dbg.location(1510,32); + pushFollow(FOLLOW_ws_in_sass_debug11026); ws(); state._fsp--; - if (state.failed) return;dbg.location(1505,35); - pushFollow(FOLLOW_cp_expression_in_sass_debug10968); + if (state.failed) return;dbg.location(1510,35); + pushFollow(FOLLOW_cp_expression_in_sass_debug11028); cp_expression(); state._fsp--; if (state.failed) return; @@ -35511,7 +35610,7 @@ public final void sass_debug() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1506, 4); + dbg.location(1511, 4); } finally { @@ -35526,26 +35625,26 @@ public final void sass_debug() throws RecognitionException { // $ANTLR start "sass_error" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1508:1: sass_error : SASS_ERROR ws STRING ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1513:1: sass_error : SASS_ERROR ws STRING ; public final void sass_error() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_error"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1508, 0); + dbg.location(1513, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1509:5: ( SASS_ERROR ws STRING ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:5: ( SASS_ERROR ws STRING ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1510:5: SASS_ERROR ws STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:5: SASS_ERROR ws STRING { - dbg.location(1510,5); - match(input,SASS_ERROR,FOLLOW_SASS_ERROR_in_sass_error10989); if (state.failed) return;dbg.location(1510,16); - pushFollow(FOLLOW_ws_in_sass_error10991); + dbg.location(1515,5); + match(input,SASS_ERROR,FOLLOW_SASS_ERROR_in_sass_error11049); if (state.failed) return;dbg.location(1515,16); + pushFollow(FOLLOW_ws_in_sass_error11051); ws(); state._fsp--; - if (state.failed) return;dbg.location(1510,19); - match(input,STRING,FOLLOW_STRING_in_sass_error10993); if (state.failed) return; + if (state.failed) return;dbg.location(1515,19); + match(input,STRING,FOLLOW_STRING_in_sass_error11053); if (state.failed) return; } } @@ -35556,7 +35655,7 @@ public final void sass_error() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1511, 4); + dbg.location(1516, 4); } finally { @@ -35571,56 +35670,56 @@ public final void sass_error() throws RecognitionException { // $ANTLR start "sass_control" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1513:1: sass_control : ( sass_if | sass_for | sass_each | sass_while ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:1: sass_control : ( sass_if | sass_for | sass_each | sass_while ); public final void sass_control() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_control"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1513, 0); + dbg.location(1518, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1514:5: ( sass_if | sass_for | sass_each | sass_while ) - int alt528=4; - try { dbg.enterDecision(528, decisionCanBacktrack[528]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1519:5: ( sass_if | sass_for | sass_each | sass_while ) + int alt530=4; + try { dbg.enterDecision(530, decisionCanBacktrack[530]); switch ( input.LA(1) ) { case SASS_IF: { - alt528=1; + alt530=1; } break; case SASS_FOR: { - alt528=2; + alt530=2; } break; case SASS_EACH: { - alt528=3; + alt530=3; } break; case SASS_WHILE: { - alt528=4; + alt530=4; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 528, 0, input); + new NoViableAltException("", 530, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(528);} + } finally {dbg.exitDecision(530);} - switch (alt528) { + switch (alt530) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:5: sass_if + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:5: sass_if { - dbg.location(1515,5); - pushFollow(FOLLOW_sass_if_in_sass_control11014); + dbg.location(1520,5); + pushFollow(FOLLOW_sass_if_in_sass_control11074); sass_if(); state._fsp--; if (state.failed) return; @@ -35629,10 +35728,10 @@ public final void sass_control() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:15: sass_for + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:15: sass_for { - dbg.location(1515,15); - pushFollow(FOLLOW_sass_for_in_sass_control11018); + dbg.location(1520,15); + pushFollow(FOLLOW_sass_for_in_sass_control11078); sass_for(); state._fsp--; if (state.failed) return; @@ -35641,10 +35740,10 @@ public final void sass_control() throws RecognitionException { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:26: sass_each + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:26: sass_each { - dbg.location(1515,26); - pushFollow(FOLLOW_sass_each_in_sass_control11022); + dbg.location(1520,26); + pushFollow(FOLLOW_sass_each_in_sass_control11082); sass_each(); state._fsp--; if (state.failed) return; @@ -35653,10 +35752,10 @@ public final void sass_control() throws RecognitionException { case 4 : dbg.enterAlt(4); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:38: sass_while + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:38: sass_while { - dbg.location(1515,38); - pushFollow(FOLLOW_sass_while_in_sass_control11026); + dbg.location(1520,38); + pushFollow(FOLLOW_sass_while_in_sass_control11086); sass_while(); state._fsp--; if (state.failed) return; @@ -35672,7 +35771,7 @@ public final void sass_control() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1516, 4); + dbg.location(1521, 4); } finally { @@ -35687,40 +35786,40 @@ public final void sass_control() throws RecognitionException { // $ANTLR start "sass_if" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1518:1: sass_if : SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1523:1: sass_if : SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ; public final void sass_if() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_if"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1518, 0); + dbg.location(1523, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1519:5: ( SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1524:5: ( SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:5: SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:5: SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? { - dbg.location(1520,5); - match(input,SASS_IF,FOLLOW_SASS_IF_in_sass_if11047); if (state.failed) return;dbg.location(1520,13); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:13: ( ws )? - int alt529=2; - try { dbg.enterSubRule(529); - try { dbg.enterDecision(529, decisionCanBacktrack[529]); + dbg.location(1525,5); + match(input,SASS_IF,FOLLOW_SASS_IF_in_sass_if11107); if (state.failed) return;dbg.location(1525,13); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:13: ( ws )? + int alt531=2; + try { dbg.enterSubRule(531); + try { dbg.enterDecision(531, decisionCanBacktrack[531]); - int LA529_0 = input.LA(1); - if ( (LA529_0==COMMENT||LA529_0==NL||LA529_0==WS) ) { - alt529=1; + int LA531_0 = input.LA(1); + if ( (LA531_0==COMMENT||LA531_0==NL||LA531_0==WS) ) { + alt531=1; } - } finally {dbg.exitDecision(529);} + } finally {dbg.exitDecision(531);} - switch (alt529) { + switch (alt531) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:13: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:13: ws { - dbg.location(1520,13); - pushFollow(FOLLOW_ws_in_sass_if11049); + dbg.location(1525,13); + pushFollow(FOLLOW_ws_in_sass_if11109); ws(); state._fsp--; if (state.failed) return; @@ -35728,31 +35827,31 @@ public final void sass_if() throws RecognitionException { break; } - } finally {dbg.exitSubRule(529);} - dbg.location(1520,17); - pushFollow(FOLLOW_sass_control_expression_in_sass_if11052); + } finally {dbg.exitSubRule(531);} + dbg.location(1525,17); + pushFollow(FOLLOW_sass_control_expression_in_sass_if11112); sass_control_expression(); state._fsp--; - if (state.failed) return;dbg.location(1520,41); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:41: ( ws )? - int alt530=2; - try { dbg.enterSubRule(530); - try { dbg.enterDecision(530, decisionCanBacktrack[530]); + if (state.failed) return;dbg.location(1525,41); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:41: ( ws )? + int alt532=2; + try { dbg.enterSubRule(532); + try { dbg.enterDecision(532, decisionCanBacktrack[532]); - int LA530_0 = input.LA(1); - if ( (LA530_0==COMMENT||LA530_0==NL||LA530_0==WS) ) { - alt530=1; + int LA532_0 = input.LA(1); + if ( (LA532_0==COMMENT||LA532_0==NL||LA532_0==WS) ) { + alt532=1; } - } finally {dbg.exitDecision(530);} + } finally {dbg.exitDecision(532);} - switch (alt530) { + switch (alt532) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:41: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:41: ws { - dbg.location(1520,41); - pushFollow(FOLLOW_ws_in_sass_if11054); + dbg.location(1525,41); + pushFollow(FOLLOW_ws_in_sass_if11114); ws(); state._fsp--; if (state.failed) return; @@ -35760,53 +35859,53 @@ public final void sass_if() throws RecognitionException { break; } - } finally {dbg.exitSubRule(530);} - dbg.location(1520,45); - pushFollow(FOLLOW_sass_control_block_in_sass_if11057); + } finally {dbg.exitSubRule(532);} + dbg.location(1525,45); + pushFollow(FOLLOW_sass_control_block_in_sass_if11117); sass_control_block(); state._fsp--; - if (state.failed) return;dbg.location(1520,64); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:64: ( ( ws )? sass_else )? - int alt532=2; - try { dbg.enterSubRule(532); - try { dbg.enterDecision(532, decisionCanBacktrack[532]); + if (state.failed) return;dbg.location(1525,64); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:64: ( ( ws )? sass_else )? + int alt534=2; + try { dbg.enterSubRule(534); + try { dbg.enterDecision(534, decisionCanBacktrack[534]); try { isCyclicDecision = true; - alt532 = dfa532.predict(input); + alt534 = dfa534.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(532);} + } finally {dbg.exitDecision(534);} - switch (alt532) { + switch (alt534) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:65: ( ws )? sass_else + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:65: ( ws )? sass_else { - dbg.location(1520,65); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:65: ( ws )? - int alt531=2; - try { dbg.enterSubRule(531); - try { dbg.enterDecision(531, decisionCanBacktrack[531]); + dbg.location(1525,65); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:65: ( ws )? + int alt533=2; + try { dbg.enterSubRule(533); + try { dbg.enterDecision(533, decisionCanBacktrack[533]); - int LA531_0 = input.LA(1); - if ( (LA531_0==COMMENT||LA531_0==NL||LA531_0==WS) ) { - alt531=1; + int LA533_0 = input.LA(1); + if ( (LA533_0==COMMENT||LA533_0==NL||LA533_0==WS) ) { + alt533=1; } - } finally {dbg.exitDecision(531);} + } finally {dbg.exitDecision(533);} - switch (alt531) { + switch (alt533) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:65: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:65: ws { - dbg.location(1520,65); - pushFollow(FOLLOW_ws_in_sass_if11060); + dbg.location(1525,65); + pushFollow(FOLLOW_ws_in_sass_if11120); ws(); state._fsp--; if (state.failed) return; @@ -35814,9 +35913,9 @@ public final void sass_if() throws RecognitionException { break; } - } finally {dbg.exitSubRule(531);} - dbg.location(1520,69); - pushFollow(FOLLOW_sass_else_in_sass_if11063); + } finally {dbg.exitSubRule(533);} + dbg.location(1525,69); + pushFollow(FOLLOW_sass_else_in_sass_if11123); sass_else(); state._fsp--; if (state.failed) return; @@ -35824,7 +35923,7 @@ public final void sass_if() throws RecognitionException { break; } - } finally {dbg.exitSubRule(532);} + } finally {dbg.exitSubRule(534);} } @@ -35836,7 +35935,7 @@ public final void sass_if() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1521, 4); + dbg.location(1526, 4); } finally { @@ -35851,55 +35950,55 @@ public final void sass_if() throws RecognitionException { // $ANTLR start "sass_else" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1523:1: sass_else : ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1528:1: sass_else : ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ); public final void sass_else() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_else"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1523, 0); + dbg.location(1528, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1524:5: ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ) - int alt540=2; - try { dbg.enterDecision(540, decisionCanBacktrack[540]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1529:5: ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ) + int alt542=2; + try { dbg.enterDecision(542, decisionCanBacktrack[542]); try { isCyclicDecision = true; - alt540 = dfa540.predict(input); + alt542 = dfa542.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(540);} + } finally {dbg.exitDecision(542);} - switch (alt540) { + switch (alt542) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:5: SASS_ELSE ( ws )? sass_control_block + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:5: SASS_ELSE ( ws )? sass_control_block { - dbg.location(1525,5); - match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else11086); if (state.failed) return;dbg.location(1525,15); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:15: ( ws )? - int alt533=2; - try { dbg.enterSubRule(533); - try { dbg.enterDecision(533, decisionCanBacktrack[533]); + dbg.location(1530,5); + match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else11146); if (state.failed) return;dbg.location(1530,15); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:15: ( ws )? + int alt535=2; + try { dbg.enterSubRule(535); + try { dbg.enterDecision(535, decisionCanBacktrack[535]); - int LA533_0 = input.LA(1); - if ( (LA533_0==COMMENT||LA533_0==NL||LA533_0==WS) ) { - alt533=1; + int LA535_0 = input.LA(1); + if ( (LA535_0==COMMENT||LA535_0==NL||LA535_0==WS) ) { + alt535=1; } - } finally {dbg.exitDecision(533);} + } finally {dbg.exitDecision(535);} - switch (alt533) { + switch (alt535) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:15: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:15: ws { - dbg.location(1525,15); - pushFollow(FOLLOW_ws_in_sass_else11088); + dbg.location(1530,15); + pushFollow(FOLLOW_ws_in_sass_else11148); ws(); state._fsp--; if (state.failed) return; @@ -35907,9 +36006,9 @@ public final void sass_else() throws RecognitionException { break; } - } finally {dbg.exitSubRule(533);} - dbg.location(1525,19); - pushFollow(FOLLOW_sass_control_block_in_sass_else11091); + } finally {dbg.exitSubRule(535);} + dbg.location(1530,19); + pushFollow(FOLLOW_sass_control_block_in_sass_else11151); sass_control_block(); state._fsp--; if (state.failed) return; @@ -35918,65 +36017,65 @@ public final void sass_else() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? { - dbg.location(1527,5); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) - int alt535=2; - try { dbg.enterSubRule(535); - try { dbg.enterDecision(535, decisionCanBacktrack[535]); + dbg.location(1532,5); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) + int alt537=2; + try { dbg.enterSubRule(537); + try { dbg.enterDecision(537, decisionCanBacktrack[537]); - int LA535_0 = input.LA(1); - if ( (LA535_0==SASS_ELSE) ) { - alt535=1; + int LA537_0 = input.LA(1); + if ( (LA537_0==SASS_ELSE) ) { + alt537=1; } - else if ( (LA535_0==SASS_ELSEIF) ) { - alt535=2; + else if ( (LA537_0==SASS_ELSEIF) ) { + alt537=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 535, 0, input); + new NoViableAltException("", 537, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(535);} + } finally {dbg.exitDecision(537);} - switch (alt535) { + switch (alt537) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:6: ( SASS_ELSE ( ws )? {...}? IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:6: ( SASS_ELSE ( ws )? {...}? IDENT ) { - dbg.location(1527,6); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:6: ( SASS_ELSE ( ws )? {...}? IDENT ) + dbg.location(1532,6); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:6: ( SASS_ELSE ( ws )? {...}? IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:7: SASS_ELSE ( ws )? {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:7: SASS_ELSE ( ws )? {...}? IDENT { - dbg.location(1527,7); - match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else11105); if (state.failed) return;dbg.location(1527,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:17: ( ws )? - int alt534=2; - try { dbg.enterSubRule(534); - try { dbg.enterDecision(534, decisionCanBacktrack[534]); + dbg.location(1532,7); + match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else11165); if (state.failed) return;dbg.location(1532,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:17: ( ws )? + int alt536=2; + try { dbg.enterSubRule(536); + try { dbg.enterDecision(536, decisionCanBacktrack[536]); - int LA534_0 = input.LA(1); - if ( (LA534_0==COMMENT||LA534_0==NL||LA534_0==WS) ) { - alt534=1; + int LA536_0 = input.LA(1); + if ( (LA536_0==COMMENT||LA536_0==NL||LA536_0==WS) ) { + alt536=1; } - } finally {dbg.exitDecision(534);} + } finally {dbg.exitDecision(536);} - switch (alt534) { + switch (alt536) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:17: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:17: ws { - dbg.location(1527,17); - pushFollow(FOLLOW_ws_in_sass_else11107); + dbg.location(1532,17); + pushFollow(FOLLOW_ws_in_sass_else11167); ws(); state._fsp--; if (state.failed) return; @@ -35984,13 +36083,13 @@ else if ( (LA535_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(534);} - dbg.location(1527,21); + } finally {dbg.exitSubRule(536);} + dbg.location(1532,21); if ( !(evalPredicate(tokenNameEquals("if"),"tokenNameEquals(\"if\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "sass_else", "tokenNameEquals(\"if\")"); - }dbg.location(1527,46); - match(input,IDENT,FOLLOW_IDENT_in_sass_else11112); if (state.failed) return; + }dbg.location(1532,46); + match(input,IDENT,FOLLOW_IDENT_in_sass_else11172); if (state.failed) return; } } @@ -35998,35 +36097,35 @@ else if ( (LA535_0==SASS_ELSEIF) ) { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:64: SASS_ELSEIF + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:64: SASS_ELSEIF { - dbg.location(1527,64); - match(input,SASS_ELSEIF,FOLLOW_SASS_ELSEIF_in_sass_else11119); if (state.failed) return; + dbg.location(1532,64); + match(input,SASS_ELSEIF,FOLLOW_SASS_ELSEIF_in_sass_else11179); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(535);} - dbg.location(1527,77); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:77: ( ws )? - int alt536=2; - try { dbg.enterSubRule(536); - try { dbg.enterDecision(536, decisionCanBacktrack[536]); + } finally {dbg.exitSubRule(537);} + dbg.location(1532,77); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:77: ( ws )? + int alt538=2; + try { dbg.enterSubRule(538); + try { dbg.enterDecision(538, decisionCanBacktrack[538]); - int LA536_0 = input.LA(1); - if ( (LA536_0==COMMENT||LA536_0==NL||LA536_0==WS) ) { - alt536=1; + int LA538_0 = input.LA(1); + if ( (LA538_0==COMMENT||LA538_0==NL||LA538_0==WS) ) { + alt538=1; } - } finally {dbg.exitDecision(536);} + } finally {dbg.exitDecision(538);} - switch (alt536) { + switch (alt538) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:77: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:77: ws { - dbg.location(1527,77); - pushFollow(FOLLOW_ws_in_sass_else11122); + dbg.location(1532,77); + pushFollow(FOLLOW_ws_in_sass_else11182); ws(); state._fsp--; if (state.failed) return; @@ -36034,31 +36133,31 @@ else if ( (LA535_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(536);} - dbg.location(1527,81); - pushFollow(FOLLOW_sass_control_expression_in_sass_else11125); + } finally {dbg.exitSubRule(538);} + dbg.location(1532,81); + pushFollow(FOLLOW_sass_control_expression_in_sass_else11185); sass_control_expression(); state._fsp--; - if (state.failed) return;dbg.location(1527,105); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:105: ( ws )? - int alt537=2; - try { dbg.enterSubRule(537); - try { dbg.enterDecision(537, decisionCanBacktrack[537]); + if (state.failed) return;dbg.location(1532,105); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:105: ( ws )? + int alt539=2; + try { dbg.enterSubRule(539); + try { dbg.enterDecision(539, decisionCanBacktrack[539]); - int LA537_0 = input.LA(1); - if ( (LA537_0==COMMENT||LA537_0==NL||LA537_0==WS) ) { - alt537=1; + int LA539_0 = input.LA(1); + if ( (LA539_0==COMMENT||LA539_0==NL||LA539_0==WS) ) { + alt539=1; } - } finally {dbg.exitDecision(537);} + } finally {dbg.exitDecision(539);} - switch (alt537) { + switch (alt539) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:105: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:105: ws { - dbg.location(1527,105); - pushFollow(FOLLOW_ws_in_sass_else11127); + dbg.location(1532,105); + pushFollow(FOLLOW_ws_in_sass_else11187); ws(); state._fsp--; if (state.failed) return; @@ -36066,53 +36165,53 @@ else if ( (LA535_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(537);} - dbg.location(1527,109); - pushFollow(FOLLOW_sass_control_block_in_sass_else11130); + } finally {dbg.exitSubRule(539);} + dbg.location(1532,109); + pushFollow(FOLLOW_sass_control_block_in_sass_else11190); sass_control_block(); state._fsp--; - if (state.failed) return;dbg.location(1527,128); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:128: ( ( ws )? sass_else )? - int alt539=2; - try { dbg.enterSubRule(539); - try { dbg.enterDecision(539, decisionCanBacktrack[539]); + if (state.failed) return;dbg.location(1532,128); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:128: ( ( ws )? sass_else )? + int alt541=2; + try { dbg.enterSubRule(541); + try { dbg.enterDecision(541, decisionCanBacktrack[541]); try { isCyclicDecision = true; - alt539 = dfa539.predict(input); + alt541 = dfa541.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(539);} + } finally {dbg.exitDecision(541);} - switch (alt539) { + switch (alt541) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:129: ( ws )? sass_else + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:129: ( ws )? sass_else { - dbg.location(1527,129); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:129: ( ws )? - int alt538=2; - try { dbg.enterSubRule(538); - try { dbg.enterDecision(538, decisionCanBacktrack[538]); + dbg.location(1532,129); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:129: ( ws )? + int alt540=2; + try { dbg.enterSubRule(540); + try { dbg.enterDecision(540, decisionCanBacktrack[540]); - int LA538_0 = input.LA(1); - if ( (LA538_0==COMMENT||LA538_0==NL||LA538_0==WS) ) { - alt538=1; + int LA540_0 = input.LA(1); + if ( (LA540_0==COMMENT||LA540_0==NL||LA540_0==WS) ) { + alt540=1; } - } finally {dbg.exitDecision(538);} + } finally {dbg.exitDecision(540);} - switch (alt538) { + switch (alt540) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1527:129: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:129: ws { - dbg.location(1527,129); - pushFollow(FOLLOW_ws_in_sass_else11133); + dbg.location(1532,129); + pushFollow(FOLLOW_ws_in_sass_else11193); ws(); state._fsp--; if (state.failed) return; @@ -36120,9 +36219,9 @@ else if ( (LA535_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(538);} - dbg.location(1527,133); - pushFollow(FOLLOW_sass_else_in_sass_else11136); + } finally {dbg.exitSubRule(540);} + dbg.location(1532,133); + pushFollow(FOLLOW_sass_else_in_sass_else11196); sass_else(); state._fsp--; if (state.failed) return; @@ -36130,7 +36229,7 @@ else if ( (LA535_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(539);} + } finally {dbg.exitSubRule(541);} } break; @@ -36144,7 +36243,7 @@ else if ( (LA535_0==SASS_ELSEIF) ) { finally { // do for sure before leaving } - dbg.location(1528, 4); + dbg.location(1533, 4); } finally { @@ -36159,21 +36258,21 @@ else if ( (LA535_0==SASS_ELSEIF) ) { // $ANTLR start "sass_control_expression" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:1: sass_control_expression : cp_expression ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1535:1: sass_control_expression : cp_expression ; public final void sass_control_expression() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_control_expression"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1530, 0); + dbg.location(1535, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1531:5: ( cp_expression ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:5: ( cp_expression ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:5: cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1537:5: cp_expression { - dbg.location(1532,5); - pushFollow(FOLLOW_cp_expression_in_sass_control_expression11159); + dbg.location(1537,5); + pushFollow(FOLLOW_cp_expression_in_sass_control_expression11219); cp_expression(); state._fsp--; if (state.failed) return; @@ -36187,7 +36286,7 @@ public final void sass_control_expression() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1533, 4); + dbg.location(1538, 4); } finally { @@ -36202,82 +36301,82 @@ public final void sass_control_expression() throws RecognitionException { // $ANTLR start "sass_for" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1535:1: sass_for : SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1540:1: sass_for : SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block ; public final void sass_for() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_for"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1535, 0); + dbg.location(1540, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1536:5: ( SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1541:5: ( SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1537:5: SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:5: SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block { - dbg.location(1537,5); - match(input,SASS_FOR,FOLLOW_SASS_FOR_in_sass_for11180); if (state.failed) return;dbg.location(1537,14); - pushFollow(FOLLOW_ws_in_sass_for11182); + dbg.location(1542,5); + match(input,SASS_FOR,FOLLOW_SASS_FOR_in_sass_for11240); if (state.failed) return;dbg.location(1542,14); + pushFollow(FOLLOW_ws_in_sass_for11242); ws(); state._fsp--; - if (state.failed) return;dbg.location(1537,17); - pushFollow(FOLLOW_cp_variable_in_sass_for11184); + if (state.failed) return;dbg.location(1542,17); + pushFollow(FOLLOW_cp_variable_in_sass_for11244); cp_variable(); state._fsp--; - if (state.failed) return;dbg.location(1537,29); - pushFollow(FOLLOW_ws_in_sass_for11186); + if (state.failed) return;dbg.location(1542,29); + pushFollow(FOLLOW_ws_in_sass_for11246); ws(); state._fsp--; - if (state.failed) return;dbg.location(1537,32); + if (state.failed) return;dbg.location(1542,32); if ( !(evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"from\")"); - }dbg.location(1537,59); - match(input,IDENT,FOLLOW_IDENT_in_sass_for11190); if (state.failed) return;dbg.location(1537,74); - pushFollow(FOLLOW_ws_in_sass_for11194); + }dbg.location(1542,59); + match(input,IDENT,FOLLOW_IDENT_in_sass_for11250); if (state.failed) return;dbg.location(1542,74); + pushFollow(FOLLOW_ws_in_sass_for11254); ws(); state._fsp--; - if (state.failed) return;dbg.location(1537,77); - pushFollow(FOLLOW_cp_math_expression_in_sass_for11196); + if (state.failed) return;dbg.location(1542,77); + pushFollow(FOLLOW_cp_math_expression_in_sass_for11256); cp_math_expression(); state._fsp--; - if (state.failed) return;dbg.location(1537,96); - pushFollow(FOLLOW_ws_in_sass_for11198); + if (state.failed) return;dbg.location(1542,96); + pushFollow(FOLLOW_ws_in_sass_for11258); ws(); state._fsp--; - if (state.failed) return;dbg.location(1537,99); + if (state.failed) return;dbg.location(1542,99); if ( !(evalPredicate(tokenNameEquals("to")|tokenNameEquals("through"),"tokenNameEquals(\"to\")|tokenNameEquals(\"through\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"to\")|tokenNameEquals(\"through\")"); - }dbg.location(1537,151); - match(input,IDENT,FOLLOW_IDENT_in_sass_for11202); if (state.failed) return;dbg.location(1537,173); - pushFollow(FOLLOW_ws_in_sass_for11206); + }dbg.location(1542,151); + match(input,IDENT,FOLLOW_IDENT_in_sass_for11262); if (state.failed) return;dbg.location(1542,173); + pushFollow(FOLLOW_ws_in_sass_for11266); ws(); state._fsp--; - if (state.failed) return;dbg.location(1537,176); - pushFollow(FOLLOW_cp_math_expression_in_sass_for11208); + if (state.failed) return;dbg.location(1542,176); + pushFollow(FOLLOW_cp_math_expression_in_sass_for11268); cp_math_expression(); state._fsp--; - if (state.failed) return;dbg.location(1537,195); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1537:195: ( ws )? - int alt541=2; - try { dbg.enterSubRule(541); - try { dbg.enterDecision(541, decisionCanBacktrack[541]); + if (state.failed) return;dbg.location(1542,195); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:195: ( ws )? + int alt543=2; + try { dbg.enterSubRule(543); + try { dbg.enterDecision(543, decisionCanBacktrack[543]); - int LA541_0 = input.LA(1); - if ( (LA541_0==COMMENT||LA541_0==NL||LA541_0==WS) ) { - alt541=1; + int LA543_0 = input.LA(1); + if ( (LA543_0==COMMENT||LA543_0==NL||LA543_0==WS) ) { + alt543=1; } - } finally {dbg.exitDecision(541);} + } finally {dbg.exitDecision(543);} - switch (alt541) { + switch (alt543) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1537:195: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:195: ws { - dbg.location(1537,195); - pushFollow(FOLLOW_ws_in_sass_for11210); + dbg.location(1542,195); + pushFollow(FOLLOW_ws_in_sass_for11270); ws(); state._fsp--; if (state.failed) return; @@ -36285,9 +36384,9 @@ public final void sass_for() throws RecognitionException { break; } - } finally {dbg.exitSubRule(541);} - dbg.location(1537,199); - pushFollow(FOLLOW_sass_control_block_in_sass_for11213); + } finally {dbg.exitSubRule(543);} + dbg.location(1542,199); + pushFollow(FOLLOW_sass_control_block_in_sass_for11273); sass_control_block(); state._fsp--; if (state.failed) return; @@ -36301,7 +36400,7 @@ public final void sass_for() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1538, 4); + dbg.location(1543, 4); } finally { @@ -36316,117 +36415,117 @@ public final void sass_for() throws RecognitionException { // $ANTLR start "sass_each" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1540:1: sass_each : SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1545:1: sass_each : SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block ; public final void sass_each() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_each"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1540, 0); + dbg.location(1545, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1541:5: ( SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:5: ( SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:5: SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:5: SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block { - dbg.location(1542,5); - match(input,SASS_EACH,FOLLOW_SASS_EACH_in_sass_each11234); if (state.failed) return;dbg.location(1542,15); - pushFollow(FOLLOW_ws_in_sass_each11236); + dbg.location(1547,5); + match(input,SASS_EACH,FOLLOW_SASS_EACH_in_sass_each11294); if (state.failed) return;dbg.location(1547,15); + pushFollow(FOLLOW_ws_in_sass_each11296); ws(); state._fsp--; - if (state.failed) return;dbg.location(1542,18); - pushFollow(FOLLOW_sass_each_variables_in_sass_each11238); + if (state.failed) return;dbg.location(1547,18); + pushFollow(FOLLOW_sass_each_variables_in_sass_each11298); sass_each_variables(); state._fsp--; - if (state.failed) return;dbg.location(1542,38); - pushFollow(FOLLOW_ws_in_sass_each11240); + if (state.failed) return;dbg.location(1547,38); + pushFollow(FOLLOW_ws_in_sass_each11300); ws(); state._fsp--; - if (state.failed) return;dbg.location(1542,41); + if (state.failed) return;dbg.location(1547,41); if ( !(evalPredicate(tokenNameEquals("in"),"tokenNameEquals(\"in\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "sass_each", "tokenNameEquals(\"in\")"); - }dbg.location(1542,66); - match(input,IDENT,FOLLOW_IDENT_in_sass_each11244); if (state.failed) return;dbg.location(1542,79); - pushFollow(FOLLOW_ws_in_sass_each11248); + }dbg.location(1547,66); + match(input,IDENT,FOLLOW_IDENT_in_sass_each11304); if (state.failed) return;dbg.location(1547,79); + pushFollow(FOLLOW_ws_in_sass_each11308); ws(); state._fsp--; - if (state.failed) return;dbg.location(1542,82); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:82: ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ - int cnt545=0; - try { dbg.enterSubRule(545); + if (state.failed) return;dbg.location(1547,82); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:82: ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ + int cnt547=0; + try { dbg.enterSubRule(547); - loop545: + loop547: while (true) { - int alt545=2; - try { dbg.enterDecision(545, decisionCanBacktrack[545]); + int alt547=2; + try { dbg.enterDecision(547, decisionCanBacktrack[547]); - int LA545_0 = input.LA(1); - if ( (LA545_0==LBRACE) ) { - int LA545_1 = input.LA(2); + int LA547_0 = input.LA(1); + if ( (LA547_0==LBRACE) ) { + int LA547_1 = input.LA(2); if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt545=1; + alt547=1; } } - else if ( ((LA545_0 >= ANGLE && LA545_0 <= AT_SIGN)||(LA545_0 >= BOTTOMCENTER_SYM && LA545_0 <= BOTTOMRIGHT_SYM)||LA545_0==CHARSET_SYM||LA545_0==COUNTER_STYLE_SYM||LA545_0==DIMENSION||LA545_0==EMS||LA545_0==EXS||(LA545_0 >= FONT_FACE_SYM && LA545_0 <= FREQ)||LA545_0==GEN||(LA545_0 >= HASH && LA545_0 <= HASH_SYMBOL)||(LA545_0 >= IDENT && LA545_0 <= IMPORT_SYM)||(LA545_0 >= LBRACKET && LA545_0 <= LENGTH)||(LA545_0 >= LESS_AND && LA545_0 <= LESS_JS_STRING)||LA545_0==LPAREN||(LA545_0 >= MEDIA_SYM && LA545_0 <= MOZ_DOCUMENT_SYM)||LA545_0==NAMESPACE_SYM||(LA545_0 >= NOT && LA545_0 <= NUMBER)||(LA545_0 >= PAGE_SYM && LA545_0 <= PERCENTAGE_SYMBOL)||LA545_0==PLUS||(LA545_0 >= REM && LA545_0 <= RIGHTTOP_SYM)||(LA545_0 >= SASS_AT_ROOT && LA545_0 <= SASS_DEBUG)||(LA545_0 >= SASS_EACH && LA545_0 <= SASS_ELSE)||LA545_0==SASS_EXTEND||(LA545_0 >= SASS_FOR && LA545_0 <= SASS_FUNCTION)||(LA545_0 >= SASS_IF && LA545_0 <= SASS_MIXIN)||(LA545_0 >= SASS_RETURN && LA545_0 <= SASS_WHILE)||LA545_0==STRING||(LA545_0 >= TILDE && LA545_0 <= TOPRIGHT_SYM)||(LA545_0 >= URANGE && LA545_0 <= URI)||LA545_0==VARIABLE||LA545_0==WEBKIT_KEYFRAMES_SYM) ) { - alt545=1; + else if ( ((LA547_0 >= ANGLE && LA547_0 <= AT_SIGN)||(LA547_0 >= BOTTOMCENTER_SYM && LA547_0 <= BOTTOMRIGHT_SYM)||LA547_0==CHARSET_SYM||LA547_0==COUNTER_STYLE_SYM||LA547_0==DIMENSION||LA547_0==EMS||LA547_0==EXS||(LA547_0 >= FONT_FACE_SYM && LA547_0 <= FREQ)||LA547_0==GEN||(LA547_0 >= HASH && LA547_0 <= HASH_SYMBOL)||(LA547_0 >= IDENT && LA547_0 <= IMPORT_SYM)||(LA547_0 >= LBRACKET && LA547_0 <= LENGTH)||(LA547_0 >= LESS_AND && LA547_0 <= LESS_JS_STRING)||LA547_0==LPAREN||(LA547_0 >= MEDIA_SYM && LA547_0 <= MOZ_DOCUMENT_SYM)||LA547_0==NAMESPACE_SYM||(LA547_0 >= NOT && LA547_0 <= NUMBER)||(LA547_0 >= PAGE_SYM && LA547_0 <= PERCENTAGE_SYMBOL)||LA547_0==PLUS||(LA547_0 >= REM && LA547_0 <= RIGHTTOP_SYM)||(LA547_0 >= SASS_AT_ROOT && LA547_0 <= SASS_DEBUG)||(LA547_0 >= SASS_EACH && LA547_0 <= SASS_ELSE)||LA547_0==SASS_EXTEND||(LA547_0 >= SASS_FOR && LA547_0 <= SASS_FUNCTION)||(LA547_0 >= SASS_IF && LA547_0 <= SASS_MIXIN)||(LA547_0 >= SASS_RETURN && LA547_0 <= SASS_WHILE)||LA547_0==STRING||(LA547_0 >= TILDE && LA547_0 <= TOPRIGHT_SYM)||(LA547_0 >= URANGE && LA547_0 <= URI)||LA547_0==VARIABLE||LA547_0==WEBKIT_KEYFRAMES_SYM) ) { + alt547=1; } - } finally {dbg.exitDecision(545);} + } finally {dbg.exitDecision(547);} - switch (alt545) { + switch (alt547) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:83: cp_expression_list ( ( ws )? COMMA )? ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:83: cp_expression_list ( ( ws )? COMMA )? ( ws )? { - dbg.location(1542,83); - pushFollow(FOLLOW_cp_expression_list_in_sass_each11251); + dbg.location(1547,83); + pushFollow(FOLLOW_cp_expression_list_in_sass_each11311); cp_expression_list(); state._fsp--; - if (state.failed) return;dbg.location(1542,102); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:102: ( ( ws )? COMMA )? - int alt543=2; - try { dbg.enterSubRule(543); - try { dbg.enterDecision(543, decisionCanBacktrack[543]); + if (state.failed) return;dbg.location(1547,102); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:102: ( ( ws )? COMMA )? + int alt545=2; + try { dbg.enterSubRule(545); + try { dbg.enterDecision(545, decisionCanBacktrack[545]); try { isCyclicDecision = true; - alt543 = dfa543.predict(input); + alt545 = dfa545.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(543);} + } finally {dbg.exitDecision(545);} - switch (alt543) { + switch (alt545) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:103: ( ws )? COMMA + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:103: ( ws )? COMMA { - dbg.location(1542,103); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:103: ( ws )? - int alt542=2; - try { dbg.enterSubRule(542); - try { dbg.enterDecision(542, decisionCanBacktrack[542]); + dbg.location(1547,103); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:103: ( ws )? + int alt544=2; + try { dbg.enterSubRule(544); + try { dbg.enterDecision(544, decisionCanBacktrack[544]); - int LA542_0 = input.LA(1); - if ( (LA542_0==COMMENT||LA542_0==NL||LA542_0==WS) ) { - alt542=1; + int LA544_0 = input.LA(1); + if ( (LA544_0==COMMENT||LA544_0==NL||LA544_0==WS) ) { + alt544=1; } - } finally {dbg.exitDecision(542);} + } finally {dbg.exitDecision(544);} - switch (alt542) { + switch (alt544) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:103: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:103: ws { - dbg.location(1542,103); - pushFollow(FOLLOW_ws_in_sass_each11254); + dbg.location(1547,103); + pushFollow(FOLLOW_ws_in_sass_each11314); ws(); state._fsp--; if (state.failed) return; @@ -36434,34 +36533,34 @@ else if ( ((LA545_0 >= ANGLE && LA545_0 <= AT_SIGN)||(LA545_0 >= BOTTOMCENTER_SY break; } - } finally {dbg.exitSubRule(542);} - dbg.location(1542,107); - match(input,COMMA,FOLLOW_COMMA_in_sass_each11257); if (state.failed) return; + } finally {dbg.exitSubRule(544);} + dbg.location(1547,107); + match(input,COMMA,FOLLOW_COMMA_in_sass_each11317); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(543);} - dbg.location(1542,115); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:115: ( ws )? - int alt544=2; - try { dbg.enterSubRule(544); - try { dbg.enterDecision(544, decisionCanBacktrack[544]); + } finally {dbg.exitSubRule(545);} + dbg.location(1547,115); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:115: ( ws )? + int alt546=2; + try { dbg.enterSubRule(546); + try { dbg.enterDecision(546, decisionCanBacktrack[546]); - int LA544_0 = input.LA(1); - if ( (LA544_0==COMMENT||LA544_0==NL||LA544_0==WS) ) { - alt544=1; + int LA546_0 = input.LA(1); + if ( (LA546_0==COMMENT||LA546_0==NL||LA546_0==WS) ) { + alt546=1; } - } finally {dbg.exitDecision(544);} + } finally {dbg.exitDecision(546);} - switch (alt544) { + switch (alt546) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:115: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:115: ws { - dbg.location(1542,115); - pushFollow(FOLLOW_ws_in_sass_each11261); + dbg.location(1547,115); + pushFollow(FOLLOW_ws_in_sass_each11321); ws(); state._fsp--; if (state.failed) return; @@ -36469,24 +36568,24 @@ else if ( ((LA545_0 >= ANGLE && LA545_0 <= AT_SIGN)||(LA545_0 >= BOTTOMCENTER_SY break; } - } finally {dbg.exitSubRule(544);} + } finally {dbg.exitSubRule(546);} } break; default : - if ( cnt545 >= 1 ) break loop545; + if ( cnt547 >= 1 ) break loop547; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(545, input); + EarlyExitException eee = new EarlyExitException(547, input); dbg.recognitionException(eee); throw eee; } - cnt545++; + cnt547++; } - } finally {dbg.exitSubRule(545);} - dbg.location(1542,122); - pushFollow(FOLLOW_sass_control_block_in_sass_each11267); + } finally {dbg.exitSubRule(547);} + dbg.location(1547,122); + pushFollow(FOLLOW_sass_control_block_in_sass_each11327); sass_control_block(); state._fsp--; if (state.failed) return; @@ -36500,7 +36599,7 @@ else if ( ((LA545_0 >= ANGLE && LA545_0 <= AT_SIGN)||(LA545_0 >= BOTTOMCENTER_SY finally { // do for sure before leaving } - dbg.location(1543, 4); + dbg.location(1548, 4); } finally { @@ -36515,68 +36614,68 @@ else if ( ((LA545_0 >= ANGLE && LA545_0 <= AT_SIGN)||(LA545_0 >= BOTTOMCENTER_SY // $ANTLR start "sass_each_variables" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1545:1: sass_each_variables : cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:1: sass_each_variables : cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* ; public final void sass_each_variables() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_each_variables"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1545, 0); + dbg.location(1550, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1546:5: ( cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1551:5: ( cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:5: cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:5: cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* { - dbg.location(1547,5); - pushFollow(FOLLOW_cp_variable_in_sass_each_variables11288); + dbg.location(1552,5); + pushFollow(FOLLOW_cp_variable_in_sass_each_variables11348); cp_variable(); state._fsp--; - if (state.failed) return;dbg.location(1547,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* - try { dbg.enterSubRule(548); + if (state.failed) return;dbg.location(1552,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* + try { dbg.enterSubRule(550); - loop548: + loop550: while (true) { - int alt548=2; - try { dbg.enterDecision(548, decisionCanBacktrack[548]); + int alt550=2; + try { dbg.enterDecision(550, decisionCanBacktrack[550]); try { isCyclicDecision = true; - alt548 = dfa548.predict(input); + alt550 = dfa550.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(548);} + } finally {dbg.exitDecision(550);} - switch (alt548) { + switch (alt550) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:19: ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:19: ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable { - dbg.location(1547,33); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:33: ( ws )? - int alt546=2; - try { dbg.enterSubRule(546); - try { dbg.enterDecision(546, decisionCanBacktrack[546]); + dbg.location(1552,33); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:33: ( ws )? + int alt548=2; + try { dbg.enterSubRule(548); + try { dbg.enterDecision(548, decisionCanBacktrack[548]); - int LA546_0 = input.LA(1); - if ( (LA546_0==COMMENT||LA546_0==NL||LA546_0==WS) ) { - alt546=1; + int LA548_0 = input.LA(1); + if ( (LA548_0==COMMENT||LA548_0==NL||LA548_0==WS) ) { + alt548=1; } - } finally {dbg.exitDecision(546);} + } finally {dbg.exitDecision(548);} - switch (alt546) { + switch (alt548) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:33: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:33: ws { - dbg.location(1547,33); - pushFollow(FOLLOW_ws_in_sass_each_variables11300); + dbg.location(1552,33); + pushFollow(FOLLOW_ws_in_sass_each_variables11360); ws(); state._fsp--; if (state.failed) return; @@ -36584,28 +36683,28 @@ public final void sass_each_variables() throws RecognitionException { break; } - } finally {dbg.exitSubRule(546);} - dbg.location(1547,37); - match(input,COMMA,FOLLOW_COMMA_in_sass_each_variables11303); if (state.failed) return;dbg.location(1547,43); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:43: ( ws )? - int alt547=2; - try { dbg.enterSubRule(547); - try { dbg.enterDecision(547, decisionCanBacktrack[547]); - - int LA547_0 = input.LA(1); - if ( (LA547_0==COMMENT||LA547_0==NL||LA547_0==WS) ) { - alt547=1; + } finally {dbg.exitSubRule(548);} + dbg.location(1552,37); + match(input,COMMA,FOLLOW_COMMA_in_sass_each_variables11363); if (state.failed) return;dbg.location(1552,43); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:43: ( ws )? + int alt549=2; + try { dbg.enterSubRule(549); + try { dbg.enterDecision(549, decisionCanBacktrack[549]); + + int LA549_0 = input.LA(1); + if ( (LA549_0==COMMENT||LA549_0==NL||LA549_0==WS) ) { + alt549=1; } - } finally {dbg.exitDecision(547);} + } finally {dbg.exitDecision(549);} - switch (alt547) { + switch (alt549) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:43: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:43: ws { - dbg.location(1547,43); - pushFollow(FOLLOW_ws_in_sass_each_variables11305); + dbg.location(1552,43); + pushFollow(FOLLOW_ws_in_sass_each_variables11365); ws(); state._fsp--; if (state.failed) return; @@ -36613,9 +36712,9 @@ public final void sass_each_variables() throws RecognitionException { break; } - } finally {dbg.exitSubRule(547);} - dbg.location(1547,47); - pushFollow(FOLLOW_cp_variable_in_sass_each_variables11308); + } finally {dbg.exitSubRule(549);} + dbg.location(1552,47); + pushFollow(FOLLOW_cp_variable_in_sass_each_variables11368); cp_variable(); state._fsp--; if (state.failed) return; @@ -36623,10 +36722,10 @@ public final void sass_each_variables() throws RecognitionException { break; default : - break loop548; + break loop550; } } - } finally {dbg.exitSubRule(548);} + } finally {dbg.exitSubRule(550);} } @@ -36638,7 +36737,7 @@ public final void sass_each_variables() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1548, 4); + dbg.location(1553, 4); } finally { @@ -36653,136 +36752,36 @@ public final void sass_each_variables() throws RecognitionException { // $ANTLR start "sass_while" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1550:1: sass_while : SASS_WHILE ws sass_control_expression ( ws )? sass_control_block ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1555:1: sass_while : SASS_WHILE ws sass_control_expression ( ws )? sass_control_block ; public final void sass_while() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_while"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1550, 0); + dbg.location(1555, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1551:5: ( SASS_WHILE ws sass_control_expression ( ws )? sass_control_block ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1556:5: ( SASS_WHILE ws sass_control_expression ( ws )? sass_control_block ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:5: SASS_WHILE ws sass_control_expression ( ws )? sass_control_block + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:5: SASS_WHILE ws sass_control_expression ( ws )? sass_control_block { - dbg.location(1552,5); - match(input,SASS_WHILE,FOLLOW_SASS_WHILE_in_sass_while11333); if (state.failed) return;dbg.location(1552,16); - pushFollow(FOLLOW_ws_in_sass_while11335); + dbg.location(1557,5); + match(input,SASS_WHILE,FOLLOW_SASS_WHILE_in_sass_while11393); if (state.failed) return;dbg.location(1557,16); + pushFollow(FOLLOW_ws_in_sass_while11395); ws(); state._fsp--; - if (state.failed) return;dbg.location(1552,19); - pushFollow(FOLLOW_sass_control_expression_in_sass_while11337); + if (state.failed) return;dbg.location(1557,19); + pushFollow(FOLLOW_sass_control_expression_in_sass_while11397); sass_control_expression(); state._fsp--; - if (state.failed) return;dbg.location(1552,43); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:43: ( ws )? - int alt549=2; - try { dbg.enterSubRule(549); - try { dbg.enterDecision(549, decisionCanBacktrack[549]); - - int LA549_0 = input.LA(1); - if ( (LA549_0==COMMENT||LA549_0==NL||LA549_0==WS) ) { - alt549=1; - } - } finally {dbg.exitDecision(549);} - - switch (alt549) { - case 1 : - dbg.enterAlt(1); - - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:43: ws - { - dbg.location(1552,43); - pushFollow(FOLLOW_ws_in_sass_while11339); - ws(); - state._fsp--; - if (state.failed) return; - } - break; - - } - } finally {dbg.exitSubRule(549);} - dbg.location(1552,47); - pushFollow(FOLLOW_sass_control_block_in_sass_while11342); - sass_control_block(); - state._fsp--; - if (state.failed) return; - } - - } - catch (RecognitionException re) { - reportError(re); - recover(input,re); - } - finally { - // do for sure before leaving - } - dbg.location(1553, 4); - - } - finally { - dbg.exitRule(getGrammarFileName(), "sass_while"); - decRuleLevel(); - if ( getRuleLevel()==0 ) {dbg.terminate();} - } - - } - // $ANTLR end "sass_while" - - - - // $ANTLR start "sass_control_block" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1555:1: sass_control_block : LBRACE ( ws )? ( declarations )? RBRACE ; - public final void sass_control_block() throws RecognitionException { - try { dbg.enterRule(getGrammarFileName(), "sass_control_block"); - if ( getRuleLevel()==0 ) {dbg.commence();} - incRuleLevel(); - dbg.location(1555, 0); - - try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1556:5: ( LBRACE ( ws )? ( declarations )? RBRACE ) - dbg.enterAlt(1); - - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:5: LBRACE ( ws )? ( declarations )? RBRACE - { - dbg.location(1557,5); - match(input,LBRACE,FOLLOW_LBRACE_in_sass_control_block11363); if (state.failed) return;dbg.location(1557,12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:12: ( ws )? - int alt550=2; - try { dbg.enterSubRule(550); - try { dbg.enterDecision(550, decisionCanBacktrack[550]); - - int LA550_0 = input.LA(1); - if ( (LA550_0==COMMENT||LA550_0==NL||LA550_0==WS) ) { - alt550=1; - } - } finally {dbg.exitDecision(550);} - - switch (alt550) { - case 1 : - dbg.enterAlt(1); - - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:12: ws - { - dbg.location(1557,12); - pushFollow(FOLLOW_ws_in_sass_control_block11365); - ws(); - state._fsp--; - if (state.failed) return; - } - break; - - } - } finally {dbg.exitSubRule(550);} - dbg.location(1557,16); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:16: ( declarations )? + if (state.failed) return;dbg.location(1557,43); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:43: ( ws )? int alt551=2; try { dbg.enterSubRule(551); try { dbg.enterDecision(551, decisionCanBacktrack[551]); int LA551_0 = input.LA(1); - if ( ((LA551_0 >= AT_IDENT && LA551_0 <= AT_SIGN)||(LA551_0 >= BOTTOMCENTER_SYM && LA551_0 <= BOTTOMRIGHT_SYM)||(LA551_0 >= CHARSET_SYM && LA551_0 <= COLON)||LA551_0==CONTAINER_SYM||LA551_0==COUNTER_STYLE_SYM||(LA551_0 >= DCOLON && LA551_0 <= DOT)||LA551_0==FONT_FACE_SYM||(LA551_0 >= GEN && LA551_0 <= GREATER)||(LA551_0 >= HASH && LA551_0 <= HASH_SYMBOL)||LA551_0==IDENT||LA551_0==IMPORT_SYM||LA551_0==LAYER_SYM||(LA551_0 >= LBRACKET && LA551_0 <= LEFTTOP_SYM)||LA551_0==LESS_AND||(LA551_0 >= MEDIA_SYM && LA551_0 <= MOZ_DOCUMENT_SYM)||LA551_0==NAMESPACE_SYM||LA551_0==PAGE_SYM||(LA551_0 >= PIPE && LA551_0 <= PLUS)||(LA551_0 >= RIGHTBOTTOM_SYM && LA551_0 <= RIGHTTOP_SYM)||(LA551_0 >= SASS_AT_ROOT && LA551_0 <= SASS_DEBUG)||(LA551_0 >= SASS_EACH && LA551_0 <= SASS_ELSE)||(LA551_0 >= SASS_ERROR && LA551_0 <= SASS_FUNCTION)||(LA551_0 >= SASS_IF && LA551_0 <= SASS_MIXIN)||(LA551_0 >= SASS_RETURN && LA551_0 <= SEMI)||LA551_0==STAR||LA551_0==SUPPORTS_SYM||LA551_0==TILDE||(LA551_0 >= TOPCENTER_SYM && LA551_0 <= TOPRIGHT_SYM)||LA551_0==VARIABLE||LA551_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( (LA551_0==COMMENT||LA551_0==NL||LA551_0==WS) ) { alt551=1; } } finally {dbg.exitDecision(551);} @@ -36791,11 +36790,11 @@ public final void sass_control_block() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:16: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:43: ws { - dbg.location(1557,16); - pushFollow(FOLLOW_declarations_in_sass_control_block11368); - declarations(); + dbg.location(1557,43); + pushFollow(FOLLOW_ws_in_sass_while11399); + ws(); state._fsp--; if (state.failed) return; } @@ -36803,8 +36802,11 @@ public final void sass_control_block() throws RecognitionException { } } finally {dbg.exitSubRule(551);} - dbg.location(1557,30); - match(input,RBRACE,FOLLOW_RBRACE_in_sass_control_block11371); if (state.failed) return; + dbg.location(1557,47); + pushFollow(FOLLOW_sass_control_block_in_sass_while11402); + sass_control_block(); + state._fsp--; + if (state.failed) return; } } @@ -36819,41 +36821,33 @@ public final void sass_control_block() throws RecognitionException { } finally { - dbg.exitRule(getGrammarFileName(), "sass_control_block"); + dbg.exitRule(getGrammarFileName(), "sass_while"); decRuleLevel(); if ( getRuleLevel()==0 ) {dbg.terminate();} } } - // $ANTLR end "sass_control_block" + // $ANTLR end "sass_while" - // $ANTLR start "sass_function_declaration" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1560:1: sass_function_declaration : SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE ; - public final void sass_function_declaration() throws RecognitionException { - try { dbg.enterRule(getGrammarFileName(), "sass_function_declaration"); + // $ANTLR start "sass_control_block" + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1560:1: sass_control_block : LBRACE ( ws )? ( declarations )? RBRACE ; + public final void sass_control_block() throws RecognitionException { + try { dbg.enterRule(getGrammarFileName(), "sass_control_block"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); dbg.location(1560, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:5: ( SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1561:5: ( LBRACE ( ws )? ( declarations )? RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:5: SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:5: LBRACE ( ws )? ( declarations )? RBRACE { - dbg.location(1566,5); - match(input,SASS_FUNCTION,FOLLOW_SASS_FUNCTION_in_sass_function_declaration11413); if (state.failed) return;dbg.location(1566,19); - pushFollow(FOLLOW_ws_in_sass_function_declaration11415); - ws(); - state._fsp--; - if (state.failed) return;dbg.location(1566,22); - pushFollow(FOLLOW_sass_function_name_in_sass_function_declaration11417); - sass_function_name(); - state._fsp--; - if (state.failed) return;dbg.location(1566,41); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:41: ( ws )? + dbg.location(1562,5); + match(input,LBRACE,FOLLOW_LBRACE_in_sass_control_block11423); if (state.failed) return;dbg.location(1562,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:12: ( ws )? int alt552=2; try { dbg.enterSubRule(552); try { dbg.enterDecision(552, decisionCanBacktrack[552]); @@ -36868,10 +36862,10 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:41: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:12: ws { - dbg.location(1566,41); - pushFollow(FOLLOW_ws_in_sass_function_declaration11419); + dbg.location(1562,12); + pushFollow(FOLLOW_ws_in_sass_control_block11425); ws(); state._fsp--; if (state.failed) return; @@ -36880,15 +36874,14 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(552);} - dbg.location(1566,45); - match(input,LPAREN,FOLLOW_LPAREN_in_sass_function_declaration11422); if (state.failed) return;dbg.location(1566,52); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:52: ( ws )? + dbg.location(1562,16); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:16: ( declarations )? int alt553=2; try { dbg.enterSubRule(553); try { dbg.enterDecision(553, decisionCanBacktrack[553]); int LA553_0 = input.LA(1); - if ( (LA553_0==COMMENT||LA553_0==NL||LA553_0==WS) ) { + if ( ((LA553_0 >= AT_IDENT && LA553_0 <= AT_SIGN)||(LA553_0 >= BOTTOMCENTER_SYM && LA553_0 <= BOTTOMRIGHT_SYM)||(LA553_0 >= CHARSET_SYM && LA553_0 <= COLON)||LA553_0==CONTAINER_SYM||LA553_0==COUNTER_STYLE_SYM||(LA553_0 >= DCOLON && LA553_0 <= DOT)||LA553_0==FONT_FACE_SYM||(LA553_0 >= GEN && LA553_0 <= GREATER)||(LA553_0 >= HASH && LA553_0 <= HASH_SYMBOL)||LA553_0==IDENT||LA553_0==IMPORT_SYM||LA553_0==LAYER_SYM||(LA553_0 >= LBRACKET && LA553_0 <= LEFTTOP_SYM)||LA553_0==LESS_AND||(LA553_0 >= MEDIA_SYM && LA553_0 <= MOZ_DOCUMENT_SYM)||LA553_0==NAMESPACE_SYM||LA553_0==PAGE_SYM||(LA553_0 >= PIPE && LA553_0 <= PLUS)||(LA553_0 >= RIGHTBOTTOM_SYM && LA553_0 <= RIGHTTOP_SYM)||(LA553_0 >= SASS_AT_ROOT && LA553_0 <= SASS_DEBUG)||(LA553_0 >= SASS_EACH && LA553_0 <= SASS_ELSE)||(LA553_0 >= SASS_ERROR && LA553_0 <= SASS_FUNCTION)||(LA553_0 >= SASS_IF && LA553_0 <= SASS_MIXIN)||(LA553_0 >= SASS_RETURN && LA553_0 <= SEMI)||LA553_0==STAR||LA553_0==SUPPORTS_SYM||LA553_0==TILDE||(LA553_0 >= TOPCENTER_SYM && LA553_0 <= TOPRIGHT_SYM)||LA553_0==VARIABLE||LA553_0==WEBKIT_KEYFRAMES_SYM) ) { alt553=1; } } finally {dbg.exitDecision(553);} @@ -36897,11 +36890,11 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:52: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:16: declarations { - dbg.location(1566,52); - pushFollow(FOLLOW_ws_in_sass_function_declaration11424); - ws(); + dbg.location(1562,16); + pushFollow(FOLLOW_declarations_in_sass_control_block11428); + declarations(); state._fsp--; if (state.failed) return; } @@ -36909,14 +36902,63 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(553);} - dbg.location(1566,56); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:56: ( cp_args_list )? + dbg.location(1562,30); + match(input,RBRACE,FOLLOW_RBRACE_in_sass_control_block11431); if (state.failed) return; + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + // do for sure before leaving + } + dbg.location(1563, 4); + + } + finally { + dbg.exitRule(getGrammarFileName(), "sass_control_block"); + decRuleLevel(); + if ( getRuleLevel()==0 ) {dbg.terminate();} + } + + } + // $ANTLR end "sass_control_block" + + + + // $ANTLR start "sass_function_declaration" + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1565:1: sass_function_declaration : SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE ; + public final void sass_function_declaration() throws RecognitionException { + try { dbg.enterRule(getGrammarFileName(), "sass_function_declaration"); + if ( getRuleLevel()==0 ) {dbg.commence();} + incRuleLevel(); + dbg.location(1565, 0); + + try { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:5: ( SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:5: SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE + { + dbg.location(1571,5); + match(input,SASS_FUNCTION,FOLLOW_SASS_FUNCTION_in_sass_function_declaration11473); if (state.failed) return;dbg.location(1571,19); + pushFollow(FOLLOW_ws_in_sass_function_declaration11475); + ws(); + state._fsp--; + if (state.failed) return;dbg.location(1571,22); + pushFollow(FOLLOW_sass_function_name_in_sass_function_declaration11477); + sass_function_name(); + state._fsp--; + if (state.failed) return;dbg.location(1571,41); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:41: ( ws )? int alt554=2; try { dbg.enterSubRule(554); try { dbg.enterDecision(554, decisionCanBacktrack[554]); int LA554_0 = input.LA(1); - if ( (LA554_0==AT_IDENT||(LA554_0 >= BOTTOMCENTER_SYM && LA554_0 <= BOTTOMRIGHT_SYM)||LA554_0==CHARSET_SYM||(LA554_0 >= COUNTER_STYLE_SYM && LA554_0 <= CP_DOTS)||LA554_0==FONT_FACE_SYM||LA554_0==IDENT||LA554_0==IMPORT_SYM||(LA554_0 >= LEFTBOTTOM_SYM && LA554_0 <= LEFTTOP_SYM)||LA554_0==LESS_REST||LA554_0==MEDIA_SYM||LA554_0==MOZ_DOCUMENT_SYM||LA554_0==NAMESPACE_SYM||LA554_0==PAGE_SYM||(LA554_0 >= RIGHTBOTTOM_SYM && LA554_0 <= RIGHTTOP_SYM)||(LA554_0 >= SASS_AT_ROOT && LA554_0 <= SASS_DEBUG)||(LA554_0 >= SASS_EACH && LA554_0 <= SASS_ELSE)||LA554_0==SASS_EXTEND||(LA554_0 >= SASS_FOR && LA554_0 <= SASS_FUNCTION)||(LA554_0 >= SASS_IF && LA554_0 <= SASS_MIXIN)||(LA554_0 >= SASS_RETURN && LA554_0 <= SASS_WHILE)||(LA554_0 >= TOPCENTER_SYM && LA554_0 <= TOPRIGHT_SYM)||LA554_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( (LA554_0==COMMENT||LA554_0==NL||LA554_0==WS) ) { alt554=1; } } finally {dbg.exitDecision(554);} @@ -36925,11 +36967,11 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:56: cp_args_list + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:41: ws { - dbg.location(1566,56); - pushFollow(FOLLOW_cp_args_list_in_sass_function_declaration11427); - cp_args_list(); + dbg.location(1571,41); + pushFollow(FOLLOW_ws_in_sass_function_declaration11479); + ws(); state._fsp--; if (state.failed) return; } @@ -36937,9 +36979,9 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(554);} - dbg.location(1566,70); - match(input,RPAREN,FOLLOW_RPAREN_in_sass_function_declaration11430); if (state.failed) return;dbg.location(1566,77); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:77: ( ws )? + dbg.location(1571,45); + match(input,LPAREN,FOLLOW_LPAREN_in_sass_function_declaration11482); if (state.failed) return;dbg.location(1571,52); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:52: ( ws )? int alt555=2; try { dbg.enterSubRule(555); try { dbg.enterDecision(555, decisionCanBacktrack[555]); @@ -36954,10 +36996,10 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:77: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:52: ws { - dbg.location(1566,77); - pushFollow(FOLLOW_ws_in_sass_function_declaration11432); + dbg.location(1571,52); + pushFollow(FOLLOW_ws_in_sass_function_declaration11484); ws(); state._fsp--; if (state.failed) return; @@ -36966,15 +37008,14 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(555);} - dbg.location(1566,81); - match(input,LBRACE,FOLLOW_LBRACE_in_sass_function_declaration11435); if (state.failed) return;dbg.location(1566,88); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:88: ( ws )? + dbg.location(1571,56); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:56: ( cp_args_list )? int alt556=2; try { dbg.enterSubRule(556); try { dbg.enterDecision(556, decisionCanBacktrack[556]); int LA556_0 = input.LA(1); - if ( (LA556_0==COMMENT||LA556_0==NL||LA556_0==WS) ) { + if ( (LA556_0==AT_IDENT||(LA556_0 >= BOTTOMCENTER_SYM && LA556_0 <= BOTTOMRIGHT_SYM)||LA556_0==CHARSET_SYM||(LA556_0 >= COUNTER_STYLE_SYM && LA556_0 <= CP_DOTS)||LA556_0==FONT_FACE_SYM||LA556_0==IDENT||LA556_0==IMPORT_SYM||(LA556_0 >= LEFTBOTTOM_SYM && LA556_0 <= LEFTTOP_SYM)||LA556_0==LESS_REST||LA556_0==MEDIA_SYM||LA556_0==MOZ_DOCUMENT_SYM||LA556_0==NAMESPACE_SYM||LA556_0==PAGE_SYM||(LA556_0 >= RIGHTBOTTOM_SYM && LA556_0 <= RIGHTTOP_SYM)||(LA556_0 >= SASS_AT_ROOT && LA556_0 <= SASS_DEBUG)||(LA556_0 >= SASS_EACH && LA556_0 <= SASS_ELSE)||LA556_0==SASS_EXTEND||(LA556_0 >= SASS_FOR && LA556_0 <= SASS_FUNCTION)||(LA556_0 >= SASS_IF && LA556_0 <= SASS_MIXIN)||(LA556_0 >= SASS_RETURN && LA556_0 <= SASS_WHILE)||(LA556_0 >= TOPCENTER_SYM && LA556_0 <= TOPRIGHT_SYM)||LA556_0==WEBKIT_KEYFRAMES_SYM) ) { alt556=1; } } finally {dbg.exitDecision(556);} @@ -36983,11 +37024,11 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:88: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:56: cp_args_list { - dbg.location(1566,88); - pushFollow(FOLLOW_ws_in_sass_function_declaration11437); - ws(); + dbg.location(1571,56); + pushFollow(FOLLOW_cp_args_list_in_sass_function_declaration11487); + cp_args_list(); state._fsp--; if (state.failed) return; } @@ -36995,14 +37036,15 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(556);} - dbg.location(1566,92); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:92: ( declarations )? + dbg.location(1571,70); + match(input,RPAREN,FOLLOW_RPAREN_in_sass_function_declaration11490); if (state.failed) return;dbg.location(1571,77); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:77: ( ws )? int alt557=2; try { dbg.enterSubRule(557); try { dbg.enterDecision(557, decisionCanBacktrack[557]); int LA557_0 = input.LA(1); - if ( ((LA557_0 >= AT_IDENT && LA557_0 <= AT_SIGN)||(LA557_0 >= BOTTOMCENTER_SYM && LA557_0 <= BOTTOMRIGHT_SYM)||(LA557_0 >= CHARSET_SYM && LA557_0 <= COLON)||LA557_0==CONTAINER_SYM||LA557_0==COUNTER_STYLE_SYM||(LA557_0 >= DCOLON && LA557_0 <= DOT)||LA557_0==FONT_FACE_SYM||(LA557_0 >= GEN && LA557_0 <= GREATER)||(LA557_0 >= HASH && LA557_0 <= HASH_SYMBOL)||LA557_0==IDENT||LA557_0==IMPORT_SYM||LA557_0==LAYER_SYM||(LA557_0 >= LBRACKET && LA557_0 <= LEFTTOP_SYM)||LA557_0==LESS_AND||(LA557_0 >= MEDIA_SYM && LA557_0 <= MOZ_DOCUMENT_SYM)||LA557_0==NAMESPACE_SYM||LA557_0==PAGE_SYM||(LA557_0 >= PIPE && LA557_0 <= PLUS)||(LA557_0 >= RIGHTBOTTOM_SYM && LA557_0 <= RIGHTTOP_SYM)||(LA557_0 >= SASS_AT_ROOT && LA557_0 <= SASS_DEBUG)||(LA557_0 >= SASS_EACH && LA557_0 <= SASS_ELSE)||(LA557_0 >= SASS_ERROR && LA557_0 <= SASS_FUNCTION)||(LA557_0 >= SASS_IF && LA557_0 <= SASS_MIXIN)||(LA557_0 >= SASS_RETURN && LA557_0 <= SEMI)||LA557_0==STAR||LA557_0==SUPPORTS_SYM||LA557_0==TILDE||(LA557_0 >= TOPCENTER_SYM && LA557_0 <= TOPRIGHT_SYM)||LA557_0==VARIABLE||LA557_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( (LA557_0==COMMENT||LA557_0==NL||LA557_0==WS) ) { alt557=1; } } finally {dbg.exitDecision(557);} @@ -37011,11 +37053,11 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1566:92: declarations + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:77: ws { - dbg.location(1566,92); - pushFollow(FOLLOW_declarations_in_sass_function_declaration11440); - declarations(); + dbg.location(1571,77); + pushFollow(FOLLOW_ws_in_sass_function_declaration11492); + ws(); state._fsp--; if (state.failed) return; } @@ -37023,8 +37065,65 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(557);} - dbg.location(1566,106); - match(input,RBRACE,FOLLOW_RBRACE_in_sass_function_declaration11443); if (state.failed) return; + dbg.location(1571,81); + match(input,LBRACE,FOLLOW_LBRACE_in_sass_function_declaration11495); if (state.failed) return;dbg.location(1571,88); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:88: ( ws )? + int alt558=2; + try { dbg.enterSubRule(558); + try { dbg.enterDecision(558, decisionCanBacktrack[558]); + + int LA558_0 = input.LA(1); + if ( (LA558_0==COMMENT||LA558_0==NL||LA558_0==WS) ) { + alt558=1; + } + } finally {dbg.exitDecision(558);} + + switch (alt558) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:88: ws + { + dbg.location(1571,88); + pushFollow(FOLLOW_ws_in_sass_function_declaration11497); + ws(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(558);} + dbg.location(1571,92); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:92: ( declarations )? + int alt559=2; + try { dbg.enterSubRule(559); + try { dbg.enterDecision(559, decisionCanBacktrack[559]); + + int LA559_0 = input.LA(1); + if ( ((LA559_0 >= AT_IDENT && LA559_0 <= AT_SIGN)||(LA559_0 >= BOTTOMCENTER_SYM && LA559_0 <= BOTTOMRIGHT_SYM)||(LA559_0 >= CHARSET_SYM && LA559_0 <= COLON)||LA559_0==CONTAINER_SYM||LA559_0==COUNTER_STYLE_SYM||(LA559_0 >= DCOLON && LA559_0 <= DOT)||LA559_0==FONT_FACE_SYM||(LA559_0 >= GEN && LA559_0 <= GREATER)||(LA559_0 >= HASH && LA559_0 <= HASH_SYMBOL)||LA559_0==IDENT||LA559_0==IMPORT_SYM||LA559_0==LAYER_SYM||(LA559_0 >= LBRACKET && LA559_0 <= LEFTTOP_SYM)||LA559_0==LESS_AND||(LA559_0 >= MEDIA_SYM && LA559_0 <= MOZ_DOCUMENT_SYM)||LA559_0==NAMESPACE_SYM||LA559_0==PAGE_SYM||(LA559_0 >= PIPE && LA559_0 <= PLUS)||(LA559_0 >= RIGHTBOTTOM_SYM && LA559_0 <= RIGHTTOP_SYM)||(LA559_0 >= SASS_AT_ROOT && LA559_0 <= SASS_DEBUG)||(LA559_0 >= SASS_EACH && LA559_0 <= SASS_ELSE)||(LA559_0 >= SASS_ERROR && LA559_0 <= SASS_FUNCTION)||(LA559_0 >= SASS_IF && LA559_0 <= SASS_MIXIN)||(LA559_0 >= SASS_RETURN && LA559_0 <= SEMI)||LA559_0==STAR||LA559_0==SUPPORTS_SYM||LA559_0==TILDE||(LA559_0 >= TOPCENTER_SYM && LA559_0 <= TOPRIGHT_SYM)||LA559_0==VARIABLE||LA559_0==WEBKIT_KEYFRAMES_SYM) ) { + alt559=1; + } + } finally {dbg.exitDecision(559);} + + switch (alt559) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:92: declarations + { + dbg.location(1571,92); + pushFollow(FOLLOW_declarations_in_sass_function_declaration11500); + declarations(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(559);} + dbg.location(1571,106); + match(input,RBRACE,FOLLOW_RBRACE_in_sass_function_declaration11503); if (state.failed) return; } } @@ -37035,7 +37134,7 @@ public final void sass_function_declaration() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1567, 4); + dbg.location(1572, 4); } finally { @@ -37050,21 +37149,21 @@ public final void sass_function_declaration() throws RecognitionException { // $ANTLR start "sass_function_name" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1569:1: sass_function_name : IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:1: sass_function_name : IDENT ; public final void sass_function_name() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_function_name"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1569, 0); + dbg.location(1574, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1570:5: ( IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:5: ( IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:5: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1576:5: IDENT { - dbg.location(1571,5); - match(input,IDENT,FOLLOW_IDENT_in_sass_function_name11464); if (state.failed) return; + dbg.location(1576,5); + match(input,IDENT,FOLLOW_IDENT_in_sass_function_name11524); if (state.failed) return; } } @@ -37075,7 +37174,7 @@ public final void sass_function_name() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1572, 4); + dbg.location(1577, 4); } finally { @@ -37090,26 +37189,26 @@ public final void sass_function_name() throws RecognitionException { // $ANTLR start "sass_function_return" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1574:1: sass_function_return : SASS_RETURN ws cp_expression ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1579:1: sass_function_return : SASS_RETURN ws cp_expression ; public final void sass_function_return() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_function_return"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1574, 0); + dbg.location(1579, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1575:5: ( SASS_RETURN ws cp_expression ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1580:5: ( SASS_RETURN ws cp_expression ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1576:5: SASS_RETURN ws cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1581:5: SASS_RETURN ws cp_expression { - dbg.location(1576,5); - match(input,SASS_RETURN,FOLLOW_SASS_RETURN_in_sass_function_return11485); if (state.failed) return;dbg.location(1576,17); - pushFollow(FOLLOW_ws_in_sass_function_return11487); + dbg.location(1581,5); + match(input,SASS_RETURN,FOLLOW_SASS_RETURN_in_sass_function_return11545); if (state.failed) return;dbg.location(1581,17); + pushFollow(FOLLOW_ws_in_sass_function_return11547); ws(); state._fsp--; - if (state.failed) return;dbg.location(1576,20); - pushFollow(FOLLOW_cp_expression_in_sass_function_return11489); + if (state.failed) return;dbg.location(1581,20); + pushFollow(FOLLOW_cp_expression_in_sass_function_return11549); cp_expression(); state._fsp--; if (state.failed) return; @@ -37123,7 +37222,7 @@ public final void sass_function_return() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1577, 4); + dbg.location(1582, 4); } finally { @@ -37138,21 +37237,21 @@ public final void sass_function_return() throws RecognitionException { // $ANTLR start "sass_content" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1579:1: sass_content : SASS_CONTENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1584:1: sass_content : SASS_CONTENT ; public final void sass_content() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "sass_content"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1579, 0); + dbg.location(1584, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1580:5: ( SASS_CONTENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:5: ( SASS_CONTENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1581:5: SASS_CONTENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1586:5: SASS_CONTENT { - dbg.location(1581,5); - match(input,SASS_CONTENT,FOLLOW_SASS_CONTENT_in_sass_content11510); if (state.failed) return; + dbg.location(1586,5); + match(input,SASS_CONTENT,FOLLOW_SASS_CONTENT_in_sass_content11570); if (state.failed) return; } } @@ -37163,7 +37262,7 @@ public final void sass_content() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1582, 4); + dbg.location(1587, 4); } finally { @@ -37178,25 +37277,25 @@ public final void sass_content() throws RecognitionException { // $ANTLR start "less_import_types" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1584:1: less_import_types :{...}? IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1589:1: less_import_types :{...}? IDENT ; public final void less_import_types() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_import_types"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1584, 0); + dbg.location(1589, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1584:18: ({...}? IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1589:18: ({...}? IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1585:5: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1590:5: {...}? IDENT { - dbg.location(1585,5); + dbg.location(1590,5); if ( !(evalPredicate(tokenNameIs(new String[]{"LESS", "CSS", "REFERENCE", "INLINE", "ONCE", "MULTIPLE", "OPTIONAL"}),"tokenNameIs(new String[]{\"LESS\", \"CSS\", \"REFERENCE\", \"INLINE\", \"ONCE\", \"MULTIPLE\", \"OPTIONAL\"})")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "less_import_types", "tokenNameIs(new String[]{\"LESS\", \"CSS\", \"REFERENCE\", \"INLINE\", \"ONCE\", \"MULTIPLE\", \"OPTIONAL\"})"); - }dbg.location(1585,104); - match(input,IDENT,FOLLOW_IDENT_in_less_import_types11529); if (state.failed) return; + }dbg.location(1590,104); + match(input,IDENT,FOLLOW_IDENT_in_less_import_types11589); if (state.failed) return; } } @@ -37210,7 +37309,7 @@ public final void less_import_types() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1586, 4); + dbg.location(1591, 4); } finally { @@ -37225,25 +37324,25 @@ public final void less_import_types() throws RecognitionException { // $ANTLR start "less_when" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:1: less_when :{...}? IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1596:1: less_when :{...}? IDENT ; public final void less_when() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "less_when"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1591, 0); + dbg.location(1596, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1591:10: ({...}? IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1596:10: ({...}? IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1592:5: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1597:5: {...}? IDENT { - dbg.location(1592,5); + dbg.location(1597,5); if ( !(evalPredicate(tokenNameEquals("when"),"tokenNameEquals(\"when\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "less_when", "tokenNameEquals(\"when\")"); - }dbg.location(1592,32); - match(input,IDENT,FOLLOW_IDENT_in_less_when11552); if (state.failed) return; + }dbg.location(1597,32); + match(input,IDENT,FOLLOW_IDENT_in_less_when11612); if (state.failed) return; } } @@ -37254,7 +37353,7 @@ public final void less_when() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1593, 4); + dbg.location(1598, 4); } finally { @@ -37269,25 +37368,25 @@ public final void less_when() throws RecognitionException { // $ANTLR start "key_and" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1595:1: key_and :{...}? IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1600:1: key_and :{...}? IDENT ; public final void key_and() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "key_and"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1595, 0); + dbg.location(1600, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1595:8: ({...}? IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1600:8: ({...}? IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1596:5: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1601:5: {...}? IDENT { - dbg.location(1596,5); + dbg.location(1601,5); if ( !(evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "key_and", "tokenNameEquals(\"and\")"); - }dbg.location(1596,31); - match(input,IDENT,FOLLOW_IDENT_in_key_and11571); if (state.failed) return; + }dbg.location(1601,31); + match(input,IDENT,FOLLOW_IDENT_in_key_and11631); if (state.failed) return; } } @@ -37298,7 +37397,7 @@ public final void key_and() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1597, 4); + dbg.location(1602, 4); } finally { @@ -37313,25 +37412,25 @@ public final void key_and() throws RecognitionException { // $ANTLR start "key_or" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1599:1: key_or :{...}? IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1604:1: key_or :{...}? IDENT ; public final void key_or() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "key_or"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1599, 0); + dbg.location(1604, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1599:7: ({...}? IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1604:7: ({...}? IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1600:5: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1605:5: {...}? IDENT { - dbg.location(1600,5); + dbg.location(1605,5); if ( !(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "key_or", "tokenNameEquals(\"or\")"); - }dbg.location(1600,30); - match(input,IDENT,FOLLOW_IDENT_in_key_or11589); if (state.failed) return; + }dbg.location(1605,30); + match(input,IDENT,FOLLOW_IDENT_in_key_or11649); if (state.failed) return; } } @@ -37342,7 +37441,7 @@ public final void key_or() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1601, 4); + dbg.location(1606, 4); } finally { @@ -37357,25 +37456,25 @@ public final void key_or() throws RecognitionException { // $ANTLR start "key_only" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1603:1: key_only :{...}? IDENT ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1608:1: key_only :{...}? IDENT ; public final void key_only() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "key_only"); if ( getRuleLevel()==0 ) {dbg.commence();} incRuleLevel(); - dbg.location(1603, 0); + dbg.location(1608, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1603:9: ({...}? IDENT ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1608:9: ({...}? IDENT ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1604:5: {...}? IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1609:5: {...}? IDENT { - dbg.location(1604,5); + dbg.location(1609,5); if ( !(evalPredicate(tokenNameEquals("only"),"tokenNameEquals(\"only\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "key_only", "tokenNameEquals(\"only\")"); - }dbg.location(1604,32); - match(input,IDENT,FOLLOW_IDENT_in_key_only11607); if (state.failed) return; + }dbg.location(1609,32); + match(input,IDENT,FOLLOW_IDENT_in_key_only11667); if (state.failed) return; } } @@ -37386,7 +37485,7 @@ public final void key_only() throws RecognitionException { finally { // do for sure before leaving } - dbg.location(1605, 4); + dbg.location(1610, 4); } finally { @@ -37407,17 +37506,17 @@ public final void synpred1_Css3_fragment() throws RecognitionException { { dbg.location(333,62); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:333:62: ( ws )? - int alt558=2; - try { dbg.enterSubRule(558); - try { dbg.enterDecision(558, decisionCanBacktrack[558]); + int alt560=2; + try { dbg.enterSubRule(560); + try { dbg.enterDecision(560, decisionCanBacktrack[560]); - int LA558_0 = input.LA(1); - if ( (LA558_0==COMMENT||LA558_0==NL||LA558_0==WS) ) { - alt558=1; + int LA560_0 = input.LA(1); + if ( (LA560_0==COMMENT||LA560_0==NL||LA560_0==WS) ) { + alt560=1; } - } finally {dbg.exitDecision(558);} + } finally {dbg.exitDecision(560);} - switch (alt558) { + switch (alt560) { case 1 : dbg.enterAlt(1); @@ -37432,7 +37531,7 @@ public final void synpred1_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(558);} + } finally {dbg.exitSubRule(560);} dbg.location(333,66); pushFollow(FOLLOW_mediaQueryList_in_synpred1_Css3473); mediaQueryList(); @@ -37452,17 +37551,17 @@ public final void synpred2_Css3_fragment() throws RecognitionException { { dbg.location(336,116); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:336:116: ( ws )? - int alt559=2; - try { dbg.enterSubRule(559); - try { dbg.enterDecision(559, decisionCanBacktrack[559]); + int alt561=2; + try { dbg.enterSubRule(561); + try { dbg.enterDecision(561, decisionCanBacktrack[561]); - int LA559_0 = input.LA(1); - if ( (LA559_0==COMMENT||LA559_0==NL||LA559_0==WS) ) { - alt559=1; + int LA561_0 = input.LA(1); + if ( (LA561_0==COMMENT||LA561_0==NL||LA561_0==WS) ) { + alt561=1; } - } finally {dbg.exitDecision(559);} + } finally {dbg.exitDecision(561);} - switch (alt559) { + switch (alt561) { case 1 : dbg.enterAlt(1); @@ -37477,7 +37576,7 @@ public final void synpred2_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(559);} + } finally {dbg.exitSubRule(561);} dbg.location(336,120); pushFollow(FOLLOW_mediaQueryList_in_synpred2_Css3543); mediaQueryList(); @@ -37497,17 +37596,17 @@ public final void synpred3_Css3_fragment() throws RecognitionException { { dbg.location(338,119); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:338:119: ( ws )? - int alt560=2; - try { dbg.enterSubRule(560); - try { dbg.enterDecision(560, decisionCanBacktrack[560]); + int alt562=2; + try { dbg.enterSubRule(562); + try { dbg.enterDecision(562, decisionCanBacktrack[562]); - int LA560_0 = input.LA(1); - if ( (LA560_0==COMMENT||LA560_0==NL||LA560_0==WS) ) { - alt560=1; + int LA562_0 = input.LA(1); + if ( (LA562_0==COMMENT||LA562_0==NL||LA562_0==WS) ) { + alt562=1; } - } finally {dbg.exitDecision(560);} + } finally {dbg.exitDecision(562);} - switch (alt560) { + switch (alt562) { case 1 : dbg.enterAlt(1); @@ -37522,7 +37621,7 @@ public final void synpred3_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(560);} + } finally {dbg.exitSubRule(562);} dbg.location(338,123); pushFollow(FOLLOW_mediaQueryList_in_synpred3_Css3603); mediaQueryList(); @@ -37542,17 +37641,17 @@ public final void synpred4_Css3_fragment() throws RecognitionException { { dbg.location(410,28); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:410:28: ( ws )? - int alt561=2; - try { dbg.enterSubRule(561); - try { dbg.enterDecision(561, decisionCanBacktrack[561]); + int alt563=2; + try { dbg.enterSubRule(563); + try { dbg.enterDecision(563, decisionCanBacktrack[563]); - int LA561_0 = input.LA(1); - if ( (LA561_0==COMMENT||LA561_0==NL||LA561_0==WS) ) { - alt561=1; + int LA563_0 = input.LA(1); + if ( (LA563_0==COMMENT||LA563_0==NL||LA563_0==WS) ) { + alt563=1; } - } finally {dbg.exitDecision(561);} + } finally {dbg.exitDecision(563);} - switch (alt561) { + switch (alt563) { case 1 : dbg.enterAlt(1); @@ -37567,7 +37666,7 @@ public final void synpred4_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(561);} + } finally {dbg.exitSubRule(563);} dbg.location(410,32); match(input,SEMI,FOLLOW_SEMI_in_synpred4_Css31173); if (state.failed) return; } @@ -37578,28 +37677,28 @@ public final void synpred4_Css3_fragment() throws RecognitionException { // $ANTLR start synpred5_Css3 public final void synpred5_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:5: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) ) - int alt566=2; - try { dbg.enterDecision(566, decisionCanBacktrack[566]); + int alt568=2; + try { dbg.enterDecision(568, decisionCanBacktrack[568]); - int LA566_0 = input.LA(1); - if ( (LA566_0==SASS_MIXIN) ) { - alt566=1; + int LA568_0 = input.LA(1); + if ( (LA568_0==SASS_MIXIN) ) { + alt568=1; } - else if ( (LA566_0==DOT||LA566_0==HASH) ) { - alt566=2; + else if ( (LA568_0==DOT||LA568_0==HASH) ) { + alt568=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 566, 0, input); + new NoViableAltException("", 568, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(566);} + } finally {dbg.exitDecision(568);} - switch (alt566) { + switch (alt568) { case 1 : dbg.enterAlt(1); @@ -37622,29 +37721,29 @@ else if ( (LA566_0==DOT||LA566_0==HASH) ) { { dbg.location(419,20); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:20: ( ( DOT IDENT ) | HASH ) - int alt562=2; - try { dbg.enterSubRule(562); - try { dbg.enterDecision(562, decisionCanBacktrack[562]); + int alt564=2; + try { dbg.enterSubRule(564); + try { dbg.enterDecision(564, decisionCanBacktrack[564]); - int LA562_0 = input.LA(1); - if ( (LA562_0==DOT) ) { - alt562=1; + int LA564_0 = input.LA(1); + if ( (LA564_0==DOT) ) { + alt564=1; } - else if ( (LA562_0==HASH) ) { - alt562=2; + else if ( (LA564_0==HASH) ) { + alt564=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 562, 0, input); + new NoViableAltException("", 564, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(562);} + } finally {dbg.exitDecision(564);} - switch (alt562) { + switch (alt564) { case 1 : dbg.enterAlt(1); @@ -37674,20 +37773,20 @@ else if ( (LA562_0==HASH) ) { break; } - } finally {dbg.exitSubRule(562);} + } finally {dbg.exitSubRule(564);} dbg.location(419,41); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:41: ( ws )? - int alt563=2; - try { dbg.enterSubRule(563); - try { dbg.enterDecision(563, decisionCanBacktrack[563]); + int alt565=2; + try { dbg.enterSubRule(565); + try { dbg.enterDecision(565, decisionCanBacktrack[565]); - int LA563_0 = input.LA(1); - if ( (LA563_0==COMMENT||LA563_0==NL||LA563_0==WS) ) { - alt563=1; + int LA565_0 = input.LA(1); + if ( (LA565_0==COMMENT||LA565_0==NL||LA565_0==WS) ) { + alt565=1; } - } finally {dbg.exitDecision(563);} + } finally {dbg.exitDecision(565);} - switch (alt563) { + switch (alt565) { case 1 : dbg.enterAlt(1); @@ -37702,25 +37801,25 @@ else if ( (LA562_0==HASH) ) { break; } - } finally {dbg.exitSubRule(563);} + } finally {dbg.exitSubRule(565);} dbg.location(419,45); match(input,LPAREN,FOLLOW_LPAREN_in_synpred5_Css31291); if (state.failed) return;dbg.location(419,52); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:52: (~ RPAREN )* - try { dbg.enterSubRule(564); + try { dbg.enterSubRule(566); - loop564: + loop566: while (true) { - int alt564=2; - try { dbg.enterDecision(564, decisionCanBacktrack[564]); + int alt566=2; + try { dbg.enterDecision(566, decisionCanBacktrack[566]); - int LA564_0 = input.LA(1); - if ( ((LA564_0 >= A && LA564_0 <= RIGHTTOP_SYM)||(LA564_0 >= S && LA564_0 <= Z)) ) { - alt564=1; + int LA566_0 = input.LA(1); + if ( ((LA566_0 >= A && LA566_0 <= RIGHTTOP_SYM)||(LA566_0 >= S && LA566_0 <= Z)) ) { + alt566=1; } - } finally {dbg.exitDecision(564);} + } finally {dbg.exitDecision(566);} - switch (alt564) { + switch (alt566) { case 1 : dbg.enterAlt(1); @@ -37742,28 +37841,28 @@ else if ( (LA562_0==HASH) ) { break; default : - break loop564; + break loop566; } } - } finally {dbg.exitSubRule(564);} + } finally {dbg.exitSubRule(566);} dbg.location(419,63); match(input,RPAREN,FOLLOW_RPAREN_in_synpred5_Css31299); if (state.failed) return;dbg.location(419,70); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:70: (~ ( LBRACE | SEMI ) )* - try { dbg.enterSubRule(565); + try { dbg.enterSubRule(567); - loop565: + loop567: while (true) { - int alt565=2; - try { dbg.enterDecision(565, decisionCanBacktrack[565]); + int alt567=2; + try { dbg.enterDecision(567, decisionCanBacktrack[567]); - int LA565_0 = input.LA(1); - if ( ((LA565_0 >= A && LA565_0 <= LAYER_SYM)||(LA565_0 >= LBRACKET && LA565_0 <= SASS_WHILE)||(LA565_0 >= SOLIDUS && LA565_0 <= Z)) ) { - alt565=1; + int LA567_0 = input.LA(1); + if ( ((LA567_0 >= A && LA567_0 <= LAYER_SYM)||(LA567_0 >= LBRACKET && LA567_0 <= SASS_WHILE)||(LA567_0 >= SOLIDUS && LA567_0 <= Z)) ) { + alt567=1; } - } finally {dbg.exitDecision(565);} + } finally {dbg.exitDecision(567);} - switch (alt565) { + switch (alt567) { case 1 : dbg.enterAlt(1); @@ -37785,10 +37884,10 @@ else if ( (LA562_0==HASH) ) { break; default : - break loop565; + break loop567; } } - } finally {dbg.exitSubRule(565);} + } finally {dbg.exitSubRule(567);} dbg.location(419,86); match(input,LBRACE,FOLLOW_LBRACE_in_synpred5_Css31309); if (state.failed) return; } @@ -37813,21 +37912,21 @@ public final void synpred6_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(421,22); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:421:22: ( ( ws )? IMPORTANT_SYM )? - int alt568=2; - try { dbg.enterSubRule(568); - try { dbg.enterDecision(568, decisionCanBacktrack[568]); + int alt570=2; + try { dbg.enterSubRule(570); + try { dbg.enterDecision(570, decisionCanBacktrack[570]); try { isCyclicDecision = true; - alt568 = dfa568.predict(input); + alt570 = dfa570.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(568);} + } finally {dbg.exitDecision(570);} - switch (alt568) { + switch (alt570) { case 1 : dbg.enterAlt(1); @@ -37835,17 +37934,17 @@ public final void synpred6_Css3_fragment() throws RecognitionException { { dbg.location(421,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:421:23: ( ws )? - int alt567=2; - try { dbg.enterSubRule(567); - try { dbg.enterDecision(567, decisionCanBacktrack[567]); + int alt569=2; + try { dbg.enterSubRule(569); + try { dbg.enterDecision(569, decisionCanBacktrack[569]); - int LA567_0 = input.LA(1); - if ( (LA567_0==COMMENT||LA567_0==NL||LA567_0==WS) ) { - alt567=1; + int LA569_0 = input.LA(1); + if ( (LA569_0==COMMENT||LA569_0==NL||LA569_0==WS) ) { + alt569=1; } - } finally {dbg.exitDecision(567);} + } finally {dbg.exitDecision(569);} - switch (alt567) { + switch (alt569) { case 1 : dbg.enterAlt(1); @@ -37860,27 +37959,27 @@ public final void synpred6_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(567);} + } finally {dbg.exitSubRule(569);} dbg.location(421,27); match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_synpred6_Css31333); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(568);} + } finally {dbg.exitSubRule(570);} dbg.location(421,43); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:421:43: ( ws )? - int alt569=2; - try { dbg.enterSubRule(569); - try { dbg.enterDecision(569, decisionCanBacktrack[569]); + int alt571=2; + try { dbg.enterSubRule(571); + try { dbg.enterDecision(571, decisionCanBacktrack[571]); - int LA569_0 = input.LA(1); - if ( (LA569_0==COMMENT||LA569_0==NL||LA569_0==WS) ) { - alt569=1; + int LA571_0 = input.LA(1); + if ( (LA571_0==COMMENT||LA571_0==NL||LA571_0==WS) ) { + alt571=1; } - } finally {dbg.exitDecision(569);} + } finally {dbg.exitDecision(571);} - switch (alt569) { + switch (alt571) { case 1 : dbg.enterAlt(1); @@ -37895,7 +37994,7 @@ public final void synpred6_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(569);} + } finally {dbg.exitSubRule(571);} dbg.location(421,47); match(input,SEMI,FOLLOW_SEMI_in_synpred6_Css31340); if (state.failed) return; } @@ -37929,21 +38028,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { { dbg.location(423,8); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) - int alt575=3; - try { dbg.enterSubRule(575); - try { dbg.enterDecision(575, decisionCanBacktrack[575]); + int alt577=3; + try { dbg.enterSubRule(577); + try { dbg.enterDecision(577, decisionCanBacktrack[577]); try { isCyclicDecision = true; - alt575 = dfa575.predict(input); + alt577 = dfa577.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(575);} + } finally {dbg.exitDecision(577);} - switch (alt575) { + switch (alt577) { case 1 : dbg.enterAlt(1); @@ -37958,21 +38057,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { dbg.location(423,10); match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred8_Css31388); if (state.failed) return;dbg.location(423,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:23: ( ws selectorsGroup )? - int alt570=2; - try { dbg.enterSubRule(570); - try { dbg.enterDecision(570, decisionCanBacktrack[570]); + int alt572=2; + try { dbg.enterSubRule(572); + try { dbg.enterDecision(572, decisionCanBacktrack[572]); try { isCyclicDecision = true; - alt570 = dfa570.predict(input); + alt572 = dfa572.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(570);} + } finally {dbg.exitDecision(572);} - switch (alt570) { + switch (alt572) { case 1 : dbg.enterAlt(1); @@ -37991,7 +38090,7 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(570);} + } finally {dbg.exitSubRule(572);} } @@ -38016,17 +38115,17 @@ public final void synpred8_Css3_fragment() throws RecognitionException { if (state.failed) return;dbg.location(423,65); match(input,LPAREN,FOLLOW_LPAREN_in_synpred8_Css31406); if (state.failed) return;dbg.location(423,72); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:72: ( ws )? - int alt571=2; - try { dbg.enterSubRule(571); - try { dbg.enterDecision(571, decisionCanBacktrack[571]); + int alt573=2; + try { dbg.enterSubRule(573); + try { dbg.enterDecision(573, decisionCanBacktrack[573]); - int LA571_0 = input.LA(1); - if ( (LA571_0==COMMENT||LA571_0==NL||LA571_0==WS) ) { - alt571=1; + int LA573_0 = input.LA(1); + if ( (LA573_0==COMMENT||LA573_0==NL||LA573_0==WS) ) { + alt573=1; } - } finally {dbg.exitDecision(571);} + } finally {dbg.exitDecision(573);} - switch (alt571) { + switch (alt573) { case 1 : dbg.enterAlt(1); @@ -38041,21 +38140,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(571);} + } finally {dbg.exitSubRule(573);} dbg.location(423,76); match(input,IDENT,FOLLOW_IDENT_in_synpred8_Css31411); if (state.failed) return;dbg.location(423,82); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:82: ( ws )? - int alt572=2; - try { dbg.enterSubRule(572); - try { dbg.enterDecision(572, decisionCanBacktrack[572]); + int alt574=2; + try { dbg.enterSubRule(574); + try { dbg.enterDecision(574, decisionCanBacktrack[574]); - int LA572_0 = input.LA(1); - if ( (LA572_0==COMMENT||LA572_0==NL||LA572_0==WS) ) { - alt572=1; + int LA574_0 = input.LA(1); + if ( (LA574_0==COMMENT||LA574_0==NL||LA574_0==WS) ) { + alt574=1; } - } finally {dbg.exitDecision(572);} + } finally {dbg.exitDecision(574);} - switch (alt572) { + switch (alt574) { case 1 : dbg.enterAlt(1); @@ -38070,21 +38169,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(572);} + } finally {dbg.exitSubRule(574);} dbg.location(423,86); match(input,COLON,FOLLOW_COLON_in_synpred8_Css31416); if (state.failed) return;dbg.location(423,92); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:92: ( ws )? - int alt573=2; - try { dbg.enterSubRule(573); - try { dbg.enterDecision(573, decisionCanBacktrack[573]); + int alt575=2; + try { dbg.enterSubRule(575); + try { dbg.enterDecision(575, decisionCanBacktrack[575]); - int LA573_0 = input.LA(1); - if ( (LA573_0==COMMENT||LA573_0==NL||LA573_0==WS) ) { - alt573=1; + int LA575_0 = input.LA(1); + if ( (LA575_0==COMMENT||LA575_0==NL||LA575_0==WS) ) { + alt575=1; } - } finally {dbg.exitDecision(573);} + } finally {dbg.exitDecision(575);} - switch (alt573) { + switch (alt575) { case 1 : dbg.enterAlt(1); @@ -38099,21 +38198,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(573);} + } finally {dbg.exitSubRule(575);} dbg.location(423,96); match(input,IDENT,FOLLOW_IDENT_in_synpred8_Css31421); if (state.failed) return;dbg.location(423,102); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:102: ( ws )? - int alt574=2; - try { dbg.enterSubRule(574); - try { dbg.enterDecision(574, decisionCanBacktrack[574]); + int alt576=2; + try { dbg.enterSubRule(576); + try { dbg.enterDecision(576, decisionCanBacktrack[576]); - int LA574_0 = input.LA(1); - if ( (LA574_0==COMMENT||LA574_0==NL||LA574_0==WS) ) { - alt574=1; + int LA576_0 = input.LA(1); + if ( (LA576_0==COMMENT||LA576_0==NL||LA576_0==WS) ) { + alt576=1; } - } finally {dbg.exitDecision(574);} + } finally {dbg.exitDecision(576);} - switch (alt574) { + switch (alt576) { case 1 : dbg.enterAlt(1); @@ -38128,7 +38227,7 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(574);} + } finally {dbg.exitSubRule(576);} dbg.location(423,106); match(input,RPAREN,FOLLOW_RPAREN_in_synpred8_Css31426); if (state.failed) return; } @@ -38149,20 +38248,20 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(575);} + } finally {dbg.exitSubRule(577);} dbg.location(423,132); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:132: ( ws )? - int alt576=2; - try { dbg.enterSubRule(576); - try { dbg.enterDecision(576, decisionCanBacktrack[576]); + int alt578=2; + try { dbg.enterSubRule(578); + try { dbg.enterDecision(578, decisionCanBacktrack[578]); - int LA576_0 = input.LA(1); - if ( (LA576_0==COMMENT||LA576_0==NL||LA576_0==WS) ) { - alt576=1; + int LA578_0 = input.LA(1); + if ( (LA578_0==COMMENT||LA578_0==NL||LA578_0==WS) ) { + alt578=1; } - } finally {dbg.exitDecision(576);} + } finally {dbg.exitDecision(578);} - switch (alt576) { + switch (alt578) { case 1 : dbg.enterAlt(1); @@ -38177,7 +38276,7 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(576);} + } finally {dbg.exitSubRule(578);} dbg.location(423,136); match(input,LBRACE,FOLLOW_LBRACE_in_synpred8_Css31437); if (state.failed) return; } @@ -38211,17 +38310,17 @@ public final void synpred10_Css3_fragment() throws RecognitionException { { dbg.location(439,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:18: ( ws )? - int alt577=2; - try { dbg.enterSubRule(577); - try { dbg.enterDecision(577, decisionCanBacktrack[577]); + int alt579=2; + try { dbg.enterSubRule(579); + try { dbg.enterDecision(579, decisionCanBacktrack[579]); - int LA577_0 = input.LA(1); - if ( (LA577_0==COMMENT||LA577_0==NL||LA577_0==WS) ) { - alt577=1; + int LA579_0 = input.LA(1); + if ( (LA579_0==COMMENT||LA579_0==NL||LA579_0==WS) ) { + alt579=1; } - } finally {dbg.exitDecision(577);} + } finally {dbg.exitDecision(579);} - switch (alt577) { + switch (alt579) { case 1 : dbg.enterAlt(1); @@ -38236,7 +38335,7 @@ public final void synpred10_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(577);} + } finally {dbg.exitSubRule(579);} dbg.location(439,22); match(input,COMMA,FOLLOW_COMMA_in_synpred10_Css31567); if (state.failed) return; } @@ -38253,17 +38352,17 @@ public final void synpred11_Css3_fragment() throws RecognitionException { { dbg.location(444,45); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:45: ( ws )? - int alt578=2; - try { dbg.enterSubRule(578); - try { dbg.enterDecision(578, decisionCanBacktrack[578]); + int alt580=2; + try { dbg.enterSubRule(580); + try { dbg.enterDecision(580, decisionCanBacktrack[580]); - int LA578_0 = input.LA(1); - if ( (LA578_0==COMMENT||LA578_0==NL||LA578_0==WS) ) { - alt578=1; + int LA580_0 = input.LA(1); + if ( (LA580_0==COMMENT||LA580_0==NL||LA580_0==WS) ) { + alt580=1; } - } finally {dbg.exitDecision(578);} + } finally {dbg.exitDecision(580);} - switch (alt578) { + switch (alt580) { case 1 : dbg.enterAlt(1); @@ -38278,7 +38377,7 @@ public final void synpred11_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(578);} + } finally {dbg.exitSubRule(580);} dbg.location(444,49); pushFollow(FOLLOW_key_and_in_synpred11_Css31614); key_and(); @@ -38298,17 +38397,17 @@ public final void synpred12_Css3_fragment() throws RecognitionException { { dbg.location(445,25); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:25: ( ws )? - int alt579=2; - try { dbg.enterSubRule(579); - try { dbg.enterDecision(579, decisionCanBacktrack[579]); + int alt581=2; + try { dbg.enterSubRule(581); + try { dbg.enterDecision(581, decisionCanBacktrack[581]); - int LA579_0 = input.LA(1); - if ( (LA579_0==COMMENT||LA579_0==NL||LA579_0==WS) ) { - alt579=1; + int LA581_0 = input.LA(1); + if ( (LA581_0==COMMENT||LA581_0==NL||LA581_0==WS) ) { + alt581=1; } - } finally {dbg.exitDecision(579);} + } finally {dbg.exitDecision(581);} - switch (alt579) { + switch (alt581) { case 1 : dbg.enterAlt(1); @@ -38323,7 +38422,7 @@ public final void synpred12_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(579);} + } finally {dbg.exitSubRule(581);} dbg.location(445,29); pushFollow(FOLLOW_key_and_in_synpred12_Css31644); key_and(); @@ -38371,17 +38470,17 @@ public final void synpred15_Css3_fragment() throws RecognitionException { { dbg.location(480,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:23: ( ws )? - int alt580=2; - try { dbg.enterSubRule(580); - try { dbg.enterDecision(580, decisionCanBacktrack[580]); + int alt582=2; + try { dbg.enterSubRule(582); + try { dbg.enterDecision(582, decisionCanBacktrack[582]); - int LA580_0 = input.LA(1); - if ( (LA580_0==COMMENT||LA580_0==NL||LA580_0==WS) ) { - alt580=1; + int LA582_0 = input.LA(1); + if ( (LA582_0==COMMENT||LA582_0==NL||LA582_0==WS) ) { + alt582=1; } - } finally {dbg.exitDecision(580);} + } finally {dbg.exitDecision(582);} - switch (alt580) { + switch (alt582) { case 1 : dbg.enterAlt(1); @@ -38396,7 +38495,7 @@ public final void synpred15_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(580);} + } finally {dbg.exitSubRule(582);} dbg.location(480,27); match(input,SEMI,FOLLOW_SEMI_in_synpred15_Css31904); if (state.failed) return; } @@ -38407,28 +38506,28 @@ public final void synpred15_Css3_fragment() throws RecognitionException { // $ANTLR start synpred16_Css3 public final void synpred16_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:9: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) ) - int alt585=2; - try { dbg.enterDecision(585, decisionCanBacktrack[585]); + int alt587=2; + try { dbg.enterDecision(587, decisionCanBacktrack[587]); - int LA585_0 = input.LA(1); - if ( (LA585_0==SASS_MIXIN) ) { - alt585=1; + int LA587_0 = input.LA(1); + if ( (LA587_0==SASS_MIXIN) ) { + alt587=1; } - else if ( (LA585_0==DOT||LA585_0==HASH) ) { - alt585=2; + else if ( (LA587_0==DOT||LA587_0==HASH) ) { + alt587=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 585, 0, input); + new NoViableAltException("", 587, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(585);} + } finally {dbg.exitDecision(587);} - switch (alt585) { + switch (alt587) { case 1 : dbg.enterAlt(1); @@ -38451,29 +38550,29 @@ else if ( (LA585_0==DOT||LA585_0==HASH) ) { { dbg.location(488,24); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:24: ( ( DOT IDENT ) | HASH ) - int alt581=2; - try { dbg.enterSubRule(581); - try { dbg.enterDecision(581, decisionCanBacktrack[581]); + int alt583=2; + try { dbg.enterSubRule(583); + try { dbg.enterDecision(583, decisionCanBacktrack[583]); - int LA581_0 = input.LA(1); - if ( (LA581_0==DOT) ) { - alt581=1; + int LA583_0 = input.LA(1); + if ( (LA583_0==DOT) ) { + alt583=1; } - else if ( (LA581_0==HASH) ) { - alt581=2; + else if ( (LA583_0==HASH) ) { + alt583=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 581, 0, input); + new NoViableAltException("", 583, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(581);} + } finally {dbg.exitDecision(583);} - switch (alt581) { + switch (alt583) { case 1 : dbg.enterAlt(1); @@ -38503,20 +38602,20 @@ else if ( (LA581_0==HASH) ) { break; } - } finally {dbg.exitSubRule(581);} + } finally {dbg.exitSubRule(583);} dbg.location(488,45); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:45: ( ws )? - int alt582=2; - try { dbg.enterSubRule(582); - try { dbg.enterDecision(582, decisionCanBacktrack[582]); + int alt584=2; + try { dbg.enterSubRule(584); + try { dbg.enterDecision(584, decisionCanBacktrack[584]); - int LA582_0 = input.LA(1); - if ( (LA582_0==COMMENT||LA582_0==NL||LA582_0==WS) ) { - alt582=1; + int LA584_0 = input.LA(1); + if ( (LA584_0==COMMENT||LA584_0==NL||LA584_0==WS) ) { + alt584=1; } - } finally {dbg.exitDecision(582);} + } finally {dbg.exitDecision(584);} - switch (alt582) { + switch (alt584) { case 1 : dbg.enterAlt(1); @@ -38531,25 +38630,25 @@ else if ( (LA581_0==HASH) ) { break; } - } finally {dbg.exitSubRule(582);} + } finally {dbg.exitSubRule(584);} dbg.location(488,49); match(input,LPAREN,FOLLOW_LPAREN_in_synpred16_Css31999); if (state.failed) return;dbg.location(488,56); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:56: (~ RPAREN )* - try { dbg.enterSubRule(583); + try { dbg.enterSubRule(585); - loop583: + loop585: while (true) { - int alt583=2; - try { dbg.enterDecision(583, decisionCanBacktrack[583]); + int alt585=2; + try { dbg.enterDecision(585, decisionCanBacktrack[585]); - int LA583_0 = input.LA(1); - if ( ((LA583_0 >= A && LA583_0 <= RIGHTTOP_SYM)||(LA583_0 >= S && LA583_0 <= Z)) ) { - alt583=1; + int LA585_0 = input.LA(1); + if ( ((LA585_0 >= A && LA585_0 <= RIGHTTOP_SYM)||(LA585_0 >= S && LA585_0 <= Z)) ) { + alt585=1; } - } finally {dbg.exitDecision(583);} + } finally {dbg.exitDecision(585);} - switch (alt583) { + switch (alt585) { case 1 : dbg.enterAlt(1); @@ -38571,28 +38670,28 @@ else if ( (LA581_0==HASH) ) { break; default : - break loop583; + break loop585; } } - } finally {dbg.exitSubRule(583);} + } finally {dbg.exitSubRule(585);} dbg.location(488,67); match(input,RPAREN,FOLLOW_RPAREN_in_synpred16_Css32007); if (state.failed) return;dbg.location(488,74); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:74: (~ ( LBRACE | RBRACE | SEMI ) )* - try { dbg.enterSubRule(584); + try { dbg.enterSubRule(586); - loop584: + loop586: while (true) { - int alt584=2; - try { dbg.enterDecision(584, decisionCanBacktrack[584]); + int alt586=2; + try { dbg.enterDecision(586, decisionCanBacktrack[586]); - int LA584_0 = input.LA(1); - if ( ((LA584_0 >= A && LA584_0 <= LAYER_SYM)||(LA584_0 >= LBRACKET && LA584_0 <= R)||(LA584_0 >= RBRACKET && LA584_0 <= SASS_WHILE)||(LA584_0 >= SOLIDUS && LA584_0 <= Z)) ) { - alt584=1; + int LA586_0 = input.LA(1); + if ( ((LA586_0 >= A && LA586_0 <= LAYER_SYM)||(LA586_0 >= LBRACKET && LA586_0 <= R)||(LA586_0 >= RBRACKET && LA586_0 <= SASS_WHILE)||(LA586_0 >= SOLIDUS && LA586_0 <= Z)) ) { + alt586=1; } - } finally {dbg.exitDecision(584);} + } finally {dbg.exitDecision(586);} - switch (alt584) { + switch (alt586) { case 1 : dbg.enterAlt(1); @@ -38614,10 +38713,10 @@ else if ( (LA581_0==HASH) ) { break; default : - break loop584; + break loop586; } } - } finally {dbg.exitSubRule(584);} + } finally {dbg.exitSubRule(586);} dbg.location(488,97); match(input,LBRACE,FOLLOW_LBRACE_in_synpred16_Css32019); if (state.failed) return; } @@ -38642,17 +38741,17 @@ public final void synpred17_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(490,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:490:26: ( ws )? - int alt586=2; - try { dbg.enterSubRule(586); - try { dbg.enterDecision(586, decisionCanBacktrack[586]); + int alt588=2; + try { dbg.enterSubRule(588); + try { dbg.enterDecision(588, decisionCanBacktrack[588]); - int LA586_0 = input.LA(1); - if ( (LA586_0==COMMENT||LA586_0==NL||LA586_0==WS) ) { - alt586=1; + int LA588_0 = input.LA(1); + if ( (LA588_0==COMMENT||LA588_0==NL||LA588_0==WS) ) { + alt588=1; } - } finally {dbg.exitDecision(586);} + } finally {dbg.exitDecision(588);} - switch (alt586) { + switch (alt588) { case 1 : dbg.enterAlt(1); @@ -38667,7 +38766,7 @@ public final void synpred17_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(586);} + } finally {dbg.exitSubRule(588);} dbg.location(490,30); match(input,SEMI,FOLLOW_SEMI_in_synpred17_Css32050); if (state.failed) return; } @@ -38705,17 +38804,17 @@ public final void synpred19_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(493,24); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:493:24: ( ws )? - int alt587=2; - try { dbg.enterSubRule(587); - try { dbg.enterDecision(587, decisionCanBacktrack[587]); + int alt589=2; + try { dbg.enterSubRule(589); + try { dbg.enterDecision(589, decisionCanBacktrack[589]); - int LA587_0 = input.LA(1); - if ( (LA587_0==COMMENT||LA587_0==NL||LA587_0==WS) ) { - alt587=1; + int LA589_0 = input.LA(1); + if ( (LA589_0==COMMENT||LA589_0==NL||LA589_0==WS) ) { + alt589=1; } - } finally {dbg.exitDecision(587);} + } finally {dbg.exitDecision(589);} - switch (alt587) { + switch (alt589) { case 1 : dbg.enterAlt(1); @@ -38730,7 +38829,7 @@ public final void synpred19_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(587);} + } finally {dbg.exitSubRule(589);} dbg.location(493,28); match(input,COLON,FOLLOW_COLON_in_synpred19_Css32102); if (state.failed) return; } @@ -38765,17 +38864,17 @@ public final void synpred21_Css3_fragment() throws RecognitionException { dbg.location(534,2); match(input,LPAREN,FOLLOW_LPAREN_in_synpred21_Css32409); if (state.failed) return;dbg.location(534,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:534:9: ( ws )? - int alt588=2; - try { dbg.enterSubRule(588); - try { dbg.enterDecision(588, decisionCanBacktrack[588]); + int alt590=2; + try { dbg.enterSubRule(590); + try { dbg.enterDecision(590, decisionCanBacktrack[590]); - int LA588_0 = input.LA(1); - if ( (LA588_0==COMMENT||LA588_0==NL||LA588_0==WS) ) { - alt588=1; + int LA590_0 = input.LA(1); + if ( (LA590_0==COMMENT||LA590_0==NL||LA590_0==WS) ) { + alt590=1; } - } finally {dbg.exitDecision(588);} + } finally {dbg.exitDecision(590);} - switch (alt588) { + switch (alt590) { case 1 : dbg.enterAlt(1); @@ -38790,24 +38889,24 @@ public final void synpred21_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(588);} + } finally {dbg.exitSubRule(590);} dbg.location(534,13); pushFollow(FOLLOW_supportsCondition_in_synpred21_Css32414); supportsCondition(); state._fsp--; if (state.failed) return;dbg.location(534,31); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:534:31: ( ws )? - int alt589=2; - try { dbg.enterSubRule(589); - try { dbg.enterDecision(589, decisionCanBacktrack[589]); + int alt591=2; + try { dbg.enterSubRule(591); + try { dbg.enterDecision(591, decisionCanBacktrack[591]); - int LA589_0 = input.LA(1); - if ( (LA589_0==COMMENT||LA589_0==NL||LA589_0==WS) ) { - alt589=1; + int LA591_0 = input.LA(1); + if ( (LA591_0==COMMENT||LA591_0==NL||LA591_0==WS) ) { + alt591=1; } - } finally {dbg.exitDecision(589);} + } finally {dbg.exitDecision(591);} - switch (alt589) { + switch (alt591) { case 1 : dbg.enterAlt(1); @@ -38822,7 +38921,7 @@ public final void synpred21_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(589);} + } finally {dbg.exitSubRule(591);} dbg.location(534,35); match(input,RPAREN,FOLLOW_RPAREN_in_synpred21_Css32419); if (state.failed) return; } @@ -38865,17 +38964,17 @@ public final void synpred23_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(553,39); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:39: ( ws )? - int alt590=2; - try { dbg.enterSubRule(590); - try { dbg.enterDecision(590, decisionCanBacktrack[590]); + int alt592=2; + try { dbg.enterSubRule(592); + try { dbg.enterDecision(592, decisionCanBacktrack[592]); - int LA590_0 = input.LA(1); - if ( (LA590_0==COMMENT||LA590_0==NL||LA590_0==WS) ) { - alt590=1; + int LA592_0 = input.LA(1); + if ( (LA592_0==COMMENT||LA592_0==NL||LA592_0==WS) ) { + alt592=1; } - } finally {dbg.exitDecision(590);} + } finally {dbg.exitDecision(592);} - switch (alt590) { + switch (alt592) { case 1 : dbg.enterAlt(1); @@ -38890,7 +38989,7 @@ public final void synpred23_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(590);} + } finally {dbg.exitSubRule(592);} dbg.location(553,43); match(input,LBRACE,FOLLOW_LBRACE_in_synpred23_Css32517); if (state.failed) return; } @@ -38908,17 +39007,17 @@ public final void synpred24_Css3_fragment() throws RecognitionException { dbg.location(579,2); match(input,LPAREN,FOLLOW_LPAREN_in_synpred24_Css32765); if (state.failed) return;dbg.location(579,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:579:9: ( ws )? - int alt591=2; - try { dbg.enterSubRule(591); - try { dbg.enterDecision(591, decisionCanBacktrack[591]); + int alt593=2; + try { dbg.enterSubRule(593); + try { dbg.enterDecision(593, decisionCanBacktrack[593]); - int LA591_0 = input.LA(1); - if ( (LA591_0==COMMENT||LA591_0==NL||LA591_0==WS) ) { - alt591=1; + int LA593_0 = input.LA(1); + if ( (LA593_0==COMMENT||LA593_0==NL||LA593_0==WS) ) { + alt593=1; } - } finally {dbg.exitDecision(591);} + } finally {dbg.exitDecision(593);} - switch (alt591) { + switch (alt593) { case 1 : dbg.enterAlt(1); @@ -38933,24 +39032,24 @@ public final void synpred24_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(591);} + } finally {dbg.exitSubRule(593);} dbg.location(579,13); pushFollow(FOLLOW_containerCondition_in_synpred24_Css32770); containerCondition(); state._fsp--; if (state.failed) return;dbg.location(579,32); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:579:32: ( ws )? - int alt592=2; - try { dbg.enterSubRule(592); - try { dbg.enterDecision(592, decisionCanBacktrack[592]); + int alt594=2; + try { dbg.enterSubRule(594); + try { dbg.enterDecision(594, decisionCanBacktrack[594]); - int LA592_0 = input.LA(1); - if ( (LA592_0==COMMENT||LA592_0==NL||LA592_0==WS) ) { - alt592=1; + int LA594_0 = input.LA(1); + if ( (LA594_0==COMMENT||LA594_0==NL||LA594_0==WS) ) { + alt594=1; } - } finally {dbg.exitDecision(592);} + } finally {dbg.exitDecision(594);} - switch (alt592) { + switch (alt594) { case 1 : dbg.enterAlt(1); @@ -38965,7 +39064,7 @@ public final void synpred24_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(592);} + } finally {dbg.exitSubRule(594);} dbg.location(579,36); match(input,RPAREN,FOLLOW_RPAREN_in_synpred24_Css32775); if (state.failed) return; } @@ -39004,17 +39103,17 @@ public final void synpred26_Css3_fragment() throws RecognitionException { }dbg.location(581,32); match(input,IDENT,FOLLOW_IDENT_in_synpred26_Css32787); if (state.failed) return;dbg.location(581,38); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:581:38: ( ws )? - int alt593=2; - try { dbg.enterSubRule(593); - try { dbg.enterDecision(593, decisionCanBacktrack[593]); + int alt595=2; + try { dbg.enterSubRule(595); + try { dbg.enterDecision(595, decisionCanBacktrack[595]); - int LA593_0 = input.LA(1); - if ( (LA593_0==COMMENT||LA593_0==NL||LA593_0==WS) ) { - alt593=1; + int LA595_0 = input.LA(1); + if ( (LA595_0==COMMENT||LA595_0==NL||LA595_0==WS) ) { + alt595=1; } - } finally {dbg.exitDecision(593);} + } finally {dbg.exitDecision(595);} - switch (alt593) { + switch (alt595) { case 1 : dbg.enterAlt(1); @@ -39029,21 +39128,21 @@ public final void synpred26_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(593);} + } finally {dbg.exitSubRule(595);} dbg.location(581,42); match(input,LPAREN,FOLLOW_LPAREN_in_synpred26_Css32792); if (state.failed) return;dbg.location(581,49); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:581:49: ( ws )? - int alt594=2; - try { dbg.enterSubRule(594); - try { dbg.enterDecision(594, decisionCanBacktrack[594]); + int alt596=2; + try { dbg.enterSubRule(596); + try { dbg.enterDecision(596, decisionCanBacktrack[596]); - int LA594_0 = input.LA(1); - if ( (LA594_0==COMMENT||LA594_0==NL||LA594_0==WS) ) { - alt594=1; + int LA596_0 = input.LA(1); + if ( (LA596_0==COMMENT||LA596_0==NL||LA596_0==WS) ) { + alt596=1; } - } finally {dbg.exitDecision(594);} + } finally {dbg.exitDecision(596);} - switch (alt594) { + switch (alt596) { case 1 : dbg.enterAlt(1); @@ -39058,24 +39157,24 @@ public final void synpred26_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(594);} + } finally {dbg.exitSubRule(596);} dbg.location(581,53); pushFollow(FOLLOW_styleQuery_in_synpred26_Css32797); styleQuery(); state._fsp--; if (state.failed) return;dbg.location(581,64); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:581:64: ( ws )? - int alt595=2; - try { dbg.enterSubRule(595); - try { dbg.enterDecision(595, decisionCanBacktrack[595]); + int alt597=2; + try { dbg.enterSubRule(597); + try { dbg.enterDecision(597, decisionCanBacktrack[597]); - int LA595_0 = input.LA(1); - if ( (LA595_0==COMMENT||LA595_0==NL||LA595_0==WS) ) { - alt595=1; + int LA597_0 = input.LA(1); + if ( (LA597_0==COMMENT||LA597_0==NL||LA597_0==WS) ) { + alt597=1; } - } finally {dbg.exitDecision(595);} + } finally {dbg.exitDecision(597);} - switch (alt595) { + switch (alt597) { case 1 : dbg.enterAlt(1); @@ -39090,7 +39189,7 @@ public final void synpred26_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(595);} + } finally {dbg.exitSubRule(597);} dbg.location(581,68); match(input,RPAREN,FOLLOW_RPAREN_in_synpred26_Css32802); if (state.failed) return; } @@ -39108,17 +39207,17 @@ public final void synpred27_Css3_fragment() throws RecognitionException { dbg.location(617,9); match(input,LPAREN,FOLLOW_LPAREN_in_synpred27_Css33093); if (state.failed) return;dbg.location(617,16); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:617:16: ( ws )? - int alt596=2; - try { dbg.enterSubRule(596); - try { dbg.enterDecision(596, decisionCanBacktrack[596]); + int alt598=2; + try { dbg.enterSubRule(598); + try { dbg.enterDecision(598, decisionCanBacktrack[598]); - int LA596_0 = input.LA(1); - if ( (LA596_0==COMMENT||LA596_0==NL||LA596_0==WS) ) { - alt596=1; + int LA598_0 = input.LA(1); + if ( (LA598_0==COMMENT||LA598_0==NL||LA598_0==WS) ) { + alt598=1; } - } finally {dbg.exitDecision(596);} + } finally {dbg.exitDecision(598);} - switch (alt596) { + switch (alt598) { case 1 : dbg.enterAlt(1); @@ -39133,24 +39232,24 @@ public final void synpred27_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(596);} + } finally {dbg.exitSubRule(598);} dbg.location(617,20); pushFollow(FOLLOW_styleCondition_in_synpred27_Css33098); styleCondition(); state._fsp--; if (state.failed) return;dbg.location(617,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:617:35: ( ws )? - int alt597=2; - try { dbg.enterSubRule(597); - try { dbg.enterDecision(597, decisionCanBacktrack[597]); + int alt599=2; + try { dbg.enterSubRule(599); + try { dbg.enterDecision(599, decisionCanBacktrack[599]); - int LA597_0 = input.LA(1); - if ( (LA597_0==COMMENT||LA597_0==NL||LA597_0==WS) ) { - alt597=1; + int LA599_0 = input.LA(1); + if ( (LA599_0==COMMENT||LA599_0==NL||LA599_0==WS) ) { + alt599=1; } - } finally {dbg.exitDecision(597);} + } finally {dbg.exitDecision(599);} - switch (alt597) { + switch (alt599) { case 1 : dbg.enterAlt(1); @@ -39165,7 +39264,7 @@ public final void synpred27_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(597);} + } finally {dbg.exitSubRule(599);} dbg.location(617,39); match(input,RPAREN,FOLLOW_RPAREN_in_synpred27_Css33103); if (state.failed) return; } @@ -39183,17 +39282,17 @@ public final void synpred28_Css3_fragment() throws RecognitionException { dbg.location(618,11); match(input,LPAREN,FOLLOW_LPAREN_in_synpred28_Css33115); if (state.failed) return;dbg.location(618,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:618:18: ( ws )? - int alt598=2; - try { dbg.enterSubRule(598); - try { dbg.enterDecision(598, decisionCanBacktrack[598]); + int alt600=2; + try { dbg.enterSubRule(600); + try { dbg.enterDecision(600, decisionCanBacktrack[600]); - int LA598_0 = input.LA(1); - if ( (LA598_0==COMMENT||LA598_0==NL||LA598_0==WS) ) { - alt598=1; + int LA600_0 = input.LA(1); + if ( (LA600_0==COMMENT||LA600_0==NL||LA600_0==WS) ) { + alt600=1; } - } finally {dbg.exitDecision(598);} + } finally {dbg.exitDecision(600);} - switch (alt598) { + switch (alt600) { case 1 : dbg.enterAlt(1); @@ -39208,24 +39307,24 @@ public final void synpred28_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(598);} + } finally {dbg.exitSubRule(600);} dbg.location(618,22); pushFollow(FOLLOW_styleFeature_in_synpred28_Css33120); styleFeature(); state._fsp--; if (state.failed) return;dbg.location(618,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:618:35: ( ws )? - int alt599=2; - try { dbg.enterSubRule(599); - try { dbg.enterDecision(599, decisionCanBacktrack[599]); + int alt601=2; + try { dbg.enterSubRule(601); + try { dbg.enterDecision(601, decisionCanBacktrack[601]); - int LA599_0 = input.LA(1); - if ( (LA599_0==COMMENT||LA599_0==NL||LA599_0==WS) ) { - alt599=1; + int LA601_0 = input.LA(1); + if ( (LA601_0==COMMENT||LA601_0==NL||LA601_0==WS) ) { + alt601=1; } - } finally {dbg.exitDecision(599);} + } finally {dbg.exitDecision(601);} - switch (alt599) { + switch (alt601) { case 1 : dbg.enterAlt(1); @@ -39240,7 +39339,7 @@ public final void synpred28_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(599);} + } finally {dbg.exitSubRule(601);} dbg.location(618,39); match(input,RPAREN,FOLLOW_RPAREN_in_synpred28_Css33125); if (state.failed) return; } @@ -39258,17 +39357,17 @@ public final void synpred29_Css3_fragment() throws RecognitionException { dbg.location(626,9); match(input,LPAREN,FOLLOW_LPAREN_in_synpred29_Css33195); if (state.failed) return;dbg.location(626,16); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:626:16: ( ws )? - int alt600=2; - try { dbg.enterSubRule(600); - try { dbg.enterDecision(600, decisionCanBacktrack[600]); + int alt602=2; + try { dbg.enterSubRule(602); + try { dbg.enterDecision(602, decisionCanBacktrack[602]); - int LA600_0 = input.LA(1); - if ( (LA600_0==COMMENT||LA600_0==NL||LA600_0==WS) ) { - alt600=1; + int LA602_0 = input.LA(1); + if ( (LA602_0==COMMENT||LA602_0==NL||LA602_0==WS) ) { + alt602=1; } - } finally {dbg.exitDecision(600);} + } finally {dbg.exitDecision(602);} - switch (alt600) { + switch (alt602) { case 1 : dbg.enterAlt(1); @@ -39283,24 +39382,24 @@ public final void synpred29_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(600);} + } finally {dbg.exitSubRule(602);} dbg.location(626,20); pushFollow(FOLLOW_sizeFeatureFixedValue_in_synpred29_Css33200); sizeFeatureFixedValue(); state._fsp--; if (state.failed) return;dbg.location(626,42); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:626:42: ( ws )? - int alt601=2; - try { dbg.enterSubRule(601); - try { dbg.enterDecision(601, decisionCanBacktrack[601]); + int alt603=2; + try { dbg.enterSubRule(603); + try { dbg.enterDecision(603, decisionCanBacktrack[603]); - int LA601_0 = input.LA(1); - if ( (LA601_0==COMMENT||LA601_0==NL||LA601_0==WS) ) { - alt601=1; + int LA603_0 = input.LA(1); + if ( (LA603_0==COMMENT||LA603_0==NL||LA603_0==WS) ) { + alt603=1; } - } finally {dbg.exitDecision(601);} + } finally {dbg.exitDecision(603);} - switch (alt601) { + switch (alt603) { case 1 : dbg.enterAlt(1); @@ -39315,7 +39414,7 @@ public final void synpred29_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(601);} + } finally {dbg.exitSubRule(603);} dbg.location(626,46); match(input,RPAREN,FOLLOW_RPAREN_in_synpred29_Css33205); if (state.failed) return; } @@ -39333,17 +39432,17 @@ public final void synpred30_Css3_fragment() throws RecognitionException { dbg.location(627,11); match(input,LPAREN,FOLLOW_LPAREN_in_synpred30_Css33217); if (state.failed) return;dbg.location(627,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:627:18: ( ws )? - int alt602=2; - try { dbg.enterSubRule(602); - try { dbg.enterDecision(602, decisionCanBacktrack[602]); + int alt604=2; + try { dbg.enterSubRule(604); + try { dbg.enterDecision(604, decisionCanBacktrack[604]); - int LA602_0 = input.LA(1); - if ( (LA602_0==COMMENT||LA602_0==NL||LA602_0==WS) ) { - alt602=1; + int LA604_0 = input.LA(1); + if ( (LA604_0==COMMENT||LA604_0==NL||LA604_0==WS) ) { + alt604=1; } - } finally {dbg.exitDecision(602);} + } finally {dbg.exitDecision(604);} - switch (alt602) { + switch (alt604) { case 1 : dbg.enterAlt(1); @@ -39358,24 +39457,24 @@ public final void synpred30_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(602);} + } finally {dbg.exitSubRule(604);} dbg.location(627,22); pushFollow(FOLLOW_sizeFeatureRangeSingle_in_synpred30_Css33222); sizeFeatureRangeSingle(); state._fsp--; if (state.failed) return;dbg.location(627,45); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:627:45: ( ws )? - int alt603=2; - try { dbg.enterSubRule(603); - try { dbg.enterDecision(603, decisionCanBacktrack[603]); + int alt605=2; + try { dbg.enterSubRule(605); + try { dbg.enterDecision(605, decisionCanBacktrack[605]); - int LA603_0 = input.LA(1); - if ( (LA603_0==COMMENT||LA603_0==NL||LA603_0==WS) ) { - alt603=1; + int LA605_0 = input.LA(1); + if ( (LA605_0==COMMENT||LA605_0==NL||LA605_0==WS) ) { + alt605=1; } - } finally {dbg.exitDecision(603);} + } finally {dbg.exitDecision(605);} - switch (alt603) { + switch (alt605) { case 1 : dbg.enterAlt(1); @@ -39390,7 +39489,7 @@ public final void synpred30_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(603);} + } finally {dbg.exitSubRule(605);} dbg.location(627,49); match(input,RPAREN,FOLLOW_RPAREN_in_synpred30_Css33227); if (state.failed) return; } @@ -39408,17 +39507,17 @@ public final void synpred31_Css3_fragment() throws RecognitionException { dbg.location(628,11); match(input,LPAREN,FOLLOW_LPAREN_in_synpred31_Css33239); if (state.failed) return;dbg.location(628,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:628:18: ( ws )? - int alt604=2; - try { dbg.enterSubRule(604); - try { dbg.enterDecision(604, decisionCanBacktrack[604]); + int alt606=2; + try { dbg.enterSubRule(606); + try { dbg.enterDecision(606, decisionCanBacktrack[606]); - int LA604_0 = input.LA(1); - if ( (LA604_0==COMMENT||LA604_0==NL||LA604_0==WS) ) { - alt604=1; + int LA606_0 = input.LA(1); + if ( (LA606_0==COMMENT||LA606_0==NL||LA606_0==WS) ) { + alt606=1; } - } finally {dbg.exitDecision(604);} + } finally {dbg.exitDecision(606);} - switch (alt604) { + switch (alt606) { case 1 : dbg.enterAlt(1); @@ -39433,24 +39532,24 @@ public final void synpred31_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(604);} + } finally {dbg.exitSubRule(606);} dbg.location(628,22); pushFollow(FOLLOW_sizeFeatureRangeBetweenLt_in_synpred31_Css33244); sizeFeatureRangeBetweenLt(); state._fsp--; if (state.failed) return;dbg.location(628,48); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:628:48: ( ws )? - int alt605=2; - try { dbg.enterSubRule(605); - try { dbg.enterDecision(605, decisionCanBacktrack[605]); + int alt607=2; + try { dbg.enterSubRule(607); + try { dbg.enterDecision(607, decisionCanBacktrack[607]); - int LA605_0 = input.LA(1); - if ( (LA605_0==COMMENT||LA605_0==NL||LA605_0==WS) ) { - alt605=1; + int LA607_0 = input.LA(1); + if ( (LA607_0==COMMENT||LA607_0==NL||LA607_0==WS) ) { + alt607=1; } - } finally {dbg.exitDecision(605);} + } finally {dbg.exitDecision(607);} - switch (alt605) { + switch (alt607) { case 1 : dbg.enterAlt(1); @@ -39465,7 +39564,7 @@ public final void synpred31_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(605);} + } finally {dbg.exitSubRule(607);} dbg.location(628,52); match(input,RPAREN,FOLLOW_RPAREN_in_synpred31_Css33249); if (state.failed) return; } @@ -39475,31 +39574,199 @@ public final void synpred31_Css3_fragment() throws RecognitionException { // $ANTLR start synpred32_Css3 public final void synpred32_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:27: ( ( ws )? COMMA ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:20: ( LBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:28: ( ws )? COMMA + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:21: LBRACE { - dbg.location(856,28); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:28: ( ws )? - int alt606=2; - try { dbg.enterSubRule(606); - try { dbg.enterDecision(606, decisionCanBacktrack[606]); + dbg.location(716,21); + match(input,LBRACE,FOLLOW_LBRACE_in_synpred32_Css34019); if (state.failed) return; + } - int LA606_0 = input.LA(1); - if ( (LA606_0==COMMENT||LA606_0==NL||LA606_0==WS) ) { - alt606=1; + } + // $ANTLR end synpred32_Css3 + + // $ANTLR start synpred33_Css3 + public final void synpred33_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:46: ( componentValue ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:47: componentValue + { + dbg.location(716,47); + pushFollow(FOLLOW_componentValue_in_synpred33_Css34029); + componentValue(); + state._fsp--; + if (state.failed) return; } - } finally {dbg.exitDecision(606);} - switch (alt606) { + } + // $ANTLR end synpred33_Css3 + + // $ANTLR start synpred34_Css3 + public final void synpred34_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:97: ( componentValue ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:98: componentValue + { + dbg.location(716,98); + pushFollow(FOLLOW_componentValue_in_synpred34_Css34047); + componentValue(); + state._fsp--; + if (state.failed) return; + } + + } + // $ANTLR end synpred34_Css3 + + // $ANTLR start synpred35_Css3 + public final void synpred35_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:83: ( ws ( LBRACE | ( componentValue )=> componentValue ) ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:84: ws ( LBRACE | ( componentValue )=> componentValue ) + { + dbg.location(716,84); + pushFollow(FOLLOW_ws_in_synpred35_Css34039); + ws(); + state._fsp--; + if (state.failed) return;dbg.location(716,87); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:87: ( LBRACE | ( componentValue )=> componentValue ) + int alt608=2; + try { dbg.enterSubRule(608); + try { dbg.enterDecision(608, decisionCanBacktrack[608]); + + int LA608_0 = input.LA(1); + if ( (LA608_0==LBRACE) ) { + int LA608_1 = input.LA(2); + if ( (LA608_1==EOF) ) { + alt608=1; + } + else if ( (LA608_1==LPAREN) && (synpred34_Css3())) { + alt608=2; + } + else if ( (LA608_1==LBRACE) && (synpred34_Css3())) { + alt608=2; + } + else if ( (LA608_1==LBRACKET) && (synpred34_Css3())) { + alt608=2; + } + else if ( (LA608_1==IDENT) && (synpred34_Css3())) { + alt608=2; + } + else if ( ((LA608_1 >= A && LA608_1 <= I)||(LA608_1 >= IMPORTANT_SYM && LA608_1 <= LAYER_SYM)||(LA608_1 >= LEFTBOTTOM_SYM && LA608_1 <= LINE_COMMENT)||(LA608_1 >= M && LA608_1 <= R)||(LA608_1 >= REM && LA608_1 <= RIGHTTOP_SYM)||(LA608_1 >= S && LA608_1 <= Z)) && (synpred34_Css3())) { + alt608=2; + } + else if ( (LA608_1==RBRACE) && (synpred34_Css3())) { + alt608=2; + } + + } + else if ( (LA608_0==LPAREN) && (synpred34_Css3())) { + alt608=2; + } + else if ( (LA608_0==LBRACKET) && (synpred34_Css3())) { + alt608=2; + } + else if ( (LA608_0==IDENT) && (synpred34_Css3())) { + alt608=2; + } + else if ( ((LA608_0 >= A && LA608_0 <= I)||(LA608_0 >= IMPORTANT_SYM && LA608_0 <= LAYER_SYM)||(LA608_0 >= LEFTBOTTOM_SYM && LA608_0 <= LINE_COMMENT)||(LA608_0 >= M && LA608_0 <= R)||(LA608_0 >= REM && LA608_0 <= RIGHTTOP_SYM)||(LA608_0 >= S && LA608_0 <= Z)) && (synpred34_Css3())) { + alt608=2; + } + + } finally {dbg.exitDecision(608);} + + switch (alt608) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:88: LBRACE + { + dbg.location(716,88); + match(input,LBRACE,FOLLOW_LBRACE_in_synpred35_Css34042); if (state.failed) return; + } + break; + case 2 : + dbg.enterAlt(2); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:97: ( componentValue )=> componentValue + { + dbg.location(716,117); + pushFollow(FOLLOW_componentValue_in_synpred35_Css34052); + componentValue(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(608);} + + } + + } + // $ANTLR end synpred35_Css3 + + // $ANTLR start synpred36_Css3 + public final void synpred36_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:142: ( LBRACE ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:143: LBRACE + { + dbg.location(716,143); + match(input,LBRACE,FOLLOW_LBRACE_in_synpred36_Css34063); if (state.failed) return; + } + + } + // $ANTLR end synpred36_Css3 + + // $ANTLR start synpred37_Css3 + public final void synpred37_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:168: ( componentValue ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:169: componentValue + { + dbg.location(716,169); + pushFollow(FOLLOW_componentValue_in_synpred37_Css34073); + componentValue(); + state._fsp--; + if (state.failed) return; + } + + } + // $ANTLR end synpred37_Css3 + + // $ANTLR start synpred38_Css3 + public final void synpred38_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:27: ( ( ws )? COMMA ) + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:28: ( ws )? COMMA + { + dbg.location(853,28); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:28: ( ws )? + int alt609=2; + try { dbg.enterSubRule(609); + try { dbg.enterDecision(609, decisionCanBacktrack[609]); + + int LA609_0 = input.LA(1); + if ( (LA609_0==COMMENT||LA609_0==NL||LA609_0==WS) ) { + alt609=1; + } + } finally {dbg.exitDecision(609);} + + switch (alt609) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:856:28: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:28: ws { - dbg.location(856,28); - pushFollow(FOLLOW_ws_in_synpred32_Css35066); + dbg.location(853,28); + pushFollow(FOLLOW_ws_in_synpred38_Css35090); ws(); state._fsp--; if (state.failed) return; @@ -39507,146 +39774,146 @@ public final void synpred32_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(606);} - dbg.location(856,32); - match(input,COMMA,FOLLOW_COMMA_in_synpred32_Css35069); if (state.failed) return; + } finally {dbg.exitSubRule(609);} + dbg.location(853,32); + match(input,COMMA,FOLLOW_COMMA_in_synpred38_Css35093); if (state.failed) return; } } - // $ANTLR end synpred32_Css3 + // $ANTLR end synpred38_Css3 - // $ANTLR start synpred33_Css3 - public final void synpred33_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:41: ( function ) + // $ANTLR start synpred39_Css3 + public final void synpred39_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:41: ( function ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:864:42: function + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:42: function { - dbg.location(864,42); - pushFollow(FOLLOW_function_in_synpred33_Css35160); + dbg.location(861,42); + pushFollow(FOLLOW_function_in_synpred39_Css35184); function(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred33_Css3 + // $ANTLR end synpred39_Css3 - // $ANTLR start synpred34_Css3 - public final void synpred34_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:5: ( cp_variable_declaration ) + // $ANTLR start synpred40_Css3 + public final void synpred40_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:889:5: ( cp_variable_declaration ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:6: cp_variable_declaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:889:6: cp_variable_declaration { - dbg.location(892,6); - pushFollow(FOLLOW_cp_variable_declaration_in_synpred34_Css35460); + dbg.location(889,6); + pushFollow(FOLLOW_cp_variable_declaration_in_synpred40_Css35484); cp_variable_declaration(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred34_Css3 + // $ANTLR end synpred40_Css3 - // $ANTLR start synpred35_Css3 - public final void synpred35_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:7: ( sass_map ) + // $ANTLR start synpred41_Css3 + public final void synpred41_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:890:7: ( sass_map ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:8: sass_map + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:890:8: sass_map { - dbg.location(893,8); - pushFollow(FOLLOW_sass_map_in_synpred35_Css35472); + dbg.location(890,8); + pushFollow(FOLLOW_sass_map_in_synpred41_Css35496); sass_map(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred35_Css3 + // $ANTLR end synpred41_Css3 - // $ANTLR start synpred36_Css3 - public final void synpred36_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:894:7: ( sass_nested_properties ) + // $ANTLR start synpred42_Css3 + public final void synpred42_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:891:7: ( sass_nested_properties ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:894:8: sass_nested_properties + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:891:8: sass_nested_properties { - dbg.location(894,8); - pushFollow(FOLLOW_sass_nested_properties_in_synpred36_Css35485); + dbg.location(891,8); + pushFollow(FOLLOW_sass_nested_properties_in_synpred42_Css35509); sass_nested_properties(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred36_Css3 + // $ANTLR end synpred42_Css3 - // $ANTLR start synpred37_Css3 - public final void synpred37_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ) + // $ANTLR start synpred43_Css3 + public final void synpred43_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE { - dbg.location(895,8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) - int alt612=3; - try { dbg.enterSubRule(612); - try { dbg.enterDecision(612, decisionCanBacktrack[612]); + dbg.location(892,8); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) + int alt615=3; + try { dbg.enterSubRule(615); + try { dbg.enterDecision(615, decisionCanBacktrack[615]); try { isCyclicDecision = true; - alt612 = dfa612.predict(input); + alt615 = dfa615.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(612);} + } finally {dbg.exitDecision(615);} - switch (alt612) { + switch (alt615) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:9: ( SASS_AT_ROOT ( ws selectorsGroup )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:9: ( SASS_AT_ROOT ( ws selectorsGroup )? ) { - dbg.location(895,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:9: ( SASS_AT_ROOT ( ws selectorsGroup )? ) + dbg.location(892,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:9: ( SASS_AT_ROOT ( ws selectorsGroup )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:10: SASS_AT_ROOT ( ws selectorsGroup )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:10: SASS_AT_ROOT ( ws selectorsGroup )? { - dbg.location(895,10); - match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred37_Css35499); if (state.failed) return;dbg.location(895,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:23: ( ws selectorsGroup )? - int alt607=2; - try { dbg.enterSubRule(607); - try { dbg.enterDecision(607, decisionCanBacktrack[607]); + dbg.location(892,10); + match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred43_Css35523); if (state.failed) return;dbg.location(892,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:23: ( ws selectorsGroup )? + int alt610=2; + try { dbg.enterSubRule(610); + try { dbg.enterDecision(610, decisionCanBacktrack[610]); try { isCyclicDecision = true; - alt607 = dfa607.predict(input); + alt610 = dfa610.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(607);} + } finally {dbg.exitDecision(610);} - switch (alt607) { + switch (alt610) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:24: ws selectorsGroup + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:24: ws selectorsGroup { - dbg.location(895,24); - pushFollow(FOLLOW_ws_in_synpred37_Css35502); + dbg.location(892,24); + pushFollow(FOLLOW_ws_in_synpred43_Css35526); ws(); state._fsp--; - if (state.failed) return;dbg.location(895,27); - pushFollow(FOLLOW_selectorsGroup_in_synpred37_Css35504); + if (state.failed) return;dbg.location(892,27); + pushFollow(FOLLOW_selectorsGroup_in_synpred43_Css35528); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -39654,7 +39921,7 @@ public final void synpred37_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(607);} + } finally {dbg.exitSubRule(610);} } @@ -39663,40 +39930,40 @@ public final void synpred37_Css3_fragment() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) { - dbg.location(895,48); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) + dbg.location(892,48); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:48: ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN { - dbg.location(895,49); - match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred37_Css35513); if (state.failed) return;dbg.location(895,62); - pushFollow(FOLLOW_ws_in_synpred37_Css35515); + dbg.location(892,49); + match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred43_Css35537); if (state.failed) return;dbg.location(892,62); + pushFollow(FOLLOW_ws_in_synpred43_Css35539); ws(); state._fsp--; - if (state.failed) return;dbg.location(895,65); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred37_Css35517); if (state.failed) return;dbg.location(895,72); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:72: ( ws )? - int alt608=2; - try { dbg.enterSubRule(608); - try { dbg.enterDecision(608, decisionCanBacktrack[608]); + if (state.failed) return;dbg.location(892,65); + match(input,LPAREN,FOLLOW_LPAREN_in_synpred43_Css35541); if (state.failed) return;dbg.location(892,72); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:72: ( ws )? + int alt611=2; + try { dbg.enterSubRule(611); + try { dbg.enterDecision(611, decisionCanBacktrack[611]); - int LA608_0 = input.LA(1); - if ( (LA608_0==COMMENT||LA608_0==NL||LA608_0==WS) ) { - alt608=1; + int LA611_0 = input.LA(1); + if ( (LA611_0==COMMENT||LA611_0==NL||LA611_0==WS) ) { + alt611=1; } - } finally {dbg.exitDecision(608);} + } finally {dbg.exitDecision(611);} - switch (alt608) { + switch (alt611) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:72: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:72: ws { - dbg.location(895,72); - pushFollow(FOLLOW_ws_in_synpred37_Css35519); + dbg.location(892,72); + pushFollow(FOLLOW_ws_in_synpred43_Css35543); ws(); state._fsp--; if (state.failed) return; @@ -39704,28 +39971,28 @@ public final void synpred37_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(608);} - dbg.location(895,76); - match(input,IDENT,FOLLOW_IDENT_in_synpred37_Css35522); if (state.failed) return;dbg.location(895,82); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:82: ( ws )? - int alt609=2; - try { dbg.enterSubRule(609); - try { dbg.enterDecision(609, decisionCanBacktrack[609]); + } finally {dbg.exitSubRule(611);} + dbg.location(892,76); + match(input,IDENT,FOLLOW_IDENT_in_synpred43_Css35546); if (state.failed) return;dbg.location(892,82); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:82: ( ws )? + int alt612=2; + try { dbg.enterSubRule(612); + try { dbg.enterDecision(612, decisionCanBacktrack[612]); - int LA609_0 = input.LA(1); - if ( (LA609_0==COMMENT||LA609_0==NL||LA609_0==WS) ) { - alt609=1; + int LA612_0 = input.LA(1); + if ( (LA612_0==COMMENT||LA612_0==NL||LA612_0==WS) ) { + alt612=1; } - } finally {dbg.exitDecision(609);} + } finally {dbg.exitDecision(612);} - switch (alt609) { + switch (alt612) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:82: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:82: ws { - dbg.location(895,82); - pushFollow(FOLLOW_ws_in_synpred37_Css35524); + dbg.location(892,82); + pushFollow(FOLLOW_ws_in_synpred43_Css35548); ws(); state._fsp--; if (state.failed) return; @@ -39733,28 +40000,28 @@ public final void synpred37_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(609);} - dbg.location(895,86); - match(input,COLON,FOLLOW_COLON_in_synpred37_Css35527); if (state.failed) return;dbg.location(895,92); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:92: ( ws )? - int alt610=2; - try { dbg.enterSubRule(610); - try { dbg.enterDecision(610, decisionCanBacktrack[610]); + } finally {dbg.exitSubRule(612);} + dbg.location(892,86); + match(input,COLON,FOLLOW_COLON_in_synpred43_Css35551); if (state.failed) return;dbg.location(892,92); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:92: ( ws )? + int alt613=2; + try { dbg.enterSubRule(613); + try { dbg.enterDecision(613, decisionCanBacktrack[613]); - int LA610_0 = input.LA(1); - if ( (LA610_0==COMMENT||LA610_0==NL||LA610_0==WS) ) { - alt610=1; + int LA613_0 = input.LA(1); + if ( (LA613_0==COMMENT||LA613_0==NL||LA613_0==WS) ) { + alt613=1; } - } finally {dbg.exitDecision(610);} + } finally {dbg.exitDecision(613);} - switch (alt610) { + switch (alt613) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:92: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:92: ws { - dbg.location(895,92); - pushFollow(FOLLOW_ws_in_synpred37_Css35529); + dbg.location(892,92); + pushFollow(FOLLOW_ws_in_synpred43_Css35553); ws(); state._fsp--; if (state.failed) return; @@ -39762,28 +40029,28 @@ public final void synpred37_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(610);} - dbg.location(895,96); - match(input,IDENT,FOLLOW_IDENT_in_synpred37_Css35532); if (state.failed) return;dbg.location(895,102); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:102: ( ws )? - int alt611=2; - try { dbg.enterSubRule(611); - try { dbg.enterDecision(611, decisionCanBacktrack[611]); + } finally {dbg.exitSubRule(613);} + dbg.location(892,96); + match(input,IDENT,FOLLOW_IDENT_in_synpred43_Css35556); if (state.failed) return;dbg.location(892,102); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:102: ( ws )? + int alt614=2; + try { dbg.enterSubRule(614); + try { dbg.enterDecision(614, decisionCanBacktrack[614]); - int LA611_0 = input.LA(1); - if ( (LA611_0==COMMENT||LA611_0==NL||LA611_0==WS) ) { - alt611=1; + int LA614_0 = input.LA(1); + if ( (LA614_0==COMMENT||LA614_0==NL||LA614_0==WS) ) { + alt614=1; } - } finally {dbg.exitDecision(611);} + } finally {dbg.exitDecision(614);} - switch (alt611) { + switch (alt614) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:102: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:102: ws { - dbg.location(895,102); - pushFollow(FOLLOW_ws_in_synpred37_Css35534); + dbg.location(892,102); + pushFollow(FOLLOW_ws_in_synpred43_Css35558); ws(); state._fsp--; if (state.failed) return; @@ -39791,9 +40058,9 @@ public final void synpred37_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(611);} - dbg.location(895,106); - match(input,RPAREN,FOLLOW_RPAREN_in_synpred37_Css35537); if (state.failed) return; + } finally {dbg.exitSubRule(614);} + dbg.location(892,106); + match(input,RPAREN,FOLLOW_RPAREN_in_synpred43_Css35561); if (state.failed) return; } } @@ -39801,10 +40068,10 @@ public final void synpred37_Css3_fragment() throws RecognitionException { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:116: selectorsGroup + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:116: selectorsGroup { - dbg.location(895,116); - pushFollow(FOLLOW_selectorsGroup_in_synpred37_Css35542); + dbg.location(892,116); + pushFollow(FOLLOW_selectorsGroup_in_synpred43_Css35566); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -39812,27 +40079,27 @@ public final void synpred37_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(612);} - dbg.location(895,132); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:132: ( ws )? - int alt613=2; - try { dbg.enterSubRule(613); - try { dbg.enterDecision(613, decisionCanBacktrack[613]); + } finally {dbg.exitSubRule(615);} + dbg.location(892,132); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:132: ( ws )? + int alt616=2; + try { dbg.enterSubRule(616); + try { dbg.enterDecision(616, decisionCanBacktrack[616]); - int LA613_0 = input.LA(1); - if ( (LA613_0==COMMENT||LA613_0==NL||LA613_0==WS) ) { - alt613=1; + int LA616_0 = input.LA(1); + if ( (LA616_0==COMMENT||LA616_0==NL||LA616_0==WS) ) { + alt616=1; } - } finally {dbg.exitDecision(613);} + } finally {dbg.exitDecision(616);} - switch (alt613) { + switch (alt616) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:132: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:132: ws { - dbg.location(895,132); - pushFollow(FOLLOW_ws_in_synpred37_Css35545); + dbg.location(892,132); + pushFollow(FOLLOW_ws_in_synpred43_Css35569); ws(); state._fsp--; if (state.failed) return; @@ -39840,62 +40107,62 @@ public final void synpred37_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(613);} - dbg.location(895,136); - match(input,LBRACE,FOLLOW_LBRACE_in_synpred37_Css35548); if (state.failed) return; + } finally {dbg.exitSubRule(616);} + dbg.location(892,136); + match(input,LBRACE,FOLLOW_LBRACE_in_synpred43_Css35572); if (state.failed) return; } } - // $ANTLR end synpred37_Css3 + // $ANTLR end synpred43_Css3 - // $ANTLR start synpred38_Css3 - public final void synpred38_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:896:7: ( propertyDeclaration ) + // $ANTLR start synpred44_Css3 + public final void synpred44_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:7: ( propertyDeclaration ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:896:8: propertyDeclaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:8: propertyDeclaration { - dbg.location(896,8); - pushFollow(FOLLOW_propertyDeclaration_in_synpred38_Css35560); + dbg.location(893,8); + pushFollow(FOLLOW_propertyDeclaration_in_synpred44_Css35584); propertyDeclaration(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred38_Css3 + // $ANTLR end synpred44_Css3 - // $ANTLR start synpred39_Css3 - public final void synpred39_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) ) + // $ANTLR start synpred45_Css3 + public final void synpred45_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:8: property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:8: property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) { - dbg.location(898,8); - pushFollow(FOLLOW_property_in_synpred39_Css35577); + dbg.location(895,8); + pushFollow(FOLLOW_property_in_synpred45_Css35601); property(); state._fsp--; - if (state.failed) return;dbg.location(898,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:17: ( ws )? - int alt614=2; - try { dbg.enterSubRule(614); - try { dbg.enterDecision(614, decisionCanBacktrack[614]); + if (state.failed) return;dbg.location(895,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:17: ( ws )? + int alt617=2; + try { dbg.enterSubRule(617); + try { dbg.enterDecision(617, decisionCanBacktrack[617]); - int LA614_0 = input.LA(1); - if ( (LA614_0==COMMENT||LA614_0==NL||LA614_0==WS) ) { - alt614=1; + int LA617_0 = input.LA(1); + if ( (LA617_0==COMMENT||LA617_0==NL||LA617_0==WS) ) { + alt617=1; } - } finally {dbg.exitDecision(614);} + } finally {dbg.exitDecision(617);} - switch (alt614) { + switch (alt617) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:17: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:17: ws { - dbg.location(898,17); - pushFollow(FOLLOW_ws_in_synpred39_Css35579); + dbg.location(895,17); + pushFollow(FOLLOW_ws_in_synpred45_Css35603); ws(); state._fsp--; if (state.failed) return; @@ -39903,31 +40170,31 @@ public final void synpred39_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(614);} - dbg.location(898,21); - match(input,COLON,FOLLOW_COLON_in_synpred39_Css35582); if (state.failed) return;dbg.location(898,27); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:27: (~ ( LBRACE | SEMI | RBRACE ) )* - try { dbg.enterSubRule(615); + } finally {dbg.exitSubRule(617);} + dbg.location(895,21); + match(input,COLON,FOLLOW_COLON_in_synpred45_Css35606); if (state.failed) return;dbg.location(895,27); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:27: (~ ( LBRACE | SEMI | RBRACE ) )* + try { dbg.enterSubRule(618); - loop615: + loop618: while (true) { - int alt615=2; - try { dbg.enterDecision(615, decisionCanBacktrack[615]); + int alt618=2; + try { dbg.enterDecision(618, decisionCanBacktrack[618]); - int LA615_0 = input.LA(1); - if ( ((LA615_0 >= A && LA615_0 <= LAYER_SYM)||(LA615_0 >= LBRACKET && LA615_0 <= R)||(LA615_0 >= RBRACKET && LA615_0 <= SASS_WHILE)||(LA615_0 >= SOLIDUS && LA615_0 <= Z)) ) { - alt615=1; + int LA618_0 = input.LA(1); + if ( ((LA618_0 >= A && LA618_0 <= LAYER_SYM)||(LA618_0 >= LBRACKET && LA618_0 <= R)||(LA618_0 >= RBRACKET && LA618_0 <= SASS_WHILE)||(LA618_0 >= SOLIDUS && LA618_0 <= Z)) ) { + alt618=1; } - } finally {dbg.exitDecision(615);} + } finally {dbg.exitDecision(618);} - switch (alt615) { + switch (alt618) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(898,27); + dbg.location(895,27); if ( (input.LA(1) >= A && input.LA(1) <= LAYER_SYM)||(input.LA(1) >= LBRACKET && input.LA(1) <= R)||(input.LA(1) >= RBRACKET && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= SOLIDUS && input.LA(1) <= Z) ) { input.consume(); state.errorRecovery=false; @@ -39943,11 +40210,11 @@ public final void synpred39_Css3_fragment() throws RecognitionException { break; default : - break loop615; + break loop618; } } - } finally {dbg.exitSubRule(615);} - dbg.location(898,50); + } finally {dbg.exitSubRule(618);} + dbg.location(895,50); if ( input.LA(1)==RBRACE||input.LA(1)==SEMI ) { input.consume(); state.errorRecovery=false; @@ -39962,86 +40229,86 @@ public final void synpred39_Css3_fragment() throws RecognitionException { } } - // $ANTLR end synpred39_Css3 + // $ANTLR end synpred45_Css3 - // $ANTLR start synpred40_Css3 - public final void synpred40_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:899:7: ( cp_mixin_declaration ) + // $ANTLR start synpred46_Css3 + public final void synpred46_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:896:7: ( cp_mixin_declaration ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:899:8: cp_mixin_declaration + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:896:8: cp_mixin_declaration { - dbg.location(899,8); - pushFollow(FOLLOW_cp_mixin_declaration_in_synpred40_Css35611); + dbg.location(896,8); + pushFollow(FOLLOW_cp_mixin_declaration_in_synpred46_Css35635); cp_mixin_declaration(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred40_Css3 + // $ANTLR end synpred46_Css3 - // $ANTLR start synpred41_Css3 - public final void synpred41_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:7: ( cp_mixin_call ) + // $ANTLR start synpred47_Css3 + public final void synpred47_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:7: ( cp_mixin_call ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:900:8: cp_mixin_call + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:8: cp_mixin_call { - dbg.location(900,8); - pushFollow(FOLLOW_cp_mixin_call_in_synpred41_Css35623); + dbg.location(897,8); + pushFollow(FOLLOW_cp_mixin_call_in_synpred47_Css35647); cp_mixin_call(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred41_Css3 + // $ANTLR end synpred47_Css3 - // $ANTLR start synpred42_Css3 - public final void synpred42_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:901:7: ( cp_mixin_call ) + // $ANTLR start synpred48_Css3 + public final void synpred48_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:7: ( cp_mixin_call ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:901:8: cp_mixin_call + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:8: cp_mixin_call { - dbg.location(901,8); - pushFollow(FOLLOW_cp_mixin_call_in_synpred42_Css35644); + dbg.location(898,8); + pushFollow(FOLLOW_cp_mixin_call_in_synpred48_Css35668); cp_mixin_call(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred42_Css3 + // $ANTLR end synpred48_Css3 - // $ANTLR start synpred43_Css3 - public final void synpred43_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:65: ( ( ws )? esPred ) + // $ANTLR start synpred49_Css3 + public final void synpred49_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:65: ( ( ws )? esPred ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:66: ( ws )? esPred + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:66: ( ws )? esPred { - dbg.location(935,66); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:66: ( ws )? - int alt616=2; - try { dbg.enterSubRule(616); - try { dbg.enterDecision(616, decisionCanBacktrack[616]); + dbg.location(932,66); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:66: ( ws )? + int alt619=2; + try { dbg.enterSubRule(619); + try { dbg.enterDecision(619, decisionCanBacktrack[619]); - int LA616_0 = input.LA(1); - if ( (LA616_0==COMMENT||LA616_0==NL||LA616_0==WS) ) { - alt616=1; + int LA619_0 = input.LA(1); + if ( (LA619_0==COMMENT||LA619_0==NL||LA619_0==WS) ) { + alt619=1; } - } finally {dbg.exitDecision(616);} + } finally {dbg.exitDecision(619);} - switch (alt616) { + switch (alt619) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:935:66: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:66: ws { - dbg.location(935,66); - pushFollow(FOLLOW_ws_in_synpred43_Css35942); + dbg.location(932,66); + pushFollow(FOLLOW_ws_in_synpred49_Css35964); ws(); state._fsp--; if (state.failed) return; @@ -40049,61 +40316,61 @@ public final void synpred43_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(616);} - dbg.location(935,70); - pushFollow(FOLLOW_esPred_in_synpred43_Css35945); + } finally {dbg.exitSubRule(619);} + dbg.location(932,70); + pushFollow(FOLLOW_esPred_in_synpred49_Css35967); esPred(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred43_Css3 + // $ANTLR end synpred49_Css3 - // $ANTLR start synpred44_Css3 - public final void synpred44_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:4: ( typeSelector ) + // $ANTLR start synpred50_Css3 + public final void synpred50_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:4: ( typeSelector ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:5: typeSelector + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:5: typeSelector { - dbg.location(936,5); - pushFollow(FOLLOW_typeSelector_in_synpred44_Css35980); + dbg.location(933,5); + pushFollow(FOLLOW_typeSelector_in_synpred50_Css36002); typeSelector(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred44_Css3 + // $ANTLR end synpred50_Css3 - // $ANTLR start synpred45_Css3 - public final void synpred45_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:34: ( ( ws )? esPred ) + // $ANTLR start synpred51_Css3 + public final void synpred51_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:34: ( ( ws )? esPred ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:35: ( ws )? esPred + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:35: ( ws )? esPred { - dbg.location(936,35); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:35: ( ws )? - int alt617=2; - try { dbg.enterSubRule(617); - try { dbg.enterDecision(617, decisionCanBacktrack[617]); + dbg.location(933,35); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:35: ( ws )? + int alt620=2; + try { dbg.enterSubRule(620); + try { dbg.enterDecision(620, decisionCanBacktrack[620]); - int LA617_0 = input.LA(1); - if ( (LA617_0==COMMENT||LA617_0==NL||LA617_0==WS) ) { - alt617=1; + int LA620_0 = input.LA(1); + if ( (LA620_0==COMMENT||LA620_0==NL||LA620_0==WS) ) { + alt620=1; } - } finally {dbg.exitDecision(617);} + } finally {dbg.exitDecision(620);} - switch (alt617) { + switch (alt620) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:936:35: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:35: ws { - dbg.location(936,35); - pushFollow(FOLLOW_ws_in_synpred45_Css35987); + dbg.location(933,35); + pushFollow(FOLLOW_ws_in_synpred51_Css36009); ws(); state._fsp--; if (state.failed) return; @@ -40111,43 +40378,43 @@ public final void synpred45_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(617);} - dbg.location(936,39); - pushFollow(FOLLOW_esPred_in_synpred45_Css35990); + } finally {dbg.exitSubRule(620);} + dbg.location(933,39); + pushFollow(FOLLOW_esPred_in_synpred51_Css36012); esPred(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred45_Css3 + // $ANTLR end synpred51_Css3 - // $ANTLR start synpred46_Css3 - public final void synpred46_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:7: ( ( IDENT | STAR )? PIPE ) + // $ANTLR start synpred52_Css3 + public final void synpred52_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:7: ( ( IDENT | STAR )? PIPE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:8: ( IDENT | STAR )? PIPE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:8: ( IDENT | STAR )? PIPE { - dbg.location(950,8); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:950:8: ( IDENT | STAR )? - int alt618=2; - try { dbg.enterSubRule(618); - try { dbg.enterDecision(618, decisionCanBacktrack[618]); + dbg.location(947,8); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:8: ( IDENT | STAR )? + int alt621=2; + try { dbg.enterSubRule(621); + try { dbg.enterDecision(621, decisionCanBacktrack[621]); - int LA618_0 = input.LA(1); - if ( (LA618_0==IDENT||LA618_0==STAR) ) { - alt618=1; + int LA621_0 = input.LA(1); + if ( (LA621_0==IDENT||LA621_0==STAR) ) { + alt621=1; } - } finally {dbg.exitDecision(618);} + } finally {dbg.exitDecision(621);} - switch (alt618) { + switch (alt621) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { - dbg.location(950,8); + dbg.location(947,8); if ( input.LA(1)==IDENT||input.LA(1)==STAR ) { input.consume(); state.errorRecovery=false; @@ -40163,45 +40430,45 @@ public final void synpred46_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(618);} - dbg.location(950,24); - match(input,PIPE,FOLLOW_PIPE_in_synpred46_Css36101); if (state.failed) return; + } finally {dbg.exitSubRule(621);} + dbg.location(947,24); + match(input,PIPE,FOLLOW_PIPE_in_synpred52_Css36123); if (state.failed) return; } } - // $ANTLR end synpred46_Css3 + // $ANTLR end synpred52_Css3 - // $ANTLR start synpred47_Css3 - public final void synpred47_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:58: ( functionName ( ws )? LPAREN ) + // $ANTLR start synpred53_Css3 + public final void synpred53_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:58: ( functionName ( ws )? LPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:59: functionName ( ws )? LPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:59: functionName ( ws )? LPAREN { - dbg.location(1105,59); - pushFollow(FOLLOW_functionName_in_synpred47_Css37662); + dbg.location(1110,59); + pushFollow(FOLLOW_functionName_in_synpred53_Css37722); functionName(); state._fsp--; - if (state.failed) return;dbg.location(1105,72); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:72: ( ws )? - int alt619=2; - try { dbg.enterSubRule(619); - try { dbg.enterDecision(619, decisionCanBacktrack[619]); + if (state.failed) return;dbg.location(1110,72); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:72: ( ws )? + int alt622=2; + try { dbg.enterSubRule(622); + try { dbg.enterDecision(622, decisionCanBacktrack[622]); - int LA619_0 = input.LA(1); - if ( (LA619_0==COMMENT||LA619_0==NL||LA619_0==WS) ) { - alt619=1; + int LA622_0 = input.LA(1); + if ( (LA622_0==COMMENT||LA622_0==NL||LA622_0==WS) ) { + alt622=1; } - } finally {dbg.exitDecision(619);} + } finally {dbg.exitDecision(622);} - switch (alt619) { + switch (alt622) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1105:72: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:72: ws { - dbg.location(1105,72); - pushFollow(FOLLOW_ws_in_synpred47_Css37664); + dbg.location(1110,72); + pushFollow(FOLLOW_ws_in_synpred53_Css37724); ws(); state._fsp--; if (state.failed) return; @@ -40209,45 +40476,45 @@ public final void synpred47_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(619);} - dbg.location(1105,76); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred47_Css37667); if (state.failed) return; + } finally {dbg.exitSubRule(622);} + dbg.location(1110,76); + match(input,LPAREN,FOLLOW_LPAREN_in_synpred53_Css37727); if (state.failed) return; } } - // $ANTLR end synpred47_Css3 + // $ANTLR end synpred53_Css3 - // $ANTLR start synpred48_Css3 - public final void synpred48_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:64: ( functionName ( ws )? LPAREN ) + // $ANTLR start synpred54_Css3 + public final void synpred54_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:64: ( functionName ( ws )? LPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:65: functionName ( ws )? LPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:65: functionName ( ws )? LPAREN { - dbg.location(1107,65); - pushFollow(FOLLOW_functionName_in_synpred48_Css37697); + dbg.location(1112,65); + pushFollow(FOLLOW_functionName_in_synpred54_Css37757); functionName(); state._fsp--; - if (state.failed) return;dbg.location(1107,78); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:78: ( ws )? - int alt620=2; - try { dbg.enterSubRule(620); - try { dbg.enterDecision(620, decisionCanBacktrack[620]); + if (state.failed) return;dbg.location(1112,78); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:78: ( ws )? + int alt623=2; + try { dbg.enterSubRule(623); + try { dbg.enterDecision(623, decisionCanBacktrack[623]); - int LA620_0 = input.LA(1); - if ( (LA620_0==COMMENT||LA620_0==NL||LA620_0==WS) ) { - alt620=1; + int LA623_0 = input.LA(1); + if ( (LA623_0==COMMENT||LA623_0==NL||LA623_0==WS) ) { + alt623=1; } - } finally {dbg.exitDecision(620);} + } finally {dbg.exitDecision(623);} - switch (alt620) { + switch (alt623) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1107:78: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:78: ws { - dbg.location(1107,78); - pushFollow(FOLLOW_ws_in_synpred48_Css37699); + dbg.location(1112,78); + pushFollow(FOLLOW_ws_in_synpred54_Css37759); ws(); state._fsp--; if (state.failed) return; @@ -40255,45 +40522,45 @@ public final void synpred48_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(620);} - dbg.location(1107,82); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred48_Css37702); if (state.failed) return; + } finally {dbg.exitSubRule(623);} + dbg.location(1112,82); + match(input,LPAREN,FOLLOW_LPAREN_in_synpred54_Css37762); if (state.failed) return; } } - // $ANTLR end synpred48_Css3 + // $ANTLR end synpred54_Css3 - // $ANTLR start synpred49_Css3 - public final void synpred49_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term ) + // $ANTLR start synpred55_Css3 + public final void synpred55_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:14: ( ( ws | ( ( ws )? operator ( ws )? ) |) term ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:15: ( ws | ( ( ws )? operator ( ws )? ) |) term + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:15: ( ws | ( ( ws )? operator ( ws )? ) |) term { - dbg.location(1147,15); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:15: ( ws | ( ( ws )? operator ( ws )? ) |) - int alt623=3; - try { dbg.enterSubRule(623); - try { dbg.enterDecision(623, decisionCanBacktrack[623]); + dbg.location(1152,15); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:15: ( ws | ( ( ws )? operator ( ws )? ) |) + int alt626=3; + try { dbg.enterSubRule(626); + try { dbg.enterDecision(626, decisionCanBacktrack[626]); try { isCyclicDecision = true; - alt623 = dfa623.predict(input); + alt626 = dfa626.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(623);} + } finally {dbg.exitDecision(626);} - switch (alt623) { + switch (alt626) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:17: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:17: ws { - dbg.location(1147,17); - pushFollow(FOLLOW_ws_in_synpred49_Css37872); + dbg.location(1152,17); + pushFollow(FOLLOW_ws_in_synpred55_Css37932); ws(); state._fsp--; if (state.failed) return; @@ -40302,34 +40569,34 @@ public final void synpred49_Css3_fragment() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:22: ( ( ws )? operator ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:22: ( ( ws )? operator ( ws )? ) { - dbg.location(1147,22); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:22: ( ( ws )? operator ( ws )? ) + dbg.location(1152,22); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:22: ( ( ws )? operator ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:23: ( ws )? operator ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:23: ( ws )? operator ( ws )? { - dbg.location(1147,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:23: ( ws )? - int alt621=2; - try { dbg.enterSubRule(621); - try { dbg.enterDecision(621, decisionCanBacktrack[621]); + dbg.location(1152,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:23: ( ws )? + int alt624=2; + try { dbg.enterSubRule(624); + try { dbg.enterDecision(624, decisionCanBacktrack[624]); - int LA621_0 = input.LA(1); - if ( (LA621_0==COMMENT||LA621_0==NL||LA621_0==WS) ) { - alt621=1; + int LA624_0 = input.LA(1); + if ( (LA624_0==COMMENT||LA624_0==NL||LA624_0==WS) ) { + alt624=1; } - } finally {dbg.exitDecision(621);} + } finally {dbg.exitDecision(624);} - switch (alt621) { + switch (alt624) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:23: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:23: ws { - dbg.location(1147,23); - pushFollow(FOLLOW_ws_in_synpred49_Css37877); + dbg.location(1152,23); + pushFollow(FOLLOW_ws_in_synpred55_Css37937); ws(); state._fsp--; if (state.failed) return; @@ -40337,31 +40604,31 @@ public final void synpred49_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(621);} - dbg.location(1147,27); - pushFollow(FOLLOW_operator_in_synpred49_Css37880); + } finally {dbg.exitSubRule(624);} + dbg.location(1152,27); + pushFollow(FOLLOW_operator_in_synpred55_Css37940); operator(); state._fsp--; - if (state.failed) return;dbg.location(1147,36); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:36: ( ws )? - int alt622=2; - try { dbg.enterSubRule(622); - try { dbg.enterDecision(622, decisionCanBacktrack[622]); + if (state.failed) return;dbg.location(1152,36); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:36: ( ws )? + int alt625=2; + try { dbg.enterSubRule(625); + try { dbg.enterDecision(625, decisionCanBacktrack[625]); - int LA622_0 = input.LA(1); - if ( (LA622_0==COMMENT||LA622_0==NL||LA622_0==WS) ) { - alt622=1; + int LA625_0 = input.LA(1); + if ( (LA625_0==COMMENT||LA625_0==NL||LA625_0==WS) ) { + alt625=1; } - } finally {dbg.exitDecision(622);} + } finally {dbg.exitDecision(625);} - switch (alt622) { + switch (alt625) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:36: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:36: ws { - dbg.location(1147,36); - pushFollow(FOLLOW_ws_in_synpred49_Css37882); + dbg.location(1152,36); + pushFollow(FOLLOW_ws_in_synpred55_Css37942); ws(); state._fsp--; if (state.failed) return; @@ -40369,7 +40636,7 @@ public final void synpred49_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(622);} + } finally {dbg.exitSubRule(625);} } @@ -40378,54 +40645,54 @@ public final void synpred49_Css3_fragment() throws RecognitionException { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1147:56: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:56: { } break; } - } finally {dbg.exitSubRule(623);} - dbg.location(1147,58); - pushFollow(FOLLOW_term_in_synpred49_Css37891); + } finally {dbg.exitSubRule(626);} + dbg.location(1152,58); + pushFollow(FOLLOW_term_in_synpred55_Css37951); term(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred49_Css3 + // $ANTLR end synpred55_Css3 - // $ANTLR start synpred50_Css3 - public final void synpred50_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:9: ( functionName ( ws )? LPAREN ) + // $ANTLR start synpred56_Css3 + public final void synpred56_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:9: ( functionName ( ws )? LPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:10: functionName ( ws )? LPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:10: functionName ( ws )? LPAREN { - dbg.location(1154,10); - pushFollow(FOLLOW_functionName_in_synpred50_Css37964); + dbg.location(1159,10); + pushFollow(FOLLOW_functionName_in_synpred56_Css38024); functionName(); state._fsp--; - if (state.failed) return;dbg.location(1154,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:23: ( ws )? - int alt624=2; - try { dbg.enterSubRule(624); - try { dbg.enterDecision(624, decisionCanBacktrack[624]); + if (state.failed) return;dbg.location(1159,23); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:23: ( ws )? + int alt627=2; + try { dbg.enterSubRule(627); + try { dbg.enterDecision(627, decisionCanBacktrack[627]); - int LA624_0 = input.LA(1); - if ( (LA624_0==COMMENT||LA624_0==NL||LA624_0==WS) ) { - alt624=1; + int LA627_0 = input.LA(1); + if ( (LA627_0==COMMENT||LA627_0==NL||LA627_0==WS) ) { + alt627=1; } - } finally {dbg.exitDecision(624);} + } finally {dbg.exitDecision(627);} - switch (alt624) { + switch (alt627) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1154:23: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:23: ws { - dbg.location(1154,23); - pushFollow(FOLLOW_ws_in_synpred50_Css37966); + dbg.location(1159,23); + pushFollow(FOLLOW_ws_in_synpred56_Css38026); ws(); state._fsp--; if (state.failed) return; @@ -40433,45 +40700,45 @@ public final void synpred50_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(624);} - dbg.location(1154,27); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred50_Css37969); if (state.failed) return; + } finally {dbg.exitSubRule(627);} + dbg.location(1159,27); + match(input,LPAREN,FOLLOW_LPAREN_in_synpred56_Css38029); if (state.failed) return; } } - // $ANTLR end synpred50_Css3 + // $ANTLR end synpred56_Css3 - // $ANTLR start synpred51_Css3 - public final void synpred51_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) ) + // $ANTLR start synpred57_Css3 + public final void synpred57_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:10: fnAttributeName ( ws )? ( OPEQ | COLON ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:10: fnAttributeName ( ws )? ( OPEQ | COLON ) { - dbg.location(1220,10); - pushFollow(FOLLOW_fnAttributeName_in_synpred51_Css38576); + dbg.location(1225,10); + pushFollow(FOLLOW_fnAttributeName_in_synpred57_Css38636); fnAttributeName(); state._fsp--; - if (state.failed) return;dbg.location(1220,26); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:26: ( ws )? - int alt625=2; - try { dbg.enterSubRule(625); - try { dbg.enterDecision(625, decisionCanBacktrack[625]); + if (state.failed) return;dbg.location(1225,26); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:26: ( ws )? + int alt628=2; + try { dbg.enterSubRule(628); + try { dbg.enterDecision(628, decisionCanBacktrack[628]); - int LA625_0 = input.LA(1); - if ( (LA625_0==COMMENT||LA625_0==NL||LA625_0==WS) ) { - alt625=1; + int LA628_0 = input.LA(1); + if ( (LA628_0==COMMENT||LA628_0==NL||LA628_0==WS) ) { + alt628=1; } - } finally {dbg.exitDecision(625);} + } finally {dbg.exitDecision(628);} - switch (alt625) { + switch (alt628) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:26: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:26: ws { - dbg.location(1220,26); - pushFollow(FOLLOW_ws_in_synpred51_Css38578); + dbg.location(1225,26); + pushFollow(FOLLOW_ws_in_synpred57_Css38638); ws(); state._fsp--; if (state.failed) return; @@ -40479,8 +40746,8 @@ public final void synpred51_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(625);} - dbg.location(1220,30); + } finally {dbg.exitSubRule(628);} + dbg.location(1225,30); if ( input.LA(1)==COLON||input.LA(1)==OPEQ ) { input.consume(); state.errorRecovery=false; @@ -40495,56 +40762,56 @@ public final void synpred51_Css3_fragment() throws RecognitionException { } } - // $ANTLR end synpred51_Css3 + // $ANTLR end synpred57_Css3 - // $ANTLR start synpred52_Css3 - public final void synpred52_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:11: ( cp_expression ) + // $ANTLR start synpred58_Css3 + public final void synpred58_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:11: ( cp_expression ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1221:12: cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:12: cp_expression { - dbg.location(1221,12); - pushFollow(FOLLOW_cp_expression_in_synpred52_Css38616); + dbg.location(1226,12); + pushFollow(FOLLOW_cp_expression_in_synpred58_Css38676); cp_expression(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred52_Css3 + // $ANTLR end synpred58_Css3 - // $ANTLR start synpred53_Css3 - public final void synpred53_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term ) + // $ANTLR start synpred59_Css3 + public final void synpred59_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:20: ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term { - dbg.location(1233,21); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) - int alt628=3; - try { dbg.enterSubRule(628); - try { dbg.enterDecision(628, decisionCanBacktrack[628]); + dbg.location(1238,21); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) + int alt631=3; + try { dbg.enterSubRule(631); + try { dbg.enterDecision(631, decisionCanBacktrack[631]); try { isCyclicDecision = true; - alt628 = dfa628.predict(input); + alt631 = dfa631.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(628);} + } finally {dbg.exitDecision(631);} - switch (alt628) { + switch (alt631) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:23: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:23: ws { - dbg.location(1233,23); - pushFollow(FOLLOW_ws_in_synpred53_Css38710); + dbg.location(1238,23); + pushFollow(FOLLOW_ws_in_synpred59_Css38770); ws(); state._fsp--; if (state.failed) return; @@ -40553,34 +40820,34 @@ public final void synpred53_Css3_fragment() throws RecognitionException { case 2 : dbg.enterAlt(2); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:28: ( ( ws )? SOLIDUS ( ws )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:28: ( ( ws )? SOLIDUS ( ws )? ) { - dbg.location(1233,28); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:28: ( ( ws )? SOLIDUS ( ws )? ) + dbg.location(1238,28); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:28: ( ( ws )? SOLIDUS ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:29: ( ws )? SOLIDUS ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:29: ( ws )? SOLIDUS ( ws )? { - dbg.location(1233,29); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:29: ( ws )? - int alt626=2; - try { dbg.enterSubRule(626); - try { dbg.enterDecision(626, decisionCanBacktrack[626]); + dbg.location(1238,29); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:29: ( ws )? + int alt629=2; + try { dbg.enterSubRule(629); + try { dbg.enterDecision(629, decisionCanBacktrack[629]); - int LA626_0 = input.LA(1); - if ( (LA626_0==COMMENT||LA626_0==NL||LA626_0==WS) ) { - alt626=1; + int LA629_0 = input.LA(1); + if ( (LA629_0==COMMENT||LA629_0==NL||LA629_0==WS) ) { + alt629=1; } - } finally {dbg.exitDecision(626);} + } finally {dbg.exitDecision(629);} - switch (alt626) { + switch (alt629) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:29: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:29: ws { - dbg.location(1233,29); - pushFollow(FOLLOW_ws_in_synpred53_Css38715); + dbg.location(1238,29); + pushFollow(FOLLOW_ws_in_synpred59_Css38775); ws(); state._fsp--; if (state.failed) return; @@ -40588,28 +40855,28 @@ public final void synpred53_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(626);} - dbg.location(1233,33); - match(input,SOLIDUS,FOLLOW_SOLIDUS_in_synpred53_Css38718); if (state.failed) return;dbg.location(1233,41); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:41: ( ws )? - int alt627=2; - try { dbg.enterSubRule(627); - try { dbg.enterDecision(627, decisionCanBacktrack[627]); + } finally {dbg.exitSubRule(629);} + dbg.location(1238,33); + match(input,SOLIDUS,FOLLOW_SOLIDUS_in_synpred59_Css38778); if (state.failed) return;dbg.location(1238,41); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:41: ( ws )? + int alt630=2; + try { dbg.enterSubRule(630); + try { dbg.enterDecision(630, decisionCanBacktrack[630]); - int LA627_0 = input.LA(1); - if ( (LA627_0==COMMENT||LA627_0==NL||LA627_0==WS) ) { - alt627=1; + int LA630_0 = input.LA(1); + if ( (LA630_0==COMMENT||LA630_0==NL||LA630_0==WS) ) { + alt630=1; } - } finally {dbg.exitDecision(627);} + } finally {dbg.exitDecision(630);} - switch (alt627) { + switch (alt630) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:41: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:41: ws { - dbg.location(1233,41); - pushFollow(FOLLOW_ws_in_synpred53_Css38720); + dbg.location(1238,41); + pushFollow(FOLLOW_ws_in_synpred59_Css38780); ws(); state._fsp--; if (state.failed) return; @@ -40617,7 +40884,7 @@ public final void synpred53_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(627);} + } finally {dbg.exitSubRule(630);} } @@ -40626,50 +40893,50 @@ public final void synpred53_Css3_fragment() throws RecognitionException { case 3 : dbg.enterAlt(3); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1233:61: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:61: { } break; } - } finally {dbg.exitSubRule(628);} - dbg.location(1233,63); - pushFollow(FOLLOW_term_in_synpred53_Css38729); + } finally {dbg.exitSubRule(631);} + dbg.location(1238,63); + pushFollow(FOLLOW_term_in_synpred59_Css38789); term(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred53_Css3 + // $ANTLR end synpred59_Css3 - // $ANTLR start synpred55_Css3 - public final void synpred55_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:6: ( ( ws )? COMMA ( ws )? cp_expression ) + // $ANTLR start synpred61_Css3 + public final void synpred61_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:6: ( ( ws )? COMMA ( ws )? cp_expression ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:7: ( ws )? COMMA ( ws )? cp_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:7: ( ws )? COMMA ( ws )? cp_expression { - dbg.location(1268,7); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:7: ( ws )? - int alt629=2; - try { dbg.enterSubRule(629); - try { dbg.enterDecision(629, decisionCanBacktrack[629]); + dbg.location(1273,7); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:7: ( ws )? + int alt632=2; + try { dbg.enterSubRule(632); + try { dbg.enterDecision(632, decisionCanBacktrack[632]); - int LA629_0 = input.LA(1); - if ( (LA629_0==COMMENT||LA629_0==NL||LA629_0==WS) ) { - alt629=1; + int LA632_0 = input.LA(1); + if ( (LA632_0==COMMENT||LA632_0==NL||LA632_0==WS) ) { + alt632=1; } - } finally {dbg.exitDecision(629);} + } finally {dbg.exitDecision(632);} - switch (alt629) { + switch (alt632) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:7: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:7: ws { - dbg.location(1268,7); - pushFollow(FOLLOW_ws_in_synpred55_Css39185); + dbg.location(1273,7); + pushFollow(FOLLOW_ws_in_synpred61_Css39245); ws(); state._fsp--; if (state.failed) return; @@ -40677,28 +40944,28 @@ public final void synpred55_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(629);} - dbg.location(1268,11); - match(input,COMMA,FOLLOW_COMMA_in_synpred55_Css39188); if (state.failed) return;dbg.location(1268,17); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:17: ( ws )? - int alt630=2; - try { dbg.enterSubRule(630); - try { dbg.enterDecision(630, decisionCanBacktrack[630]); + } finally {dbg.exitSubRule(632);} + dbg.location(1273,11); + match(input,COMMA,FOLLOW_COMMA_in_synpred61_Css39248); if (state.failed) return;dbg.location(1273,17); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:17: ( ws )? + int alt633=2; + try { dbg.enterSubRule(633); + try { dbg.enterDecision(633, decisionCanBacktrack[633]); - int LA630_0 = input.LA(1); - if ( (LA630_0==COMMENT||LA630_0==NL||LA630_0==WS) ) { - alt630=1; + int LA633_0 = input.LA(1); + if ( (LA633_0==COMMENT||LA633_0==NL||LA633_0==WS) ) { + alt633=1; } - } finally {dbg.exitDecision(630);} + } finally {dbg.exitDecision(633);} - switch (alt630) { + switch (alt633) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1268:17: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:17: ws { - dbg.location(1268,17); - pushFollow(FOLLOW_ws_in_synpred55_Css39190); + dbg.location(1273,17); + pushFollow(FOLLOW_ws_in_synpred61_Css39250); ws(); state._fsp--; if (state.failed) return; @@ -40706,61 +40973,61 @@ public final void synpred55_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(630);} - dbg.location(1268,21); - pushFollow(FOLLOW_cp_expression_in_synpred55_Css39193); + } finally {dbg.exitSubRule(633);} + dbg.location(1273,21); + pushFollow(FOLLOW_cp_expression_in_synpred61_Css39253); cp_expression(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred55_Css3 + // $ANTLR end synpred61_Css3 - // $ANTLR start synpred56_Css3 - public final void synpred56_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:7: ( cp_expression_atom ) + // $ANTLR start synpred62_Css3 + public final void synpred62_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:7: ( cp_expression_atom ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1284:8: cp_expression_atom + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:8: cp_expression_atom { - dbg.location(1284,8); - pushFollow(FOLLOW_cp_expression_atom_in_synpred56_Css39260); + dbg.location(1289,8); + pushFollow(FOLLOW_cp_expression_atom_in_synpred62_Css39320); cp_expression_atom(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred56_Css3 + // $ANTLR end synpred62_Css3 - // $ANTLR start synpred57_Css3 - public final void synpred57_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:9: ( ( ws )? cp_expression_operator ) + // $ANTLR start synpred63_Css3 + public final void synpred63_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:9: ( ( ws )? cp_expression_operator ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:10: ( ws )? cp_expression_operator + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:10: ( ws )? cp_expression_operator { - dbg.location(1286,10); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:10: ( ws )? - int alt631=2; - try { dbg.enterSubRule(631); - try { dbg.enterDecision(631, decisionCanBacktrack[631]); + dbg.location(1291,10); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:10: ( ws )? + int alt634=2; + try { dbg.enterSubRule(634); + try { dbg.enterDecision(634, decisionCanBacktrack[634]); - int LA631_0 = input.LA(1); - if ( (LA631_0==COMMENT||LA631_0==NL||LA631_0==WS) ) { - alt631=1; + int LA634_0 = input.LA(1); + if ( (LA634_0==COMMENT||LA634_0==NL||LA634_0==WS) ) { + alt634=1; } - } finally {dbg.exitDecision(631);} + } finally {dbg.exitDecision(634);} - switch (alt631) { + switch (alt634) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1286:10: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:10: ws { - dbg.location(1286,10); - pushFollow(FOLLOW_ws_in_synpred57_Css39283); + dbg.location(1291,10); + pushFollow(FOLLOW_ws_in_synpred63_Css39343); ws(); state._fsp--; if (state.failed) return; @@ -40768,44 +41035,44 @@ public final void synpred57_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(631);} - dbg.location(1286,14); - pushFollow(FOLLOW_cp_expression_operator_in_synpred57_Css39286); + } finally {dbg.exitSubRule(634);} + dbg.location(1291,14); + pushFollow(FOLLOW_cp_expression_operator_in_synpred63_Css39346); cp_expression_operator(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred57_Css3 + // $ANTLR end synpred63_Css3 - // $ANTLR start synpred58_Css3 - public final void synpred58_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:11: ( ( ws )? cp_expression_atom ) + // $ANTLR start synpred64_Css3 + public final void synpred64_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:11: ( ( ws )? cp_expression_atom ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:12: ( ws )? cp_expression_atom + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:12: ( ws )? cp_expression_atom { - dbg.location(1287,12); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:12: ( ws )? - int alt632=2; - try { dbg.enterSubRule(632); - try { dbg.enterDecision(632, decisionCanBacktrack[632]); + dbg.location(1292,12); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:12: ( ws )? + int alt635=2; + try { dbg.enterSubRule(635); + try { dbg.enterDecision(635, decisionCanBacktrack[635]); - int LA632_0 = input.LA(1); - if ( (LA632_0==COMMENT||LA632_0==NL||LA632_0==WS) ) { - alt632=1; + int LA635_0 = input.LA(1); + if ( (LA635_0==COMMENT||LA635_0==NL||LA635_0==WS) ) { + alt635=1; } - } finally {dbg.exitDecision(632);} + } finally {dbg.exitDecision(635);} - switch (alt632) { + switch (alt635) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:12: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:12: ws { - dbg.location(1287,12); - pushFollow(FOLLOW_ws_in_synpred58_Css39312); + dbg.location(1292,12); + pushFollow(FOLLOW_ws_in_synpred64_Css39372); ws(); state._fsp--; if (state.failed) return; @@ -40813,61 +41080,61 @@ public final void synpred58_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(632);} - dbg.location(1287,16); - pushFollow(FOLLOW_cp_expression_atom_in_synpred58_Css39315); + } finally {dbg.exitSubRule(635);} + dbg.location(1292,16); + pushFollow(FOLLOW_cp_expression_atom_in_synpred64_Css39375); cp_expression_atom(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred58_Css3 + // $ANTLR end synpred64_Css3 - // $ANTLR start synpred59_Css3 - public final void synpred59_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:13: ( cp_math_expression ) + // $ANTLR start synpred65_Css3 + public final void synpred65_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:13: ( cp_math_expression ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1301:14: cp_math_expression + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:14: cp_math_expression { - dbg.location(1301,14); - pushFollow(FOLLOW_cp_math_expression_in_synpred59_Css39455); + dbg.location(1306,14); + pushFollow(FOLLOW_cp_math_expression_in_synpred65_Css39515); cp_math_expression(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred59_Css3 + // $ANTLR end synpred65_Css3 - // $ANTLR start synpred60_Css3 - public final void synpred60_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ) + // $ANTLR start synpred66_Css3 + public final void synpred66_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:13: ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:14: ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:14: ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) { - dbg.location(1328,14); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:14: ( ws )? - int alt633=2; - try { dbg.enterSubRule(633); - try { dbg.enterDecision(633, decisionCanBacktrack[633]); + dbg.location(1333,14); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:14: ( ws )? + int alt636=2; + try { dbg.enterSubRule(636); + try { dbg.enterDecision(636, decisionCanBacktrack[636]); - int LA633_0 = input.LA(1); - if ( (LA633_0==COMMENT||LA633_0==NL||LA633_0==WS) ) { - alt633=1; + int LA636_0 = input.LA(1); + if ( (LA636_0==COMMENT||LA636_0==NL||LA636_0==WS) ) { + alt636=1; } - } finally {dbg.exitDecision(633);} + } finally {dbg.exitDecision(636);} - switch (alt633) { + switch (alt636) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1328:14: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:14: ws { - dbg.location(1328,14); - pushFollow(FOLLOW_ws_in_synpred60_Css39588); + dbg.location(1333,14); + pushFollow(FOLLOW_ws_in_synpred66_Css39648); ws(); state._fsp--; if (state.failed) return; @@ -40875,8 +41142,8 @@ public final void synpred60_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(633);} - dbg.location(1328,18); + } finally {dbg.exitSubRule(636);} + dbg.location(1333,18); if ( input.LA(1)==MINUS||input.LA(1)==PLUS||(input.LA(1) >= SOLIDUS && input.LA(1) <= STAR) ) { input.consume(); state.errorRecovery=false; @@ -40891,35 +41158,35 @@ public final void synpred60_Css3_fragment() throws RecognitionException { } } - // $ANTLR end synpred60_Css3 + // $ANTLR end synpred66_Css3 - // $ANTLR start synpred61_Css3 - public final void synpred61_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:77: ( ( ws )? combinator ( ws )? ) + // $ANTLR start synpred67_Css3 + public final void synpred67_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:77: ( ( ws )? combinator ( ws )? ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:78: ( ws )? combinator ( ws )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:78: ( ws )? combinator ( ws )? { - dbg.location(1360,78); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:78: ( ws )? - int alt634=2; - try { dbg.enterSubRule(634); - try { dbg.enterDecision(634, decisionCanBacktrack[634]); + dbg.location(1365,78); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:78: ( ws )? + int alt637=2; + try { dbg.enterSubRule(637); + try { dbg.enterDecision(637, decisionCanBacktrack[637]); - int LA634_0 = input.LA(1); - if ( (LA634_0==COMMENT||LA634_0==NL||LA634_0==WS) ) { - alt634=1; + int LA637_0 = input.LA(1); + if ( (LA637_0==COMMENT||LA637_0==NL||LA637_0==WS) ) { + alt637=1; } - } finally {dbg.exitDecision(634);} + } finally {dbg.exitDecision(637);} - switch (alt634) { + switch (alt637) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:78: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:78: ws { - dbg.location(1360,78); - pushFollow(FOLLOW_ws_in_synpred61_Css39880); + dbg.location(1365,78); + pushFollow(FOLLOW_ws_in_synpred67_Css39940); ws(); state._fsp--; if (state.failed) return; @@ -40927,31 +41194,31 @@ public final void synpred61_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(634);} - dbg.location(1360,82); - pushFollow(FOLLOW_combinator_in_synpred61_Css39883); + } finally {dbg.exitSubRule(637);} + dbg.location(1365,82); + pushFollow(FOLLOW_combinator_in_synpred67_Css39943); combinator(); state._fsp--; - if (state.failed) return;dbg.location(1360,93); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:93: ( ws )? - int alt635=2; - try { dbg.enterSubRule(635); - try { dbg.enterDecision(635, decisionCanBacktrack[635]); + if (state.failed) return;dbg.location(1365,93); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:93: ( ws )? + int alt638=2; + try { dbg.enterSubRule(638); + try { dbg.enterDecision(638, decisionCanBacktrack[638]); - int LA635_0 = input.LA(1); - if ( (LA635_0==COMMENT||LA635_0==NL||LA635_0==WS) ) { - alt635=1; + int LA638_0 = input.LA(1); + if ( (LA638_0==COMMENT||LA638_0==NL||LA638_0==WS) ) { + alt638=1; } - } finally {dbg.exitDecision(635);} + } finally {dbg.exitDecision(638);} - switch (alt635) { + switch (alt638) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:93: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:93: ws { - dbg.location(1360,93); - pushFollow(FOLLOW_ws_in_synpred61_Css39885); + dbg.location(1365,93); + pushFollow(FOLLOW_ws_in_synpred67_Css39945); ws(); state._fsp--; if (state.failed) return; @@ -40959,57 +41226,57 @@ public final void synpred61_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(635);} + } finally {dbg.exitSubRule(638);} } } - // $ANTLR end synpred61_Css3 + // $ANTLR end synpred67_Css3 - // $ANTLR start synpred62_Css3 - public final void synpred62_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:172: ( pseudo ) + // $ANTLR start synpred68_Css3 + public final void synpred68_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:172: ( pseudo ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:173: pseudo + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:173: pseudo { - dbg.location(1360,173); - pushFollow(FOLLOW_pseudo_in_synpred62_Css39921); + dbg.location(1365,173); + pushFollow(FOLLOW_pseudo_in_synpred68_Css39981); pseudo(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred62_Css3 + // $ANTLR end synpred68_Css3 - // $ANTLR start synpred63_Css3 - public final void synpred63_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:191: ( ( ws )? LPAREN ) + // $ANTLR start synpred69_Css3 + public final void synpred69_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:191: ( ( ws )? LPAREN ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:192: ( ws )? LPAREN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:192: ( ws )? LPAREN { - dbg.location(1360,192); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:192: ( ws )? - int alt636=2; - try { dbg.enterSubRule(636); - try { dbg.enterDecision(636, decisionCanBacktrack[636]); + dbg.location(1365,192); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:192: ( ws )? + int alt639=2; + try { dbg.enterSubRule(639); + try { dbg.enterDecision(639, decisionCanBacktrack[639]); - int LA636_0 = input.LA(1); - if ( (LA636_0==COMMENT||LA636_0==NL||LA636_0==WS) ) { - alt636=1; + int LA639_0 = input.LA(1); + if ( (LA639_0==COMMENT||LA639_0==NL||LA639_0==WS) ) { + alt639=1; } - } finally {dbg.exitDecision(636);} + } finally {dbg.exitDecision(639);} - switch (alt636) { + switch (alt639) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1360:192: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:192: ws { - dbg.location(1360,192); - pushFollow(FOLLOW_ws_in_synpred63_Css39929); + dbg.location(1365,192); + pushFollow(FOLLOW_ws_in_synpred69_Css39989); ws(); state._fsp--; if (state.failed) return; @@ -41017,58 +41284,58 @@ public final void synpred63_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(636);} - dbg.location(1360,196); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred63_Css39932); if (state.failed) return; + } finally {dbg.exitSubRule(639);} + dbg.location(1365,196); + match(input,LPAREN,FOLLOW_LPAREN_in_synpred69_Css39992); if (state.failed) return; } } - // $ANTLR end synpred63_Css3 + // $ANTLR end synpred69_Css3 - // $ANTLR start synpred64_Css3 - public final void synpred64_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1369:25: ( webkitKeyframeSelectors ) + // $ANTLR start synpred70_Css3 + public final void synpred70_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:25: ( webkitKeyframeSelectors ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1369:26: webkitKeyframeSelectors + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:26: webkitKeyframeSelectors { - dbg.location(1369,26); - pushFollow(FOLLOW_webkitKeyframeSelectors_in_synpred64_Css310048); + dbg.location(1374,26); + pushFollow(FOLLOW_webkitKeyframeSelectors_in_synpred70_Css310108); webkitKeyframeSelectors(); state._fsp--; if (state.failed) return; } } - // $ANTLR end synpred64_Css3 + // $ANTLR end synpred70_Css3 - // $ANTLR start synpred65_Css3 - public final void synpred65_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:19: ( ( ws )? COMMA ) + // $ANTLR start synpred71_Css3 + public final void synpred71_Css3_fragment() throws RecognitionException { + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:19: ( ( ws )? COMMA ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:20: ( ws )? COMMA + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:20: ( ws )? COMMA { - dbg.location(1547,20); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:20: ( ws )? - int alt637=2; - try { dbg.enterSubRule(637); - try { dbg.enterDecision(637, decisionCanBacktrack[637]); + dbg.location(1552,20); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:20: ( ws )? + int alt640=2; + try { dbg.enterSubRule(640); + try { dbg.enterDecision(640, decisionCanBacktrack[640]); - int LA637_0 = input.LA(1); - if ( (LA637_0==COMMENT||LA637_0==NL||LA637_0==WS) ) { - alt637=1; + int LA640_0 = input.LA(1); + if ( (LA640_0==COMMENT||LA640_0==NL||LA640_0==WS) ) { + alt640=1; } - } finally {dbg.exitDecision(637);} + } finally {dbg.exitDecision(640);} - switch (alt637) { + switch (alt640) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:20: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:20: ws { - dbg.location(1547,20); - pushFollow(FOLLOW_ws_in_synpred65_Css311293); + dbg.location(1552,20); + pushFollow(FOLLOW_ws_in_synpred71_Css311353); ws(); state._fsp--; if (state.failed) return; @@ -41076,13 +41343,13 @@ public final void synpred65_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(637);} - dbg.location(1547,24); - match(input,COMMA,FOLLOW_COMMA_in_synpred65_Css311296); if (state.failed) return; + } finally {dbg.exitSubRule(640);} + dbg.location(1552,24); + match(input,COMMA,FOLLOW_COMMA_in_synpred71_Css311356); if (state.failed) return; } } - // $ANTLR end synpred65_Css3 + // $ANTLR end synpred71_Css3 // Delegated rules @@ -41150,6 +41417,22 @@ public final boolean synpred22_Css3() { state.failed=false; return success; } + public final boolean synpred67_Css3() { + state.backtracking++; + dbg.beginBacktrack(state.backtracking); + int start = input.mark(); + try { + synpred67_Css3_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + dbg.endBacktrack(state.backtracking, success); + state.backtracking--; + state.failed=false; + return success; + } public final boolean synpred9_Css3() { state.backtracking++; dbg.beginBacktrack(state.backtracking); @@ -41278,6 +41561,22 @@ public final boolean synpred23_Css3() { state.failed=false; return success; } + public final boolean synpred68_Css3() { + state.backtracking++; + dbg.beginBacktrack(state.backtracking); + int start = input.mark(); + try { + synpred68_Css3_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + dbg.endBacktrack(state.backtracking, success); + state.backtracking--; + state.failed=false; + return success; + } public final boolean synpred31_Css3() { state.backtracking++; dbg.beginBacktrack(state.backtracking); @@ -41294,6 +41593,22 @@ public final boolean synpred31_Css3() { state.failed=false; return success; } + public final boolean synpred54_Css3() { + state.backtracking++; + dbg.beginBacktrack(state.backtracking); + int start = input.mark(); + try { + synpred54_Css3_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + dbg.endBacktrack(state.backtracking, success); + state.backtracking--; + state.failed=false; + return success; + } public final boolean synpred15_Css3() { state.backtracking++; dbg.beginBacktrack(state.backtracking); @@ -41310,6 +41625,22 @@ public final boolean synpred15_Css3() { state.failed=false; return success; } + public final boolean synpred70_Css3() { + state.backtracking++; + dbg.beginBacktrack(state.backtracking); + int start = input.mark(); + try { + synpred70_Css3_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + dbg.endBacktrack(state.backtracking, success); + state.backtracking--; + state.failed=false; + return success; + } public final boolean synpred32_Css3() { state.backtracking++; dbg.beginBacktrack(state.backtracking); @@ -41902,6 +42233,54 @@ public final boolean synpred5_Css3() { state.failed=false; return success; } + public final boolean synpred71_Css3() { + state.backtracking++; + dbg.beginBacktrack(state.backtracking); + int start = input.mark(); + try { + synpred71_Css3_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + dbg.endBacktrack(state.backtracking, success); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred66_Css3() { + state.backtracking++; + dbg.beginBacktrack(state.backtracking); + int start = input.mark(); + try { + synpred66_Css3_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + dbg.endBacktrack(state.backtracking, success); + state.backtracking--; + state.failed=false; + return success; + } + public final boolean synpred69_Css3() { + state.backtracking++; + dbg.beginBacktrack(state.backtracking); + int start = input.mark(); + try { + synpred69_Css3_fragment(); // can never throw exception + } catch (RecognitionException re) { + System.err.println("impossible: "+re); + } + boolean success = !state.failed; + input.rewind(start); + dbg.endBacktrack(state.backtracking, success); + state.backtracking--; + state.failed=false; + return success; + } public final boolean synpred41_Css3() { state.backtracking++; dbg.beginBacktrack(state.backtracking); @@ -42062,22 +42441,6 @@ public final boolean synpred25_Css3() { state.failed=false; return success; } - public final boolean synpred60_Css3() { - state.backtracking++; - dbg.beginBacktrack(state.backtracking); - int start = input.mark(); - try { - synpred60_Css3_fragment(); // can never throw exception - } catch (RecognitionException re) { - System.err.println("impossible: "+re); - } - boolean success = !state.failed; - input.rewind(start); - dbg.endBacktrack(state.backtracking, success); - state.backtracking--; - state.failed=false; - return success; - } public final boolean synpred52_Css3() { state.backtracking++; dbg.beginBacktrack(state.backtracking); @@ -42168,37 +42531,37 @@ public final boolean synpred28_Css3() { protected DFA313 dfa313 = new DFA313(this); protected DFA336 dfa336 = new DFA336(this); protected DFA359 dfa359 = new DFA359(this); - protected DFA372 dfa372 = new DFA372(this); - protected DFA371 dfa371 = new DFA371(this); - protected DFA386 dfa386 = new DFA386(this); - protected DFA396 dfa396 = new DFA396(this); - protected DFA395 dfa395 = new DFA395(this); - protected DFA405 dfa405 = new DFA405(this); - protected DFA411 dfa411 = new DFA411(this); - protected DFA417 dfa417 = new DFA417(this); - protected DFA431 dfa431 = new DFA431(this); - protected DFA436 dfa436 = new DFA436(this); - protected DFA443 dfa443 = new DFA443(this); - protected DFA447 dfa447 = new DFA447(this); - protected DFA462 dfa462 = new DFA462(this); + protected DFA374 dfa374 = new DFA374(this); + protected DFA373 dfa373 = new DFA373(this); + protected DFA388 dfa388 = new DFA388(this); + protected DFA398 dfa398 = new DFA398(this); + protected DFA397 dfa397 = new DFA397(this); + protected DFA407 dfa407 = new DFA407(this); + protected DFA413 dfa413 = new DFA413(this); + protected DFA419 dfa419 = new DFA419(this); + protected DFA433 dfa433 = new DFA433(this); + protected DFA438 dfa438 = new DFA438(this); + protected DFA445 dfa445 = new DFA445(this); + protected DFA449 dfa449 = new DFA449(this); protected DFA464 dfa464 = new DFA464(this); - protected DFA477 dfa477 = new DFA477(this); - protected DFA480 dfa480 = new DFA480(this); - protected DFA496 dfa496 = new DFA496(this); - protected DFA525 dfa525 = new DFA525(this); - protected DFA526 dfa526 = new DFA526(this); - protected DFA532 dfa532 = new DFA532(this); - protected DFA540 dfa540 = new DFA540(this); - protected DFA539 dfa539 = new DFA539(this); - protected DFA543 dfa543 = new DFA543(this); - protected DFA548 dfa548 = new DFA548(this); - protected DFA568 dfa568 = new DFA568(this); - protected DFA575 dfa575 = new DFA575(this); + protected DFA466 dfa466 = new DFA466(this); + protected DFA479 dfa479 = new DFA479(this); + protected DFA482 dfa482 = new DFA482(this); + protected DFA498 dfa498 = new DFA498(this); + protected DFA527 dfa527 = new DFA527(this); + protected DFA528 dfa528 = new DFA528(this); + protected DFA534 dfa534 = new DFA534(this); + protected DFA542 dfa542 = new DFA542(this); + protected DFA541 dfa541 = new DFA541(this); + protected DFA545 dfa545 = new DFA545(this); + protected DFA550 dfa550 = new DFA550(this); protected DFA570 dfa570 = new DFA570(this); - protected DFA612 dfa612 = new DFA612(this); - protected DFA607 dfa607 = new DFA607(this); - protected DFA623 dfa623 = new DFA623(this); - protected DFA628 dfa628 = new DFA628(this); + protected DFA577 dfa577 = new DFA577(this); + protected DFA572 dfa572 = new DFA572(this); + protected DFA615 dfa615 = new DFA615(this); + protected DFA610 dfa610 = new DFA610(this); + protected DFA626 dfa626 = new DFA626(this); + protected DFA631 dfa631 = new DFA631(this); static final String DFA3_eotS = "\5\uffff"; static final String DFA3_eofS = @@ -42542,7 +42905,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index44_3); if ( s>=0 ) return s; break; - case 1 : int LA44_5 = input.LA(1); @@ -43417,7 +43779,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index81_2); if ( s>=0 ) return s; break; - case 1 : int LA81_4 = input.LA(1); @@ -43656,7 +44017,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index93_1); if ( s>=0 ) return s; break; - case 1 : int LA93_0 = input.LA(1); @@ -43820,7 +44180,6 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc input.seek(index115_2); if ( s>=0 ) return s; break; - case 1 : int LA115_4 = input.LA(1); @@ -44476,7 +44835,7 @@ public DFA224(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "()* loopback of 754:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*"; + return "()* loopback of 751:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -44551,7 +44910,7 @@ public DFA236(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "()* loopback of 765:13: ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )*"; + return "()* loopback of 762:13: ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -44613,7 +44972,7 @@ public DFA235(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "765:62: ( propertyDeclaration | margin )"; + return "762:62: ( propertyDeclaration | margin )"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -44681,7 +45040,7 @@ public DFA255(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "()* loopback of 845:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*"; + return "()* loopback of 842:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -44748,7 +45107,7 @@ public DFA257(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "856:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )?"; + return "853:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )?"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -44764,20 +45123,19 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int index257_2 = input.index(); input.rewind(); s = -1; - if ( (synpred32_Css3()) ) {s = 5;} + if ( (synpred38_Css3()) ) {s = 5;} else if ( (true) ) {s = 3;} input.seek(index257_2); if ( s>=0 ) return s; break; - case 1 : int LA257_4 = input.LA(1); int index257_4 = input.index(); input.rewind(); s = -1; - if ( (synpred32_Css3()) ) {s = 5;} + if ( (synpred38_Css3()) ) {s = 5;} else if ( (true) ) {s = 3;} input.seek(index257_4); @@ -44842,7 +45200,7 @@ public DFA262(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "()* loopback of 864:25: ( ( ws )? STRING )*"; + return "()* loopback of 861:25: ( ( ws )? STRING )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -44907,7 +45265,7 @@ public DFA267(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "864:110: ( ( ws )? prio )?"; + return "861:110: ( ( ws )? prio )?"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -44970,7 +45328,7 @@ public DFA273(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "869:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )"; + return "866:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup )"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45029,7 +45387,7 @@ public DFA268(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "870:27: ( ws selectorsGroup )?"; + return "867:27: ( ws selectorsGroup )?"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45102,7 +45460,7 @@ public DFA290(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "884:1: declarations : ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ );"; + return "881:1: declarations : ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ );"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45176,7 +45534,7 @@ public DFA283(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "()* loopback of 886:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )*"; + return "()* loopback of 883:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45238,7 +45596,7 @@ public DFA282(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "886:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )"; + return "883:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45296,7 +45654,7 @@ public DFA287(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "886:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?"; + return "883:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )?"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45359,7 +45717,7 @@ public DFA292(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "900:39: ( ( ws )? IMPORTANT_SYM )?"; + return "897:39: ( ( ws )? IMPORTANT_SYM )?"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45422,7 +45780,7 @@ public DFA294(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "901:57: ( ( ws )? IMPORTANT_SYM )?"; + return "898:57: ( ( ws )? IMPORTANT_SYM )?"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45487,7 +45845,7 @@ public DFA298(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "()* loopback of 919:18: ( ( ws )? COMMA ( ws )? selector )*"; + return "()* loopback of 916:18: ( ( ws )? COMMA ( ws )? selector )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45551,7 +45909,7 @@ public DFA306(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "922:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator );"; + return "919:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator );"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45611,7 +45969,7 @@ public DFA305(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "()* loopback of 923:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*"; + return "()* loopback of 920:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45670,7 +46028,7 @@ public DFA304(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "923:51: ( ( ( ws )? combinator ( ws )? ) | ws )"; + return "920:51: ( ( ( ws )? combinator ( ws )? ) | ws )"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45731,7 +46089,7 @@ public DFA310(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "935:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )"; + return "932:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) )"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45791,7 +46149,7 @@ public DFA313(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "936:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )"; + return "933:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp )"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45857,7 +46215,7 @@ public DFA336(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "1051:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?"; + return "1048:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )?"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45924,31 +46282,31 @@ public DFA359(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "1066:50: ( ( ws )? prio )?"; + return "1063:50: ( ( ws )? prio )?"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); } } - static final String DFA372_eotS = + static final String DFA374_eotS = "\100\uffff"; - static final String DFA372_eofS = + static final String DFA374_eofS = "\1\2\77\uffff"; - static final String DFA372_minS = + static final String DFA374_minS = "\1\5\1\0\4\uffff\1\0\1\uffff\6\0\1\uffff\3\0\1\uffff\3\0\2\uffff\20\0"+ "\1\uffff\2\0\2\uffff\1\0\1\uffff\1\0\20\uffff"; - static final String DFA372_maxS = + static final String DFA374_maxS = "\1\u009a\1\0\4\uffff\1\0\1\uffff\6\0\1\uffff\3\0\1\uffff\3\0\2\uffff\20"+ "\0\1\uffff\2\0\2\uffff\1\0\1\uffff\1\0\20\uffff"; - static final String DFA372_acceptS = + static final String DFA374_acceptS = "\2\uffff\1\2\53\uffff\1\1\1\uffff\14\1\1\uffff\3\1"; - static final String DFA372_specialS = + static final String DFA374_specialS = "\1\0\1\1\4\uffff\1\2\1\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\uffff\1\11\1\12"+ "\1\13\1\uffff\1\14\1\15\1\16\2\uffff\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+ "\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\uffff\1\37\1\40\2\uffff"+ "\1\41\1\uffff\1\42\20\uffff}>"; - static final String[] DFA372_transitionS = { + static final String[] DFA374_transitionS = { "\1\67\1\12\1\24\2\uffff\5\51\3\uffff\1\52\1\2\1\55\1\1\2\uffff\1\52\5"+ "\uffff\1\2\1\20\1\2\1\uffff\1\64\3\uffff\1\66\1\uffff\1\43\1\71\1\uffff"+ "\1\30\1\2\2\uffff\1\10\1\17\3\uffff\1\23\1\2\1\41\6\uffff\1\2\1\21\3"+ @@ -46023,38 +46381,38 @@ public void error(NoViableAltException nvae) { "" }; - static final short[] DFA372_eot = DFA.unpackEncodedString(DFA372_eotS); - static final short[] DFA372_eof = DFA.unpackEncodedString(DFA372_eofS); - static final char[] DFA372_min = DFA.unpackEncodedStringToUnsignedChars(DFA372_minS); - static final char[] DFA372_max = DFA.unpackEncodedStringToUnsignedChars(DFA372_maxS); - static final short[] DFA372_accept = DFA.unpackEncodedString(DFA372_acceptS); - static final short[] DFA372_special = DFA.unpackEncodedString(DFA372_specialS); - static final short[][] DFA372_transition; + static final short[] DFA374_eot = DFA.unpackEncodedString(DFA374_eotS); + static final short[] DFA374_eof = DFA.unpackEncodedString(DFA374_eofS); + static final char[] DFA374_min = DFA.unpackEncodedStringToUnsignedChars(DFA374_minS); + static final char[] DFA374_max = DFA.unpackEncodedStringToUnsignedChars(DFA374_maxS); + static final short[] DFA374_accept = DFA.unpackEncodedString(DFA374_acceptS); + static final short[] DFA374_special = DFA.unpackEncodedString(DFA374_specialS); + static final short[][] DFA374_transition; static { - int numStates = DFA372_transitionS.length; - DFA372_transition = new short[numStates][]; + int numStates = DFA374_transitionS.length; + DFA374_transition = new short[numStates][]; for (int i=0; i ( ws | ( ( ws )? operator ( ws )? ) |) term )*"; + return "()* loopback of 1152:12: ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -46065,530 +46423,496 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA372_0 = input.LA(1); + int LA374_0 = input.LA(1); - int index372_0 = input.index(); + int index374_0 = input.index(); input.rewind(); s = -1; - if ( (LA372_0==COMMENT||LA372_0==NL||LA372_0==WS) ) {s = 1;} - else if ( (LA372_0==EOF||LA372_0==COLON||LA372_0==DCOLON||LA372_0==DOT||LA372_0==GREATER||LA372_0==IMPORTANT_SYM||LA372_0==LBRACE||LA372_0==PIPE||LA372_0==RBRACE||LA372_0==RPAREN||LA372_0==SASS_EXTEND_ONLY_SELECTOR||LA372_0==SEMI||LA372_0==STAR||LA372_0==SUPPORTS_SYM) ) {s = 2;} - else if ( (LA372_0==LESS_AND) ) {s = 6;} - else if ( (LA372_0==HASH) ) {s = 8;} - else if ( (LA372_0==SASS_MIXIN) ) {s = 9;} - else if ( (LA372_0==AT_IDENT) ) {s = 10;} - else if ( (LA372_0==SASS_INCLUDE) ) {s = 11;} - else if ( (LA372_0==SASS_AT_ROOT) ) {s = 12;} - else if ( (LA372_0==PLUS) ) {s = 13;} - else if ( (LA372_0==HASH_SYMBOL) ) {s = 15;} - else if ( (LA372_0==DIMENSION) ) {s = 16;} - else if ( (LA372_0==LBRACKET) ) {s = 17;} - else if ( (LA372_0==IDENT) ) {s = 19;} - else if ( (LA372_0==AT_SIGN) ) {s = 20;} - else if ( (LA372_0==MINUS) ) {s = 21;} - else if ( (LA372_0==GEN) ) {s = 24;} - else if ( (LA372_0==VARIABLE) ) {s = 25;} - else if ( (LA372_0==SASS_DEBUG||LA372_0==SASS_WARN) ) {s = 26;} - else if ( (LA372_0==SASS_VAR) ) {s = 27;} - else if ( (LA372_0==SASS_IF) ) {s = 28;} - else if ( (LA372_0==SASS_FOR) ) {s = 29;} - else if ( (LA372_0==SASS_EACH) ) {s = 30;} - else if ( (LA372_0==SASS_WHILE) ) {s = 31;} - else if ( (LA372_0==SASS_CONTENT) ) {s = 32;} - else if ( (LA372_0==IMPORT_SYM) ) {s = 33;} - else if ( (LA372_0==PAGE_SYM) ) {s = 34;} - else if ( (LA372_0==FONT_FACE_SYM) ) {s = 35;} - else if ( (LA372_0==MOZ_DOCUMENT_SYM) ) {s = 36;} - else if ( (LA372_0==WEBKIT_KEYFRAMES_SYM) ) {s = 37;} - else if ( (LA372_0==MEDIA_SYM) ) {s = 38;} - else if ( (LA372_0==SASS_EXTEND) ) {s = 39;} - else if ( ((LA372_0 >= BOTTOMCENTER_SYM && LA372_0 <= BOTTOMRIGHT_SYM)||(LA372_0 >= LEFTBOTTOM_SYM && LA372_0 <= LEFTTOP_SYM)||(LA372_0 >= RIGHTBOTTOM_SYM && LA372_0 <= RIGHTTOP_SYM)||(LA372_0 >= TOPCENTER_SYM && LA372_0 <= TOPRIGHT_SYM)) ) {s = 41;} - else if ( (LA372_0==CHARSET_SYM||LA372_0==COUNTER_STYLE_SYM||LA372_0==NAMESPACE_SYM||LA372_0==SASS_ELSE||(LA372_0 >= SASS_FORWARD && LA372_0 <= SASS_FUNCTION)||(LA372_0 >= SASS_RETURN && LA372_0 <= SASS_USE)) ) {s = 42;} - else if ( (LA372_0==COMMA) ) {s = 45;} - else if ( (LA372_0==SOLIDUS) && (synpred49_Css3())) {s = 46;} - else if ( (LA372_0==TILDE) ) {s = 47;} - else if ( (LA372_0==NUMBER) && (synpred49_Css3())) {s = 48;} - else if ( (LA372_0==URANGE) && (synpred49_Css3())) {s = 49;} - else if ( (LA372_0==PERCENTAGE) && (synpred49_Css3())) {s = 50;} - else if ( (LA372_0==LENGTH) && (synpred49_Css3())) {s = 51;} - else if ( (LA372_0==EMS) && (synpred49_Css3())) {s = 52;} - else if ( (LA372_0==REM) && (synpred49_Css3())) {s = 53;} - else if ( (LA372_0==EXS) && (synpred49_Css3())) {s = 54;} - else if ( (LA372_0==ANGLE) && (synpred49_Css3())) {s = 55;} - else if ( (LA372_0==TIME) && (synpred49_Css3())) {s = 56;} - else if ( (LA372_0==FREQ) && (synpred49_Css3())) {s = 57;} - else if ( (LA372_0==RESOLUTION) && (synpred49_Css3())) {s = 58;} - else if ( (LA372_0==STRING) && (synpred49_Css3())) {s = 59;} - else if ( (LA372_0==LESS_JS_STRING) && (synpred49_Css3())) {s = 61;} - else if ( (LA372_0==URI) && (synpred49_Css3())) {s = 62;} - else if ( (LA372_0==PERCENTAGE_SYMBOL) && (synpred49_Css3())) {s = 63;} + if ( (LA374_0==COMMENT||LA374_0==NL||LA374_0==WS) ) {s = 1;} + else if ( (LA374_0==EOF||LA374_0==COLON||LA374_0==DCOLON||LA374_0==DOT||LA374_0==GREATER||LA374_0==IMPORTANT_SYM||LA374_0==LBRACE||LA374_0==PIPE||LA374_0==RBRACE||LA374_0==RPAREN||LA374_0==SASS_EXTEND_ONLY_SELECTOR||LA374_0==SEMI||LA374_0==STAR||LA374_0==SUPPORTS_SYM) ) {s = 2;} + else if ( (LA374_0==LESS_AND) ) {s = 6;} + else if ( (LA374_0==HASH) ) {s = 8;} + else if ( (LA374_0==SASS_MIXIN) ) {s = 9;} + else if ( (LA374_0==AT_IDENT) ) {s = 10;} + else if ( (LA374_0==SASS_INCLUDE) ) {s = 11;} + else if ( (LA374_0==SASS_AT_ROOT) ) {s = 12;} + else if ( (LA374_0==PLUS) ) {s = 13;} + else if ( (LA374_0==HASH_SYMBOL) ) {s = 15;} + else if ( (LA374_0==DIMENSION) ) {s = 16;} + else if ( (LA374_0==LBRACKET) ) {s = 17;} + else if ( (LA374_0==IDENT) ) {s = 19;} + else if ( (LA374_0==AT_SIGN) ) {s = 20;} + else if ( (LA374_0==MINUS) ) {s = 21;} + else if ( (LA374_0==GEN) ) {s = 24;} + else if ( (LA374_0==VARIABLE) ) {s = 25;} + else if ( (LA374_0==SASS_DEBUG||LA374_0==SASS_WARN) ) {s = 26;} + else if ( (LA374_0==SASS_VAR) ) {s = 27;} + else if ( (LA374_0==SASS_IF) ) {s = 28;} + else if ( (LA374_0==SASS_FOR) ) {s = 29;} + else if ( (LA374_0==SASS_EACH) ) {s = 30;} + else if ( (LA374_0==SASS_WHILE) ) {s = 31;} + else if ( (LA374_0==SASS_CONTENT) ) {s = 32;} + else if ( (LA374_0==IMPORT_SYM) ) {s = 33;} + else if ( (LA374_0==PAGE_SYM) ) {s = 34;} + else if ( (LA374_0==FONT_FACE_SYM) ) {s = 35;} + else if ( (LA374_0==MOZ_DOCUMENT_SYM) ) {s = 36;} + else if ( (LA374_0==WEBKIT_KEYFRAMES_SYM) ) {s = 37;} + else if ( (LA374_0==MEDIA_SYM) ) {s = 38;} + else if ( (LA374_0==SASS_EXTEND) ) {s = 39;} + else if ( ((LA374_0 >= BOTTOMCENTER_SYM && LA374_0 <= BOTTOMRIGHT_SYM)||(LA374_0 >= LEFTBOTTOM_SYM && LA374_0 <= LEFTTOP_SYM)||(LA374_0 >= RIGHTBOTTOM_SYM && LA374_0 <= RIGHTTOP_SYM)||(LA374_0 >= TOPCENTER_SYM && LA374_0 <= TOPRIGHT_SYM)) ) {s = 41;} + else if ( (LA374_0==CHARSET_SYM||LA374_0==COUNTER_STYLE_SYM||LA374_0==NAMESPACE_SYM||LA374_0==SASS_ELSE||(LA374_0 >= SASS_FORWARD && LA374_0 <= SASS_FUNCTION)||(LA374_0 >= SASS_RETURN && LA374_0 <= SASS_USE)) ) {s = 42;} + else if ( (LA374_0==COMMA) ) {s = 45;} + else if ( (LA374_0==SOLIDUS) && (synpred55_Css3())) {s = 46;} + else if ( (LA374_0==TILDE) ) {s = 47;} + else if ( (LA374_0==NUMBER) && (synpred55_Css3())) {s = 48;} + else if ( (LA374_0==URANGE) && (synpred55_Css3())) {s = 49;} + else if ( (LA374_0==PERCENTAGE) && (synpred55_Css3())) {s = 50;} + else if ( (LA374_0==LENGTH) && (synpred55_Css3())) {s = 51;} + else if ( (LA374_0==EMS) && (synpred55_Css3())) {s = 52;} + else if ( (LA374_0==REM) && (synpred55_Css3())) {s = 53;} + else if ( (LA374_0==EXS) && (synpred55_Css3())) {s = 54;} + else if ( (LA374_0==ANGLE) && (synpred55_Css3())) {s = 55;} + else if ( (LA374_0==TIME) && (synpred55_Css3())) {s = 56;} + else if ( (LA374_0==FREQ) && (synpred55_Css3())) {s = 57;} + else if ( (LA374_0==RESOLUTION) && (synpred55_Css3())) {s = 58;} + else if ( (LA374_0==STRING) && (synpred55_Css3())) {s = 59;} + else if ( (LA374_0==LESS_JS_STRING) && (synpred55_Css3())) {s = 61;} + else if ( (LA374_0==URI) && (synpred55_Css3())) {s = 62;} + else if ( (LA374_0==PERCENTAGE_SYMBOL) && (synpred55_Css3())) {s = 63;} - input.seek(index372_0); + input.seek(index374_0); if ( s>=0 ) return s; break; - case 1 : - int LA372_1 = input.LA(1); + int LA374_1 = input.LA(1); - int index372_1 = input.index(); + int index374_1 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_1); + input.seek(index374_1); if ( s>=0 ) return s; break; - case 2 : - int LA372_6 = input.LA(1); + int LA374_6 = input.LA(1); - int index372_6 = input.index(); + int index374_6 = input.index(); input.rewind(); s = -1; - if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred49_Css3())) ) {s = 63;} + if ( ((synpred55_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_6); + input.seek(index374_6); if ( s>=0 ) return s; break; - case 3 : - int LA372_8 = input.LA(1); + int LA374_8 = input.LA(1); - int index372_8 = input.index(); + int index374_8 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_8); + input.seek(index374_8); if ( s>=0 ) return s; break; - case 4 : - int LA372_9 = input.LA(1); + int LA374_9 = input.LA(1); - int index372_9 = input.index(); + int index374_9 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_9); + input.seek(index374_9); if ( s>=0 ) return s; break; - case 5 : - int LA372_10 = input.LA(1); + int LA374_10 = input.LA(1); - int index372_10 = input.index(); + int index374_10 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_10); + input.seek(index374_10); if ( s>=0 ) return s; break; - case 6 : - int LA372_11 = input.LA(1); + int LA374_11 = input.LA(1); - int index372_11 = input.index(); + int index374_11 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_11); + input.seek(index374_11); if ( s>=0 ) return s; break; - case 7 : - int LA372_12 = input.LA(1); + int LA374_12 = input.LA(1); - int index372_12 = input.index(); + int index374_12 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_12); + input.seek(index374_12); if ( s>=0 ) return s; break; - case 8 : - int LA372_13 = input.LA(1); + int LA374_13 = input.LA(1); - int index372_13 = input.index(); + int index374_13 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_13); + input.seek(index374_13); if ( s>=0 ) return s; break; - case 9 : - int LA372_15 = input.LA(1); + int LA374_15 = input.LA(1); - int index372_15 = input.index(); + int index374_15 = input.index(); input.rewind(); s = -1; - if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred49_Css3())) ) {s = 63;} + if ( ((synpred55_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_15); + input.seek(index374_15); if ( s>=0 ) return s; break; - case 10 : - int LA372_16 = input.LA(1); + int LA374_16 = input.LA(1); - int index372_16 = input.index(); + int index374_16 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")")) ) {s = 2;} - input.seek(index372_16); + input.seek(index374_16); if ( s>=0 ) return s; break; - case 11 : - int LA372_17 = input.LA(1); + int LA374_17 = input.LA(1); - int index372_17 = input.index(); + int index374_17 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_17); + input.seek(index374_17); if ( s>=0 ) return s; break; - case 12 : - int LA372_19 = input.LA(1); + int LA374_19 = input.LA(1); - int index372_19 = input.index(); + int index374_19 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_19); + input.seek(index374_19); if ( s>=0 ) return s; break; - case 13 : - int LA372_20 = input.LA(1); + int LA374_20 = input.LA(1); - int index372_20 = input.index(); + int index374_20 = input.index(); input.rewind(); s = -1; - if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred49_Css3())) ) {s = 63;} + if ( ((synpred55_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_20); + input.seek(index374_20); if ( s>=0 ) return s; break; - case 14 : - int LA372_21 = input.LA(1); + int LA374_21 = input.LA(1); - int index372_21 = input.index(); + int index374_21 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_21); + input.seek(index374_21); if ( s>=0 ) return s; break; - case 15 : - int LA372_24 = input.LA(1); + int LA374_24 = input.LA(1); - int index372_24 = input.index(); + int index374_24 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_24); + input.seek(index374_24); if ( s>=0 ) return s; break; - case 16 : - int LA372_25 = input.LA(1); + int LA374_25 = input.LA(1); - int index372_25 = input.index(); + int index374_25 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_25); + input.seek(index374_25); if ( s>=0 ) return s; break; - case 17 : - int LA372_26 = input.LA(1); + int LA374_26 = input.LA(1); - int index372_26 = input.index(); + int index374_26 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_26); + input.seek(index374_26); if ( s>=0 ) return s; break; - case 18 : - int LA372_27 = input.LA(1); + int LA374_27 = input.LA(1); - int index372_27 = input.index(); + int index374_27 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_27); + input.seek(index374_27); if ( s>=0 ) return s; break; - case 19 : - int LA372_28 = input.LA(1); + int LA374_28 = input.LA(1); - int index372_28 = input.index(); + int index374_28 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_28); + input.seek(index374_28); if ( s>=0 ) return s; break; - case 20 : - int LA372_29 = input.LA(1); + int LA374_29 = input.LA(1); - int index372_29 = input.index(); + int index374_29 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_29); + input.seek(index374_29); if ( s>=0 ) return s; break; - case 21 : - int LA372_30 = input.LA(1); + int LA374_30 = input.LA(1); - int index372_30 = input.index(); + int index374_30 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_30); + input.seek(index374_30); if ( s>=0 ) return s; break; - case 22 : - int LA372_31 = input.LA(1); + int LA374_31 = input.LA(1); - int index372_31 = input.index(); + int index374_31 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_31); + input.seek(index374_31); if ( s>=0 ) return s; break; - case 23 : - int LA372_32 = input.LA(1); + int LA374_32 = input.LA(1); - int index372_32 = input.index(); + int index374_32 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_32); + input.seek(index374_32); if ( s>=0 ) return s; break; - case 24 : - int LA372_33 = input.LA(1); + int LA374_33 = input.LA(1); - int index372_33 = input.index(); + int index374_33 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_33); + input.seek(index374_33); if ( s>=0 ) return s; break; - case 25 : - int LA372_34 = input.LA(1); + int LA374_34 = input.LA(1); - int index372_34 = input.index(); + int index374_34 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_34); + input.seek(index374_34); if ( s>=0 ) return s; break; - case 26 : - int LA372_35 = input.LA(1); + int LA374_35 = input.LA(1); - int index372_35 = input.index(); + int index374_35 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_35); + input.seek(index374_35); if ( s>=0 ) return s; break; - case 27 : - int LA372_36 = input.LA(1); + int LA374_36 = input.LA(1); - int index372_36 = input.index(); + int index374_36 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_36); + input.seek(index374_36); if ( s>=0 ) return s; break; - case 28 : - int LA372_37 = input.LA(1); + int LA374_37 = input.LA(1); - int index372_37 = input.index(); + int index374_37 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_37); + input.seek(index374_37); if ( s>=0 ) return s; break; - case 29 : - int LA372_38 = input.LA(1); + int LA374_38 = input.LA(1); - int index372_38 = input.index(); + int index374_38 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_38); + input.seek(index374_38); if ( s>=0 ) return s; break; - case 30 : - int LA372_39 = input.LA(1); + int LA374_39 = input.LA(1); - int index372_39 = input.index(); + int index374_39 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_39); + input.seek(index374_39); if ( s>=0 ) return s; break; - case 31 : - int LA372_41 = input.LA(1); + int LA374_41 = input.LA(1); - int index372_41 = input.index(); + int index374_41 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_41); + input.seek(index374_41); if ( s>=0 ) return s; break; - case 32 : - int LA372_42 = input.LA(1); + int LA374_42 = input.LA(1); - int index372_42 = input.index(); + int index374_42 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred49_Css3())) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_42); + input.seek(index374_42); if ( s>=0 ) return s; break; - case 33 : - int LA372_45 = input.LA(1); + int LA374_45 = input.LA(1); - int index372_45 = input.index(); + int index374_45 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_45); + input.seek(index374_45); if ( s>=0 ) return s; break; - case 34 : - int LA372_47 = input.LA(1); + int LA374_47 = input.LA(1); - int index372_47 = input.index(); + int index374_47 = input.index(); input.rewind(); s = -1; - if ( (synpred49_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 63;} else if ( (true) ) {s = 2;} - input.seek(index372_47); + input.seek(index374_47); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 372, _s, input); + new NoViableAltException(getDescription(), 374, _s, input); error(nvae); throw nvae; } } - static final String DFA371_eotS = + static final String DFA373_eotS = "\5\uffff"; - static final String DFA371_eofS = + static final String DFA373_eofS = "\5\uffff"; - static final String DFA371_minS = + static final String DFA373_minS = "\2\5\3\uffff"; - static final String DFA371_maxS = + static final String DFA373_maxS = "\2\u009a\3\uffff"; - static final String DFA371_acceptS = + static final String DFA373_acceptS = "\2\uffff\1\2\1\3\1\1"; - static final String DFA371_specialS = + static final String DFA373_specialS = "\5\uffff}>"; - static final String[] DFA371_transitionS = { + static final String[] DFA373_transitionS = { "\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\2\uffff\1\3\6\uffff\1\3"+ "\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff"+ "\1\3\1\uffff\1\3\7\uffff\5\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1"+ @@ -46606,114 +46930,114 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "" }; - static final short[] DFA371_eot = DFA.unpackEncodedString(DFA371_eotS); - static final short[] DFA371_eof = DFA.unpackEncodedString(DFA371_eofS); - static final char[] DFA371_min = DFA.unpackEncodedStringToUnsignedChars(DFA371_minS); - static final char[] DFA371_max = DFA.unpackEncodedStringToUnsignedChars(DFA371_maxS); - static final short[] DFA371_accept = DFA.unpackEncodedString(DFA371_acceptS); - static final short[] DFA371_special = DFA.unpackEncodedString(DFA371_specialS); - static final short[][] DFA371_transition; + static final short[] DFA373_eot = DFA.unpackEncodedString(DFA373_eotS); + static final short[] DFA373_eof = DFA.unpackEncodedString(DFA373_eofS); + static final char[] DFA373_min = DFA.unpackEncodedStringToUnsignedChars(DFA373_minS); + static final char[] DFA373_max = DFA.unpackEncodedStringToUnsignedChars(DFA373_maxS); + static final short[] DFA373_accept = DFA.unpackEncodedString(DFA373_acceptS); + static final short[] DFA373_special = DFA.unpackEncodedString(DFA373_specialS); + static final short[][] DFA373_transition; static { - int numStates = DFA371_transitionS.length; - DFA371_transition = new short[numStates][]; + int numStates = DFA373_transitionS.length; + DFA373_transition = new short[numStates][]; for (int i=0; i"; - static final String[] DFA396_transitionS = { + static final String DFA398_specialS = + "\1\1\1\0\45\uffff}>"; + static final String[] DFA398_transitionS = { "\1\17\1\32\1\36\2\uffff\5\32\3\uffff\1\32\1\uffff\1\2\1\1\2\uffff\1\32"+ "\6\uffff\1\23\2\uffff\1\14\3\uffff\1\16\1\uffff\1\32\1\21\1\uffff\1\27"+ "\3\uffff\1\31\1\35\3\uffff\1\5\1\uffff\1\32\7\uffff\1\7\3\32\1\13\1\uffff"+ @@ -46769,38 +47093,38 @@ public void error(NoViableAltException nvae) { "" }; - static final short[] DFA396_eot = DFA.unpackEncodedString(DFA396_eotS); - static final short[] DFA396_eof = DFA.unpackEncodedString(DFA396_eofS); - static final char[] DFA396_min = DFA.unpackEncodedStringToUnsignedChars(DFA396_minS); - static final char[] DFA396_max = DFA.unpackEncodedStringToUnsignedChars(DFA396_maxS); - static final short[] DFA396_accept = DFA.unpackEncodedString(DFA396_acceptS); - static final short[] DFA396_special = DFA.unpackEncodedString(DFA396_specialS); - static final short[][] DFA396_transition; + static final short[] DFA398_eot = DFA.unpackEncodedString(DFA398_eotS); + static final short[] DFA398_eof = DFA.unpackEncodedString(DFA398_eofS); + static final char[] DFA398_min = DFA.unpackEncodedStringToUnsignedChars(DFA398_minS); + static final char[] DFA398_max = DFA.unpackEncodedStringToUnsignedChars(DFA398_maxS); + static final short[] DFA398_accept = DFA.unpackEncodedString(DFA398_acceptS); + static final short[] DFA398_special = DFA.unpackEncodedString(DFA398_specialS); + static final short[][] DFA398_transition; static { - int numStates = DFA396_transitionS.length; - DFA396_transition = new short[numStates][]; + int numStates = DFA398_transitionS.length; + DFA398_transition = new short[numStates][]; for (int i=0; i ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*"; + return "()* loopback of 1238:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -46811,110 +47135,109 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA396_0 = input.LA(1); + int LA398_1 = input.LA(1); - int index396_0 = input.index(); + int index398_1 = input.index(); input.rewind(); s = -1; - if ( (LA396_0==COMMENT||LA396_0==NL||LA396_0==WS) ) {s = 1;} - else if ( (LA396_0==COMMA||LA396_0==RPAREN||LA396_0==SEMI) ) {s = 2;} - else if ( (LA396_0==SOLIDUS) && (synpred53_Css3())) {s = 3;} - else if ( (LA396_0==MINUS||LA396_0==PLUS) && (synpred53_Css3())) {s = 4;} - else if ( (LA396_0==IDENT) && (synpred53_Css3())) {s = 5;} - else if ( (LA396_0==VARIABLE) && (synpred53_Css3())) {s = 6;} - else if ( (LA396_0==LBRACKET) && (synpred53_Css3())) {s = 7;} - else if ( (LA396_0==NUMBER) && (synpred53_Css3())) {s = 8;} - else if ( (LA396_0==URANGE) && (synpred53_Css3())) {s = 9;} - else if ( (LA396_0==PERCENTAGE) && (synpred53_Css3())) {s = 10;} - else if ( (LA396_0==LENGTH) && (synpred53_Css3())) {s = 11;} - else if ( (LA396_0==EMS) && (synpred53_Css3())) {s = 12;} - else if ( (LA396_0==REM) && (synpred53_Css3())) {s = 13;} - else if ( (LA396_0==EXS) && (synpred53_Css3())) {s = 14;} - else if ( (LA396_0==ANGLE) && (synpred53_Css3())) {s = 15;} - else if ( (LA396_0==TIME) && (synpred53_Css3())) {s = 16;} - else if ( (LA396_0==FREQ) && (synpred53_Css3())) {s = 17;} - else if ( (LA396_0==RESOLUTION) && (synpred53_Css3())) {s = 18;} - else if ( (LA396_0==DIMENSION) && (synpred53_Css3())) {s = 19;} - else if ( (LA396_0==STRING) && (synpred53_Css3())) {s = 20;} - else if ( (LA396_0==TILDE) && (synpred53_Css3())) {s = 21;} - else if ( (LA396_0==LESS_JS_STRING) && (synpred53_Css3())) {s = 22;} - else if ( (LA396_0==GEN) && (synpred53_Css3())) {s = 23;} - else if ( (LA396_0==URI) && (synpred53_Css3())) {s = 24;} - else if ( (LA396_0==HASH) && (synpred53_Css3())) {s = 25;} - else if ( (LA396_0==AT_IDENT||(LA396_0 >= BOTTOMCENTER_SYM && LA396_0 <= BOTTOMRIGHT_SYM)||LA396_0==CHARSET_SYM||LA396_0==COUNTER_STYLE_SYM||LA396_0==FONT_FACE_SYM||LA396_0==IMPORT_SYM||(LA396_0 >= LEFTBOTTOM_SYM && LA396_0 <= LEFTTOP_SYM)||LA396_0==MEDIA_SYM||LA396_0==MOZ_DOCUMENT_SYM||LA396_0==NAMESPACE_SYM||LA396_0==PAGE_SYM||(LA396_0 >= RIGHTBOTTOM_SYM && LA396_0 <= RIGHTTOP_SYM)||(LA396_0 >= SASS_AT_ROOT && LA396_0 <= SASS_DEBUG)||(LA396_0 >= SASS_EACH && LA396_0 <= SASS_ELSE)||LA396_0==SASS_EXTEND||(LA396_0 >= SASS_FOR && LA396_0 <= SASS_FUNCTION)||(LA396_0 >= SASS_IF && LA396_0 <= SASS_MIXIN)||(LA396_0 >= SASS_RETURN && LA396_0 <= SASS_USE)||(LA396_0 >= SASS_WARN && LA396_0 <= SASS_WHILE)||(LA396_0 >= TOPCENTER_SYM && LA396_0 <= TOPRIGHT_SYM)||LA396_0==WEBKIT_KEYFRAMES_SYM) && (synpred53_Css3())) {s = 26;} - else if ( (LA396_0==SASS_VAR) && (synpred53_Css3())) {s = 27;} - else if ( (LA396_0==LESS_AND) && (synpred53_Css3())) {s = 28;} - else if ( (LA396_0==HASH_SYMBOL) && (synpred53_Css3())) {s = 29;} - else if ( (LA396_0==AT_SIGN) && (synpred53_Css3())) {s = 30;} - else if ( (LA396_0==PERCENTAGE_SYMBOL) && (synpred53_Css3())) {s = 31;} + if ( (LA398_1==COMMA||LA398_1==RPAREN||LA398_1==SEMI) ) {s = 2;} + else if ( (LA398_1==COMMENT||LA398_1==NL||LA398_1==WS) ) {s = 1;} + else if ( (LA398_1==MINUS||LA398_1==PLUS) && (synpred59_Css3())) {s = 4;} + else if ( (LA398_1==IDENT) && (synpred59_Css3())) {s = 32;} + else if ( (LA398_1==VARIABLE) && (synpred59_Css3())) {s = 6;} + else if ( (LA398_1==LBRACKET) && (synpred59_Css3())) {s = 7;} + else if ( (LA398_1==NUMBER) && (synpred59_Css3())) {s = 8;} + else if ( (LA398_1==URANGE) && (synpred59_Css3())) {s = 9;} + else if ( (LA398_1==PERCENTAGE) && (synpred59_Css3())) {s = 10;} + else if ( (LA398_1==LENGTH) && (synpred59_Css3())) {s = 11;} + else if ( (LA398_1==EMS) && (synpred59_Css3())) {s = 12;} + else if ( (LA398_1==REM) && (synpred59_Css3())) {s = 13;} + else if ( (LA398_1==EXS) && (synpred59_Css3())) {s = 14;} + else if ( (LA398_1==ANGLE) && (synpred59_Css3())) {s = 15;} + else if ( (LA398_1==TIME) && (synpred59_Css3())) {s = 16;} + else if ( (LA398_1==FREQ) && (synpred59_Css3())) {s = 17;} + else if ( (LA398_1==RESOLUTION) && (synpred59_Css3())) {s = 18;} + else if ( (LA398_1==DIMENSION) && (synpred59_Css3())) {s = 19;} + else if ( (LA398_1==STRING) && (synpred59_Css3())) {s = 20;} + else if ( (LA398_1==TILDE) && (synpred59_Css3())) {s = 21;} + else if ( (LA398_1==LESS_JS_STRING) && (synpred59_Css3())) {s = 22;} + else if ( (LA398_1==GEN) && (synpred59_Css3())) {s = 23;} + else if ( (LA398_1==URI) && (synpred59_Css3())) {s = 24;} + else if ( (LA398_1==HASH) && (synpred59_Css3())) {s = 25;} + else if ( (LA398_1==AT_IDENT||(LA398_1 >= BOTTOMCENTER_SYM && LA398_1 <= BOTTOMRIGHT_SYM)||LA398_1==CHARSET_SYM||LA398_1==COUNTER_STYLE_SYM||LA398_1==FONT_FACE_SYM||LA398_1==IMPORT_SYM||(LA398_1 >= LEFTBOTTOM_SYM && LA398_1 <= LEFTTOP_SYM)||LA398_1==MEDIA_SYM||LA398_1==MOZ_DOCUMENT_SYM||LA398_1==NAMESPACE_SYM||LA398_1==PAGE_SYM||(LA398_1 >= RIGHTBOTTOM_SYM && LA398_1 <= RIGHTTOP_SYM)||(LA398_1 >= SASS_AT_ROOT && LA398_1 <= SASS_DEBUG)||(LA398_1 >= SASS_EACH && LA398_1 <= SASS_ELSE)||LA398_1==SASS_EXTEND||(LA398_1 >= SASS_FOR && LA398_1 <= SASS_FUNCTION)||(LA398_1 >= SASS_IF && LA398_1 <= SASS_MIXIN)||(LA398_1 >= SASS_RETURN && LA398_1 <= SASS_USE)||(LA398_1 >= SASS_WARN && LA398_1 <= SASS_WHILE)||(LA398_1 >= TOPCENTER_SYM && LA398_1 <= TOPRIGHT_SYM)||LA398_1==WEBKIT_KEYFRAMES_SYM) && (synpred59_Css3())) {s = 33;} + else if ( (LA398_1==SASS_VAR) && (synpred59_Css3())) {s = 34;} + else if ( (LA398_1==LESS_AND) && (synpred59_Css3())) {s = 35;} + else if ( (LA398_1==HASH_SYMBOL) && (synpred59_Css3())) {s = 36;} + else if ( (LA398_1==AT_SIGN) && (synpred59_Css3())) {s = 37;} + else if ( (LA398_1==PERCENTAGE_SYMBOL) && (synpred59_Css3())) {s = 38;} + else if ( (LA398_1==SOLIDUS) && (synpred59_Css3())) {s = 3;} - input.seek(index396_0); + input.seek(index398_1); if ( s>=0 ) return s; break; - case 1 : - int LA396_1 = input.LA(1); + int LA398_0 = input.LA(1); - int index396_1 = input.index(); + int index398_0 = input.index(); input.rewind(); s = -1; - if ( (LA396_1==COMMA||LA396_1==RPAREN||LA396_1==SEMI) ) {s = 2;} - else if ( (LA396_1==COMMENT||LA396_1==NL||LA396_1==WS) ) {s = 1;} - else if ( (LA396_1==MINUS||LA396_1==PLUS) && (synpred53_Css3())) {s = 4;} - else if ( (LA396_1==IDENT) && (synpred53_Css3())) {s = 32;} - else if ( (LA396_1==VARIABLE) && (synpred53_Css3())) {s = 6;} - else if ( (LA396_1==LBRACKET) && (synpred53_Css3())) {s = 7;} - else if ( (LA396_1==NUMBER) && (synpred53_Css3())) {s = 8;} - else if ( (LA396_1==URANGE) && (synpred53_Css3())) {s = 9;} - else if ( (LA396_1==PERCENTAGE) && (synpred53_Css3())) {s = 10;} - else if ( (LA396_1==LENGTH) && (synpred53_Css3())) {s = 11;} - else if ( (LA396_1==EMS) && (synpred53_Css3())) {s = 12;} - else if ( (LA396_1==REM) && (synpred53_Css3())) {s = 13;} - else if ( (LA396_1==EXS) && (synpred53_Css3())) {s = 14;} - else if ( (LA396_1==ANGLE) && (synpred53_Css3())) {s = 15;} - else if ( (LA396_1==TIME) && (synpred53_Css3())) {s = 16;} - else if ( (LA396_1==FREQ) && (synpred53_Css3())) {s = 17;} - else if ( (LA396_1==RESOLUTION) && (synpred53_Css3())) {s = 18;} - else if ( (LA396_1==DIMENSION) && (synpred53_Css3())) {s = 19;} - else if ( (LA396_1==STRING) && (synpred53_Css3())) {s = 20;} - else if ( (LA396_1==TILDE) && (synpred53_Css3())) {s = 21;} - else if ( (LA396_1==LESS_JS_STRING) && (synpred53_Css3())) {s = 22;} - else if ( (LA396_1==GEN) && (synpred53_Css3())) {s = 23;} - else if ( (LA396_1==URI) && (synpred53_Css3())) {s = 24;} - else if ( (LA396_1==HASH) && (synpred53_Css3())) {s = 25;} - else if ( (LA396_1==AT_IDENT||(LA396_1 >= BOTTOMCENTER_SYM && LA396_1 <= BOTTOMRIGHT_SYM)||LA396_1==CHARSET_SYM||LA396_1==COUNTER_STYLE_SYM||LA396_1==FONT_FACE_SYM||LA396_1==IMPORT_SYM||(LA396_1 >= LEFTBOTTOM_SYM && LA396_1 <= LEFTTOP_SYM)||LA396_1==MEDIA_SYM||LA396_1==MOZ_DOCUMENT_SYM||LA396_1==NAMESPACE_SYM||LA396_1==PAGE_SYM||(LA396_1 >= RIGHTBOTTOM_SYM && LA396_1 <= RIGHTTOP_SYM)||(LA396_1 >= SASS_AT_ROOT && LA396_1 <= SASS_DEBUG)||(LA396_1 >= SASS_EACH && LA396_1 <= SASS_ELSE)||LA396_1==SASS_EXTEND||(LA396_1 >= SASS_FOR && LA396_1 <= SASS_FUNCTION)||(LA396_1 >= SASS_IF && LA396_1 <= SASS_MIXIN)||(LA396_1 >= SASS_RETURN && LA396_1 <= SASS_USE)||(LA396_1 >= SASS_WARN && LA396_1 <= SASS_WHILE)||(LA396_1 >= TOPCENTER_SYM && LA396_1 <= TOPRIGHT_SYM)||LA396_1==WEBKIT_KEYFRAMES_SYM) && (synpred53_Css3())) {s = 33;} - else if ( (LA396_1==SASS_VAR) && (synpred53_Css3())) {s = 34;} - else if ( (LA396_1==LESS_AND) && (synpred53_Css3())) {s = 35;} - else if ( (LA396_1==HASH_SYMBOL) && (synpred53_Css3())) {s = 36;} - else if ( (LA396_1==AT_SIGN) && (synpred53_Css3())) {s = 37;} - else if ( (LA396_1==PERCENTAGE_SYMBOL) && (synpred53_Css3())) {s = 38;} - else if ( (LA396_1==SOLIDUS) && (synpred53_Css3())) {s = 3;} + if ( (LA398_0==COMMENT||LA398_0==NL||LA398_0==WS) ) {s = 1;} + else if ( (LA398_0==COMMA||LA398_0==RPAREN||LA398_0==SEMI) ) {s = 2;} + else if ( (LA398_0==SOLIDUS) && (synpred59_Css3())) {s = 3;} + else if ( (LA398_0==MINUS||LA398_0==PLUS) && (synpred59_Css3())) {s = 4;} + else if ( (LA398_0==IDENT) && (synpred59_Css3())) {s = 5;} + else if ( (LA398_0==VARIABLE) && (synpred59_Css3())) {s = 6;} + else if ( (LA398_0==LBRACKET) && (synpred59_Css3())) {s = 7;} + else if ( (LA398_0==NUMBER) && (synpred59_Css3())) {s = 8;} + else if ( (LA398_0==URANGE) && (synpred59_Css3())) {s = 9;} + else if ( (LA398_0==PERCENTAGE) && (synpred59_Css3())) {s = 10;} + else if ( (LA398_0==LENGTH) && (synpred59_Css3())) {s = 11;} + else if ( (LA398_0==EMS) && (synpred59_Css3())) {s = 12;} + else if ( (LA398_0==REM) && (synpred59_Css3())) {s = 13;} + else if ( (LA398_0==EXS) && (synpred59_Css3())) {s = 14;} + else if ( (LA398_0==ANGLE) && (synpred59_Css3())) {s = 15;} + else if ( (LA398_0==TIME) && (synpred59_Css3())) {s = 16;} + else if ( (LA398_0==FREQ) && (synpred59_Css3())) {s = 17;} + else if ( (LA398_0==RESOLUTION) && (synpred59_Css3())) {s = 18;} + else if ( (LA398_0==DIMENSION) && (synpred59_Css3())) {s = 19;} + else if ( (LA398_0==STRING) && (synpred59_Css3())) {s = 20;} + else if ( (LA398_0==TILDE) && (synpred59_Css3())) {s = 21;} + else if ( (LA398_0==LESS_JS_STRING) && (synpred59_Css3())) {s = 22;} + else if ( (LA398_0==GEN) && (synpred59_Css3())) {s = 23;} + else if ( (LA398_0==URI) && (synpred59_Css3())) {s = 24;} + else if ( (LA398_0==HASH) && (synpred59_Css3())) {s = 25;} + else if ( (LA398_0==AT_IDENT||(LA398_0 >= BOTTOMCENTER_SYM && LA398_0 <= BOTTOMRIGHT_SYM)||LA398_0==CHARSET_SYM||LA398_0==COUNTER_STYLE_SYM||LA398_0==FONT_FACE_SYM||LA398_0==IMPORT_SYM||(LA398_0 >= LEFTBOTTOM_SYM && LA398_0 <= LEFTTOP_SYM)||LA398_0==MEDIA_SYM||LA398_0==MOZ_DOCUMENT_SYM||LA398_0==NAMESPACE_SYM||LA398_0==PAGE_SYM||(LA398_0 >= RIGHTBOTTOM_SYM && LA398_0 <= RIGHTTOP_SYM)||(LA398_0 >= SASS_AT_ROOT && LA398_0 <= SASS_DEBUG)||(LA398_0 >= SASS_EACH && LA398_0 <= SASS_ELSE)||LA398_0==SASS_EXTEND||(LA398_0 >= SASS_FOR && LA398_0 <= SASS_FUNCTION)||(LA398_0 >= SASS_IF && LA398_0 <= SASS_MIXIN)||(LA398_0 >= SASS_RETURN && LA398_0 <= SASS_USE)||(LA398_0 >= SASS_WARN && LA398_0 <= SASS_WHILE)||(LA398_0 >= TOPCENTER_SYM && LA398_0 <= TOPRIGHT_SYM)||LA398_0==WEBKIT_KEYFRAMES_SYM) && (synpred59_Css3())) {s = 26;} + else if ( (LA398_0==SASS_VAR) && (synpred59_Css3())) {s = 27;} + else if ( (LA398_0==LESS_AND) && (synpred59_Css3())) {s = 28;} + else if ( (LA398_0==HASH_SYMBOL) && (synpred59_Css3())) {s = 29;} + else if ( (LA398_0==AT_SIGN) && (synpred59_Css3())) {s = 30;} + else if ( (LA398_0==PERCENTAGE_SYMBOL) && (synpred59_Css3())) {s = 31;} - input.seek(index396_1); + input.seek(index398_0); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 396, _s, input); + new NoViableAltException(getDescription(), 398, _s, input); error(nvae); throw nvae; } } - static final String DFA395_eotS = + static final String DFA397_eotS = "\5\uffff"; - static final String DFA395_eofS = + static final String DFA397_eofS = "\5\uffff"; - static final String DFA395_minS = + static final String DFA397_minS = "\2\5\3\uffff"; - static final String DFA395_maxS = + static final String DFA397_maxS = "\2\u009a\3\uffff"; - static final String DFA395_acceptS = + static final String DFA397_acceptS = "\2\uffff\1\2\1\3\1\1"; - static final String DFA395_specialS = + static final String DFA397_specialS = "\5\uffff}>"; - static final String[] DFA395_transitionS = { + static final String[] DFA397_transitionS = { "\3\3\2\uffff\5\3\3\uffff\1\3\2\uffff\1\1\2\uffff\1\3\6\uffff\1\3\2\uffff"+ "\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff\1\3\1\uffff"+ "\1\3\7\uffff\5\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1\4\uffff\1\3"+ @@ -46932,57 +47255,57 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "" }; - static final short[] DFA395_eot = DFA.unpackEncodedString(DFA395_eotS); - static final short[] DFA395_eof = DFA.unpackEncodedString(DFA395_eofS); - static final char[] DFA395_min = DFA.unpackEncodedStringToUnsignedChars(DFA395_minS); - static final char[] DFA395_max = DFA.unpackEncodedStringToUnsignedChars(DFA395_maxS); - static final short[] DFA395_accept = DFA.unpackEncodedString(DFA395_acceptS); - static final short[] DFA395_special = DFA.unpackEncodedString(DFA395_specialS); - static final short[][] DFA395_transition; + static final short[] DFA397_eot = DFA.unpackEncodedString(DFA397_eotS); + static final short[] DFA397_eof = DFA.unpackEncodedString(DFA397_eofS); + static final char[] DFA397_min = DFA.unpackEncodedStringToUnsignedChars(DFA397_minS); + static final char[] DFA397_max = DFA.unpackEncodedStringToUnsignedChars(DFA397_maxS); + static final short[] DFA397_accept = DFA.unpackEncodedString(DFA397_acceptS); + static final short[] DFA397_special = DFA.unpackEncodedString(DFA397_specialS); + static final short[][] DFA397_transition; static { - int numStates = DFA395_transitionS.length; - DFA395_transition = new short[numStates][]; + int numStates = DFA397_transitionS.length; + DFA397_transition = new short[numStates][]; for (int i=0; i ( ws )? COMMA ( ws )? cp_expression )*"; + return "()* loopback of 1273:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -47171,59 +47494,58 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA411_1 = input.LA(1); + int LA413_1 = input.LA(1); - int index411_1 = input.index(); + int index413_1 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 71;} + if ( (synpred61_Css3()) ) {s = 71;} else if ( (true) ) {s = 2;} - input.seek(index411_1); + input.seek(index413_1); if ( s>=0 ) return s; break; - case 1 : - int LA411_49 = input.LA(1); + int LA413_49 = input.LA(1); - int index411_49 = input.index(); + int index413_49 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 71;} + if ( (synpred61_Css3()) ) {s = 71;} else if ( (true) ) {s = 2;} - input.seek(index411_49); + input.seek(index413_49); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 411, _s, input); + new NoViableAltException(getDescription(), 413, _s, input); error(nvae); throw nvae; } } - static final String DFA417_eotS = + static final String DFA419_eotS = "\120\uffff"; - static final String DFA417_eofS = + static final String DFA419_eofS = "\1\2\117\uffff"; - static final String DFA417_minS = + static final String DFA419_minS = "\1\5\1\0\2\uffff\13\0\2\uffff\1\0\1\uffff\6\0\1\uffff\2\0\3\uffff\14\0"+ "\1\uffff\2\0\1\uffff\1\0\2\uffff\1\0\3\uffff\21\0\2\uffff\1\0\6\uffff"; - static final String DFA417_maxS = + static final String DFA419_maxS = "\1\u009a\1\0\2\uffff\13\0\2\uffff\1\0\1\uffff\6\0\1\uffff\2\0\3\uffff"+ "\14\0\1\uffff\2\0\1\uffff\1\0\2\uffff\1\0\3\uffff\21\0\2\uffff\1\0\6\uffff"; - static final String DFA417_acceptS = + static final String DFA419_acceptS = "\2\uffff\1\3\107\uffff\5\1\1\2"; - static final String DFA417_specialS = + static final String DFA419_specialS = "\1\0\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\2\uffff"+ "\1\15\1\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\uffff\1\24\1\25\3\uffff"+ "\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\uffff\1"+ "\42\1\43\1\uffff\1\44\2\uffff\1\45\3\uffff\1\46\1\47\1\50\1\51\1\52\1"+ "\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66\2\uffff\1\67"+ "\6\uffff}>"; - static final String[] DFA417_transitionS = { + static final String[] DFA419_transitionS = { "\1\76\1\24\1\12\2\uffff\5\54\3\uffff\1\62\2\2\1\111\1\2\1\uffff\1\55"+ "\1\2\1\112\1\113\2\uffff\1\2\1\32\1\2\1\uffff\1\73\3\uffff\1\75\1\uffff"+ "\1\46\1\100\1\uffff\1\14\1\102\1\116\1\uffff\1\23\1\11\3\uffff\1\7\1"+ @@ -47314,38 +47636,38 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "" }; - static final short[] DFA417_eot = DFA.unpackEncodedString(DFA417_eotS); - static final short[] DFA417_eof = DFA.unpackEncodedString(DFA417_eofS); - static final char[] DFA417_min = DFA.unpackEncodedStringToUnsignedChars(DFA417_minS); - static final char[] DFA417_max = DFA.unpackEncodedStringToUnsignedChars(DFA417_maxS); - static final short[] DFA417_accept = DFA.unpackEncodedString(DFA417_acceptS); - static final short[] DFA417_special = DFA.unpackEncodedString(DFA417_specialS); - static final short[][] DFA417_transition; + static final short[] DFA419_eot = DFA.unpackEncodedString(DFA419_eotS); + static final short[] DFA419_eof = DFA.unpackEncodedString(DFA419_eofS); + static final char[] DFA419_min = DFA.unpackEncodedStringToUnsignedChars(DFA419_minS); + static final char[] DFA419_max = DFA.unpackEncodedStringToUnsignedChars(DFA419_maxS); + static final short[] DFA419_accept = DFA.unpackEncodedString(DFA419_acceptS); + static final short[] DFA419_special = DFA.unpackEncodedString(DFA419_specialS); + static final short[][] DFA419_transition; static { - int numStates = DFA417_transitionS.length; - DFA417_transition = new short[numStates][]; + int numStates = DFA419_transitionS.length; + DFA419_transition = new short[numStates][]; for (int i=0; i ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*"; + return "()* loopback of 1290:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -47356,816 +47678,761 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA417_0 = input.LA(1); + int LA419_0 = input.LA(1); - int index417_0 = input.index(); + int index419_0 = input.index(); input.rewind(); s = -1; - if ( (LA417_0==WS) ) {s = 1;} - else if ( (LA417_0==EOF||(LA417_0 >= COLON && LA417_0 <= COMMA)||LA417_0==CONTAINER_SYM||LA417_0==CP_DOTS||LA417_0==DCOLON||LA417_0==DOT||(LA417_0 >= LAYER_SYM && LA417_0 <= LBRACE)||LA417_0==LESS_REST||LA417_0==PIPE||LA417_0==RBRACE||LA417_0==RPAREN||LA417_0==SASS_DEFAULT||LA417_0==SASS_EXTEND_ONLY_SELECTOR||LA417_0==SASS_GLOBAL||LA417_0==SEMI||LA417_0==STAR||LA417_0==SUPPORTS_SYM) ) {s = 2;} - else if ( (LA417_0==IMPORTANT_SYM) ) {s = 4;} - else if ( (LA417_0==NUMBER) ) {s = 5;} - else if ( (LA417_0==STRING) ) {s = 6;} - else if ( (LA417_0==IDENT) ) {s = 7;} - else if ( (LA417_0==MINUS) ) {s = 8;} - else if ( (LA417_0==HASH_SYMBOL) ) {s = 9;} - else if ( (LA417_0==AT_SIGN) ) {s = 10;} - else if ( (LA417_0==VARIABLE) ) {s = 11;} - else if ( (LA417_0==GEN) ) {s = 12;} - else if ( (LA417_0==SASS_MIXIN) ) {s = 13;} - else if ( (LA417_0==SASS_VAR) ) {s = 14;} - else if ( (LA417_0==LESS_AND) ) {s = 17;} - else if ( (LA417_0==HASH) ) {s = 19;} - else if ( (LA417_0==AT_IDENT) ) {s = 20;} - else if ( (LA417_0==SASS_INCLUDE) ) {s = 21;} - else if ( (LA417_0==SASS_AT_ROOT) ) {s = 22;} - else if ( (LA417_0==SASS_DEBUG||LA417_0==SASS_WARN) ) {s = 23;} - else if ( (LA417_0==PLUS) ) {s = 24;} - else if ( (LA417_0==DIMENSION) ) {s = 26;} - else if ( (LA417_0==LBRACKET) ) {s = 27;} - else if ( (LA417_0==SASS_IF) ) {s = 31;} - else if ( (LA417_0==SASS_FOR) ) {s = 32;} - else if ( (LA417_0==SASS_EACH) ) {s = 33;} - else if ( (LA417_0==SASS_WHILE) ) {s = 34;} - else if ( (LA417_0==SASS_CONTENT) ) {s = 35;} - else if ( (LA417_0==IMPORT_SYM) ) {s = 36;} - else if ( (LA417_0==PAGE_SYM) ) {s = 37;} - else if ( (LA417_0==FONT_FACE_SYM) ) {s = 38;} - else if ( (LA417_0==MOZ_DOCUMENT_SYM) ) {s = 39;} - else if ( (LA417_0==WEBKIT_KEYFRAMES_SYM) ) {s = 40;} - else if ( (LA417_0==MEDIA_SYM) ) {s = 41;} - else if ( (LA417_0==SASS_EXTEND) ) {s = 42;} - else if ( ((LA417_0 >= BOTTOMCENTER_SYM && LA417_0 <= BOTTOMRIGHT_SYM)||(LA417_0 >= LEFTBOTTOM_SYM && LA417_0 <= LEFTTOP_SYM)||(LA417_0 >= RIGHTBOTTOM_SYM && LA417_0 <= RIGHTTOP_SYM)||(LA417_0 >= TOPCENTER_SYM && LA417_0 <= TOPRIGHT_SYM)) ) {s = 44;} - else if ( (LA417_0==COUNTER_STYLE_SYM) ) {s = 45;} - else if ( (LA417_0==SASS_FUNCTION) ) {s = 47;} - else if ( (LA417_0==CHARSET_SYM||LA417_0==NAMESPACE_SYM||LA417_0==SASS_ELSE||LA417_0==SASS_FORWARD||(LA417_0 >= SASS_RETURN && LA417_0 <= SASS_USE)) ) {s = 50;} - else if ( (LA417_0==NOT) ) {s = 54;} - else if ( (LA417_0==TILDE) ) {s = 55;} - else if ( (LA417_0==URANGE) ) {s = 56;} - else if ( (LA417_0==PERCENTAGE) ) {s = 57;} - else if ( (LA417_0==LENGTH) ) {s = 58;} - else if ( (LA417_0==EMS) ) {s = 59;} - else if ( (LA417_0==REM) ) {s = 60;} - else if ( (LA417_0==EXS) ) {s = 61;} - else if ( (LA417_0==ANGLE) ) {s = 62;} - else if ( (LA417_0==TIME) ) {s = 63;} - else if ( (LA417_0==FREQ) ) {s = 64;} - else if ( (LA417_0==RESOLUTION) ) {s = 65;} - else if ( (LA417_0==GREATER) ) {s = 66;} - else if ( (LA417_0==LESS_JS_STRING) ) {s = 67;} - else if ( (LA417_0==URI) ) {s = 68;} - else if ( (LA417_0==PERCENTAGE_SYMBOL) ) {s = 69;} - else if ( (LA417_0==LPAREN) ) {s = 70;} - else if ( (LA417_0==COMMENT||LA417_0==NL) ) {s = 73;} - else if ( (LA417_0==CP_EQ) && (synpred57_Css3())) {s = 74;} - else if ( (LA417_0==CP_NOT_EQ) && (synpred57_Css3())) {s = 75;} - else if ( (LA417_0==LESS) && (synpred57_Css3())) {s = 76;} - else if ( (LA417_0==LESS_OR_EQ) && (synpred57_Css3())) {s = 77;} - else if ( (LA417_0==GREATER_OR_EQ) && (synpred57_Css3())) {s = 78;} + if ( (LA419_0==WS) ) {s = 1;} + else if ( (LA419_0==EOF||(LA419_0 >= COLON && LA419_0 <= COMMA)||LA419_0==CONTAINER_SYM||LA419_0==CP_DOTS||LA419_0==DCOLON||LA419_0==DOT||(LA419_0 >= LAYER_SYM && LA419_0 <= LBRACE)||LA419_0==LESS_REST||LA419_0==PIPE||LA419_0==RBRACE||LA419_0==RPAREN||LA419_0==SASS_DEFAULT||LA419_0==SASS_EXTEND_ONLY_SELECTOR||LA419_0==SASS_GLOBAL||LA419_0==SEMI||LA419_0==STAR||LA419_0==SUPPORTS_SYM) ) {s = 2;} + else if ( (LA419_0==IMPORTANT_SYM) ) {s = 4;} + else if ( (LA419_0==NUMBER) ) {s = 5;} + else if ( (LA419_0==STRING) ) {s = 6;} + else if ( (LA419_0==IDENT) ) {s = 7;} + else if ( (LA419_0==MINUS) ) {s = 8;} + else if ( (LA419_0==HASH_SYMBOL) ) {s = 9;} + else if ( (LA419_0==AT_SIGN) ) {s = 10;} + else if ( (LA419_0==VARIABLE) ) {s = 11;} + else if ( (LA419_0==GEN) ) {s = 12;} + else if ( (LA419_0==SASS_MIXIN) ) {s = 13;} + else if ( (LA419_0==SASS_VAR) ) {s = 14;} + else if ( (LA419_0==LESS_AND) ) {s = 17;} + else if ( (LA419_0==HASH) ) {s = 19;} + else if ( (LA419_0==AT_IDENT) ) {s = 20;} + else if ( (LA419_0==SASS_INCLUDE) ) {s = 21;} + else if ( (LA419_0==SASS_AT_ROOT) ) {s = 22;} + else if ( (LA419_0==SASS_DEBUG||LA419_0==SASS_WARN) ) {s = 23;} + else if ( (LA419_0==PLUS) ) {s = 24;} + else if ( (LA419_0==DIMENSION) ) {s = 26;} + else if ( (LA419_0==LBRACKET) ) {s = 27;} + else if ( (LA419_0==SASS_IF) ) {s = 31;} + else if ( (LA419_0==SASS_FOR) ) {s = 32;} + else if ( (LA419_0==SASS_EACH) ) {s = 33;} + else if ( (LA419_0==SASS_WHILE) ) {s = 34;} + else if ( (LA419_0==SASS_CONTENT) ) {s = 35;} + else if ( (LA419_0==IMPORT_SYM) ) {s = 36;} + else if ( (LA419_0==PAGE_SYM) ) {s = 37;} + else if ( (LA419_0==FONT_FACE_SYM) ) {s = 38;} + else if ( (LA419_0==MOZ_DOCUMENT_SYM) ) {s = 39;} + else if ( (LA419_0==WEBKIT_KEYFRAMES_SYM) ) {s = 40;} + else if ( (LA419_0==MEDIA_SYM) ) {s = 41;} + else if ( (LA419_0==SASS_EXTEND) ) {s = 42;} + else if ( ((LA419_0 >= BOTTOMCENTER_SYM && LA419_0 <= BOTTOMRIGHT_SYM)||(LA419_0 >= LEFTBOTTOM_SYM && LA419_0 <= LEFTTOP_SYM)||(LA419_0 >= RIGHTBOTTOM_SYM && LA419_0 <= RIGHTTOP_SYM)||(LA419_0 >= TOPCENTER_SYM && LA419_0 <= TOPRIGHT_SYM)) ) {s = 44;} + else if ( (LA419_0==COUNTER_STYLE_SYM) ) {s = 45;} + else if ( (LA419_0==SASS_FUNCTION) ) {s = 47;} + else if ( (LA419_0==CHARSET_SYM||LA419_0==NAMESPACE_SYM||LA419_0==SASS_ELSE||LA419_0==SASS_FORWARD||(LA419_0 >= SASS_RETURN && LA419_0 <= SASS_USE)) ) {s = 50;} + else if ( (LA419_0==NOT) ) {s = 54;} + else if ( (LA419_0==TILDE) ) {s = 55;} + else if ( (LA419_0==URANGE) ) {s = 56;} + else if ( (LA419_0==PERCENTAGE) ) {s = 57;} + else if ( (LA419_0==LENGTH) ) {s = 58;} + else if ( (LA419_0==EMS) ) {s = 59;} + else if ( (LA419_0==REM) ) {s = 60;} + else if ( (LA419_0==EXS) ) {s = 61;} + else if ( (LA419_0==ANGLE) ) {s = 62;} + else if ( (LA419_0==TIME) ) {s = 63;} + else if ( (LA419_0==FREQ) ) {s = 64;} + else if ( (LA419_0==RESOLUTION) ) {s = 65;} + else if ( (LA419_0==GREATER) ) {s = 66;} + else if ( (LA419_0==LESS_JS_STRING) ) {s = 67;} + else if ( (LA419_0==URI) ) {s = 68;} + else if ( (LA419_0==PERCENTAGE_SYMBOL) ) {s = 69;} + else if ( (LA419_0==LPAREN) ) {s = 70;} + else if ( (LA419_0==COMMENT||LA419_0==NL) ) {s = 73;} + else if ( (LA419_0==CP_EQ) && (synpred63_Css3())) {s = 74;} + else if ( (LA419_0==CP_NOT_EQ) && (synpred63_Css3())) {s = 75;} + else if ( (LA419_0==LESS) && (synpred63_Css3())) {s = 76;} + else if ( (LA419_0==LESS_OR_EQ) && (synpred63_Css3())) {s = 77;} + else if ( (LA419_0==GREATER_OR_EQ) && (synpred63_Css3())) {s = 78;} - input.seek(index417_0); + input.seek(index419_0); if ( s>=0 ) return s; break; - case 1 : - int LA417_1 = input.LA(1); + int LA419_1 = input.LA(1); - int index417_1 = input.index(); + int index419_1 = input.index(); input.rewind(); s = -1; - if ( (synpred57_Css3()) ) {s = 78;} - else if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred63_Css3()) ) {s = 78;} + else if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_1); + input.seek(index419_1); if ( s>=0 ) return s; break; - case 2 : - int LA417_4 = input.LA(1); + int LA419_4 = input.LA(1); - int index417_4 = input.index(); + int index419_4 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_4); + input.seek(index419_4); if ( s>=0 ) return s; break; - case 3 : - int LA417_5 = input.LA(1); + int LA419_5 = input.LA(1); - int index417_5 = input.index(); + int index419_5 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_5); + input.seek(index419_5); if ( s>=0 ) return s; break; - case 4 : - int LA417_6 = input.LA(1); + int LA419_6 = input.LA(1); - int index417_6 = input.index(); + int index419_6 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_6); + input.seek(index419_6); if ( s>=0 ) return s; break; - case 5 : - int LA417_7 = input.LA(1); + int LA419_7 = input.LA(1); - int index417_7 = input.index(); + int index419_7 = input.index(); input.rewind(); s = -1; - if ( ((synpred57_Css3()&&(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")||evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")))) ) {s = 78;} - else if ( (synpred58_Css3()) ) {s = 79;} + if ( ((synpred63_Css3()&&(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")||evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")))) ) {s = 78;} + else if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_7); + input.seek(index419_7); if ( s>=0 ) return s; break; - case 6 : - int LA417_8 = input.LA(1); + int LA419_8 = input.LA(1); - int index417_8 = input.index(); + int index419_8 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_8); + input.seek(index419_8); if ( s>=0 ) return s; break; - case 7 : - int LA417_9 = input.LA(1); + int LA419_9 = input.LA(1); - int index417_9 = input.index(); + int index419_9 = input.index(); input.rewind(); s = -1; - if ( ((synpred58_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} + if ( ((synpred64_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_9); + input.seek(index419_9); if ( s>=0 ) return s; break; - case 8 : - int LA417_10 = input.LA(1); + int LA419_10 = input.LA(1); - int index417_10 = input.index(); + int index419_10 = input.index(); input.rewind(); s = -1; - if ( ((synpred58_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_10); + input.seek(index419_10); if ( s>=0 ) return s; break; - case 9 : - int LA417_11 = input.LA(1); + int LA419_11 = input.LA(1); - int index417_11 = input.index(); + int index419_11 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_11); + input.seek(index419_11); if ( s>=0 ) return s; break; - case 10 : - int LA417_12 = input.LA(1); + int LA419_12 = input.LA(1); - int index417_12 = input.index(); + int index419_12 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_12); + input.seek(index419_12); if ( s>=0 ) return s; break; - case 11 : - int LA417_13 = input.LA(1); + int LA419_13 = input.LA(1); - int index417_13 = input.index(); + int index419_13 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_13); + input.seek(index419_13); if ( s>=0 ) return s; break; - case 12 : - int LA417_14 = input.LA(1); + int LA419_14 = input.LA(1); - int index417_14 = input.index(); + int index419_14 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred64_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_14); + input.seek(index419_14); if ( s>=0 ) return s; break; - case 13 : - int LA417_17 = input.LA(1); + int LA419_17 = input.LA(1); - int index417_17 = input.index(); + int index419_17 = input.index(); input.rewind(); s = -1; - if ( ((synpred58_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} + if ( ((synpred64_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_17); + input.seek(index419_17); if ( s>=0 ) return s; break; - case 14 : - int LA417_19 = input.LA(1); + int LA419_19 = input.LA(1); - int index417_19 = input.index(); + int index419_19 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_19); + input.seek(index419_19); if ( s>=0 ) return s; break; - case 15 : - int LA417_20 = input.LA(1); + int LA419_20 = input.LA(1); - int index417_20 = input.index(); + int index419_20 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_20); + input.seek(index419_20); if ( s>=0 ) return s; break; - case 16 : - int LA417_21 = input.LA(1); + int LA419_21 = input.LA(1); - int index417_21 = input.index(); + int index419_21 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_21); + input.seek(index419_21); if ( s>=0 ) return s; break; - case 17 : - int LA417_22 = input.LA(1); + int LA419_22 = input.LA(1); - int index417_22 = input.index(); + int index419_22 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_22); + input.seek(index419_22); if ( s>=0 ) return s; break; - case 18 : - int LA417_23 = input.LA(1); + int LA419_23 = input.LA(1); - int index417_23 = input.index(); + int index419_23 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_23); + input.seek(index419_23); if ( s>=0 ) return s; break; - case 19 : - int LA417_24 = input.LA(1); + int LA419_24 = input.LA(1); - int index417_24 = input.index(); + int index419_24 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_24); + input.seek(index419_24); if ( s>=0 ) return s; break; - case 20 : - int LA417_26 = input.LA(1); + int LA419_26 = input.LA(1); - int index417_26 = input.index(); + int index419_26 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_26); + input.seek(index419_26); if ( s>=0 ) return s; break; - case 21 : - int LA417_27 = input.LA(1); + int LA419_27 = input.LA(1); - int index417_27 = input.index(); + int index419_27 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_27); + input.seek(index419_27); if ( s>=0 ) return s; break; - case 22 : - int LA417_31 = input.LA(1); + int LA419_31 = input.LA(1); - int index417_31 = input.index(); + int index419_31 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_31); + input.seek(index419_31); if ( s>=0 ) return s; break; - case 23 : - int LA417_32 = input.LA(1); + int LA419_32 = input.LA(1); - int index417_32 = input.index(); + int index419_32 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_32); + input.seek(index419_32); if ( s>=0 ) return s; break; - case 24 : - int LA417_33 = input.LA(1); + int LA419_33 = input.LA(1); - int index417_33 = input.index(); + int index419_33 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_33); + input.seek(index419_33); if ( s>=0 ) return s; break; - case 25 : - int LA417_34 = input.LA(1); + int LA419_34 = input.LA(1); - int index417_34 = input.index(); + int index419_34 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_34); + input.seek(index419_34); if ( s>=0 ) return s; break; - case 26 : - int LA417_35 = input.LA(1); + int LA419_35 = input.LA(1); - int index417_35 = input.index(); + int index419_35 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_35); + input.seek(index419_35); if ( s>=0 ) return s; break; - case 27 : - int LA417_36 = input.LA(1); + int LA419_36 = input.LA(1); - int index417_36 = input.index(); + int index419_36 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_36); + input.seek(index419_36); if ( s>=0 ) return s; break; - case 28 : - int LA417_37 = input.LA(1); + int LA419_37 = input.LA(1); - int index417_37 = input.index(); + int index419_37 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_37); + input.seek(index419_37); if ( s>=0 ) return s; break; - case 29 : - int LA417_38 = input.LA(1); + int LA419_38 = input.LA(1); - int index417_38 = input.index(); + int index419_38 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_38); + input.seek(index419_38); if ( s>=0 ) return s; break; - case 30 : - int LA417_39 = input.LA(1); + int LA419_39 = input.LA(1); - int index417_39 = input.index(); + int index419_39 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_39); + input.seek(index419_39); if ( s>=0 ) return s; break; - case 31 : - int LA417_40 = input.LA(1); + int LA419_40 = input.LA(1); - int index417_40 = input.index(); + int index419_40 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_40); + input.seek(index419_40); if ( s>=0 ) return s; break; - case 32 : - int LA417_41 = input.LA(1); + int LA419_41 = input.LA(1); - int index417_41 = input.index(); + int index419_41 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_41); + input.seek(index419_41); if ( s>=0 ) return s; break; - case 33 : - int LA417_42 = input.LA(1); + int LA419_42 = input.LA(1); - int index417_42 = input.index(); + int index419_42 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_42); + input.seek(index419_42); if ( s>=0 ) return s; break; - case 34 : - int LA417_44 = input.LA(1); + int LA419_44 = input.LA(1); - int index417_44 = input.index(); + int index419_44 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_44); + input.seek(index419_44); if ( s>=0 ) return s; break; - case 35 : - int LA417_45 = input.LA(1); + int LA419_45 = input.LA(1); - int index417_45 = input.index(); + int index419_45 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_45); + input.seek(index419_45); if ( s>=0 ) return s; break; - case 36 : - int LA417_47 = input.LA(1); + int LA419_47 = input.LA(1); - int index417_47 = input.index(); + int index419_47 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_47); + input.seek(index419_47); if ( s>=0 ) return s; break; - case 37 : - int LA417_50 = input.LA(1); + int LA419_50 = input.LA(1); - int index417_50 = input.index(); + int index419_50 = input.index(); input.rewind(); s = -1; - if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_50); + input.seek(index419_50); if ( s>=0 ) return s; break; - case 38 : - int LA417_54 = input.LA(1); + int LA419_54 = input.LA(1); - int index417_54 = input.index(); + int index419_54 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_54); + input.seek(index419_54); if ( s>=0 ) return s; break; - case 39 : - int LA417_55 = input.LA(1); + int LA419_55 = input.LA(1); - int index417_55 = input.index(); + int index419_55 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_55); + input.seek(index419_55); if ( s>=0 ) return s; break; - case 40 : - int LA417_56 = input.LA(1); + int LA419_56 = input.LA(1); - int index417_56 = input.index(); + int index419_56 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_56); + input.seek(index419_56); if ( s>=0 ) return s; break; - case 41 : - int LA417_57 = input.LA(1); + int LA419_57 = input.LA(1); - int index417_57 = input.index(); + int index419_57 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_57); + input.seek(index419_57); if ( s>=0 ) return s; break; - case 42 : - int LA417_58 = input.LA(1); + int LA419_58 = input.LA(1); - int index417_58 = input.index(); + int index419_58 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_58); + input.seek(index419_58); if ( s>=0 ) return s; break; - case 43 : - int LA417_59 = input.LA(1); + int LA419_59 = input.LA(1); - int index417_59 = input.index(); + int index419_59 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_59); + input.seek(index419_59); if ( s>=0 ) return s; break; - case 44 : - int LA417_60 = input.LA(1); + int LA419_60 = input.LA(1); - int index417_60 = input.index(); + int index419_60 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_60); + input.seek(index419_60); if ( s>=0 ) return s; break; - case 45 : - int LA417_61 = input.LA(1); + int LA419_61 = input.LA(1); - int index417_61 = input.index(); + int index419_61 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_61); + input.seek(index419_61); if ( s>=0 ) return s; break; - case 46 : - int LA417_62 = input.LA(1); + int LA419_62 = input.LA(1); - int index417_62 = input.index(); + int index419_62 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_62); + input.seek(index419_62); if ( s>=0 ) return s; break; - case 47 : - int LA417_63 = input.LA(1); + int LA419_63 = input.LA(1); - int index417_63 = input.index(); + int index419_63 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_63); + input.seek(index419_63); if ( s>=0 ) return s; break; - case 48 : - int LA417_64 = input.LA(1); + int LA419_64 = input.LA(1); - int index417_64 = input.index(); + int index419_64 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_64); + input.seek(index419_64); if ( s>=0 ) return s; break; - case 49 : - int LA417_65 = input.LA(1); + int LA419_65 = input.LA(1); - int index417_65 = input.index(); + int index419_65 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_65); + input.seek(index419_65); if ( s>=0 ) return s; break; - case 50 : - int LA417_66 = input.LA(1); + int LA419_66 = input.LA(1); - int index417_66 = input.index(); + int index419_66 = input.index(); input.rewind(); s = -1; - if ( (synpred57_Css3()) ) {s = 78;} + if ( (synpred63_Css3()) ) {s = 78;} else if ( (true) ) {s = 2;} - input.seek(index417_66); + input.seek(index419_66); if ( s>=0 ) return s; break; - case 51 : - int LA417_67 = input.LA(1); + int LA419_67 = input.LA(1); - int index417_67 = input.index(); + int index419_67 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_67); + input.seek(index419_67); if ( s>=0 ) return s; break; - case 52 : - int LA417_68 = input.LA(1); + int LA419_68 = input.LA(1); - int index417_68 = input.index(); + int index419_68 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_68); + input.seek(index419_68); if ( s>=0 ) return s; break; - case 53 : - int LA417_69 = input.LA(1); + int LA419_69 = input.LA(1); - int index417_69 = input.index(); + int index419_69 = input.index(); input.rewind(); s = -1; - if ( ((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))) ) {s = 79;} + if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred64_Css3())) ) {s = 79;} else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {s = 2;} - input.seek(index417_69); + input.seek(index419_69); if ( s>=0 ) return s; break; - case 54 : - int LA417_70 = input.LA(1); + int LA419_70 = input.LA(1); - int index417_70 = input.index(); + int index419_70 = input.index(); input.rewind(); s = -1; - if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_70); + input.seek(index419_70); if ( s>=0 ) return s; break; - case 55 : - int LA417_73 = input.LA(1); + int LA419_73 = input.LA(1); - int index417_73 = input.index(); + int index419_73 = input.index(); input.rewind(); s = -1; - if ( (synpred57_Css3()) ) {s = 78;} - else if ( (synpred58_Css3()) ) {s = 79;} + if ( (synpred63_Css3()) ) {s = 78;} + else if ( (synpred64_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index417_73); + input.seek(index419_73); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 417, _s, input); + new NoViableAltException(getDescription(), 419, _s, input); error(nvae); throw nvae; } } - static final String DFA431_eotS = + static final String DFA433_eotS = "\120\uffff"; - static final String DFA431_eofS = + static final String DFA433_eofS = "\1\2\117\uffff"; - static final String DFA431_minS = + static final String DFA433_minS = "\1\5\1\0\13\uffff\1\0\34\uffff\1\0\10\uffff\1\0\32\uffff\1\0\1\uffff"; - static final String DFA431_maxS = + static final String DFA433_maxS = "\1\u009a\1\0\13\uffff\1\0\34\uffff\1\0\10\uffff\1\0\32\uffff\1\0\1\uffff"; - static final String DFA431_acceptS = + static final String DFA433_acceptS = "\2\uffff\1\2\114\uffff\1\1"; - static final String DFA431_specialS = + static final String DFA433_specialS = "\1\0\1\1\13\uffff\1\2\34\uffff\1\3\10\uffff\1\4\32\uffff\1\5\1\uffff}>"; - static final String[] DFA431_transitionS = { + static final String[] DFA433_transitionS = { "\3\2\2\uffff\5\2\3\uffff\3\2\1\116\1\2\1\uffff\4\2\2\uffff\3\2\1\uffff"+ "\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\2\2\3\uffff\3\2\5\uffff"+ "\14\2\1\uffff\1\2\1\uffff\1\2\1\15\1\2\5\uffff\1\2\1\116\3\uffff\2\2"+ @@ -48253,38 +48520,38 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "" }; - static final short[] DFA431_eot = DFA.unpackEncodedString(DFA431_eotS); - static final short[] DFA431_eof = DFA.unpackEncodedString(DFA431_eofS); - static final char[] DFA431_min = DFA.unpackEncodedStringToUnsignedChars(DFA431_minS); - static final char[] DFA431_max = DFA.unpackEncodedStringToUnsignedChars(DFA431_maxS); - static final short[] DFA431_accept = DFA.unpackEncodedString(DFA431_acceptS); - static final short[] DFA431_special = DFA.unpackEncodedString(DFA431_specialS); - static final short[][] DFA431_transition; + static final short[] DFA433_eot = DFA.unpackEncodedString(DFA433_eotS); + static final short[] DFA433_eof = DFA.unpackEncodedString(DFA433_eofS); + static final char[] DFA433_min = DFA.unpackEncodedStringToUnsignedChars(DFA433_minS); + static final char[] DFA433_max = DFA.unpackEncodedStringToUnsignedChars(DFA433_maxS); + static final short[] DFA433_accept = DFA.unpackEncodedString(DFA433_acceptS); + static final short[] DFA433_special = DFA.unpackEncodedString(DFA433_specialS); + static final short[][] DFA433_transition; static { - int numStates = DFA431_transitionS.length; - DFA431_transition = new short[numStates][]; + int numStates = DFA433_transitionS.length; + DFA433_transition = new short[numStates][]; for (int i=0; i ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*"; + return "()* loopback of 1332:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -48295,109 +48562,104 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA431_0 = input.LA(1); + int LA433_0 = input.LA(1); - int index431_0 = input.index(); + int index433_0 = input.index(); input.rewind(); s = -1; - if ( (LA431_0==WS) ) {s = 1;} - else if ( (LA431_0==EOF||(LA431_0 >= ANGLE && LA431_0 <= AT_SIGN)||(LA431_0 >= BOTTOMCENTER_SYM && LA431_0 <= BOTTOMRIGHT_SYM)||(LA431_0 >= CHARSET_SYM && LA431_0 <= COMMA)||LA431_0==CONTAINER_SYM||(LA431_0 >= COUNTER_STYLE_SYM && LA431_0 <= CP_NOT_EQ)||(LA431_0 >= DCOLON && LA431_0 <= DOT)||LA431_0==EMS||LA431_0==EXS||(LA431_0 >= FONT_FACE_SYM && LA431_0 <= FREQ)||(LA431_0 >= GEN && LA431_0 <= GREATER_OR_EQ)||(LA431_0 >= HASH && LA431_0 <= HASH_SYMBOL)||(LA431_0 >= IDENT && LA431_0 <= IMPORT_SYM)||(LA431_0 >= LAYER_SYM && LA431_0 <= LESS_REST)||LA431_0==LPAREN||LA431_0==MEDIA_SYM||LA431_0==MOZ_DOCUMENT_SYM||LA431_0==NAMESPACE_SYM||(LA431_0 >= NOT && LA431_0 <= NUMBER)||(LA431_0 >= PAGE_SYM && LA431_0 <= PIPE)||LA431_0==RBRACE||(LA431_0 >= REM && LA431_0 <= RPAREN)||(LA431_0 >= SASS_AT_ROOT && LA431_0 <= SASS_ELSE)||(LA431_0 >= SASS_EXTEND && LA431_0 <= SASS_MIXIN)||(LA431_0 >= SASS_RETURN && LA431_0 <= SEMI)||(LA431_0 >= STRING && LA431_0 <= SUPPORTS_SYM)||(LA431_0 >= TILDE && LA431_0 <= TOPRIGHT_SYM)||(LA431_0 >= URANGE && LA431_0 <= URI)||LA431_0==VARIABLE||LA431_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;} - else if ( (LA431_0==MINUS) ) {s = 13;} - else if ( (LA431_0==PLUS) ) {s = 42;} - else if ( (LA431_0==STAR) ) {s = 51;} - else if ( (LA431_0==COMMENT||LA431_0==NL) ) {s = 78;} - else if ( (LA431_0==SOLIDUS) && (synpred60_Css3())) {s = 79;} + if ( (LA433_0==WS) ) {s = 1;} + else if ( (LA433_0==EOF||(LA433_0 >= ANGLE && LA433_0 <= AT_SIGN)||(LA433_0 >= BOTTOMCENTER_SYM && LA433_0 <= BOTTOMRIGHT_SYM)||(LA433_0 >= CHARSET_SYM && LA433_0 <= COMMA)||LA433_0==CONTAINER_SYM||(LA433_0 >= COUNTER_STYLE_SYM && LA433_0 <= CP_NOT_EQ)||(LA433_0 >= DCOLON && LA433_0 <= DOT)||LA433_0==EMS||LA433_0==EXS||(LA433_0 >= FONT_FACE_SYM && LA433_0 <= FREQ)||(LA433_0 >= GEN && LA433_0 <= GREATER_OR_EQ)||(LA433_0 >= HASH && LA433_0 <= HASH_SYMBOL)||(LA433_0 >= IDENT && LA433_0 <= IMPORT_SYM)||(LA433_0 >= LAYER_SYM && LA433_0 <= LESS_REST)||LA433_0==LPAREN||LA433_0==MEDIA_SYM||LA433_0==MOZ_DOCUMENT_SYM||LA433_0==NAMESPACE_SYM||(LA433_0 >= NOT && LA433_0 <= NUMBER)||(LA433_0 >= PAGE_SYM && LA433_0 <= PIPE)||LA433_0==RBRACE||(LA433_0 >= REM && LA433_0 <= RPAREN)||(LA433_0 >= SASS_AT_ROOT && LA433_0 <= SASS_ELSE)||(LA433_0 >= SASS_EXTEND && LA433_0 <= SASS_MIXIN)||(LA433_0 >= SASS_RETURN && LA433_0 <= SEMI)||(LA433_0 >= STRING && LA433_0 <= SUPPORTS_SYM)||(LA433_0 >= TILDE && LA433_0 <= TOPRIGHT_SYM)||(LA433_0 >= URANGE && LA433_0 <= URI)||LA433_0==VARIABLE||LA433_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;} + else if ( (LA433_0==MINUS) ) {s = 13;} + else if ( (LA433_0==PLUS) ) {s = 42;} + else if ( (LA433_0==STAR) ) {s = 51;} + else if ( (LA433_0==COMMENT||LA433_0==NL) ) {s = 78;} + else if ( (LA433_0==SOLIDUS) && (synpred66_Css3())) {s = 79;} - input.seek(index431_0); + input.seek(index433_0); if ( s>=0 ) return s; break; - case 1 : - int LA431_1 = input.LA(1); + int LA433_1 = input.LA(1); - int index431_1 = input.index(); + int index433_1 = input.index(); input.rewind(); s = -1; - if ( (synpred60_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index431_1); + input.seek(index433_1); if ( s>=0 ) return s; break; - case 2 : - int LA431_13 = input.LA(1); + int LA433_13 = input.LA(1); - int index431_13 = input.index(); + int index433_13 = input.index(); input.rewind(); s = -1; - if ( (synpred60_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index431_13); + input.seek(index433_13); if ( s>=0 ) return s; break; - case 3 : - int LA431_42 = input.LA(1); + int LA433_42 = input.LA(1); - int index431_42 = input.index(); + int index433_42 = input.index(); input.rewind(); s = -1; - if ( (synpred60_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index431_42); + input.seek(index433_42); if ( s>=0 ) return s; break; - case 4 : - int LA431_51 = input.LA(1); + int LA433_51 = input.LA(1); - int index431_51 = input.index(); + int index433_51 = input.index(); input.rewind(); s = -1; - if ( (synpred60_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index431_51); + input.seek(index433_51); if ( s>=0 ) return s; break; - case 5 : - int LA431_78 = input.LA(1); + int LA433_78 = input.LA(1); - int index431_78 = input.index(); + int index433_78 = input.index(); input.rewind(); s = -1; - if ( (synpred60_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index431_78); + input.seek(index433_78); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 431, _s, input); + new NoViableAltException(getDescription(), 433, _s, input); error(nvae); throw nvae; } } - static final String DFA436_eotS = + static final String DFA438_eotS = "\6\uffff"; - static final String DFA436_eofS = + static final String DFA438_eofS = "\6\uffff"; - static final String DFA436_minS = + static final String DFA438_minS = "\2\5\3\uffff\1\5"; - static final String DFA436_maxS = + static final String DFA438_maxS = "\1\u0099\1\u009a\3\uffff\1\u009a"; - static final String DFA436_acceptS = + static final String DFA438_acceptS = "\2\uffff\1\1\1\2\1\3\1\uffff"; - static final String DFA436_specialS = + static final String DFA438_specialS = "\6\uffff}>"; - static final String[] DFA436_transitionS = { + static final String[] DFA438_transitionS = { "\3\2\2\uffff\5\2\3\uffff\1\2\5\uffff\1\2\6\uffff\1\2\2\uffff\1\2\3\uffff"+ "\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\3\uffff\1\2\1\3\1\2\7\uffff"+ "\5\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\1\1\2\5\uffff\1\2\5\uffff"+ @@ -48421,171 +48683,171 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\5" }; - static final short[] DFA436_eot = DFA.unpackEncodedString(DFA436_eotS); - static final short[] DFA436_eof = DFA.unpackEncodedString(DFA436_eofS); - static final char[] DFA436_min = DFA.unpackEncodedStringToUnsignedChars(DFA436_minS); - static final char[] DFA436_max = DFA.unpackEncodedStringToUnsignedChars(DFA436_maxS); - static final short[] DFA436_accept = DFA.unpackEncodedString(DFA436_acceptS); - static final short[] DFA436_special = DFA.unpackEncodedString(DFA436_specialS); - static final short[][] DFA436_transition; + static final short[] DFA438_eot = DFA.unpackEncodedString(DFA438_eotS); + static final short[] DFA438_eof = DFA.unpackEncodedString(DFA438_eofS); + static final char[] DFA438_min = DFA.unpackEncodedStringToUnsignedChars(DFA438_minS); + static final char[] DFA438_max = DFA.unpackEncodedStringToUnsignedChars(DFA438_maxS); + static final short[] DFA438_accept = DFA.unpackEncodedString(DFA438_acceptS); + static final short[] DFA438_special = DFA.unpackEncodedString(DFA438_specialS); + static final short[][] DFA438_transition; static { - int numStates = DFA436_transitionS.length; - DFA436_transition = new short[numStates][]; + int numStates = DFA438_transitionS.length; + DFA438_transition = new short[numStates][]; for (int i=0; i ( ws )? COMMA ( ws )? cp_variable )*"; + return "()* loopback of 1552:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -49389,87 +49651,86 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA548_0 = input.LA(1); + int LA550_0 = input.LA(1); - int index548_0 = input.index(); + int index550_0 = input.index(); input.rewind(); s = -1; - if ( (LA548_0==COMMENT||LA548_0==NL||LA548_0==WS) ) {s = 1;} - else if ( (LA548_0==COMMA) && (synpred65_Css3())) {s = 2;} + if ( (LA550_0==COMMENT||LA550_0==NL||LA550_0==WS) ) {s = 1;} + else if ( (LA550_0==COMMA) && (synpred71_Css3())) {s = 2;} - input.seek(index548_0); + input.seek(index550_0); if ( s>=0 ) return s; break; - case 1 : - int LA548_1 = input.LA(1); + int LA550_1 = input.LA(1); - int index548_1 = input.index(); + int index550_1 = input.index(); input.rewind(); s = -1; - if ( (LA548_1==IDENT) ) {s = 3;} - else if ( (LA548_1==COMMENT||LA548_1==NL||LA548_1==WS) ) {s = 1;} - else if ( (LA548_1==COMMA) && (synpred65_Css3())) {s = 2;} + if ( (LA550_1==IDENT) ) {s = 3;} + else if ( (LA550_1==COMMENT||LA550_1==NL||LA550_1==WS) ) {s = 1;} + else if ( (LA550_1==COMMA) && (synpred71_Css3())) {s = 2;} - input.seek(index548_1); + input.seek(index550_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 548, _s, input); + new NoViableAltException(getDescription(), 550, _s, input); error(nvae); throw nvae; } } - static final String DFA568_eotS = + static final String DFA570_eotS = "\4\uffff"; - static final String DFA568_eofS = + static final String DFA570_eofS = "\4\uffff"; - static final String DFA568_minS = + static final String DFA570_minS = "\2\25\2\uffff"; - static final String DFA568_maxS = + static final String DFA570_maxS = "\2\u009a\2\uffff"; - static final String DFA568_acceptS = + static final String DFA570_acceptS = "\2\uffff\1\1\1\2"; - static final String DFA568_specialS = + static final String DFA570_specialS = "\4\uffff}>"; - static final String[] DFA568_transitionS = { + static final String[] DFA570_transitionS = { "\1\1\37\uffff\1\2\36\uffff\1\1\57\uffff\1\3\25\uffff\1\1", "\1\1\37\uffff\1\2\36\uffff\1\1\57\uffff\1\3\25\uffff\1\1", "", "" }; - static final short[] DFA568_eot = DFA.unpackEncodedString(DFA568_eotS); - static final short[] DFA568_eof = DFA.unpackEncodedString(DFA568_eofS); - static final char[] DFA568_min = DFA.unpackEncodedStringToUnsignedChars(DFA568_minS); - static final char[] DFA568_max = DFA.unpackEncodedStringToUnsignedChars(DFA568_maxS); - static final short[] DFA568_accept = DFA.unpackEncodedString(DFA568_acceptS); - static final short[] DFA568_special = DFA.unpackEncodedString(DFA568_specialS); - static final short[][] DFA568_transition; + static final short[] DFA570_eot = DFA.unpackEncodedString(DFA570_eotS); + static final short[] DFA570_eof = DFA.unpackEncodedString(DFA570_eofS); + static final char[] DFA570_min = DFA.unpackEncodedStringToUnsignedChars(DFA570_minS); + static final char[] DFA570_max = DFA.unpackEncodedStringToUnsignedChars(DFA570_maxS); + static final short[] DFA570_accept = DFA.unpackEncodedString(DFA570_acceptS); + static final short[] DFA570_special = DFA.unpackEncodedString(DFA570_specialS); + static final short[][] DFA570_transition; static { - int numStates = DFA568_transitionS.length; - DFA568_transition = new short[numStates][]; + int numStates = DFA570_transitionS.length; + DFA570_transition = new short[numStates][]; for (int i=0; i Date: Sun, 4 Aug 2024 16:19:37 +0200 Subject: [PATCH 05/94] Update Typescript Language Server to 4.4.3 - Update typescript to 5.6.2 (implies minimal node version 10) - Update typescript-language-server to 4.4.3 - Add PublishDiagnosticsCapabilities to declared capabilities - Added handling of SematicHighlighting for tokenTypeId -1: Assume this means "only consider modifier" - Document update procedure - Add @todo for handling mapping mimetype -> languageId --- .../modules/lsp/client/LSPBindings.java | 4 + .../client/bindings/SemanticHighlight.java | 20 +- ...xtDocumentSyncServerCapabilityHandler.java | 1 + nbbuild/licenses/Apache-2.0-typescript | 199 +++++++++++++- .../Apache-2.0-typescript-language-server | 39 +++ nbbuild/licenses/ISC-graceful-fs | 15 - nbbuild/licenses/MIT-command-exists | 22 -- nbbuild/licenses/MIT-commander | 22 -- nbbuild/licenses/MIT-fs-extra | 15 - nbbuild/licenses/MIT-jsonfile | 15 - ...rypto-random-string-temp-dir-unique-string | 21 -- nbbuild/licenses/MIT-tempy | 9 - nbbuild/licenses/MIT-universalify | 20 -- nbbuild/licenses/MIT-vscode-jsonrpc | 46 ---- nbbuild/licenses/MIT-vscode-languageserver | 50 ---- .../MIT-vscode-languageserver-protocol | 46 ---- .../licenses/MIT-vscode-languageserver-types | 11 - nbbuild/licenses/MIT-vscode-textbuffer | 21 -- nbbuild/licenses/MIT-vscode-uri | 9 - nbbuild/licenses/names.properties | 14 - webcommon/typescript.editor/.gitignore | 1 + .../bundles/package/package.json | 4 +- .../typescript.editor/bundles/prepare/README | 15 + .../learning/prepare/PrepareBundles.java | 27 +- .../external/README-update.md | 34 +++ .../typescript.editor/external/binaries-list | 21 +- .../external/command-exists-1.2.6-license.txt | 28 -- .../external/commander-2.20.3-license.txt | 28 -- .../crypto-random-string-1.0.0-license.txt | 27 -- .../external/fs-extra-7.0.1-license.txt | 21 -- .../external/graceful-fs-4.2.6-license.txt | 21 -- .../external/jsonfile-4.0.0-license.txt | 21 -- .../external/p-debounce-1.0.0-license.txt | 27 -- .../external/temp-dir-1.0.0-license.txt | 27 -- .../external/tempy-0.2.1-license.txt | 15 - .../external/typescript-4.1.4-license.txt | 61 ----- .../external/typescript-5.6.2-license.txt | 258 ++++++++++++++++++ ...escript-language-server-4.3.3-license.txt} | 43 ++- .../external/unique-string-1.0.0-license.txt | 27 -- .../external/universalify-0.1.2-license.txt | 26 -- .../external/vscode-jsonrpc-6.0.0-license.txt | 52 ---- ...e-languageserver-5.3.0-next.10-license.txt | 56 ---- ...languageserver-protocol-3.16.0-license.txt | 52 ---- ...de-languageserver-types-3.16.0-license.txt | 17 -- .../vscode-textbuffer-1.0.0-license.txt | 27 -- .../external/vscode-uri-1.0.8-license.txt | 15 - .../typescript/editor/TypeScriptLSP.java | 2 +- 47 files changed, 627 insertions(+), 925 deletions(-) delete mode 100644 nbbuild/licenses/ISC-graceful-fs delete mode 100644 nbbuild/licenses/MIT-command-exists delete mode 100644 nbbuild/licenses/MIT-commander delete mode 100644 nbbuild/licenses/MIT-fs-extra delete mode 100644 nbbuild/licenses/MIT-jsonfile delete mode 100644 nbbuild/licenses/MIT-p-debounce-crypto-random-string-temp-dir-unique-string delete mode 100644 nbbuild/licenses/MIT-tempy delete mode 100644 nbbuild/licenses/MIT-universalify delete mode 100644 nbbuild/licenses/MIT-vscode-jsonrpc delete mode 100644 nbbuild/licenses/MIT-vscode-languageserver delete mode 100644 nbbuild/licenses/MIT-vscode-languageserver-protocol delete mode 100644 nbbuild/licenses/MIT-vscode-languageserver-types delete mode 100644 nbbuild/licenses/MIT-vscode-textbuffer delete mode 100644 nbbuild/licenses/MIT-vscode-uri create mode 100644 webcommon/typescript.editor/external/README-update.md delete mode 100644 webcommon/typescript.editor/external/command-exists-1.2.6-license.txt delete mode 100644 webcommon/typescript.editor/external/commander-2.20.3-license.txt delete mode 100644 webcommon/typescript.editor/external/crypto-random-string-1.0.0-license.txt delete mode 100644 webcommon/typescript.editor/external/fs-extra-7.0.1-license.txt delete mode 100644 webcommon/typescript.editor/external/graceful-fs-4.2.6-license.txt delete mode 100644 webcommon/typescript.editor/external/jsonfile-4.0.0-license.txt delete mode 100644 webcommon/typescript.editor/external/p-debounce-1.0.0-license.txt delete mode 100644 webcommon/typescript.editor/external/temp-dir-1.0.0-license.txt delete mode 100644 webcommon/typescript.editor/external/tempy-0.2.1-license.txt delete mode 100644 webcommon/typescript.editor/external/typescript-4.1.4-license.txt create mode 100644 webcommon/typescript.editor/external/typescript-5.6.2-license.txt rename webcommon/typescript.editor/external/{typescript-language-server-0.5.1-license.txt => typescript-language-server-4.3.3-license.txt} (85%) delete mode 100644 webcommon/typescript.editor/external/unique-string-1.0.0-license.txt delete mode 100644 webcommon/typescript.editor/external/universalify-0.1.2-license.txt delete mode 100644 webcommon/typescript.editor/external/vscode-jsonrpc-6.0.0-license.txt delete mode 100644 webcommon/typescript.editor/external/vscode-languageserver-5.3.0-next.10-license.txt delete mode 100644 webcommon/typescript.editor/external/vscode-languageserver-protocol-3.16.0-license.txt delete mode 100644 webcommon/typescript.editor/external/vscode-languageserver-types-3.16.0-license.txt delete mode 100644 webcommon/typescript.editor/external/vscode-textbuffer-1.0.0-license.txt delete mode 100644 webcommon/typescript.editor/external/vscode-uri-1.0.8-license.txt diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java index b4d2acaac50a..f2860f1b2e43 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/LSPBindings.java @@ -53,10 +53,12 @@ import java.util.stream.Collectors; import javax.swing.event.ChangeListener; import org.eclipse.lsp4j.ClientCapabilities; +import org.eclipse.lsp4j.DiagnosticWorkspaceCapabilities; import org.eclipse.lsp4j.DocumentSymbolCapabilities; import org.eclipse.lsp4j.InitializeParams; import org.eclipse.lsp4j.InitializeResult; import org.eclipse.lsp4j.InitializedParams; +import org.eclipse.lsp4j.PublishDiagnosticsCapabilities; import org.eclipse.lsp4j.ResourceOperationKind; import org.eclipse.lsp4j.SemanticTokens; import org.eclipse.lsp4j.SemanticTokensCapabilities; @@ -427,6 +429,8 @@ private static InitializeResult initServer(Process p, LanguageServer server, Fil wcc.getWorkspaceEdit().setResourceOperations(Arrays.asList(ResourceOperationKind.Create, ResourceOperationKind.Delete, ResourceOperationKind.Rename)); SymbolCapabilities sc = new SymbolCapabilities(new SymbolKindCapabilities(Arrays.asList(SymbolKind.values()))); wcc.setSymbol(sc); + PublishDiagnosticsCapabilities publishDiagnostics = new PublishDiagnosticsCapabilities(); + tdcc.setPublishDiagnostics(publishDiagnostics); initParams.setCapabilities(new ClientCapabilities(wcc, tdcc, null)); CompletableFuture initResult = server.initialize(initParams); while (true) { diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SemanticHighlight.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SemanticHighlight.java index a121a1e1bfd9..c5da5d415b6f 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SemanticHighlight.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/SemanticHighlight.java @@ -87,8 +87,8 @@ public void run(LSPBindings bindings, FileObject file) { int lastColumn = 0; int offset = 0; for (int i = 0; i < data.size(); i += 5) { - int deltaLine = data.get(i).intValue(); - int deltaColumn = data.get(i + 1).intValue(); + int deltaLine = data.get(i); + int deltaColumn = data.get(i + 1); if (deltaLine == 0) { lastColumn += deltaColumn; offset += deltaColumn; @@ -97,11 +97,11 @@ public void run(LSPBindings bindings, FileObject file) { lastColumn = deltaColumn; offset = Utils.getOffset(doc, new Position(lastLine, lastColumn)); } - if (data.get(i + 2).intValue() <= 0) { + if (data.get(i + 2) <= 0) { continue; //XXX! } - AttributeSet tokenHighlight = fcs == null ? EMPTY : tokenHighlight(bindings, fcs, data.get(i + 3).intValue(), data.get(i + 4).intValue()); - target.addHighlight(offset, offset + data.get(i + 2).intValue(), tokenHighlight); + AttributeSet tokenHighlight = fcs == null ? EMPTY : tokenHighlight(bindings, fcs, data.get(i + 3), data.get(i + 4)); + target.addHighlight(offset, offset + data.get(i + 2), tokenHighlight); } getBag(doc).setHighlights(target); } catch (InterruptedException | ExecutionException ex) { @@ -111,6 +111,7 @@ public void run(LSPBindings bindings, FileObject file) { private final Map> tokenId2Highlight = new HashMap<>(); + @SuppressWarnings("AssignmentToMethodParameter") private AttributeSet tokenHighlight(final LSPBindings bindings, final FontColorSettings fcs, int tokenId, int modifiers) { assert fcs != null; return tokenId2Highlight.computeIfAbsent(tokenId, s -> new HashMap<>()) @@ -121,7 +122,7 @@ private AttributeSet tokenHighlight(final LSPBindings bindings, final FontColorS //invalid token id return EMPTY; } - String tokenName = tokenTypes.get(tokenId); + String tokenName = tokenId >= 0 ? tokenTypes.get(tokenId) : null; boolean isStatic = false; boolean isDeclaration = false; while (mods != 0) { @@ -134,7 +135,7 @@ private AttributeSet tokenHighlight(final LSPBindings bindings, final FontColorS mods &= ~mod; } - String colorSet = "mod-" + tokenName + (isDeclaration ? "-declaration" : ""); + String colorSet = "mod" + (tokenName != null ? ("-" + tokenName) : "") + (isDeclaration ? "-declaration" : ""); if (LOG.isLoggable(Level.FINE)) { LOG.log(Level.FINE, "LSP Semantic coloring. token kind: {0}", colorSet); } @@ -159,14 +160,15 @@ private static OffsetsBag getBag(Document doc) { OffsetsBag bag = (OffsetsBag) doc.getProperty(SemanticHighlight.class); if (bag == null) { - doc.putProperty(SemanticHighlight.class, bag = new OffsetsBag(doc)); + bag = new OffsetsBag(doc); + doc.putProperty(SemanticHighlight.class, bag); } return bag; } private static AttributeSet adjustAttributes(AttributeSet as) { - Collection attrs = new LinkedList(); + Collection attrs = new LinkedList<>(); for (Enumeration e = as.getAttributeNames(); e.hasMoreElements(); ) { Object key = e.nextElement(); diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java index 2659afddcf67..c59b4b08acf9 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java @@ -302,6 +302,7 @@ private void ensureDidOpenSent(Document doc) { } }); + // @todo: the mimetype is not the language ID TextDocumentItem textDocumentItem = new TextDocumentItem(uri, FileUtil.getMIMEType(file), 0, diff --git a/nbbuild/licenses/Apache-2.0-typescript b/nbbuild/licenses/Apache-2.0-typescript index edc24fd6e140..5ed8a8ca7938 100644 --- a/nbbuild/licenses/Apache-2.0-typescript +++ b/nbbuild/licenses/Apache-2.0-typescript @@ -1,8 +1,9 @@ +Parts of this work are licensed: Apache License Version 2.0, January 2004 -http://www.apache.org/licenses/ +http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION @@ -53,3 +54,199 @@ If the Work includes a "NOTICE" text file as part of its distribution, then any 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS + + +Parts of this work are licensed: +/*!----------------- TypeScript ThirdPartyNotices ------------------------------------------------------- + +The TypeScript software incorporates third party material from the projects listed below. The original copyright notice and the license under which Microsoft received such third party material are set forth below. Microsoft reserves all other rights not expressly granted, whether by implication, estoppel or otherwise. + +--------------------------------------------- +Third Party Code Components +-------------------------------------------- + +------------------- DefinitelyTyped -------------------- +This file is based on or incorporates material from the projects listed below (collectively "Third Party Code"). Microsoft is not the original author of the Third Party Code. The original copyright notice and the license, under which Microsoft received such Third Party Code, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft, not the third party, licenses the Third Party Code to you under the terms set forth in the EULA for the Microsoft Product. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise. +DefinitelyTyped +This project is licensed under the MIT license. Copyrights are respective of each contributor listed at the beginning of each definition file. Provided for Informational Purposes Only + +MIT License +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------------- + +------------------- Unicode -------------------- +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +Unicode Data Files include all data files under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +Unicode Data Files do not include PDF online code charts under the +directory http://www.unicode.org/Public/. + +Software includes any source code published in the Unicode Standard +or under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1991-2017 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. +------------------------------------------------------------------------------------- + +-------------------Document Object Model----------------------------- +DOM + +W3C License +This work is being provided by the copyright holders under the following license. +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following +on ALL copies of the work or portions thereof, including modifications: +* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived +from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. +Title to copyright in this work will at all times remain with copyright holders. + +--------- + +DOM +Copyright © 2018 WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative Commons Attribution 4.0 International License: Attribution 4.0 International +======================================================================= +Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC- licensed material, or material used under an exception or limitation to copyright. More considerations for licensors: + +wiki.creativecommons.org/Considerations_for_licensors Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason--for example, because of any applicable exception or limitation to copyright--then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More_considerations for the public: wiki.creativecommons.org/Considerations_for_licensees ======================================================================= +Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. b. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 2. Patent and trademark rights are not licensed under this Public License. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. a. Attribution. 1. If You Share the Licensed Material (including in modified form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); ii. a copyright notice; iii. a notice that refers to this Public License; iv. a notice that refers to the disclaimer of warranties; v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; b. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and c. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. Section 6 -- Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 2. upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. Section 8 -- Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. ======================================================================= Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. + +-------------------------------------------------------------------------------- + +----------------------Web Background Synchronization------------------------------ + +Web Background Synchronization Specification +Portions of spec © by W3C + +W3C Community Final Specification Agreement +To secure commitments from participants for the full text of a Community or Business Group Report, the group may call for voluntary commitments to the following terms; a "summary" is +available. See also the related "W3C Community Contributor License Agreement". +1. The Purpose of this Agreement. +This Agreement sets forth the terms under which I make certain copyright and patent rights available to you for your implementation of the Specification. +Any other capitalized terms not specifically defined herein have the same meaning as those terms have in the "W3C Patent Policy", and if not defined there, in the "W3C Process Document". +2. Copyrights. +2.1. Copyright Grant. I grant to you a perpetual (for the duration of the applicable copyright), worldwide, non-exclusive, no-charge, royalty-free, copyright license, without any obligation for accounting to me, to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, distribute, and implement the Specification to the full extent of my copyright interest in the Specification. +2.2. Attribution. As a condition of the copyright grant, you must include an attribution to the Specification in any derivative work you make based on the Specification. That attribution must include, at minimum, the Specification name and version number. +3. Patents. +3.1. Patent Licensing Commitment. I agree to license my Essential Claims under the W3C Community RF Licensing Requirements. This requirement includes Essential Claims that I own and any that I have the right to license without obligation of payment or other consideration to an unrelated third party. W3C Community RF Licensing Requirements obligations made concerning the Specification and described in this policy are binding on me for the life of the patents in question and encumber the patents containing Essential Claims, regardless of changes in participation status or W3C Membership. I also agree to license my Essential Claims under the W3C Community RF Licensing Requirements in derivative works of the Specification so long as all normative portions of the Specification are maintained and that this licensing commitment does not extend to any portion of the derivative work that was not included in the Specification. +3.2. Optional, Additional Patent Grant. In addition to the provisions of Section 3.1, I may also, at my option, make certain intellectual property rights infringed by implementations of the Specification, including Essential Claims, available by providing those terms via the W3C Web site. +4. No Other Rights. Except as specifically set forth in this Agreement, no other express or implied patent, trademark, copyright, or other property rights are granted under this Agreement, including by implication, waiver, or estoppel. +5. Antitrust Compliance. I acknowledge that I may compete with other participants, that I am under no obligation to implement the Specification, that each participant is free to develop competing technologies and standards, and that each party is free to license its patent rights to third parties, including for the purpose of enabling competing technologies and standards. +6. Non-Circumvention. I agree that I will not intentionally take or willfully assist any third party to take any action for the purpose of circumventing my obligations under this Agreement. +7. Transition to W3C Recommendation Track. The Specification developed by the Project may transition to the W3C Recommendation Track. The W3C Team is responsible for notifying me that a Corresponding Working Group has been chartered. I have no obligation to join the Corresponding Working Group. If the Specification developed by the Project transitions to the W3C Recommendation Track, the following terms apply: +7.1. If I join the Corresponding Working Group. If I join the Corresponding Working Group, I will be subject to all W3C rules, obligations, licensing commitments, and policies that govern that Corresponding Working Group. +7.2. If I Do Not Join the Corresponding Working Group. +7.2.1. Licensing Obligations to Resulting Specification. If I do not join the Corresponding Working Group, I agree to offer patent licenses according to the W3C Royalty-Free licensing requirements described in Section 5 of the W3C Patent Policy for the portions of the Specification included in the resulting Recommendation. This licensing commitment does not extend to any portion of an implementation of the Recommendation that was not included in the Specification. This licensing commitment may not be revoked but may be modified through the exclusion process defined in Section 4 of the W3C Patent Policy. I am not required to join the Corresponding Working Group to exclude patents from the W3C Royalty-Free licensing commitment, but must otherwise follow the normal exclusion procedures defined by the W3C Patent Policy. The W3C Team will notify me of any Call for Exclusion in the Corresponding Working Group as set forth in Section 4.5 of the W3C Patent Policy. +7.2.2. No Disclosure Obligation. If I do not join the Corresponding Working Group, I have no patent disclosure obligations outside of those set forth in Section 6 of the W3C Patent Policy. +8. Conflict of Interest. I will disclose significant relationships when those relationships might reasonably be perceived as creating a conflict of interest with my role. I will notify W3C of any change in my affiliation using W3C-provided mechanisms. +9. Representations, Warranties and Disclaimers. I represent and warrant that I am legally entitled to grant the rights and promises set forth in this Agreement. IN ALL OTHER RESPECTS THE SPECIFICATION IS PROVIDED “AS IS.” The entire risk as to implementing or otherwise using the Specification is assumed by the implementer and user. Except as stated herein, I expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the Specification. IN NO EVENT WILL ANY PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. All of my obligations under Section 3 regarding the transfer, successors in interest, or assignment of Granted Claims will be satisfied if I notify the transferee or assignee of any patent that I know contains Granted Claims of the obligations under Section 3. Nothing in this Agreement requires me to undertake a patent search. +10. Definitions. +10.1. Agreement. “Agreement” means this W3C Community Final Specification Agreement. +10.2. Corresponding Working Group. “Corresponding Working Group” is a W3C Working Group that is chartered to develop a Recommendation, as defined in the W3C Process Document, that takes the Specification as an input. +10.3. Essential Claims. “Essential Claims” shall mean all claims in any patent or patent application in any jurisdiction in the world that would necessarily be infringed by implementation of the Specification. A claim is necessarily infringed hereunder only when it is not possible to avoid infringing it because there is no non-infringing alternative for implementing the normative portions of the Specification. Existence of a non-infringing alternative shall be judged based on the state of the art at the time of the publication of the Specification. The following are expressly excluded from and shall not be deemed to constitute Essential Claims: +10.3.1. any claims other than as set forth above even if contained in the same patent as Essential Claims; and +10.3.2. claims which would be infringed only by: +portions of an implementation that are not specified in the normative portions of the Specification, or +enabling technologies that may be necessary to make or use any product or portion thereof that complies with the Specification and are not themselves expressly set forth in the Specification (e.g., semiconductor manufacturing technology, compiler technology, object-oriented technology, basic operating system technology, and the like); or +the implementation of technology developed elsewhere and merely incorporated by reference in the body of the Specification. +10.3.3. design patents and design registrations. +For purposes of this definition, the normative portions of the Specification shall be deemed to include only architectural and interoperability requirements. Optional features in the RFC 2119 sense are considered normative unless they are specifically identified as informative. Implementation examples or any other material that merely illustrate the requirements of the Specification are informative, rather than normative. +10.4. I, Me, or My. “I,” “me,” or “my” refers to the signatory. +10.5 Project. “Project” means the W3C Community Group or Business Group for which I executed this Agreement. +10.6. Specification. “Specification” means the Specification identified by the Project as the target of this agreement in a call for Final Specification Commitments. W3C shall provide the authoritative mechanisms for the identification of this Specification. +10.7. W3C Community RF Licensing Requirements. “W3C Community RF Licensing Requirements” license shall mean a non-assignable, non-sublicensable license to make, have made, use, sell, have sold, offer to sell, import, and distribute and dispose of implementations of the Specification that: +10.7.1. shall be available to all, worldwide, whether or not they are W3C Members; +10.7.2. shall extend to all Essential Claims owned or controlled by me; +10.7.3. may be limited to implementations of the Specification, and to what is required by the Specification; +10.7.4. may be conditioned on a grant of a reciprocal RF license (as defined in this policy) to all Essential Claims owned or controlled by the licensee. A reciprocal license may be required to be available to all, and a reciprocal license may itself be conditioned on a further reciprocal license from all. +10.7.5. may not be conditioned on payment of royalties, fees or other consideration; +10.7.6. may be suspended with respect to any licensee when licensor issued by licensee for infringement of claims essential to implement the Specification or any W3C Recommendation; +10.7.7. may not impose any further conditions or restrictions on the use of any technology, intellectual property rights, or other restrictions on behavior of the licensee, but may include reasonable, customary terms relating to operation or maintenance of the license relationship such as the following: choice of law and dispute resolution; +10.7.8. shall not be considered accepted by an implementer who manifests an intent not to accept the terms of the W3C Community RF Licensing Requirements license as offered by the licensor. +10.7.9. The RF license conforming to the requirements in this policy shall be made available by the licensor as long as the Specification is in effect. The term of such license shall be for the life of the patents in question. +I am encouraged to provide a contact from which licensing information can be obtained and other relevant licensing information. Any such information will be made publicly available. +10.8. You or Your. “You,” “you,” or “your” means any person or entity who exercises copyright or patent rights granted under this Agreement, and any person that person or entity controls. + +------------------------------------------------------------------------------------- + +------------------- WebGL ----------------------------- +Copyright (c) 2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +------------------------------------------------------ + +------------- End of ThirdPartyNotices ------------------------------------------- */ + diff --git a/nbbuild/licenses/Apache-2.0-typescript-language-server b/nbbuild/licenses/Apache-2.0-typescript-language-server index 8dada3edaf50..671b6d79c3b7 100644 --- a/nbbuild/licenses/Apache-2.0-typescript-language-server +++ b/nbbuild/licenses/Apache-2.0-typescript-language-server @@ -1,3 +1,42 @@ +Parts of the code copied from the https://github.com/microsoft/vscode repository are licensed under the following license: + +BEGIN LICENSE ---------------------------------------------------------------- + +MIT License + +Copyright (c) 2015 - present Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +END LICESE ------------------------------------------------------------------- + +This applies to files that include the following license header: + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + + +The rest of the code licensed under: + + Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ diff --git a/nbbuild/licenses/ISC-graceful-fs b/nbbuild/licenses/ISC-graceful-fs deleted file mode 100644 index 9d2c8036969b..000000000000 --- a/nbbuild/licenses/ISC-graceful-fs +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/nbbuild/licenses/MIT-command-exists b/nbbuild/licenses/MIT-command-exists deleted file mode 100644 index ebcae6641264..000000000000 --- a/nbbuild/licenses/MIT-command-exists +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Matthew Conlen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/nbbuild/licenses/MIT-commander b/nbbuild/licenses/MIT-commander deleted file mode 100644 index 10f997ab1045..000000000000 --- a/nbbuild/licenses/MIT-commander +++ /dev/null @@ -1,22 +0,0 @@ -(The MIT License) - -Copyright (c) 2011 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/nbbuild/licenses/MIT-fs-extra b/nbbuild/licenses/MIT-fs-extra deleted file mode 100644 index 93546dfb7655..000000000000 --- a/nbbuild/licenses/MIT-fs-extra +++ /dev/null @@ -1,15 +0,0 @@ -(The MIT License) - -Copyright (c) 2011-2017 JP Richardson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/nbbuild/licenses/MIT-jsonfile b/nbbuild/licenses/MIT-jsonfile deleted file mode 100644 index cb7e807b9bdb..000000000000 --- a/nbbuild/licenses/MIT-jsonfile +++ /dev/null @@ -1,15 +0,0 @@ -(The MIT License) - -Copyright (c) 2012-2015, JP Richardson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/nbbuild/licenses/MIT-p-debounce-crypto-random-string-temp-dir-unique-string b/nbbuild/licenses/MIT-p-debounce-crypto-random-string-temp-dir-unique-string deleted file mode 100644 index 654d0bfe9434..000000000000 --- a/nbbuild/licenses/MIT-p-debounce-crypto-random-string-temp-dir-unique-string +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/nbbuild/licenses/MIT-tempy b/nbbuild/licenses/MIT-tempy deleted file mode 100644 index e7af2f77107d..000000000000 --- a/nbbuild/licenses/MIT-tempy +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/nbbuild/licenses/MIT-universalify b/nbbuild/licenses/MIT-universalify deleted file mode 100644 index 514e84e648df..000000000000 --- a/nbbuild/licenses/MIT-universalify +++ /dev/null @@ -1,20 +0,0 @@ -(The MIT License) - -Copyright (c) 2017, Ryan Zimmerman - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the 'Software'), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/nbbuild/licenses/MIT-vscode-jsonrpc b/nbbuild/licenses/MIT-vscode-jsonrpc deleted file mode 100644 index 71c2ae32db71..000000000000 --- a/nbbuild/licenses/MIT-vscode-jsonrpc +++ /dev/null @@ -1,46 +0,0 @@ -Parts of this work are licensed: -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Parts of this work are licensed: -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -For Microsoft vscode-jsonrpc - -This project incorporates material from the project(s) listed below (collectively, “Third Party Code”). -Microsoft is not the original author of the Third Party Code. The original copyright notice and license -under which Microsoft received such Third Party Code are set out below. This Third Party Code is licensed -to you under their original license terms set forth below. Microsoft reserves all other rights not expressly -granted, whether by implication, estoppel or otherwise. - -1. DefinitelyTyped version 0.0.1 (https://github.com/borisyankov/DefinitelyTyped) - -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/nbbuild/licenses/MIT-vscode-languageserver b/nbbuild/licenses/MIT-vscode-languageserver deleted file mode 100644 index 7e01fb52a443..000000000000 --- a/nbbuild/licenses/MIT-vscode-languageserver +++ /dev/null @@ -1,50 +0,0 @@ -Parts of this work are licensed: -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Parts of this work are licensed: -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -For Microsoft vscode-languageserver - -This project incorporates material from the project(s) listed below (collectively, “Third Party Code”). -Microsoft is not the original author of the Third Party Code. The original copyright notice and license -under which Microsoft received such Third Party Code are set out below. This Third Party Code is licensed -to you under their original license terms set forth below. Microsoft reserves all other rights not expressly -granted, whether by implication, estoppel or otherwise. - -1. DefinitelyTyped version 0.0.1 (https://github.com/borisyankov/DefinitelyTyped) - -%% DefinitelyTyped NOTICES AND INFORMATION BEGIN HERE -========================================= -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF DefinitelyTyped NOTICES AND INFORMATION \ No newline at end of file diff --git a/nbbuild/licenses/MIT-vscode-languageserver-protocol b/nbbuild/licenses/MIT-vscode-languageserver-protocol deleted file mode 100644 index ed3c66039b9b..000000000000 --- a/nbbuild/licenses/MIT-vscode-languageserver-protocol +++ /dev/null @@ -1,46 +0,0 @@ -Parts of this work are licensed: -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Parts of this work are licensed: -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -For Microsoft vscode-languageclient - -This project incorporates material from the project(s) listed below (collectively, “Third Party Code”). -Microsoft is not the original author of the Third Party Code. The original copyright notice and license -under which Microsoft received such Third Party Code are set out below. This Third Party Code is licensed -to you under their original license terms set forth below. Microsoft reserves all other rights not expressly -granted, whether by implication, estoppel or otherwise. - -1. DefinitelyTyped version 0.0.1 (https://github.com/borisyankov/DefinitelyTyped) - -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/nbbuild/licenses/MIT-vscode-languageserver-types b/nbbuild/licenses/MIT-vscode-languageserver-types deleted file mode 100644 index a07e3ae825f8..000000000000 --- a/nbbuild/licenses/MIT-vscode-languageserver-types +++ /dev/null @@ -1,11 +0,0 @@ -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/nbbuild/licenses/MIT-vscode-textbuffer b/nbbuild/licenses/MIT-vscode-textbuffer deleted file mode 100644 index 21071075c245..000000000000 --- a/nbbuild/licenses/MIT-vscode-textbuffer +++ /dev/null @@ -1,21 +0,0 @@ - MIT License - - Copyright (c) Microsoft Corporation. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE diff --git a/nbbuild/licenses/MIT-vscode-uri b/nbbuild/licenses/MIT-vscode-uri deleted file mode 100644 index 29db530db43f..000000000000 --- a/nbbuild/licenses/MIT-vscode-uri +++ /dev/null @@ -1,9 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/nbbuild/licenses/names.properties b/nbbuild/licenses/names.properties index daf4f34a3395..36ea7e99937c 100644 --- a/nbbuild/licenses/names.properties +++ b/nbbuild/licenses/names.properties @@ -82,17 +82,3 @@ jflex=JFlex GNU GPL license with exception for generated code #NPM modules: Apache-2.0-typescript=Apache 2.0 license for typescript Apache-2.0-typescript-language-server=Apache 2.0 license for typescript-language-server -ISC-graceful-fs=ISC license for graceful-fs -MIT-commander=MIT license for commander -MIT-command-exists=MIT license for command-exists -MIT-fs-extra=MIT license for fs-extra -MIT-jsonfile=MIT license for jsonfile -MIT-p-debounce-crypto-random-string-temp-dir-unique-string=MIT license for p-debounce, crypto-random-string, temp-dir, unique-string -MIT-tempy=MIT license for tempy -MIT-universalify=MIT license for universalify -MIT-vscode-jsonrpc=MIT license for jsonrpc -MIT-vscode-languageserver=MIT license for vscode-languageserver -MIT-vscode-languageserver-protocol=MIT license for vscode-languageserver-protocol -MIT-vscode-languageserver-types=MIT license for vscode-languageserver-types -MIT-vscode-textbuffer=MIT license for vscode-textbuffer -MIT-vscode-uri=MIT license for vscode-uri diff --git a/webcommon/typescript.editor/.gitignore b/webcommon/typescript.editor/.gitignore index 4bf0b2a47bf8..e90fe9a1f2d3 100644 --- a/webcommon/typescript.editor/.gitignore +++ b/webcommon/typescript.editor/.gitignore @@ -2,5 +2,6 @@ bundles/bundles bundles/external bundles/licenses bundles/package/node_modules +bundles/package/package-lock.json bundles/prepare/nbactions.xml bundles/prepare/target/ \ No newline at end of file diff --git a/webcommon/typescript.editor/bundles/package/package.json b/webcommon/typescript.editor/bundles/package/package.json index 129824b69f21..fbb7dc256f59 100644 --- a/webcommon/typescript.editor/bundles/package/package.json +++ b/webcommon/typescript.editor/bundles/package/package.json @@ -1,6 +1,6 @@ { "dependencies": { - "typescript-language-server": "0.5.1", - "typescript": "4.1.4" + "typescript-language-server": "4.3.3", + "typescript": "5.6.2" } } diff --git a/webcommon/typescript.editor/bundles/prepare/README b/webcommon/typescript.editor/bundles/prepare/README index 4a6f542c8a1c..c5e08a5d2d59 100644 --- a/webcommon/typescript.editor/bundles/prepare/README +++ b/webcommon/typescript.editor/bundles/prepare/README @@ -11,3 +11,18 @@ following inside the "bundles" directory: your module. This directory includes licenses, binaries-list, and the zipped modules * external directory, which contains zips that should be uploaded to the binary storage server * licenses directory, which contains new license files that should be put into nbbuild/licenses + +Run directly +------------ + +The binary can be run directly using the maven exec module. The call assumes, +that the path to the netbeans checkout is placed into the environment variable +$NB_CHECKOUT. + +``` +cd $NB_CHECKOUT +mvn -f webcommon/typescript.editor/bundles/prepare \ + -Dexec.mainClass="org.netbeans.modules.learning.prepare.PrepareBundles" \ + -Dexec.args="$NB_CHECKOUT/webcommon/typescript.editor/bundles $NB_CHECKOUT" \ + package exec:java +``` \ No newline at end of file diff --git a/webcommon/typescript.editor/bundles/prepare/src/main/java/org/netbeans/modules/learning/prepare/PrepareBundles.java b/webcommon/typescript.editor/bundles/prepare/src/main/java/org/netbeans/modules/learning/prepare/PrepareBundles.java index b238952dc945..eedd5121eb9d 100644 --- a/webcommon/typescript.editor/bundles/prepare/src/main/java/org/netbeans/modules/learning/prepare/PrepareBundles.java +++ b/webcommon/typescript.editor/bundles/prepare/src/main/java/org/netbeans/modules/learning/prepare/PrepareBundles.java @@ -58,6 +58,10 @@ public class PrepareBundles { "License.txt", "LICENSE.md" }; + private static final String[] SECONDARY_LICENSE_FILE_NAMES = { + "thirdpartynotices.txt", + "ThirdPartyNoticeText.txt" + }; private static final String nl = "\n"; public static void main(String... args) throws IOException, InterruptedException, NoSuchAlgorithmException { @@ -99,6 +103,7 @@ public static void main(String... args) throws IOException, InterruptedException try (DirectoryStream ds = Files.newDirectoryStream(packagesDir.resolve("node_modules"))) { for (Path module : ds) { if (".bin".equals(module.getFileName().toString())) continue; + if (! Files.isDirectory(module)) continue; Path packageJson = module.resolve("package.json"); if (!Files.isReadable(packageJson)) { @@ -118,7 +123,15 @@ public static void main(String... args) throws IOException, InterruptedException throw new IllegalStateException("Cannot find license for: " + module.getFileName()); } - Path thirdpartynoticestxt = module.resolve("thirdpartynotices.txt"); + Path thirdpartynoticestxt = null; + + for(String l: SECONDARY_LICENSE_FILE_NAMES) { + if (Files.isReadable(module.resolve(l))) { + thirdpartynoticestxt = module.resolve(l); + break; + } + } + String packageJsonText = readFileIntoString(packageJson); Map packageJsonData = new Gson().fromJson(packageJsonText, HashMap.class); String name = (String) packageJsonData.get("name"); @@ -128,12 +141,12 @@ public static void main(String... args) throws IOException, InterruptedException String licenseKey = (String) packageJsonData.get("license"); String licenseText; - if (Files.isReadable(thirdpartynoticestxt)) { - licenseText = "Parts of this work are licensed:\n" + - readFileIntoString(license) + - "\n\n" + - "Parts of this work are licensed:\n" + - readFileIntoString(thirdpartynoticestxt); + if (thirdpartynoticestxt != null) { + licenseText = "Parts of this work are licensed:\n" + + readFileIntoString(license) + + "\n\n" + + "Parts of this work are licensed:\n" + + readFileIntoString(thirdpartynoticestxt); } else { licenseText = readFileIntoString(license); } diff --git a/webcommon/typescript.editor/external/README-update.md b/webcommon/typescript.editor/external/README-update.md new file mode 100644 index 000000000000..fd0e601196b0 --- /dev/null +++ b/webcommon/typescript.editor/external/README-update.md @@ -0,0 +1,34 @@ +Licensed to the Apache Software Foundation (ASF) under one or more contributor +license agreements; and to You under the Apache License, Version 2.0. + +Updating the Typescript Language Server +======================================= + +1. Update the versions in `bundles/package/package.json` +2. Run the `prepare` programm according to the documentation in + `bundles/prepare/README` +3. Clean the `external` folder from all binaries and license files and the + `binaries-list` file +4. Check the generated license files in `bundles/bundles` and copy the contents + of that folder to the `external` folder +5. Rebuild the `typescript.editor` module and test it +6. Upload the files to netbeans.osuosl.org + +For review it is advised to make use of the option to use arbitrary URLs in the +`binary-list` file. For example, if the list looks like this: + +``` +713D7D3E9651707669DE7452B0262D85DDC8344F typescript-5.5.4.zip +6895F0456E4B0FE3D857AA7D3F399932A026D060 typescript-language-server-4.3.3.zip +``` + +For review the two files `typescript-language-server-4.3.3.zip` and +`typescript-5.5.4.zip` can be placed on `my-webspace.org`. The `binary-list` +would then read: + +``` +713D7D3E9651707669DE7452B0262D85DDC8344F https://my-webspace.org/typescript-5.5.4.zip typescript-5.5.4.zip +6895F0456E4B0FE3D857AA7D3F399932A026D060 https://my-webspace.org/typescript-language-server-4.3.3.zip typescript-language-server-4.3.3.zip +``` + +Step 6 can then be executed once review is done. \ No newline at end of file diff --git a/webcommon/typescript.editor/external/binaries-list b/webcommon/typescript.editor/external/binaries-list index 67441f584754..015d3ff613a8 100644 --- a/webcommon/typescript.editor/external/binaries-list +++ b/webcommon/typescript.editor/external/binaries-list @@ -15,22 +15,5 @@ # specific language governing permissions and limitations # under the License. -EEBA3C1183C93B924F59F99D18143C6854855140 command-exists-1.2.6.zip -D54E3334BE790F2AF65068B404E069AB7158795B commander-2.20.3.zip -9545FC9061706C762E852F3D4DA3164EDFD96FE1 crypto-random-string-1.0.0.zip -97705D5EE06EDD1981369ABD129EAC37C25DC5D5 fs-extra-7.0.1.zip -DB515913528F8F8C48678FEF88697875ADEF133C graceful-fs-4.2.6.zip -5A908B2D235A118C634F58E228B3992488847A98 jsonfile-4.0.0.zip -F176424C20EE59996C503BAEBF18D2C70F184840 p-debounce-1.0.0.zip -C553EC2693BF9B1E942E8DDFFBF6A591FE753F84 temp-dir-1.0.0.zip -5C31F32D7D10CAB54F13408C64B42B62D51796EE tempy-0.2.1.zip -B36AEE158BE444FD89CA51DBE61EC2BA4E7653AA typescript-4.1.4.zip -719BC3E8A6F6DDA67A7E9642B498386D6CAD022A typescript-language-server-0.5.1.zip -80FD5AA5DF32BE742BE353E5C4784868ED7D0D38 unique-string-1.0.0.zip -BE24C4558E26E8B7CDEAFF2F9AE70D3BB5BEB0A8 universalify-0.1.2.zip -09CF27455281E6C4FAA30571125D4F6E42EC3D5D vscode-jsonrpc-6.0.0.zip -06B648FCE1A5B1FBC0306C30DB593AAAF6989A52 vscode-languageserver-5.3.0-next.10.zip -6065994D322B86EB06D642F96F16018774E8440F vscode-languageserver-protocol-3.16.0.zip -BC9B7B5E8243882E6AFC2D26D1008EF3F960F22F vscode-languageserver-types-3.16.0.zip -191490D1923C11D2D7BFDB8F86CEB61567CA62A0 vscode-textbuffer-1.0.0.zip -75BF5DA9B1BFDFD1A85E0A67E86504B7E05482D8 vscode-uri-1.0.8.zip +48304CC9611D4F3B4ACD5A6ABB88689913BFA7A0 https://doppel-helix.eu/test-typescript-update/48304CC9611D4F3B4ACD5A6ABB88689913BFA7A0-typescript-5.6.2.zip typescript-5.6.2.zip +6895F0456E4B0FE3D857AA7D3F399932A026D060 https://doppel-helix.eu/test-typescript-update/typescript-language-server-4.3.3.zip typescript-language-server-4.3.3.zip diff --git a/webcommon/typescript.editor/external/command-exists-1.2.6-license.txt b/webcommon/typescript.editor/external/command-exists-1.2.6-license.txt deleted file mode 100644 index 74ae42decad7..000000000000 --- a/webcommon/typescript.editor/external/command-exists-1.2.6-license.txt +++ /dev/null @@ -1,28 +0,0 @@ -Name: command-exists -Description: check whether a command line command exists in the current environment -Version: 1.2.6 -License: MIT-command-exists -Origin: https://github.com/mathisonian/command-exists - -The MIT License (MIT) - -Copyright (c) 2014 Matthew Conlen - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - diff --git a/webcommon/typescript.editor/external/commander-2.20.3-license.txt b/webcommon/typescript.editor/external/commander-2.20.3-license.txt deleted file mode 100644 index 6621b82c515b..000000000000 --- a/webcommon/typescript.editor/external/commander-2.20.3-license.txt +++ /dev/null @@ -1,28 +0,0 @@ -Name: commander -Description: the complete solution for node.js command-line programs -Version: 2.20.3 -License: MIT-commander -Origin: https://github.com/tj/commander.js#readme - -(The MIT License) - -Copyright (c) 2011 TJ Holowaychuk - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -'Software'), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/crypto-random-string-1.0.0-license.txt b/webcommon/typescript.editor/external/crypto-random-string-1.0.0-license.txt deleted file mode 100644 index cc61dc68c273..000000000000 --- a/webcommon/typescript.editor/external/crypto-random-string-1.0.0-license.txt +++ /dev/null @@ -1,27 +0,0 @@ -Name: crypto-random-string -Description: Generate a cryptographically strong random string -Version: 1.0.0 -License: MIT-p-debounce-crypto-random-string-temp-dir-unique-string -Origin: https://github.com/sindresorhus/crypto-random-string#readme - -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/fs-extra-7.0.1-license.txt b/webcommon/typescript.editor/external/fs-extra-7.0.1-license.txt deleted file mode 100644 index 333e98f1c70c..000000000000 --- a/webcommon/typescript.editor/external/fs-extra-7.0.1-license.txt +++ /dev/null @@ -1,21 +0,0 @@ -Name: fs-extra -Description: fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf. -Version: 7.0.1 -License: MIT-fs-extra -Origin: https://github.com/jprichardson/node-fs-extra - -(The MIT License) - -Copyright (c) 2011-2017 JP Richardson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/graceful-fs-4.2.6-license.txt b/webcommon/typescript.editor/external/graceful-fs-4.2.6-license.txt deleted file mode 100644 index f4002122f08f..000000000000 --- a/webcommon/typescript.editor/external/graceful-fs-4.2.6-license.txt +++ /dev/null @@ -1,21 +0,0 @@ -Name: graceful-fs -Description: A drop-in replacement for fs, making various improvements. -Version: 4.2.6 -License: ISC-graceful-fs -Origin: https://github.com/isaacs/node-graceful-fs#readme - -The ISC License - -Copyright (c) Isaac Z. Schlueter, Ben Noordhuis, and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/webcommon/typescript.editor/external/jsonfile-4.0.0-license.txt b/webcommon/typescript.editor/external/jsonfile-4.0.0-license.txt deleted file mode 100644 index b1e959e01a87..000000000000 --- a/webcommon/typescript.editor/external/jsonfile-4.0.0-license.txt +++ /dev/null @@ -1,21 +0,0 @@ -Name: jsonfile -Description: Easily read/write JSON files. -Version: 4.0.0 -License: MIT-jsonfile -Origin: https://github.com/jprichardson/node-jsonfile#readme - -(The MIT License) - -Copyright (c) 2012-2015, JP Richardson - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files -(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, - merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/p-debounce-1.0.0-license.txt b/webcommon/typescript.editor/external/p-debounce-1.0.0-license.txt deleted file mode 100644 index 37f214c8367c..000000000000 --- a/webcommon/typescript.editor/external/p-debounce-1.0.0-license.txt +++ /dev/null @@ -1,27 +0,0 @@ -Name: p-debounce -Description: Debounce promise-returning & async functions -Version: 1.0.0 -License: MIT-p-debounce-crypto-random-string-temp-dir-unique-string -Origin: https://github.com/sindresorhus/p-debounce#readme - -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/temp-dir-1.0.0-license.txt b/webcommon/typescript.editor/external/temp-dir-1.0.0-license.txt deleted file mode 100644 index 847205556cd9..000000000000 --- a/webcommon/typescript.editor/external/temp-dir-1.0.0-license.txt +++ /dev/null @@ -1,27 +0,0 @@ -Name: temp-dir -Description: Get the real path of the system temp directory -Version: 1.0.0 -License: MIT-p-debounce-crypto-random-string-temp-dir-unique-string -Origin: https://github.com/sindresorhus/temp-dir#readme - -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/tempy-0.2.1-license.txt b/webcommon/typescript.editor/external/tempy-0.2.1-license.txt deleted file mode 100644 index d1caac1567c3..000000000000 --- a/webcommon/typescript.editor/external/tempy-0.2.1-license.txt +++ /dev/null @@ -1,15 +0,0 @@ -Name: tempy -Description: Get a random temporary file or directory path -Version: 0.2.1 -License: MIT-tempy -Origin: https://github.com/sindresorhus/tempy#readme - -MIT License - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/typescript-4.1.4-license.txt b/webcommon/typescript.editor/external/typescript-4.1.4-license.txt deleted file mode 100644 index 81740a2fa758..000000000000 --- a/webcommon/typescript.editor/external/typescript-4.1.4-license.txt +++ /dev/null @@ -1,61 +0,0 @@ -Name: typescript -Description: TypeScript is a language for application scale JavaScript development -Version: 4.1.4 -License: Apache-2.0-typescript -Origin: https://www.typescriptlang.org/ - -Apache License - -Version 2.0, January 2004 - -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of this License; and - -You must cause any modified files to carry prominent notices stating that You changed the files; and - -You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - -If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS diff --git a/webcommon/typescript.editor/external/typescript-5.6.2-license.txt b/webcommon/typescript.editor/external/typescript-5.6.2-license.txt new file mode 100644 index 000000000000..1b0a71cb583f --- /dev/null +++ b/webcommon/typescript.editor/external/typescript-5.6.2-license.txt @@ -0,0 +1,258 @@ +Name: typescript +Description: TypeScript is a language for application scale JavaScript development +Version: 5.6.2 +License: Apache-2.0-typescript +Origin: https://www.typescriptlang.org/ + +Parts of this work are licensed: +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + + +Parts of this work are licensed: +/*!----------------- TypeScript ThirdPartyNotices ------------------------------------------------------- + +The TypeScript software incorporates third party material from the projects listed below. The original copyright notice and the license under which Microsoft received such third party material are set forth below. Microsoft reserves all other rights not expressly granted, whether by implication, estoppel or otherwise. + +--------------------------------------------- +Third Party Code Components +-------------------------------------------- + +------------------- DefinitelyTyped -------------------- +This file is based on or incorporates material from the projects listed below (collectively "Third Party Code"). Microsoft is not the original author of the Third Party Code. The original copyright notice and the license, under which Microsoft received such Third Party Code, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft, not the third party, licenses the Third Party Code to you under the terms set forth in the EULA for the Microsoft Product. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise. +DefinitelyTyped +This project is licensed under the MIT license. Copyrights are respective of each contributor listed at the beginning of each definition file. Provided for Informational Purposes Only + +MIT License +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------------- + +------------------- Unicode -------------------- +UNICODE, INC. LICENSE AGREEMENT - DATA FILES AND SOFTWARE + +Unicode Data Files include all data files under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +Unicode Data Files do not include PDF online code charts under the +directory http://www.unicode.org/Public/. + +Software includes any source code published in the Unicode Standard +or under the directories +http://www.unicode.org/Public/, http://www.unicode.org/reports/, +http://www.unicode.org/cldr/data/, http://source.icu-project.org/repos/icu/, and +http://www.unicode.org/utility/trac/browser/. + +NOTICE TO USER: Carefully read the following legal agreement. +BY DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING UNICODE INC.'S +DATA FILES ("DATA FILES"), AND/OR SOFTWARE ("SOFTWARE"), +YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE +TERMS AND CONDITIONS OF THIS AGREEMENT. +IF YOU DO NOT AGREE, DO NOT DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE +THE DATA FILES OR SOFTWARE. + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1991-2017 Unicode, Inc. All rights reserved. +Distributed under the Terms of Use in http://www.unicode.org/copyright.html. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Unicode data files and any associated documentation +(the "Data Files") or Unicode software and any associated documentation +(the "Software") to deal in the Data Files or Software +without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, and/or sell copies of +the Data Files or Software, and to permit persons to whom the Data Files +or Software are furnished to do so, provided that either +(a) this copyright and permission notice appear with all copies +of the Data Files or Software, or +(b) this copyright and permission notice appear in associated +Documentation. + +THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT OF THIRD PARTY RIGHTS. +IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS +NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL +DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THE DATA FILES OR SOFTWARE. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, +use or other dealings in these Data Files or Software without prior +written authorization of the copyright holder. +------------------------------------------------------------------------------------- + +-------------------Document Object Model----------------------------- +DOM + +W3C License +This work is being provided by the copyright holders under the following license. +By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. +Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following +on ALL copies of the work or portions thereof, including modifications: +* The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. +* Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. +* Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived +from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." +Disclaimers +THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR +FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. +The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. +Title to copyright in this work will at all times remain with copyright holders. + +--------- + +DOM +Copyright © 2018 WHATWG (Apple, Google, Mozilla, Microsoft). This work is licensed under a Creative Commons Attribution 4.0 International License: Attribution 4.0 International +======================================================================= +Creative Commons Corporation ("Creative Commons") is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an "as-is" basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible. Using Creative Commons Public Licenses Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses. Considerations for licensors: Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC- licensed material, or material used under an exception or limitation to copyright. More considerations for licensors: + +wiki.creativecommons.org/Considerations_for_licensors Considerations for the public: By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor's permission is not necessary for any reason--for example, because of any applicable exception or limitation to copyright--then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. More_considerations for the public: wiki.creativecommons.org/Considerations_for_licensees ======================================================================= +Creative Commons Attribution 4.0 International Public License By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. Section 1 -- Definitions. a. Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. b. Adapter's License means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License. c. Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. d. Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. e. Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. f. Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. g. Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. h. Licensor means the individual(s) or entity(ies) granting rights under this Public License. i. Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. j. Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. k. You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. Section 2 -- Scope. a. License grant. 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: a. reproduce and Share the Licensed Material, in whole or in part; and b. produce, reproduce, and Share Adapted Material. 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. 3. Term. The term of this Public License is specified in Section 6(a). 4. Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a) (4) never produces Adapted Material. 5. Downstream recipients. a. Offer from the Licensor -- Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. b. No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. 6. No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i). b. Other rights. 1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. 2. Patent and trademark rights are not licensed under this Public License. 3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties. Section 3 -- License Conditions. Your exercise of the Licensed Rights is expressly made subject to the following conditions. a. Attribution. 1. If You Share the Licensed Material (including in modified form), You must: a. retain the following if it is supplied by the Licensor with the Licensed Material: i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); ii. a copyright notice; iii. a notice that refers to this Public License; iv. a notice that refers to the disclaimer of warranties; v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable; b. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and c. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. 3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable. 4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License. Section 4 -- Sui Generis Database Rights. Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database; b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. Section 5 -- Disclaimer of Warranties and Limitation of Liability. a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. Section 6 -- Term and Termination. a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: 1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or 2. upon express reinstatement by the Licensor. For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. Section 7 -- Other Terms and Conditions. a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. Section 8 -- Interpretation. a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. ======================================================================= Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the "Licensor." Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark "Creative Commons" or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses. Creative Commons may be contacted at creativecommons.org. + +-------------------------------------------------------------------------------- + +----------------------Web Background Synchronization------------------------------ + +Web Background Synchronization Specification +Portions of spec © by W3C + +W3C Community Final Specification Agreement +To secure commitments from participants for the full text of a Community or Business Group Report, the group may call for voluntary commitments to the following terms; a "summary" is +available. See also the related "W3C Community Contributor License Agreement". +1. The Purpose of this Agreement. +This Agreement sets forth the terms under which I make certain copyright and patent rights available to you for your implementation of the Specification. +Any other capitalized terms not specifically defined herein have the same meaning as those terms have in the "W3C Patent Policy", and if not defined there, in the "W3C Process Document". +2. Copyrights. +2.1. Copyright Grant. I grant to you a perpetual (for the duration of the applicable copyright), worldwide, non-exclusive, no-charge, royalty-free, copyright license, without any obligation for accounting to me, to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, distribute, and implement the Specification to the full extent of my copyright interest in the Specification. +2.2. Attribution. As a condition of the copyright grant, you must include an attribution to the Specification in any derivative work you make based on the Specification. That attribution must include, at minimum, the Specification name and version number. +3. Patents. +3.1. Patent Licensing Commitment. I agree to license my Essential Claims under the W3C Community RF Licensing Requirements. This requirement includes Essential Claims that I own and any that I have the right to license without obligation of payment or other consideration to an unrelated third party. W3C Community RF Licensing Requirements obligations made concerning the Specification and described in this policy are binding on me for the life of the patents in question and encumber the patents containing Essential Claims, regardless of changes in participation status or W3C Membership. I also agree to license my Essential Claims under the W3C Community RF Licensing Requirements in derivative works of the Specification so long as all normative portions of the Specification are maintained and that this licensing commitment does not extend to any portion of the derivative work that was not included in the Specification. +3.2. Optional, Additional Patent Grant. In addition to the provisions of Section 3.1, I may also, at my option, make certain intellectual property rights infringed by implementations of the Specification, including Essential Claims, available by providing those terms via the W3C Web site. +4. No Other Rights. Except as specifically set forth in this Agreement, no other express or implied patent, trademark, copyright, or other property rights are granted under this Agreement, including by implication, waiver, or estoppel. +5. Antitrust Compliance. I acknowledge that I may compete with other participants, that I am under no obligation to implement the Specification, that each participant is free to develop competing technologies and standards, and that each party is free to license its patent rights to third parties, including for the purpose of enabling competing technologies and standards. +6. Non-Circumvention. I agree that I will not intentionally take or willfully assist any third party to take any action for the purpose of circumventing my obligations under this Agreement. +7. Transition to W3C Recommendation Track. The Specification developed by the Project may transition to the W3C Recommendation Track. The W3C Team is responsible for notifying me that a Corresponding Working Group has been chartered. I have no obligation to join the Corresponding Working Group. If the Specification developed by the Project transitions to the W3C Recommendation Track, the following terms apply: +7.1. If I join the Corresponding Working Group. If I join the Corresponding Working Group, I will be subject to all W3C rules, obligations, licensing commitments, and policies that govern that Corresponding Working Group. +7.2. If I Do Not Join the Corresponding Working Group. +7.2.1. Licensing Obligations to Resulting Specification. If I do not join the Corresponding Working Group, I agree to offer patent licenses according to the W3C Royalty-Free licensing requirements described in Section 5 of the W3C Patent Policy for the portions of the Specification included in the resulting Recommendation. This licensing commitment does not extend to any portion of an implementation of the Recommendation that was not included in the Specification. This licensing commitment may not be revoked but may be modified through the exclusion process defined in Section 4 of the W3C Patent Policy. I am not required to join the Corresponding Working Group to exclude patents from the W3C Royalty-Free licensing commitment, but must otherwise follow the normal exclusion procedures defined by the W3C Patent Policy. The W3C Team will notify me of any Call for Exclusion in the Corresponding Working Group as set forth in Section 4.5 of the W3C Patent Policy. +7.2.2. No Disclosure Obligation. If I do not join the Corresponding Working Group, I have no patent disclosure obligations outside of those set forth in Section 6 of the W3C Patent Policy. +8. Conflict of Interest. I will disclose significant relationships when those relationships might reasonably be perceived as creating a conflict of interest with my role. I will notify W3C of any change in my affiliation using W3C-provided mechanisms. +9. Representations, Warranties and Disclaimers. I represent and warrant that I am legally entitled to grant the rights and promises set forth in this Agreement. IN ALL OTHER RESPECTS THE SPECIFICATION IS PROVIDED “AS IS.” The entire risk as to implementing or otherwise using the Specification is assumed by the implementer and user. Except as stated herein, I expressly disclaim any warranties (express, implied, or otherwise), including implied warranties of merchantability, non-infringement, fitness for a particular purpose, or title, related to the Specification. IN NO EVENT WILL ANY PARTY BE LIABLE TO ANY OTHER PARTY FOR LOST PROFITS OR ANY FORM OF INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER FROM ANY CAUSES OF ACTION OF ANY KIND WITH RESPECT TO THIS AGREEMENT, WHETHER BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, AND WHETHER OR NOT THE OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. All of my obligations under Section 3 regarding the transfer, successors in interest, or assignment of Granted Claims will be satisfied if I notify the transferee or assignee of any patent that I know contains Granted Claims of the obligations under Section 3. Nothing in this Agreement requires me to undertake a patent search. +10. Definitions. +10.1. Agreement. “Agreement” means this W3C Community Final Specification Agreement. +10.2. Corresponding Working Group. “Corresponding Working Group” is a W3C Working Group that is chartered to develop a Recommendation, as defined in the W3C Process Document, that takes the Specification as an input. +10.3. Essential Claims. “Essential Claims” shall mean all claims in any patent or patent application in any jurisdiction in the world that would necessarily be infringed by implementation of the Specification. A claim is necessarily infringed hereunder only when it is not possible to avoid infringing it because there is no non-infringing alternative for implementing the normative portions of the Specification. Existence of a non-infringing alternative shall be judged based on the state of the art at the time of the publication of the Specification. The following are expressly excluded from and shall not be deemed to constitute Essential Claims: +10.3.1. any claims other than as set forth above even if contained in the same patent as Essential Claims; and +10.3.2. claims which would be infringed only by: +portions of an implementation that are not specified in the normative portions of the Specification, or +enabling technologies that may be necessary to make or use any product or portion thereof that complies with the Specification and are not themselves expressly set forth in the Specification (e.g., semiconductor manufacturing technology, compiler technology, object-oriented technology, basic operating system technology, and the like); or +the implementation of technology developed elsewhere and merely incorporated by reference in the body of the Specification. +10.3.3. design patents and design registrations. +For purposes of this definition, the normative portions of the Specification shall be deemed to include only architectural and interoperability requirements. Optional features in the RFC 2119 sense are considered normative unless they are specifically identified as informative. Implementation examples or any other material that merely illustrate the requirements of the Specification are informative, rather than normative. +10.4. I, Me, or My. “I,” “me,” or “my” refers to the signatory. +10.5 Project. “Project” means the W3C Community Group or Business Group for which I executed this Agreement. +10.6. Specification. “Specification” means the Specification identified by the Project as the target of this agreement in a call for Final Specification Commitments. W3C shall provide the authoritative mechanisms for the identification of this Specification. +10.7. W3C Community RF Licensing Requirements. “W3C Community RF Licensing Requirements” license shall mean a non-assignable, non-sublicensable license to make, have made, use, sell, have sold, offer to sell, import, and distribute and dispose of implementations of the Specification that: +10.7.1. shall be available to all, worldwide, whether or not they are W3C Members; +10.7.2. shall extend to all Essential Claims owned or controlled by me; +10.7.3. may be limited to implementations of the Specification, and to what is required by the Specification; +10.7.4. may be conditioned on a grant of a reciprocal RF license (as defined in this policy) to all Essential Claims owned or controlled by the licensee. A reciprocal license may be required to be available to all, and a reciprocal license may itself be conditioned on a further reciprocal license from all. +10.7.5. may not be conditioned on payment of royalties, fees or other consideration; +10.7.6. may be suspended with respect to any licensee when licensor issued by licensee for infringement of claims essential to implement the Specification or any W3C Recommendation; +10.7.7. may not impose any further conditions or restrictions on the use of any technology, intellectual property rights, or other restrictions on behavior of the licensee, but may include reasonable, customary terms relating to operation or maintenance of the license relationship such as the following: choice of law and dispute resolution; +10.7.8. shall not be considered accepted by an implementer who manifests an intent not to accept the terms of the W3C Community RF Licensing Requirements license as offered by the licensor. +10.7.9. The RF license conforming to the requirements in this policy shall be made available by the licensor as long as the Specification is in effect. The term of such license shall be for the life of the patents in question. +I am encouraged to provide a contact from which licensing information can be obtained and other relevant licensing information. Any such information will be made publicly available. +10.8. You or Your. “You,” “you,” or “your” means any person or entity who exercises copyright or patent rights granted under this Agreement, and any person that person or entity controls. + +------------------------------------------------------------------------------------- + +------------------- WebGL ----------------------------- +Copyright (c) 2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +------------------------------------------------------ + +------------- End of ThirdPartyNotices ------------------------------------------- */ + diff --git a/webcommon/typescript.editor/external/typescript-language-server-0.5.1-license.txt b/webcommon/typescript.editor/external/typescript-language-server-4.3.3-license.txt similarity index 85% rename from webcommon/typescript.editor/external/typescript-language-server-0.5.1-license.txt rename to webcommon/typescript.editor/external/typescript-language-server-4.3.3-license.txt index ddf582aa7786..7b0a2a8491b3 100644 --- a/webcommon/typescript.editor/external/typescript-language-server-0.5.1-license.txt +++ b/webcommon/typescript.editor/external/typescript-language-server-4.3.3-license.txt @@ -1,8 +1,47 @@ Name: typescript-language-server Description: Language Server Protocol (LSP) implementation for TypeScript using tsserver -Version: 0.5.1 +Version: 4.3.3 License: Apache-2.0-typescript-language-server -Origin: https://github.com/theia-ide/typescript-language-server#readme +Origin: https://github.com/typescript-language-server/typescript-language-server + +Parts of the code copied from the https://github.com/microsoft/vscode repository are licensed under the following license: + +BEGIN LICENSE ---------------------------------------------------------------- + +MIT License + +Copyright (c) 2015 - present Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +END LICESE ------------------------------------------------------------------- + +This applies to files that include the following license header: + +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + *--------------------------------------------------------------------------------------------*/ + + +The rest of the code licensed under: + Apache License Version 2.0, January 2004 diff --git a/webcommon/typescript.editor/external/unique-string-1.0.0-license.txt b/webcommon/typescript.editor/external/unique-string-1.0.0-license.txt deleted file mode 100644 index 4100fba4d22e..000000000000 --- a/webcommon/typescript.editor/external/unique-string-1.0.0-license.txt +++ /dev/null @@ -1,27 +0,0 @@ -Name: unique-string -Description: Generate a unique random string -Version: 1.0.0 -License: MIT-p-debounce-crypto-random-string-temp-dir-unique-string -Origin: https://github.com/sindresorhus/unique-string#readme - -The MIT License (MIT) - -Copyright (c) Sindre Sorhus (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/universalify-0.1.2-license.txt b/webcommon/typescript.editor/external/universalify-0.1.2-license.txt deleted file mode 100644 index efdb0cafa524..000000000000 --- a/webcommon/typescript.editor/external/universalify-0.1.2-license.txt +++ /dev/null @@ -1,26 +0,0 @@ -Name: universalify -Description: Make a callback- or promise-based function support both promises and callbacks. -Version: 0.1.2 -License: MIT-universalify -Origin: https://github.com/RyanZim/universalify#readme - -(The MIT License) - -Copyright (c) 2017, Ryan Zimmerman - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the 'Software'), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/vscode-jsonrpc-6.0.0-license.txt b/webcommon/typescript.editor/external/vscode-jsonrpc-6.0.0-license.txt deleted file mode 100644 index 1083b8b7ce47..000000000000 --- a/webcommon/typescript.editor/external/vscode-jsonrpc-6.0.0-license.txt +++ /dev/null @@ -1,52 +0,0 @@ -Name: vscode-jsonrpc -Description: A json rpc implementation over streams -Version: 6.0.0 -License: MIT-vscode-jsonrpc -Origin: https://github.com/Microsoft/vscode-languageserver-node#readme - -Parts of this work are licensed: -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Parts of this work are licensed: -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -For Microsoft vscode-jsonrpc - -This project incorporates material from the project(s) listed below (collectively, “Third Party Code”). -Microsoft is not the original author of the Third Party Code. The original copyright notice and license -under which Microsoft received such Third Party Code are set out below. This Third Party Code is licensed -to you under their original license terms set forth below. Microsoft reserves all other rights not expressly -granted, whether by implication, estoppel or otherwise. - -1. DefinitelyTyped version 0.0.1 (https://github.com/borisyankov/DefinitelyTyped) - -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/vscode-languageserver-5.3.0-next.10-license.txt b/webcommon/typescript.editor/external/vscode-languageserver-5.3.0-next.10-license.txt deleted file mode 100644 index 18725fed7fd8..000000000000 --- a/webcommon/typescript.editor/external/vscode-languageserver-5.3.0-next.10-license.txt +++ /dev/null @@ -1,56 +0,0 @@ -Name: vscode-languageserver -Description: Language server implementation for node -Version: 5.3.0-next.10 -License: MIT-vscode-languageserver -Origin: https://github.com/Microsoft/vscode-languageserver-node#readme - -Parts of this work are licensed: -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Parts of this work are licensed: -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -For Microsoft vscode-languageserver - -This project incorporates material from the project(s) listed below (collectively, “Third Party Code”). -Microsoft is not the original author of the Third Party Code. The original copyright notice and license -under which Microsoft received such Third Party Code are set out below. This Third Party Code is licensed -to you under their original license terms set forth below. Microsoft reserves all other rights not expressly -granted, whether by implication, estoppel or otherwise. - -1. DefinitelyTyped version 0.0.1 (https://github.com/borisyankov/DefinitelyTyped) - -%% DefinitelyTyped NOTICES AND INFORMATION BEGIN HERE -========================================= -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. -========================================= -END OF DefinitelyTyped NOTICES AND INFORMATION diff --git a/webcommon/typescript.editor/external/vscode-languageserver-protocol-3.16.0-license.txt b/webcommon/typescript.editor/external/vscode-languageserver-protocol-3.16.0-license.txt deleted file mode 100644 index 8dbfa2be8912..000000000000 --- a/webcommon/typescript.editor/external/vscode-languageserver-protocol-3.16.0-license.txt +++ /dev/null @@ -1,52 +0,0 @@ -Name: vscode-languageserver-protocol -Description: VSCode Language Server Protocol implementation -Version: 3.16.0 -License: MIT-vscode-languageserver-protocol -Origin: https://github.com/Microsoft/vscode-languageserver-node#readme - -Parts of this work are licensed: -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -Parts of this work are licensed: -THIRD-PARTY SOFTWARE NOTICES AND INFORMATION -For Microsoft vscode-languageclient - -This project incorporates material from the project(s) listed below (collectively, “Third Party Code”). -Microsoft is not the original author of the Third Party Code. The original copyright notice and license -under which Microsoft received such Third Party Code are set out below. This Third Party Code is licensed -to you under their original license terms set forth below. Microsoft reserves all other rights not expressly -granted, whether by implication, estoppel or otherwise. - -1. DefinitelyTyped version 0.0.1 (https://github.com/borisyankov/DefinitelyTyped) - -This project is licensed under the MIT license. -Copyrights are respective of each contributor listed at the beginning of each definition file. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/vscode-languageserver-types-3.16.0-license.txt b/webcommon/typescript.editor/external/vscode-languageserver-types-3.16.0-license.txt deleted file mode 100644 index f1c1bad65a4a..000000000000 --- a/webcommon/typescript.editor/external/vscode-languageserver-types-3.16.0-license.txt +++ /dev/null @@ -1,17 +0,0 @@ -Name: vscode-languageserver-types -Description: Types used by the Language server for node -Version: 3.16.0 -License: MIT-vscode-languageserver-types -Origin: https://github.com/Microsoft/vscode-languageserver-node#readme - -Copyright (c) Microsoft Corporation - -All rights reserved. - -MIT License - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webcommon/typescript.editor/external/vscode-textbuffer-1.0.0-license.txt b/webcommon/typescript.editor/external/vscode-textbuffer-1.0.0-license.txt deleted file mode 100644 index 99e653a1e529..000000000000 --- a/webcommon/typescript.editor/external/vscode-textbuffer-1.0.0-license.txt +++ /dev/null @@ -1,27 +0,0 @@ -Name: vscode-textbuffer -Description: The underling text buffer used in VS Code/Monaco -Version: 1.0.0 -License: MIT-vscode-textbuffer -Origin: httpshttps://github.com/microsoft/vscode-textbuffer#readme - - MIT License - - Copyright (c) Microsoft Corporation. All rights reserved. - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE diff --git a/webcommon/typescript.editor/external/vscode-uri-1.0.8-license.txt b/webcommon/typescript.editor/external/vscode-uri-1.0.8-license.txt deleted file mode 100644 index 9813dc86fa34..000000000000 --- a/webcommon/typescript.editor/external/vscode-uri-1.0.8-license.txt +++ /dev/null @@ -1,15 +0,0 @@ -Name: vscode-uri -Description: The URI implementation that is used by VS Code and its extensions -Version: 1.0.8 -License: MIT-vscode-uri -Origin: https://github.com/Microsoft/vscode-uri#readme - -The MIT License (MIT) - -Copyright (c) Microsoft - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptLSP.java b/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptLSP.java index f7410445e686..c54c6f33ccbf 100644 --- a/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptLSP.java +++ b/webcommon/typescript.editor/src/org/netbeans/modules/typescript/editor/TypeScriptLSP.java @@ -61,7 +61,7 @@ public LanguageServerDescription startServer(Lookup lookup) { } return null; } - File server = InstalledFileLocator.getDefault().locate("typescript-lsp/node_modules/typescript-language-server/lib/cli.js", null, false); + File server = InstalledFileLocator.getDefault().locate("typescript-lsp/node_modules/typescript-language-server/lib/cli.mjs", "org.netbeans.modules.typescript.editor", false); try { Process p = new ProcessBuilder(new String[] {node, server.getAbsolutePath(), "--stdio"}).directory(server.getParentFile().getParentFile()).redirectError(ProcessBuilder.Redirect.INHERIT).start(); return LanguageServerDescription.create(p.getInputStream(), p.getOutputStream(), p); From 1432b395a53c5d8d962328b23af1c578e54d6259 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Mon, 16 Sep 2024 10:53:04 +0200 Subject: [PATCH 06/94] Fix license comment to correct comment start --- ide/lsp.client/src/org/netbeans/modules/lsp/client/Utils.java | 3 ++- .../modules/lsp/client/bindings/CompletionProviderImpl.java | 3 ++- .../modules/lsp/client/bindings/HyperlinkProviderImpl.java | 3 ++- .../src/org/netbeans/modules/lsp/client/bindings/Icons.java | 2 +- .../bindings/TextDocumentSyncServerCapabilityHandler.java | 3 ++- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/Utils.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/Utils.java index f1de03741003..c8fb625f8468 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/Utils.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/Utils.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.lsp.client; import java.io.File; diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java index d4eb07445fc7..d31326b83c3c 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.lsp.client.bindings; import com.vladsch.flexmark.html.HtmlRenderer; diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java index 9e0c99300c7b..0d4a0bdbde9b 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/HyperlinkProviderImpl.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.lsp.client.bindings; import java.util.EnumSet; diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/Icons.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/Icons.java index 68e68c5176a9..eec1f85def3a 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/Icons.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/Icons.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java index c59b4b08acf9..8843d5affe3d 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java @@ -1,4 +1,4 @@ -/** +/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.netbeans.modules.lsp.client.bindings; import java.util.ArrayList; From 321a543ba8334fa2e4a2ae141a52f75f189d6c81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Mon, 16 Sep 2024 19:56:12 +0200 Subject: [PATCH 07/94] LSP Client: Improve handling of DiagnosticFixList (don't call diagnostic beyond document, reduce log level) - Log errors in DiagnosticFixList#getFixes by using LOG#log with level INFO, instead of Exceptions#printStackTrace which logs on level SEVERE. This reduces the level so much, that is not raised as a user visible (exception error marker in status line) message anymore. - it could happen, that the fixlist for a position outside the document range is queried, when characters at the end of a document were deleted. This is no prevented. --- .../client/bindings/LanguageClientImpl.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java index 832626724ad8..10d5c7ad005a 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/LanguageClientImpl.java @@ -166,7 +166,7 @@ public void publishDiagnostics(PublishDiagnosticsParams pdp) { } assert file != null; List diags = pdp.getDiagnostics().stream().map(d -> { - LazyFixList fixList = allowCodeActions ? new DiagnosticFixList(pdp.getUri(), d) : ErrorDescriptionFactory.lazyListForFixes(Collections.emptyList()); + LazyFixList fixList = allowCodeActions ? new DiagnosticFixList(doc, pdp.getUri(), d) : ErrorDescriptionFactory.lazyListForFixes(Collections.emptyList()); return ErrorDescriptionFactory.createErrorDescription(severityMap.get(d.getSeverity()), d.getMessage(), fixList, file, Utils.getOffset(doc, d.getRange().getStart()), Utils.getOffset(doc, d.getRange().getEnd())); }).collect(Collectors.toList()); HintsController.setErrors(doc, LanguageClientImpl.class.getName(), diags); @@ -302,12 +302,14 @@ private final class DiagnosticFixList implements LazyFixList { private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); private final String fileUri; + private final Document doc; private final Diagnostic diagnostic; private List fixes; private boolean computing; private boolean computed; - public DiagnosticFixList(String fileUri, Diagnostic diagnostic) { + public DiagnosticFixList(Document doc, String fileUri, Diagnostic diagnostic) { + this.doc = doc; this.fileUri = fileUri; this.diagnostic = diagnostic; } @@ -334,17 +336,19 @@ public synchronized List getFixes() { computing = true; bindings.runOnBackground(() -> { try { - List> commands = - bindings.getTextDocumentService().codeAction(new CodeActionParams(new TextDocumentIdentifier(fileUri), - diagnostic.getRange(), - new CodeActionContext(Collections.singletonList(diagnostic)))).get(); - List newFixes = Collections.emptyList(); - if (commands != null) { - newFixes = commands.stream() - .map(cmd -> new CommandBasedFix(cmd)) - .collect(Collectors.toList()); + if (Utils.getOffset(doc, diagnostic.getRange().getEnd()) < doc.getEndPosition().getOffset()) { + List> commands + = bindings.getTextDocumentService().codeAction(new CodeActionParams(new TextDocumentIdentifier(fileUri), + diagnostic.getRange(), + new CodeActionContext(Collections.singletonList(diagnostic)))).get(); + + if (commands != null) { + newFixes = commands.stream() + .map(cmd -> new CommandBasedFix(cmd)) + .collect(Collectors.toList()); + } } synchronized (this) { @@ -355,7 +359,7 @@ public synchronized List getFixes() { pcs.firePropertyChange(PROP_COMPUTED, null, null); pcs.firePropertyChange(PROP_FIXES, null, null); } catch (InterruptedException | ExecutionException ex) { - Exceptions.printStackTrace(ex); + LOG.log(Level.INFO, "Failure fetching DiagnosticFixList (at least typescript server has known problems)", ex); } }); } From 16ce7f181231096e86a039a57ce48c5121b43b57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 21 Sep 2024 17:28:04 +0200 Subject: [PATCH 08/94] LSP Client: Log exception from documentation query, but don't raise user visible error bubble --- .../modules/lsp/client/bindings/CompletionProviderImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java index d31326b83c3c..dad6d744f1e4 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/CompletionProviderImpl.java @@ -29,6 +29,8 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.swing.Action; import javax.swing.Icon; import javax.swing.ImageIcon; @@ -80,6 +82,8 @@ @MimeRegistration(mimeType="", service=CompletionProvider.class) public class CompletionProviderImpl implements CompletionProvider { + private static final Logger LOG = Logger.getLogger(CompletionProviderImpl.class.getName()); + @Override public CompletionTask createTask(int queryType, JTextComponent component) { if ((queryType & TOOLTIP_QUERY_TYPE) != 0) { @@ -269,7 +273,7 @@ protected void query(CompletionResultSet resultSet, Document doc, int caretOffse try { temp = server.getTextDocumentService().resolveCompletionItem(i).get(); } catch (InterruptedException | ExecutionException ex) { - Exceptions.printStackTrace(ex); + LOG.log(Level.INFO, "Failed to retrieve documentation data", ex); temp = i; } resolved = temp; From 68421acd857d042eacf5a2a9116dc13de9eba95f Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Fri, 11 Oct 2024 04:33:08 +0200 Subject: [PATCH 09/94] Update maven-indexer to 7.1.5 and lucene to 9.12.0 highlights: - lucene with panama vector api support on JDK 23 (can be manually enabled by adding --add-modules=jdk.incubator.vector to the config) - maven-indexer SMO features produce better HTTP exception msgs - fixes / optimizations --- java/maven.indexer/external/binaries-list | 16 +++++----- ...nse.txt => indexer-core-7.1.5-license.txt} | 4 +-- ...tice.txt => indexer-core-7.1.5-notice.txt} | 0 ...-license.txt => lucene-9.12.0-license.txt} | 4 +-- ....1-notice.txt => lucene-9.12.0-notice.txt} | 0 .../nbproject/project.properties | 16 +++++----- java/maven.indexer/nbproject/project.xml | 32 +++++++++---------- 7 files changed, 36 insertions(+), 36 deletions(-) rename java/maven.indexer/external/{indexer-core-7.1.4-license.txt => indexer-core-7.1.5-license.txt} (99%) rename java/maven.indexer/external/{indexer-core-7.1.4-notice.txt => indexer-core-7.1.5-notice.txt} (100%) rename java/maven.indexer/external/{lucene-9.11.1-license.txt => lucene-9.12.0-license.txt} (99%) rename java/maven.indexer/external/{lucene-9.11.1-notice.txt => lucene-9.12.0-notice.txt} (100%) diff --git a/java/maven.indexer/external/binaries-list b/java/maven.indexer/external/binaries-list index 3bf16d031787..c50967917b1c 100644 --- a/java/maven.indexer/external/binaries-list +++ b/java/maven.indexer/external/binaries-list @@ -14,12 +14,12 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -7016F3B87E39E3C83B656C7C65E04C578127B266 org.apache.maven.indexer:indexer-core:7.1.4 -A4C838B4FF86F0327DA4715F9F8D2AA1D6C51633 org.apache.maven.indexer:search-api:7.1.4 -9D55FF1A2CCE7988615CF56ED69702C2C7FA5031 org.apache.maven.indexer:search-backend-smo:7.1.4 -8F52BA14B21774F41CE33CF5CA111CBDEFEED7F9 org.apache.lucene:lucene-core:9.11.1 -948FDA53CEEB0FA1B835AF5376ABEC771B2C3FB1 org.apache.lucene:lucene-backward-codecs:9.11.1 -E16CC9C531998A76EB5528147B5F07596F95FAD8 org.apache.lucene:lucene-highlighter:9.11.1 -AD6E5B135E1E284D4462D717086CE13A3CE01B4A org.apache.lucene:lucene-queryparser:9.11.1 -51286ACA019DB66311F71496191B4BD7ADAF3DCF org.apache.lucene:lucene-analysis-common:9.11.1 +39C35955EFB84F296B3E907E620AEAA85170D0F5 org.apache.maven.indexer:indexer-core:7.1.5 +FBDA18E1C0A02793C2CE8444B564C38D0C59F108 org.apache.maven.indexer:search-api:7.1.5 +624FE4EA6C5631C6C397EB41E0AB114A04C39CCD org.apache.maven.indexer:search-backend-smo:7.1.5 +FDB055D569BB20BFCE9618FE2B01C29BAB7F290C org.apache.lucene:lucene-core:9.12.0 +68FE98C94E9644A584EA1BF525E68D9406FC61EC org.apache.lucene:lucene-backward-codecs:9.12.0 +E93429F66FBCD3B58D81F01223D6CE5688047296 org.apache.lucene:lucene-highlighter:9.12.0 +55959399373876F4C184944315458DC6B88FBD81 org.apache.lucene:lucene-queryparser:9.12.0 +4C2503CFABA37249E20EA877555CB52EE89D1AE1 org.apache.lucene:lucene-analysis-common:9.12.0 934C04D3CFEF185A8008E7BF34331B79730A9D43 javax.annotation:javax.annotation-api:1.3.2 diff --git a/java/maven.indexer/external/indexer-core-7.1.4-license.txt b/java/maven.indexer/external/indexer-core-7.1.5-license.txt similarity index 99% rename from java/maven.indexer/external/indexer-core-7.1.4-license.txt rename to java/maven.indexer/external/indexer-core-7.1.5-license.txt index c7f3b0812e67..8219439ef955 100644 --- a/java/maven.indexer/external/indexer-core-7.1.4-license.txt +++ b/java/maven.indexer/external/indexer-core-7.1.5-license.txt @@ -1,11 +1,11 @@ Name: Maven Indexer Description: Maven remote repository indexing engine. -Version: 7.1.4 +Version: 7.1.5 Origin: Apache Software Foundation License: Apache-2.0 URL: https://repo.maven.apache.org/maven2/org/apache/maven/indexer/ Source: https://github.com/apache/maven-indexer -Files: indexer-core-7.1.4.jar search-api-7.1.4.jar search-backend-smo-7.1.4.jar +Files: indexer-core-7.1.5.jar search-api-7.1.5.jar search-backend-smo-7.1.5.jar Apache License Version 2.0, January 2004 diff --git a/java/maven.indexer/external/indexer-core-7.1.4-notice.txt b/java/maven.indexer/external/indexer-core-7.1.5-notice.txt similarity index 100% rename from java/maven.indexer/external/indexer-core-7.1.4-notice.txt rename to java/maven.indexer/external/indexer-core-7.1.5-notice.txt diff --git a/java/maven.indexer/external/lucene-9.11.1-license.txt b/java/maven.indexer/external/lucene-9.12.0-license.txt similarity index 99% rename from java/maven.indexer/external/lucene-9.11.1-license.txt rename to java/maven.indexer/external/lucene-9.12.0-license.txt index dc7a9bf3f2cf..ba486b049bb8 100644 --- a/java/maven.indexer/external/lucene-9.11.1-license.txt +++ b/java/maven.indexer/external/lucene-9.12.0-license.txt @@ -1,11 +1,11 @@ Name: Apache Lucene Description: Java-based indexing and search technology -Version: 9.11.1 +Version: 9.12.0 Origin: Apache Software Foundation License: Apache-2.0-lucene2 URL: https://lucene.apache.org/ Source: https://github.com/apache/lucene -Files: lucene-analysis-common-9.11.1.jar lucene-backward-codecs-9.11.1.jar lucene-core-9.11.1.jar lucene-highlighter-9.11.1.jar lucene-queryparser-9.11.1.jar +Files: lucene-analysis-common-9.12.0.jar lucene-backward-codecs-9.12.0.jar lucene-core-9.12.0.jar lucene-highlighter-9.12.0.jar lucene-queryparser-9.12.0.jar Apache License Version 2.0, January 2004 diff --git a/java/maven.indexer/external/lucene-9.11.1-notice.txt b/java/maven.indexer/external/lucene-9.12.0-notice.txt similarity index 100% rename from java/maven.indexer/external/lucene-9.11.1-notice.txt rename to java/maven.indexer/external/lucene-9.12.0-notice.txt diff --git a/java/maven.indexer/nbproject/project.properties b/java/maven.indexer/nbproject/project.properties index 58ca4b59f6d6..996dcc7eac30 100644 --- a/java/maven.indexer/nbproject/project.properties +++ b/java/maven.indexer/nbproject/project.properties @@ -19,14 +19,14 @@ test.config.stableBTD.includes=**/*Test.class is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -release.external/indexer-core-7.1.4.jar=modules/ext/maven/indexer-core-7.1.4.jar -release.external/search-api-7.1.4.jar=modules/ext/maven/search-api-7.1.4.jar -release.external/search-backend-smo-7.1.4.jar=modules/ext/maven/search-backend-smo-7.1.4.jar -release.external/lucene-core-9.11.1.jar=modules/ext/maven/lucene-core-9.11.1.jar -release.external/lucene-backward-codecs-9.11.1.jar=modules/ext/maven/lucene-backward-codecs-9.11.1.jar -release.external/lucene-highlighter-9.11.1.jar=modules/ext/maven/lucene-highlighter-9.11.1.jar -release.external/lucene-queryparser-9.11.1.jar=modules/ext/maven/lucene-queryparser-9.11.1.jar -release.external/lucene-analysis-common-9.11.1.jar=modules/ext/maven/lucene-analysis-common-9.11.1.jar +release.external/indexer-core-7.1.5.jar=modules/ext/maven/indexer-core-7.1.5.jar +release.external/search-api-7.1.5.jar=modules/ext/maven/search-api-7.1.5.jar +release.external/search-backend-smo-7.1.5.jar=modules/ext/maven/search-backend-smo-7.1.5.jar +release.external/lucene-core-9.12.0.jar=modules/ext/maven/lucene-core-9.12.0.jar +release.external/lucene-backward-codecs-9.12.0.jar=modules/ext/maven/lucene-backward-codecs-9.12.0.jar +release.external/lucene-highlighter-9.12.0.jar=modules/ext/maven/lucene-highlighter-9.12.0.jar +release.external/lucene-queryparser-9.12.0.jar=modules/ext/maven/lucene-queryparser-9.12.0.jar +release.external/lucene-analysis-common-9.12.0.jar=modules/ext/maven/lucene-analysis-common-9.12.0.jar release.external/javax.annotation-api-1.3.2.jar=modules/ext/maven/javax.annotation-api-1.3.2.jar # XXX so long as Lucene is bundled here: sigtest.gen.fail.on.error=false diff --git a/java/maven.indexer/nbproject/project.xml b/java/maven.indexer/nbproject/project.xml index 5d3010575936..8df7ccd297f3 100644 --- a/java/maven.indexer/nbproject/project.xml +++ b/java/maven.indexer/nbproject/project.xml @@ -193,36 +193,36 @@ org.netbeans.modules.maven.indexer.spi.impl - ext/maven/indexer-core-7.1.4.jar - external/indexer-core-7.1.4.jar + ext/maven/indexer-core-7.1.5.jar + external/indexer-core-7.1.5.jar - ext/maven/search-api-7.1.4.jar - external/search-api-7.1.4.jar + ext/maven/search-api-7.1.5.jar + external/search-api-7.1.5.jar - ext/maven/search-backend-smo-7.1.4.jar - external/search-backend-smo-7.1.4.jar + ext/maven/search-backend-smo-7.1.5.jar + external/search-backend-smo-7.1.5.jar - ext/maven/lucene-core-9.11.1.jar - external/lucene-core-9.11.1.jar + ext/maven/lucene-core-9.12.0.jar + external/lucene-core-9.12.0.jar - ext/maven/lucene-backward-codecs-9.11.1.jar - external/lucene-backward-codecs-9.11.1.jar + ext/maven/lucene-backward-codecs-9.12.0.jar + external/lucene-backward-codecs-9.12.0.jar - ext/maven/lucene-highlighter-9.11.1.jar - external/lucene-highlighter-9.11.1.jar + ext/maven/lucene-highlighter-9.12.0.jar + external/lucene-highlighter-9.12.0.jar - ext/maven/lucene-queryparser-9.11.1.jar - external/lucene-queryparser-9.11.1.jar + ext/maven/lucene-queryparser-9.12.0.jar + external/lucene-queryparser-9.12.0.jar - ext/maven/lucene-analysis-common-9.11.1.jar - external/lucene-analysis-common-9.11.1.jar + ext/maven/lucene-analysis-common-9.12.0.jar + external/lucene-analysis-common-9.12.0.jar ext/maven/javax.annotation-api-1.3.2.jar From b60d6b65eccc95df89f513db257fb0045ac0a9c6 Mon Sep 17 00:00:00 2001 From: Adam Sotona <10807609+asotona@users.noreply.github.com> Date: Thu, 10 Oct 2024 15:30:30 +0200 Subject: [PATCH 10/94] Single java source run action provider improvements --- extide/options.java/nbproject/project.xml | 1 + java/java.file.launcher/nbproject/project.xml | 25 ++++ .../AttributeBasedSingleFileOptions.java | 6 +- .../java/file/launcher/Bundle.properties | 3 + .../GlobalSettingsOptionsPanelController.java | 101 ++++++++++++++++ .../file/launcher/GlobalSettingsPanel.form | 105 +++++++++++++++++ .../file/launcher/GlobalSettingsPanel.java | 111 ++++++++++++++++++ .../file/launcher/SingleSourceFileUtil.java | 9 ++ .../java/file/launcher/actions/JPDAStart.java | 11 +- .../file/launcher/actions/LaunchProcess.java | 3 + .../SingleJavaSourceRunActionProvider.java | 54 ++++++--- .../netbeans/modules/java/Bundle.properties | 2 + .../org/netbeans/modules/java/JavaNode.java | 16 +++ 13 files changed, 424 insertions(+), 23 deletions(-) create mode 100644 java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsOptionsPanelController.java create mode 100644 java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsPanel.form create mode 100644 java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsPanel.java diff --git a/extide/options.java/nbproject/project.xml b/extide/options.java/nbproject/project.xml index f3e816385eaa..922c247c3044 100644 --- a/extide/options.java/nbproject/project.xml +++ b/extide/options.java/nbproject/project.xml @@ -63,6 +63,7 @@ org.netbeans.modules.profiler.options org.netbeans.modules.vmd.componentssupport org.netbeans.modules.jshell.support + org.netbeans.modules.java.file.launcher org.netbeans.modules.options.java.api diff --git a/java/java.file.launcher/nbproject/project.xml b/java/java.file.launcher/nbproject/project.xml index 195981d25ec1..23476f52a29c 100644 --- a/java/java.file.launcher/nbproject/project.xml +++ b/java/java.file.launcher/nbproject/project.xml @@ -140,6 +140,23 @@ 1.84 + + org.netbeans.modules.options.api + + + + 1 + 1.71 + + + + org.netbeans.modules.options.java + + + + 1.39 + + org.netbeans.modules.parsing.api @@ -184,6 +201,14 @@ 1.65 + + org.openide.awt + + + + 7.94 + + org.openide.filesystems diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/AttributeBasedSingleFileOptions.java b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/AttributeBasedSingleFileOptions.java index 3312081635cf..550ff2e03d00 100644 --- a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/AttributeBasedSingleFileOptions.java +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/AttributeBasedSingleFileOptions.java @@ -20,6 +20,7 @@ import java.net.URI; import javax.swing.event.ChangeListener; +import org.netbeans.api.java.platform.JavaPlatformManager; import org.netbeans.modules.java.file.launcher.queries.MultiSourceRootProvider; import org.netbeans.modules.java.file.launcher.spi.SingleFileOptionsQueryImplementation; import org.openide.filesystems.FileAttributeEvent; @@ -29,6 +30,7 @@ import org.openide.filesystems.FileUtil; import org.openide.util.ChangeSupport; import org.openide.util.Lookup; +import org.openide.util.NbPreferences; import org.openide.util.RequestProcessor; import org.openide.util.WeakListeners; import org.openide.util.lookup.ServiceProvider; @@ -104,7 +106,9 @@ public String getOptions() { vmOptionsObj = root != null ? root.getAttribute(SingleSourceFileUtil.FILE_VM_OPTIONS) : null; - return vmOptionsObj != null ? (String) vmOptionsObj : ""; + String globalVmOptions = NbPreferences.forModule(JavaPlatformManager.class).get(SingleSourceFileUtil.GLOBAL_VM_OPTIONS, ""); // NOI18N + + return vmOptionsObj != null ? (String) vmOptionsObj + " " + globalVmOptions : globalVmOptions; // NOI18N } @Override diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/Bundle.properties b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/Bundle.properties index e091b91b1845..680d623800aa 100644 --- a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/Bundle.properties +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/Bundle.properties @@ -16,3 +16,6 @@ # under the License. OpenIDE-Module-Name=Java File Launcher +GlobalSettingsPanel.vmLabel.text=Additional VM Options: +GlobalSettingsPanel.singleRunCheckBox.text=Stop before Run +GlobalSettingsPanel.jLabel1.text=Execution of standalone Java sources: diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsOptionsPanelController.java b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsOptionsPanelController.java new file mode 100644 index 000000000000..784b88949d4f --- /dev/null +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsOptionsPanelController.java @@ -0,0 +1,101 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.java.file.launcher; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import javax.swing.JComponent; +import javax.swing.SwingUtilities; +import org.netbeans.spi.options.OptionsPanelController; +import org.netbeans.modules.options.java.api.JavaOptions; +import org.openide.util.HelpCtx; +import org.openide.util.Lookup; + +@OptionsPanelController.SubRegistration( + location = JavaOptions.JAVA, + displayName = "#AdvancedOption_DisplayName_GlobalSettings", + keywords = "#AdvancedOption_Keywords_GlobalSettings", + keywordsCategory = "Java/GlobalSettings" +) +@org.openide.util.NbBundle.Messages({"AdvancedOption_DisplayName_GlobalSettings=Source Launcher", "AdvancedOption_Keywords_GlobalSettings=single source"}) +public final class GlobalSettingsOptionsPanelController extends OptionsPanelController { + + private GlobalSettingsPanel panel; + private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); + private boolean changed; + + public void update() { + getPanel().load(); + changed = false; + } + + public void applyChanges() { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + getPanel().store(); + changed = false; + } + }); + } + + public void cancel() { + // need not do anything special, if no changes have been persisted yet + } + + public boolean isValid() { + return getPanel().valid(); + } + + public boolean isChanged() { + return changed; + } + + public HelpCtx getHelpCtx() { + return null; // new HelpCtx("...ID") if you have a help set + } + + public JComponent getComponent(Lookup masterLookup) { + return getPanel(); + } + + public void addPropertyChangeListener(PropertyChangeListener l) { + pcs.addPropertyChangeListener(l); + } + + public void removePropertyChangeListener(PropertyChangeListener l) { + pcs.removePropertyChangeListener(l); + } + + private GlobalSettingsPanel getPanel() { + if (panel == null) { + panel = new GlobalSettingsPanel(this); + } + return panel; + } + + void changed() { + if (!changed) { + changed = true; + pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true); + } + pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null); + } + +} diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsPanel.form b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsPanel.form new file mode 100644 index 000000000000..b96e849c1781 --- /dev/null +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsPanel.form @@ -0,0 +1,105 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsPanel.java b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsPanel.java new file mode 100644 index 000000000000..d61fe085a84f --- /dev/null +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/GlobalSettingsPanel.java @@ -0,0 +1,111 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.java.file.launcher; + +import java.util.prefs.Preferences; +import org.netbeans.api.java.platform.JavaPlatformManager; +import org.openide.util.NbPreferences; + +final class GlobalSettingsPanel extends javax.swing.JPanel { + + private final GlobalSettingsOptionsPanelController controller; + + GlobalSettingsPanel(GlobalSettingsOptionsPanelController controller) { + this.controller = controller; + initComponents(); + // TODO listen to changes in form fields and call controller.changed() + } + + /** + * This method is called from within the constructor to initialize the form. + * WARNING: Do NOT modify this code. The content of this method is always + * regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + + vmTextField = new javax.swing.JTextField(); + vmLabel = new javax.swing.JLabel(); + singleRunCheckBox = new javax.swing.JCheckBox(); + jLabel1 = new javax.swing.JLabel(); + + vmLabel.setLabelFor(vmTextField); + org.openide.awt.Mnemonics.setLocalizedText(vmLabel, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.vmLabel.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(singleRunCheckBox, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.singleRunCheckBox.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(GlobalSettingsPanel.class, "GlobalSettingsPanel.jLabel1.text")); // NOI18N + + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); + this.setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addComponent(vmLabel) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(singleRunCheckBox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addComponent(vmTextField))) + .addGroup(layout.createSequentialGroup() + .addComponent(jLabel1) + .addGap(0, 0, Short.MAX_VALUE))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addGroup(layout.createSequentialGroup() + .addContainerGap() + .addComponent(jLabel1) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) + .addComponent(vmLabel) + .addComponent(vmTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + .addComponent(singleRunCheckBox) + .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + }// //GEN-END:initComponents + + void load() { + Preferences prefs = NbPreferences.forModule(JavaPlatformManager.class); + vmTextField.setText(prefs.get(SingleSourceFileUtil.GLOBAL_VM_OPTIONS, "")); // NOI18N + singleRunCheckBox.setSelected(prefs.getBoolean(SingleSourceFileUtil.GLOBAL_STOP_AND_RUN_OPTION, false)); // NOI18N + } + + void store() { + Preferences prefs = NbPreferences.forModule(JavaPlatformManager.class); + prefs.put(SingleSourceFileUtil.GLOBAL_VM_OPTIONS, vmTextField.getText()); // NOI18N + prefs.putBoolean(SingleSourceFileUtil.GLOBAL_STOP_AND_RUN_OPTION, singleRunCheckBox.isSelected()); // NOI18N + } + + boolean valid() { + // TODO check whether form is consistent and complete + return true; + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel jLabel1; + private javax.swing.JCheckBox singleRunCheckBox; + private javax.swing.JLabel vmLabel; + private javax.swing.JTextField vmTextField; + // End of variables declaration//GEN-END:variables +} diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/SingleSourceFileUtil.java b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/SingleSourceFileUtil.java index d8fb70bb990a..662bfefb4ab6 100644 --- a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/SingleSourceFileUtil.java +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/SingleSourceFileUtil.java @@ -31,6 +31,7 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.netbeans.api.java.platform.JavaPlatform; +import org.netbeans.api.java.platform.JavaPlatformManager; import org.netbeans.api.project.FileOwnerQuery; import org.netbeans.modules.java.file.launcher.queries.MultiSourceRootProvider; import org.netbeans.modules.java.file.launcher.spi.SingleFileOptionsQueryImplementation; @@ -41,6 +42,7 @@ import org.openide.loaders.DataObject; import org.openide.util.ChangeSupport; import org.openide.util.Lookup; +import org.openide.util.NbPreferences; /** * @@ -60,6 +62,9 @@ public static int findJavaVersion() throws NumberFormatException { return version; } + public static final String GLOBAL_VM_OPTIONS = "java_file_launcher_global_vm_options"; //NOI18N + public static final String GLOBAL_STOP_AND_RUN_OPTION = "java_file_launcher_global_stop_and_run_option"; //NOI18N + // synced with JavaNode public static final String FILE_ARGUMENTS = "single_file_run_arguments"; //NOI18N public static final String FILE_JDK = "single_file_run_jdk"; //NOI18N @@ -117,6 +122,10 @@ public static Process compileJavaSource(FileObject fileObject, JavaPlatform jdk) if (!vmOptions.isEmpty()) { compileCommandList.addAll(Arrays.asList(vmOptions.split(" "))); //NOI18N } + String globalVmOptions = NbPreferences.forModule(JavaPlatformManager.class).get(GLOBAL_VM_OPTIONS, "").trim(); // NOI18N + if (!globalVmOptions.isEmpty()) { + compileCommandList.addAll(Arrays.asList(globalVmOptions.split(" "))); //NOI18N + } compileCommandList.add(fileObject.getPath()); ProcessBuilder compileProcessBuilder = new ProcessBuilder(compileCommandList); compileProcessBuilder.directory(new File(fileObject.getParent().getPath())); diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/JPDAStart.java b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/JPDAStart.java index ede73c49dfe4..329b54428eac 100644 --- a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/JPDAStart.java +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/JPDAStart.java @@ -39,7 +39,6 @@ import org.netbeans.api.debugger.jpda.JPDADebugger; import org.netbeans.modules.java.file.launcher.SingleSourceFileUtil; import org.netbeans.spi.java.classpath.support.ClassPathSupport; -import org.openide.windows.InputOutput; /** * Start the JPDA debugger. @@ -52,11 +51,9 @@ public class JPDAStart implements Runnable { private static final String TRANSPORT = "dt_socket"; //NOI18N private final Object[] lock = new Object[2]; - private final InputOutput io; private final FileObject fileObject; - JPDAStart(InputOutput inputOutput, FileObject fileObject) { - io = inputOutput; + JPDAStart(FileObject fileObject) { this.fileObject = fileObject; } @@ -123,16 +120,16 @@ public void run() { JPDADebugger.startListening(flc, args, new Object[]{properties}); } catch (DebuggerStartException ex) { - io.getErr().println("Debugger Start Error."); //NOI18N +// io.getErr().println("Debugger Start Error."); //NOI18N SingleSourceFileUtil.LOG.log(Level.SEVERE, "Debugger Start Error.", ex); } }); } catch (java.io.IOException ioex) { - io.getErr().println("IO Error:"); //NOI18N +// io.getErr().println("IO Error:"); //NOI18N // org.openide.ErrorManager.getDefault().notify(ioex); lock[1] = ioex; } catch (com.sun.jdi.connect.IllegalConnectorArgumentsException icaex) { - io.getErr().println("Illegal Connector"); //NOI18N +// io.getErr().println("Illegal Connector"); //NOI18N lock[1] = icaex; } finally { lock.notify(); diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/LaunchProcess.java b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/LaunchProcess.java index befa4cf8c89f..daf1bbdddf38 100644 --- a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/LaunchProcess.java +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/LaunchProcess.java @@ -34,6 +34,7 @@ import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.util.BaseUtilities; +import org.openide.util.NbPreferences; import org.openide.util.Utilities; final class LaunchProcess implements Callable { @@ -82,6 +83,8 @@ private Process setupProcess(String port) throws InterruptedException { ExplicitProcessParameters.builder() .args(readArgumentsFromAttribute(fileObject, SingleSourceFileUtil.FILE_ARGUMENTS)) .launcherArgs(readArgumentsFromAttribute(fileObject, SingleSourceFileUtil.FILE_VM_OPTIONS)) + .launcherArgs(Arrays.asList(BaseUtilities.parseParameters( + NbPreferences.forModule(JavaPlatformManager.class).get(SingleSourceFileUtil.GLOBAL_VM_OPTIONS, "").trim()))) //NOI18N .workingDirectory(workDir) .build(); diff --git a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/SingleJavaSourceRunActionProvider.java b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/SingleJavaSourceRunActionProvider.java index 007764c96487..05c9d1ff1ccd 100644 --- a/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/SingleJavaSourceRunActionProvider.java +++ b/java/java.file.launcher/src/org/netbeans/modules/java/file/launcher/actions/SingleJavaSourceRunActionProvider.java @@ -18,19 +18,22 @@ */ package org.netbeans.modules.java.file.launcher.actions; +import java.nio.charset.Charset; +import java.util.Map; +import java.util.WeakHashMap; import java.util.concurrent.Future; import org.netbeans.api.extexecution.ExecutionDescriptor; import org.netbeans.api.extexecution.ExecutionService; import org.netbeans.modules.java.file.launcher.SingleSourceFileUtil; import org.netbeans.api.extexecution.base.ExplicitProcessParameters; -import org.netbeans.spi.project.ActionProgress; +import org.netbeans.api.java.platform.JavaPlatformManager; import org.netbeans.spi.project.ActionProvider; +import org.openide.LifecycleManager; import org.openide.filesystems.FileObject; import org.openide.util.Lookup; import org.openide.util.NbBundle; +import org.openide.util.NbPreferences; import org.openide.util.lookup.ServiceProvider; -import org.openide.windows.IOProvider; -import org.openide.windows.InputOutput; /** * This class provides support to run a single Java file without a parent @@ -40,6 +43,10 @@ */ @ServiceProvider(service = ActionProvider.class) public final class SingleJavaSourceRunActionProvider implements ActionProvider { + + private final Map> running = new WeakHashMap<>(); + private volatile boolean rerun = false; + @Override public String[] getSupportedActions() { return new String[]{ @@ -53,26 +60,43 @@ public String[] getSupportedActions() { }) @Override public void invokeAction(String command, Lookup context) throws IllegalArgumentException { + LifecycleManager.getDefault().saveAll(); FileObject fileObject = SingleSourceFileUtil.getJavaFileWithoutProjectFromLookup(context); - if (fileObject == null) + if (fileObject == null) return; + var previous = running.get(fileObject); + if (previous != null && !previous.isDone()) { + rerun = true; + if (previous.cancel(true)) { + return; + } + rerun = false; + } ExplicitProcessParameters params = ExplicitProcessParameters.buildExplicitParameters(context); - InputOutput io = IOProvider.getDefault().getIO(Bundle.CTL_SingleJavaFile(), false); - ActionProgress progress = ActionProgress.start(context); + String preferredEncoding = System.getProperty("native.encoding"); // NOI18N ExecutionDescriptor descriptor = new ExecutionDescriptor(). + showProgress(true). controllable(true). frontWindow(true). preExecution(null). - inputOutput(io). + inputVisible(true). + charset(preferredEncoding != null ? Charset.forName(preferredEncoding) : null). postExecution((exitCode) -> { - progress.finished(exitCode == 0); + if (rerun) { + rerun = false; + invokeAction(command, context); + } }); - LaunchProcess process = invokeActionHelper(io, command, fileObject, params); + LaunchProcess process = invokeActionHelper(command, fileObject, params); ExecutionService exeService = ExecutionService.newService( process, - descriptor, "Running Single Java File"); - Future exitCode = exeService.run(); + descriptor, fileObject.getNameExt()); + + Future future = exeService.run(); + if (NbPreferences.forModule(JavaPlatformManager.class).getBoolean(SingleSourceFileUtil.GLOBAL_STOP_AND_RUN_OPTION, false)) { + running.put(fileObject, future); + } } @Override @@ -80,11 +104,11 @@ public boolean isActionEnabled(String command, Lookup context) throws IllegalArg FileObject fileObject = SingleSourceFileUtil.getJavaFileWithoutProjectFromLookup(context); return fileObject != null; } - - final LaunchProcess invokeActionHelper (InputOutput io, String command, FileObject fo, ExplicitProcessParameters params) { + + final LaunchProcess invokeActionHelper (String command, FileObject fo, ExplicitProcessParameters params) { JPDAStart start = ActionProvider.COMMAND_DEBUG_SINGLE.equals(command) ? - new JPDAStart(io, fo) : null; + new JPDAStart(fo) : null; return new LaunchProcess(fo, start, params); } - + } diff --git a/java/java.source/src/org/netbeans/modules/java/Bundle.properties b/java/java.source/src/org/netbeans/modules/java/Bundle.properties index 1d3268d9067e..e5ea1acd023d 100644 --- a/java/java.source/src/org/netbeans/modules/java/Bundle.properties +++ b/java/java.source/src/org/netbeans/modules/java/Bundle.properties @@ -37,6 +37,8 @@ PROP_JavaNode_singlefile_arguments=Program Arguments HINT_JavaNode_singlefile_arguments=Arguments passed to the main method while running the file. PROP_JavaNode_singlefile_options=VM Options HINT_JavaNode_singlefile_options=VM Options to be considered while running the file. +PROP_JavaNode_singlefile_global_options=Additional VM Options +HINT_JavaNode_singlefile_global_options=Additional VM Options configured in Settings... / Java / Source Launcher. PROP_JavaNode_singlefile_registerRoot=Enable Source File Launcher Indexing HINT_JavaNode_singlefile_registerRoot=The root corresponding to this file should have source file launcher indexing enabled PROP_JavaNode_classfile_version=Classfile Version diff --git a/java/java.source/src/org/netbeans/modules/java/JavaNode.java b/java/java.source/src/org/netbeans/modules/java/JavaNode.java index 60bfeced4598..51089d2cceb3 100644 --- a/java/java.source/src/org/netbeans/modules/java/JavaNode.java +++ b/java/java.source/src/org/netbeans/modules/java/JavaNode.java @@ -82,6 +82,7 @@ import org.openide.util.Exceptions; import org.openide.util.ImageUtilities; import org.openide.util.Lookup; +import org.openide.util.NbPreferences; import org.openide.util.RequestProcessor; import org.openide.util.Utilities; import org.openide.util.WeakListeners; @@ -108,6 +109,7 @@ public final class JavaNode extends DataNode implements ChangeListener { private static final String EXECUTABLE_BADGE_URL = "org/netbeans/modules/java/resources/executable-badge.png"; //NOI18N private static final String NEEDS_COMPILE_BADGE_URL = "org/netbeans/modules/java/resources/needs-compile.png"; //NOI18N // synced with org.netbeans.modules.java.file.launcher.SingleSourceFileUtil + private static final String GLOBAL_VM_OPTIONS = "java_file_launcher_global_vm_options"; //NOI18N private static final String FILE_ARGUMENTS = "single_file_run_arguments"; //NOI18N private static final String FILE_JDK = "single_file_run_jdk"; //NOI18N private static final String FILE_VM_OPTIONS = "single_file_vm_options"; //NOI18N @@ -247,6 +249,7 @@ protected final Sheet createSheet () { ss.put(new RunFileJDKProperty(dObj)); ss.put(new JavaFileAttributeProperty(dObj, FILE_ARGUMENTS, "runFileArguments", "singlefile_arguments")); // NOI18N ss.put(new JavaFileAttributeProperty(dObj, FILE_VM_OPTIONS, "runFileVMOptions", "singlefile_options")); // NOI18N + ss.put(new JavaFileGlobalOptionsProperty()); sheet.put(ss); } @@ -522,6 +525,19 @@ public void setValue(String o) { } } + // read-only global VM options + private static final class JavaFileGlobalOptionsProperty extends PropertySupport.ReadOnly { + + public JavaFileGlobalOptionsProperty() { + super("runFileGlobalOptions", String.class, getMessage(JavaNode.class, "PROP_JavaNode_singlefile_global_options"), getMessage(JavaNode.class, "HINT_JavaNode_singlefile_global_options")); // NOI18N + } + + @Override + public String getValue() { + return NbPreferences.forModule(JavaPlatformManager.class).get(GLOBAL_VM_OPTIONS, "").trim(); + } + } + @Override public void stateChanged(ChangeEvent e) { WORKER.post(new BuildStatusTask(this)); From 2c778f1ac903316102ce3ea276860ba4fa9732a1 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Thu, 17 Oct 2024 09:17:28 +0200 Subject: [PATCH 11/94] Self sampler for LSP server code completion --- java/java.lsp.server/nbproject/project.xml | 8 ++ .../protocol/TextDocumentServiceImpl.java | 88 ++++++++++++++++++- java/java.lsp.server/vscode/package.json | 5 ++ 3 files changed, 98 insertions(+), 3 deletions(-) diff --git a/java/java.lsp.server/nbproject/project.xml b/java/java.lsp.server/nbproject/project.xml index b84a5f3b4c7d..b2357086f913 100644 --- a/java/java.lsp.server/nbproject/project.xml +++ b/java/java.lsp.server/nbproject/project.xml @@ -566,6 +566,14 @@
+ + org.netbeans.modules.sampler + + + + 1.40 + + org.netbeans.modules.sendopts diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java index c582e825e321..1c58bf6bd5f8 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java @@ -32,16 +32,20 @@ import com.sun.source.util.TreePathScanner; import com.sun.source.util.Trees; import com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter; +import java.io.DataOutputStream; +import java.io.File; import java.io.FileNotFoundException; import java.net.URI; import java.net.URL; import java.time.Instant; import java.io.IOException; +import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringWriter; import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URISyntaxException; +import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; @@ -63,6 +67,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; import java.util.function.BiConsumer; import java.util.function.IntFunction; @@ -78,7 +83,6 @@ import javax.lang.model.type.DeclaredType; import javax.lang.model.type.TypeKind; import javax.lang.model.type.TypeMirror; -import javax.swing.JEditorPane; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; @@ -236,6 +240,7 @@ import org.netbeans.modules.java.lsp.server.URITranslator; import org.netbeans.modules.java.lsp.server.ui.AbstractJavaPlatformProviderOverride; import org.netbeans.modules.parsing.impl.SourceAccessor; +import org.netbeans.modules.sampler.Sampler; import org.netbeans.spi.editor.hints.ErrorDescription; import org.netbeans.spi.lsp.CallHierarchyProvider; import org.netbeans.spi.lsp.CodeLensProvider; @@ -244,11 +249,16 @@ import org.netbeans.spi.project.ActionProvider; import org.netbeans.spi.project.ProjectConfiguration; import org.netbeans.spi.project.ProjectConfigurationProvider; +import org.openide.DialogDescriptor; +import org.openide.DialogDisplayer; +import org.openide.NotifyDescriptor; +import org.openide.NotifyDescriptor.Message; import org.openide.cookies.EditorCookie; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; import org.openide.loaders.DataObject; +import org.openide.modules.Places; import org.openide.text.CloneableEditorSupport; import org.openide.text.NbDocument; import org.openide.text.PositionBounds; @@ -256,6 +266,7 @@ import org.openide.util.Exceptions; import org.openide.util.Lookup; import org.openide.util.NbBundle; +import org.openide.util.NbBundle.Messages; import org.openide.util.Pair; import org.openide.util.RequestProcessor; import org.openide.util.WeakSet; @@ -273,6 +284,7 @@ public class TextDocumentServiceImpl implements TextDocumentService, LanguageCli private static final String COMMAND_RUN_SINGLE = "nbls.run.single"; // NOI18N private static final String COMMAND_DEBUG_SINGLE = "nbls.debug.single"; // NOI18N private static final String NETBEANS_JAVADOC_LOAD_TIMEOUT = "javadoc.load.timeout";// NOI18N + private static final String NETBEANS_COMPLETION_WARNING_TIME = "completion.warning.time";// NOI18N private static final String NETBEANS_JAVA_ON_SAVE_ORGANIZE_IMPORTS = "java.onSave.organizeImports";// NOI18N private static final String URL = "url";// NOI18N private static final String INDEX = "index";// NOI18N @@ -334,8 +346,36 @@ public void indexingComplete(Set indexedRoots) { private final AtomicInteger javadocTimeout = new AtomicInteger(-1); private List lastCompletions = null; + private static final int INITIAL_COMPLETION_SAMPLING_DELAY = 1000; + private static final int DEFAULT_COMPLETION_WARNING_LENGTH = 10_000; + private static final RequestProcessor COMPLETION_SAMPLER_WORKER = new RequestProcessor("java-lsp-completion-sampler", 1, false, false); + @Override + @Messages({ + "# {0} - the timeout elapsed", + "# {1} - path to the saved sampler file", + "INFO_LongCodeCompletion=Analyze completions taking longer than {0}. A sampler snapshot has been saved to: {1}" + }) public CompletableFuture, CompletionList>> completion(CompletionParams params) { + AtomicBoolean done = new AtomicBoolean(); + AtomicReference samplerRef = new AtomicReference<>(); + AtomicLong samplingStart = new AtomicLong(); + AtomicLong samplingWarningLength = new AtomicLong(DEFAULT_COMPLETION_WARNING_LENGTH); + long completionStart = System.currentTimeMillis(); + COMPLETION_SAMPLER_WORKER.post(() -> { + if (!done.get()) { + Sampler sampler = Sampler.createSampler("completion"); + if (sampler != null) { + sampler.start(); + samplerRef.set(sampler); + samplingStart.set(System.currentTimeMillis()); + if (done.get()) { + sampler.stop(); + } + } + } + }, INITIAL_COMPLETION_SAMPLING_DELAY); + lastCompletions = new ArrayList<>(); AtomicInteger index = new AtomicInteger(0); final CompletionList completionList = new CompletionList(); @@ -358,9 +398,21 @@ public CompletableFuture, CompletionList>> completio ConfigurationItem conf = new ConfigurationItem(); conf.setScopeUri(uri); conf.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() + NETBEANS_JAVADOC_LOAD_TIMEOUT); - return client.configuration(new ConfigurationParams(Collections.singletonList(conf))).thenApply(c -> { + ConfigurationItem completionWarningLength = new ConfigurationItem(); + completionWarningLength.setScopeUri(uri); + completionWarningLength.setSection(client.getNbCodeCapabilities().getConfigurationPrefix() + NETBEANS_COMPLETION_WARNING_TIME); + return client.configuration(new ConfigurationParams(Arrays.asList(conf, completionWarningLength))).thenApply(c -> { if (c != null && !c.isEmpty()) { - javadocTimeout.set(((JsonPrimitive)c.get(0)).getAsInt()); + if (c.get(0) instanceof JsonPrimitive) { + JsonPrimitive javadocTimeSetting = (JsonPrimitive) c.get(0); + + javadocTimeout.set(javadocTimeSetting.getAsInt()); + } + if (c.get(1) instanceof JsonPrimitive) { + JsonPrimitive samplingWarningsLengthSetting = (JsonPrimitive) c.get(1); + + samplingWarningLength.set(samplingWarningsLengthSetting.getAsLong()); + } } final int caret = Utils.getOffset(doc, params.getPosition()); List items = new ArrayList<>(); @@ -439,6 +491,36 @@ public CompletableFuture, CompletionList>> completio } else { prefs.remove("classMemberInsertionPoint"); } + + done.set(true); + Sampler sampler = samplerRef.get(); + if (sampler != null) { + long samplingTime = (System.currentTimeMillis() - completionStart); + long minSamplingTime = Math.min(1_000, samplingWarningLength.get()); + if (samplingTime >= minSamplingTime && + samplingTime >= samplingWarningLength.get() && + samplingWarningLength.get() >= 0) { + Lookup lookup = Lookup.getDefault(); + new Thread(() -> { + Lookups.executeWith(lookup, () -> { + Path logDir = Places.getUserDirectory().toPath().resolve("var/log"); + try { + Path target = Files.createTempFile(logDir, "completion-sampler", ".npss"); + try (OutputStream out = Files.newOutputStream(target); + DataOutputStream dos = new DataOutputStream(out)) { + sampler.stopAndWriteTo(dos); + + NotifyDescriptor notifyUser = new Message(Bundle.INFO_LongCodeCompletion(samplingWarningLength.get(), target.toAbsolutePath().toString())); + + DialogDisplayer.getDefault().notifyLater(notifyUser); + } + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + }); + }).start(); + } + } } completionList.setItems(items); return Either.forRight(completionList); diff --git a/java/java.lsp.server/vscode/package.json b/java/java.lsp.server/vscode/package.json index ac61857d1df4..5751c063734d 100644 --- a/java/java.lsp.server/vscode/package.json +++ b/java/java.lsp.server/vscode/package.json @@ -187,6 +187,11 @@ "default": 100, "description": "Timeout (in milliseconds) for loading Javadoc in code completion (-1 for unlimited)" }, + "netbeans.completion.warning.time": { + "type": "integer", + "default": 10000, + "description": "When code completion takes longer than this specified time (in milliseconds), there will be a warning produced (-1 to disable)" + }, "netbeans.format.codeFormatter": { "type": "string", "enum": [ From c09e577d2c67bbe9ab511e8655e59d000969462f Mon Sep 17 00:00:00 2001 From: Jan Horvath Date: Thu, 17 Oct 2024 08:00:01 +0200 Subject: [PATCH 12/94] Open in OCI Console command --- .../modules/cloud/oracle/OCINode.java | 2 +- .../cloud/oracle/bucket/BucketItem.java | 22 +++++++++++- .../cloud/oracle/compute/ClusterItem.java | 21 ++++++++++- .../oracle/compute/ComputeInstanceItem.java | 20 ++++++++++- .../cloud/oracle/database/DatabaseItem.java | 21 ++++++++++- .../modules/cloud/oracle/items/OCIItem.java | 18 ++++++++++ .../modules/cloud/oracle/vault/KeyItem.java | 30 ++++++++++++++-- .../modules/cloud/oracle/vault/KeyNode.java | 1 + .../cloud/oracle/vault/SecretItem.java | 31 ++++++++++++++-- .../cloud/oracle/vault/SecretNode.java | 1 + .../modules/cloud/oracle/vault/VaultItem.java | 21 ++++++++++- .../LspAssetsDecorationProvider.java | 36 ++++++++++++------- java/java.lsp.server/vscode/package.json | 19 ++++++++-- java/java.lsp.server/vscode/src/extension.ts | 8 +++++ 14 files changed, 226 insertions(+), 25 deletions(-) diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCINode.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCINode.java index 5b406e307241..3cc6d626f2a3 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCINode.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCINode.java @@ -64,7 +64,7 @@ private OCINode(CloudChildFactory factory, OCIItem item, OCISessionInitiator ses } public OCINode(OCIItem item, Children children) { - super(children, Lookups.fixed(item, OCIManager.getDefault().getActiveProfile(item))); + super(children, Lookups.fixed(item)); setName(item.getName()); this.item = item; this.factory = null; diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/bucket/BucketItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/bucket/BucketItem.java index c4f08dce7156..7aa6c2b418de 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/bucket/BucketItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/bucket/BucketItem.java @@ -18,14 +18,20 @@ */ package org.netbeans.modules.cloud.oracle.bucket; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import org.netbeans.modules.cloud.oracle.adm.URLProvider; import org.netbeans.modules.cloud.oracle.items.OCID; import org.netbeans.modules.cloud.oracle.items.OCIItem; +import org.openide.util.Exceptions; /** * * @author Jan Horvath */ -public final class BucketItem extends OCIItem { +public final class BucketItem extends OCIItem implements URLProvider { private String namespace; @@ -47,4 +53,18 @@ public int maxInProject() { return Integer.MAX_VALUE; } + @Override + public URL getURL() { + if (getKey().getValue() != null && getRegion() != null) { + try { + URI uri = new URI(String.format("https://cloud.oracle.com/object-storage/buckets/%s/%s/objects?region=%s", + getNamespace(), getName(), getRegion())); + return uri.toURL(); + } catch (MalformedURLException | URISyntaxException ex) { + Exceptions.printStackTrace(ex); + } + } + return null; + } + } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/compute/ClusterItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/compute/ClusterItem.java index d736fdf363be..16caacffba27 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/compute/ClusterItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/compute/ClusterItem.java @@ -22,9 +22,14 @@ import com.oracle.bmc.containerengine.requests.CreateKubeconfigRequest; import com.oracle.bmc.containerengine.responses.CreateKubeconfigResponse; import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; import java.nio.charset.Charset; import org.netbeans.modules.cloud.oracle.OCIManager; import org.netbeans.modules.cloud.oracle.OCIProfile; +import org.netbeans.modules.cloud.oracle.adm.URLProvider; import org.netbeans.modules.cloud.oracle.items.OCID; import org.netbeans.modules.cloud.oracle.items.OCIItem; import org.openide.util.Exceptions; @@ -33,7 +38,7 @@ * * @author Jan Horvath */ -public final class ClusterItem extends OCIItem { +public final class ClusterItem extends OCIItem implements URLProvider{ private String config = null; private String namespace = "default"; //NOI8N @@ -80,4 +85,18 @@ public void update() { Exceptions.printStackTrace(ex); } } + + @Override + public URL getURL() { + if (getKey().getValue() != null && getRegion() != null) { + try { + URI uri = new URI(String.format("https://cloud.oracle.com/containers/clusters/%s?region=%s", getKey().getValue(), getRegion())); + return uri.toURL(); + } catch (MalformedURLException | URISyntaxException ex) { + Exceptions.printStackTrace(ex); + } + } + return null; + } + } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/compute/ComputeInstanceItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/compute/ComputeInstanceItem.java index 1fa5f04ef367..8bf09cd44169 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/compute/ComputeInstanceItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/compute/ComputeInstanceItem.java @@ -18,14 +18,20 @@ */ package org.netbeans.modules.cloud.oracle.compute; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import org.netbeans.modules.cloud.oracle.adm.URLProvider; import org.netbeans.modules.cloud.oracle.items.OCID; import org.netbeans.modules.cloud.oracle.items.OCIItem; +import org.openide.util.Exceptions; /** * * @author Jan Horvath */ -public final class ComputeInstanceItem extends OCIItem { +public final class ComputeInstanceItem extends OCIItem implements URLProvider { private String publicIp = null; private String processorDescription; private String username; @@ -70,4 +76,16 @@ void setPublicId(String publicIp) { this.publicIp = publicIp; } + @Override + public URL getURL() { + if (getKey().getValue() != null && getRegion() != null) { + try { + URI uri = new URI(String.format("https://cloud.oracle.com/compute/instances/%s?region=%s", getKey().getValue(), getRegion())); + return uri.toURL(); + } catch (MalformedURLException | URISyntaxException ex) { + Exceptions.printStackTrace(ex); + } + } + return null; + } } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseItem.java index 5c1155965768..246d3898bd54 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseItem.java @@ -18,21 +18,27 @@ */ package org.netbeans.modules.cloud.oracle.database; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; import java.util.HashMap; import java.util.Map; import java.util.UUID; import org.netbeans.api.db.explorer.ConnectionManager; import org.netbeans.api.db.explorer.DatabaseConnection; +import org.netbeans.modules.cloud.oracle.adm.URLProvider; import org.netbeans.modules.cloud.oracle.assets.CloudAssets; import org.netbeans.modules.cloud.oracle.items.OCID; import org.netbeans.modules.cloud.oracle.items.OCIItem; import org.netbeans.modules.cloud.oracle.vault.SensitiveData; +import org.openide.util.Exceptions; /** * * @author Jan Horvath */ -public class DatabaseItem extends OCIItem implements SensitiveData { +public class DatabaseItem extends OCIItem implements SensitiveData, URLProvider { private static final String DEFAULT_REF_NAME = "DEFAULT"; private final String serviceUrl; private final String connectionName; @@ -106,4 +112,17 @@ public DatabaseConnection getCorrespondingConnection() { } return null; } + + @Override + public URL getURL() { + if (getKey().getValue() != null && getRegion() != null) { + try { + URI uri = new URI(String.format("https://cloud.oracle.com/db/adbs/%s?region=%s", getKey().getValue(), getRegion())); + return uri.toURL(); + } catch (MalformedURLException | URISyntaxException ex) { + Exceptions.printStackTrace(ex); + } + } + return null; + } } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/items/OCIItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/items/OCIItem.java index 31bb0a8dc713..161321132414 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/items/OCIItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/items/OCIItem.java @@ -18,9 +18,12 @@ */ package org.netbeans.modules.cloud.oracle.items; +import com.oracle.bmc.Region; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; import java.util.Objects; +import java.util.logging.Level; +import java.util.logging.Logger; /** * Represents Oracle Cloud Resource identified by Oracle Cloud Identifier (OCID) @@ -28,6 +31,9 @@ * @author Jan Horvath */ public abstract class OCIItem { + + private static final Logger LOG = Logger.getLogger(OCIItem.class.getName()); + final OCID id; final String name; final String compartmentId; @@ -188,4 +194,16 @@ public void fireRefNameChanged(String oldRefName, String referenceName) { changeSupport.firePropertyChange("referenceName", oldRefName, referenceName); } + public String getRegion() { + if (getRegionCode() != null) { + try { + Region region = Region.fromRegionCodeOrId(getRegionCode()); + return region.getRegionId(); + } catch (IllegalArgumentException e) { + LOG.log(Level.INFO, "Unknown Region Code", e); + } + } + return null; + } + } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/KeyItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/KeyItem.java index 430515952200..506e47263553 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/KeyItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/KeyItem.java @@ -18,26 +18,52 @@ */ package org.netbeans.modules.cloud.oracle.vault; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import org.netbeans.modules.cloud.oracle.adm.URLProvider; import org.netbeans.modules.cloud.oracle.items.OCID; import org.netbeans.modules.cloud.oracle.items.OCIItem; +import org.openide.util.Exceptions; /** * * @author Jan Horvath */ -public class KeyItem extends OCIItem { +public class KeyItem extends OCIItem implements URLProvider { - public KeyItem(OCID id, String compartmentId, String name, String tenancyId, String regionCode) { + private String vaultId; + + public KeyItem(OCID id, String compartmentId, String name, String vaultId, String tenancyId, String regionCode) { super(id, compartmentId, name, tenancyId, regionCode); + this.vaultId = vaultId; } public KeyItem() { super(); } + public String getVaultId() { + return vaultId; + } + @Override public int maxInProject() { return Integer.MAX_VALUE; } + @Override + public URL getURL() { + if (getKey().getValue() != null && getRegion() != null) { + try { + URI uri = new URI(String.format("https://cloud.oracle.com/security/kms/vaults/%s/keys/%s?region=%s", getVaultId(), getKey().getValue(), getRegion())); + return uri.toURL(); + } catch (MalformedURLException | URISyntaxException ex) { + Exceptions.printStackTrace(ex); + } + } + return null; + } + } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/KeyNode.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/KeyNode.java index 1943a05174b4..2a81089e9df7 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/KeyNode.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/KeyNode.java @@ -82,6 +82,7 @@ public static ChildrenProvider.SessionAware getKeys() { OCID.of(d.getId(), "Vault/Key"), //NOI18N d.getCompartmentId(), d.getDisplayName(), + vault.getKey().getValue(), tenancyId, regionCode) ) diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/SecretItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/SecretItem.java index f27f3a8390aa..c04a375ccc79 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/SecretItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/SecretItem.java @@ -18,23 +18,31 @@ */ package org.netbeans.modules.cloud.oracle.vault; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; import java.util.Date; +import org.netbeans.modules.cloud.oracle.adm.URLProvider; import org.netbeans.modules.cloud.oracle.items.OCID; import org.netbeans.modules.cloud.oracle.items.OCIItem; +import org.openide.util.Exceptions; /** * * @author Jan Horvath */ -public class SecretItem extends OCIItem { +public class SecretItem extends OCIItem implements URLProvider { private String lifecycleState; private Date deletionTime; + private String vaultId; - public SecretItem(OCID id, String compartmentId, String name, String lifecycleState, Date deletionTime, String tenancyId, String regionCode) { + public SecretItem(OCID id, String compartmentId, String name, String lifecycleState, Date deletionTime, String vaultId, String tenancyId, String regionCode) { super(id, compartmentId, name, tenancyId, regionCode); this.lifecycleState = lifecycleState; this.deletionTime = deletionTime; + this.vaultId = vaultId; } public SecretItem() { @@ -51,6 +59,10 @@ public int maxInProject() { public Date getDeletionTime() { return this.deletionTime; } + + public String getVaultId() { + return vaultId; + } void setDeletionTime(Date deletionTime) { this.deletionTime = deletionTime; @@ -63,4 +75,19 @@ public String getLifecycleState() { void setLifecycleState(String lifecycleState) { this.lifecycleState = lifecycleState; } + + @Override + public URL getURL() { + if (getKey().getValue() != null && getRegion() != null) { + try { + URI uri = new URI(String.format("https://cloud.oracle.com/security/kms/vaults/%s/secrets/%s?region=%s", + getVaultId(), getKey().getValue(), getRegion())); + return uri.toURL(); + } catch (MalformedURLException | URISyntaxException ex) { + Exceptions.printStackTrace(ex); + } + } + return null; + } + } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/SecretNode.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/SecretNode.java index a594d6095eac..eb6c01001712 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/SecretNode.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/SecretNode.java @@ -211,6 +211,7 @@ public static ChildrenProvider.SessionAware getSecrets() d.getSecretName(), d.getLifecycleState().getValue(), d.getTimeOfDeletion(), + vault.getKey().getValue(), tenancyId, regionCode) ) diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/VaultItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/VaultItem.java index 6d38767103bc..baefdafb53d9 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/VaultItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/vault/VaultItem.java @@ -18,14 +18,20 @@ */ package org.netbeans.modules.cloud.oracle.vault; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.URL; +import org.netbeans.modules.cloud.oracle.adm.URLProvider; import org.netbeans.modules.cloud.oracle.items.OCID; import org.netbeans.modules.cloud.oracle.items.OCIItem; +import org.openide.util.Exceptions; /** * * @author Jan Horvath */ -public class VaultItem extends OCIItem { +public class VaultItem extends OCIItem implements URLProvider { private String managementEndpoint; public VaultItem(OCID id, String compartment, String name, String managementEndpoint, String tenancyId, String regionCode) { @@ -46,4 +52,17 @@ public int maxInProject() { return 1; } + @Override + public URL getURL() { + if (getKey().getValue() != null && getRegion() != null) { + try { + URI uri = new URI(String.format("https://cloud.oracle.com/security/kms/vaults/%s?region=%s", getKey().getValue(), getRegion())); + return uri.toURL(); + } catch (MalformedURLException | URISyntaxException ex) { + Exceptions.printStackTrace(ex); + } + } + return null; + } + } diff --git a/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/LspAssetsDecorationProvider.java b/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/LspAssetsDecorationProvider.java index 038dcb02e023..6a3daa7bd5c7 100644 --- a/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/LspAssetsDecorationProvider.java +++ b/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/LspAssetsDecorationProvider.java @@ -18,8 +18,10 @@ */ package org.netbeans.modules.nbcode.integration; +import java.net.URL; import java.util.Optional; import java.util.logging.Logger; +import org.netbeans.modules.cloud.oracle.adm.URLProvider; import org.netbeans.modules.cloud.oracle.assets.CloudAssets; import org.netbeans.modules.cloud.oracle.bucket.BucketItem; import org.netbeans.modules.cloud.oracle.compute.ClusterItem; @@ -36,7 +38,6 @@ import org.openide.nodes.Node; import org.openide.util.lookup.ServiceProvider; - /** * * @author Jan Horvath @@ -44,7 +45,7 @@ @ServiceProvider(service = TreeDataProvider.Factory.class, path = "Explorers/cloud.assets") public class LspAssetsDecorationProvider implements TreeDataProvider.Factory { private static final Logger LOG = Logger.getLogger(LspAssetsDecorationProvider.class.getName()); - + public static final String CTXVALUE_CAP_REFERENCE_NAME = "cap:refName"; // NOI18N public static final String CTXVALUE_PREFIX_REFERENCE_NAME = "cloudAssetsReferenceName:"; // NOI18N public static final String CTXVALUE_PREFIX_PUBLIC_IP = "publicIp:"; // NOI18N @@ -54,12 +55,13 @@ public class LspAssetsDecorationProvider implements TreeDataProvider.Factory { public static final String CTXVALUE_PREFIX_REPOSITORY_PUBLIC = "repositoryPublic:"; // NOI18N public static final String CTXVALUE_PREFIX_SECRET_LIFECYCLE_STATE = "lifecycleState:"; // NOI18N public static final String CTXVALUE_PREFIX_CLUSTER_NAMESPACE = "clusterNamespace:"; // NOI18N + public static final String CTXVALUE_PREFIX_CONSOLE_URL = "consoleUrl:"; // NOI18N @Override public synchronized TreeDataProvider createProvider(String treeId) { return new ProviderImpl(null); } - + static class ProviderImpl implements TreeDataProvider { public ProviderImpl(NodeLookupContextValues lookupValues) { } @@ -69,11 +71,18 @@ public TreeItemData createDecorations(Node n, boolean expanded) { TreeItemData d = new TreeItemData(); String refName; boolean set = false; - + OCIItem item = n.getLookup().lookup(OCIItem.class); if (item == null) { return null; } + if (item instanceof URLProvider) { + URL consoleURL = ((URLProvider) item).getURL(); + if (consoleURL != null) { + d.addContextValues(CTXVALUE_PREFIX_CONSOLE_URL + consoleURL.toExternalForm()); + set = true; + } + } refName = CloudAssets.getDefault().getReferenceName(item); if (refName != null) { d.addContextValues(CTXVALUE_PREFIX_REFERENCE_NAME + refName); @@ -107,36 +116,39 @@ public TreeItemData createDecorations(Node n, boolean expanded) { } else { ClusterItem cluster = CloudAssets.getDefault().getItem(ClusterItem.class); if (cluster != null) { - d.addContextValues(CTXVALUE_PREFIX_CLUSTER_NAME + cluster.getName()); + d.addContextValues(CTXVALUE_PREFIX_CLUSTER_NAME + cluster.getName()); } } d.addContextValues(CTXVALUE_PREFIX_IMAGE_URL + imageUrl); set = true; } - if (item instanceof BucketItem + if (item instanceof BucketItem || item instanceof DatabaseItem) { d.addContextValues(CTXVALUE_CAP_REFERENCE_NAME); set = true; } - + if (item instanceof SecretItem) { - d.addContextValues(CTXVALUE_PREFIX_SECRET_LIFECYCLE_STATE + ((SecretItem)item).getLifecycleState()); + d.addContextValues(CTXVALUE_PREFIX_SECRET_LIFECYCLE_STATE + ((SecretItem) item).getLifecycleState()); set = true; } return set ? d : null; } @Override - public void addTreeItemDataListener(TreeDataListener l) { + public void addTreeItemDataListener(TreeDataListener l + ) { } @Override - public void removeTreeItemDataListener(TreeDataListener l) { + public void removeTreeItemDataListener(TreeDataListener l + ) { } @Override - public void nodeReleased(Node n) { + public void nodeReleased(Node n + ) { } - + } } diff --git a/java/java.lsp.server/vscode/package.json b/java/java.lsp.server/vscode/package.json index ac61857d1df4..162fc52f353c 100644 --- a/java/java.lsp.server/vscode/package.json +++ b/java/java.lsp.server/vscode/package.json @@ -520,6 +520,10 @@ "command": "nbls.cloud.publicIp.copy", "title": "Copy the public IP address" }, + { + "command": "nbls.cloud.openConsole", + "title": "Open in OCI Console" + }, { "command": "nbls.cloud.imageUrl.copy", "title": "Copy pull command" @@ -868,6 +872,10 @@ "command": "nbls.cloud.publicIp.copy", "when": "false" }, + { + "command": "nbls.cloud.openConsole", + "when": "false" + }, { "command": "nbls.cloud.imageUrl.copy", "when": "false" @@ -1118,7 +1126,12 @@ { "command": "nbls.cloud.publicIp.copy", "when": "viewItem =~ /publicIp:.*/ && viewItem =~ /^(?!.*imageUrl:).*/", - "group": "oci@1000" + "group": "instance@1500" + }, + { + "command": "nbls.cloud.openConsole", + "when": "viewItem =~ /consoleUrl:.*/", + "group": "oci@2000" }, { "command": "nbls.cloud.imageUrl.copy", @@ -1153,7 +1166,7 @@ { "command": "nbls.cloud.assets.buildPushNativeImage", "when": "viewItem =~ /class:oracle.developer.ContainerRepositoryItem/", - "group": "oci@1000" + "group": "container@1000" }, { "command": "nbls:Tools:org.netbeans.modules.cloud.oracle.actions.AddRepository", @@ -1163,7 +1176,7 @@ { "command": "nbls:Tools:org.netbeans.modules.cloud.oracle.actions.CreateBuildRun", "when": "viewItem =~ /class:oracle.devops.BuildPipelineItem/", - "group": "inline@12" + "group": "container@12" }, { "command": "nbls:Tools:org.netbeans.modules.cloud.oracle.actions.AddToProject", diff --git a/java/java.lsp.server/vscode/src/extension.ts b/java/java.lsp.server/vscode/src/extension.ts index a040b2487359..b378f9c549a9 100644 --- a/java/java.lsp.server/vscode/src/extension.ts +++ b/java/java.lsp.server/vscode/src/extension.ts @@ -904,6 +904,14 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { } )); + context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.cloud.openConsole', + async (node) => { + const consoleUrl = getValueAfterPrefix(node.contextValue, 'consoleUrl:'); + const url = vscode.Uri.parse(consoleUrl); + vscode.env.openExternal(url); + } + )); + context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.cloud.imageUrl.copy', async (node) => { const imageUrl = getValueAfterPrefix(node.contextValue, 'imageUrl:'); From 1e6a821fe56d4ef01d89a1c51bf5ccc1d122e5ee Mon Sep 17 00:00:00 2001 From: Jan Horvath Date: Fri, 18 Oct 2024 09:04:17 +0200 Subject: [PATCH 13/94] Align the database path with the other resource names, ensuring all are in singular form --- enterprise/cloud.oracle/arch.xml | 2 +- .../modules/cloud/oracle/actions/AddADBAction.java | 4 ++-- .../cloud/oracle/actions/DownloadWalletAction.java | 2 +- .../cloud/oracle/actions/DownloadWalletDialog.java | 2 +- .../cloud/oracle/actions/OpenServiceConsoleAction.java | 2 +- .../modules/cloud/oracle/assets/AddNewAssetCommand.java | 8 ++++---- .../cloud/oracle/assets/AddSuggestedItemAction.java | 2 +- .../netbeans/modules/cloud/oracle/assets/CloudAssets.java | 6 +++--- .../modules/cloud/oracle/assets/DependenciesAnalyzer.java | 2 +- .../modules/cloud/oracle/assets/PropertiesGenerator.java | 2 +- .../modules/cloud/oracle/assets/SuggestedItem.java | 4 ++-- .../modules/cloud/oracle/database/DatabaseNode.java | 2 +- .../modules/cloud/oracle/policy/PolicyGenerator.java | 2 +- .../org/netbeans/modules/cloud/oracle/resources/layer.xml | 2 +- .../cloud/oracle/steps/DatabaseConnectionStep.java | 2 +- .../netbeans/modules/cloud/oracle/steps/ItemTypeStep.java | 2 +- .../modules/cloud/oracle/steps/SuggestedStep.java | 8 ++++---- .../modules/cloud/oracle/assets/CloudAssetsTest.java | 2 +- 18 files changed, 28 insertions(+), 28 deletions(-) diff --git a/enterprise/cloud.oracle/arch.xml b/enterprise/cloud.oracle/arch.xml index eb4f66d5b5b3..5843df8c6e68 100644 --- a/enterprise/cloud.oracle/arch.xml +++ b/enterprise/cloud.oracle/arch.xml @@ -30,7 +30,7 @@

- "Cloud/Oracle/Databases/Actions" folder contains actions working with OCIItem + "Cloud/Oracle/Database/Actions" folder contains actions working with OCIItem

diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddADBAction.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddADBAction.java index f16eaca3aa00..84bf8d479112 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddADBAction.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddADBAction.java @@ -68,10 +68,10 @@ public CompletableFuture addADB() { boolean showSetRefNameStep = CloudAssets.getDefault().itemExistWithoutReferanceName(DatabaseItem.class); Steps.NextStepProvider nsProvider = Steps.NextStepProvider.builder() .stepForClass(TenancyStep.class, (s) -> new CompartmentStep()) - .stepForClass(CompartmentStep.class, (s) -> new SuggestedStep("Databases")) + .stepForClass(CompartmentStep.class, (s) -> new SuggestedStep("Database")) .stepForClass(SuggestedStep.class, (s) -> new UsernameStep()) .stepForClass(UsernameStep.class, (s) -> new PasswordStep(null, (String) s.getValue())) - .stepForClass(PasswordStep.class, (s) -> showSetRefNameStep ? new ReferenceNameStep("Databases") : null) + .stepForClass(PasswordStep.class, (s) -> showSetRefNameStep ? new ReferenceNameStep("Database") : null) .build(); Steps.getDefault() diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/DownloadWalletAction.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/DownloadWalletAction.java index a843cc03c845..cf497feb747c 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/DownloadWalletAction.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/DownloadWalletAction.java @@ -70,7 +70,7 @@ ) @ActionReferences(value = { - @ActionReference(path = "Cloud/Oracle/Databases/Actions", position = 250) + @ActionReference(path = "Cloud/Oracle/Database/Actions", position = 250) }) @NbBundle.Messages({ "LBL_SaveWallet=Save DB Wallet", diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/DownloadWalletDialog.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/DownloadWalletDialog.java index ae5dc56ee182..690caf8680f2 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/DownloadWalletDialog.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/DownloadWalletDialog.java @@ -59,7 +59,7 @@ }) final class DownloadWalletDialog extends AbstractPasswordPanel { - public static final String WALLETS_PATH = "Databases/Wallets"; // NOI18N + public static final String WALLETS_PATH = "Database/Wallets"; // NOI18N private static final String LAST_USED_DIR = "lastUsedDir"; /** diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/OpenServiceConsoleAction.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/OpenServiceConsoleAction.java index 2bf9e01833e2..216fc7565e42 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/OpenServiceConsoleAction.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/OpenServiceConsoleAction.java @@ -39,7 +39,7 @@ displayName = "#CTL_OpenServiceConsoleAction" ) @ActionReferences(value = { - @ActionReference(path = "Cloud/Oracle/Databases/Actions", position = 260) + @ActionReference(path = "Cloud/Oracle/Database/Actions", position = 260) }) @Messages({"CTL_OpenServiceConsoleAction=Open Service Console", "MSG_ServiceConsole=Service Console URL: {0}"}) diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/AddNewAssetCommand.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/AddNewAssetCommand.java index 5b3dbfd50206..ee477be9fe2f 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/AddNewAssetCommand.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/AddNewAssetCommand.java @@ -56,7 +56,7 @@ public class AddNewAssetCommand implements CommandProvider { private static final Map DEP_MAP = new HashMap() { { - put("Databases", new String[]{"io.micronaut.oraclecloud", "micronaut-oraclecloud-atp", + put("Database", new String[]{"io.micronaut.oraclecloud", "micronaut-oraclecloud-atp", "io.micronaut.sql", "micronaut-jdbc-hikari"}); //NOI18N put("Bucket", new String[]{"io.micronaut.objectstorage", "micronaut-object-storage-oracle-cloud"}); //NOI18N put("Vault", new String[]{"io.micronaut.oraclecloud", "micronaut-oraclecloud-vault"}); //NOI18N @@ -81,7 +81,7 @@ public CompletableFuture runCommand(String command, List argumen boolean showSetRefNameStep = CloudAssets.getDefault().itemExistWithoutReferanceName(DatabaseItem.class); Steps.NextStepProvider nsProvider = Steps.NextStepProvider.builder() .stepForClass(ItemTypeStep.class, (s) -> { - if ("Databases".equals(s.getValue())) { + if ("Database".equals(s.getValue())) { return new DatabaseConnectionStep(); } return new TenancyStep(); @@ -95,7 +95,7 @@ public CompletableFuture runCommand(String command, List argumen Project project = values.getValueForStep(ProjectStep.class); CompletableFuture item = null; String itemType = values.getValueForStep(ItemTypeStep.class); - if ("Databases".equals(itemType)) { + if ("Database".equals(itemType)) { DatabaseItem i = values.getValueForStep(DatabaseConnectionStep.class); if (i == null) { item = new AddADBAction().addADB(); @@ -145,7 +145,7 @@ public CompletableFuture runCommand(String command, List argumen DependencyUtils.addAnnotationProcessor(project, processor[0], processor[1]); } } catch (IllegalStateException e) { - if ("Databases".equals(itemType)) { + if ("Database".equals(itemType)) { CloudAssets.getDefault().removeReferenceNameFor(i); } future.completeExceptionally(e); diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/AddSuggestedItemAction.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/AddSuggestedItemAction.java index f8c092382d4e..09237fd72984 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/AddSuggestedItemAction.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/AddSuggestedItemAction.java @@ -68,7 +68,7 @@ public AddSuggestedItemAction(SuggestedItem context) { @Override public void actionPerformed(ActionEvent e) { - if ("Databases".equals(context.getPath())) { //NOI18N + if ("Database".equals(context.getPath())) { //NOI18N Steps.getDefault().executeMultistep(new DatabaseConnectionStep(), Lookup.EMPTY) .thenAccept(values -> { DatabaseItem db = values.getValueForStep(DatabaseConnectionStep.class); diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CloudAssets.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CloudAssets.java index 0f14ac5c9d30..b8b149a5ef93 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CloudAssets.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CloudAssets.java @@ -120,7 +120,7 @@ public final class CloudAssets { boolean update = false; for (Iterator it = items.iterator(); it.hasNext();) { OCIItem item = (OCIItem) it.next(); - if (!ocids.contains(item.getKey().getValue()) && "Databases".equals(item.getKey().getPath())) { //NOI18N + if (!ocids.contains(item.getKey().getValue()) && "Database".equals(item.getKey().getPath())) { //NOI18N it.remove(); update = true; } @@ -243,7 +243,7 @@ public Collection getItems() { list.addAll(items); return list; } - + /** * Returns a Collection of items assigned by user. This doesn't * include suggested items. @@ -406,7 +406,7 @@ synchronized void loadAssets() { .get("id").getAsJsonObject() //NOI18N .get("path").getAsString(); //NOI18N switch (path) { - case "Databases": //NOI18N + case "Database": //NOI18N loaded.add(gson.fromJson(element, DatabaseItem.class)); break; case "Bucket": //NOI18N diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/DependenciesAnalyzer.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/DependenciesAnalyzer.java index 4df0d9ae153b..250fb3608283 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/DependenciesAnalyzer.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/DependenciesAnalyzer.java @@ -36,7 +36,7 @@ public final class DependenciesAnalyzer implements SuggestionAnalyzer { private static final Map DEPENDENCIES = new HashMap() { { - put("micronaut-oraclecloud-atp", "Databases"); //NOI18N + put("micronaut-oraclecloud-atp", "Database"); //NOI18N put("micronaut-object-storage-oracle-cloud", "Bucket"); //NOI18N put("micronaut-oraclecloud-vault", "Vault"); //NOI18N put("micronaut-oraclecloud-micrometer", "MetricsNamespace"); //NOI18N diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/PropertiesGenerator.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/PropertiesGenerator.java index b63fa712146b..f5a21520695c 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/PropertiesGenerator.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/PropertiesGenerator.java @@ -88,7 +88,7 @@ public PropertiesGenerator(boolean local) { application.put("micronaut.object-storage.oracle-cloud." + nameLowercase + ".bucket", item.getKey().getValue()); //NOI18N application.put("micronaut.object-storage.oracle-cloud." + nameLowercase + ".namespace", ((BucketItem) item).getNamespace()); //NOI18N break; - case "Databases": //NOI18N + case "Database": //NOI18N DatabaseConnection conn = ((DatabaseItem) item).getCorrespondingConnection(); if (conn != null) { diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/SuggestedItem.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/SuggestedItem.java index 36f03523ad33..06d3d7d345e8 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/SuggestedItem.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/SuggestedItem.java @@ -58,8 +58,8 @@ public Set getExclusivePaths() { public static SuggestedItem forPath(String path) { switch (path) { - case "Databases": //NOI18N - return new SuggestedItem("Databases", Bundle.SelectDatabases(), Collections.emptySet()); //NOI18N + case "Database": //NOI18N + return new SuggestedItem("Database", Bundle.SelectDatabases(), Collections.emptySet()); //NOI18N case "Vault": //NOI18N return new SuggestedItem("Vault", Bundle.SelectVault(), Collections.emptySet()); //NOI18N case "Bucket": //NOI18N diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseNode.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseNode.java index 82b752040289..02e449ae035e 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseNode.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/database/DatabaseNode.java @@ -83,7 +83,7 @@ public static ChildrenProvider.SessionAware getDa .map(d -> { List profiles = d.getConnectionStrings().getProfiles(); DatabaseItem item = new DatabaseItem( - OCID.of(d.getId(), "Databases"), //NOI18N + OCID.of(d.getId(), "Database"), //NOI18N compartmentId.getKey().getValue(), d.getDbName(), d.getConnectionUrls().getOrdsUrl() + SERVICE_CONSOLE_SUFFIX, diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/policy/PolicyGenerator.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/policy/PolicyGenerator.java index 9ef1e5bb24b3..0e3a87845747 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/policy/PolicyGenerator.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/policy/PolicyGenerator.java @@ -41,7 +41,7 @@ public static List getPolicyStatementsFor(Collection items) { List result = new ArrayList(); for (OCIItem item : items) { switch (item.getKey().getPath()) { - case "Databases": //NOI18N + case "Database": //NOI18N result.add("Allow any-user to manage autonomous-database-family" //NOI18N + " in compartment id " + item.getCompartmentId() //NOI18N + " where ALL {" //NOI18N diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/resources/layer.xml b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/resources/layer.xml index 77e18629eb22..8de31e3cd292 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/resources/layer.xml +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/resources/layer.xml @@ -186,7 +186,7 @@ - + diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/DatabaseConnectionStep.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/DatabaseConnectionStep.java index ccfab3e06f9f..e841059cca13 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/DatabaseConnectionStep.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/DatabaseConnectionStep.java @@ -63,7 +63,7 @@ public DatabaseConnectionStep() { String regionCode = session.getRegion().getRegionCode(); DatabaseItem dbItem - = new DatabaseItem(OCID.of(ocid, "Databases"), compartmentId, name, null, name, tenancyId, regionCode); //NOI18N + = new DatabaseItem(OCID.of(ocid, "Database"), compartmentId, name, null, name, tenancyId, regionCode); //NOI18N dbItem.setDescription(description); adbConnections.put(name, dbItem); } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/ItemTypeStep.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/ItemTypeStep.java index f6ba58e879d7..73cbeb5bbe29 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/ItemTypeStep.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/ItemTypeStep.java @@ -40,7 +40,7 @@ public class ItemTypeStep extends AbstractStep { private static final Map TYPES = new HashMap() { { - put(Bundle.Databases(), "Databases"); //NOI18N + put(Bundle.Database(), "Database"); //NOI18N put(Bundle.Bucket(), "Bucket"); //NOI18N put(Bundle.Vault(), "Vault"); //NOI18N put(Bundle.ContainerRepository(), "ContainerRepository"); //NOI18N diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/SuggestedStep.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/SuggestedStep.java index 8814a2cc0734..faacfeebd276 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/SuggestedStep.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/steps/SuggestedStep.java @@ -50,7 +50,7 @@ * @author Jan Horvath */ @NbBundle.Messages({ - "Databases=Oracle Autonomous Database", + "Database=Oracle Autonomous Database", "Vault=OCI Vault", "Bucket=Object Storage Bucket", "Cluster=Oracle Container Engine", @@ -82,8 +82,8 @@ public void prepare(ProgressHandle h, Values values) { private String getSuggestedItemName() { switch (suggestedType) { - case "Databases": - return Bundle.Databases(); + case "Database": + return Bundle.Database(); case "Vault": return Bundle.Vault(); case "Bucket": @@ -133,7 +133,7 @@ protected static List getItemsByPath(CompartmentItem parent, List items = new ArrayList<>(); try { switch (path) { - case "Databases": //NOI18N + case "Database": //NOI18N return DatabaseNode.getDatabases().apply(parent); case "Vault": //NOI18N return VaultNode.getVaults().apply(parent); diff --git a/enterprise/cloud.oracle/test/unit/src/org/netbeans/modules/cloud/oracle/assets/CloudAssetsTest.java b/enterprise/cloud.oracle/test/unit/src/org/netbeans/modules/cloud/oracle/assets/CloudAssetsTest.java index 3bb20f221dad..a4cd280cd610 100644 --- a/enterprise/cloud.oracle/test/unit/src/org/netbeans/modules/cloud/oracle/assets/CloudAssetsTest.java +++ b/enterprise/cloud.oracle/test/unit/src/org/netbeans/modules/cloud/oracle/assets/CloudAssetsTest.java @@ -36,7 +36,7 @@ public class CloudAssetsTest { public void testStoreLoad() throws URISyntaxException { CloudAssets instance = new CloudAssets(); instance.loadAssets(); - instance.addItem(new DatabaseItem(OCID.of("db-ocid", "Databases"), "db-comp-id", "DB1", "http://test", "DB1", "tenancy-id", "reg")); + instance.addItem(new DatabaseItem(OCID.of("db-ocid", "Database"), "db-comp-id", "DB1", "http://test", "DB1", "tenancy-id", "reg")); instance.addItem(new ClusterItem(OCID.of("cluster-ocid", "Cluster"), "cluster-comp-id", "Cluster1", "tenancy-id", "reg")); instance.addItem(new ContainerRepositoryItem(OCID.of("container-repo-ocid", "ContainerRepository"), "container-repo-comp-id", "Repo1", "reg", "namespace", true, 2, "tenancy-id")); instance.storeAssets(); From 91a7d4bb23ec0e33b6925aec2e4909a185dcee7d Mon Sep 17 00:00:00 2001 From: Neil C Smith Date: Fri, 18 Oct 2024 10:33:53 +0100 Subject: [PATCH 14/94] FlatLaf module should not be autoload. --- platform/o.n.swing.laf.flatlaf/nbproject/project.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/platform/o.n.swing.laf.flatlaf/nbproject/project.properties b/platform/o.n.swing.laf.flatlaf/nbproject/project.properties index c1be571156f8..2d0646841380 100644 --- a/platform/o.n.swing.laf.flatlaf/nbproject/project.properties +++ b/platform/o.n.swing.laf.flatlaf/nbproject/project.properties @@ -15,6 +15,5 @@ # specific language governing permissions and limitations # under the License. -is.autoload=true javac.compilerargs=-Xlint:unchecked javac.source=1.8 From feecae31856e339a8e13e69cd5803e7d502d2f14 Mon Sep 17 00:00:00 2001 From: Svata Dedic Date: Fri, 18 Oct 2024 12:40:12 +0200 Subject: [PATCH 15/94] Use tripleslash file:/// URIs uniformly. Avoid null text in TextEdits. --- .../netbeans/modules/java/lsp/server/URITranslator.java | 6 ++++++ .../src/org/netbeans/modules/java/lsp/server/Utils.java | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/URITranslator.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/URITranslator.java index 58eafebfa773..be6e14c1ccc9 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/URITranslator.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/URITranslator.java @@ -89,6 +89,12 @@ public synchronized String uriToLSP(String lspUri) { Exceptions.printStackTrace(ex); } } + if ("file".equals(uriUri.getScheme()) && !uri.startsWith("file:///")) { // NOI18N + // in "file:/C:" the : drive separator is at char 7. The leading slash before "C" is at 5. + if ((uri.length() <= 7) || uri.charAt(7) != ':') { // NOI18N + uri = "file://" + uri.substring(5); // NOI18N + } + } return uri; }); } diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java index 580c63210f65..f9fcc69431e1 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/Utils.java @@ -547,6 +547,10 @@ public static void ensureCommandsPrefixed(Collection commands) { } } + private static String nonNull(String t) { + return t == null ? "" : t; + } + public static WorkspaceEdit workspaceEditFromApi(org.netbeans.api.lsp.WorkspaceEdit edit, String uri, NbCodeLanguageClient client) { Set createdResources = new HashSet<>(); List> documentChanges = new ArrayList<>(); @@ -560,14 +564,14 @@ public static WorkspaceEdit workspaceEditFromApi(org.netbeans.api.lsp.WorkspaceE } FileObject fo = file; if (fo != null) { - List edits = parts.first().getEdits().stream().map(te -> new TextEdit(new Range(Utils.createPosition(fo, te.getStartOffset()), Utils.createPosition(fo, te.getEndOffset())), te.getNewText())).collect(Collectors.toList()); + List edits = parts.first().getEdits().stream().map(te -> new TextEdit(new Range(Utils.createPosition(fo, te.getStartOffset()), Utils.createPosition(fo, te.getEndOffset())), nonNull(te.getNewText()))).collect(Collectors.toList()); TextDocumentEdit tde = new TextDocumentEdit(new VersionedTextDocumentIdentifier(docUri, -1), edits); documentChanges.add(Either.forLeft(tde)); } else if (createdResources.contains(docUri)) { // PENDING: now accept just initial content. In theory, no edits can overlap, so for a new resource, // only inserts with 0 offset are permitted. List edits = parts.first().getEdits().stream().filter(te -> te.getStartOffset() == 0 && te.getEndOffset() == 0). - map(te -> new TextEdit(new Range(new Position(0, 0), new Position(0, 0)), te.getNewText())). + map(te -> new TextEdit(new Range(new Position(0, 0), new Position(0, 0)), nonNull(te.getNewText()))). collect(Collectors.toList()); TextDocumentEdit tde = new TextDocumentEdit(new VersionedTextDocumentIdentifier(docUri, -1), edits); documentChanges.add(Either.forLeft(tde)); From fe744896119cd7aba8a16401324e959d55ac1257 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Fri, 18 Oct 2024 14:53:41 +0200 Subject: [PATCH 16/94] Update FlatLaf from 3.5.1 to 3.5.2 bigfix release, see https://github.com/JFormDesigner/FlatLaf/releases/tag/3.5.2 --- platform/libs.flatlaf/external/binaries-list | 2 +- ...3.5.1-license.txt => flatlaf-3.5.2-license.txt} | 4 ++-- platform/libs.flatlaf/manifest.mf | 2 +- platform/libs.flatlaf/nbproject/project.properties | 14 +++++++------- platform/libs.flatlaf/nbproject/project.xml | 4 ++-- 5 files changed, 13 insertions(+), 13 deletions(-) rename platform/libs.flatlaf/external/{flatlaf-3.5.1-license.txt => flatlaf-3.5.2-license.txt} (99%) diff --git a/platform/libs.flatlaf/external/binaries-list b/platform/libs.flatlaf/external/binaries-list index e78a70689b45..8035b50b7188 100644 --- a/platform/libs.flatlaf/external/binaries-list +++ b/platform/libs.flatlaf/external/binaries-list @@ -15,4 +15,4 @@ # specific language governing permissions and limitations # under the License. -8E4295F9BA5756736FA60A3A567FD9CD8840594F com.formdev:flatlaf:3.5.1 +89BB47C8064FA20C02688092C0ACF4C7A7A8696A com.formdev:flatlaf:3.5.2 diff --git a/platform/libs.flatlaf/external/flatlaf-3.5.1-license.txt b/platform/libs.flatlaf/external/flatlaf-3.5.2-license.txt similarity index 99% rename from platform/libs.flatlaf/external/flatlaf-3.5.1-license.txt rename to platform/libs.flatlaf/external/flatlaf-3.5.2-license.txt index b9c53aa7332a..7e2bc1650ea2 100644 --- a/platform/libs.flatlaf/external/flatlaf-3.5.1-license.txt +++ b/platform/libs.flatlaf/external/flatlaf-3.5.2-license.txt @@ -1,7 +1,7 @@ Name: FlatLaf Look and Feel Description: FlatLaf Look and Feel -Version: 3.5.1 -Files: flatlaf-3.5.1.jar +Version: 3.5.2 +Files: flatlaf-3.5.2.jar License: Apache-2.0 Origin: FormDev Software GmbH. URL: https://www.formdev.com/flatlaf/ diff --git a/platform/libs.flatlaf/manifest.mf b/platform/libs.flatlaf/manifest.mf index fd007c571ab4..ac02f8094f96 100644 --- a/platform/libs.flatlaf/manifest.mf +++ b/platform/libs.flatlaf/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.libs.flatlaf/1 OpenIDE-Module-Install: org/netbeans/libs/flatlaf/Installer.class OpenIDE-Module-Specification-Version: 1.20 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Implementation-Version: 3.5.1 +OpenIDE-Module-Implementation-Version: 3.5.2 diff --git a/platform/libs.flatlaf/nbproject/project.properties b/platform/libs.flatlaf/nbproject/project.properties index 17136f04c6ea..23df54d3dd93 100644 --- a/platform/libs.flatlaf/nbproject/project.properties +++ b/platform/libs.flatlaf/nbproject/project.properties @@ -31,17 +31,17 @@ spec.version.base.fatal.warning=false # # So when FlatLaf is updated, the OpenIDE-Module-Implementation-Version entry # in manifest.mf needs to be updated to match the new FlatLaf version. -release.external/flatlaf-3.5.1.jar=modules/ext/flatlaf-3.5.1.jar +release.external/flatlaf-3.5.2.jar=modules/ext/flatlaf-3.5.2.jar # com.formdev.flatlaf.ui intentionally ommitted. # rest is equivalent to the "public" packages for friend dependencies as declared in project.xml sigtest.public.packages=com.formdev.flatlaf,com.formdev.flatlaf.themes,com.formdev.flatlaf.util -release.external/flatlaf-3.5.1.jar!/com/formdev/flatlaf/natives/flatlaf-windows-x86.dll=modules/lib/flatlaf-windows-x86.dll -release.external/flatlaf-3.5.1.jar!/com/formdev/flatlaf/natives/flatlaf-windows-x86_64.dll=modules/lib/flatlaf-windows-x86_64.dll -release.external/flatlaf-3.5.1.jar!/com/formdev/flatlaf/natives/flatlaf-windows-arm64.dll=modules/lib/flatlaf-windows-arm64.dll -release.external/flatlaf-3.5.1.jar!/com/formdev/flatlaf/natives/libflatlaf-macos-arm64.dylib=modules/lib/libflatlaf-macos-arm64.dylib -release.external/flatlaf-3.5.1.jar!/com/formdev/flatlaf/natives/libflatlaf-macos-x86_64.dylib=modules/lib/libflatlaf-macos-x86_64.dylib -release.external/flatlaf-3.5.1.jar!/com/formdev/flatlaf/natives/libflatlaf-linux-x86_64.so=modules/lib/libflatlaf-linux-x86_64.so +release.external/flatlaf-3.5.2.jar!/com/formdev/flatlaf/natives/flatlaf-windows-x86.dll=modules/lib/flatlaf-windows-x86.dll +release.external/flatlaf-3.5.2.jar!/com/formdev/flatlaf/natives/flatlaf-windows-x86_64.dll=modules/lib/flatlaf-windows-x86_64.dll +release.external/flatlaf-3.5.2.jar!/com/formdev/flatlaf/natives/flatlaf-windows-arm64.dll=modules/lib/flatlaf-windows-arm64.dll +release.external/flatlaf-3.5.2.jar!/com/formdev/flatlaf/natives/libflatlaf-macos-arm64.dylib=modules/lib/libflatlaf-macos-arm64.dylib +release.external/flatlaf-3.5.2.jar!/com/formdev/flatlaf/natives/libflatlaf-macos-x86_64.dylib=modules/lib/libflatlaf-macos-x86_64.dylib +release.external/flatlaf-3.5.2.jar!/com/formdev/flatlaf/natives/libflatlaf-linux-x86_64.so=modules/lib/libflatlaf-linux-x86_64.so jnlp.verify.excludes=\ modules/lib/flatlaf-windows-x86.dll,\ modules/lib/flatlaf-windows-x86_64.dll,\ diff --git a/platform/libs.flatlaf/nbproject/project.xml b/platform/libs.flatlaf/nbproject/project.xml index 545d5ec04edb..68e98bc0a942 100644 --- a/platform/libs.flatlaf/nbproject/project.xml +++ b/platform/libs.flatlaf/nbproject/project.xml @@ -49,8 +49,8 @@ com.formdev.flatlaf.util - ext/flatlaf-3.5.1.jar - external/flatlaf-3.5.1.jar + ext/flatlaf-3.5.2.jar + external/flatlaf-3.5.2.jar From 1fedcb4bb1f1a8895e7c6f72945f61e6cb53048f Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Fri, 30 Aug 2024 16:24:11 +0530 Subject: [PATCH 17/94] Payara 7 and Jakarta EE 11 support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update enterprise/payara.tooling/test/unit/src/org/netbeans/modules/payara/tooling/data/PayaraVersionTest.java Update enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersion.java Fixes Objects import Remove toolbar reload icon Use properties for Payara Micro dev mode instead of goal for backward compatibility Objects import added Co-Authored-By: Matthias Bläsing --- .../org-netbeans-modules-payara-common.sig | 4 +- .../modules/payara/common/ServerDetails.java | 2 +- .../payara/common/utils/ServerUtils.java | 4 +- .../wizards/AddServerLocationPanel.java | 83 +++++++------- .../payara/common/wizards/Bundle.properties | 1 + .../org-netbeans-modules-payara-eecommon.sig | 3 + .../eecommon/api/config/AppClientVersion.java | 9 ++ .../api/config/ApplicationVersion.java | 13 ++- .../eecommon/api/config/J2EEVersion.java | 10 +- .../payara/jakartaee/RunTimeDDCatalog.java | 7 -- .../org-netbeans-modules-payara-micro.sig | 2 + .../fish/payara/micro/plugin/Constants.java | 6 +- .../micro/project/MicroApplication.java | 1 - .../payara/micro/project/ReloadAction.java | 1 - .../project/resources/action-mapping.xml | 36 ++++++ .../ui/MicroProjectWizardIterator.java | 18 ++- .../org-netbeans-modules-payara-tooling.sig | 8 +- .../admin/response/RestXMLResponseParser.java | 1 - .../tooling/data/PayaraPlatformVersion.java | 34 +++--- .../data/PayaraPlatformVersionAPI.java | 2 +- .../payara/tooling/data/PayaraVersion.java | 56 +++++----- .../server/config/ConfigBuilderProvider.java | 7 +- .../payara/tooling/server/config/PayaraV7.xml | 103 ++++++++++++++++++ .../tooling/data/PayaraVersionTest.java | 8 +- 24 files changed, 305 insertions(+), 114 deletions(-) create mode 100644 enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/config/PayaraV7.xml diff --git a/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig b/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig index b041f37e88d7..0d5e0527264e 100644 --- a/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig +++ b/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig @@ -1537,7 +1537,7 @@ meth public java.lang.String getUriFragment() meth public java.lang.String toFullString() meth public java.lang.String toString() meth public org.netbeans.modules.payara.tooling.data.PayaraVersion getVersion() -meth public short getBuild() +meth public java.lang.String getBuild() meth public short getMajor() meth public short getMinor() meth public short getUpdate() @@ -2318,7 +2318,7 @@ meth public abstract java.lang.String getIndirectUrl() meth public abstract java.lang.String getLicenseUrl() meth public abstract java.lang.String getUriFragment() meth public abstract java.lang.String toFullString() -meth public abstract short getBuild() +meth public abstract java.lang.String getBuild() meth public abstract short getMajor() meth public abstract short getMinor() meth public abstract short getUpdate() diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/ServerDetails.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/ServerDetails.java index dcde7f6386a5..cdb92e7f7cd4 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/ServerDetails.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/ServerDetails.java @@ -407,7 +407,7 @@ public short getUpdate() { } @Override - public short getBuild() { + public String getBuild() { throw new UnsupportedOperationException("Not supported yet."); } diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/utils/ServerUtils.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/utils/ServerUtils.java index 98333c064834..3c3b48cc5355 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/utils/ServerUtils.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/utils/ServerUtils.java @@ -160,7 +160,7 @@ public static String getDomainsFolder(@NonNull PayaraInstance instance) { "PayaraInstance.getDomainsFolder.versionIsNull", instance.getDisplayName())); } - boolean useBuild = version.getBuild() > 0; + boolean useBuild = version.getBuild() != null && !version.getBuild().isEmpty(); boolean useUpdate = useBuild || version.getUpdate() > 0; // Allocate 2 characters per version number part and 1 character // per separator. @@ -175,7 +175,7 @@ public static String getDomainsFolder(@NonNull PayaraInstance instance) { sb.append(Short.toString(version.getUpdate())); if (useBuild) { sb.append(PayaraPlatformVersionAPI.SEPARATOR); - sb.append(Short.toString(version.getBuild())); + sb.append(version.getBuild()); } } return sb.toString(); diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddServerLocationPanel.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddServerLocationPanel.java index 851876d28eba..0da7df8b84f4 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddServerLocationPanel.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddServerLocationPanel.java @@ -169,51 +169,56 @@ public boolean isValid() { return false; } } else { - Object candidate = wizardIterator.isValidInstall(installDir, payaraDir, wizard); - if (null == candidate) { - String errMsg = NbBundle.getMessage(AddServerLocationPanel.class, "ERR_InstallationInvalid", // NOI18N - FileUtil.normalizeFile(installDir).getPath()); - wizard.putProperty(PROP_ERROR_MESSAGE, errMsg); - return false; - } else if (!isRegisterableDomain(domainDir)) { - wizard.putProperty(PROP_ERROR_MESSAGE, NbBundle.getMessage( - AddServerLocationPanel.class, "ERR_DefaultDomainInvalid", getSanitizedPath(installDir))); - } else { - org.netbeans.modules.payara.common.utils.Util.readServerConfiguration(domainDir, wizardIterator); - // finish initializing the registration data - if (installDir.equals(payaraDir)) { - installDir = payaraDir.getParentFile(); - } - wizardIterator.setInstallRoot(installDir.getAbsolutePath()); - wizardIterator.setPayaraRoot(payaraDir.getAbsolutePath()); - String uri = wizardIterator.formatUri(PayaraInstance.DEFAULT_HOST_NAME, - wizardIterator.getAdminPort(), wizardIterator.getTargetValue(), - domainDir.getParentFile().getAbsolutePath(), domainDir.getName()); - if (-1 == wizardIterator.getHttpPort()) { - wizard.putProperty(PROP_ERROR_MESSAGE, - NbBundle.getMessage(this.getClass(), "ERR_InvalidDomainData", domainDir.getName())); // NOI18N - return false; - } - if (-1 == wizardIterator.getAdminPort()) { - wizard.putProperty(PROP_ERROR_MESSAGE, - NbBundle.getMessage(this.getClass(), "ERR_InvalidDomainData", domainDir.getName())); // NOI18N + try { + Object candidate = wizardIterator.isValidInstall(installDir, payaraDir, wizard); + if (null == candidate) { + String errMsg = NbBundle.getMessage(AddServerLocationPanel.class, "ERR_InstallationInvalid", // NOI18N + FileUtil.normalizeFile(installDir).getPath()); + wizard.putProperty(PROP_ERROR_MESSAGE, errMsg); return false; - } - if (wizardIterator.hasServer(uri)) { - wizard.putProperty(PROP_INFO_MESSAGE, NbBundle.getMessage(AddServerLocationPanel.class, "MSG_DefaultDomainExists", - getSanitizedPath(installDir), PayaraInstance.DEFAULT_DOMAIN_NAME)); - wizardIterator.setHttpPort(-1); // FIXME this is a hack - disables finish button + } else if (!isRegisterableDomain(domainDir)) { + wizard.putProperty(PROP_ERROR_MESSAGE, NbBundle.getMessage( + AddServerLocationPanel.class, "ERR_DefaultDomainInvalid", getSanitizedPath(installDir))); } else { - String statusText = panel.getStatusText(); - if (statusText != null && statusText.length() > 0) { - wizard.putProperty(PROP_ERROR_MESSAGE, statusText); + org.netbeans.modules.payara.common.utils.Util.readServerConfiguration(domainDir, wizardIterator); + // finish initializing the registration data + if (installDir.equals(payaraDir)) { + installDir = payaraDir.getParentFile(); + } + wizardIterator.setInstallRoot(installDir.getAbsolutePath()); + wizardIterator.setPayaraRoot(payaraDir.getAbsolutePath()); + String uri = wizardIterator.formatUri(PayaraInstance.DEFAULT_HOST_NAME, + wizardIterator.getAdminPort(), wizardIterator.getTargetValue(), + domainDir.getParentFile().getAbsolutePath(), domainDir.getName()); + if (-1 == wizardIterator.getHttpPort()) { + wizard.putProperty(PROP_ERROR_MESSAGE, + NbBundle.getMessage(this.getClass(), "ERR_InvalidDomainData", domainDir.getName())); // NOI18N return false; + } + if (-1 == wizardIterator.getAdminPort()) { + wizard.putProperty(PROP_ERROR_MESSAGE, + NbBundle.getMessage(this.getClass(), "ERR_InvalidDomainData", domainDir.getName())); // NOI18N + return false; + } + if (wizardIterator.hasServer(uri)) { + wizard.putProperty(PROP_INFO_MESSAGE, NbBundle.getMessage(AddServerLocationPanel.class, "MSG_DefaultDomainExists", + getSanitizedPath(installDir), PayaraInstance.DEFAULT_DOMAIN_NAME)); + wizardIterator.setHttpPort(-1); // FIXME this is a hack - disables finish button } else { - wizard.putProperty(PROP_ERROR_MESSAGE, null); - wizard.putProperty(PROP_INFO_MESSAGE, NbBundle.getMessage( - AddServerLocationPanel.class, "MSG_NextForSpecial", candidate)); // NOI18N + String statusText = panel.getStatusText(); + if (statusText != null && statusText.length() > 0) { + wizard.putProperty(PROP_ERROR_MESSAGE, statusText); + return false; + } else { + wizard.putProperty(PROP_ERROR_MESSAGE, null); + wizard.putProperty(PROP_INFO_MESSAGE, NbBundle.getMessage( + AddServerLocationPanel.class, "MSG_NextForSpecial", candidate)); // NOI18N + } } } + } catch (UnsupportedClassVersionError error) { + wizard.putProperty(WizardDescriptor.PROP_ERROR_MESSAGE, + NbBundle.getMessage(this.getClass(), "ERR_InvalidJDKVersion")); // NOI18N } } // message has already been set, do not clear it here (see above). diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Bundle.properties b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Bundle.properties index f2042cdcea1e..a368284860a7 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Bundle.properties +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Bundle.properties @@ -63,6 +63,7 @@ ERR_CannotCreate=Cannot be created. ERR_InstallDirDoesNotExist=Does not exist. ERR_InstallDirInvalid=Not an acceptable folder name. ERR_InstallationInvalid=Not a valid Payara Server installation. +ERR_InvalidJDKVersion=The specified JDK version is not supported. ERR_DefaultDomainInvalid=No usable default domain. Use Next to create a personal domain. ERR_DomainExists=The server at {0} is already present on the server tab. MSG_DefaultDomainExists={1} is already registered for this installation.
\ diff --git a/enterprise/payara.eecommon/nbproject/org-netbeans-modules-payara-eecommon.sig b/enterprise/payara.eecommon/nbproject/org-netbeans-modules-payara-eecommon.sig index 11b53b762a1e..effe8645f5bd 100644 --- a/enterprise/payara.eecommon/nbproject/org-netbeans-modules-payara-eecommon.sig +++ b/enterprise/payara.eecommon/nbproject/org-netbeans-modules-payara-eecommon.sig @@ -897,6 +897,7 @@ hfds destFolder,ext,name,result,source CLSS public final org.netbeans.modules.payara.eecommon.api.config.AppClientVersion fld public final static org.netbeans.modules.payara.eecommon.api.config.AppClientVersion APP_CLIENT_10_0 +fld public final static org.netbeans.modules.payara.eecommon.api.config.AppClientVersion APP_CLIENT_11_0 fld public final static org.netbeans.modules.payara.eecommon.api.config.AppClientVersion APP_CLIENT_1_3 fld public final static org.netbeans.modules.payara.eecommon.api.config.AppClientVersion APP_CLIENT_1_4 fld public final static org.netbeans.modules.payara.eecommon.api.config.AppClientVersion APP_CLIENT_5_0 @@ -910,6 +911,7 @@ supr org.netbeans.modules.payara.eecommon.api.config.J2EEBaseVersion CLSS public final org.netbeans.modules.payara.eecommon.api.config.ApplicationVersion fld public final static org.netbeans.modules.payara.eecommon.api.config.ApplicationVersion APPLICATION_10_0 +fld public final static org.netbeans.modules.payara.eecommon.api.config.ApplicationVersion APPLICATION_11_0 fld public final static org.netbeans.modules.payara.eecommon.api.config.ApplicationVersion APPLICATION_1_3 fld public final static org.netbeans.modules.payara.eecommon.api.config.ApplicationVersion APPLICATION_1_4 fld public final static org.netbeans.modules.payara.eecommon.api.config.ApplicationVersion APPLICATION_5_0 @@ -1146,6 +1148,7 @@ CLSS public final org.netbeans.modules.payara.eecommon.api.config.J2EEVersion fld public final static org.netbeans.modules.payara.eecommon.api.config.J2EEVersion J2EE_1_3 fld public final static org.netbeans.modules.payara.eecommon.api.config.J2EEVersion J2EE_1_4 fld public final static org.netbeans.modules.payara.eecommon.api.config.J2EEVersion JAKARTAEE_10_0 +fld public final static org.netbeans.modules.payara.eecommon.api.config.J2EEVersion JAKARTAEE_11_0 fld public final static org.netbeans.modules.payara.eecommon.api.config.J2EEVersion JAKARTAEE_8_0 fld public final static org.netbeans.modules.payara.eecommon.api.config.J2EEVersion JAKARTAEE_9_0 fld public final static org.netbeans.modules.payara.eecommon.api.config.J2EEVersion JAKARTAEE_9_1 diff --git a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/AppClientVersion.java b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/AppClientVersion.java index aa01dcdcffb7..31871d7e0b30 100644 --- a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/AppClientVersion.java +++ b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/AppClientVersion.java @@ -81,6 +81,13 @@ public final class AppClientVersion extends J2EEBaseVersion { "10.0", 10000, // NOI18N "10.0", 10000 // NOI18N ); + + /** Represents application-client version 11.0 + */ + public static final AppClientVersion APP_CLIENT_11_0 = new AppClientVersion( + "11.0", 11000, // NOI18N + "11.0", 11000 // NOI18N + ); /** ----------------------------------------------------------------------- * Implementation */ @@ -122,6 +129,8 @@ public static AppClientVersion getAppClientVersion(String version) { result = APP_CLIENT_9_0; } else if(APP_CLIENT_10_0.toString().equals(version)) { result = APP_CLIENT_10_0; + } else if(APP_CLIENT_11_0.toString().equals(version)) { + result = APP_CLIENT_11_0; } return result; diff --git a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/ApplicationVersion.java b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/ApplicationVersion.java index 0208ea9db2e2..206353ef4bbd 100644 --- a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/ApplicationVersion.java +++ b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/ApplicationVersion.java @@ -75,13 +75,20 @@ public final class ApplicationVersion extends J2EEBaseVersion { "9.0", 9000 // NOI18N ); - /** Represents application version 9.0 + /** Represents application version 10.0 */ public static final ApplicationVersion APPLICATION_10_0 = new ApplicationVersion( "10.0", 10000, // NOI18N "10.0", 10000 // NOI18N ); + /** Represents application version 11.0 + */ + public static final ApplicationVersion APPLICATION_11_0 = new ApplicationVersion( + "11.0", 11000, // NOI18N + "11.0", 11000 // NOI18N + ); + /** ----------------------------------------------------------------------- * Implementation */ @@ -121,8 +128,10 @@ public static ApplicationVersion getApplicationVersion(String version) { result = APPLICATION_8_0; } else if(APPLICATION_9_0.toString().equals(version)) { result = APPLICATION_9_0; - }else if(APPLICATION_10_0.toString().equals(version)) { + } else if (APPLICATION_10_0.toString().equals(version)) { result = APPLICATION_10_0; + } else if (APPLICATION_11_0.toString().equals(version)) { + result = APPLICATION_11_0; } return result; diff --git a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/J2EEVersion.java b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/J2EEVersion.java index d831c64ee171..9afc33c5cede 100644 --- a/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/J2EEVersion.java +++ b/enterprise/payara.eecommon/src/org/netbeans/modules/payara/eecommon/api/config/J2EEVersion.java @@ -97,7 +97,13 @@ public final class J2EEVersion extends J2EEBaseVersion { public static final J2EEVersion JAKARTAEE_10_0 = new J2EEVersion( "10.0.0", 100000, // NOI18N "10.0.0", 100000); // NOI18N - + + /** Represents Jakarta EE version 11.0.0 + */ + public static final J2EEVersion JAKARTAEE_11_0 = new J2EEVersion( + "11.0.0", 110000, // NOI18N + "11.0.0", 110000); // NOI18N + /** * ----------------------------------------------------------------------- * Implementation @@ -145,6 +151,8 @@ public static J2EEVersion getJ2EEVersion(String version) { result = JAKARTAEE_9_1; } else if (JAKARTAEE_10_0.toString().equals(version)) { result = JAKARTAEE_10_0; + } else if (JAKARTAEE_11_0.toString().equals(version)) { + result = JAKARTAEE_11_0; } return result; diff --git a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/RunTimeDDCatalog.java b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/RunTimeDDCatalog.java index ec7835f2f11f..fddd8ba21cf3 100644 --- a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/RunTimeDDCatalog.java +++ b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/RunTimeDDCatalog.java @@ -874,11 +874,7 @@ public FeatureDescriptor getDescriptor() { @Override public GrammarQuery getGrammar(GrammarEnvironment ctx) { UserCatalog catalog = UserCatalog.getDefault(); - ///System.out.println("bbb"); InputSource is= ctx.getInputSource(); - //System.out.println(is.getPublicId()); - //System.out.println(is.getSystemId()); - //System.out.println(is); if (catalog != null) { EntityResolver resolver = catalog.getEntityResolver(); @@ -1048,7 +1044,6 @@ public GrammarQuery getGrammar(GrammarEnvironment ctx) { } if (is.getSystemId().endsWith("webservices.xml") ) { // NOI18N - // System.out.println("webservices tag"); inputSource = resolver.resolveEntity(WEBSERVICES_1_1_ID, ""); if (inputSource!=null) { return DTDUtil.parseDTD(true, inputSource); @@ -1057,7 +1052,6 @@ public GrammarQuery getGrammar(GrammarEnvironment ctx) { } catch(SAXException e) { } catch(java.io.IOException e) { - //System.out.println("eeee"); LOGGER.log(Level.WARNING, null, e); } } @@ -1073,7 +1067,6 @@ public GrammarQuery getGrammar(GrammarEnvironment ctx) { */ @Override public String resolveURI(String name) { - // System.out.println("resolveURI(String name)="+name); if (platformRootDir == null) { return null; } diff --git a/enterprise/payara.micro/nbproject/org-netbeans-modules-payara-micro.sig b/enterprise/payara.micro/nbproject/org-netbeans-modules-payara-micro.sig index f4dd8766ae3f..2ef435fa9d9a 100644 --- a/enterprise/payara.micro/nbproject/org-netbeans-modules-payara-micro.sig +++ b/enterprise/payara.micro/nbproject/org-netbeans-modules-payara-micro.sig @@ -18,6 +18,8 @@ meth public java.lang.String toString() CLSS public abstract interface org.netbeans.modules.fish.payara.micro.plugin.Constants fld public final static java.lang.String ARCHETYPE_ARTIFACT_ID = "payara-micro-maven-archetype" fld public final static java.lang.String ARCHETYPE_GROUP_ID = "fish.payara.maven.archetypes" +fld public final static java.lang.String STARTER_ARCHETYPE_ARTIFACT_ID = "payara-starter-archetype" +fld public final static java.lang.String STARTER_ARCHETYPE_GROUP_ID = "fish.payara.starter" fld public final static java.lang.String ARCHETYPE_REPOSITORY = "https://oss.sonatype.org/content/repositories/snapshots" fld public final static java.lang.String BUILD_ICON = "org/netbeans/modules/fish/payara/micro/project/resources/payara-micro-build.png" fld public final static java.lang.String CLEAN_ICON = "org/netbeans/modules/fish/payara/micro/project/resources/payara-micro-clean.png" diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/Constants.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/Constants.java index 7f8b78b5ee63..e61006f5c461 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/Constants.java +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/plugin/Constants.java @@ -39,8 +39,11 @@ public interface Constants { @Deprecated String PROP_JAVA_EE_VERSION = "javaeeVersion"; String PROP_PAYARA_MICRO_VERSION = "payaraMicroVersion"; + String PROP_PAYARA_VERSION = "payaraVersion"; String PROP_AUTO_BIND_HTTP = "autoBindHttp"; String PROP_CONTEXT_ROOT = "contextRoot"; + String PROP_PLATFORM = "platform"; + String PROP_PLATFORM_MICRO_VALUE = "micro"; String VERSION = "version"; String HOT_DEPLOY = "hotDeploy"; @@ -70,9 +73,10 @@ public interface Constants { String RUN_SINGLE_ACTION = ActionProvider.COMMAND_RUN_SINGLE + ".deploy"; String DEBUG_SINGLE_ACTION = ActionProvider.COMMAND_DEBUG_SINGLE + ".deploy"; String PROFILE_SINGLE_ACTION = ActionProvider.COMMAND_PROFILE_SINGLE + ".deploy"; - String ARCHETYPE_GROUP_ID = "fish.payara.maven.archetypes"; String ARCHETYPE_ARTIFACT_ID = "payara-micro-maven-archetype"; + String STARTER_ARCHETYPE_GROUP_ID = "fish.payara.starter"; + String STARTER_ARCHETYPE_ARTIFACT_ID = "payara-starter-archetype"; String ARCHETYPE_REPOSITORY = "https://oss.sonatype.org/content/repositories/snapshots"; @StaticResource diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java index 9404bce58ec0..6c9792439735 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/MicroApplication.java @@ -104,7 +104,6 @@ public boolean isRunning() { } private int calcRunningInstanceCount() { - System.out.println("calcRunningInstanceCount"); List processIds = new ArrayList<>(); String executorFilter = "gav=" + mavenProject.getGroupId() + ":" + mavenProject.getArtifactId() + ":" + mavenProject.getVersion(); final Runtime re = Runtime.getRuntime(); diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ReloadAction.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ReloadAction.java index 7954e77af279..d43d8d409cd0 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ReloadAction.java +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ReloadAction.java @@ -74,7 +74,6 @@ ) @ActionReferences({ @ActionReference(path = "Menu/BuildProject", position = 55), - @ActionReference(path = "Toolbars/Build", position = 325), @ActionReference(path = "Projects/org-netbeans-modules-maven/Actions", position = 1020), @ActionReference(path = "Shortcuts", name = "DS-A") }) diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml index b45a3abc48d4..58ad38ad1ab8 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/resources/action-mapping.xml @@ -34,6 +34,12 @@ false + true + true + true + true + true + true @@ -51,6 +57,12 @@ false ${webpagePath} + true + true + true + true + true + true @@ -70,6 +82,12 @@ true true false + true + true + true + true + true + true @@ -90,6 +108,12 @@ ${webpagePath} true false + true + true + true + true + true + true @@ -109,6 +133,12 @@ java false true + true + true + true + true + true + true @@ -129,6 +159,12 @@ false true ${webpagePath} + true + true + true + true + true + true diff --git a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ui/MicroProjectWizardIterator.java b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ui/MicroProjectWizardIterator.java index c1b0ffbbc82b..3ff4c10ba3c2 100644 --- a/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ui/MicroProjectWizardIterator.java +++ b/enterprise/payara.micro/src/org/netbeans/modules/fish/payara/micro/project/ui/MicroProjectWizardIterator.java @@ -20,6 +20,8 @@ import static org.netbeans.modules.fish.payara.micro.plugin.Constants.ARCHETYPE_ARTIFACT_ID; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.ARCHETYPE_GROUP_ID; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.STARTER_ARCHETYPE_ARTIFACT_ID; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.STARTER_ARCHETYPE_GROUP_ID; import java.io.File; import java.io.IOException; import java.util.HashMap; @@ -32,9 +34,13 @@ import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROJECT_TYPE; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_ARTIFACT_ID; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_AUTO_BIND_HTTP; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_CONTEXT_ROOT; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_GROUP_ID; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_PACKAGE; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_PAYARA_MICRO_VERSION; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_PAYARA_VERSION; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_PLATFORM; +import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_PLATFORM_MICRO_VALUE; import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_VERSION; import static org.netbeans.modules.fish.payara.micro.plugin.MicroPluginWizardDescriptor.updateMicroMavenPlugin; import org.netbeans.modules.maven.api.archetype.Archetype; @@ -46,7 +52,6 @@ import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import static org.openide.util.NbBundle.getMessage; -import static org.netbeans.modules.fish.payara.micro.plugin.Constants.PROP_CONTEXT_ROOT; /** * @@ -84,10 +89,12 @@ public Set instantiate() throws IOException { Map properties = new HashMap<>(); if (payaraMicroVersion != null) { properties.put(PROP_PAYARA_MICRO_VERSION, payaraMicroVersion); + properties.put(PROP_PAYARA_VERSION, payaraMicroVersion); } properties.put(PROP_AUTO_BIND_HTTP, autoBindHttp); properties.put(PROP_CONTEXT_ROOT, contextRoot); - + properties.put(PROP_PLATFORM, PROP_PLATFORM_MICRO_VALUE); + ArchetypeWizards.logUsage(archetype.getGroupId(), archetype.getArtifactId(), archetype.getVersion()); File rootFile = FileUtil.normalizeFile((File) descriptor.getProperty("projdir")); // NOI18N @@ -100,7 +107,6 @@ public Set instantiate() throws IOException { continue; } MavenProjectSupport.changeServer(project, true); - updateMicroMavenPlugin(project, payaraMicroVersion, autoBindHttp, contextRoot); } return projects; @@ -108,12 +114,14 @@ public Set instantiate() throws IOException { private Archetype createMojoArchetype(String payaraMicroVersion) { Archetype archetype = new Archetype(); - archetype.setGroupId(ARCHETYPE_GROUP_ID); - archetype.setArtifactId(ARCHETYPE_ARTIFACT_ID); String[] versionToken = payaraMicroVersion.split("\\."); if (versionToken.length > 1 && Integer.parseInt(versionToken[0]) < 6) { + archetype.setGroupId(ARCHETYPE_GROUP_ID); + archetype.setArtifactId(ARCHETYPE_ARTIFACT_ID); archetype.setVersion("1.4.0"); } else { + archetype.setGroupId(STARTER_ARCHETYPE_GROUP_ID); + archetype.setArtifactId(STARTER_ARCHETYPE_ARTIFACT_ID); // latest version of archetype automatically fetched from remote catalog } return archetype; diff --git a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig index 4b4c356c08fd..7337a3706c72 100644 --- a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig +++ b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig @@ -1343,7 +1343,7 @@ meth public java.lang.String getLicenseUrl() meth public java.lang.String getUriFragment() meth public java.lang.String toFullString() meth public java.lang.String toString() -meth public short getBuild() +meth public java.lang.String getBuild() meth public short getMajor() meth public short getMinor() meth public short getUpdate() @@ -1376,7 +1376,7 @@ meth public abstract java.lang.String getIndirectUrl() meth public abstract java.lang.String getLicenseUrl() meth public abstract java.lang.String getUriFragment() meth public abstract java.lang.String toFullString() -meth public abstract short getBuild() +meth public abstract java.lang.String getBuild() meth public abstract short getMajor() meth public abstract short getMinor() meth public abstract short getUpdate() @@ -1525,7 +1525,7 @@ meth public java.lang.String getLicenseUrl() meth public java.lang.String getUriFragment() meth public java.lang.String toFullString() meth public java.lang.String toString() -meth public short getBuild() +meth public java.lang.String getBuild() meth public short getMajor() meth public short getMinor() meth public short getUpdate() @@ -1831,7 +1831,7 @@ meth public static java.net.URL getPlatformBuilderConfig(org.netbeans.modules.pa meth public static org.netbeans.modules.payara.tooling.server.config.ConfigBuilder getBuilder(org.netbeans.modules.payara.tooling.data.PayaraServer) meth public static void destroyBuilder(org.netbeans.modules.payara.tooling.data.PayaraServer) supr java.lang.Object -hfds CONFIG_V4,CONFIG_V5,CONFIG_V6,builders,config +hfds CONFIG_V4,CONFIG_V5,CONFIG_V6,CONFIG_V7,builders,config CLSS public org.netbeans.modules.payara.tooling.server.config.ConfigUtils cons public init() diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/response/RestXMLResponseParser.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/response/RestXMLResponseParser.java index 9d93650c5c20..658505094d6f 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/response/RestXMLResponseParser.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/response/RestXMLResponseParser.java @@ -59,7 +59,6 @@ public RestXMLResponseParser() { */ @Override public RestActionReport parse(InputStream in) { - //System.out.println("FACTORY: " + factory); try { XMLEventReader reader = factory.createFilteredReader(factory.createXMLEventReader(in), filter); if (reader.hasNext() && MAP.equals(reader.nextEvent().asStartElement().getName().getLocalPart())) { diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersion.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersion.java index 7ac8087a4bd5..93051d9c7730 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersion.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersion.java @@ -30,6 +30,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Objects; import java.util.TreeMap; import java.util.logging.Level; import java.util.logging.Logger; @@ -68,7 +69,7 @@ public class PayaraPlatformVersion implements PayaraPlatformVersionAPI, Comparab private static final String CDDL_LICENSE = "https://raw.githubusercontent.com/payara/Payara/master/LICENSE.txt"; // NOI18N - public static final PayaraPlatformVersionAPI EMPTY = new PayaraPlatformVersion((short) 0, (short) 0, (short) 0, (short) 0, "", "", ""); + public static final PayaraPlatformVersionAPI EMPTY = new PayaraPlatformVersion((short) 0, (short) 0, (short) 0, "", "", "", ""); private static PayaraPlatformVersionAPI latestVersion; @@ -139,13 +140,17 @@ private static boolean readVersions(String repository, URL metadata) throws Exce MetadataXpp3Reader reader = new MetadataXpp3Reader(); Metadata data = reader.read(new InputStreamReader(input)); versions.clear(); + String latest = data.getVersioning().getLatest(); for (String version : data.getVersioning().getVersions()) { - if (version.contains("Alpha") || version.contains("Beta") || version.contains("SNAPSHOT")) { // NOI18N + + // Skip versions containing "Alpha" or "Beta" unless it is the latest version + if ((version.contains("Alpha") || version.contains("Beta") || version.contains("SNAPSHOT")) // NOI18N + && !version.equals(latest)) { continue; } PayaraPlatformVersionAPI payaraVersion = PayaraPlatformVersion.toValue(repository, version); versions.put(version, payaraVersion); - if (version.equals(data.getVersioning().getLatest())) { + if (version.equals(latest)) { latestVersion = payaraVersion; } } @@ -192,14 +197,15 @@ public static PayaraPlatformVersionAPI toValue( if (version == null) { String[] versionComps = versionStr.split(SEPARATOR_PATTERN); - short major = Short.valueOf(versionComps[0]); - short minor = Short.valueOf(versionComps[1]); - short update = 0, build = 0; + short major = Short.parseShort(versionComps[0]); + short minor = Short.parseShort(versionComps[1]); + short update = 0; + String build = ""; if (versionComps.length > 2) { - update = Short.valueOf(versionComps[2]); + update = Short.parseShort(versionComps[2]); } if (versionComps.length > 3) { - build = Short.valueOf(versionComps[3]); + build = versionComps[3]; } version = new PayaraPlatformVersion( major, minor, update, build, @@ -230,7 +236,7 @@ public static PayaraPlatformVersionAPI toValue( /** * Build version number. */ - private final short build; + private final String build; private final String uriFragment; @@ -252,7 +258,7 @@ public static PayaraPlatformVersionAPI toValue( * @param build Build version number. */ private PayaraPlatformVersion(final short major, final short minor, - final short update, final short build, String uriFragment, + final short update, final String build, String uriFragment, final String repository, final String value) { this.major = major; this.minor = minor; @@ -303,7 +309,7 @@ public short getUpdate() { * @return Build version number. */ @Override - public short getBuild() { + public String getBuild() { return build; } @@ -387,7 +393,7 @@ public boolean equals(final PayaraPlatformVersionAPI version) { return this.major == version.getMajor() && this.minor == version.getMinor() && this.update == version.getUpdate() - && this.build == version.getBuild(); + && Objects.equals(this.build, version.getBuild()); } } @@ -416,7 +422,7 @@ public String toFullString() { sb.append(SEPARATOR); sb.append(Integer.toString(update)); sb.append(SEPARATOR); - sb.append(Integer.toString(build)); + sb.append(build); return sb.toString(); } @@ -425,7 +431,7 @@ public int compareTo(PayaraPlatformVersionAPI o) { return Comparator.comparing(PayaraPlatformVersionAPI::getMajor) .thenComparing(PayaraPlatformVersionAPI::getMinor) .thenComparingInt(PayaraPlatformVersionAPI::getUpdate) - .thenComparingInt(PayaraPlatformVersionAPI::getBuild) + .thenComparing(PayaraPlatformVersionAPI::getBuild) .compare(this, o); } diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersionAPI.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersionAPI.java index 7288249e3437..7e234b357062 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersionAPI.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraPlatformVersionAPI.java @@ -60,7 +60,7 @@ public interface PayaraPlatformVersionAPI { *

* @return Build version number. */ - short getBuild(); + String getBuild(); String getUriFragment(); diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraVersion.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraVersion.java index c4ad6ddb78d7..9f4aba7e93d2 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraVersion.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraVersion.java @@ -42,53 +42,53 @@ public enum PayaraVersion implements PayaraPlatformVersionAPI { // Enum values // //////////////////////////////////////////////////////////////////////////// /** Payara 4.1.144 */ - PF_4_1_144 ((short) 4, (short) 1, (short) 0, (short) 0, (short) 14, (short) 4, (short) 0, PayaraVersion.PF_4_1_144_STR), + PF_4_1_144 ((short) 4, (short) 1, (short) 0, "", (short) 14, (short) 4, (short) 0, PayaraVersion.PF_4_1_144_STR), /** Payara 4.1.151 */ - PF_4_1_151 ((short) 4, (short) 1, (short) 0, (short) 0, (short) 15, (short) 1, (short) 0, PayaraVersion.PF_4_1_151_STR), + PF_4_1_151 ((short) 4, (short) 1, (short) 0, "", (short) 15, (short) 1, (short) 0, PayaraVersion.PF_4_1_151_STR), /** Payara 4.1.152 */ - PF_4_1_152 ((short) 4, (short) 1, (short) 0, (short) 0, (short) 15, (short) 2, (short) 0, PayaraVersion.PF_4_1_152_STR), + PF_4_1_152 ((short) 4, (short) 1, (short) 0, "", (short) 15, (short) 2, (short) 0, PayaraVersion.PF_4_1_152_STR), /** Payara 4.1.153 */ - PF_4_1_153 ((short) 4, (short) 1, (short) 0, (short) 0, (short) 15, (short) 3, (short) 0, PayaraVersion.PF_4_1_153_STR), + PF_4_1_153 ((short) 4, (short) 1, (short) 0, "", (short) 15, (short) 3, (short) 0, PayaraVersion.PF_4_1_153_STR), /** Payara 4.1.1.154 */ - PF_4_1_1_154 ((short) 4, (short) 1, (short) 1, (short) 0, (short) 15, (short) 4, (short) 0, PayaraVersion.PF_4_1_1_154_STR), + PF_4_1_1_154 ((short) 4, (short) 1, (short) 1, "", (short) 15, (short) 4, (short) 0, PayaraVersion.PF_4_1_1_154_STR), /** Payara 4.1.1.161 */ - PF_4_1_1_161 ((short) 4, (short) 1, (short) 1, (short) 0, (short) 16, (short) 1, (short) 0, PayaraVersion.PF_4_1_1_161_STR), + PF_4_1_1_161 ((short) 4, (short) 1, (short) 1, "", (short) 16, (short) 1, (short) 0, PayaraVersion.PF_4_1_1_161_STR), /** Payara 4.1.1.162 */ - PF_4_1_1_162 ((short) 4, (short) 1, (short) 1, (short) 0, (short) 16, (short) 2, (short) 0, PayaraVersion.PF_4_1_1_162_STR), + PF_4_1_1_162 ((short) 4, (short) 1, (short) 1, "", (short) 16, (short) 2, (short) 0, PayaraVersion.PF_4_1_1_162_STR), /** Payara 4.1.1.163 */ - PF_4_1_1_163 ((short) 4, (short) 1, (short) 1, (short) 0, (short) 16, (short) 3, (short) 0, PayaraVersion.PF_4_1_1_163_STR), + PF_4_1_1_163 ((short) 4, (short) 1, (short) 1, "", (short) 16, (short) 3, (short) 0, PayaraVersion.PF_4_1_1_163_STR), /** Payara 4.1.1.164 */ - PF_4_1_1_164 ((short) 4, (short) 1, (short) 1, (short) 0, (short) 16, (short) 4, (short) 0, PayaraVersion.PF_4_1_1_164_STR), + PF_4_1_1_164 ((short) 4, (short) 1, (short) 1, "", (short) 16, (short) 4, (short) 0, PayaraVersion.PF_4_1_1_164_STR), /** Payara 4.1.1.171 */ - PF_4_1_1_171 ((short) 4, (short) 1, (short) 1, (short) 0, (short) 17, (short) 1, (short) 0, PayaraVersion.PF_4_1_1_171_STR), + PF_4_1_1_171 ((short) 4, (short) 1, (short) 1, "", (short) 17, (short) 1, (short) 0, PayaraVersion.PF_4_1_1_171_STR), /** Payara 4.1.2.172 */ - PF_4_1_2_172 ((short) 4, (short) 1, (short) 2, (short) 0, (short) 17, (short) 2, (short) 0, PayaraVersion.PF_4_1_2_172_STR), + PF_4_1_2_172 ((short) 4, (short) 1, (short) 2, "", (short) 17, (short) 2, (short) 0, PayaraVersion.PF_4_1_2_172_STR), /** Payara 4.1.2.173 */ - PF_4_1_2_173 ((short) 4, (short) 1, (short) 2, (short) 0, (short) 17, (short) 3, (short) 0, PayaraVersion.PF_4_1_2_173_STR), + PF_4_1_2_173 ((short) 4, (short) 1, (short) 2, "", (short) 17, (short) 3, (short) 0, PayaraVersion.PF_4_1_2_173_STR), /** Payara 4.1.2.174 */ - PF_4_1_2_174 ((short) 4, (short) 1, (short) 2, (short) 0, (short) 17, (short) 4, (short) 0, PayaraVersion.PF_4_1_2_174_STR), + PF_4_1_2_174 ((short) 4, (short) 1, (short) 2, "", (short) 17, (short) 4, (short) 0, PayaraVersion.PF_4_1_2_174_STR), /** Payara 4.1.2.181 */ - PF_4_1_2_181 ((short) 4, (short) 1, (short) 2, (short) 0, (short) 18, (short) 1, (short) 0, PayaraVersion.PF_4_1_2_181_STR), + PF_4_1_2_181 ((short) 4, (short) 1, (short) 2, "", (short) 18, (short) 1, (short) 0, PayaraVersion.PF_4_1_2_181_STR), /** Payara 5.181 */ - PF_5_181 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 18, (short) 1, (short) 0, PayaraVersion.PF_5_181_STR), + PF_5_181 ((short) 5, (short) 0, (short) 0, "", (short) 18, (short) 1, (short) 0, PayaraVersion.PF_5_181_STR), /** Payara 5.182 */ - PF_5_182 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 18, (short) 2, (short) 0, PayaraVersion.PF_5_182_STR), + PF_5_182 ((short) 5, (short) 0, (short) 0, "", (short) 18, (short) 2, (short) 0, PayaraVersion.PF_5_182_STR), /** Payara 5.183 */ - PF_5_183 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 18, (short) 3, (short) 0, PayaraVersion.PF_5_183_STR), + PF_5_183 ((short) 5, (short) 0, (short) 0, "", (short) 18, (short) 3, (short) 0, PayaraVersion.PF_5_183_STR), /** Payara 5.184 */ - PF_5_184 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 18, (short) 4, (short) 0, PayaraVersion.PF_5_184_STR), + PF_5_184 ((short) 5, (short) 0, (short) 0, "", (short) 18, (short) 4, (short) 0, PayaraVersion.PF_5_184_STR), /** Payara 5.191 */ - PF_5_191 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 19, (short) 1, (short) 0, PayaraVersion.PF_5_191_STR), + PF_5_191 ((short) 5, (short) 0, (short) 0, "", (short) 19, (short) 1, (short) 0, PayaraVersion.PF_5_191_STR), /** Payara 5.192 */ - PF_5_192 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 19, (short) 2, (short) 0, PayaraVersion.PF_5_192_STR), + PF_5_192 ((short) 5, (short) 0, (short) 0, "", (short) 19, (short) 2, (short) 0, PayaraVersion.PF_5_192_STR), /** Payara 5.193 */ - PF_5_193 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 19, (short) 3, (short) 0, PayaraVersion.PF_5_193_STR), + PF_5_193 ((short) 5, (short) 0, (short) 0, "", (short) 19, (short) 3, (short) 0, PayaraVersion.PF_5_193_STR), /** Payara 5.194 */ - PF_5_194 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 19, (short) 4, (short) 0, PayaraVersion.PF_5_194_STR), + PF_5_194 ((short) 5, (short) 0, (short) 0, "", (short) 19, (short) 4, (short) 0, PayaraVersion.PF_5_194_STR), /** Payara 5.201 */ - PF_5_201 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 20, (short) 1, (short) 0, PayaraVersion.PF_5_201_STR), + PF_5_201 ((short) 5, (short) 0, (short) 0, "", (short) 20, (short) 1, (short) 0, PayaraVersion.PF_5_201_STR), /** Payara 5.202 */ - PF_5_202 ((short) 5, (short) 0, (short) 0, (short) 0, (short) 20, (short) 2, (short) 0, PayaraVersion.PF_5_202_STR); + PF_5_202 ((short) 5, (short) 0, (short) 0, "", (short) 20, (short) 2, (short) 0, PayaraVersion.PF_5_202_STR); //add new version /** A String representation of PF_4_1_144 value. */ @@ -338,7 +338,7 @@ public static PayaraVersion toValue(@NonNull final String versionStr) { private final short update; /** Build version number. */ - private final short build; + private final String build; private final String value; @@ -355,7 +355,7 @@ public static PayaraVersion toValue(@NonNull final String versionStr) { * @param build Build version number. */ private PayaraVersion(final short major, final short minor, - final short update, final short build, + final short update, final String build, final short year, final short quarter, final short month, final String value) { this.major = major; @@ -401,7 +401,7 @@ public short getUpdate() { *

* @return Build version number. */ - public short getBuild() { + public String getBuild() { return build; } @@ -498,7 +498,7 @@ public String toFullString() { sb.append(SEPARATOR); sb.append(Integer.toString(update)); sb.append(SEPARATOR); - sb.append(Integer.toString(build)); + sb.append(build); return sb.toString(); } diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/config/ConfigBuilderProvider.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/config/ConfigBuilderProvider.java index 30ba46759973..cbed0e5cc348 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/config/ConfigBuilderProvider.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/config/ConfigBuilderProvider.java @@ -60,10 +60,15 @@ public class ConfigBuilderProvider { private static final Config.Next CONFIG_V6 = new Config.Next((short)6, ConfigBuilderProvider.class.getResource("PayaraV6.xml")); + + /** Library builder configuration since Payara 7.x */ + private static final Config.Next CONFIG_V7 + = new Config.Next((short)7, + ConfigBuilderProvider.class.getResource("PayaraV7.xml")); /** Library builder configuration for Payara. */ private static final Config config - = new Config(CONFIG_V4, CONFIG_V5, CONFIG_V6); + = new Config(CONFIG_V4, CONFIG_V5, CONFIG_V6, CONFIG_V7); /** Builders array for each server instance. */ private static final Map builders diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/config/PayaraV7.xml b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/config/PayaraV7.xml new file mode 100644 index 000000000000..b003efb894ed --- /dev/null +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/server/config/PayaraV7.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/enterprise/payara.tooling/test/unit/src/org/netbeans/modules/payara/tooling/data/PayaraVersionTest.java b/enterprise/payara.tooling/test/unit/src/org/netbeans/modules/payara/tooling/data/PayaraVersionTest.java index 8df41e02d0a6..d1f58f97e9bf 100644 --- a/enterprise/payara.tooling/test/unit/src/org/netbeans/modules/payara/tooling/data/PayaraVersionTest.java +++ b/enterprise/payara.tooling/test/unit/src/org/netbeans/modules/payara/tooling/data/PayaraVersionTest.java @@ -18,6 +18,7 @@ */ package org.netbeans.modules.payara.tooling.data; +import java.util.Objects; import static org.testng.Assert.assertTrue; import static org.testng.Assert.fail; import org.testng.annotations.Test; @@ -86,16 +87,17 @@ public void testToFullString() { = fullVersion.split(PayaraPlatformVersionAPI.SEPARATOR_PATTERN); assertTrue(numbers != null && numbers.length == 4, "Invalid count of version numbers"); - short major, minor, update, build; + short major, minor, update; + String build; try { major = Short.parseShort(numbers[0]); minor = Short.parseShort(numbers[1]); update = Short.parseShort(numbers[2]); - build = Short.parseShort(numbers[3]); + build = numbers[3]; assertTrue(major == version.getMajor() && minor == version.getMinor() && update == version.getUpdate() - && build == version.getBuild()); + && Objects.equals(build, version.getBuild())); } catch (NumberFormatException nfe) { fail("Could not parse version number"); } From 1d5453f10511e17a373eb0356f534941632a2c17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sun, 5 May 2024 20:06:05 +0200 Subject: [PATCH 18/94] lsp.client: mark occurrences sidebar and make occurrences highlighting configurable --- ide/lsp.client/nbproject/project.xml | 9 + .../lsp/client/bindings/MarkOccurrences.java | 71 +++++-- .../bindings/OccurrencesMarkProvider.java | 127 ++++++++++++ .../OccurrencesMarkProviderCreator.java | 38 ++++ ...xtDocumentSyncServerCapabilityHandler.java | 1 + .../org/netbeans/modules/lsp/client/layer.xml | 20 ++ .../lsp/client/options/Bundle.properties | 7 + .../MarkOccurencesOptionsPanelController.java | 82 ++++++++ .../client/options/MarkOccurencesPanel.form | 97 ++++++++++ .../client/options/MarkOccurencesPanel.java | 180 ++++++++++++++++++ .../options/MarkOccurencesSettings.java | 40 ++++ .../options/MarkOccurencesSettingsNames.java | 28 +++ 12 files changed, 681 insertions(+), 19 deletions(-) create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/OccurrencesMarkProvider.java create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/OccurrencesMarkProviderCreator.java create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesOptionsPanelController.java create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesPanel.form create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesPanel.java create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesSettings.java create mode 100644 ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesSettingsNames.java diff --git a/ide/lsp.client/nbproject/project.xml b/ide/lsp.client/nbproject/project.xml index d0913a3f6bfd..fb3fc407596f 100644 --- a/ide/lsp.client/nbproject/project.xml +++ b/ide/lsp.client/nbproject/project.xml @@ -119,6 +119,15 @@ 1.12 + + org.netbeans.modules.editor.errorstripe + + + + 2 + + + org.netbeans.modules.editor.fold diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/MarkOccurrences.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/MarkOccurrences.java index 95cd466d24ca..51dbe41b6d21 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/MarkOccurrences.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/MarkOccurrences.java @@ -18,12 +18,14 @@ */ package org.netbeans.modules.lsp.client.bindings; +import java.awt.Color; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.logging.Level; import java.util.logging.Logger; +import java.util.stream.Collectors; import javax.swing.event.CaretEvent; import javax.swing.event.CaretListener; import javax.swing.event.DocumentEvent; @@ -33,7 +35,6 @@ import javax.swing.text.Caret; import javax.swing.text.Document; import javax.swing.text.JTextComponent; -import org.eclipse.lsp4j.DocumentHighlight; import org.eclipse.lsp4j.DocumentHighlightParams; import org.eclipse.lsp4j.TextDocumentIdentifier; import org.netbeans.api.editor.mimelookup.MimeLookup; @@ -44,13 +45,19 @@ import org.netbeans.modules.lsp.client.LSPBindings; import org.netbeans.modules.lsp.client.LSPBindings.BackgroundTask; import org.netbeans.modules.lsp.client.Utils; +import org.netbeans.modules.lsp.client.options.MarkOccurencesSettings; import org.netbeans.spi.editor.highlighting.HighlightsLayer; import org.netbeans.spi.editor.highlighting.HighlightsLayerFactory; +import org.netbeans.spi.editor.highlighting.HighlightsSequence; import org.netbeans.spi.editor.highlighting.ZOrder; import org.netbeans.spi.editor.highlighting.support.OffsetsBag; import org.openide.filesystems.FileObject; import org.openide.loaders.DataObject; import org.openide.util.Exceptions; +import org.openide.util.NbBundle; + +import static org.netbeans.modules.lsp.client.options.MarkOccurencesSettingsNames.ON_OFF; +import static org.netbeans.modules.lsp.client.options.MarkOccurencesSettingsNames.KEEP_MARKS; /** * @@ -58,6 +65,8 @@ */ public class MarkOccurrences implements BackgroundTask, CaretListener, PropertyChangeListener { + public static final Color ES_COLOR = new Color(175, 172, 102); + private final JTextComponent component; private Document doc; private int caretPos; @@ -73,47 +82,71 @@ public MarkOccurrences(JTextComponent component) { } @Override + @NbBundle.Messages( + "LBL_ES_TOOLTIP=Mark Occurrences" + ) public void run(LSPBindings bindings, FileObject file) { Document localDoc; int localCaretPos; + synchronized (this) { localDoc = this.doc; localCaretPos = this.caretPos; } - getHighlightsBag(localDoc).setHighlights(computeHighlights(localDoc, localCaretPos)); + + if (!MarkOccurencesSettings.getCurrentNode().getBoolean(ON_OFF, true)) { + getHighlightsBag(doc).setHighlights(HighlightsSequence.EMPTY); + OccurrencesMarkProvider.get(doc).setOccurrences(doc, null, ES_COLOR, Bundle.LBL_ES_TOOLTIP()); + return; + } + + List highlights = computeHighlights(localDoc, localCaretPos); + + if (highlights != null && !highlights.isEmpty()) { + AttributeSet attr = getColoring(localDoc); + OffsetsBag occurrenesBag = new OffsetsBag(localDoc); + highlights.forEach(h -> { + occurrenesBag.addHighlight( + h[0], + h[1], + attr + ); + }); + getHighlightsBag(localDoc).setHighlights(occurrenesBag); + OccurrencesMarkProvider.get(localDoc).setOccurrences(localDoc, highlights, ES_COLOR, Bundle.LBL_ES_TOOLTIP()); + } else if (!MarkOccurencesSettings.getCurrentNode().getBoolean(KEEP_MARKS, true)) { + getHighlightsBag(doc).setHighlights(HighlightsSequence.EMPTY); + OccurrencesMarkProvider.get(doc).setOccurrences(doc, null, ES_COLOR, Bundle.LBL_ES_TOOLTIP()); + } } - private OffsetsBag computeHighlights(Document doc, int caretPos) { - AttributeSet attr = getColoring(doc); - OffsetsBag result = new OffsetsBag(doc); + private List computeHighlights(Document doc, int caretPos) { if(caretPos < 0) { - return result; + return null; } FileObject file = NbEditorUtilities.getFileObject(doc); if (file == null) { - return result; + return null; } LSPBindings server = LSPBindings.getBindings(file); if (server == null) { - return result; + return null; } if (!Utils.isEnabled(server.getInitResult().getCapabilities().getDocumentHighlightProvider())) { - return result; + return null; } String uri = Utils.toURI(file); try { - List highlights - = server.getTextDocumentService().documentHighlight(new DocumentHighlightParams(new TextDocumentIdentifier(uri), Utils.createPosition(doc, caretPos))).get(); - if (highlights == null) { - return result; - } - for (DocumentHighlight h : highlights) { - result.addHighlight(Utils.getOffset(doc, h.getRange().getStart()), Utils.getOffset(doc, h.getRange().getEnd()), attr); - } - return result; + return server + .getTextDocumentService() + .documentHighlight(new DocumentHighlightParams(new TextDocumentIdentifier(uri), Utils.createPosition(doc, caretPos))) + .get() + .stream() + .map(h -> new int[]{Utils.getOffset(doc, h.getRange().getStart()),Utils.getOffset(doc, h.getRange().getEnd())}) + .collect(Collectors.toList()); } catch (BadLocationException | InterruptedException | ExecutionException ex) { Exceptions.printStackTrace(ex); - return result; + return null; } } diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/OccurrencesMarkProvider.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/OccurrencesMarkProvider.java new file mode 100644 index 000000000000..504851735377 --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/OccurrencesMarkProvider.java @@ -0,0 +1,127 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.lsp.client.bindings; + +import java.awt.Color; +import java.lang.ref.Reference; +import java.lang.ref.WeakReference; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.WeakHashMap; +import java.util.stream.Collectors; +import javax.swing.text.Document; +import javax.swing.text.StyledDocument; +import org.netbeans.modules.editor.errorstripe.privatespi.Mark; +import org.netbeans.modules.editor.errorstripe.privatespi.MarkProvider; +import org.netbeans.modules.editor.errorstripe.privatespi.Status; +import org.openide.text.NbDocument; + +/** + * This is based on the OccurrencesMarkProvider from csl.api + */ +public class OccurrencesMarkProvider extends MarkProvider { + + private static final Map> providers = new WeakHashMap<>(); + + @SuppressWarnings("NestedAssignment") + public static synchronized OccurrencesMarkProvider get(Document doc) { + Reference ref = providers.get(doc); + OccurrencesMarkProvider p = ref != null ? ref.get() : null; + + if (p == null) { + p = new OccurrencesMarkProvider(); + providers.put(doc, new WeakReference(p)); + } + + return p; + } + + private List occurrences = Collections.emptyList(); + + @Override + public List getMarks() { + return Collections.unmodifiableList(occurrences); + } + + public void setOccurrences(final Document doc, final List bag, final Color color, final String tooltip) { + + List old; + + synchronized (this) { + old = occurrences; + + if(doc.getProperty(OccurrencesMarkProvider.class) == null || bag == null) { + occurrences = Collections.emptyList(); + } else { + occurrences = bag + .stream() + .map(hs -> new MarkImpl(doc, hs[0], color, tooltip)) + .collect(Collectors.toList()); + } + + } + + firePropertyChange(PROP_MARKS, old, occurrences); + } + + private static final class MarkImpl implements Mark { + + private final int line; + private final Color color; + private final String tooltip; + + public MarkImpl(Document doc, int startOffset, Color color, String tooltip) { + this.line = NbDocument.findLineNumber((StyledDocument) doc, startOffset); + this.color = color; + this.tooltip = tooltip; + } + + @Override + public int getType() { + return TYPE_ERROR_LIKE; + } + + @Override + public Status getStatus() { + return Status.STATUS_OK; + } + + @Override + public int getPriority() { + return PRIORITY_DEFAULT; + } + + @Override + public Color getEnhancedColor() { + return color; + } + + @Override + public int[] getAssignedLines() { + return new int[] {line, line}; + } + + @Override + public String getShortDescription() { + return tooltip; + } + + } +} diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/OccurrencesMarkProviderCreator.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/OccurrencesMarkProviderCreator.java new file mode 100644 index 000000000000..12dd5498ae4f --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/OccurrencesMarkProviderCreator.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.lsp.client.bindings; + +import javax.swing.text.JTextComponent; +import org.netbeans.api.editor.mimelookup.MimeRegistration; +import org.netbeans.modules.editor.errorstripe.privatespi.MarkProvider; +import org.netbeans.modules.editor.errorstripe.privatespi.MarkProviderCreator; +import org.netbeans.spi.editor.mimelookup.MimeLocation; + +@MimeLocation(subfolderName="UpToDateStatusProvider") +@MimeRegistration(mimeType = "", service = MarkProviderCreator.class) +public class OccurrencesMarkProviderCreator implements MarkProviderCreator { + + public OccurrencesMarkProviderCreator() { + } + + @Override + public MarkProvider createMarkProvider(JTextComponent pane) { + return OccurrencesMarkProvider.get(pane.getDocument()); + } +} diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java index 25f074e162fe..aaa2a1c764b0 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/bindings/TextDocumentSyncServerCapabilityHandler.java @@ -289,6 +289,7 @@ private void ensureDidOpenSent(Document doc, boolean sync) { } doc.putProperty(HyperlinkProviderImpl.class, true); + doc.putProperty(OccurrencesMarkProvider.class, true); String uri = Utils.toURI(file); String[] text = new String[1]; diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/layer.xml b/ide/lsp.client/src/org/netbeans/modules/lsp/client/layer.xml index e1cafac38ec7..564f6b5c8478 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/layer.xml +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/layer.xml @@ -30,5 +30,25 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/Bundle.properties b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/Bundle.properties index edc06b6f47cd..c3e7d50a7890 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/Bundle.properties +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/Bundle.properties @@ -33,3 +33,10 @@ LanguageDescriptionPanel.browseIcon.text=... LanguageServersPanel.add.text=&Add... LanguageServersPanel.edit.text=&Edit... LanguageServersPanel.remove.text=&Remove + +CTL_OnOff_CheckBox=Mark &Occurrences Of Symbol Under Caret +CTL_KeepMarks_CheckBox=Keep Mark&s +ACSD_OnOff_CB=Checkbox switching mark occurences on/off +ACSD_Marks_CB=Keep Marks Checkbox + +text/x-generic-lsp=Language Server Protocol Client (generic) diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesOptionsPanelController.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesOptionsPanelController.java new file mode 100644 index 000000000000..714be43ea484 --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesOptionsPanelController.java @@ -0,0 +1,82 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.lsp.client.options; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import javax.swing.JComponent; +import org.netbeans.spi.options.OptionsPanelController; +import org.openide.util.HelpCtx; +import org.openide.util.Lookup; + +public final class MarkOccurencesOptionsPanelController extends OptionsPanelController { + + private MarkOccurencesPanel panel; + + private final PropertyChangeSupport pcs = new PropertyChangeSupport(this); + + @Override + public void update() { + panel.load( this ); + } + + @Override + public void applyChanges() { + panel.store(); + } + + @Override + public void cancel() { + // need not do anything special, if no changes have been persisted yet + } + + @Override + public boolean isValid() { + return true; // Always valid + } + + @Override + public boolean isChanged() { + return panel.changed(); + } + + @Override + public HelpCtx getHelpCtx() { + return new HelpCtx("netbeans.optionsDialog.lsp.markoccurrences"); + } + + @Override + public synchronized JComponent getComponent(Lookup masterLookup) { + if ( panel == null ) { + panel = new MarkOccurencesPanel(this); + } + return panel; + } + + @Override + public void addPropertyChangeListener(PropertyChangeListener l) { + pcs.addPropertyChangeListener(l); + } + + @Override + public void removePropertyChangeListener(PropertyChangeListener l) { + pcs.removePropertyChangeListener(l); + } + +} diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesPanel.form b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesPanel.form new file mode 100644 index 000000000000..0cc8843e7e03 --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesPanel.form @@ -0,0 +1,97 @@ + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesPanel.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesPanel.java new file mode 100644 index 000000000000..5a93acc286b6 --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesPanel.java @@ -0,0 +1,180 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.netbeans.modules.lsp.client.options; + +import java.util.ArrayList; +import java.util.List; +import java.util.prefs.BackingStoreException; +import java.util.prefs.Preferences; +import javax.swing.JCheckBox; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import org.openide.util.Exceptions; + +public class MarkOccurencesPanel extends javax.swing.JPanel { + + private static final boolean DEFAULT_VALUE = true; // May need to be splited if the defaunts ar not all on + + private List boxes; + private MarkOccurencesOptionsPanelController controller; + private boolean changed = false; + + /** Creates new form MarkOccurencesPanel */ + public MarkOccurencesPanel( MarkOccurencesOptionsPanelController controller ) { + initComponents(); + fillBoxes(); + addListeners(); + load( controller ); + } + + public void load( MarkOccurencesOptionsPanelController controller ) { + this.controller = controller; + + Preferences node = MarkOccurencesSettings.getCurrentNode(); + + for (JCheckBox box : boxes) { + box.setSelected(node.getBoolean(box.getActionCommand(), DEFAULT_VALUE)); + } + + componentsSetEnabled(); + changed = false; + } + + public void store( ) { + Preferences node = MarkOccurencesSettings.getCurrentNode(); + + for (javax.swing.JCheckBox box : boxes) { + boolean value = box.isSelected(); + boolean original = node.getBoolean(box.getActionCommand(), + DEFAULT_VALUE); + + if (value != original) { + node.putBoolean(box.getActionCommand(), value); + } + } + try { + node.flush(); + } + catch (BackingStoreException ex) { + Exceptions.printStackTrace(ex); + } + changed = false; +} + + public boolean changed() { + return changed; + } + + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; + + onOffCheckBox = new javax.swing.JCheckBox(); + keepMarks = new javax.swing.JCheckBox(); + + setBorder(javax.swing.BorderFactory.createEmptyBorder(8, 8, 8, 8)); + setLayout(new java.awt.GridBagLayout()); + + org.openide.awt.Mnemonics.setLocalizedText(onOffCheckBox, org.openide.util.NbBundle.getMessage(MarkOccurencesPanel.class, "CTL_OnOff_CheckBox")); // NOI18N + onOffCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + onOffCheckBox.setMargin(new java.awt.Insets(0, 0, 0, 0)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.insets = new java.awt.Insets(0, 0, 12, 0); + add(onOffCheckBox, gridBagConstraints); + onOffCheckBox.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(MarkOccurencesPanel.class, "ACSD_OnOff_CB")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(keepMarks, org.openide.util.NbBundle.getBundle(MarkOccurencesPanel.class).getString("CTL_KeepMarks_CheckBox")); // NOI18N + keepMarks.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + keepMarks.setMargin(new java.awt.Insets(0, 0, 0, 0)); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; + gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weighty = 1.0; + gridBagConstraints.insets = new java.awt.Insets(0, 20, 8, 0); + add(keepMarks, gridBagConstraints); + keepMarks.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(MarkOccurencesPanel.class, "ACSD_Marks_CB")); // NOI18N + }// //GEN-END:initComponents + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JCheckBox keepMarks; + private javax.swing.JCheckBox onOffCheckBox; + // End of variables declaration//GEN-END:variables + // End of variables declaration + + + private void fillBoxes() { + boxes = new ArrayList(); + boxes.add( onOffCheckBox ); + boxes.add( keepMarks ); + + onOffCheckBox.setActionCommand(MarkOccurencesSettingsNames.ON_OFF); + keepMarks.setActionCommand(MarkOccurencesSettingsNames.KEEP_MARKS); + } + + + private void addListeners() { + ChangeListener cl = new CheckChangeListener(); + + for( JCheckBox box : boxes ) { + box.addChangeListener(cl); + } + + } + + private void componentsSetEnabled() { + for( int i = 1; i < boxes.size(); i++ ) { + boxes.get(i).setEnabled(onOffCheckBox.isSelected()); // Switch off the other boxes + } + } + + private void fireChanged() { + Preferences node = MarkOccurencesSettings.getCurrentNode(); + for (JCheckBox box : boxes) { + if (node.getBoolean(box.getActionCommand(), DEFAULT_VALUE) != box.isSelected()) { + changed = true; + return; + } + } + changed = false; + } + + private class CheckChangeListener implements ChangeListener { + + @Override + public void stateChanged(ChangeEvent evt) { + if (evt.getSource().equals(onOffCheckBox)) { + componentsSetEnabled(); + } + fireChanged(); + } + } + +} diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesSettings.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesSettings.java new file mode 100644 index 000000000000..cd9dce68e371 --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesSettings.java @@ -0,0 +1,40 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.lsp.client.options; + +import java.util.prefs.Preferences; +import org.openide.util.NbPreferences; + +public class MarkOccurencesSettings { + + private static final String MARK_OCCURENCES = "MarkOccurences"; // NOI18N + + private MarkOccurencesSettings() { + } + + public static Preferences getCurrentNode() { + Preferences preferences = NbPreferences.forModule(MarkOccurencesOptionsPanelController.class); + return preferences.node(MARK_OCCURENCES).node(getCurrentProfileId()); + } + + private static String getCurrentProfileId() { + return "default"; // NOI18N + } + +} diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesSettingsNames.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesSettingsNames.java new file mode 100644 index 000000000000..39863a2abb36 --- /dev/null +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/MarkOccurencesSettingsNames.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.lsp.client.options; + +public final class MarkOccurencesSettingsNames { + + public static final String ON_OFF = "OnOff"; // NOI18N + public static final String KEEP_MARKS = "KeepMarks"; // NOI18N + + private MarkOccurencesSettingsNames() { + } +} From 6b8399130aade177a3c0310021a7efcfee9c5812 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Fri, 18 Oct 2024 17:53:55 +0200 Subject: [PATCH 19/94] Update ASM from 9.7 to 9.7.1 JDK 24 support --- harness/apisupport.harness/build.xml | 4 ++-- java/lib.jshell.agent/nbproject/project.properties | 2 +- java/maven/build.xml | 4 ++-- nbbuild/templates/common.xml | 6 +++--- .../{asm-9.7-license.txt => asm-9.7.1-license.txt} | 4 ++-- platform/libs.asm/external/binaries-list | 6 +++--- platform/libs.asm/nbproject/project.properties | 8 ++++---- platform/libs.asm/nbproject/project.xml | 12 ++++++------ 8 files changed, 23 insertions(+), 23 deletions(-) rename platform/libs.asm/external/{asm-9.7-license.txt => asm-9.7.1-license.txt} (96%) diff --git a/harness/apisupport.harness/build.xml b/harness/apisupport.harness/build.xml index 7d5c42be31ae..7730185af52a 100644 --- a/harness/apisupport.harness/build.xml +++ b/harness/apisupport.harness/build.xml @@ -39,13 +39,13 @@ - 073D7B3086E14BEB604CED229C302FEFF6449723 org.ow2.asm:asm:9.7 + F0ED132A49244B042CD0E15702AB9F2CE3CC8436 org.ow2.asm:asm:9.7.1 - + diff --git a/java/lib.jshell.agent/nbproject/project.properties b/java/lib.jshell.agent/nbproject/project.properties index dad68136d973..2d8dc06c4ffe 100644 --- a/java/lib.jshell.agent/nbproject/project.properties +++ b/java/lib.jshell.agent/nbproject/project.properties @@ -21,5 +21,5 @@ javac.compilerargs=-Xlint -Xlint:-serial extra.module.files=modules/ext/nb-custom-jshell-probe.jar,modules/ext/nb-mod-jshell-probe.jar jnlp.indirect.jars=modules/ext/nb-custom-jshell-probe.jar,modules/ext/nb-mod-jshell-probe.jar -agentsrc.asm.cp=${libs.asm.dir}/core/asm-9.7.jar +agentsrc.asm.cp=${libs.asm.dir}/core/asm-9.7.1.jar agentsrc.jshell.cp=external/jshell-9.jar diff --git a/java/maven/build.xml b/java/maven/build.xml index 0baa8b004303..c848f507f52b 100644 --- a/java/maven/build.xml +++ b/java/maven/build.xml @@ -55,8 +55,8 @@ - - + + diff --git a/nbbuild/templates/common.xml b/nbbuild/templates/common.xml index 073a2c1ca109..1b14cdd5f7e0 100644 --- a/nbbuild/templates/common.xml +++ b/nbbuild/templates/common.xml @@ -80,10 +80,10 @@ - - + + - + diff --git a/platform/libs.asm/external/asm-9.7-license.txt b/platform/libs.asm/external/asm-9.7.1-license.txt similarity index 96% rename from platform/libs.asm/external/asm-9.7-license.txt rename to platform/libs.asm/external/asm-9.7.1-license.txt index cd1e2c3ef22d..2f0c70874f8f 100644 --- a/platform/libs.asm/external/asm-9.7-license.txt +++ b/platform/libs.asm/external/asm-9.7.1-license.txt @@ -1,6 +1,6 @@ Name: OW2 ASM -Version: 9.7 -Files: asm-tree-9.7.jar asm-commons-9.7.jar asm-9.7.jar +Version: 9.7.1 +Files: asm-tree-9.7.1.jar asm-commons-9.7.1.jar asm-9.7.1.jar License: BSD-INRIA Origin: OW2 Consortium URL: https://repository.ow2.org/nexus/content/repositories/releases/org/ow2/asm/ diff --git a/platform/libs.asm/external/binaries-list b/platform/libs.asm/external/binaries-list index c686b4097812..5f898911f8cf 100755 --- a/platform/libs.asm/external/binaries-list +++ b/platform/libs.asm/external/binaries-list @@ -14,6 +14,6 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -073D7B3086E14BEB604CED229C302FEFF6449723 org.ow2.asm:asm:9.7 -E446A17B175BFB733B87C5C2560CCB4E57D69F1A org.ow2.asm:asm-tree:9.7 -E86DDA4696D3C185FCC95D8D311904E7CE38A53F org.ow2.asm:asm-commons:9.7 +F0ED132A49244B042CD0E15702AB9F2CE3CC8436 org.ow2.asm:asm:9.7.1 +3A53139787663B139DE76B627FCA0084AB60D32C org.ow2.asm:asm-tree:9.7.1 +406C6A2225CFE1819F102A161E54CC16A5C24F75 org.ow2.asm:asm-commons:9.7.1 diff --git a/platform/libs.asm/nbproject/project.properties b/platform/libs.asm/nbproject/project.properties index a4623cceb5dd..b35e4f0c343d 100644 --- a/platform/libs.asm/nbproject/project.properties +++ b/platform/libs.asm/nbproject/project.properties @@ -19,8 +19,8 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 module.jar.dir=core -release.external/asm-9.7.jar=core/asm-9.7.jar -release.external/asm-tree-9.7.jar=core/asm-tree-9.7.jar -release.external/asm-commons-9.7.jar=core/asm-commons-9.7.jar -license.file=../external/asm-9.7-license.txt +release.external/asm-9.7.1.jar=core/asm-9.7.1.jar +release.external/asm-tree-9.7.1.jar=core/asm-tree-9.7.1.jar +release.external/asm-commons-9.7.1.jar=core/asm-commons-9.7.1.jar +license.file=../external/asm-9.7.1-license.txt diff --git a/platform/libs.asm/nbproject/project.xml b/platform/libs.asm/nbproject/project.xml index 820719f8ed8d..30e087c9ec2f 100644 --- a/platform/libs.asm/nbproject/project.xml +++ b/platform/libs.asm/nbproject/project.xml @@ -29,16 +29,16 @@ org - asm-9.7.jar - external/asm-9.7.jar + asm-9.7.1.jar + external/asm-9.7.1.jar - asm-tree-9.7.jar - external/asm-tree-9.7.jar + asm-tree-9.7.1.jar + external/asm-tree-9.7.1.jar - asm-commons-9.7.jar - external/asm-commons-9.7.jar + asm-commons-9.7.1.jar + external/asm-commons-9.7.1.jar From ba3c975f1625914d7340c86a4d046b1c1dd62545 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Fri, 18 Oct 2024 19:58:54 +0200 Subject: [PATCH 20/94] Fix Single-file-java-launcher test and add module to CI --- .github/workflows/main.yml | 3 +++ .../file/launcher/actions/JavaFileTest.java | 27 +++++++++---------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b4e657d947fb..a2d9863c1e71 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1294,6 +1294,9 @@ jobs: - name: java.freeform run: ant $OPTS -f java/java.freeform test + - name: java.file.launcher + run: ant $OPTS -f java/java.file.launcher test + # - name: java.kit # run: ant $OPTS -f java/java.kit test diff --git a/java/java.file.launcher/test/unit/src/org/netbeans/modules/java/file/launcher/actions/JavaFileTest.java b/java/java.file.launcher/test/unit/src/org/netbeans/modules/java/file/launcher/actions/JavaFileTest.java index 38fb8ef3d91b..31eb0572ecbc 100644 --- a/java/java.file.launcher/test/unit/src/org/netbeans/modules/java/file/launcher/actions/JavaFileTest.java +++ b/java/java.file.launcher/test/unit/src/org/netbeans/modules/java/file/launcher/actions/JavaFileTest.java @@ -22,7 +22,6 @@ import java.io.File; import java.io.FileWriter; import java.io.InputStreamReader; -import java.util.logging.Logger; import static junit.framework.TestCase.assertEquals; import org.netbeans.api.extexecution.base.ExplicitProcessParameters; import org.netbeans.junit.NbTestCase; @@ -36,8 +35,6 @@ */ public class JavaFileTest extends NbTestCase { - private static final Logger LOG = Logger.getLogger(JavaFileTest.class.getName()); - public JavaFileTest(String name) { super(name); } @@ -45,23 +42,25 @@ public JavaFileTest(String name) { public void testSingleJavaSourceRun() throws Exception { clearWorkDir(); File f1 = new File(getWorkDir(), "TestSingleJavaFile.java"); - FileWriter w = new FileWriter(f1); - w.write("public class TestSingleJavaFile {\n" + - " \n" + - " public static void main (String args[]) {\n" + - " System.out.print(\"hello world\");\n" + - " }\n" + - " \n" + - "}"); - w.close(); + try (FileWriter w = new FileWriter(f1)) { + w.write( + """ + public class TestSingleJavaFile { + public static void main (String args[]) { + System.out.print("hello world"); + } + } + """ + ); + } FileObject javaFO = FileUtil.toFileObject(f1); assertNotNull("FileObject found: " + f1, javaFO); SingleJavaSourceRunActionProvider runActionProvider = new SingleJavaSourceRunActionProvider(); - LaunchProcess process = runActionProvider.invokeActionHelper(null, "run.single", javaFO, ExplicitProcessParameters.empty()); + LaunchProcess process = runActionProvider.invokeActionHelper("run.single", javaFO, ExplicitProcessParameters.empty()); BufferedReader reader = new BufferedReader(new InputStreamReader(process.call().getInputStream())); StringBuilder builder = new StringBuilder(); - String line = null; + String line; while ((line = reader.readLine()) != null) { builder.append(line); } From 17e23d5751de3faaa47beedb7ab8e7848b800b2a Mon Sep 17 00:00:00 2001 From: Gaurav Gupta Date: Wed, 29 Mar 2023 13:00:58 +0530 Subject: [PATCH 21/94] FISH-7079 Support for Payara Server instance running on WSL FISH-7079 Copy compiled resources from classes directory to exploded binary PR review changes - inline return condition Constructor Signature update Remove log Add generic type --- .../deployment/impl/DeployOnSaveManager.java | 167 +++++++++++++++++- .../org-netbeans-modules-payara-common.sig | 5 +- .../modules/payara/common/LogViewMgr.java | 2 +- .../modules/payara/common/PayaraInstance.java | 27 ++- .../common/actions/ViewServerLogAction.java | 2 +- .../wizards/AddDomainLocationPanel.java | 1 + .../wizards/AddDomainLocationVisualPanel.form | 24 ++- .../wizards/AddDomainLocationVisualPanel.java | 35 +++- .../payara/common/wizards/Bundle.properties | 1 + .../common/wizards/ServerWizardIterator.java | 15 +- .../modules/payara/spi/PayaraModule.java | 1 + .../jakartaee/Hk2DeploymentManager.java | 5 + .../payara/jakartaee/Hk2OptionalFactory.java | 2 +- .../org-netbeans-modules-payara-tooling.sig | 5 +- .../tooling/admin/CommandException.java | 3 + .../tooling/admin/RunnerHttpDeploy.java | 21 ++- .../payara/tooling/data/PayaraServer.java | 8 + .../tooling/data/PayaraServerEntity.java | 18 +- .../payara/tooling/utils/ServerUtils.java | 2 +- 19 files changed, 313 insertions(+), 31 deletions(-) diff --git a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/DeployOnSaveManager.java b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/DeployOnSaveManager.java index 04b70ec0e13e..d56b996b25a1 100644 --- a/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/DeployOnSaveManager.java +++ b/enterprise/j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/DeployOnSaveManager.java @@ -20,11 +20,15 @@ package org.netbeans.modules.j2ee.deployment.impl; import java.io.File; +import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.lang.ref.WeakReference; import java.net.URL; import java.util.ArrayList; import java.util.Collections; +import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -464,6 +468,12 @@ private boolean notifyServer(J2eeModuleProvider provider, Iterable art LOGGER.log(Level.FINEST, builder.toString()); } + try { + distributeOnSave(FileUtil.toFile(provider.getJ2eeModule().getContentDirectory()), artifacts); + } catch (IOException ex) { + LOGGER.log(Level.INFO, null, ex); // NOI18N + } + String instanceID = provider.getServerInstanceID (); ServerInstance inst = ServerRegistry.getInstance ().getServerInstance (instanceID); if (inst == null && "DEV-NULL".equals(instanceID)) { // NOI18N @@ -592,7 +602,162 @@ private void runJPDAAppReloaded() { Exceptions.printStackTrace(ex); } } - + + private void distributeOnSave(File destDir, Iterable artifacts) throws IOException { + + try { + FileObject destRoot = FileUtil.createFolder(destDir); + + // create target FOs map keyed by relative paths + Enumeration destFiles = destRoot.getChildren(true); + Map destMap = new HashMap<>(); + int rootPathLen = destRoot.getPath().length(); + for (; destFiles.hasMoreElements();) { + FileObject destFO = (FileObject) destFiles.nextElement(); + destMap.put(destFO.getPath().substring(rootPathLen + 1), destFO); + } + + FileObject contentDirectory = destRoot; + assert contentDirectory != null; + + for (Artifact artifact : artifacts) { + File fsFile = artifact.getFile(); + File altDistFile = artifact.getDistributionPath(); + if (altDistFile == null) { + String classes = "target" + File.separator + "classes"; + String filePath = artifact.getFile().getPath(); + String altDistRelativePath = filePath.substring(filePath.indexOf(classes) + classes.length()); + altDistFile = new File(destRoot.getPath() + File.separator + "WEB-INF" + File.separator + "classes" + altDistRelativePath); + } + + FileObject file = FileUtil.toFileObject(FileUtil.normalizeFile(fsFile)); + + FileObject checkFile = FileUtil.toFileObject(FileUtil.normalizeFile(altDistFile)); + if (checkFile == null && file != null) { //#165045 + checkFile = FileUtil.createData(altDistFile); + } + + if (checkFile != null && file != null) { + String relative = FileUtil.getRelativePath(contentDirectory, checkFile); + if (relative != null) { + FileObject targetFO = destMap.get(relative); + if (file.isFolder()) { + destMap.remove(relative); + //continue; + } + + createOrReplace(file, targetFO, destRoot, relative, destMap, false); + } + } else if (checkFile != null && file == null) { + checkFile.delete(); + } + } + + } catch (Exception e) { + String msg = NbBundle.getMessage(DeployOnSaveManager.class, "MSG_IncrementalDeployFailed", e); + throw new RuntimeException(msg, e); + } + } + + private void createOrReplace( + FileObject sourceFO, + FileObject targetFO, + FileObject destRoot, + String relativePath, + Map destMap, boolean checkTimeStamps) throws IOException { + + FileObject destFolder; + OutputStream destStream = null; + InputStream sourceStream = null; + + try { + // double check that the target does not exist... 107526 + // the destMap seems to be incomplete.... + if (targetFO == null) { + targetFO = destRoot.getFileObject(relativePath); + } + if (targetFO == null) { + destFolder = findOrCreateParentFolder(destRoot, relativePath); + } else { + // remove from map to form of to-remove-target-list + destMap.remove(relativePath); + + //check timestamp + if (checkTimeStamps) { + if (!sourceFO.lastModified().after(targetFO.lastModified())) { + return; + } + } + if (targetFO.equals(sourceFO)) { + // do not write a file onto itself... + return; + } + destFolder = targetFO.getParent(); + + // we need to rewrite the content of the file here... thanks, + // to windows file locking. + destStream = targetFO.getOutputStream(); + + } + + if (sourceFO.isFolder()) { + FileUtil.createFolder(destFolder, sourceFO.getNameExt()); + return; + } + try { + if (null == destStream) { + FileUtil.copyFile(sourceFO, destFolder, sourceFO.getName()); + } else { + // this is where we need to push the content into the file.... + sourceStream = sourceFO.getInputStream(); + FileUtil.copy(sourceStream, destStream); + } + } catch (FileNotFoundException ex) { + // this may happen when the source file disappears + // perhaps when source is changing rapidly ? + LOGGER.log(Level.INFO, null, ex); + } + } finally { + if (null != sourceStream) { + try { + sourceStream.close(); + } catch (IOException ioe) { + LOGGER.log(Level.WARNING, null, ioe); + } + } + if (null != destStream) { + try { + destStream.close(); + } catch (IOException ioe) { + LOGGER.log(Level.WARNING, null, ioe); + } + } + } + } + + /** + * Find or create parent folder of a file given its root and its + * relative path. The target file does not need to exist. + * + * @param dest FileObject for the root of the target file + * @param relativePath relative path of the target file + * @return the FileObject for the parent folder target file. + * @throws java.io.IOException + */ + private FileObject findOrCreateParentFolder(FileObject dest, String relativePath) throws IOException { + File parentRelativePath = (new File(relativePath)).getParentFile(); + if (parentRelativePath == null) { + return dest; + } + + FileObject folder = FileUtil.createFolder(dest, parentRelativePath.getPath()); + if (folder.isData()) { + LOGGER.log(Level.FINER, "found file {0} when a folder was expecetd", folder.getPath()); + folder = null; + } + return folder; + } + } } diff --git a/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig b/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig index 074f6578d06c..5e8d33b6d3f9 100644 --- a/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig +++ b/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig @@ -1280,6 +1280,7 @@ intf org.openide.util.Lookup$Provider intf org.openide.util.LookupListener meth public boolean equals(java.lang.Object) meth public boolean isDocker() +meth public boolean isWSL() meth public boolean isHotDeployEnabled() meth public boolean isHotDeployFeatureAvailable() meth public boolean isProcessRunning() @@ -1338,7 +1339,7 @@ meth public org.openide.nodes.Node getFullNode() meth public org.openide.util.Lookup getLookup() meth public static java.lang.String getPasswordFromKeyring(java.lang.String,java.lang.String) meth public static java.lang.String passwordKey(java.lang.String,java.lang.String) -meth public static org.netbeans.modules.payara.common.PayaraInstance create(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String,java.lang.String,boolean,java.lang.String,java.lang.String,java.lang.String,java.lang.String,org.netbeans.modules.payara.common.PayaraInstanceProvider) +meth public static org.netbeans.modules.payara.common.PayaraInstance create(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String,java.lang.String,boolean,boolean,java.lang.String,java.lang.String,java.lang.String,java.lang.String,org.netbeans.modules.payara.common.PayaraInstanceProvider) meth public static org.netbeans.modules.payara.common.PayaraInstance create(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String,org.netbeans.modules.payara.common.PayaraInstanceProvider) anno 0 java.lang.Deprecated() meth public static org.netbeans.modules.payara.common.PayaraInstance create(java.util.Map,org.netbeans.modules.payara.common.PayaraInstanceProvider) @@ -2148,6 +2149,7 @@ fld public final static java.lang.String USERNAME_ATTR = "username" fld public final static java.lang.String USE_IDE_PROXY_FLAG = "useIDEProxyOn" fld public final static java.lang.String USE_SHARED_MEM_ATTR = "use.shared.mem" fld public final static java.lang.String WEB_CONTAINER = "web" +fld public final static java.lang.String WSL_ATTR = "wsl" innr public final static !enum ServerState meth public abstract boolean isRemote() meth public abstract boolean isRestfulLogAccessSupported() @@ -2325,6 +2327,7 @@ meth public abstract short getUpdate() CLSS public abstract interface org.netbeans.modules.payara.tooling.data.PayaraServer meth public abstract boolean isDocker() +meth public abstract boolean isWSL() meth public abstract boolean isRemote() meth public abstract int getAdminPort() meth public abstract int getPort() diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/LogViewMgr.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/LogViewMgr.java index 4eb7f8591849..856ae9778b0b 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/LogViewMgr.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/LogViewMgr.java @@ -1031,7 +1031,7 @@ public static InputOutput getServerIO(String uri) { public static void displayOutput(PayaraInstance instance, Lookup lookup) { String uri = instance.getProperty(PayaraModule.URL_ATTR); - if (null != uri && (uri.contains("pfv3ee6wc") || uri.contains("localhost"))) { + if (null != uri) { FetchLog log = getServerLogStream(instance); LogViewMgr mgr = LogViewMgr.getInstance(uri); List recognizers = new ArrayList(); diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/PayaraInstance.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/PayaraInstance.java index 98fc991b6173..7a748d157464 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/PayaraInstance.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/PayaraInstance.java @@ -364,7 +364,7 @@ public static PayaraInstance create(String displayName, installRoot, payaraRoot, domainsDir, domainName, httpPort, adminPort, userName, password, - false, null, null, + false, false, null, null, target, url, pip); } @@ -382,6 +382,7 @@ public static PayaraInstance create(String displayName, * @param adminPort Payara server HTTP port for administration. * @param userName Payara server administrator's user name. * @param password Payara server administrator's password. + * @param wsl info about Payara server instance is running in wsl container * @param docker info about Payara server instance is running in docker container * @param hostPath The docker volume host path * @param containerPath The docker container path @@ -392,11 +393,17 @@ public static PayaraInstance create(String displayName, public static PayaraInstance create(String displayName, String installRoot, String payaraRoot, String domainsDir, String domainName, int httpPort, int adminPort, - String userName, String password, + String userName, String password, boolean wsl, boolean docker, String hostPath, String containerPath, String target, String url, PayaraInstanceProvider pip) { Map ip = new HashMap<>(); + ip.put(PayaraModule.WSL_ATTR, String.valueOf(wsl)); + ip.put(PayaraModule.DOCKER_ATTR, String.valueOf(docker)); + if(wsl && domainsDir == null) { + domainsDir = payaraRoot + File.separator + "domains"; + } + ip.put(PayaraModule.DISPLAY_NAME_ATTR, displayName); ip.put(PayaraModule.INSTALL_FOLDER_ATTR, installRoot); ip.put(PayaraModule.PAYARA_FOLDER_ATTR, payaraRoot); @@ -411,7 +418,6 @@ public static PayaraInstance create(String displayName, if (password != null) { ip.put(PayaraModule.PASSWORD_ATTR, password); } - ip.put(PayaraModule.DOCKER_ATTR, String.valueOf(docker)); if(hostPath != null) { ip.put(PayaraModule.HOST_PATH_ATTR, hostPath); } @@ -1034,6 +1040,17 @@ public String getAdminPassword() { public boolean isDocker() { return Boolean.valueOf(properties.getOrDefault(PayaraModule.DOCKER_ATTR, "false")); } + + /** + * Get information if this Payara server instance is running in wsl container. + *

+ * @return Value of true when this Payara server instance + * is wsl instance or false otherwise. + */ + @Override + public boolean isWSL() { + return Boolean.valueOf(properties.getOrDefault(PayaraModule.WSL_ATTR, "false")); + } /** * Get the docker volume host path. @@ -1101,7 +1118,7 @@ public String setDomainsFolder(String domainsFolder) { */ @Override public String getDomainName() { - return properties.get(PayaraModule.DOMAIN_NAME_ATTR); + return properties.getOrDefault(PayaraModule.DOMAIN_NAME_ATTR, "domain1"); } /** @@ -1203,7 +1220,7 @@ public PayaraAdminInterface getAdminInterface() { */ @Override public boolean isRemote() { - return properties.get(PayaraModule.DOMAINS_FOLDER_ATTR) == null; + return properties.get(PayaraModule.DOMAINS_FOLDER_ATTR) == null || isWSL(); } /** diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/actions/ViewServerLogAction.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/actions/ViewServerLogAction.java index 2d907fee6dab..9b98f0eacb6e 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/actions/ViewServerLogAction.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/actions/ViewServerLogAction.java @@ -67,7 +67,7 @@ protected boolean enable(Node[] nodes) { PayaraInstance server = (PayaraInstance) commonSupport.getInstance(); String uri = server.getUrl(); return uri != null && uri.length() > 0 - && ((!server.isRemote() + && (((!server.isRemote() || server.isWSL()) && ServerUtils.getServerLogFile(server).canRead()) || (commonSupport.isRestfulLogAccessSupported() && server.isRemote() && isRunning(commonSupport))); diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationPanel.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationPanel.java index 84da0dbb3965..4189623a0da4 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationPanel.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationPanel.java @@ -198,6 +198,7 @@ private static void setGlobalValues(ServerWizardIterator wizardIterator, AddDoma wizardIterator.setPassword(panel.getPasswordValue()); wizardIterator.setAdminPort(Integer.parseInt(panel.getAdminPortValue())); wizardIterator.setHttpPort(Integer.parseInt(panel.getHttpPortValue())); + wizardIterator.setWSL(panel.getWSL()); wizardIterator.setDocker(panel.getDockerValue()); wizardIterator.setHostPath(panel.getHostPathValue()); wizardIterator.setContainerPath(panel.getContainerPathValue()); diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.form b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.form index 502e71432a9e..64e40eee70c0 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.form +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.form @@ -93,7 +93,12 @@ - + + + + + + @@ -155,7 +160,10 @@ - + + + + @@ -165,7 +173,7 @@ - + @@ -477,5 +485,15 @@ + + + + + + + + + + diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.java index 182604e5c67d..6d3cdea181c2 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/AddDomainLocationVisualPanel.java @@ -92,6 +92,7 @@ void initModels(final String gfRoot, final boolean isLocal) { hostRemoteField.setVisible(false); remoteLink.setVisible(false); dockerVolumeCheckBox.setVisible(false); + wslCheckBox.setVisible(false); } else { domainLocalLabel.setVisible(false); domainLocalField.setVisible(false); @@ -104,6 +105,7 @@ void initModels(final String gfRoot, final boolean isLocal) { hostRemoteField.setVisible(true); remoteLink.setVisible(true); dockerVolumeCheckBox.setVisible(true); + wslCheckBox.setVisible(true); } hostPathLabel.setVisible(dockerVolumeCheckBox.isSelected()); hostPathField.setVisible(dockerVolumeCheckBox.isSelected()); @@ -226,6 +228,10 @@ String getUserNameValue() { return userNameField.getText().trim(); } + boolean getWSL() { + return wslCheckBox.isSelected(); + } + boolean getDockerValue() { return dockerVolumeCheckBox.isSelected(); } @@ -469,6 +475,7 @@ private void initComponents() { dockerVolumeCheckBox = new javax.swing.JCheckBox(); hostPathField = new javax.swing.JTextField(); containerPathField = new javax.swing.JTextField(); + wslCheckBox = new javax.swing.JCheckBox(); setPreferredSize(new java.awt.Dimension(438, 353)); @@ -568,6 +575,13 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { containerPathField.setColumns(5); containerPathField.setText(org.openide.util.NbBundle.getMessage(AddDomainLocationVisualPanel.class, "AddDomainLocationVisualPanel.containerPathField.text")); // NOI18N + wslCheckBox.setText(org.openide.util.NbBundle.getMessage(AddDomainLocationVisualPanel.class, "AddDomainLocationVisualPanel.wslCheckBox.text")); // NOI18N + wslCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + wslCheckBoxActionPerformed(evt); + } + }); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( @@ -601,19 +615,23 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(userNameField, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(targetValueField, javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() - .addComponent(dasPortField, javax.swing.GroupLayout.DEFAULT_SIZE, 7, Short.MAX_VALUE) + .addComponent(dasPortField, javax.swing.GroupLayout.PREFERRED_SIZE, 7, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(httpPortFieldLabel))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(httpPortField, javax.swing.GroupLayout.DEFAULT_SIZE, 7, Short.MAX_VALUE) + .addComponent(httpPortField, javax.swing.GroupLayout.PREFERRED_SIZE, 7, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(useDefaultPortsCB)) .addGroup(layout.createSequentialGroup() .addGap(112, 112, 112) .addComponent(remotePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))) - .addComponent(dockerVolumeCheckBox) + .addGroup(layout.createSequentialGroup() + .addComponent(dockerVolumeCheckBox) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) + .addComponent(wslCheckBox) + .addGap(0, 0, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() .addComponent(hostPathLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) @@ -666,7 +684,9 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(passwordLabel) .addComponent(passwordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(dockerVolumeCheckBox) + .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) + .addComponent(dockerVolumeCheckBox) + .addComponent(wslCheckBox)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(hostPathLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) @@ -675,7 +695,7 @@ public void actionPerformed(java.awt.event.ActionEvent evt) { .addComponent(containerPathField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(remoteLink) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 53, Short.MAX_VALUE) .addComponent(remotePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) ); @@ -701,6 +721,10 @@ private void dockerVolumeCheckBoxActionPerformed(java.awt.event.ActionEvent evt) containerPathField.setVisible(dockerVolumeCheckBox.isSelected()); }//GEN-LAST:event_dockerVolumeCheckBoxActionPerformed + private void wslCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_wslCheckBoxActionPerformed + fireChangeEvent(); + }//GEN-LAST:event_wslCheckBoxActionPerformed + // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JTextField containerPathField; private javax.swing.JLabel containerPathLabel; @@ -729,6 +753,7 @@ private void dockerVolumeCheckBoxActionPerformed(java.awt.event.ActionEvent evt) private javax.swing.JCheckBox useDefaultPortsCB; private javax.swing.JTextField userNameField; private javax.swing.JLabel userNameLabel; + private javax.swing.JCheckBox wslCheckBox; // End of variables declaration//GEN-END:variables class MyKeyListener implements KeyListener { diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Bundle.properties b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Bundle.properties index f2042cdcea1e..b25b99e906d8 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Bundle.properties +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/Bundle.properties @@ -177,3 +177,4 @@ AddDomainLocationVisualPanel.hostPathLabel.text=Host Path AddDomainLocationVisualPanel.hostPathField.text= AddDomainLocationVisualPanel.containerPathField.text= AddDomainLocationVisualPanel.dockerVolumeCheckBox.text=Docker Volume +AddDomainLocationVisualPanel.wslCheckBox.text=WSL diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/ServerWizardIterator.java b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/ServerWizardIterator.java index df83baebb838..c084e059b6ce 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/ServerWizardIterator.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/common/wizards/ServerWizardIterator.java @@ -234,6 +234,7 @@ protected final void fireChangeEvent() { /** Payara server administrator's password. */ private String password; private boolean docker; + private boolean wsl; private String hostPath; private String containerPath; private String installRoot; @@ -346,6 +347,14 @@ public void setDocker(boolean docker) { this.docker = docker; } + public boolean isWSL() { + return wsl; + } + + public void setWSL(boolean wsl) { + this.wsl = wsl; + } + public String getHostPath() { return hostPath; } @@ -518,7 +527,7 @@ userName, password, new File(payaraRoot), PayaraInstance instance = PayaraInstance.create((String) wizard.getProperty("ServInstWizard_displayName"), // NOI18N installRoot, payaraRoot, domainsDir, domainName, newHttpPort, newAdminPort, userName, password, - docker, hostPath, containerPath, targetValue, + wsl, docker, hostPath, containerPath, targetValue, formatUri(hostName, newAdminPort, getTargetValue(),domainsDir,domainName), instanceProvider); result.add(instance.getCommonInstance()); @@ -526,7 +535,7 @@ userName, password, new File(payaraRoot), PayaraInstance instance = PayaraInstance.create((String) wizard.getProperty("ServInstWizard_displayName"), // NOI18N installRoot, payaraRoot, domainsDir, domainName, getHttpPort(), getAdminPort(), userName, password, - docker, hostPath, containerPath, targetValue, + wsl, docker, hostPath, containerPath, targetValue, formatUri(hostName, getAdminPort(), getTargetValue(), domainsDir, domainName), instanceProvider); result.add(instance.getCommonInstance()); @@ -541,7 +550,7 @@ private void handleRemoteDomains(Set result, File ir) { PayaraInstance instance = PayaraInstance.create((String) wizard.getProperty("ServInstWizard_displayName"), // NOI18N installRoot, payaraRoot, null, domainName, getHttpPort(), getAdminPort(), userName, password, - docker, hostPath, containerPath, targetValue, + wsl, docker, hostPath, containerPath, targetValue, formatUri(hn, getAdminPort(), getTargetValue(),null, domainName), instanceProvider); result.add(instance.getCommonInstance()); diff --git a/enterprise/payara.common/src/org/netbeans/modules/payara/spi/PayaraModule.java b/enterprise/payara.common/src/org/netbeans/modules/payara/spi/PayaraModule.java index 8122928aa737..ff5fb56f787a 100644 --- a/enterprise/payara.common/src/org/netbeans/modules/payara/spi/PayaraModule.java +++ b/enterprise/payara.common/src/org/netbeans/modules/payara/spi/PayaraModule.java @@ -47,6 +47,7 @@ public interface PayaraModule { public static final String DISPLAY_NAME_ATTR = "displayName"; // NOI18N public static final String USERNAME_ATTR = "username"; // NOI18N public static final String PASSWORD_ATTR = "password"; // NOI18N + public static final String WSL_ATTR = "wsl"; // NOI18N public static final String DOCKER_ATTR = "docker"; // NOI18N public static final String HOST_PATH_ATTR = "hostPath"; // NOI18N public static final String CONTAINER_PATH_ATTR = "containerPath"; // NOI18N diff --git a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/Hk2DeploymentManager.java b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/Hk2DeploymentManager.java index 49bcc977a816..fe399d0e94e4 100644 --- a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/Hk2DeploymentManager.java +++ b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/Hk2DeploymentManager.java @@ -621,6 +621,11 @@ public boolean isDocker() { } return result; } + + public boolean isWSL() { + PayaraModule commonSupport = getCommonServerSupport(); + return commonSupport != null && commonSupport.getInstance().isWSL(); + } public static String getTargetFromUri(String uri) { String target = null; diff --git a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/Hk2OptionalFactory.java b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/Hk2OptionalFactory.java index c97a77ba79c8..1d35ec0ef6b0 100644 --- a/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/Hk2OptionalFactory.java +++ b/enterprise/payara.jakartaee/src/org/netbeans/modules/payara/jakartaee/Hk2OptionalFactory.java @@ -86,7 +86,7 @@ public IncrementalDeployment getIncrementalDeployment(DeploymentManager dm) { IncrementalDeployment result = null; if(dm instanceof Hk2DeploymentManager) { Hk2DeploymentManager hk2dm = (Hk2DeploymentManager) dm; - if(hk2dm.isLocal() || hk2dm.isDocker()) { + if(hk2dm.isLocal() || hk2dm.isDocker() || hk2dm.isWSL()) { result = new FastDeploy(hk2dm); } } diff --git a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig index df405a1dd500..d9acd24d26e6 100644 --- a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig +++ b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig @@ -1383,6 +1383,7 @@ meth public abstract short getUpdate() CLSS public abstract interface org.netbeans.modules.payara.tooling.data.PayaraServer meth public abstract boolean isDocker() +meth public abstract boolean isWSL() meth public abstract boolean isRemote() meth public abstract int getAdminPort() meth public abstract int getPort() @@ -1407,6 +1408,7 @@ cons public init() cons public init(java.lang.String,java.lang.String,java.lang.String,java.lang.String) intf org.netbeans.modules.payara.tooling.data.PayaraServer meth public boolean isDocker() +meth public boolean isWSL() meth public boolean isRemote() meth public int getAdminPort() meth public int getPort() @@ -1431,6 +1433,7 @@ meth public void setAdminPort(int) meth public void setAdminUser(java.lang.String) meth public void setContainerPath(java.lang.String) meth public void setDocker(boolean) +meth public void setWSL(boolean) meth public void setDomainName(java.lang.String) meth public void setDomainsFolder(java.lang.String) meth public void setHost(java.lang.String) @@ -1444,7 +1447,7 @@ meth public void setUrl(java.lang.String) meth public void setVersion(org.netbeans.modules.payara.tooling.data.PayaraVersion) anno 0 java.lang.Deprecated() supr java.lang.Object -hfds adminInterface,adminPassword,adminPort,adminUser,containerPath,docker,domainName,domainsFolder,host,hostPath,name,platformVersion,port,serverHome,serverRoot,url,version +hfds adminInterface,adminPassword,adminPort,adminUser,containerPath,wsl,docker,domainName,domainsFolder,host,hostPath,name,platformVersion,port,serverHome,serverRoot,url,version CLSS public abstract interface org.netbeans.modules.payara.tooling.data.PayaraServerStatus meth public abstract org.netbeans.modules.payara.tooling.PayaraStatus getStatus() diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/CommandException.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/CommandException.java index 1e8e38a71137..0b0ec0a9c1f9 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/CommandException.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/CommandException.java @@ -69,6 +69,9 @@ public class CommandException extends PayaraIdeException { /** Exception message for illegal Command instance provided. */ static final String ILLEGAL_COMAND_INSTANCE = "Illegal command instance provided"; + + /** Exception message for application path in the mapped host path. */ + static final String DOCKER_HOST_APPLICATION_PATH = "Application should be in same drive as docker host container path mapping"; /** Exception message for illegal null value provided. */ static final String ILLEGAL_NULL_VALUE diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/RunnerHttpDeploy.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/RunnerHttpDeploy.java index c0da1ad1f52e..60af22293427 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/RunnerHttpDeploy.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/admin/RunnerHttpDeploy.java @@ -116,13 +116,24 @@ private static String query(final PayaraServer server, final Command command) { && !server.getHostPath().isEmpty() && server.getContainerPath() != null && !server.getContainerPath().isEmpty()) { - Path relativePath = Paths.get(server.getHostPath()).relativize(deploy.path.toPath()); - path = Paths.get(server.getContainerPath(), relativePath.toString()).toString(); - if (server.getContainerPath().startsWith("/")) { - path = path.replace("\\", "/"); + try { + Path relativePath = Paths.get(server.getHostPath()).relativize(deploy.path.toPath()); + path = Paths.get(server.getContainerPath(), relativePath.toString()).toString(); + if (server.getContainerPath().startsWith("/")) { + path = path.replace("\\", "/"); + } + } catch (IllegalArgumentException ex) { + throw new CommandException( + CommandException.DOCKER_HOST_APPLICATION_PATH); } } - target =deploy.target; + if (server.isWSL()) { + // Replace backslashes with forward slashes + path = path.replace("\\", "/"); + // Add "mnt" prefix and drive letter + path = "/mnt/" + path.substring(0, 1).toLowerCase() + path.substring(2); + } + target = deploy.target; ctxRoot = deploy.contextRoot; hotDeploy = Boolean.toString(deploy.hotDeploy); } diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraServer.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraServer.java index f89230509f38..dcca289b9ec3 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraServer.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraServer.java @@ -81,6 +81,14 @@ public interface PayaraServer { */ public boolean isDocker(); + /** + * Get information if this Payara server instance is running in WSL container. + *

+ * @return Value of true when this Payara server instance + * is WSL instance or false otherwise. + */ + public boolean isWSL(); + /** * Get the docker host path. *

diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraServerEntity.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraServerEntity.java index c3a3ea480ee9..3d6154895fb5 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraServerEntity.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/data/PayaraServerEntity.java @@ -63,11 +63,15 @@ public class PayaraServerEntity implements PayaraServer { * (PayaraModule.DOCKER_ATTR). */ private boolean docker; - /** Docker instance + /** WSL instance + * (PayaraModule.WSL_ATTR). */ + private boolean wsl; + + /** Docker host path * (PayaraModule.HOST_PATH_ATTR). */ private String hostPath; - /** Docker instance + /** Docker container path * (PayaraModule.CONTAINER_PATH_ATTR). */ private String containerPath; @@ -446,7 +450,7 @@ public void setAdminInterface( */ @Override public boolean isRemote() { - return domainsFolder == null; + return domainsFolder == null || docker || wsl; } @Override @@ -458,6 +462,14 @@ public void setDocker(boolean docker) { this.docker = docker; } + @Override + public boolean isWSL() { + return wsl; + } + + public void setWSL(boolean wsl) { + this.wsl = wsl; + } @Override public String getHostPath() { return hostPath; diff --git a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/utils/ServerUtils.java b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/utils/ServerUtils.java index 02af32522d39..4697d1da1f93 100644 --- a/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/utils/ServerUtils.java +++ b/enterprise/payara.tooling/src/org/netbeans/modules/payara/tooling/utils/ServerUtils.java @@ -858,7 +858,7 @@ public static String getDomainPath(final PayaraServer server) { String domainsFolder = server.getDomainsFolder(); boolean appendSeparator = domainsFolder.lastIndexOf(File.separator) + OsUtils.FILE_SEPARATOR_LENGTH != domainsFolder.length(); - StringBuilder sb = new StringBuilder(server.getDomainsFolder().length() + StringBuilder sb = new StringBuilder(domainsFolder.length() + (appendSeparator ? OsUtils.FILE_SEPARATOR_LENGTH : 0) + domainName.length()); sb.append(domainsFolder); From a7dfdb908aae10be8ac9bc99e9ee13ec7a547297 Mon Sep 17 00:00:00 2001 From: Eric Barboni Date: Tue, 22 Oct 2024 13:52:45 +0200 Subject: [PATCH 22/94] Increment spec versions for Apache NetBeans 25 development --- apisupport/apisupport.ant/manifest.mf | 2 +- apisupport/apisupport.installer.maven/manifest.mf | 2 +- apisupport/apisupport.installer/manifest.mf | 2 +- apisupport/apisupport.kit/manifest.mf | 2 +- apisupport/apisupport.project/manifest.mf | 2 +- apisupport/apisupport.refactoring/manifest.mf | 2 +- apisupport/apisupport.wizards/manifest.mf | 2 +- apisupport/maven.apisupport/manifest.mf | 2 +- apisupport/timers/manifest.mf | 2 +- cpplite/cpplite.debugger/manifest.mf | 2 +- cpplite/cpplite.editor/manifest.mf | 2 +- cpplite/cpplite.kit/manifest.mf | 2 +- cpplite/cpplite.project/manifest.mf | 2 +- enterprise/api.web.webmodule/manifest.mf | 2 +- enterprise/cloud.amazon/manifest.mf | 2 +- enterprise/cloud.common/manifest.mf | 2 +- enterprise/cloud.oracle/manifest.mf | 2 +- enterprise/el.lexer/manifest.mf | 2 +- enterprise/glassfish.common/manifest.mf | 2 +- enterprise/glassfish.eecommon/nbproject/project.properties | 2 +- enterprise/glassfish.javaee/manifest.mf | 2 +- enterprise/glassfish.tooling/manifest.mf | 2 +- enterprise/gradle.javaee/manifest.mf | 2 +- enterprise/j2ee.ant/nbproject/project.properties | 2 +- enterprise/j2ee.api.ejbmodule/manifest.mf | 2 +- enterprise/j2ee.clientproject/nbproject/project.properties | 2 +- enterprise/j2ee.common/manifest.mf | 2 +- enterprise/j2ee.core/manifest.mf | 2 +- enterprise/j2ee.dd.webservice/manifest.mf | 2 +- enterprise/j2ee.dd/nbproject/project.properties | 2 +- enterprise/j2ee.ddloaders/nbproject/project.properties | 2 +- enterprise/j2ee.earproject/manifest.mf | 2 +- enterprise/j2ee.ejbcore/manifest.mf | 2 +- enterprise/j2ee.ejbjarproject/manifest.mf | 2 +- enterprise/j2ee.ejbrefactoring/manifest.mf | 2 +- enterprise/j2ee.ejbverification/manifest.mf | 2 +- enterprise/j2ee.genericserver/manifest.mf | 2 +- enterprise/j2ee.kit/manifest.mf | 2 +- enterprise/j2ee.platform/manifest.mf | 2 +- enterprise/j2ee.sun.appsrv/nbproject/project.properties | 2 +- enterprise/j2ee.sun.dd/nbproject/project.properties | 2 +- enterprise/j2ee.sun.ddui/nbproject/project.properties | 2 +- enterprise/j2eeapis/manifest.mf | 2 +- enterprise/j2eeserver/nbproject/project.properties | 2 +- enterprise/jakarta.transformer/manifest.mf | 2 +- enterprise/jakarta.web.beans/manifest.mf | 2 +- enterprise/jakartaee10.api/manifest.mf | 2 +- enterprise/jakartaee10.platform/manifest.mf | 2 +- enterprise/jakartaee11.api/manifest.mf | 2 +- enterprise/jakartaee11.platform/manifest.mf | 2 +- enterprise/jakartaee8.api/manifest.mf | 2 +- enterprise/jakartaee8.platform/manifest.mf | 2 +- enterprise/jakartaee9.api/manifest.mf | 2 +- enterprise/jakartaee9.platform/manifest.mf | 2 +- enterprise/javaee.api/manifest.mf | 2 +- enterprise/javaee.beanvalidation/manifest.mf | 2 +- enterprise/javaee.project/manifest.mf | 2 +- enterprise/javaee.resources/manifest.mf | 2 +- enterprise/javaee.specs.support/manifest.mf | 2 +- enterprise/javaee.wildfly/manifest.mf | 2 +- enterprise/javaee7.api/manifest.mf | 2 +- enterprise/javaee8.api/manifest.mf | 2 +- enterprise/jellytools.enterprise/manifest.mf | 2 +- enterprise/jsp.lexer/manifest.mf | 2 +- enterprise/libs.amazon/manifest.mf | 2 +- enterprise/libs.commons_fileupload/manifest.mf | 2 +- enterprise/libs.elimpl/nbproject/project.properties | 2 +- enterprise/libs.fabric8/manifest.mf | 2 +- .../libs.glassfish_logging/nbproject/project.properties | 2 +- enterprise/libs.jackson/manifest.mf | 2 +- enterprise/libs.jstl/nbproject/project.properties | 2 +- enterprise/maven.j2ee/manifest.mf | 2 +- enterprise/maven.jaxws/manifest.mf | 2 +- enterprise/micronaut/nbproject/project.properties | 2 +- enterprise/payara.common/manifest.mf | 2 +- enterprise/payara.eecommon/nbproject/project.properties | 2 +- enterprise/payara.jakartaee/manifest.mf | 2 +- enterprise/payara.micro/manifest.mf | 2 +- enterprise/payara.tooling/manifest.mf | 2 +- enterprise/profiler.j2ee/manifest.mf | 2 +- .../projectimport.eclipse.web/nbproject/project.properties | 2 +- enterprise/servletjspapi/nbproject/project.properties | 2 +- enterprise/spring.webmvc/manifest.mf | 2 +- enterprise/tomcat5/manifest.mf | 2 +- enterprise/web.beans/manifest.mf | 2 +- enterprise/web.bootsfaces/manifest.mf | 2 +- enterprise/web.client.rest/manifest.mf | 2 +- enterprise/web.core.syntax/nbproject/project.properties | 2 +- enterprise/web.core/nbproject/project.properties | 2 +- enterprise/web.debug/manifest.mf | 2 +- enterprise/web.el/manifest.mf | 2 +- enterprise/web.freeform/manifest.mf | 2 +- enterprise/web.jsf.editor/manifest.mf | 2 +- enterprise/web.jsf.icefaces/manifest.mf | 2 +- enterprise/web.jsf.kit/manifest.mf | 2 +- enterprise/web.jsf.navigation/manifest.mf | 2 +- enterprise/web.jsf.richfaces/manifest.mf | 2 +- enterprise/web.jsf/nbproject/project.properties | 2 +- enterprise/web.jsf20/nbproject/project.properties | 2 +- enterprise/web.jsfapi/manifest.mf | 2 +- enterprise/web.jspparser/manifest.mf | 2 +- enterprise/web.kit/manifest.mf | 2 +- enterprise/web.monitor/manifest.mf | 2 +- enterprise/web.primefaces/manifest.mf | 2 +- enterprise/web.project/nbproject/project.properties | 2 +- enterprise/web.refactoring/nbproject/project.properties | 2 +- enterprise/weblogic.common/manifest.mf | 2 +- enterprise/websocket/manifest.mf | 2 +- enterprise/websvc.clientapi/manifest.mf | 2 +- enterprise/websvc.core/nbproject/project.properties | 2 +- enterprise/websvc.customization/nbproject/project.properties | 2 +- enterprise/websvc.design/manifest.mf | 2 +- enterprise/websvc.editor.hints/manifest.mf | 2 +- enterprise/websvc.jaxws.lightapi/manifest.mf | 2 +- enterprise/websvc.jaxwsapi/manifest.mf | 2 +- enterprise/websvc.jaxwsmodel/manifest.mf | 2 +- enterprise/websvc.kit/manifest.mf | 2 +- enterprise/websvc.manager/manifest.mf | 2 +- enterprise/websvc.metro.lib/manifest.mf | 2 +- enterprise/websvc.owsm/manifest.mf | 2 +- enterprise/websvc.projectapi/manifest.mf | 2 +- enterprise/websvc.rest/manifest.mf | 2 +- enterprise/websvc.restapi/manifest.mf | 2 +- enterprise/websvc.restkit/manifest.mf | 2 +- enterprise/websvc.restlib/manifest.mf | 2 +- enterprise/websvc.saas.codegen.j2ee/manifest.mf | 2 +- enterprise/websvc.utilities/manifest.mf | 2 +- enterprise/websvc.websvcapi/manifest.mf | 2 +- enterprise/websvc.wsstackapi/manifest.mf | 2 +- ergonomics/ide.ergonomics/manifest.mf | 2 +- extide/gradle.dists/manifest.mf | 2 +- extide/gradle.editor/manifest.mf | 2 +- extide/gradle/nbproject/project.properties | 2 +- extide/libs.gradle/manifest.mf | 2 +- extide/o.apache.tools.ant.module/nbproject/project.properties | 2 +- extide/options.java/manifest.mf | 2 +- extra/libs.javafx.linux.aarch64/manifest.mf | 2 +- extra/libs.javafx.linux/manifest.mf | 2 +- extra/libs.javafx.macosx.aarch64/manifest.mf | 2 +- extra/libs.javafx.macosx/manifest.mf | 2 +- extra/libs.javafx.win/manifest.mf | 2 +- groovy/gradle.groovy/manifest.mf | 2 +- groovy/groovy.antproject/manifest.mf | 2 +- groovy/groovy.debug/manifest.mf | 2 +- groovy/groovy.editor/manifest.mf | 2 +- groovy/groovy.gsp/manifest.mf | 2 +- groovy/groovy.kit/manifest.mf | 2 +- groovy/groovy.refactoring/manifest.mf | 2 +- groovy/groovy.samples/manifest.mf | 2 +- groovy/groovy.support/manifest.mf | 2 +- groovy/libs.groovy/manifest.mf | 2 +- groovy/maven.groovy/manifest.mf | 2 +- harness/apisupport.harness/manifest.mf | 2 +- harness/jellytools.platform/manifest.mf | 2 +- harness/jemmy/manifest.mf | 2 +- harness/libs.nbi.ant/manifest.mf | 2 +- harness/libs.nbi.engine/manifest.mf | 2 +- harness/nbjunit/manifest.mf | 2 +- harness/o.n.insane/nbproject/project.properties | 2 +- ide/api.debugger/manifest.mf | 2 +- ide/api.java.classpath/manifest.mf | 2 +- ide/api.lsp/manifest.mf | 2 +- ide/api.xml.ui/manifest.mf | 2 +- ide/api.xml/manifest.mf | 2 +- ide/bugtracking.bridge/manifest.mf | 2 +- ide/bugtracking.commons/manifest.mf | 2 +- ide/bugtracking/manifest.mf | 2 +- ide/bugzilla/manifest.mf | 2 +- ide/c.google.guava.failureaccess/nbproject/project.properties | 2 +- ide/c.google.guava/nbproject/project.properties | 2 +- ide/c.jcraft.jzlib/nbproject/project.properties | 2 +- ide/code.analysis/manifest.mf | 2 +- ide/core.browser.webview/nbproject/project.properties | 2 +- ide/core.browser/nbproject/project.properties | 2 +- ide/core.ide/manifest.mf | 2 +- ide/core.multitabs.project/nbproject/project.properties | 2 +- ide/csl.api/nbproject/project.properties | 2 +- ide/csl.types/manifest.mf | 2 +- ide/css.editor/manifest.mf | 2 +- ide/css.lib/manifest.mf | 2 +- ide/css.model/manifest.mf | 2 +- ide/css.prep/manifest.mf | 2 +- ide/css.visual/manifest.mf | 2 +- ide/db.core/manifest.mf | 2 +- ide/db.dataview/manifest.mf | 2 +- ide/db.drivers/manifest.mf | 2 +- ide/db.kit/manifest.mf | 2 +- ide/db.metadata.model/manifest.mf | 2 +- ide/db.mysql/nbproject/project.properties | 2 +- ide/db.sql.editor/nbproject/project.properties | 2 +- ide/db.sql.visualeditor/nbproject/project.properties | 2 +- ide/db/nbproject/project.properties | 2 +- ide/dbapi/nbproject/project.properties | 2 +- ide/defaults/manifest.mf | 2 +- ide/derby/manifest.mf | 2 +- ide/diff/nbproject/project.properties | 2 +- ide/dlight.nativeexecution.nb/manifest.mf | 2 +- ide/dlight.nativeexecution/nbproject/project.properties | 2 +- ide/dlight.terminal/nbproject/project.properties | 2 +- ide/docker.api/manifest.mf | 2 +- ide/docker.editor/manifest.mf | 2 +- ide/docker.ui/manifest.mf | 2 +- ide/editor.actions/nbproject/project.properties | 2 +- ide/editor.autosave/manifest.mf | 2 +- ide/editor.bookmarks/manifest.mf | 2 +- ide/editor.bracesmatching/nbproject/project.properties | 2 +- ide/editor.breadcrumbs/manifest.mf | 2 +- ide/editor.codetemplates/nbproject/project.properties | 2 +- ide/editor.completion/nbproject/project.properties | 2 +- .../nbproject/project.properties | 2 +- ide/editor.document/nbproject/project.properties | 2 +- ide/editor.errorstripe.api/nbproject/project.properties | 2 +- ide/editor.errorstripe/nbproject/project.properties | 2 +- ide/editor.fold.nbui/nbproject/project.properties | 2 +- ide/editor.fold/manifest.mf | 2 +- ide/editor.global.format/nbproject/project.properties | 2 +- ide/editor.guards/manifest.mf | 2 +- ide/editor.indent.project/manifest.mf | 2 +- ide/editor.indent.support/manifest.mf | 2 +- ide/editor.indent/manifest.mf | 2 +- ide/editor.kit/manifest.mf | 2 +- ide/editor.lib/nbproject/project.properties | 2 +- ide/editor.lib2/nbproject/project.properties | 2 +- ide/editor.macros/nbproject/project.properties | 2 +- ide/editor.plain.lib/manifest.mf | 2 +- ide/editor.plain/manifest.mf | 2 +- ide/editor.search/nbproject/project.properties | 2 +- ide/editor.settings.lib/nbproject/project.properties | 2 +- ide/editor.settings.storage/nbproject/project.properties | 2 +- ide/editor.settings/manifest.mf | 2 +- ide/editor.structure/nbproject/project.properties | 2 +- ide/editor.tools.storage/manifest.mf | 2 +- ide/editor.util/manifest.mf | 2 +- ide/editor/nbproject/project.properties | 2 +- ide/extbrowser/manifest.mf | 2 +- ide/extexecution.base/manifest.mf | 2 +- ide/extexecution.impl/manifest.mf | 2 +- ide/extexecution.process/manifest.mf | 2 +- ide/extexecution/manifest.mf | 2 +- ide/git/nbproject/project.properties | 2 +- ide/go.lang/manifest.mf | 2 +- ide/gototest/manifest.mf | 2 +- ide/gsf.codecoverage/manifest.mf | 2 +- ide/gsf.testrunner.ui/nbproject/project.properties | 2 +- ide/gsf.testrunner/manifest.mf | 2 +- ide/html.custom/manifest.mf | 2 +- ide/html.editor.lib/manifest.mf | 2 +- ide/html.editor/manifest.mf | 2 +- ide/html.indexing/manifest.mf | 2 +- ide/html.lexer/manifest.mf | 2 +- ide/html.parser/nbproject/project.properties | 2 +- ide/html.validation/manifest.mf | 2 +- ide/html/manifest.mf | 2 +- ide/httpserver/nbproject/project.properties | 2 +- ide/hudson.git/manifest.mf | 2 +- ide/hudson.mercurial/manifest.mf | 2 +- ide/hudson.subversion/manifest.mf | 2 +- ide/hudson.tasklist/manifest.mf | 2 +- ide/hudson.ui/manifest.mf | 2 +- ide/hudson/manifest.mf | 2 +- ide/ide.kit/manifest.mf | 2 +- ide/image/manifest.mf | 2 +- ide/javascript2.debug.ui/manifest.mf | 2 +- ide/javascript2.debug/manifest.mf | 2 +- ide/jellytools.ide/nbproject/project.properties | 2 +- ide/jumpto/nbproject/project.properties | 2 +- ide/languages.diff/manifest.mf | 2 +- ide/languages.go/manifest.mf | 2 +- ide/languages.hcl/manifest.mf | 2 +- ide/languages.manifest/manifest.mf | 2 +- ide/languages.toml/manifest.mf | 2 +- ide/languages.yaml/manifest.mf | 2 +- ide/languages/nbproject/project.properties | 2 +- ide/lexer.antlr4/nbproject/project.properties | 2 +- ide/lexer.nbbridge/nbproject/project.properties | 2 +- ide/lexer/nbproject/project.properties | 2 +- ide/lib.terminalemulator/manifest.mf | 2 +- ide/libs.antlr3.runtime/nbproject/project.properties | 2 +- ide/libs.antlr4.runtime/nbproject/project.properties | 2 +- ide/libs.c.kohlschutter.junixsocket/manifest.mf | 2 +- ide/libs.commons_compress/nbproject/project.properties | 2 +- ide/libs.commons_net/nbproject/project.properties | 2 +- ide/libs.flexmark/manifest.mf | 2 +- ide/libs.freemarker/nbproject/project.properties | 2 +- ide/libs.git/manifest.mf | 2 +- ide/libs.graalsdk.system/manifest.mf | 2 +- ide/libs.graalsdk/manifest.mf | 2 +- ide/libs.ini4j/manifest.mf | 2 +- ide/libs.jaxb/manifest.mf | 2 +- ide/libs.jcodings/manifest.mf | 2 +- ide/libs.jsch.agentproxy/manifest.mf | 2 +- ide/libs.json_simple/manifest.mf | 2 +- ide/libs.lucene/manifest.mf | 2 +- ide/libs.snakeyaml_engine/manifest.mf | 2 +- ide/libs.svnClientAdapter.javahl/manifest.mf | 2 +- ide/libs.svnClientAdapter/manifest.mf | 2 +- ide/libs.tomlj/manifest.mf | 2 +- ide/libs.tomljava/manifest.mf | 2 +- ide/libs.truffleapi/manifest.mf | 2 +- ide/libs.xerces/nbproject/project.properties | 2 +- ide/localhistory/manifest.mf | 2 +- ide/localtasks/manifest.mf | 2 +- ide/lsp.client/nbproject/project.properties | 2 +- ide/markdown/manifest.mf | 2 +- ide/mercurial/nbproject/project.properties | 2 +- ide/mylyn.util/manifest.mf | 2 +- ide/nativeimage.api/manifest.mf | 2 +- ide/notifications/manifest.mf | 2 +- ide/o.apache.commons.httpclient/manifest.mf | 2 +- ide/o.apache.xml.resolver/nbproject/project.properties | 2 +- ide/o.n.swing.dirchooser/manifest.mf | 2 +- ide/o.openidex.util/manifest.mf | 2 +- ide/options.editor/manifest.mf | 2 +- ide/parsing.api/nbproject/project.properties | 2 +- ide/parsing.indexing/nbproject/project.properties | 2 +- ide/parsing.lucene/nbproject/project.properties | 2 +- ide/parsing.nb/nbproject/project.properties | 2 +- ide/parsing.ui/nbproject/project.properties | 2 +- ide/print.editor/manifest.mf | 2 +- ide/project.ant.compat8/manifest.mf | 2 +- ide/project.ant.ui/manifest.mf | 2 +- ide/project.ant/manifest.mf | 2 +- ide/project.dependency/nbproject/project.properties | 2 +- ide/project.indexingbridge/manifest.mf | 2 +- ide/project.libraries.ui/manifest.mf | 2 +- ide/project.libraries/manifest.mf | 2 +- ide/project.spi.intern.impl/manifest.mf | 2 +- ide/project.spi.intern/manifest.mf | 2 +- ide/projectapi.nb/manifest.mf | 2 +- ide/projectapi/manifest.mf | 2 +- ide/projectui.buildmenu/nbproject/project.properties | 2 +- ide/projectui/nbproject/project.properties | 2 +- ide/projectuiapi.base/nbproject/project.properties | 2 +- ide/projectuiapi/nbproject/project.properties | 2 +- ide/properties.syntax/manifest.mf | 2 +- ide/properties/manifest.mf | 2 +- ide/refactoring.api/nbproject/project.properties | 2 +- ide/schema2beans/manifest.mf | 2 +- ide/selenium2.server/manifest.mf | 2 +- ide/selenium2/manifest.mf | 2 +- ide/server/manifest.mf | 2 +- ide/servletapi/manifest.mf | 2 +- ide/spellchecker.apimodule/manifest.mf | 2 +- ide/spellchecker.bindings.htmlxml/manifest.mf | 2 +- ide/spellchecker.bindings.properties/manifest.mf | 2 +- ide/spellchecker.dictionary_en/manifest.mf | 2 +- ide/spellchecker.kit/manifest.mf | 2 +- ide/spellchecker/nbproject/project.properties | 2 +- ide/spi.debugger.ui/manifest.mf | 2 +- ide/spi.editor.hints.projects/nbproject/project.properties | 2 +- ide/spi.editor.hints/nbproject/project.properties | 2 +- ide/spi.navigator/manifest.mf | 2 +- ide/spi.palette/manifest.mf | 2 +- ide/spi.tasklist/nbproject/project.properties | 2 +- ide/spi.viewmodel/manifest.mf | 2 +- ide/subversion/nbproject/project.properties | 2 +- ide/swing.validation/manifest.mf | 2 +- ide/target.iterator/manifest.mf | 2 +- ide/tasklist.kit/manifest.mf | 2 +- ide/tasklist.projectint/manifest.mf | 2 +- ide/tasklist.todo/nbproject/project.properties | 2 +- ide/tasklist.ui/nbproject/project.properties | 2 +- ide/team.commons/manifest.mf | 2 +- ide/team.ide/manifest.mf | 2 +- ide/terminal.nb/manifest.mf | 2 +- ide/terminal/manifest.mf | 2 +- ide/textmate.lexer/nbproject/project.properties | 2 +- ide/usersguide/manifest.mf | 2 +- ide/utilities.project/manifest.mf | 2 +- ide/utilities/manifest.mf | 2 +- ide/versioning.core/nbproject/project.properties | 2 +- ide/versioning.indexingbridge/manifest.mf | 2 +- ide/versioning.masterfs/manifest.mf | 2 +- ide/versioning.system.cvss.installer/manifest.mf | 2 +- ide/versioning.ui/nbproject/project.properties | 2 +- ide/versioning.util/nbproject/project.properties | 2 +- ide/versioning/nbproject/project.properties | 2 +- ide/web.browser.api/manifest.mf | 2 +- ide/web.common.ui/manifest.mf | 2 +- ide/web.common/manifest.mf | 2 +- ide/web.indent/manifest.mf | 2 +- ide/web.webkit.debugging/manifest.mf | 2 +- ide/xml.axi/manifest.mf | 2 +- ide/xml.catalog.ui/nbproject/project.properties | 2 +- ide/xml.catalog/nbproject/project.properties | 2 +- ide/xml.core/nbproject/project.properties | 2 +- ide/xml.jaxb.api/manifest.mf | 2 +- ide/xml.lexer/manifest.mf | 2 +- ide/xml.multiview/nbproject/project.properties | 2 +- ide/xml.retriever/manifest.mf | 2 +- ide/xml.schema.completion/manifest.mf | 2 +- ide/xml.schema.model/nbproject/project.properties | 2 +- ide/xml.tax/nbproject/project.properties | 2 +- ide/xml.text.obsolete90/nbproject/project.properties | 2 +- ide/xml.text/nbproject/project.properties | 2 +- ide/xml.tools/manifest.mf | 2 +- ide/xml.wsdl.model/nbproject/project.properties | 2 +- ide/xml.xam/nbproject/project.properties | 2 +- ide/xml.xdm/nbproject/project.properties | 2 +- ide/xml/manifest.mf | 2 +- ide/xsl/manifest.mf | 2 +- java/ant.browsetask/manifest.mf | 2 +- java/ant.debugger/nbproject/project.properties | 2 +- java/ant.freeform/manifest.mf | 2 +- java/ant.grammar/manifest.mf | 2 +- java/ant.hints/manifest.mf | 2 +- java/ant.kit/manifest.mf | 2 +- java/api.debugger.jpda/manifest.mf | 2 +- java/api.java/manifest.mf | 2 +- java/api.maven/manifest.mf | 2 +- java/beans/nbproject/project.properties | 2 +- java/classfile/manifest.mf | 2 +- java/dbschema/nbproject/project.properties | 2 +- java/debugger.jpda.ant/manifest.mf | 2 +- java/debugger.jpda.js/manifest.mf | 2 +- java/debugger.jpda.jsui/manifest.mf | 2 +- java/debugger.jpda.kit/manifest.mf | 2 +- java/debugger.jpda.projects/manifest.mf | 2 +- java/debugger.jpda.projectsui/manifest.mf | 2 +- java/debugger.jpda.truffle/manifest.mf | 2 +- java/debugger.jpda.trufflenode/manifest.mf | 2 +- java/debugger.jpda.ui/manifest.mf | 2 +- java/debugger.jpda.visual/manifest.mf | 2 +- java/debugger.jpda/nbproject/project.properties | 2 +- java/editor.htmlui/manifest.mf | 2 +- java/form.kit/manifest.mf | 2 +- java/form.nb/nbproject/project.properties | 2 +- java/form.refactoring/nbproject/project.properties | 2 +- java/form/nbproject/project.properties | 2 +- java/gradle.dependencies/nbproject/project.properties | 4 ++-- java/gradle.htmlui/manifest.mf | 2 +- java/gradle.java.coverage/manifest.mf | 2 +- java/gradle.java/nbproject/project.properties | 2 +- java/gradle.kit/manifest.mf | 2 +- java/gradle.persistence/manifest.mf | 2 +- java/gradle.spring/manifest.mf | 2 +- java/gradle.test/manifest.mf | 2 +- java/hudson.ant/manifest.mf | 2 +- java/hudson.maven/manifest.mf | 2 +- java/i18n.form/nbproject/project.properties | 2 +- java/i18n/manifest.mf | 2 +- java/j2ee.core.utilities/manifest.mf | 2 +- java/j2ee.eclipselink/manifest.mf | 2 +- java/j2ee.eclipselinkmodelgen/manifest.mf | 2 +- java/j2ee.jpa.refactoring/manifest.mf | 2 +- java/j2ee.jpa.verification/manifest.mf | 2 +- java/j2ee.metadata.model.support/manifest.mf | 2 +- java/j2ee.metadata/manifest.mf | 2 +- java/j2ee.persistence.kit/manifest.mf | 2 +- java/j2ee.persistence/nbproject/project.properties | 2 +- java/j2ee.persistenceapi/nbproject/project.properties | 2 +- java/java.api.common/manifest.mf | 2 +- java/java.completion/nbproject/project.properties | 2 +- java/java.debug/nbproject/project.properties | 2 +- java/java.disco/manifest.mf | 2 +- java/java.editor.base/nbproject/project.properties | 2 +- java/java.editor.lib/nbproject/project.properties | 2 +- java/java.editor/nbproject/project.properties | 2 +- java/java.examples/manifest.mf | 2 +- java/java.file.launcher/manifest.mf | 2 +- java/java.freeform/manifest.mf | 2 +- java/java.graph/manifest.mf | 2 +- java/java.guards/manifest.mf | 2 +- java/java.hints.declarative.test/nbproject/project.properties | 2 +- java/java.hints.declarative/nbproject/project.properties | 2 +- java/java.hints.legacy.spi/nbproject/project.properties | 2 +- java/java.hints.test/nbproject/project.properties | 2 +- java/java.hints.ui/nbproject/project.properties | 2 +- java/java.hints/nbproject/project.properties | 2 +- java/java.j2sedeploy/manifest.mf | 2 +- java/java.j2seembedded/manifest.mf | 2 +- java/java.j2semodule/manifest.mf | 2 +- java/java.j2seplatform/manifest.mf | 2 +- java/java.j2seprofiles/manifest.mf | 2 +- java/java.j2seproject/nbproject/project.properties | 2 +- java/java.kit/manifest.mf | 2 +- java/java.lexer/manifest.mf | 2 +- java/java.lsp.server/nbproject/project.properties | 2 +- java/java.metrics/manifest.mf | 2 +- java/java.module.graph/manifest.mf | 2 +- java/java.mx.project/manifest.mf | 2 +- java/java.nativeimage.debugger/manifest.mf | 2 +- java/java.navigation/manifest.mf | 2 +- java/java.openjdk.project/manifest.mf | 2 +- java/java.platform.ui/manifest.mf | 2 +- java/java.platform/manifest.mf | 2 +- java/java.preprocessorbridge/nbproject/project.properties | 2 +- java/java.project.ui/manifest.mf | 2 +- java/java.project/manifest.mf | 2 +- java/java.source.ant/nbproject/project.properties | 2 +- java/java.source.base/nbproject/project.properties | 2 +- java/java.source.compat8/manifest.mf | 2 +- java/java.source.queries/manifest.mf | 2 +- java/java.source.queriesimpl/manifest.mf | 2 +- java/java.source/nbproject/project.properties | 2 +- java/java.sourceui/nbproject/project.properties | 2 +- java/java.testrunner.ant/manifest.mf | 2 +- java/java.testrunner.ui/manifest.mf | 2 +- java/java.testrunner/manifest.mf | 2 +- java/javadoc/nbproject/project.properties | 4 ++-- java/javaee.injection/manifest.mf | 2 +- java/javawebstart/manifest.mf | 2 +- java/jellytools.java/manifest.mf | 2 +- java/jshell.support/nbproject/project.properties | 2 +- java/junit.ant.ui/manifest.mf | 2 +- java/junit.ant/manifest.mf | 2 +- java/junit.ui/manifest.mf | 2 +- java/junit/manifest.mf | 2 +- java/ko4j.debugging/manifest.mf | 2 +- java/kotlin.editor/manifest.mf | 2 +- java/languages.antlr/manifest.mf | 2 +- java/lib.jshell.agent/manifest.mf | 2 +- java/lib.nbjavac/nbproject/project.properties | 2 +- java/lib.nbjshell/manifest.mf | 2 +- java/lib.nbjshell9/manifest.mf | 2 +- java/libs.cglib/manifest.mf | 2 +- java/libs.corba.omgapi/manifest.mf | 2 +- java/libs.javacapi/nbproject/project.properties | 2 +- java/libs.nbjavacapi/manifest.mf | 2 +- java/libs.springframework/manifest.mf | 2 +- java/maven.checkstyle/manifest.mf | 2 +- java/maven.coverage/manifest.mf | 2 +- java/maven.embedder/manifest.mf | 2 +- java/maven.grammar/nbproject/project.properties | 2 +- java/maven.graph/manifest.mf | 2 +- java/maven.hints/manifest.mf | 2 +- java/maven.indexer.ui/manifest.mf | 2 +- java/maven.indexer/manifest.mf | 2 +- java/maven.junit.ui/manifest.mf | 2 +- java/maven.junit/manifest.mf | 2 +- java/maven.kit/manifest.mf | 2 +- java/maven.model/manifest.mf | 2 +- java/maven.osgi/manifest.mf | 2 +- java/maven.persistence/manifest.mf | 2 +- java/maven.refactoring/nbproject/project.properties | 2 +- java/maven.repository/manifest.mf | 2 +- java/maven.search/manifest.mf | 2 +- java/maven.spring/manifest.mf | 2 +- java/maven/nbproject/project.properties | 2 +- java/nashorn.execution/manifest.mf | 2 +- java/projectimport.eclipse.core/manifest.mf | 2 +- java/projectimport.eclipse.j2se/nbproject/project.properties | 2 +- java/refactoring.java/nbproject/project.properties | 2 +- java/selenium2.java/manifest.mf | 2 +- java/selenium2.maven/manifest.mf | 2 +- java/spellchecker.bindings.java/manifest.mf | 2 +- java/spi.debugger.jpda.ui/manifest.mf | 2 +- java/spi.java.hints/nbproject/project.properties | 2 +- java/spring.beans/nbproject/project.properties | 2 +- java/testng.ant/manifest.mf | 2 +- java/testng.maven/manifest.mf | 2 +- java/testng.ui/manifest.mf | 2 +- java/testng/manifest.mf | 2 +- java/websvc.jaxws21/manifest.mf | 2 +- java/websvc.jaxws21api/manifest.mf | 2 +- java/websvc.saas.codegen.java/manifest.mf | 2 +- java/whitelist/manifest.mf | 2 +- java/xml.jaxb/manifest.mf | 2 +- java/xml.tools.java/manifest.mf | 2 +- javafx/javafx2.editor/nbproject/project.properties | 2 +- javafx/javafx2.kit/manifest.mf | 2 +- javafx/javafx2.platform/manifest.mf | 2 +- javafx/javafx2.project/manifest.mf | 2 +- javafx/javafx2.samples/manifest.mf | 2 +- javafx/javafx2.scenebuilder/manifest.mf | 2 +- javafx/maven.htmlui/manifest.mf | 2 +- nb/autoupdate.pluginimporter/manifest.mf | 2 +- nb/bugzilla.exceptionreporter/manifest.mf | 2 +- nb/deadlock.detector/manifest.mf | 2 +- nb/ide.branding.kit/manifest.mf | 2 +- nb/ide.branding/manifest.mf | 2 +- nb/ide.dashboard/manifest.mf | 2 +- nb/o.n.upgrader/manifest.mf | 2 +- nb/uihandler.exceptionreporter/manifest.mf | 2 +- nb/updatecenters/manifest.mf | 2 +- php/hudson.php/manifest.mf | 2 +- php/languages.neon/manifest.mf | 2 +- php/libs.javacup/nbproject/project.properties | 2 +- php/php.api.annotation/manifest.mf | 2 +- php/php.api.documentation/manifest.mf | 2 +- php/php.api.editor/manifest.mf | 2 +- php/php.api.executable/manifest.mf | 2 +- php/php.api.framework/manifest.mf | 2 +- php/php.api.phpmodule/manifest.mf | 2 +- php/php.api.templates/manifest.mf | 2 +- php/php.api.testing/manifest.mf | 2 +- php/php.apigen/manifest.mf | 2 +- php/php.atoum/manifest.mf | 2 +- php/php.code.analysis/manifest.mf | 2 +- php/php.codeception/manifest.mf | 2 +- php/php.composer/manifest.mf | 2 +- php/php.dbgp/manifest.mf | 2 +- php/php.doctrine2/manifest.mf | 2 +- php/php.editor/nbproject/project.properties | 2 +- php/php.kit/manifest.mf | 2 +- php/php.latte/manifest.mf | 2 +- php/php.nette.tester/manifest.mf | 2 +- php/php.nette2/manifest.mf | 2 +- php/php.phing/manifest.mf | 2 +- php/php.phpdoc/manifest.mf | 2 +- php/php.phpunit/manifest.mf | 2 +- php/php.project/manifest.mf | 2 +- php/php.refactoring/manifest.mf | 2 +- php/php.samples/manifest.mf | 2 +- php/php.smarty/manifest.mf | 2 +- php/php.symfony/manifest.mf | 2 +- php/php.symfony2/manifest.mf | 2 +- php/php.twig/manifest.mf | 2 +- php/php.zend/manifest.mf | 2 +- php/php.zend2/manifest.mf | 2 +- php/selenium2.php/manifest.mf | 2 +- php/spellchecker.bindings.php/manifest.mf | 2 +- php/websvc.saas.codegen.php/manifest.mf | 2 +- platform/api.annotations.common/manifest.mf | 2 +- platform/api.dashboard/manifest.mf | 2 +- platform/api.htmlui/manifest.mf | 2 +- platform/api.intent/manifest.mf | 2 +- platform/api.io/manifest.mf | 2 +- platform/api.progress.compat8/manifest.mf | 2 +- platform/api.progress.nb/manifest.mf | 2 +- platform/api.progress/manifest.mf | 2 +- platform/api.scripting/manifest.mf | 2 +- platform/api.search/manifest.mf | 2 +- platform/api.templates/manifest.mf | 2 +- platform/api.visual/manifest.mf | 2 +- platform/applemenu/manifest.mf | 2 +- platform/autoupdate.cli/manifest.mf | 2 +- platform/autoupdate.services/manifest.mf | 2 +- platform/autoupdate.ui/manifest.mf | 2 +- platform/core.execution/manifest.mf | 2 +- platform/core.io.ui/manifest.mf | 2 +- platform/core.kit/manifest.mf | 2 +- platform/core.multitabs/nbproject/project.properties | 2 +- platform/core.multiview/manifest.mf | 2 +- platform/core.nativeaccess/manifest.mf | 2 +- platform/core.netigso/manifest.mf | 2 +- platform/core.network/manifest.mf | 2 +- platform/core.osgi/manifest.mf | 2 +- platform/core.output2/manifest.mf | 2 +- platform/core.startup.base/nbproject/project.properties | 2 +- platform/core.startup/nbproject/project.properties | 2 +- platform/core.ui/manifest.mf | 2 +- platform/core.windows/manifest.mf | 2 +- platform/editor.mimelookup.impl/manifest.mf | 2 +- platform/editor.mimelookup/manifest.mf | 2 +- platform/favorites/manifest.mf | 2 +- platform/htmlui/manifest.mf | 2 +- platform/janitor/manifest.mf | 2 +- platform/javahelp/manifest.mf | 2 +- platform/junitlib/manifest.mf | 2 +- platform/keyring.fallback/manifest.mf | 2 +- platform/keyring.impl/manifest.mf | 2 +- platform/keyring/manifest.mf | 2 +- platform/lib.uihandler/manifest.mf | 2 +- platform/libs.asm/manifest.mf | 2 +- platform/libs.batik.read/nbproject/project.properties | 2 +- platform/libs.felix/manifest.mf | 2 +- platform/libs.flatlaf/manifest.mf | 2 +- platform/libs.javafx/manifest.mf | 2 +- platform/libs.javax.inject/manifest.mf | 2 +- platform/libs.jna.platform/manifest.mf | 2 +- platform/libs.jna/manifest.mf | 2 +- platform/libs.jsr223/manifest.mf | 2 +- platform/libs.junit4/manifest.mf | 2 +- platform/libs.junit5/manifest.mf | 2 +- platform/libs.osgi/manifest.mf | 2 +- platform/libs.testng/manifest.mf | 2 +- platform/masterfs.linux/manifest.mf | 2 +- platform/masterfs.macosx/manifest.mf | 2 +- platform/masterfs.nio2/manifest.mf | 2 +- platform/masterfs.ui/nbproject/project.properties | 2 +- platform/masterfs.windows/manifest.mf | 2 +- platform/masterfs/nbproject/project.properties | 2 +- platform/netbinox/manifest.mf | 2 +- platform/o.apache.commons.codec/manifest.mf | 2 +- platform/o.apache.commons.commons_io/manifest.mf | 2 +- platform/o.apache.commons.lang3/manifest.mf | 2 +- platform/o.apache.commons.logging/manifest.mf | 2 +- platform/o.n.bootstrap/manifest.mf | 2 +- platform/o.n.core/manifest.mf | 2 +- platform/o.n.swing.laf.dark/nbproject/project.properties | 2 +- platform/o.n.swing.laf.flatlaf/manifest.mf | 2 +- platform/o.n.swing.outline/manifest.mf | 2 +- platform/o.n.swing.plaf/manifest.mf | 2 +- platform/o.n.swing.tabcontrol/manifest.mf | 2 +- platform/openide.actions/manifest.mf | 2 +- platform/openide.awt/manifest.mf | 2 +- platform/openide.compat/manifest.mf | 2 +- platform/openide.dialogs/manifest.mf | 2 +- platform/openide.execution.compat8/manifest.mf | 2 +- platform/openide.execution/manifest.mf | 2 +- platform/openide.explorer/manifest.mf | 2 +- platform/openide.filesystems.compat8/manifest.mf | 2 +- platform/openide.filesystems.nb/manifest.mf | 2 +- platform/openide.filesystems/manifest.mf | 2 +- platform/openide.io/manifest.mf | 2 +- platform/openide.loaders/manifest.mf | 2 +- platform/openide.modules/manifest.mf | 2 +- platform/openide.nodes/manifest.mf | 2 +- platform/openide.options/manifest.mf | 2 +- platform/openide.text/manifest.mf | 2 +- platform/openide.util.lookup/manifest.mf | 2 +- platform/openide.util.ui.svg/manifest.mf | 2 +- platform/openide.util.ui/manifest.mf | 2 +- platform/openide.util/manifest.mf | 2 +- platform/openide.windows/manifest.mf | 2 +- platform/options.api/manifest.mf | 2 +- platform/options.keymap/manifest.mf | 2 +- platform/print/manifest.mf | 2 +- platform/progress.ui/manifest.mf | 2 +- platform/queries/manifest.mf | 2 +- platform/sampler/manifest.mf | 2 +- platform/sendopts/manifest.mf | 2 +- platform/settings/manifest.mf | 2 +- platform/spi.actions/manifest.mf | 2 +- platform/spi.quicksearch/manifest.mf | 2 +- platform/templates/manifest.mf | 2 +- platform/templatesui/manifest.mf | 2 +- platform/uihandler/manifest.mf | 2 +- profiler/debugger.jpda.heapwalk/manifest.mf | 2 +- profiler/lib.profiler.charts/manifest.mf | 2 +- profiler/lib.profiler.common/manifest.mf | 2 +- profiler/lib.profiler.ui/manifest.mf | 2 +- profiler/lib.profiler/manifest.mf | 2 +- profiler/maven.profiler/manifest.mf | 2 +- profiler/profiler.api/manifest.mf | 2 +- profiler/profiler.attach/manifest.mf | 2 +- profiler/profiler.freeform/manifest.mf | 2 +- profiler/profiler.heapwalker/manifest.mf | 2 +- profiler/profiler.j2se/manifest.mf | 2 +- profiler/profiler.kit/manifest.mf | 2 +- profiler/profiler.nbimpl/manifest.mf | 2 +- profiler/profiler.nbmodule/manifest.mf | 2 +- profiler/profiler.options/manifest.mf | 2 +- profiler/profiler.oql.language/manifest.mf | 2 +- profiler/profiler.oql/manifest.mf | 2 +- profiler/profiler.ppoints/manifest.mf | 2 +- profiler/profiler.projectsupport/manifest.mf | 2 +- profiler/profiler.snaptracer/manifest.mf | 2 +- profiler/profiler.utilities/manifest.mf | 2 +- profiler/profiler/manifest.mf | 2 +- webcommon/api.knockout/manifest.mf | 2 +- webcommon/cordova.platforms.android/manifest.mf | 2 +- webcommon/cordova.platforms/manifest.mf | 2 +- webcommon/cordova/manifest.mf | 2 +- webcommon/extbrowser.chrome/manifest.mf | 2 +- webcommon/html.angular/manifest.mf | 2 +- webcommon/html.knockout/manifest.mf | 2 +- webcommon/javascript.bower/manifest.mf | 2 +- webcommon/javascript.cdnjs/manifest.mf | 2 +- webcommon/javascript.cdtdebug.ui/nbproject/project.properties | 2 +- webcommon/javascript.cdtdebug/nbproject/project.properties | 2 +- webcommon/javascript.grunt/manifest.mf | 2 +- webcommon/javascript.gulp/manifest.mf | 2 +- webcommon/javascript.jstestdriver/manifest.mf | 2 +- webcommon/javascript.karma/manifest.mf | 2 +- webcommon/javascript.nodejs/manifest.mf | 2 +- webcommon/javascript.v8debug.ui/nbproject/project.properties | 2 +- webcommon/javascript.v8debug/nbproject/project.properties | 2 +- webcommon/javascript2.doc/manifest.mf | 2 +- webcommon/javascript2.editor/manifest.mf | 2 +- webcommon/javascript2.extdoc/manifest.mf | 2 +- webcommon/javascript2.extjs/manifest.mf | 2 +- webcommon/javascript2.html/manifest.mf | 2 +- webcommon/javascript2.jade/manifest.mf | 2 +- webcommon/javascript2.jquery/manifest.mf | 2 +- webcommon/javascript2.jsdoc/manifest.mf | 2 +- webcommon/javascript2.json/manifest.mf | 2 +- webcommon/javascript2.kit/manifest.mf | 2 +- webcommon/javascript2.knockout/manifest.mf | 2 +- webcommon/javascript2.lexer/manifest.mf | 2 +- webcommon/javascript2.model/manifest.mf | 2 +- webcommon/javascript2.nodejs/manifest.mf | 2 +- webcommon/javascript2.prototypejs/manifest.mf | 2 +- webcommon/javascript2.react/manifest.mf | 2 +- webcommon/javascript2.requirejs/manifest.mf | 2 +- webcommon/javascript2.sdoc/manifest.mf | 2 +- webcommon/javascript2.source.query/manifest.mf | 2 +- webcommon/javascript2.types/manifest.mf | 2 +- webcommon/languages.apacheconf/manifest.mf | 2 +- webcommon/languages.ini/manifest.mf | 2 +- webcommon/lib.chrome_devtools_protocol/manifest.mf | 2 +- webcommon/lib.v8debug/manifest.mf | 2 +- webcommon/libs.graaljs/manifest.mf | 2 +- webcommon/libs.jstestdriver/manifest.mf | 2 +- webcommon/libs.nashorn/manifest.mf | 2 +- webcommon/libs.plist/manifest.mf | 2 +- webcommon/netserver/manifest.mf | 2 +- webcommon/selenium2.webclient.mocha/manifest.mf | 2 +- webcommon/selenium2.webclient.protractor/manifest.mf | 2 +- webcommon/selenium2.webclient/manifest.mf | 2 +- webcommon/typescript.editor/manifest.mf | 2 +- webcommon/web.client.kit/manifest.mf | 2 +- webcommon/web.client.samples/manifest.mf | 2 +- webcommon/web.clientproject.api/manifest.mf | 2 +- webcommon/web.clientproject/manifest.mf | 2 +- webcommon/web.inspect/manifest.mf | 2 +- webcommon/web.javascript.debugger/manifest.mf | 2 +- webcommon/web.webkit.tooling/manifest.mf | 2 +- websvccommon/websvc.jaxwsmodelapi/manifest.mf | 2 +- websvccommon/websvc.saas.api/manifest.mf | 2 +- websvccommon/websvc.saas.codegen/manifest.mf | 2 +- websvccommon/websvc.saas.kit/manifest.mf | 2 +- websvccommon/websvc.saas.ui/manifest.mf | 2 +- 804 files changed, 806 insertions(+), 806 deletions(-) diff --git a/apisupport/apisupport.ant/manifest.mf b/apisupport/apisupport.ant/manifest.mf index 91e09bdfbdc8..d8ad9fb46b62 100644 --- a/apisupport/apisupport.ant/manifest.mf +++ b/apisupport/apisupport.ant/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.apisupport.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/project/Bundle.properties -OpenIDE-Module-Specification-Version: 2.98 +OpenIDE-Module-Specification-Version: 2.99 AutoUpdate-Show-In-Client: false OpenIDE-Module-Layer: org/netbeans/modules/apisupport/project/resources/layer.xml diff --git a/apisupport/apisupport.installer.maven/manifest.mf b/apisupport/apisupport.installer.maven/manifest.mf index 8ffa9129d304..aa2c2f97ea94 100644 --- a/apisupport/apisupport.installer.maven/manifest.mf +++ b/apisupport/apisupport.installer.maven/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.apisupport.installer.maven OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/installer/maven/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/apisupport/apisupport.installer/manifest.mf b/apisupport/apisupport.installer/manifest.mf index ebd6287366e8..c3e068ca6a67 100644 --- a/apisupport/apisupport.installer/manifest.mf +++ b/apisupport/apisupport.installer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.apisupport.installer OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/installer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/apisupport/apisupport.kit/manifest.mf b/apisupport/apisupport.kit/manifest.mf index 732dea9169b4..b3562b070877 100644 --- a/apisupport/apisupport.kit/manifest.mf +++ b/apisupport/apisupport.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.apisupport.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 OpenIDE-Module-Provides: org.netbeans.modules.apisupport.kit diff --git a/apisupport/apisupport.project/manifest.mf b/apisupport/apisupport.project/manifest.mf index ca578473b9fb..625e7f68e01e 100644 --- a/apisupport/apisupport.project/manifest.mf +++ b/apisupport/apisupport.project/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/project/api/Bu OpenIDE-Module-Requires: javax.script.ScriptEngine.freemarker OpenIDE-Module-Layer: org/netbeans/modules/apisupport/project/ui/resources/layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.102 +OpenIDE-Module-Specification-Version: 1.103 diff --git a/apisupport/apisupport.refactoring/manifest.mf b/apisupport/apisupport.refactoring/manifest.mf index fa7873bfa3f0..b73186d83985 100644 --- a/apisupport/apisupport.refactoring/manifest.mf +++ b/apisupport/apisupport.refactoring/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.apisupport.refactoring OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/refactoring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 diff --git a/apisupport/apisupport.wizards/manifest.mf b/apisupport/apisupport.wizards/manifest.mf index 72242032354b..e14fa8cc27aa 100644 --- a/apisupport/apisupport.wizards/manifest.mf +++ b/apisupport/apisupport.wizards/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.apisupport.wizards OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/project/ui/wizard/common/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/apisupport/project/ui/wizard/common/layer.xml -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/apisupport/maven.apisupport/manifest.mf b/apisupport/maven.apisupport/manifest.mf index 9c3a2e42a359..8d8a6936f6dd 100644 --- a/apisupport/maven.apisupport/manifest.mf +++ b/apisupport/maven.apisupport/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.apisupport/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/apisupport/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.85 +OpenIDE-Module-Specification-Version: 1.86 diff --git a/apisupport/timers/manifest.mf b/apisupport/timers/manifest.mf index f6440d98df2c..b8b30ad1faa2 100644 --- a/apisupport/timers/manifest.mf +++ b/apisupport/timers/manifest.mf @@ -3,6 +3,6 @@ OpenIDE-Module: org.netbeans.modules.timers/1 OpenIDE-Module-Layer: org/netbeans/modules/timers/resources/layer.xml OpenIDE-Module-Install: org/netbeans/modules/timers/Install.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/timers/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: true diff --git a/cpplite/cpplite.debugger/manifest.mf b/cpplite/cpplite.debugger/manifest.mf index 6c1481f7fa5e..4bc9c18414a3 100644 --- a/cpplite/cpplite.debugger/manifest.mf +++ b/cpplite/cpplite.debugger/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cpplite.debugger OpenIDE-Module-Layer: org/netbeans/modules/cpplite/debugger/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cpplite/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 1.18 +OpenIDE-Module-Specification-Version: 1.19 diff --git a/cpplite/cpplite.editor/manifest.mf b/cpplite/cpplite.editor/manifest.mf index f7217b1eaa7b..483044adc1f1 100644 --- a/cpplite/cpplite.editor/manifest.mf +++ b/cpplite/cpplite.editor/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cpplite.editor OpenIDE-Module-Layer: org/netbeans/modules/cpplite/editor/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cpplite/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.17 +OpenIDE-Module-Specification-Version: 1.18 diff --git a/cpplite/cpplite.kit/manifest.mf b/cpplite/cpplite.kit/manifest.mf index 727320821958..b46be180acfe 100644 --- a/cpplite/cpplite.kit/manifest.mf +++ b/cpplite/cpplite.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.cpplite.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cpplite/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.17 +OpenIDE-Module-Specification-Version: 1.18 diff --git a/cpplite/cpplite.project/manifest.mf b/cpplite/cpplite.project/manifest.mf index 7a007bd781f6..2ce0de82b177 100644 --- a/cpplite/cpplite.project/manifest.mf +++ b/cpplite/cpplite.project/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cpplite.project OpenIDE-Module-Layer: org/netbeans/modules/cpplite/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cpplite/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.17 +OpenIDE-Module-Specification-Version: 1.18 diff --git a/enterprise/api.web.webmodule/manifest.mf b/enterprise/api.web.webmodule/manifest.mf index 5975312711cd..8d59861611c0 100644 --- a/enterprise/api.web.webmodule/manifest.mf +++ b/enterprise/api.web.webmodule/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.web.webmodule -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 OpenIDE-Module-Layer: org/netbeans/modules/web/webmodule/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/webmodule/Bundle.properties diff --git a/enterprise/cloud.amazon/manifest.mf b/enterprise/cloud.amazon/manifest.mf index 335657d3a2d4..1946c0db789d 100644 --- a/enterprise/cloud.amazon/manifest.mf +++ b/enterprise/cloud.amazon/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.cloud.amazon/0 OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cloud/amazon/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/cloud/amazon/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 diff --git a/enterprise/cloud.common/manifest.mf b/enterprise/cloud.common/manifest.mf index bf35b4921a46..dcef98791168 100644 --- a/enterprise/cloud.common/manifest.mf +++ b/enterprise/cloud.common/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cloud.common OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cloud/common/Bundle.properties -OpenIDE-Module-Specification-Version: 1.37 +OpenIDE-Module-Specification-Version: 1.38 diff --git a/enterprise/cloud.oracle/manifest.mf b/enterprise/cloud.oracle/manifest.mf index 356c13b0211d..fcc6383312cf 100644 --- a/enterprise/cloud.oracle/manifest.mf +++ b/enterprise/cloud.oracle/manifest.mf @@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.cloud.oracle OpenIDE-Module-Layer: org/netbeans/modules/cloud/oracle/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cloud/oracle/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 1.12 +OpenIDE-Module-Specification-Version: 1.13 OpenIDE-Module-Display-Category: Cloud diff --git a/enterprise/el.lexer/manifest.mf b/enterprise/el.lexer/manifest.mf index 2148851476a5..534475314fb8 100644 --- a/enterprise/el.lexer/manifest.mf +++ b/enterprise/el.lexer/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.el.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/el/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 OpenIDE-Module-Layer: org/netbeans/modules/el/lexer/resources/layer.xml diff --git a/enterprise/glassfish.common/manifest.mf b/enterprise/glassfish.common/manifest.mf index c0b973f533fe..3ea86c4155aa 100644 --- a/enterprise/glassfish.common/manifest.mf +++ b/enterprise/glassfish.common/manifest.mf @@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.glassfish.common/0 OpenIDE-Module-Install: org/netbeans/modules/glassfish/common/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/glassfish/common/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/common/Bundle.properties -OpenIDE-Module-Specification-Version: 1.100 +OpenIDE-Module-Specification-Version: 1.101 OpenIDE-Module-Provides: org.netbeans.modules.glassfish.common diff --git a/enterprise/glassfish.eecommon/nbproject/project.properties b/enterprise/glassfish.eecommon/nbproject/project.properties index 68738021cc08..6a1889818ca8 100644 --- a/enterprise/glassfish.eecommon/nbproject/project.properties +++ b/enterprise/glassfish.eecommon/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.release=11 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.63.0 +spec.version.base=1.64.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/enterprise/glassfish.javaee/manifest.mf b/enterprise/glassfish.javaee/manifest.mf index b17e89004c58..2b9484c92f9a 100644 --- a/enterprise/glassfish.javaee/manifest.mf +++ b/enterprise/glassfish.javaee/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.glassfish.javaee/0 OpenIDE-Module-Layer: org/netbeans/modules/glassfish/javaee/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/javaee/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 diff --git a/enterprise/glassfish.tooling/manifest.mf b/enterprise/glassfish.tooling/manifest.mf index a7f98fa80aa9..3d67b78cf263 100644 --- a/enterprise/glassfish.tooling/manifest.mf +++ b/enterprise/glassfish.tooling/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.glassfish.tooling/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/glassfish/tooling/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 diff --git a/enterprise/gradle.javaee/manifest.mf b/enterprise/gradle.javaee/manifest.mf index da8740e75d09..5ac5f6b60ade 100644 --- a/enterprise/gradle.javaee/manifest.mf +++ b/enterprise/gradle.javaee/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.gradle.javaee OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/javaee/Bundle.properties -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 diff --git a/enterprise/j2ee.ant/nbproject/project.properties b/enterprise/j2ee.ant/nbproject/project.properties index 7a55bf96ded1..7e3719e4dc8e 100644 --- a/enterprise/j2ee.ant/nbproject/project.properties +++ b/enterprise/j2ee.ant/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. ant.jar=${ant.core.lib} -spec.version.base=1.60.0 +spec.version.base=1.61.0 diff --git a/enterprise/j2ee.api.ejbmodule/manifest.mf b/enterprise/j2ee.api.ejbmodule/manifest.mf index b6ad342f1b7a..0e98a5f6d04b 100644 --- a/enterprise/j2ee.api.ejbmodule/manifest.mf +++ b/enterprise/j2ee.api.ejbmodule/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.api.ejbmodule -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbjar/Bundle.properties diff --git a/enterprise/j2ee.clientproject/nbproject/project.properties b/enterprise/j2ee.clientproject/nbproject/project.properties index 02138d388c0c..208c1feb98a8 100644 --- a/enterprise/j2ee.clientproject/nbproject/project.properties +++ b/enterprise/j2ee.clientproject/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -spec.version.base=1.72.0 +spec.version.base=1.73.0 javadoc.arch=${basedir}/arch.xml javadoc.preview=true javac.compilerargs=-Xlint -Xlint:-serial diff --git a/enterprise/j2ee.common/manifest.mf b/enterprise/j2ee.common/manifest.mf index 5ac8916c1399..c252ae410ffa 100644 --- a/enterprise/j2ee.common/manifest.mf +++ b/enterprise/j2ee.common/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.common/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/common/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.129 +OpenIDE-Module-Specification-Version: 1.130 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.core/manifest.mf b/enterprise/j2ee.core/manifest.mf index a403ecd7646e..c2e90a6750ce 100644 --- a/enterprise/j2ee.core/manifest.mf +++ b/enterprise/j2ee.core/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.core/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/core/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.dd.webservice/manifest.mf b/enterprise/j2ee.dd.webservice/manifest.mf index 71fb1ebf7959..5ee95d5483f8 100644 --- a/enterprise/j2ee.dd.webservice/manifest.mf +++ b/enterprise/j2ee.dd.webservice/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.dd.webservice OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/dd/webservice/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/enterprise/j2ee.dd/nbproject/project.properties b/enterprise/j2ee.dd/nbproject/project.properties index e41a8141a359..68b16aa7c4cf 100644 --- a/enterprise/j2ee.dd/nbproject/project.properties +++ b/enterprise/j2ee.dd/nbproject/project.properties @@ -18,7 +18,7 @@ javac.compilerargs=-Xlint:all -Xlint:-serial javac.source=1.8 javac.fork=true -spec.version.base=1.66.0 +spec.version.base=1.67.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/enterprise/j2ee.ddloaders/nbproject/project.properties b/enterprise/j2ee.ddloaders/nbproject/project.properties index 30049f132dd7..7ffb5a070e2d 100644 --- a/enterprise/j2ee.ddloaders/nbproject/project.properties +++ b/enterprise/j2ee.ddloaders/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:all -Xlint:-serial javac.source=1.8 -spec.version.base=1.63.0 +spec.version.base=1.64.0 javadoc.arch=${basedir}/arch.xml diff --git a/enterprise/j2ee.earproject/manifest.mf b/enterprise/j2ee.earproject/manifest.mf index 191c4e7b8640..36459f555330 100644 --- a/enterprise/j2ee.earproject/manifest.mf +++ b/enterprise/j2ee.earproject/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.earproject OpenIDE-Module-Layer: org/netbeans/modules/j2ee/earproject/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/earproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.77 +OpenIDE-Module-Specification-Version: 1.78 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.ejbcore/manifest.mf b/enterprise/j2ee.ejbcore/manifest.mf index 7212b54eac4f..305338cbc4eb 100644 --- a/enterprise/j2ee.ejbcore/manifest.mf +++ b/enterprise/j2ee.ejbcore/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.j2ee.ejbcore OpenIDE-Module-Layer: org/netbeans/modules/j2ee/ejbcore/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbcore/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.77 +OpenIDE-Module-Specification-Version: 1.78 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.ejbjarproject/manifest.mf b/enterprise/j2ee.ejbjarproject/manifest.mf index 898ac5558d0a..7949b0cc01a2 100644 --- a/enterprise/j2ee.ejbjarproject/manifest.mf +++ b/enterprise/j2ee.ejbjarproject/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.ejbjarproject OpenIDE-Module-Layer: org/netbeans/modules/j2ee/ejbjarproject/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbjarproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.79 +OpenIDE-Module-Specification-Version: 1.80 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.ejbrefactoring/manifest.mf b/enterprise/j2ee.ejbrefactoring/manifest.mf index 6792648c34e5..8a5d4da907dc 100644 --- a/enterprise/j2ee.ejbrefactoring/manifest.mf +++ b/enterprise/j2ee.ejbrefactoring/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.ejbrefactoring OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbrefactoring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.ejbverification/manifest.mf b/enterprise/j2ee.ejbverification/manifest.mf index 0333e33d57c3..ea9e7918891a 100644 --- a/enterprise/j2ee.ejbverification/manifest.mf +++ b/enterprise/j2ee.ejbverification/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.ejbverification OpenIDE-Module-Layer: org/netbeans/modules/j2ee/ejbverification/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/ejbverification/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.genericserver/manifest.mf b/enterprise/j2ee.genericserver/manifest.mf index 727e6af46143..0a3d7fb81967 100644 --- a/enterprise/j2ee.genericserver/manifest.mf +++ b/enterprise/j2ee.genericserver/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.genericserver -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/genericserver/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/j2ee/genericserver/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.kit/manifest.mf b/enterprise/j2ee.kit/manifest.mf index 24bd6ae59fff..4ddffdf13b6f 100644 --- a/enterprise/j2ee.kit/manifest.mf +++ b/enterprise/j2ee.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 OpenIDE-Module-Recommends: jakartaee10.api, jakartaee10.platform diff --git a/enterprise/j2ee.platform/manifest.mf b/enterprise/j2ee.platform/manifest.mf index 419275a6af5f..3710e0369fa7 100644 --- a/enterprise/j2ee.platform/manifest.mf +++ b/enterprise/j2ee.platform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.platform/1 -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/platform/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/j2ee.sun.appsrv/nbproject/project.properties b/enterprise/j2ee.sun.appsrv/nbproject/project.properties index 61615ad55055..7420e49373ef 100644 --- a/enterprise/j2ee.sun.appsrv/nbproject/project.properties +++ b/enterprise/j2ee.sun.appsrv/nbproject/project.properties @@ -17,6 +17,6 @@ javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.61.0 +spec.version.base=1.62.0 test.config.stableBTD.includes=**/*Test.class diff --git a/enterprise/j2ee.sun.dd/nbproject/project.properties b/enterprise/j2ee.sun.dd/nbproject/project.properties index 24aa78e53ce6..c5254eba8bc5 100644 --- a/enterprise/j2ee.sun.dd/nbproject/project.properties +++ b/enterprise/j2ee.sun.dd/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. is.autoload=true -spec.version.base=1.59.0 +spec.version.base=1.60.0 javac.source=1.8 diff --git a/enterprise/j2ee.sun.ddui/nbproject/project.properties b/enterprise/j2ee.sun.ddui/nbproject/project.properties index 55e7893c3306..9e2a0ae416af 100644 --- a/enterprise/j2ee.sun.ddui/nbproject/project.properties +++ b/enterprise/j2ee.sun.ddui/nbproject/project.properties @@ -19,6 +19,6 @@ javac.source=1.8 ###is.autoload=true javadoc.arch=${basedir}/arch.xml -spec.version.base=1.62.0 +spec.version.base=1.63.0 test.config.stableBTD.includes=**/*Test.class diff --git a/enterprise/j2eeapis/manifest.mf b/enterprise/j2eeapis/manifest.mf index c811c07831cc..580f38417195 100644 --- a/enterprise/j2eeapis/manifest.mf +++ b/enterprise/j2eeapis/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2eeapis/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2eeapis/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/enterprise/j2eeserver/nbproject/project.properties b/enterprise/j2eeserver/nbproject/project.properties index 2037ed057f48..b845bb1cb7b6 100644 --- a/enterprise/j2eeserver/nbproject/project.properties +++ b/enterprise/j2eeserver/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.137.0 +spec.version.base=1.138.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/enterprise/jakarta.transformer/manifest.mf b/enterprise/jakarta.transformer/manifest.mf index 7cad12261554..4a2e9382b00e 100644 --- a/enterprise/jakarta.transformer/manifest.mf +++ b/enterprise/jakarta.transformer/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.jakarta.transformer/0 OpenIDE-Module-Layer: org/netbeans/modules/fish/payara/jakarta/transformer/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/fish/payara/jakarta/transformer/Bundle.properties AutoUpdate-Show-In-Client: true -OpenIDE-Module-Specification-Version: 2.20 +OpenIDE-Module-Specification-Version: 2.21 diff --git a/enterprise/jakarta.web.beans/manifest.mf b/enterprise/jakarta.web.beans/manifest.mf index a4fe2f5570eb..0ca7ffc5c649 100644 --- a/enterprise/jakarta.web.beans/manifest.mf +++ b/enterprise/jakarta.web.beans/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakarta.web.beans/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakarta/web/beans/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/jakarta/web/beans/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.45 +OpenIDE-Module-Specification-Version: 2.46 AutoUpdate-Show-In-Client: false diff --git a/enterprise/jakartaee10.api/manifest.mf b/enterprise/jakartaee10.api/manifest.mf index a75090aca2f5..1e30e430bc2c 100644 --- a/enterprise/jakartaee10.api/manifest.mf +++ b/enterprise/jakartaee10.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jakartaee10.api OpenIDE-Module-Layer: org/netbeans/modules/jakartaee10/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee10/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 OpenIDE-Module-Provides: jakartaee10.api diff --git a/enterprise/jakartaee10.platform/manifest.mf b/enterprise/jakartaee10.platform/manifest.mf index 26a35c130374..e15bac11e85a 100644 --- a/enterprise/jakartaee10.platform/manifest.mf +++ b/enterprise/jakartaee10.platform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakartaee10.platform/1 -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee10/platform/Bundle.properties AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: jakartaee10.platform diff --git a/enterprise/jakartaee11.api/manifest.mf b/enterprise/jakartaee11.api/manifest.mf index bc0a5fc37bf9..22112e1238d2 100644 --- a/enterprise/jakartaee11.api/manifest.mf +++ b/enterprise/jakartaee11.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jakartaee11.api OpenIDE-Module-Layer: org/netbeans/modules/jakartaee11/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee11/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 OpenIDE-Module-Provides: jakartaee11.api diff --git a/enterprise/jakartaee11.platform/manifest.mf b/enterprise/jakartaee11.platform/manifest.mf index 2d06420b4ee1..f6bba842b119 100644 --- a/enterprise/jakartaee11.platform/manifest.mf +++ b/enterprise/jakartaee11.platform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakartaee11.platform/1 -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee11/platform/Bundle.properties AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: jakartaee11.platform diff --git a/enterprise/jakartaee8.api/manifest.mf b/enterprise/jakartaee8.api/manifest.mf index aafe606008a4..9a9ef65c336f 100644 --- a/enterprise/jakartaee8.api/manifest.mf +++ b/enterprise/jakartaee8.api/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jakartaee8.api OpenIDE-Module-Layer: org/netbeans/modules/jakartaee8/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee8/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 diff --git a/enterprise/jakartaee8.platform/manifest.mf b/enterprise/jakartaee8.platform/manifest.mf index 93a3239c9a26..74012583436e 100644 --- a/enterprise/jakartaee8.platform/manifest.mf +++ b/enterprise/jakartaee8.platform/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakartaee8.platform/1 -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee8/platform/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/jakartaee9.api/manifest.mf b/enterprise/jakartaee9.api/manifest.mf index e8ec202a3fe9..ac1656cb383b 100644 --- a/enterprise/jakartaee9.api/manifest.mf +++ b/enterprise/jakartaee9.api/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jakartaee9.api OpenIDE-Module-Layer: org/netbeans/modules/jakartaee9/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee9/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/enterprise/jakartaee9.platform/manifest.mf b/enterprise/jakartaee9.platform/manifest.mf index 202535609681..f7d1eaee0c3e 100644 --- a/enterprise/jakartaee9.platform/manifest.mf +++ b/enterprise/jakartaee9.platform/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jakartaee9.platform/1 -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakartaee9/platform/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/javaee.api/manifest.mf b/enterprise/javaee.api/manifest.mf index e1a5782e07ca..61c84cafd61d 100644 --- a/enterprise/javaee.api/manifest.mf +++ b/enterprise/javaee.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javaee.api OpenIDE-Module-Layer: org/netbeans/modules/javaee/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/enterprise/javaee.beanvalidation/manifest.mf b/enterprise/javaee.beanvalidation/manifest.mf index 3d2e2107cfec..1f1a3d32aecb 100644 --- a/enterprise/javaee.beanvalidation/manifest.mf +++ b/enterprise/javaee.beanvalidation/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javaee.beanvalidation OpenIDE-Module-Layer: org/netbeans/modules/javaee/beanvalidation/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/beanvalidation/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.45 +OpenIDE-Module-Specification-Version: 1.46 diff --git a/enterprise/javaee.project/manifest.mf b/enterprise/javaee.project/manifest.mf index d4c6631347fd..d2db1ef56552 100644 --- a/enterprise/javaee.project/manifest.mf +++ b/enterprise/javaee.project/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javaee.project OpenIDE-Module-Layer: org/netbeans/modules/javaee/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.45 +OpenIDE-Module-Specification-Version: 1.46 AutoUpdate-Show-In-Client: false diff --git a/enterprise/javaee.resources/manifest.mf b/enterprise/javaee.resources/manifest.mf index ea27cd588956..1ee9566a52b3 100644 --- a/enterprise/javaee.resources/manifest.mf +++ b/enterprise/javaee.resources/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javaee.resources OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/resources/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 diff --git a/enterprise/javaee.specs.support/manifest.mf b/enterprise/javaee.specs.support/manifest.mf index 5756646441a7..6b86635ec7c1 100644 --- a/enterprise/javaee.specs.support/manifest.mf +++ b/enterprise/javaee.specs.support/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javaee.specs.support/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/specs/support/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 diff --git a/enterprise/javaee.wildfly/manifest.mf b/enterprise/javaee.wildfly/manifest.mf index 0d016ca636a6..145f40d392c9 100644 --- a/enterprise/javaee.wildfly/manifest.mf +++ b/enterprise/javaee.wildfly/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.modules.javaee.wildfly/1 OpenIDE-Module-Layer: org/netbeans/modules/javaee/wildfly/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/wildfly/resources/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 2.18 +OpenIDE-Module-Specification-Version: 2.19 diff --git a/enterprise/javaee7.api/manifest.mf b/enterprise/javaee7.api/manifest.mf index 464cbcdcbb65..8eb724d4b2b6 100644 --- a/enterprise/javaee7.api/manifest.mf +++ b/enterprise/javaee7.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javaee7.api OpenIDE-Module-Layer: org/netbeans/modules/javaee7/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee7/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.30 +OpenIDE-Module-Specification-Version: 1.31 diff --git a/enterprise/javaee8.api/manifest.mf b/enterprise/javaee8.api/manifest.mf index 659422beae4f..16b3d85de118 100644 --- a/enterprise/javaee8.api/manifest.mf +++ b/enterprise/javaee8.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javaee8.api OpenIDE-Module-Layer: org/netbeans/modules/javaee8/api/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee8/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/enterprise/jellytools.enterprise/manifest.mf b/enterprise/jellytools.enterprise/manifest.mf index 56f5ec02dcdc..833853dd1ccd 100644 --- a/enterprise/jellytools.enterprise/manifest.mf +++ b/enterprise/jellytools.enterprise/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jellytools.enterprise/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jellytools/enterprise/Bundle.properties -OpenIDE-Module-Specification-Version: 3.52 +OpenIDE-Module-Specification-Version: 3.53 diff --git a/enterprise/jsp.lexer/manifest.mf b/enterprise/jsp.lexer/manifest.mf index a514dbe8008e..01357bd1e6e9 100644 --- a/enterprise/jsp.lexer/manifest.mf +++ b/enterprise/jsp.lexer/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.jsp.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/jsp/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 OpenIDE-Module-Layer: org/netbeans/lib/jsp/lexer/layer.xml diff --git a/enterprise/libs.amazon/manifest.mf b/enterprise/libs.amazon/manifest.mf index e055356c5d71..dfc4a87b629a 100644 --- a/enterprise/libs.amazon/manifest.mf +++ b/enterprise/libs.amazon/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.amazon/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/amazon/Bundle.properties -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 diff --git a/enterprise/libs.commons_fileupload/manifest.mf b/enterprise/libs.commons_fileupload/manifest.mf index ea60a5378dbc..51a4c3f3e254 100644 --- a/enterprise/libs.commons_fileupload/manifest.mf +++ b/enterprise/libs.commons_fileupload/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.commons_fileupload/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/commons_fileupload/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/enterprise/libs.elimpl/nbproject/project.properties b/enterprise/libs.elimpl/nbproject/project.properties index 81e5e1ced694..1459b0e7f08e 100644 --- a/enterprise/libs.elimpl/nbproject/project.properties +++ b/enterprise/libs.elimpl/nbproject/project.properties @@ -20,6 +20,6 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 javadoc.arch=${basedir}/arch.xml release.external/el-impl-3.0-b07.jar=modules/ext/el-impl.jar -spec.version.base=1.45.0 +spec.version.base=1.46.0 sigtest.gen.fail.on.error=false diff --git a/enterprise/libs.fabric8/manifest.mf b/enterprise/libs.fabric8/manifest.mf index 466e71132963..2ef445250045 100644 --- a/enterprise/libs.fabric8/manifest.mf +++ b/enterprise/libs.fabric8/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.fabric8/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/fabric8/Bundle.properties -OpenIDE-Module-Specification-Version: 1.0 +OpenIDE-Module-Specification-Version: 1.1 diff --git a/enterprise/libs.glassfish_logging/nbproject/project.properties b/enterprise/libs.glassfish_logging/nbproject/project.properties index 43f474270fd1..23509cb35e1e 100644 --- a/enterprise/libs.glassfish_logging/nbproject/project.properties +++ b/enterprise/libs.glassfish_logging/nbproject/project.properties @@ -19,4 +19,4 @@ is.autoload=true javac.source=1.8 release.external/logging-api-1.0.4.jar=modules/ext/logging-api-1.0.4.jar -spec.version.base=1.51.0 +spec.version.base=1.52.0 diff --git a/enterprise/libs.jackson/manifest.mf b/enterprise/libs.jackson/manifest.mf index b8f26c143ced..cb66503082c3 100644 --- a/enterprise/libs.jackson/manifest.mf +++ b/enterprise/libs.jackson/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jackson/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jackson/Bundle.properties -OpenIDE-Module-Specification-Version: 2.25 +OpenIDE-Module-Specification-Version: 2.26 OpenIDE-Module-Recommends: org.netbeans.libs.snakeyaml_engine diff --git a/enterprise/libs.jstl/nbproject/project.properties b/enterprise/libs.jstl/nbproject/project.properties index 1201fe8556e8..2638c413e3b4 100644 --- a/enterprise/libs.jstl/nbproject/project.properties +++ b/enterprise/libs.jstl/nbproject/project.properties @@ -20,4 +20,4 @@ javac.source=1.8 release.external/jakarta.servlet.jsp.jstl-api-1.2.7.jar=modules/ext/jstl-api.jar release.external/jakarta.servlet.jsp.jstl-1.2.6.jar=modules/ext/jstl-impl.jar -spec.version.base=2.60.0 +spec.version.base=2.61.0 diff --git a/enterprise/maven.j2ee/manifest.mf b/enterprise/maven.j2ee/manifest.mf index 712b5f730b57..d1cb2ba727e6 100644 --- a/enterprise/maven.j2ee/manifest.mf +++ b/enterprise/maven.j2ee/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.modules.maven.j2ee/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/j2ee/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/maven/j2ee/layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.87 +OpenIDE-Module-Specification-Version: 1.88 diff --git a/enterprise/maven.jaxws/manifest.mf b/enterprise/maven.jaxws/manifest.mf index 466fbef1e641..c59ae1ea75a3 100644 --- a/enterprise/maven.jaxws/manifest.mf +++ b/enterprise/maven.jaxws/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.jaxws OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/jaxws/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/enterprise/micronaut/nbproject/project.properties b/enterprise/micronaut/nbproject/project.properties index a5be14c4d579..f35467d14f60 100644 --- a/enterprise/micronaut/nbproject/project.properties +++ b/enterprise/micronaut/nbproject/project.properties @@ -19,7 +19,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial release.external/spring-boot-configuration-metadata-2.4.4.jar=modules/ext/spring-boot-configuration-metadata-2.4.4.jar release.external/android-json-0.0.20131108.vaadin1.jar=modules/ext/android-json-0.0.20131108.vaadin1.jar -spec.version.base=1.15.0 +spec.version.base=1.16.0 requires.nb.javac=true test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test.unit.cp.extra=${tools.jar} diff --git a/enterprise/payara.common/manifest.mf b/enterprise/payara.common/manifest.mf index 3689ff8c27da..5b1f50f0fe75 100644 --- a/enterprise/payara.common/manifest.mf +++ b/enterprise/payara.common/manifest.mf @@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.payara.common/0 OpenIDE-Module-Install: org/netbeans/modules/payara/common/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/payara/common/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/payara/common/Bundle.properties -OpenIDE-Module-Specification-Version: 2.21 +OpenIDE-Module-Specification-Version: 2.22 OpenIDE-Module-Provides: org.netbeans.modules.payara.common diff --git a/enterprise/payara.eecommon/nbproject/project.properties b/enterprise/payara.eecommon/nbproject/project.properties index 18049be82291..58cca88e5880 100644 --- a/enterprise/payara.eecommon/nbproject/project.properties +++ b/enterprise/payara.eecommon/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.22.0 +spec.version.base=2.23.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/enterprise/payara.jakartaee/manifest.mf b/enterprise/payara.jakartaee/manifest.mf index e4bc9bbf86ec..3ad61ec39dc8 100644 --- a/enterprise/payara.jakartaee/manifest.mf +++ b/enterprise/payara.jakartaee/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.payara.jakartaee/0 OpenIDE-Module-Layer: org/netbeans/modules/payara/jakartaee/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/payara/jakartaee/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 2.21 +OpenIDE-Module-Specification-Version: 2.22 diff --git a/enterprise/payara.micro/manifest.mf b/enterprise/payara.micro/manifest.mf index a40277cb5088..1d8e968a8d7e 100644 --- a/enterprise/payara.micro/manifest.mf +++ b/enterprise/payara.micro/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.payara.micro/0 OpenIDE-Module-Layer: org/netbeans/modules/fish/payara/micro/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/fish/payara/micro/Bundle.properties -OpenIDE-Module-Specification-Version: 2.21 +OpenIDE-Module-Specification-Version: 2.22 diff --git a/enterprise/payara.tooling/manifest.mf b/enterprise/payara.tooling/manifest.mf index a64c5768255e..dcc468a2af8b 100644 --- a/enterprise/payara.tooling/manifest.mf +++ b/enterprise/payara.tooling/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.payara.tooling/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/payara/tooling/Bundle.properties -OpenIDE-Module-Specification-Version: 2.21 +OpenIDE-Module-Specification-Version: 2.22 diff --git a/enterprise/profiler.j2ee/manifest.mf b/enterprise/profiler.j2ee/manifest.mf index 19dba07bf5e0..6cd31dc1082a 100644 --- a/enterprise/profiler.j2ee/manifest.mf +++ b/enterprise/profiler.j2ee/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.j2ee/1 OpenIDE-Module-Layer: org/netbeans/modules/profiler/j2ee/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/j2ee/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/enterprise/projectimport.eclipse.web/nbproject/project.properties b/enterprise/projectimport.eclipse.web/nbproject/project.properties index fbdb50d66150..2ed67dfa310d 100644 --- a/enterprise/projectimport.eclipse.web/nbproject/project.properties +++ b/enterprise/projectimport.eclipse.web/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.50.0 +spec.version.base=1.51.0 diff --git a/enterprise/servletjspapi/nbproject/project.properties b/enterprise/servletjspapi/nbproject/project.properties index 485bf7b6a517..aee3f028897f 100644 --- a/enterprise/servletjspapi/nbproject/project.properties +++ b/enterprise/servletjspapi/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.56.0 +spec.version.base=1.57.0 release.external/generated-servlet-jsp-api-4.0_2.3.jar=modules/ext/servlet4.0-jsp2.3-api.jar extra.module.files=modules/ext/servlet4.0-jsp2.3-api.jar diff --git a/enterprise/spring.webmvc/manifest.mf b/enterprise/spring.webmvc/manifest.mf index ccdd5723c303..719f02a24d49 100644 --- a/enterprise/spring.webmvc/manifest.mf +++ b/enterprise/spring.webmvc/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spring.webmvc OpenIDE-Module-Layer: org/netbeans/modules/spring/webmvc/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spring/webmvc/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module-Provides: org.netbeans.modules.web.project.framework diff --git a/enterprise/tomcat5/manifest.mf b/enterprise/tomcat5/manifest.mf index 2522e35d8bdb..c974afcbcec9 100644 --- a/enterprise/tomcat5/manifest.mf +++ b/enterprise/tomcat5/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.tomcat5/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/tomcat5/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/tomcat5/resources/layer.xml OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 diff --git a/enterprise/web.beans/manifest.mf b/enterprise/web.beans/manifest.mf index 72fc0c0c3ebd..596f845e59b5 100644 --- a/enterprise/web.beans/manifest.mf +++ b/enterprise/web.beans/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.beans/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/beans/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/beans/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.45 +OpenIDE-Module-Specification-Version: 2.46 AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.bootsfaces/manifest.mf b/enterprise/web.bootsfaces/manifest.mf index 6461d5d1b53d..fe9c1004a74c 100644 --- a/enterprise/web.bootsfaces/manifest.mf +++ b/enterprise/web.bootsfaces/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.bootsfaces OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/bootsfaces/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.97 +OpenIDE-Module-Specification-Version: 1.98 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.web.jsf.complib diff --git a/enterprise/web.client.rest/manifest.mf b/enterprise/web.client.rest/manifest.mf index c14772c8192b..e284a43af7ce 100644 --- a/enterprise/web.client.rest/manifest.mf +++ b/enterprise/web.client.rest/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.client.rest OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/client/rest/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 OpenIDE-Module-Layer: org/netbeans/modules/web/client/rest/layer.xml diff --git a/enterprise/web.core.syntax/nbproject/project.properties b/enterprise/web.core.syntax/nbproject/project.properties index fcf5385632a7..6bc389681ab5 100644 --- a/enterprise/web.core.syntax/nbproject/project.properties +++ b/enterprise/web.core.syntax/nbproject/project.properties @@ -25,7 +25,7 @@ javac.source=1.8 requires.nb.javac=true javadoc.arch=${basedir}/arch.xml -spec.version.base=2.70.0 +spec.version.base=2.71.0 test.config.validation.includes=\ **/AutoCompletionTest.class,**/CompletionTest.class diff --git a/enterprise/web.core/nbproject/project.properties b/enterprise/web.core/nbproject/project.properties index 4fb066f63947..7fb29d389d96 100644 --- a/enterprise/web.core/nbproject/project.properties +++ b/enterprise/web.core/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=2.58.0 +spec.version.base=2.59.0 requires.nb.javac=true test.config.stableBTD.includes=**/*Test.class diff --git a/enterprise/web.debug/manifest.mf b/enterprise/web.debug/manifest.mf index c35b56a2e7a4..76bce398e71d 100644 --- a/enterprise/web.debug/manifest.mf +++ b/enterprise/web.debug/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.debug/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/debug/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/debug/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.62 +OpenIDE-Module-Specification-Version: 2.63 OpenIDE-Module-Requires: org.netbeans.spi.debugger.jpda.EditorContext, org.netbeans.modules.debugger.jpda.ui AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.el/manifest.mf b/enterprise/web.el/manifest.mf index 79336145b4b8..e0b860f96b95 100644 --- a/enterprise/web.el/manifest.mf +++ b/enterprise/web.el/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.el OpenIDE-Module-Layer: org/netbeans/modules/web/el/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/el/Bundle.properties -OpenIDE-Module-Specification-Version: 1.78 +OpenIDE-Module-Specification-Version: 1.79 diff --git a/enterprise/web.freeform/manifest.mf b/enterprise/web.freeform/manifest.mf index b79b0fa01311..6e9793370788 100644 --- a/enterprise/web.freeform/manifest.mf +++ b/enterprise/web.freeform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.freeform -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/freeform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/freeform/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.jsf.editor/manifest.mf b/enterprise/web.jsf.editor/manifest.mf index 61377fa18ec1..9ac0de9fecae 100644 --- a/enterprise/web.jsf.editor/manifest.mf +++ b/enterprise/web.jsf.editor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.editor OpenIDE-Module-Layer: org/netbeans/modules/web/jsf/editor/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/editor/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 2.5 +OpenIDE-Module-Specification-Version: 2.6 AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.jsf.icefaces/manifest.mf b/enterprise/web.jsf.icefaces/manifest.mf index 8df5fed2b83b..66fd6c56fe8c 100644 --- a/enterprise/web.jsf.icefaces/manifest.mf +++ b/enterprise/web.jsf.icefaces/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.icefaces OpenIDE-Module-Layer: org/netbeans/modules/web/jsf/icefaces/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/icefaces/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.web.jsf.complib diff --git a/enterprise/web.jsf.kit/manifest.mf b/enterprise/web.jsf.kit/manifest.mf index 8ce4cf8f77ec..61707cc03084 100644 --- a/enterprise/web.jsf.kit/manifest.mf +++ b/enterprise/web.jsf.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 OpenIDE-Module-Provides: org.netbeans.modules.web.project.framework diff --git a/enterprise/web.jsf.navigation/manifest.mf b/enterprise/web.jsf.navigation/manifest.mf index 5da5685cb340..d02c1c3a1233 100644 --- a/enterprise/web.jsf.navigation/manifest.mf +++ b/enterprise/web.jsf.navigation/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.navigation/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/navigation/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/jsf/navigation/mf-layer.xml -OpenIDE-Module-Specification-Version: 2.52 +OpenIDE-Module-Specification-Version: 2.53 AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.jsf.richfaces/manifest.mf b/enterprise/web.jsf.richfaces/manifest.mf index b85993f1a1d4..dccffd46cd0b 100644 --- a/enterprise/web.jsf.richfaces/manifest.mf +++ b/enterprise/web.jsf.richfaces/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jsf.richfaces OpenIDE-Module-Layer: org/netbeans/modules/web/jsf/richfaces/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsf/richfaces/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.web.jsf.complib diff --git a/enterprise/web.jsf/nbproject/project.properties b/enterprise/web.jsf/nbproject/project.properties index bb4aab6f1dcf..ba7c5f4f5c6a 100644 --- a/enterprise/web.jsf/nbproject/project.properties +++ b/enterprise/web.jsf/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=2.6.0 +spec.version.base=2.7.0 test.config.default.excludes=\ **/JSFEditorUtilitiesTest.class,\ diff --git a/enterprise/web.jsf20/nbproject/project.properties b/enterprise/web.jsf20/nbproject/project.properties index 547efc6e00f5..68886711bcd6 100644 --- a/enterprise/web.jsf20/nbproject/project.properties +++ b/enterprise/web.jsf20/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 release.external/javax.faces-2.3.9.jar=modules/ext/jsf-2_2/javax.faces.jar release.external/javax.faces-2.3.9-license.txt=modules/ext/jsf-2_2/license.txt -spec.version.base=1.59.0 +spec.version.base=1.60.0 # Old library with too broadly defined API - sigtest would give more noise than benefit # (legacy behavior of sigtest ignored subpackages) diff --git a/enterprise/web.jsfapi/manifest.mf b/enterprise/web.jsfapi/manifest.mf index 28d30d7bd65d..37667a13090c 100644 --- a/enterprise/web.jsfapi/manifest.mf +++ b/enterprise/web.jsfapi/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.jsfapi/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jsfapi/Bundle.properties -OpenIDE-Module-Specification-Version: 2.5 +OpenIDE-Module-Specification-Version: 2.6 diff --git a/enterprise/web.jspparser/manifest.mf b/enterprise/web.jspparser/manifest.mf index 2137175db944..2c4fd3c4f8aa 100644 --- a/enterprise/web.jspparser/manifest.mf +++ b/enterprise/web.jspparser/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.jspparser/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/jspparser/Bundle.properties -OpenIDE-Module-Specification-Version: 3.55 +OpenIDE-Module-Specification-Version: 3.56 OpenIDE-Module-Requires: org.openide.windows.IOProvider diff --git a/enterprise/web.kit/manifest.mf b/enterprise/web.kit/manifest.mf index 885ab9f5c5cf..119c9987aa58 100644 --- a/enterprise/web.kit/manifest.mf +++ b/enterprise/web.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 OpenIDE-Module-Recommends: org.netbeans.modules.web.project.framework diff --git a/enterprise/web.monitor/manifest.mf b/enterprise/web.monitor/manifest.mf index 067e1a535379..096bf3cdb7f5 100644 --- a/enterprise/web.monitor/manifest.mf +++ b/enterprise/web.monitor/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.monitor/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/monitor/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/web/monitor/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 OpenIDE-Module-Requires: org.openide.util.HttpServer$Impl AutoUpdate-Show-In-Client: false diff --git a/enterprise/web.primefaces/manifest.mf b/enterprise/web.primefaces/manifest.mf index 2131b87eac9b..d9f17ab3cb2f 100644 --- a/enterprise/web.primefaces/manifest.mf +++ b/enterprise/web.primefaces/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.primefaces OpenIDE-Module-Layer: org/netbeans/modules/web/primefaces/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/primefaces/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.98 +OpenIDE-Module-Specification-Version: 1.99 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.web.jsf.complib diff --git a/enterprise/web.project/nbproject/project.properties b/enterprise/web.project/nbproject/project.properties index 7635f2a50df9..0151a2e3cae8 100644 --- a/enterprise/web.project/nbproject/project.properties +++ b/enterprise/web.project/nbproject/project.properties @@ -31,7 +31,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml -spec.version.base=1.100.0 +spec.version.base=1.101.0 # needed for the TestUtil class test.unit.cp.extra= diff --git a/enterprise/web.refactoring/nbproject/project.properties b/enterprise/web.refactoring/nbproject/project.properties index e2987dc20ccb..296e5aa3ae43 100644 --- a/enterprise/web.refactoring/nbproject/project.properties +++ b/enterprise/web.refactoring/nbproject/project.properties @@ -17,4 +17,4 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.52.0 +spec.version.base=1.53.0 diff --git a/enterprise/weblogic.common/manifest.mf b/enterprise/weblogic.common/manifest.mf index 698e265e43c0..2a3523ac9aad 100644 --- a/enterprise/weblogic.common/manifest.mf +++ b/enterprise/weblogic.common/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.weblogic.common OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/weblogic/common/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/enterprise/websocket/manifest.mf b/enterprise/websocket/manifest.mf index f798db5feeab..cfcc4a0e9116 100644 --- a/enterprise/websocket/manifest.mf +++ b/enterprise/websocket/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websocket OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websocket/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/websocket/layer.xml -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.clientapi/manifest.mf b/enterprise/websvc.clientapi/manifest.mf index a99c97305ec9..03e6f14865c3 100644 --- a/enterprise/websvc.clientapi/manifest.mf +++ b/enterprise/websvc.clientapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.clientapi -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/client/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.core/nbproject/project.properties b/enterprise/websvc.core/nbproject/project.properties index 55323431a62d..c53d740035a8 100644 --- a/enterprise/websvc.core/nbproject/project.properties +++ b/enterprise/websvc.core/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.70.0 +spec.version.base=1.71.0 javadoc.arch=${basedir}/arch.xml diff --git a/enterprise/websvc.customization/nbproject/project.properties b/enterprise/websvc.customization/nbproject/project.properties index 12ca65473ced..740a0a4eb2a3 100644 --- a/enterprise/websvc.customization/nbproject/project.properties +++ b/enterprise/websvc.customization/nbproject/project.properties @@ -17,4 +17,4 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.52.0 +spec.version.base=1.53.0 diff --git a/enterprise/websvc.design/manifest.mf b/enterprise/websvc.design/manifest.mf index 6efde0f2c9f7..f27022812c27 100644 --- a/enterprise/websvc.design/manifest.mf +++ b/enterprise/websvc.design/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.design OpenIDE-Module-Layer: org/netbeans/modules/websvc/design/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/design/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.editor.hints/manifest.mf b/enterprise/websvc.editor.hints/manifest.mf index 918ba18bb411..62fecbab5eb1 100644 --- a/enterprise/websvc.editor.hints/manifest.mf +++ b/enterprise/websvc.editor.hints/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.editor.hints OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/editor/hints/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.jaxws.lightapi/manifest.mf b/enterprise/websvc.jaxws.lightapi/manifest.mf index 67f831aa75aa..d5e1ecd04e96 100644 --- a/enterprise/websvc.jaxws.lightapi/manifest.mf +++ b/enterprise/websvc.jaxws.lightapi/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxws.lightapi OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxws/light/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/enterprise/websvc.jaxwsapi/manifest.mf b/enterprise/websvc.jaxwsapi/manifest.mf index 39b2d4254741..7ef932bb7bfc 100644 --- a/enterprise/websvc.jaxwsapi/manifest.mf +++ b/enterprise/websvc.jaxwsapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxwsapi OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxws/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.jaxwsmodel/manifest.mf b/enterprise/websvc.jaxwsmodel/manifest.mf index c8d13048a75f..5efb6584ab96 100644 --- a/enterprise/websvc.jaxwsmodel/manifest.mf +++ b/enterprise/websvc.jaxwsmodel/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxwsmodel/1 OpenIDE-Module-Layer: org/netbeans/modules/websvc/jaxwsmodel/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxwsmodel/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.kit/manifest.mf b/enterprise/websvc.kit/manifest.mf index 2c3660aca181..683168bd2cbb 100644 --- a/enterprise/websvc.kit/manifest.mf +++ b/enterprise/websvc.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/enterprise/websvc.manager/manifest.mf b/enterprise/websvc.manager/manifest.mf index 71febc462ba9..05a4ca258397 100644 --- a/enterprise/websvc.manager/manifest.mf +++ b/enterprise/websvc.manager/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.websvc.manager OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/manager/Bundle.properties OpenIDE-Module-Install: org/netbeans/modules/websvc/manager/WebServiceModuleInstaller.class -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/enterprise/websvc.metro.lib/manifest.mf b/enterprise/websvc.metro.lib/manifest.mf index 9a7b47203535..5b5b95f8680c 100644 --- a/enterprise/websvc.metro.lib/manifest.mf +++ b/enterprise/websvc.metro.lib/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.metro.lib/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/metro/lib/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 OpenIDE-Module-Layer: org/netbeans/modules/websvc/metro/lib/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.owsm/manifest.mf b/enterprise/websvc.owsm/manifest.mf index 0fb112020b3b..397c5c6062eb 100644 --- a/enterprise/websvc.owsm/manifest.mf +++ b/enterprise/websvc.owsm/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.owsm OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/owsm/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.projectapi/manifest.mf b/enterprise/websvc.projectapi/manifest.mf index dbbfbfdcb330..5a8af4343178 100644 --- a/enterprise/websvc.projectapi/manifest.mf +++ b/enterprise/websvc.projectapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.projectapi/0 -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/project/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.rest/manifest.mf b/enterprise/websvc.rest/manifest.mf index dd350547c59f..21abdc3ef155 100644 --- a/enterprise/websvc.rest/manifest.mf +++ b/enterprise/websvc.rest/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.rest/0 OpenIDE-Module-Layer: org/netbeans/modules/websvc/rest/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/rest/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.restapi/manifest.mf b/enterprise/websvc.restapi/manifest.mf index 4d6fc37be722..5635cd644a1e 100644 --- a/enterprise/websvc.restapi/manifest.mf +++ b/enterprise/websvc.restapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.restapi/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/rest/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.restkit/manifest.mf b/enterprise/websvc.restkit/manifest.mf index 587956b276b0..ff40c425fe8c 100644 --- a/enterprise/websvc.restkit/manifest.mf +++ b/enterprise/websvc.restkit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.restkit/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/restkit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 diff --git a/enterprise/websvc.restlib/manifest.mf b/enterprise/websvc.restlib/manifest.mf index b385f1d976dd..bbb32edbb7bd 100644 --- a/enterprise/websvc.restlib/manifest.mf +++ b/enterprise/websvc.restlib/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.restlib/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/swdp/Bundle.properties -OpenIDE-Module-Specification-Version: 2.34 +OpenIDE-Module-Specification-Version: 2.35 OpenIDE-Module-Layer: org/netbeans/modules/websvc/swdp/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.saas.codegen.j2ee/manifest.mf b/enterprise/websvc.saas.codegen.j2ee/manifest.mf index c56d58b6f5a5..7c0f8f518fc6 100644 --- a/enterprise/websvc.saas.codegen.j2ee/manifest.mf +++ b/enterprise/websvc.saas.codegen.j2ee/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.codegen.j2ee OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/codegen/j2ee/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 OpenIDE-Module-Layer: org/netbeans/modules/websvc/saas/codegen/j2ee/layer.xml AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.utilities/manifest.mf b/enterprise/websvc.utilities/manifest.mf index da42ad98fb6c..4cbb5fa12ae8 100644 --- a/enterprise/websvc.utilities/manifest.mf +++ b/enterprise/websvc.utilities/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.utilities/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/utilities/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.websvcapi/manifest.mf b/enterprise/websvc.websvcapi/manifest.mf index 4d2fa3a1bcb0..f02084fac98f 100644 --- a/enterprise/websvc.websvcapi/manifest.mf +++ b/enterprise/websvc.websvcapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.websvcapi -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/webservices/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/enterprise/websvc.wsstackapi/manifest.mf b/enterprise/websvc.wsstackapi/manifest.mf index 6fb6dfdbd957..f666a586d50d 100644 --- a/enterprise/websvc.wsstackapi/manifest.mf +++ b/enterprise/websvc.wsstackapi/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.wsstackapi/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/wsstack/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 AutoUpdate-Show-In-Client: false diff --git a/ergonomics/ide.ergonomics/manifest.mf b/ergonomics/ide.ergonomics/manifest.mf index ca3da1419eda..79c8279d86af 100644 --- a/ergonomics/ide.ergonomics/manifest.mf +++ b/ergonomics/ide.ergonomics/manifest.mf @@ -3,7 +3,7 @@ OpenIDE-Module: org.netbeans.modules.ide.ergonomics OpenIDE-Module-Install: org/netbeans/modules/ide/ergonomics/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/ide/ergonomics/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/ergonomics/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true OpenIDE-Module-Recommends: org.netbeans.modules.server diff --git a/extide/gradle.dists/manifest.mf b/extide/gradle.dists/manifest.mf index c0766f2c4ade..4f4096b83469 100644 --- a/extide/gradle.dists/manifest.mf +++ b/extide/gradle.dists/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.gradle.dists OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/dists/Bundle.properties -OpenIDE-Module-Specification-Version: 1.14 +OpenIDE-Module-Specification-Version: 1.15 diff --git a/extide/gradle.editor/manifest.mf b/extide/gradle.editor/manifest.mf index 0ee7ba5f59c5..8f4b4f80254b 100644 --- a/extide/gradle.editor/manifest.mf +++ b/extide/gradle.editor/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.gradle.editor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.8 +OpenIDE-Module-Specification-Version: 1.9 diff --git a/extide/gradle/nbproject/project.properties b/extide/gradle/nbproject/project.properties index 29702b99838c..ae784ba78a58 100644 --- a/extide/gradle/nbproject/project.properties +++ b/extide/gradle/nbproject/project.properties @@ -25,7 +25,7 @@ javadoc.apichanges=${basedir}/apichanges.xml nbm.module.author=Laszlo Kishalmi source.reference.netbeans-gradle-tooling.jar=netbeans-gradle-tooling/src/main/groovy -spec.version.base=2.43.0 +spec.version.base=2.44.0 test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test-unit-sys-prop.java.awt.headless=true diff --git a/extide/libs.gradle/manifest.mf b/extide/libs.gradle/manifest.mf index b9148ab1af36..1f11dc4a8fe8 100644 --- a/extide/libs.gradle/manifest.mf +++ b/extide/libs.gradle/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.libs.gradle/8 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/libs/gradle/Bundle.properties -OpenIDE-Module-Specification-Version: 8.10 +OpenIDE-Module-Specification-Version: 8.11 diff --git a/extide/o.apache.tools.ant.module/nbproject/project.properties b/extide/o.apache.tools.ant.module/nbproject/project.properties index c1990a9964f3..5025331dfb51 100644 --- a/extide/o.apache.tools.ant.module/nbproject/project.properties +++ b/extide/o.apache.tools.ant.module/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=3.110.0 +spec.version.base=3.111.0 compile.ant.jar=${ant.core.lib} compile.ant-launcher.jar=${ant.core.lib}/../ant-launcher.jar src-bridge.cp.extra=build/classes:${compile.ant.jar}:${compile.ant-launcher.jar} diff --git a/extide/options.java/manifest.mf b/extide/options.java/manifest.mf index ef37005dac43..7f2c989ba285 100644 --- a/extide/options.java/manifest.mf +++ b/extide/options.java/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.options.java OpenIDE-Module-Layer: org/netbeans/modules/options/java/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/java/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.options.java -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/extra/libs.javafx.linux.aarch64/manifest.mf b/extra/libs.javafx.linux.aarch64/manifest.mf index a33a3d5a1e9e..1557af383884 100644 --- a/extra/libs.javafx.linux.aarch64/manifest.mf +++ b/extra/libs.javafx.linux.aarch64/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.linux.aarch64 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/linux/aarch64/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 17.15 +OpenIDE-Module-Specification-Version: 17.16 OpenIDE-Module-Requires: org.openide.modules.os.Linux, org.openide.modules.arch.aarch64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/extra/libs.javafx.linux/manifest.mf b/extra/libs.javafx.linux/manifest.mf index 98dbb94c16d9..4c0fe109b7fb 100644 --- a/extra/libs.javafx.linux/manifest.mf +++ b/extra/libs.javafx.linux/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.linux OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/linux/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 17.15 +OpenIDE-Module-Specification-Version: 17.16 OpenIDE-Module-Requires: org.openide.modules.os.Linux, org.openide.modules.arch.amd64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/extra/libs.javafx.macosx.aarch64/manifest.mf b/extra/libs.javafx.macosx.aarch64/manifest.mf index 9b9795cc24b3..468a9771c084 100644 --- a/extra/libs.javafx.macosx.aarch64/manifest.mf +++ b/extra/libs.javafx.macosx.aarch64/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.macosx.aarch64 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/macosx/aarch64/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 17.15 +OpenIDE-Module-Specification-Version: 17.16 OpenIDE-Module-Requires: org.openide.modules.os.MacOSX, org.openide.modules.arch.aarch64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/extra/libs.javafx.macosx/manifest.mf b/extra/libs.javafx.macosx/manifest.mf index 73d3d0a90fe0..3e88d37c5b09 100644 --- a/extra/libs.javafx.macosx/manifest.mf +++ b/extra/libs.javafx.macosx/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.macosx OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/macosx/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 17.15 +OpenIDE-Module-Specification-Version: 17.16 OpenIDE-Module-Requires: org.openide.modules.os.MacOSX, org.openide.modules.arch.x86_64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/extra/libs.javafx.win/manifest.mf b/extra/libs.javafx.win/manifest.mf index e23cbd51911d..bf8e5804ded2 100644 --- a/extra/libs.javafx.win/manifest.mf +++ b/extra/libs.javafx.win/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.javafx.win OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/win/Bundle.properties OpenIDE-Module-Fragment-Host: org.netbeans.libs.javafx -OpenIDE-Module-Specification-Version: 17.15 +OpenIDE-Module-Specification-Version: 17.16 OpenIDE-Module-Requires: org.openide.modules.os.Windows, org.openide.modules.arch.amd64 OpenIDE-Module-Provides: org.openide.modules.jre.JavaFX diff --git a/groovy/gradle.groovy/manifest.mf b/groovy/gradle.groovy/manifest.mf index e317f65030d8..1dcd57ac40fd 100644 --- a/groovy/gradle.groovy/manifest.mf +++ b/groovy/gradle.groovy/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.groovy OpenIDE-Module-Layer: org/netbeans/modules/gradle/groovy/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/groovy/Bundle.properties -OpenIDE-Module-Specification-Version: 1.15 +OpenIDE-Module-Specification-Version: 1.16 diff --git a/groovy/groovy.antproject/manifest.mf b/groovy/groovy.antproject/manifest.mf index 57ddbff0ac36..0dee4eea3c69 100644 --- a/groovy/groovy.antproject/manifest.mf +++ b/groovy/groovy.antproject/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.antproject OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/antproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 diff --git a/groovy/groovy.debug/manifest.mf b/groovy/groovy.debug/manifest.mf index bb79e60510bc..6a0bb895877e 100644 --- a/groovy/groovy.debug/manifest.mf +++ b/groovy/groovy.debug/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.debug/1 OpenIDE-Module-Layer: org/netbeans/modules/groovy/debug/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/debug/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.9 +OpenIDE-Module-Specification-Version: 1.10 diff --git a/groovy/groovy.editor/manifest.mf b/groovy/groovy.editor/manifest.mf index 100d159a441a..0381b1ae318d 100644 --- a/groovy/groovy.editor/manifest.mf +++ b/groovy/groovy.editor/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.editor/3 OpenIDE-Module-Layer: org/netbeans/modules/groovy/editor/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.95 +OpenIDE-Module-Specification-Version: 1.96 diff --git a/groovy/groovy.gsp/manifest.mf b/groovy/groovy.gsp/manifest.mf index 7e955866f141..85bff84a5236 100644 --- a/groovy/groovy.gsp/manifest.mf +++ b/groovy/groovy.gsp/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.gsp OpenIDE-Module-Layer: org/netbeans/modules/groovy/gsp/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/gsp/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/groovy/groovy.kit/manifest.mf b/groovy/groovy.kit/manifest.mf index 14d7cfd45bfe..86657deacba6 100644 --- a/groovy/groovy.kit/manifest.mf +++ b/groovy/groovy.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.groovy.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/groovy/groovy.refactoring/manifest.mf b/groovy/groovy.refactoring/manifest.mf index fe735ec97229..ccf9f52007e4 100644 --- a/groovy/groovy.refactoring/manifest.mf +++ b/groovy/groovy.refactoring/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.refactoring OpenIDE-Module-Layer: org/netbeans/modules/groovy/refactoring/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/refactoring/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/groovy/groovy.samples/manifest.mf b/groovy/groovy.samples/manifest.mf index e7b835cc82cb..bd09d1a18a1c 100644 --- a/groovy/groovy.samples/manifest.mf +++ b/groovy/groovy.samples/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.samples OpenIDE-Module-Layer: org/netbeans/modules/groovy/samples/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/samples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 diff --git a/groovy/groovy.support/manifest.mf b/groovy/groovy.support/manifest.mf index a7870537050a..90185670d97d 100644 --- a/groovy/groovy.support/manifest.mf +++ b/groovy/groovy.support/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.groovy.support OpenIDE-Module-Layer: org/netbeans/modules/groovy/support/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/groovy/support/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker diff --git a/groovy/libs.groovy/manifest.mf b/groovy/libs.groovy/manifest.mf index a205c9e190dd..0b1f69044455 100644 --- a/groovy/libs.groovy/manifest.mf +++ b/groovy/libs.groovy/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.libs.groovy OpenIDE-Module-Layer: org/netbeans/modules/libs/groovy/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/libs/groovy/Bundle.properties -OpenIDE-Module-Specification-Version: 2.26 +OpenIDE-Module-Specification-Version: 2.27 diff --git a/groovy/maven.groovy/manifest.mf b/groovy/maven.groovy/manifest.mf index b78bea9ff4b2..22d75604b1ff 100644 --- a/groovy/maven.groovy/manifest.mf +++ b/groovy/maven.groovy/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.groovy OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/groovy/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 diff --git a/harness/apisupport.harness/manifest.mf b/harness/apisupport.harness/manifest.mf index bf47d8ac41b4..b3987065eeae 100644 --- a/harness/apisupport.harness/manifest.mf +++ b/harness/apisupport.harness/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.apisupport.harness -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/apisupport/harness/Bundle.properties diff --git a/harness/jellytools.platform/manifest.mf b/harness/jellytools.platform/manifest.mf index 3aa6cd623e54..96887b6b8953 100644 --- a/harness/jellytools.platform/manifest.mf +++ b/harness/jellytools.platform/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.jellytools.platform/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jellytools/platform/Bundle.properties -OpenIDE-Module-Specification-Version: 3.55 +OpenIDE-Module-Specification-Version: 3.56 diff --git a/harness/jemmy/manifest.mf b/harness/jemmy/manifest.mf index eb59edfdd1df..f48e307ff8f4 100644 --- a/harness/jemmy/manifest.mf +++ b/harness/jemmy/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jemmy/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jemmy/idemodule/Bundle.properties -OpenIDE-Module-Specification-Version: 3.53 +OpenIDE-Module-Specification-Version: 3.54 diff --git a/harness/libs.nbi.ant/manifest.mf b/harness/libs.nbi.ant/manifest.mf index 0f1eb5faa068..0d097e32722d 100644 --- a/harness/libs.nbi.ant/manifest.mf +++ b/harness/libs.nbi.ant/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.nbi.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/nbi/ant/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/harness/libs.nbi.engine/manifest.mf b/harness/libs.nbi.engine/manifest.mf index edfca4e8ce93..fad40bd44108 100644 --- a/harness/libs.nbi.engine/manifest.mf +++ b/harness/libs.nbi.engine/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.nbi.engine OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/nbi/engine/Bundle.properties -OpenIDE-Module-Specification-Version: 1.47 +OpenIDE-Module-Specification-Version: 1.48 diff --git a/harness/nbjunit/manifest.mf b/harness/nbjunit/manifest.mf index d5d64a4f6f75..f7d62db9cc98 100644 --- a/harness/nbjunit/manifest.mf +++ b/harness/nbjunit/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.nbjunit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/junit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.116 +OpenIDE-Module-Specification-Version: 1.117 diff --git a/harness/o.n.insane/nbproject/project.properties b/harness/o.n.insane/nbproject/project.properties index 64853d712326..0781cbd09923 100644 --- a/harness/o.n.insane/nbproject/project.properties +++ b/harness/o.n.insane/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.55.0 +spec.version.base=1.56.0 cp.extra=build/hookclasses diff --git a/ide/api.debugger/manifest.mf b/ide/api.debugger/manifest.mf index 4425c84e3cd6..947bfc32a186 100644 --- a/ide/api.debugger/manifest.mf +++ b/ide/api.debugger/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.debugger/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 1.81 +OpenIDE-Module-Specification-Version: 1.82 OpenIDE-Module-Layer: org/netbeans/api/debugger/layer.xml diff --git a/ide/api.java.classpath/manifest.mf b/ide/api.java.classpath/manifest.mf index 3b51705853fe..3192d971473d 100644 --- a/ide/api.java.classpath/manifest.mf +++ b/ide/api.java.classpath/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.java.classpath/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/java/classpath/Bundle.properties OpenIDE-Module-Recommends: cnb.org.netbeans.api.java.classpath.nb -OpenIDE-Module-Specification-Version: 1.80 +OpenIDE-Module-Specification-Version: 1.81 diff --git a/ide/api.lsp/manifest.mf b/ide/api.lsp/manifest.mf index 2db50f88cbd1..331ac0a6a1dc 100644 --- a/ide/api.lsp/manifest.mf +++ b/ide/api.lsp/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.lsp/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/lsp/Bundle.properties -OpenIDE-Module-Specification-Version: 1.30 +OpenIDE-Module-Specification-Version: 1.31 AutoUpdate-Show-In-Client: false diff --git a/ide/api.xml.ui/manifest.mf b/ide/api.xml.ui/manifest.mf index 3c96384f840e..66ee05e153f5 100644 --- a/ide/api.xml.ui/manifest.mf +++ b/ide/api.xml.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.xml.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/xml/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 diff --git a/ide/api.xml/manifest.mf b/ide/api.xml/manifest.mf index 5aa7ef6be79d..ca28ea02fd2f 100644 --- a/ide/api.xml/manifest.mf +++ b/ide/api.xml/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.xml/1 -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/xml/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/api/xml/resources/mf-layer.xml diff --git a/ide/bugtracking.bridge/manifest.mf b/ide/bugtracking.bridge/manifest.mf index 27327631dbf5..c0f6b396ce46 100644 --- a/ide/bugtracking.bridge/manifest.mf +++ b/ide/bugtracking.bridge/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.bugtracking.bridge OpenIDE-Module-Layer: org/netbeans/modules/bugtracking/bridge/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/bugtracking/bridge/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 diff --git a/ide/bugtracking.commons/manifest.mf b/ide/bugtracking.commons/manifest.mf index d825d9addb71..9e7316fd5f7d 100644 --- a/ide/bugtracking.commons/manifest.mf +++ b/ide/bugtracking.commons/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.bugtracking.commons OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/bugtracking/commons/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/ide/bugtracking/manifest.mf b/ide/bugtracking/manifest.mf index e1903c208102..9aadbfb52156 100644 --- a/ide/bugtracking/manifest.mf +++ b/ide/bugtracking/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.bugtracking OpenIDE-Module-Layer: org/netbeans/modules/bugtracking/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/bugtracking/Bundle.properties -OpenIDE-Module-Specification-Version: 1.135 +OpenIDE-Module-Specification-Version: 1.136 Netigso-Export-Package: org.netbeans.modules.bugtracking.api,org.netbeans.modules.bugtracking.spi diff --git a/ide/bugzilla/manifest.mf b/ide/bugzilla/manifest.mf index aa178a3374a7..72c3062067c6 100644 --- a/ide/bugzilla/manifest.mf +++ b/ide/bugzilla/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.bugzilla OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/bugzilla/Bundle.properties -OpenIDE-Module-Specification-Version: 1.103 +OpenIDE-Module-Specification-Version: 1.104 diff --git a/ide/c.google.guava.failureaccess/nbproject/project.properties b/ide/c.google.guava.failureaccess/nbproject/project.properties index 1b04aea8ea36..6cc76d925b53 100644 --- a/ide/c.google.guava.failureaccess/nbproject/project.properties +++ b/ide/c.google.guava.failureaccess/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.4.0 +spec.version.base=1.5.0 release.external/failureaccess-1.0.2.jar=modules/com-google-guava-failureaccess.jar is.autoload=true nbm.module.author=Tomas Stupka diff --git a/ide/c.google.guava/nbproject/project.properties b/ide/c.google.guava/nbproject/project.properties index b922f79425b2..c4960229fb09 100644 --- a/ide/c.google.guava/nbproject/project.properties +++ b/ide/c.google.guava/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=27.19.0 +spec.version.base=27.20.0 release.external/guava-33.2.1-jre.jar=modules/com-google-guava.jar is.autoload=true nbm.module.author=Tomas Stupka diff --git a/ide/c.jcraft.jzlib/nbproject/project.properties b/ide/c.jcraft.jzlib/nbproject/project.properties index f0e0fef84fbe..90bfa068ff8f 100644 --- a/ide/c.jcraft.jzlib/nbproject/project.properties +++ b/ide/c.jcraft.jzlib/nbproject/project.properties @@ -17,5 +17,5 @@ is.autoload=true extra.license.files=external/jzlib-1.1.3-license.txt -spec.version.base=1.50.0 +spec.version.base=1.51.0 sigtest.gen.fail.on.error=false diff --git a/ide/code.analysis/manifest.mf b/ide/code.analysis/manifest.mf index c63d1e3e955b..7994336154f6 100644 --- a/ide/code.analysis/manifest.mf +++ b/ide/code.analysis/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.code.analysis/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/analysis/Bundle.properties OpenIDE-Module-Recommends: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 OpenIDE-Module-Layer: org/netbeans/modules/analysis/resources/layer.xml diff --git a/ide/core.browser.webview/nbproject/project.properties b/ide/core.browser.webview/nbproject/project.properties index 390c8dc7340d..c9433df0ce78 100644 --- a/ide/core.browser.webview/nbproject/project.properties +++ b/ide/core.browser.webview/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.41.0 +spec.version.base=1.42.0 is.eager=true cp.extra=../libs.javafx/build/openjfx.zip diff --git a/ide/core.browser/nbproject/project.properties b/ide/core.browser/nbproject/project.properties index 72bdb636b47f..6ee1b2d4d5ae 100644 --- a/ide/core.browser/nbproject/project.properties +++ b/ide/core.browser/nbproject/project.properties @@ -17,4 +17,4 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.54.0 +spec.version.base=1.55.0 diff --git a/ide/core.ide/manifest.mf b/ide/core.ide/manifest.mf index 9903c53c3973..75951b8094a8 100644 --- a/ide/core.ide/manifest.mf +++ b/ide/core.ide/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.ide/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/core/ide/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 AutoUpdate-Show-In-Client: false OpenIDE-Module-Layer: org/netbeans/core/ide/resources/layer.xml diff --git a/ide/core.multitabs.project/nbproject/project.properties b/ide/core.multitabs.project/nbproject/project.properties index 47641095d3c0..110bf7873982 100644 --- a/ide/core.multitabs.project/nbproject/project.properties +++ b/ide/core.multitabs.project/nbproject/project.properties @@ -17,4 +17,4 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial nbm.needs.restart=true -spec.version.base=1.36.0 +spec.version.base=1.37.0 diff --git a/ide/csl.api/nbproject/project.properties b/ide/csl.api/nbproject/project.properties index 98d31e6c6332..f809db633e6f 100644 --- a/ide/csl.api/nbproject/project.properties +++ b/ide/csl.api/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -spec.version.base=2.84.0 +spec.version.base=2.85.0 is.autoload=true javac.source=1.8 diff --git a/ide/csl.types/manifest.mf b/ide/csl.types/manifest.mf index 52ad202a32e8..9d3b19b86ef5 100644 --- a/ide/csl.types/manifest.mf +++ b/ide/csl.types/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.csl.types/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/csl/types/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/ide/css.editor/manifest.mf b/ide/css.editor/manifest.mf index 646d224cd1ea..f7721ca71b61 100644 --- a/ide/css.editor/manifest.mf +++ b/ide/css.editor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.css.editor/1 OpenIDE-Module-Layer: org/netbeans/modules/css/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.94 +OpenIDE-Module-Specification-Version: 1.95 AutoUpdate-Show-In-Client: false diff --git a/ide/css.lib/manifest.mf b/ide/css.lib/manifest.mf index 272fbfe69e5d..454268729e74 100644 --- a/ide/css.lib/manifest.mf +++ b/ide/css.lib/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.css.lib/2 OpenIDE-Module-Layer: org/netbeans/modules/css/lib/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/lib/Bundle.properties -OpenIDE-Module-Specification-Version: 2.6 +OpenIDE-Module-Specification-Version: 2.7 diff --git a/ide/css.model/manifest.mf b/ide/css.model/manifest.mf index 6b5f9275f2c8..f00dd68948d8 100644 --- a/ide/css.model/manifest.mf +++ b/ide/css.model/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.css.model OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/model/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: true diff --git a/ide/css.prep/manifest.mf b/ide/css.prep/manifest.mf index 80add88b0b87..74b60a2bb5f1 100644 --- a/ide/css.prep/manifest.mf +++ b/ide/css.prep/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.css.prep OpenIDE-Module-Layer: org/netbeans/modules/css/prep/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/prep/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/ide/css.visual/manifest.mf b/ide/css.visual/manifest.mf index b92335a593ac..bcb045abe3d2 100644 --- a/ide/css.visual/manifest.mf +++ b/ide/css.visual/manifest.mf @@ -5,4 +5,4 @@ OpenIDE-Module-Layer: org/netbeans/modules/css/visual/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/css/visual/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.IOProvider AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 3.58 +OpenIDE-Module-Specification-Version: 3.59 diff --git a/ide/db.core/manifest.mf b/ide/db.core/manifest.mf index 6e86bf2e7b05..bfa4b61e6de5 100644 --- a/ide/db.core/manifest.mf +++ b/ide/db.core/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.core -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/core/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/db/core/resources/layer.xml OpenIDE-Module-Requires: org.openide.windows.IOProvider diff --git a/ide/db.dataview/manifest.mf b/ide/db.dataview/manifest.mf index 092b112143dc..3c5d6ed6a72c 100644 --- a/ide/db.dataview/manifest.mf +++ b/ide/db.dataview/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.dataview OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/dataview/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: false diff --git a/ide/db.drivers/manifest.mf b/ide/db.drivers/manifest.mf index d4dfd78c21e1..f346c4f12cef 100644 --- a/ide/db.drivers/manifest.mf +++ b/ide/db.drivers/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.drivers OpenIDE-Module-Layer: org/netbeans/modules/db/drivers/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/drivers/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 AutoUpdate-Show-In-Client: false diff --git a/ide/db.kit/manifest.mf b/ide/db.kit/manifest.mf index 15510c9260e4..1fd073278b4c 100644 --- a/ide/db.kit/manifest.mf +++ b/ide/db.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/ide/db.metadata.model/manifest.mf b/ide/db.metadata.model/manifest.mf index c27ab65ee908..75c13d377f6b 100644 --- a/ide/db.metadata.model/manifest.mf +++ b/ide/db.metadata.model/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.db.metadata.model/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/db/metadata/model/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.37 +OpenIDE-Module-Specification-Version: 1.38 AutoUpdate-Show-In-Client: false diff --git a/ide/db.mysql/nbproject/project.properties b/ide/db.mysql/nbproject/project.properties index c1535e8b407b..5faa4e41e91d 100644 --- a/ide/db.mysql/nbproject/project.properties +++ b/ide/db.mysql/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=0.54.0 +spec.version.base=0.55.0 test.unit.cp.extra=external/mysql-connector-j-8.0.31.jar diff --git a/ide/db.sql.editor/nbproject/project.properties b/ide/db.sql.editor/nbproject/project.properties index ab6148341a53..ec021adca795 100644 --- a/ide/db.sql.editor/nbproject/project.properties +++ b/ide/db.sql.editor/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.63.0 +spec.version.base=1.64.0 # org-netbeans-core: for /xml/lookups in the default fs # (needed in order to load database connections from the SFS) diff --git a/ide/db.sql.visualeditor/nbproject/project.properties b/ide/db.sql.visualeditor/nbproject/project.properties index cb81020f6cc0..c1c6320693fe 100644 --- a/ide/db.sql.visualeditor/nbproject/project.properties +++ b/ide/db.sql.visualeditor/nbproject/project.properties @@ -27,4 +27,4 @@ module.javadoc.packages= org.netbeans.modules.db.sql.visualeditor.api #javadoc.title=Creator Designtime API #javadoc.arch=${basedir}/arch.xml #javadoc.arch=${basedir}/arch/arch-designtime.xml -spec.version.base=2.58.0 +spec.version.base=2.59.0 diff --git a/ide/db/nbproject/project.properties b/ide/db/nbproject/project.properties index c4415bd75890..0e363b6b66ed 100644 --- a/ide/db/nbproject/project.properties +++ b/ide/db/nbproject/project.properties @@ -20,7 +20,7 @@ javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.95.0 +spec.version.base=1.96.0 extra.module.files=modules/ext/ddl.jar diff --git a/ide/dbapi/nbproject/project.properties b/ide/dbapi/nbproject/project.properties index 18017552c97f..e1935eb72571 100644 --- a/ide/dbapi/nbproject/project.properties +++ b/ide/dbapi/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.60.0 +spec.version.base=1.61.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/defaults/manifest.mf b/ide/defaults/manifest.mf index 257e75ff24df..aca935dce23c 100644 --- a/ide/defaults/manifest.mf +++ b/ide/defaults/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.defaults/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/defaults/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/defaults/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/ide/derby/manifest.mf b/ide/derby/manifest.mf index d56f1e299f25..182fc9c0f04f 100644 --- a/ide/derby/manifest.mf +++ b/ide/derby/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.derby OpenIDE-Module-Layer: org/netbeans/modules/derby/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/derby/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 AutoUpdate-Show-In-Client: false diff --git a/ide/diff/nbproject/project.properties b/ide/diff/nbproject/project.properties index c94f05518e20..6561c8dd7dae 100644 --- a/ide/diff/nbproject/project.properties +++ b/ide/diff/nbproject/project.properties @@ -18,7 +18,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.77.0 +spec.version.base=1.78.0 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/dlight.nativeexecution.nb/manifest.mf b/ide/dlight.nativeexecution.nb/manifest.mf index fcf4a7a5bf8d..fe63a3b4108f 100644 --- a/ide/dlight.nativeexecution.nb/manifest.mf +++ b/ide/dlight.nativeexecution.nb/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.dlight.nativeexecution.nb OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nativeexecution/nb/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 OpenIDE-Module-Provides: org.netbeans.modules.nativeexecution.spi.NativeExecutionUIProvider diff --git a/ide/dlight.nativeexecution/nbproject/project.properties b/ide/dlight.nativeexecution/nbproject/project.properties index c381f95acba0..397ad397545d 100644 --- a/ide/dlight.nativeexecution/nbproject/project.properties +++ b/ide/dlight.nativeexecution/nbproject/project.properties @@ -21,7 +21,7 @@ javadoc.arch=${basedir}/arch.xml project.license=apache20-asf nbm.executable.files=bin/nativeexecution/** jnlp.indirect.files=bin/nativeexecution/** -spec.version.base=1.65.0 +spec.version.base=1.66.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/dlight.terminal/nbproject/project.properties b/ide/dlight.terminal/nbproject/project.properties index 4bb67677e57f..3d0c94c55d83 100644 --- a/ide/dlight.terminal/nbproject/project.properties +++ b/ide/dlight.terminal/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.50.0 +spec.version.base=1.51.0 diff --git a/ide/docker.api/manifest.mf b/ide/docker.api/manifest.mf index 2bf98afa3ff9..ecf32da99c43 100644 --- a/ide/docker.api/manifest.mf +++ b/ide/docker.api/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.docker.api/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/docker/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 AutoUpdate-Show-In-Client: false diff --git a/ide/docker.editor/manifest.mf b/ide/docker.editor/manifest.mf index 757f3c2a38ff..3806b4c65b01 100644 --- a/ide/docker.editor/manifest.mf +++ b/ide/docker.editor/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.docker.editor/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/docker/editor/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/docker/editor/layer.xml -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/ide/docker.ui/manifest.mf b/ide/docker.ui/manifest.mf index bab7f8c4c0ca..5dfaf82e60c7 100644 --- a/ide/docker.ui/manifest.mf +++ b/ide/docker.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.docker.ui/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/docker/ui/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 AutoUpdate-Show-In-Client: true diff --git a/ide/editor.actions/nbproject/project.properties b/ide/editor.actions/nbproject/project.properties index 46e2f6f34df7..3487085789ed 100644 --- a/ide/editor.actions/nbproject/project.properties +++ b/ide/editor.actions/nbproject/project.properties @@ -18,7 +18,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.title=Editor Actions -spec.version.base=1.57.0 +spec.version.base=1.58.0 #javadoc.arch=${basedir}/arch.xml #javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/editor.autosave/manifest.mf b/ide/editor.autosave/manifest.mf index a4de8ac08437..e796bc8c0ba1 100644 --- a/ide/editor.autosave/manifest.mf +++ b/ide/editor.autosave/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.autosave/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/autosave/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.editor.autosave -OpenIDE-Module-Specification-Version: 1.17 +OpenIDE-Module-Specification-Version: 1.18 AutoUpdate-Show-In-Client: false diff --git a/ide/editor.bookmarks/manifest.mf b/ide/editor.bookmarks/manifest.mf index 80ed5e9afef6..8e7985bc2020 100644 --- a/ide/editor.bookmarks/manifest.mf +++ b/ide/editor.bookmarks/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.bookmarks/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/bookmarks/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Layer: org/netbeans/modules/editor/bookmarks/resources/layer.xml OpenIDE-Module-Install: org/netbeans/modules/editor/bookmarks/EditorBookmarksModule.class AutoUpdate-Show-In-Client: false diff --git a/ide/editor.bracesmatching/nbproject/project.properties b/ide/editor.bracesmatching/nbproject/project.properties index 1f947e22aeba..7836799cb024 100644 --- a/ide/editor.bracesmatching/nbproject/project.properties +++ b/ide/editor.bracesmatching/nbproject/project.properties @@ -19,7 +19,7 @@ javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.65.0 +spec.version.base=1.66.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ **/MasterMatcherTest.class diff --git a/ide/editor.breadcrumbs/manifest.mf b/ide/editor.breadcrumbs/manifest.mf index 1ecc132a6c0b..524a050a7abf 100644 --- a/ide/editor.breadcrumbs/manifest.mf +++ b/ide/editor.breadcrumbs/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.breadcrumbs/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/breadcrumbs/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/ide/editor.codetemplates/nbproject/project.properties b/ide/editor.codetemplates/nbproject/project.properties index 5ff5f861eb80..04308721d633 100644 --- a/ide/editor.codetemplates/nbproject/project.properties +++ b/ide/editor.codetemplates/nbproject/project.properties @@ -20,6 +20,6 @@ javac.source=1.8 #javadoc.name=EditorCodeTemplates javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml -spec.version.base=1.70.0 +spec.version.base=1.71.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/editor.completion/nbproject/project.properties b/ide/editor.completion/nbproject/project.properties index ab68f77fa430..4132ed753a8f 100644 --- a/ide/editor.completion/nbproject/project.properties +++ b/ide/editor.completion/nbproject/project.properties @@ -19,4 +19,4 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.71.0 +spec.version.base=1.72.0 diff --git a/ide/editor.deprecated.pre65formatting/nbproject/project.properties b/ide/editor.deprecated.pre65formatting/nbproject/project.properties index 55154abad61d..36c967ffec00 100644 --- a/ide/editor.deprecated.pre65formatting/nbproject/project.properties +++ b/ide/editor.deprecated.pre65formatting/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.57.0 +spec.version.base=1.58.0 diff --git a/ide/editor.document/nbproject/project.properties b/ide/editor.document/nbproject/project.properties index 20b7b0d12d9d..95264ef82a1d 100644 --- a/ide/editor.document/nbproject/project.properties +++ b/ide/editor.document/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.35.0 +spec.version.base=1.36.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml is.autoload=true diff --git a/ide/editor.errorstripe.api/nbproject/project.properties b/ide/editor.errorstripe.api/nbproject/project.properties index dbec4dda7d18..de0b10f97dcd 100644 --- a/ide/editor.errorstripe.api/nbproject/project.properties +++ b/ide/editor.errorstripe.api/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=2.58.0 +spec.version.base=2.59.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.errorstripe/nbproject/project.properties b/ide/editor.errorstripe/nbproject/project.properties index 834150236388..973527e77b8e 100644 --- a/ide/editor.errorstripe/nbproject/project.properties +++ b/ide/editor.errorstripe/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=2.60.0 +spec.version.base=2.61.0 nbm.needs.restart=true test.config.stableBTD.includes=**/*Test.class diff --git a/ide/editor.fold.nbui/nbproject/project.properties b/ide/editor.fold.nbui/nbproject/project.properties index cbfd5a5ed7be..b1534ea76d5b 100644 --- a/ide/editor.fold.nbui/nbproject/project.properties +++ b/ide/editor.fold.nbui/nbproject/project.properties @@ -18,4 +18,4 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml -spec.version.base=1.38.0 +spec.version.base=1.39.0 diff --git a/ide/editor.fold/manifest.mf b/ide/editor.fold/manifest.mf index e07e1892859e..f67600d9c04e 100644 --- a/ide/editor.fold/manifest.mf +++ b/ide/editor.fold/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.fold/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/fold/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.71 +OpenIDE-Module-Specification-Version: 1.72 diff --git a/ide/editor.global.format/nbproject/project.properties b/ide/editor.global.format/nbproject/project.properties index 823c8e05c862..fe5339509745 100644 --- a/ide/editor.global.format/nbproject/project.properties +++ b/ide/editor.global.format/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.41.0 +spec.version.base=1.42.0 diff --git a/ide/editor.guards/manifest.mf b/ide/editor.guards/manifest.mf index 79b715154a3c..1b58117ced71 100644 --- a/ide/editor.guards/manifest.mf +++ b/ide/editor.guards/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.guards/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/guards/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/ide/editor.indent.project/manifest.mf b/ide/editor.indent.project/manifest.mf index 192919fa3aea..fe06d9c5f84d 100644 --- a/ide/editor.indent.project/manifest.mf +++ b/ide/editor.indent.project/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.indent.project/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/indent/project/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.editor.indent.spi.CodeStylePreferences.Provider -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/ide/editor.indent.support/manifest.mf b/ide/editor.indent.support/manifest.mf index 9a35a7374e1a..a3b67fdd0455 100644 --- a/ide/editor.indent.support/manifest.mf +++ b/ide/editor.indent.support/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.editor.indent.support OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/indent/support/Bundle.properties -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 diff --git a/ide/editor.indent/manifest.mf b/ide/editor.indent/manifest.mf index 6bdf080a76b5..e4eb08a3f9f5 100644 --- a/ide/editor.indent/manifest.mf +++ b/ide/editor.indent/manifest.mf @@ -5,4 +5,4 @@ OpenIDE-Module-Layer: org/netbeans/modules/editor/indent/resources/layer.xml AutoUpdate-Show-In-Client: false OpenIDE-Module-Recommends: org.netbeans.modules.editor.indent.spi.CodeStylePreferences.Provider OpenIDE-Module-Provides: org.netbeans.templates.IndentEngine -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 diff --git a/ide/editor.kit/manifest.mf b/ide/editor.kit/manifest.mf index 3b27226c4cf3..411745e753d9 100644 --- a/ide/editor.kit/manifest.mf +++ b/ide/editor.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.editor.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/ide/editor.lib/nbproject/project.properties b/ide/editor.lib/nbproject/project.properties index 7740ecd6e52d..39e97ff30644 100644 --- a/ide/editor.lib/nbproject/project.properties +++ b/ide/editor.lib/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=4.33.0 +spec.version.base=4.34.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.lib2/nbproject/project.properties b/ide/editor.lib2/nbproject/project.properties index 318db9a35abb..967a2a16a1e6 100644 --- a/ide/editor.lib2/nbproject/project.properties +++ b/ide/editor.lib2/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint:unchecked -spec.version.base=2.46.0 +spec.version.base=2.47.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/editor.macros/nbproject/project.properties b/ide/editor.macros/nbproject/project.properties index 9e4d9c1475fc..2b835c0f3f4a 100644 --- a/ide/editor.macros/nbproject/project.properties +++ b/ide/editor.macros/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.57.0 +spec.version.base=1.58.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/editor.plain.lib/manifest.mf b/ide/editor.plain.lib/manifest.mf index 116c63824baf..4fd8005c396e 100644 --- a/ide/editor.plain.lib/manifest.mf +++ b/ide/editor.plain.lib/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.plain.lib/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/editor/plain/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: false diff --git a/ide/editor.plain/manifest.mf b/ide/editor.plain/manifest.mf index 9d73ac6e244a..8866fab3e24f 100644 --- a/ide/editor.plain/manifest.mf +++ b/ide/editor.plain/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.plain/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/plain/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 OpenIDE-Module-Layer: org/netbeans/modules/editor/plain/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/ide/editor.search/nbproject/project.properties b/ide/editor.search/nbproject/project.properties index 3d0c94c55d83..b896cc19f4b1 100644 --- a/ide/editor.search/nbproject/project.properties +++ b/ide/editor.search/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.51.0 +spec.version.base=1.52.0 diff --git a/ide/editor.settings.lib/nbproject/project.properties b/ide/editor.settings.lib/nbproject/project.properties index ba5cff008c5d..68143389d87f 100644 --- a/ide/editor.settings.lib/nbproject/project.properties +++ b/ide/editor.settings.lib/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.77.0 +spec.version.base=1.78.0 diff --git a/ide/editor.settings.storage/nbproject/project.properties b/ide/editor.settings.storage/nbproject/project.properties index 1ecd8338109e..8816b4dcf010 100644 --- a/ide/editor.settings.storage/nbproject/project.properties +++ b/ide/editor.settings.storage/nbproject/project.properties @@ -20,7 +20,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml -spec.version.base=1.78.0 +spec.version.base=1.79.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/editor.settings/manifest.mf b/ide/editor.settings/manifest.mf index 1258600693ef..fd2d1e92d82c 100644 --- a/ide/editor.settings/manifest.mf +++ b/ide/editor.settings/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.settings/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/settings/Bundle.properties -OpenIDE-Module-Specification-Version: 1.83 +OpenIDE-Module-Specification-Version: 1.84 OpenIDE-Module-Needs: org.netbeans.api.editor.settings.implementation diff --git a/ide/editor.structure/nbproject/project.properties b/ide/editor.structure/nbproject/project.properties index 08cdaebe610b..541b7ae2e44c 100644 --- a/ide/editor.structure/nbproject/project.properties +++ b/ide/editor.structure/nbproject/project.properties @@ -21,7 +21,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.73.0 +spec.version.base=1.74.0 javadoc.arch=${basedir}/arch.xml diff --git a/ide/editor.tools.storage/manifest.mf b/ide/editor.tools.storage/manifest.mf index d6ae4c1c2a89..bf11de0d5abf 100644 --- a/ide/editor.tools.storage/manifest.mf +++ b/ide/editor.tools.storage/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.editor.tools.storage OpenIDE-Module-Layer: org/netbeans/modules/editor/tools/storage/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/tools/storage/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/ide/editor.util/manifest.mf b/ide/editor.util/manifest.mf index db484a349e84..335367bb0344 100644 --- a/ide/editor.util/manifest.mf +++ b/ide/editor.util/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.util/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/editor/util/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.91 +OpenIDE-Module-Specification-Version: 1.92 diff --git a/ide/editor/nbproject/project.properties b/ide/editor/nbproject/project.properties index 18740a9a2756..472c70a22d36 100644 --- a/ide/editor/nbproject/project.properties +++ b/ide/editor/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.113.0 +spec.version.base=1.114.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/extbrowser/manifest.mf b/ide/extbrowser/manifest.mf index ed0ada61ee4a..3f6168b33fc9 100644 --- a/ide/extbrowser/manifest.mf +++ b/ide/extbrowser/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.extbrowser/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extbrowser/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/extbrowser/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.79 +OpenIDE-Module-Specification-Version: 1.80 AutoUpdate-Show-In-Client: false diff --git a/ide/extexecution.base/manifest.mf b/ide/extexecution.base/manifest.mf index d453a5d40907..b83ef52d4655 100644 --- a/ide/extexecution.base/manifest.mf +++ b/ide/extexecution.base/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.extexecution.base/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extexecution/base/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 OpenIDE-Module-Recommends: org.netbeans.spi.extexecution.base.ProcessesImplementation diff --git a/ide/extexecution.impl/manifest.mf b/ide/extexecution.impl/manifest.mf index fcc4694c1ea5..552c17921339 100644 --- a/ide/extexecution.impl/manifest.mf +++ b/ide/extexecution.impl/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.extexecution.impl OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extexecution/impl/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 OpenIDE-Module-Provides: org.netbeans.spi.extexecution.open.OptionOpenHandler, org.netbeans.spi.extexecution.open.FileOpenHandler, org.netbeans.spi.extexecution.open.HttpOpenHandler diff --git a/ide/extexecution.process/manifest.mf b/ide/extexecution.process/manifest.mf index 1a031e71e982..0fcdb70065a4 100644 --- a/ide/extexecution.process/manifest.mf +++ b/ide/extexecution.process/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.extexecution.process OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extexecution/process/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 OpenIDE-Module-Provides: org.netbeans.spi.extexecution.base.ProcessesImplementation diff --git a/ide/extexecution/manifest.mf b/ide/extexecution/manifest.mf index d09568f501ff..b34ebfc3ca0b 100644 --- a/ide/extexecution/manifest.mf +++ b/ide/extexecution/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.extexecution/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extexecution/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 OpenIDE-Module-Recommends: org.netbeans.spi.extexecution.open.OptionOpenHandler, org.netbeans.spi.extexecution.open.FileOpenHandler, org.netbeans.spi.extexecution.open.HttpOpenHandler diff --git a/ide/git/nbproject/project.properties b/ide/git/nbproject/project.properties index 890fc749dcb7..bee0323dfd9a 100644 --- a/ide/git/nbproject/project.properties +++ b/ide/git/nbproject/project.properties @@ -22,7 +22,7 @@ nbm.needs.restart=true # #178009 # disable.qa-functional.tests=false -spec.version.base=1.49.0 +spec.version.base=1.50.0 test.config.stable.includes=**/*Test.class diff --git a/ide/go.lang/manifest.mf b/ide/go.lang/manifest.mf index 0e7035a85551..3b31a7d58cdc 100644 --- a/ide/go.lang/manifest.mf +++ b/ide/go.lang/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.go.lang OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/go/lang/Bundle.properties -OpenIDE-Module-Specification-Version: 1.7 +OpenIDE-Module-Specification-Version: 1.8 AutoUpdate-Show-In-Client: false diff --git a/ide/gototest/manifest.mf b/ide/gototest/manifest.mf index 4681a08ff92a..bcb369921010 100644 --- a/ide/gototest/manifest.mf +++ b/ide/gototest/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.gototest/1 OpenIDE-Module-Layer: org/netbeans/modules/gototest/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gototest/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/ide/gsf.codecoverage/manifest.mf b/ide/gsf.codecoverage/manifest.mf index 0c327eb7897c..e6e18996ba00 100644 --- a/ide/gsf.codecoverage/manifest.mf +++ b/ide/gsf.codecoverage/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.gsf.codecoverage OpenIDE-Module-Layer: org/netbeans/modules/gsf/codecoverage/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gsf/codecoverage/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 AutoUpdate-Show-In-Client: false diff --git a/ide/gsf.testrunner.ui/nbproject/project.properties b/ide/gsf.testrunner.ui/nbproject/project.properties index 7035482ca611..756ba6831be0 100644 --- a/ide/gsf.testrunner.ui/nbproject/project.properties +++ b/ide/gsf.testrunner.ui/nbproject/project.properties @@ -18,4 +18,4 @@ is.eager=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.41.0 +spec.version.base=1.42.0 diff --git a/ide/gsf.testrunner/manifest.mf b/ide/gsf.testrunner/manifest.mf index 24fbe0665ff6..1510f30126f5 100644 --- a/ide/gsf.testrunner/manifest.mf +++ b/ide/gsf.testrunner/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gsf.testrunner/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gsf/testrunner/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/gsf/testrunner/layer.xml -OpenIDE-Module-Specification-Version: 2.38 +OpenIDE-Module-Specification-Version: 2.39 diff --git a/ide/html.custom/manifest.mf b/ide/html.custom/manifest.mf index 95938ef106af..301dda256432 100644 --- a/ide/html.custom/manifest.mf +++ b/ide/html.custom/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.custom OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/custom/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/ide/html.editor.lib/manifest.mf b/ide/html.editor.lib/manifest.mf index 06dd5fd96c8a..2a8aaefdf714 100644 --- a/ide/html.editor.lib/manifest.mf +++ b/ide/html.editor.lib/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.editor.lib/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/editor/lib/Bundle.properties -OpenIDE-Module-Specification-Version: 3.58 +OpenIDE-Module-Specification-Version: 3.59 AutoUpdate-Show-In-Client: false diff --git a/ide/html.editor/manifest.mf b/ide/html.editor/manifest.mf index 0aec4013fd93..c59359310869 100644 --- a/ide/html.editor/manifest.mf +++ b/ide/html.editor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.editor/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/editor/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/html/editor/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.82 +OpenIDE-Module-Specification-Version: 2.83 AutoUpdate-Show-In-Client: false diff --git a/ide/html.indexing/manifest.mf b/ide/html.indexing/manifest.mf index 3651e84f6e2d..044df563a689 100644 --- a/ide/html.indexing/manifest.mf +++ b/ide/html.indexing/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.html.indexing OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/indexing/Bundle.properties -OpenIDE-Module-Specification-Version: 1.18 +OpenIDE-Module-Specification-Version: 1.19 diff --git a/ide/html.lexer/manifest.mf b/ide/html.lexer/manifest.mf index 4a5297a1efc1..ddf4c1aee72c 100644 --- a/ide/html.lexer/manifest.mf +++ b/ide/html.lexer/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.html.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/html/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 OpenIDE-Module-Layer: org/netbeans/lib/html/lexer/layer.xml AutoUpdate-Show-In-Client: false diff --git a/ide/html.parser/nbproject/project.properties b/ide/html.parser/nbproject/project.properties index eb66d48f298e..2ab0b7ac8fa5 100644 --- a/ide/html.parser/nbproject/project.properties +++ b/ide/html.parser/nbproject/project.properties @@ -27,7 +27,7 @@ jnlp.indirect.jars=docs/html5doc.zip # Fatal error: class com.lowagie.text.DocumentException not found # Warning: class com.lowagie.text.DocumentException not found. Please, add required jar or directory to the classpath. sigtest.gen.fail.on.error=false -spec.version.base=1.60.0 +spec.version.base=1.61.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/html.validation/manifest.mf b/ide/html.validation/manifest.mf index 8609a7df99bb..0baf08175c63 100644 --- a/ide/html.validation/manifest.mf +++ b/ide/html.validation/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.html.validation/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/validation/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/ide/html/manifest.mf b/ide/html/manifest.mf index 31604550d547..281d8aa49f5e 100644 --- a/ide/html/manifest.mf +++ b/ide/html/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/html/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.87 +OpenIDE-Module-Specification-Version: 1.88 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker AutoUpdate-Show-In-Client: false diff --git a/ide/httpserver/nbproject/project.properties b/ide/httpserver/nbproject/project.properties index 534195b82f9c..cf35895af509 100644 --- a/ide/httpserver/nbproject/project.properties +++ b/ide/httpserver/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=2.62.0 +spec.version.base=2.63.0 release.external/tomcat-embed-core-9.0.71.jar=modules/ext/webserver.jar release.external/tomcat-annotations-api-9.0.71.jar=modules/ext/webserver-annotations.jar test-unit-sys-prop.xtest.data=${nb_all}/ide/httpserver/test/unit/testfs diff --git a/ide/hudson.git/manifest.mf b/ide/hudson.git/manifest.mf index ef2a990e2c66..d2b065399e27 100644 --- a/ide/hudson.git/manifest.mf +++ b/ide/hudson.git/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.git OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/git/Bundle.properties -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 diff --git a/ide/hudson.mercurial/manifest.mf b/ide/hudson.mercurial/manifest.mf index d76d308e426d..bcabe1975c6d 100644 --- a/ide/hudson.mercurial/manifest.mf +++ b/ide/hudson.mercurial/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.mercurial OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/mercurial/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 diff --git a/ide/hudson.subversion/manifest.mf b/ide/hudson.subversion/manifest.mf index c58e3490a0d4..a0749a0d973d 100644 --- a/ide/hudson.subversion/manifest.mf +++ b/ide/hudson.subversion/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.subversion OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/subversion/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 diff --git a/ide/hudson.tasklist/manifest.mf b/ide/hudson.tasklist/manifest.mf index 6126bb2f0e62..b455f1a5159f 100644 --- a/ide/hudson.tasklist/manifest.mf +++ b/ide/hudson.tasklist/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.tasklist OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/tasklist/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/ide/hudson.ui/manifest.mf b/ide/hudson.ui/manifest.mf index f89def715f91..e73548881a36 100644 --- a/ide/hudson.ui/manifest.mf +++ b/ide/hudson.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.ui OpenIDE-Module-Layer: org/netbeans/modules/hudson/ui/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.37 +OpenIDE-Module-Specification-Version: 1.38 diff --git a/ide/hudson/manifest.mf b/ide/hudson/manifest.mf index 369f505c5a86..8986a6509213 100644 --- a/ide/hudson/manifest.mf +++ b/ide/hudson/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/Bundle.properties -OpenIDE-Module-Specification-Version: 2.39 +OpenIDE-Module-Specification-Version: 2.40 diff --git a/ide/ide.kit/manifest.mf b/ide/ide.kit/manifest.mf index 65fab963d4f7..f390778b4c63 100644 --- a/ide/ide.kit/manifest.mf +++ b/ide/ide.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ide.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 OpenIDE-Module-Needs: org.netbeans.Netbinox diff --git a/ide/image/manifest.mf b/ide/image/manifest.mf index dcffaa200886..99fd07828b29 100644 --- a/ide/image/manifest.mf +++ b/ide/image/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.image/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/image/Bundle.properties -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 AutoUpdate-Show-In-Client: false diff --git a/ide/javascript2.debug.ui/manifest.mf b/ide/javascript2.debug.ui/manifest.mf index e9c69c2f53e8..72605c96350f 100644 --- a/ide/javascript2.debug.ui/manifest.mf +++ b/ide/javascript2.debug.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.debug.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/debug/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 AutoUpdate-Show-In-Client: false diff --git a/ide/javascript2.debug/manifest.mf b/ide/javascript2.debug/manifest.mf index 8a36935cc141..c4cabf74a2e9 100644 --- a/ide/javascript2.debug/manifest.mf +++ b/ide/javascript2.debug/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.debug/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/debug/Bundle.properties Comment: OpenIDE-Module-Layer: org/netbeans/modules/javascript2/debug/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 AutoUpdate-Show-In-Client: false diff --git a/ide/jellytools.ide/nbproject/project.properties b/ide/jellytools.ide/nbproject/project.properties index 211a1bf801fe..11f14e9eac89 100644 --- a/ide/jellytools.ide/nbproject/project.properties +++ b/ide/jellytools.ide/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=3.59.0 +spec.version.base=3.60.0 test.config.stable.includes=\ **/IDEBundleKeysTest.class,\ diff --git a/ide/jumpto/nbproject/project.properties b/ide/jumpto/nbproject/project.properties index 1b3d3d5a931d..fa71d3cc5673 100644 --- a/ide/jumpto/nbproject/project.properties +++ b/ide/jumpto/nbproject/project.properties @@ -20,7 +20,7 @@ javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml nbm.module.author=Andrei Badea, Petr Hrebejk -spec.version.base=1.81.0 +spec.version.base=1.82.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/languages.diff/manifest.mf b/ide/languages.diff/manifest.mf index aa9313f1e6d9..3bded48b609b 100644 --- a/ide/languages.diff/manifest.mf +++ b/ide/languages.diff/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.diff OpenIDE-Module-Layer: org/netbeans/modules/languages/diff/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/diff/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: false diff --git a/ide/languages.go/manifest.mf b/ide/languages.go/manifest.mf index b9c6eb69b5f5..c9aa193b775d 100644 --- a/ide/languages.go/manifest.mf +++ b/ide/languages.go/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.go OpenIDE-Module-Layer: org/netbeans/modules/languages/go/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/go/Bundle.properties -OpenIDE-Module-Specification-Version: 1.6 +OpenIDE-Module-Specification-Version: 1.7 AutoUpdate-Show-In-Client: true diff --git a/ide/languages.hcl/manifest.mf b/ide/languages.hcl/manifest.mf index ee2bf9c7fbee..98a52fbbc9b6 100644 --- a/ide/languages.hcl/manifest.mf +++ b/ide/languages.hcl/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.hcl OpenIDE-Module-Layer: org/netbeans/modules/languages/hcl/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/hcl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.6 +OpenIDE-Module-Specification-Version: 1.7 AutoUpdate-Show-In-Client: true diff --git a/ide/languages.manifest/manifest.mf b/ide/languages.manifest/manifest.mf index 09205ed35e35..935ee1945dc8 100644 --- a/ide/languages.manifest/manifest.mf +++ b/ide/languages.manifest/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.manifest OpenIDE-Module-Layer: org/netbeans/modules/languages/manifest/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/manifest/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 AutoUpdate-Show-In-Client: false diff --git a/ide/languages.toml/manifest.mf b/ide/languages.toml/manifest.mf index 2da78366cc62..eab5ca6b517b 100644 --- a/ide/languages.toml/manifest.mf +++ b/ide/languages.toml/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.toml OpenIDE-Module-Layer: org/netbeans/modules/languages/toml/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/toml/Bundle.properties -OpenIDE-Module-Specification-Version: 1.8 +OpenIDE-Module-Specification-Version: 1.9 AutoUpdate-Show-In-Client: true diff --git a/ide/languages.yaml/manifest.mf b/ide/languages.yaml/manifest.mf index 1a67fec0f0b2..6fac63a3db46 100644 --- a/ide/languages.yaml/manifest.mf +++ b/ide/languages.yaml/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.yaml OpenIDE-Module-Layer: org/netbeans/modules/languages/yaml/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/yaml/Bundle.properties -OpenIDE-Module-Specification-Version: 2.58 +OpenIDE-Module-Specification-Version: 2.59 AutoUpdate-Show-In-Client: true diff --git a/ide/languages/nbproject/project.properties b/ide/languages/nbproject/project.properties index de7552ebfd03..820bcd96445c 100644 --- a/ide/languages/nbproject/project.properties +++ b/ide/languages/nbproject/project.properties @@ -19,7 +19,7 @@ is.autoload=true javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.147.0 +spec.version.base=1.148.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=org/netbeans/test/**/* diff --git a/ide/lexer.antlr4/nbproject/project.properties b/ide/lexer.antlr4/nbproject/project.properties index 4520dbc18b3f..030a130a1d39 100644 --- a/ide/lexer.antlr4/nbproject/project.properties +++ b/ide/lexer.antlr4/nbproject/project.properties @@ -20,5 +20,5 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.8.0 +spec.version.base=1.9.0 diff --git a/ide/lexer.nbbridge/nbproject/project.properties b/ide/lexer.nbbridge/nbproject/project.properties index f0155e407909..6c1968cb1afb 100644 --- a/ide/lexer.nbbridge/nbproject/project.properties +++ b/ide/lexer.nbbridge/nbproject/project.properties @@ -18,4 +18,4 @@ is.eager=true javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.58.0 +spec.version.base=1.59.0 diff --git a/ide/lexer/nbproject/project.properties b/ide/lexer/nbproject/project.properties index 9a439f8ed1cc..e6cd4a721228 100644 --- a/ide/lexer/nbproject/project.properties +++ b/ide/lexer/nbproject/project.properties @@ -20,7 +20,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.89.0 +spec.version.base=1.90.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/lib.terminalemulator/manifest.mf b/ide/lib.terminalemulator/manifest.mf index 007edfb33c57..8cb69ed4b4c5 100644 --- a/ide/lib.terminalemulator/manifest.mf +++ b/ide/lib.terminalemulator/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.terminalemulator OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/terminalemulator/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 diff --git a/ide/libs.antlr3.runtime/nbproject/project.properties b/ide/libs.antlr3.runtime/nbproject/project.properties index 40405d840021..380e51323fda 100644 --- a/ide/libs.antlr3.runtime/nbproject/project.properties +++ b/ide/libs.antlr3.runtime/nbproject/project.properties @@ -23,4 +23,4 @@ release.external/antlr-runtime-3.5.3.jar=modules/ext/antlr-runtime-3.5.3.jar license.file=../external/antlr-3.5.3-license.txt nbm.homepage=http://www.antlr.org/ sigtest.gen.fail.on.error=false -spec.version.base=1.47.0 +spec.version.base=1.48.0 diff --git a/ide/libs.antlr4.runtime/nbproject/project.properties b/ide/libs.antlr4.runtime/nbproject/project.properties index 34109af414ab..bd6fea70fe69 100644 --- a/ide/libs.antlr4.runtime/nbproject/project.properties +++ b/ide/libs.antlr4.runtime/nbproject/project.properties @@ -24,4 +24,4 @@ release.external/antlr4-runtime-4.13.1.jar=modules/ext/antlr4-runtime-4.13.1.jar license.file=../external/antlr4-runtime-4.13.1-license.txt nbm.homepage=https://www.antlr.org/ sigtest.gen.fail.on.error=false -spec.version.base=1.27.0 +spec.version.base=1.28.0 diff --git a/ide/libs.c.kohlschutter.junixsocket/manifest.mf b/ide/libs.c.kohlschutter.junixsocket/manifest.mf index bc7c168b47eb..62809dc2d2f7 100644 --- a/ide/libs.c.kohlschutter.junixsocket/manifest.mf +++ b/ide/libs.c.kohlschutter.junixsocket/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: libs.c.kohlschutter.junixsocket/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/c/kohlschutter/junixsocket/Bundle.properties -OpenIDE-Module-Specification-Version: 3.8 +OpenIDE-Module-Specification-Version: 3.9 diff --git a/ide/libs.commons_compress/nbproject/project.properties b/ide/libs.commons_compress/nbproject/project.properties index 43881fd5eb25..144c3fe8c747 100644 --- a/ide/libs.commons_compress/nbproject/project.properties +++ b/ide/libs.commons_compress/nbproject/project.properties @@ -19,4 +19,4 @@ is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 release.external/commons-compress-1.26.2.jar=modules/ext/commons-compress-1.26.2.jar -spec.version.base=0.32.0 +spec.version.base=0.33.0 diff --git a/ide/libs.commons_net/nbproject/project.properties b/ide/libs.commons_net/nbproject/project.properties index 52363d76a85e..231b587b97b3 100644 --- a/ide/libs.commons_net/nbproject/project.properties +++ b/ide/libs.commons_net/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true release.external/commons-net-3.11.1.jar=modules/ext/commons-net-3.11.1.jar -spec.version.base=2.48.0 +spec.version.base=2.49.0 diff --git a/ide/libs.flexmark/manifest.mf b/ide/libs.flexmark/manifest.mf index 220e012557b3..c222c7bce923 100644 --- a/ide/libs.flexmark/manifest.mf +++ b/ide/libs.flexmark/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.flexmark OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/flexmark/Bundle.properties -OpenIDE-Module-Specification-Version: 1.19 +OpenIDE-Module-Specification-Version: 1.20 diff --git a/ide/libs.freemarker/nbproject/project.properties b/ide/libs.freemarker/nbproject/project.properties index a202ee12f9c2..a1c94958c66e 100644 --- a/ide/libs.freemarker/nbproject/project.properties +++ b/ide/libs.freemarker/nbproject/project.properties @@ -21,7 +21,7 @@ javac.compilerargs=-Xlint:unchecked javac.release=17 release.external/freemarker-2.3.33.jar=modules/ext/freemarker-2.3.33.jar module.jar.verifylinkageignores=freemarker.((ext.ant.FreemarkerXmlTask)|(template.DefaultObjectWrapper)) -spec.version.base=2.60.0 +spec.version.base=2.61.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/libs.git/manifest.mf b/ide/libs.git/manifest.mf index 10eb8d0cf861..974f17033495 100644 --- a/ide/libs.git/manifest.mf +++ b/ide/libs.git/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.git/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/git/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/ide/libs.graalsdk.system/manifest.mf b/ide/libs.graalsdk.system/manifest.mf index dbb81f44eb1b..0c249f086548 100644 --- a/ide/libs.graalsdk.system/manifest.mf +++ b/ide/libs.graalsdk.system/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.graalsdk.system OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/graalsdk/system/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 OpenIDE-Module-Provides: org.netbeans.spi.scripting.EngineProvider OpenIDE-Module-Package-Dependencies: org.graalvm.polyglot[Engine] diff --git a/ide/libs.graalsdk/manifest.mf b/ide/libs.graalsdk/manifest.mf index 51b2e9365a28..9370ecaf444a 100644 --- a/ide/libs.graalsdk/manifest.mf +++ b/ide/libs.graalsdk/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.graalsdk OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/graalsdk/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 OpenIDE-Module-Provides: org.netbeans.spi.scripting.EngineProvider OpenIDE-Module-Recommends: com.oracle.truffle.polyglot.PolyglotImpl OpenIDE-Module-Install: org/netbeans/libs/graalsdk/impl/Installer.class diff --git a/ide/libs.ini4j/manifest.mf b/ide/libs.ini4j/manifest.mf index 27a3fbc01703..971716c97d35 100644 --- a/ide/libs.ini4j/manifest.mf +++ b/ide/libs.ini4j/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.ini4j/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/ini4j/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/ide/libs.jaxb/manifest.mf b/ide/libs.jaxb/manifest.mf index c04e530dd27f..d75f1290bef0 100644 --- a/ide/libs.jaxb/manifest.mf +++ b/ide/libs.jaxb/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jaxb/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jaxb/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Layer: org/netbeans/libs/jaxb/layer.xml OpenIDE-Module-Provides: com.sun.xml.bind OpenIDE-Module-Requires: org.openide.modules.ModuleFormat2 diff --git a/ide/libs.jcodings/manifest.mf b/ide/libs.jcodings/manifest.mf index 909a9617afad..8fb7f790be31 100644 --- a/ide/libs.jcodings/manifest.mf +++ b/ide/libs.jcodings/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jcodings/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jcodings/Bundle.properties -OpenIDE-Module-Specification-Version: 0.15 +OpenIDE-Module-Specification-Version: 0.16 diff --git a/ide/libs.jsch.agentproxy/manifest.mf b/ide/libs.jsch.agentproxy/manifest.mf index a7e57816e961..f0e6abb79a95 100644 --- a/ide/libs.jsch.agentproxy/manifest.mf +++ b/ide/libs.jsch.agentproxy/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jsch.agentproxy/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jsch/agentproxy/Bundle.properties -OpenIDE-Module-Specification-Version: 1.10 +OpenIDE-Module-Specification-Version: 1.11 diff --git a/ide/libs.json_simple/manifest.mf b/ide/libs.json_simple/manifest.mf index 4d3de8a6097a..bed2a89906ab 100644 --- a/ide/libs.json_simple/manifest.mf +++ b/ide/libs.json_simple/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.json_simple/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/json_simple/Bundle.properties -OpenIDE-Module-Specification-Version: 0.38 +OpenIDE-Module-Specification-Version: 0.39 AutoUpdate-Show-In-Client: false diff --git a/ide/libs.lucene/manifest.mf b/ide/libs.lucene/manifest.mf index babd812e04c2..67f26ecf1669 100644 --- a/ide/libs.lucene/manifest.mf +++ b/ide/libs.lucene/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.lucene/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/lucene/Bundle.properties -OpenIDE-Module-Specification-Version: 3.45 +OpenIDE-Module-Specification-Version: 3.46 diff --git a/ide/libs.snakeyaml_engine/manifest.mf b/ide/libs.snakeyaml_engine/manifest.mf index 0b7e806427ae..bf124ad8ced7 100644 --- a/ide/libs.snakeyaml_engine/manifest.mf +++ b/ide/libs.snakeyaml_engine/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.snakeyaml_engine/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/snakeyaml_engine/Bundle.properties -OpenIDE-Module-Specification-Version: 2.15 +OpenIDE-Module-Specification-Version: 2.16 diff --git a/ide/libs.svnClientAdapter.javahl/manifest.mf b/ide/libs.svnClientAdapter.javahl/manifest.mf index 84e58eef7457..35b19903dde4 100644 --- a/ide/libs.svnClientAdapter.javahl/manifest.mf +++ b/ide/libs.svnClientAdapter.javahl/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.svnClientAdapter.javahl/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/svnclientadapter/javahl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 diff --git a/ide/libs.svnClientAdapter/manifest.mf b/ide/libs.svnClientAdapter/manifest.mf index b3e8e1b51a80..3728ee1faa8b 100644 --- a/ide/libs.svnClientAdapter/manifest.mf +++ b/ide/libs.svnClientAdapter/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.svnClientAdapter/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/svnclientadapter/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 diff --git a/ide/libs.tomlj/manifest.mf b/ide/libs.tomlj/manifest.mf index 01c8642cddfe..e57b69c96f21 100644 --- a/ide/libs.tomlj/manifest.mf +++ b/ide/libs.tomlj/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.libs.tomlj/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/tomlj/Bundle.properties -OpenIDE-Module-Specification-Version: 1.8 +OpenIDE-Module-Specification-Version: 1.9 OpenIDE-Module-Deprecated: true OpenIDE-Module-Deprecation-Message: Module ide/libs.tomlj is deprecated, use module ide/libs.tomljava instead. diff --git a/ide/libs.tomljava/manifest.mf b/ide/libs.tomljava/manifest.mf index 2da9b760608d..256c44897c2a 100644 --- a/ide/libs.tomljava/manifest.mf +++ b/ide/libs.tomljava/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.tomljava/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/tomljava/Bundle.properties -OpenIDE-Module-Specification-Version: 1.2 +OpenIDE-Module-Specification-Version: 1.3 diff --git a/ide/libs.truffleapi/manifest.mf b/ide/libs.truffleapi/manifest.mf index 68f44937d35a..4c5b2530c5df 100644 --- a/ide/libs.truffleapi/manifest.mf +++ b/ide/libs.truffleapi/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.truffleapi OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/truffle/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 OpenIDE-Module-Provides: com.oracle.truffle.polyglot.PolyglotImpl OpenIDE-Module-Hide-Classpath-Packages: com.oracle.truffle.**,jdk.vm.ci.services.**, org.graalvm.shadowed.org.jcodings.** diff --git a/ide/libs.xerces/nbproject/project.properties b/ide/libs.xerces/nbproject/project.properties index b0dd448c9157..2d5a4a362bf1 100644 --- a/ide/libs.xerces/nbproject/project.properties +++ b/ide/libs.xerces/nbproject/project.properties @@ -18,7 +18,7 @@ is.autoload=true release.external/xercesImpl-2.8.0.jar=modules/ext/xerces-2.8.0.jar module.jar.verifylinkageignores=org.apache.xerces.util.XMLCatalogResolver -spec.version.base=1.64.0 +spec.version.base=1.65.0 # This is an very old library, the complete dependencies were never explored. # Since subpackage-s are working in new sigtest version, generation of the diff --git a/ide/localhistory/manifest.mf b/ide/localhistory/manifest.mf index 7644deee21b6..1b5a007081ea 100644 --- a/ide/localhistory/manifest.mf +++ b/ide/localhistory/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.localhistory OpenIDE-Module-Install: org/netbeans/modules/localhistory/ModuleLifecycleManager.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/localhistory/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/ide/localtasks/manifest.mf b/ide/localtasks/manifest.mf index 4bb7797bdc2b..1e1f0f45f44b 100644 --- a/ide/localtasks/manifest.mf +++ b/ide/localtasks/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.localtasks OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/localtasks/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 diff --git a/ide/lsp.client/nbproject/project.properties b/ide/lsp.client/nbproject/project.properties index 1a90e0b6e615..cdc99aad839b 100644 --- a/ide/lsp.client/nbproject/project.properties +++ b/ide/lsp.client/nbproject/project.properties @@ -26,4 +26,4 @@ release.external/org.eclipse.lsp4j.jsonrpc.debug-0.13.0.jar=modules/ext/org.ecli release.external/org.eclipse.xtend.lib-2.24.0.jar=modules/ext/org.eclipse.xtend.lib-2.24.0.jar release.external/org.eclipse.xtend.lib.macro-2.24.0.jar=modules/ext/org.eclipse.xtend.lib.macro-2.24.0.jar release.external/org.eclipse.xtext.xbase.lib-2.24.0.jar=modules/ext/org.eclipse.xtext.xbase.lib-2.24.0.jar -spec.version.base=1.27.0 +spec.version.base=1.28.0 diff --git a/ide/markdown/manifest.mf b/ide/markdown/manifest.mf index d371ff06433b..df2f88faab82 100644 --- a/ide/markdown/manifest.mf +++ b/ide/markdown/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.markdown OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/markdown/Bundle.properties -OpenIDE-Module-Specification-Version: 1.14 +OpenIDE-Module-Specification-Version: 1.15 diff --git a/ide/mercurial/nbproject/project.properties b/ide/mercurial/nbproject/project.properties index c56e68ee7196..6479f42d65e7 100644 --- a/ide/mercurial/nbproject/project.properties +++ b/ide/mercurial/nbproject/project.properties @@ -19,7 +19,7 @@ javac.source=1.8 nbm.homepage=http://wiki.netbeans.org/wiki/view/MercurialVersionControl nbm.module.author=John Rice and Padraig O'Briain nbm.needs.restart=true -spec.version.base=2.2.0 +spec.version.base=2.3.0 #qa-functional test.qa-functional.cp.extra=${openide.nodes.dir}/modules/org-openide-nodes.jar:\${openide.util.dir}/lib/org-openide-util.jar:${openide.util.ui.dir}/lib/org-openide-util-ui.jar diff --git a/ide/mylyn.util/manifest.mf b/ide/mylyn.util/manifest.mf index 751db89f7728..143734d2669b 100644 --- a/ide/mylyn.util/manifest.mf +++ b/ide/mylyn.util/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.mylyn.util OpenIDE-Module-Layer: org/netbeans/modules/mylyn/util/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/mylyn/util/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module-Install: org/netbeans/modules/mylyn/util/internal/ModuleLifecycleManager.class diff --git a/ide/nativeimage.api/manifest.mf b/ide/nativeimage.api/manifest.mf index de62b853a042..28b776067096 100644 --- a/ide/nativeimage.api/manifest.mf +++ b/ide/nativeimage.api/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.nativeimage.api/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nativeimage/api/Bundle.properties -OpenIDE-Module-Specification-Version: 0.18 +OpenIDE-Module-Specification-Version: 0.19 diff --git a/ide/notifications/manifest.mf b/ide/notifications/manifest.mf index 24a52fd3eb62..9e6e17be971c 100644 --- a/ide/notifications/manifest.mf +++ b/ide/notifications/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.notifications OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/notifications/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/ide/o.apache.commons.httpclient/manifest.mf b/ide/o.apache.commons.httpclient/manifest.mf index 97f417456ca9..cad71d2e6d69 100644 --- a/ide/o.apache.commons.httpclient/manifest.mf +++ b/ide/o.apache.commons.httpclient/manifest.mf @@ -1,2 +1,2 @@ OpenIDE-Module: org.apache.commons.httpclient -OpenIDE-Module-Specification-Version: 3.31 +OpenIDE-Module-Specification-Version: 3.32 diff --git a/ide/o.apache.xml.resolver/nbproject/project.properties b/ide/o.apache.xml.resolver/nbproject/project.properties index 1e085fb15aff..28f59a6c55b1 100644 --- a/ide/o.apache.xml.resolver/nbproject/project.properties +++ b/ide/o.apache.xml.resolver/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true release.external/resolver-1.2.jar=modules/ext/resolver-1.2.jar -spec.version.base=1.57.0 +spec.version.base=1.58.0 diff --git a/ide/o.n.swing.dirchooser/manifest.mf b/ide/o.n.swing.dirchooser/manifest.mf index 062ffc291c3b..28fa1510e637 100644 --- a/ide/o.n.swing.dirchooser/manifest.mf +++ b/ide/o.n.swing.dirchooser/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.swing.dirchooser OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/dirchooser/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 OpenIDE-Module-Install: org/netbeans/swing/dirchooser/Module.class AutoUpdate-Show-In-Client: false diff --git a/ide/o.openidex.util/manifest.mf b/ide/o.openidex.util/manifest.mf index 4eab41651c72..a71f14e65b07 100644 --- a/ide/o.openidex.util/manifest.mf +++ b/ide/o.openidex.util/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openidex.util/3 OpenIDE-Module-Localizing-Bundle: org/openidex/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 3.73 +OpenIDE-Module-Specification-Version: 3.74 OpenIDE-Module-Deprecated: true OpenIDE-Module-Deprecation-Message: Module o.openidex.util is deprecated, use module api.search instead. AutoUpdate-Essential-Module: true diff --git a/ide/options.editor/manifest.mf b/ide/options.editor/manifest.mf index 8a520939611d..285ed895e6df 100644 --- a/ide/options.editor/manifest.mf +++ b/ide/options.editor/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.options.editor/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/editor/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/options/editor/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.86 +OpenIDE-Module-Specification-Version: 1.87 AutoUpdate-Show-In-Client: false diff --git a/ide/parsing.api/nbproject/project.properties b/ide/parsing.api/nbproject/project.properties index f4e7542d9817..abe99b006b87 100644 --- a/ide/parsing.api/nbproject/project.properties +++ b/ide/parsing.api/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml -spec.version.base=9.33.0 +spec.version.base=9.34.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/parsing.indexing/nbproject/project.properties b/ide/parsing.indexing/nbproject/project.properties index 7b0db0ba928e..3d7ce4d4ef2a 100644 --- a/ide/parsing.indexing/nbproject/project.properties +++ b/ide/parsing.indexing/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=9.37.0 +spec.version.base=9.38.0 is.autoload=true javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/parsing.lucene/nbproject/project.properties b/ide/parsing.lucene/nbproject/project.properties index f8d987c82647..15d057bbb19c 100644 --- a/ide/parsing.lucene/nbproject/project.properties +++ b/ide/parsing.lucene/nbproject/project.properties @@ -19,7 +19,7 @@ javac.source=1.8 javadoc.apichanges=${basedir}/apichanges.xml javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.62.0 +spec.version.base=2.63.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ **/LuceneIndexTest.class diff --git a/ide/parsing.nb/nbproject/project.properties b/ide/parsing.nb/nbproject/project.properties index eeb28896fbb0..b0590565f412 100644 --- a/ide/parsing.nb/nbproject/project.properties +++ b/ide/parsing.nb/nbproject/project.properties @@ -17,6 +17,6 @@ is.eager=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.30.0 +spec.version.base=1.31.0 #javadoc.apichanges=${basedir}/apichanges.xml #javadoc.files= diff --git a/ide/parsing.ui/nbproject/project.properties b/ide/parsing.ui/nbproject/project.properties index 7fdc78adc640..f774a9b2f0d8 100644 --- a/ide/parsing.ui/nbproject/project.properties +++ b/ide/parsing.ui/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.40.0 +spec.version.base=1.41.0 diff --git a/ide/print.editor/manifest.mf b/ide/print.editor/manifest.mf index 738c4dc44a09..e7b97712e5f5 100644 --- a/ide/print.editor/manifest.mf +++ b/ide/print.editor/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 7.52 +OpenIDE-Module-Specification-Version: 7.53 OpenIDE-Module: org.netbeans.modules.print.editor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/print/editor/resources/Bundle.properties diff --git a/ide/project.ant.compat8/manifest.mf b/ide/project.ant.compat8/manifest.mf index fc5020a4f04d..d111ed6748cf 100644 --- a/ide/project.ant.compat8/manifest.mf +++ b/ide/project.ant.compat8/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.ant.compat8/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/ant/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 1.93 +OpenIDE-Module-Specification-Version: 1.94 OpenIDE-Module-Fragment-Host: org.netbeans.modules.project.ant diff --git a/ide/project.ant.ui/manifest.mf b/ide/project.ant.ui/manifest.mf index c6f126a21737..fda1310ee96c 100644 --- a/ide/project.ant.ui/manifest.mf +++ b/ide/project.ant.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.ant.ui/1 -OpenIDE-Module-Specification-Version: 1.91 +OpenIDE-Module-Specification-Version: 1.92 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/ant/ui/Bundle.properties OpenIDE-Module-Install: org/netbeans/modules/project/ant/ui/AntProjectModule.class diff --git a/ide/project.ant/manifest.mf b/ide/project.ant/manifest.mf index 122b1f3d7562..19b00d45ea63 100644 --- a/ide/project.ant/manifest.mf +++ b/ide/project.ant/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.ant/1 -OpenIDE-Module-Specification-Version: 1.93 +OpenIDE-Module-Specification-Version: 1.94 OpenIDE-Module-Layer: org/netbeans/modules/project/ant/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/ant/Bundle.properties diff --git a/ide/project.dependency/nbproject/project.properties b/ide/project.dependency/nbproject/project.properties index e058ce73e4b4..a467df6a0e8d 100644 --- a/ide/project.dependency/nbproject/project.properties +++ b/ide/project.dependency/nbproject/project.properties @@ -18,5 +18,5 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.11.0 +spec.version.base=1.12.0 test-unit-sys-prop.org.netbeans.modules.project.dependency.impl.ProjectReloadInternal.level=400 diff --git a/ide/project.indexingbridge/manifest.mf b/ide/project.indexingbridge/manifest.mf index 11b7bba28f55..e12b7f7ba02d 100644 --- a/ide/project.indexingbridge/manifest.mf +++ b/ide/project.indexingbridge/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.indexingbridge OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/indexingbridge/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/ide/project.libraries.ui/manifest.mf b/ide/project.libraries.ui/manifest.mf index 0511366b60eb..c208d725635c 100644 --- a/ide/project.libraries.ui/manifest.mf +++ b/ide/project.libraries.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.libraries.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/libraries/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.78 +OpenIDE-Module-Specification-Version: 1.79 diff --git a/ide/project.libraries/manifest.mf b/ide/project.libraries/manifest.mf index 7f55f88082c6..62b272ad6756 100644 --- a/ide/project.libraries/manifest.mf +++ b/ide/project.libraries/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.libraries/1 OpenIDE-Module-Layer: org/netbeans/modules/project/libraries/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.79 +OpenIDE-Module-Specification-Version: 1.80 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/libraries/resources/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/ide/project.spi.intern.impl/manifest.mf b/ide/project.spi.intern.impl/manifest.mf index d190b48d3349..ab51842c9fbd 100644 --- a/ide/project.spi.intern.impl/manifest.mf +++ b/ide/project.spi.intern.impl/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.spi.intern.impl OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/spi/intern/impl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/ide/project.spi.intern/manifest.mf b/ide/project.spi.intern/manifest.mf index a6063ae609af..53de31e6e54f 100644 --- a/ide/project.spi.intern/manifest.mf +++ b/ide/project.spi.intern/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.project.spi.intern OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/project/spi/intern/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/ide/projectapi.nb/manifest.mf b/ide/projectapi.nb/manifest.mf index 184722824b74..573e552e7195 100644 --- a/ide/projectapi.nb/manifest.mf +++ b/ide/projectapi.nb/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.projectapi.nb OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/projectapi/nb/Bundle.properties OpenIDE-Module-Provides: org.netbeans.spi.project.ProjectManagerImplementation -OpenIDE-Module-Specification-Version: 1.30 +OpenIDE-Module-Specification-Version: 1.31 AutoUpdate-Show-In-Client: false diff --git a/ide/projectapi/manifest.mf b/ide/projectapi/manifest.mf index f8119783bc13..7fefbde717a1 100644 --- a/ide/projectapi/manifest.mf +++ b/ide/projectapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.projectapi/1 -OpenIDE-Module-Specification-Version: 1.97 +OpenIDE-Module-Specification-Version: 1.98 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/projectapi/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/projectapi/layer.xml OpenIDE-Module-Needs: org.netbeans.spi.project.ProjectManagerImplementation diff --git a/ide/projectui.buildmenu/nbproject/project.properties b/ide/projectui.buildmenu/nbproject/project.properties index 1e1e57f4ec5d..ed76076e23d8 100644 --- a/ide/projectui.buildmenu/nbproject/project.properties +++ b/ide/projectui.buildmenu/nbproject/project.properties @@ -19,4 +19,4 @@ is.autoload=true javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.52.0 +spec.version.base=1.53.0 diff --git a/ide/projectui/nbproject/project.properties b/ide/projectui/nbproject/project.properties index 4e8d82ed6e16..b3da0742d9c7 100644 --- a/ide/projectui/nbproject/project.properties +++ b/ide/projectui/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint:unchecked javac.release=17 -spec.version.base=1.85.0 +spec.version.base=1.86.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/projectuiapi.base/nbproject/project.properties b/ide/projectuiapi.base/nbproject/project.properties index 0e21876053a7..b6643c970f45 100644 --- a/ide/projectuiapi.base/nbproject/project.properties +++ b/ide/projectuiapi.base/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.112.0 +spec.version.base=1.113.0 is.autoload=true javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/projectuiapi/nbproject/project.properties b/ide/projectuiapi/nbproject/project.properties index 6aa8e6189210..fcfaa9f92472 100644 --- a/ide/projectuiapi/nbproject/project.properties +++ b/ide/projectuiapi/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.115.0 +spec.version.base=1.116.0 is.autoload=true javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/ide/properties.syntax/manifest.mf b/ide/properties.syntax/manifest.mf index 2a8802844063..25d5b87db6cf 100644 --- a/ide/properties.syntax/manifest.mf +++ b/ide/properties.syntax/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.properties.syntax/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/properties/syntax/Bundle.properties -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 OpenIDE-Module-Install: org/netbeans/modules/properties/syntax/RestoreColoring.class OpenIDE-Module-Layer: org/netbeans/modules/properties/syntax/Layer.xml diff --git a/ide/properties/manifest.mf b/ide/properties/manifest.mf index b0d0c88ab072..50239b08405c 100644 --- a/ide/properties/manifest.mf +++ b/ide/properties/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.properties/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/properties/Bundle.properties -OpenIDE-Module-Specification-Version: 1.81 +OpenIDE-Module-Specification-Version: 1.82 OpenIDE-Module-Layer: org/netbeans/modules/properties/Layer.xml AutoUpdate-Show-In-Client: false diff --git a/ide/refactoring.api/nbproject/project.properties b/ide/refactoring.api/nbproject/project.properties index 28353fae02e1..750ae2451d32 100644 --- a/ide/refactoring.api/nbproject/project.properties +++ b/ide/refactoring.api/nbproject/project.properties @@ -20,5 +20,5 @@ javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml javadoc.title=Refactoring API -spec.version.base=1.73.0 +spec.version.base=1.74.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/schema2beans/manifest.mf b/ide/schema2beans/manifest.mf index 479a4820ac0a..ad1b9c829f98 100644 --- a/ide/schema2beans/manifest.mf +++ b/ide/schema2beans/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/schema2beans/Bundle.properties OpenIDE-Module: org.netbeans.modules.schema2beans/1 -OpenIDE-Module-Specification-Version: 1.73 +OpenIDE-Module-Specification-Version: 1.74 diff --git a/ide/selenium2.server/manifest.mf b/ide/selenium2.server/manifest.mf index 79bf849d7505..c249678ca26f 100644 --- a/ide/selenium2.server/manifest.mf +++ b/ide/selenium2.server/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.server OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/server/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/ide/selenium2/manifest.mf b/ide/selenium2/manifest.mf index b9bf1e598e41..e930b84928f4 100644 --- a/ide/selenium2/manifest.mf +++ b/ide/selenium2/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2 OpenIDE-Module-Layer: org/netbeans/modules/selenium2/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/Bundle.properties -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 diff --git a/ide/server/manifest.mf b/ide/server/manifest.mf index 22e28c8ba2df..a6ef98e3a537 100644 --- a/ide/server/manifest.mf +++ b/ide/server/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.server/0 OpenIDE-Module-Layer: org/netbeans/modules/server/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/server/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: org.netbeans.modules.server diff --git a/ide/servletapi/manifest.mf b/ide/servletapi/manifest.mf index 63f9c661343c..857c02a0fb3f 100644 --- a/ide/servletapi/manifest.mf +++ b/ide/servletapi/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.servletapi/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/servletapi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.65 +OpenIDE-Module-Specification-Version: 1.66 diff --git a/ide/spellchecker.apimodule/manifest.mf b/ide/spellchecker.apimodule/manifest.mf index eb570c0d5344..a4c23fa10756 100644 --- a/ide/spellchecker.apimodule/manifest.mf +++ b/ide/spellchecker.apimodule/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.apimodule XOpenIDE-Module-Layer: org/netbeans/modules/spellchecker/apimodule/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/apimodule/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 AutoUpdate-Show-In-Client: false diff --git a/ide/spellchecker.bindings.htmlxml/manifest.mf b/ide/spellchecker.bindings.htmlxml/manifest.mf index fa1e1ad864e9..314ade6fc7c4 100644 --- a/ide/spellchecker.bindings.htmlxml/manifest.mf +++ b/ide/spellchecker.bindings.htmlxml/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.htmlxml OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/htmlxml/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/htmlxml/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 diff --git a/ide/spellchecker.bindings.properties/manifest.mf b/ide/spellchecker.bindings.properties/manifest.mf index 844b0625ddb4..6c81b1c019de 100644 --- a/ide/spellchecker.bindings.properties/manifest.mf +++ b/ide/spellchecker.bindings.properties/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.properties OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/properties/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/properties/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/ide/spellchecker.dictionary_en/manifest.mf b/ide/spellchecker.dictionary_en/manifest.mf index 04a8cc45cdbc..9fd42c31bcea 100644 --- a/ide/spellchecker.dictionary_en/manifest.mf +++ b/ide/spellchecker.dictionary_en/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.dictionary_en XOpenIDE-Module-Layer: org/netbeans/modules/spellchecker/dictionary_en/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/dictionary_en/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/ide/spellchecker.kit/manifest.mf b/ide/spellchecker.kit/manifest.mf index ada65faed78c..b6e72d66552b 100644 --- a/ide/spellchecker.kit/manifest.mf +++ b/ide/spellchecker.kit/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.kit XOpenIDE-Module-Layer: org/netbeans/modules/spellchecker/kit/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 diff --git a/ide/spellchecker/nbproject/project.properties b/ide/spellchecker/nbproject/project.properties index b251dc5f1f4a..2d8ef2144a27 100644 --- a/ide/spellchecker/nbproject/project.properties +++ b/ide/spellchecker/nbproject/project.properties @@ -20,7 +20,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 nbm.homepage=http://spellchecker.netbeans.org nbm.module.author=Jan Lahoda -spec.version.base=1.61.0 +spec.version.base=1.62.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/spi.debugger.ui/manifest.mf b/ide/spi.debugger.ui/manifest.mf index c631276acc86..764b47b39363 100644 --- a/ide/spi.debugger.ui/manifest.mf +++ b/ide/spi.debugger.ui/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.debugger.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/ui/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 2.84 +OpenIDE-Module-Specification-Version: 2.85 OpenIDE-Module-Provides: org.netbeans.spi.debugger.ui OpenIDE-Module-Install: org/netbeans/modules/debugger/ui/DebuggerModule.class diff --git a/ide/spi.editor.hints.projects/nbproject/project.properties b/ide/spi.editor.hints.projects/nbproject/project.properties index b968453f283a..72ee774a3f4b 100644 --- a/ide/spi.editor.hints.projects/nbproject/project.properties +++ b/ide/spi.editor.hints.projects/nbproject/project.properties @@ -18,5 +18,5 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.37.0 +spec.version.base=1.38.0 spec.version.base.fatal.warning=false diff --git a/ide/spi.editor.hints/nbproject/project.properties b/ide/spi.editor.hints/nbproject/project.properties index 5025f75d900d..85c072dd3e30 100644 --- a/ide/spi.editor.hints/nbproject/project.properties +++ b/ide/spi.editor.hints/nbproject/project.properties @@ -18,6 +18,6 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.68.0 +spec.version.base=1.69.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/spi.navigator/manifest.mf b/ide/spi.navigator/manifest.mf index badd66e9bd31..8ee57f4c9539 100644 --- a/ide/spi.navigator/manifest.mf +++ b/ide/spi.navigator/manifest.mf @@ -2,4 +2,4 @@ Manifest-version: 1.0 OpenIDE-Module: org.netbeans.spi.navigator/1 OpenIDE-Module-Layer: org/netbeans/modules/navigator/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/navigator/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/ide/spi.palette/manifest.mf b/ide/spi.palette/manifest.mf index f5f3ac9f550e..b4ee3c16a060 100644 --- a/ide/spi.palette/manifest.mf +++ b/ide/spi.palette/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.palette/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/palette/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 OpenIDE-Module-Layer: org/netbeans/modules/palette/resources/layer.xml diff --git a/ide/spi.tasklist/nbproject/project.properties b/ide/spi.tasklist/nbproject/project.properties index 07dd5d467c5f..b7ffe35610a2 100644 --- a/ide/spi.tasklist/nbproject/project.properties +++ b/ide/spi.tasklist/nbproject/project.properties @@ -19,6 +19,6 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.61.0 +spec.version.base=1.62.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/spi.viewmodel/manifest.mf b/ide/spi.viewmodel/manifest.mf index dba2cdf787c1..1c2920ebce7f 100644 --- a/ide/spi.viewmodel/manifest.mf +++ b/ide/spi.viewmodel/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.viewmodel/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/viewmodel/Bundle.properties -OpenIDE-Module-Specification-Version: 1.77 +OpenIDE-Module-Specification-Version: 1.78 diff --git a/ide/subversion/nbproject/project.properties b/ide/subversion/nbproject/project.properties index 808e56a2e562..c98fa6810bfe 100644 --- a/ide/subversion/nbproject/project.properties +++ b/ide/subversion/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -spec.version.base=1.68.0 +spec.version.base=1.69.0 javac.compilerargs=-Xlint:unchecked javac.source=1.8 diff --git a/ide/swing.validation/manifest.mf b/ide/swing.validation/manifest.mf index 8acf59a367d9..f435176a5623 100644 --- a/ide/swing.validation/manifest.mf +++ b/ide/swing.validation/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.swing.validation/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/swing/validation/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/ide/target.iterator/manifest.mf b/ide/target.iterator/manifest.mf index 93214c2703ee..bd9538815ae3 100644 --- a/ide/target.iterator/manifest.mf +++ b/ide/target.iterator/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.target.iterator/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/target/iterator/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 AutoUpdate-Show-In-Client: false diff --git a/ide/tasklist.kit/manifest.mf b/ide/tasklist.kit/manifest.mf index 76e43c54e30b..dc84b428b0af 100644 --- a/ide/tasklist.kit/manifest.mf +++ b/ide/tasklist.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.tasklist.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/tasklist/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/ide/tasklist.projectint/manifest.mf b/ide/tasklist.projectint/manifest.mf index 74c23ad9ad58..2f9762f1ae2c 100644 --- a/ide/tasklist.projectint/manifest.mf +++ b/ide/tasklist.projectint/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.tasklist.projectint/1 OpenIDE-Module-Layer: org/netbeans/modules/tasklist/projectint/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/tasklist/projectint/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 AutoUpdate-Show-In-Client: false diff --git a/ide/tasklist.todo/nbproject/project.properties b/ide/tasklist.todo/nbproject/project.properties index 876beb53655b..6e4222be4630 100644 --- a/ide/tasklist.todo/nbproject/project.properties +++ b/ide/tasklist.todo/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.57.0 +spec.version.base=1.58.0 #hook for apisupport TestBase test-unit-sys-prop.test.nbcvsroot=${nb_all} test-unit-sys-prop.xtest.netbeans.dest.dir=${netbeans.dest.dir} diff --git a/ide/tasklist.ui/nbproject/project.properties b/ide/tasklist.ui/nbproject/project.properties index 1694d26c026c..d198539c4faf 100644 --- a/ide/tasklist.ui/nbproject/project.properties +++ b/ide/tasklist.ui/nbproject/project.properties @@ -16,6 +16,6 @@ # under the License. javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.57.0 +spec.version.base=1.58.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/team.commons/manifest.mf b/ide/team.commons/manifest.mf index 315d5553c749..da7026ea769d 100644 --- a/ide/team.commons/manifest.mf +++ b/ide/team.commons/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.team.commons OpenIDE-Module-Layer: org/netbeans/modules/team/commons/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/team/commons/Bundle.properties -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 diff --git a/ide/team.ide/manifest.mf b/ide/team.ide/manifest.mf index cb857e5d9874..30a87446427c 100644 --- a/ide/team.ide/manifest.mf +++ b/ide/team.ide/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.team.ide OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/team/ide/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/ide/terminal.nb/manifest.mf b/ide/terminal.nb/manifest.mf index 60f2ab0a1a68..532adffddcce 100644 --- a/ide/terminal.nb/manifest.mf +++ b/ide/terminal.nb/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.terminal.nb OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/terminal/nb/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/terminal/nb/layer.xml -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/ide/terminal/manifest.mf b/ide/terminal/manifest.mf index 8959aa04bb8a..ce7554b4133b 100644 --- a/ide/terminal/manifest.mf +++ b/ide/terminal/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.terminal OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/terminal/Bundle.properties OpenIDE-Module-Provides: org.openide.windows.IOProvider -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 diff --git a/ide/textmate.lexer/nbproject/project.properties b/ide/textmate.lexer/nbproject/project.properties index d31cadc606ce..f539f425d971 100644 --- a/ide/textmate.lexer/nbproject/project.properties +++ b/ide/textmate.lexer/nbproject/project.properties @@ -21,4 +21,4 @@ javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml release.external/joni-2.1.11.jar=modules/ext/joni-2.1.11.jar release.external/org.eclipse.tm4e.core-0.4.1-pack1.jar=modules/ext/org.eclipse.tm4e.core-0.4.1-pack1.jar -spec.version.base=1.26.0 +spec.version.base=1.27.0 diff --git a/ide/usersguide/manifest.mf b/ide/usersguide/manifest.mf index 5d4e80becaf5..b4a6516aab43 100644 --- a/ide/usersguide/manifest.mf +++ b/ide/usersguide/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.usersguide/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/usersguide/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/usersguide/layer.xml -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 AutoUpdate-Show-In-Client: false diff --git a/ide/utilities.project/manifest.mf b/ide/utilities.project/manifest.mf index 3b0d9055751d..cdb92f4e6a33 100644 --- a/ide/utilities.project/manifest.mf +++ b/ide/utilities.project/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.utilities.project/1 OpenIDE-Module-Layer: org/netbeans/modules/search/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/search/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 diff --git a/ide/utilities/manifest.mf b/ide/utilities/manifest.mf index de8e649894c4..e86ca0dc6db9 100644 --- a/ide/utilities/manifest.mf +++ b/ide/utilities/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.utilities/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/utilities/Bundle.properties -OpenIDE-Module-Specification-Version: 1.87 +OpenIDE-Module-Specification-Version: 1.88 OpenIDE-Module-Install: org/netbeans/modules/utilities/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/utilities/Layer.xml OpenIDE-Module-Requires: org.openide.modules.InstalledFileLocator diff --git a/ide/versioning.core/nbproject/project.properties b/ide/versioning.core/nbproject/project.properties index 21f0fcc0899b..f1a34d769634 100644 --- a/ide/versioning.core/nbproject/project.properties +++ b/ide/versioning.core/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.name=Versioning -spec.version.base=1.57.0 +spec.version.base=1.58.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/versioning.indexingbridge/manifest.mf b/ide/versioning.indexingbridge/manifest.mf index 993a8d853b84..e8b672dca1a0 100644 --- a/ide/versioning.indexingbridge/manifest.mf +++ b/ide/versioning.indexingbridge/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.versioning.indexingbridge/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/versioning/indexingbridge/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.versioning.indexingbridge -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/ide/versioning.masterfs/manifest.mf b/ide/versioning.masterfs/manifest.mf index 8cb6f9349dff..7a795f70fbc4 100644 --- a/ide/versioning.masterfs/manifest.mf +++ b/ide/versioning.masterfs/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.versioning.masterfs OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/versioning/masterfs/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/ide/versioning.system.cvss.installer/manifest.mf b/ide/versioning.system.cvss.installer/manifest.mf index 03c4c87f2a4f..e0e9bb63d4cd 100644 --- a/ide/versioning.system.cvss.installer/manifest.mf +++ b/ide/versioning.system.cvss.installer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.versioning.system.cvss.installer OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/versioning/system/cvss/installer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 AutoUpdate-Essential-Module: false diff --git a/ide/versioning.ui/nbproject/project.properties b/ide/versioning.ui/nbproject/project.properties index a529e1263807..df61b98a09e1 100644 --- a/ide/versioning.ui/nbproject/project.properties +++ b/ide/versioning.ui/nbproject/project.properties @@ -19,4 +19,4 @@ is.eager=true javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.49.0 +spec.version.base=1.50.0 diff --git a/ide/versioning.util/nbproject/project.properties b/ide/versioning.util/nbproject/project.properties index 56c6b59e516a..4107c09dc0ad 100644 --- a/ide/versioning.util/nbproject/project.properties +++ b/ide/versioning.util/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint:unchecked javac.release=11 javadoc.name=Versioning Support Utilities -spec.version.base=2.2.0 +spec.version.base=2.3.0 is.autoload=true # Fatal error: Fatal error: class javax.net.SocketFactory not found diff --git a/ide/versioning/nbproject/project.properties b/ide/versioning/nbproject/project.properties index a867758cf6c3..2204238ad025 100644 --- a/ide/versioning/nbproject/project.properties +++ b/ide/versioning/nbproject/project.properties @@ -19,7 +19,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 javadoc.name=Versioning -spec.version.base=1.73.0 +spec.version.base=1.74.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/ide/web.browser.api/manifest.mf b/ide/web.browser.api/manifest.mf index 06eba5b6f83c..526cb6c3b326 100644 --- a/ide/web.browser.api/manifest.mf +++ b/ide/web.browser.api/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.modules.web.browser.api OpenIDE-Module-Layer: org/netbeans/modules/web/browser/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/browser/api/Bundle.properties OpenIDE-Module-Recommends: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.71 +OpenIDE-Module-Specification-Version: 1.72 diff --git a/ide/web.common.ui/manifest.mf b/ide/web.common.ui/manifest.mf index 9b96a46c639b..56037eedef90 100644 --- a/ide/web.common.ui/manifest.mf +++ b/ide/web.common.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.common.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/common/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 diff --git a/ide/web.common/manifest.mf b/ide/web.common/manifest.mf index 8f47c61c9261..b2eeb644dc57 100644 --- a/ide/web.common/manifest.mf +++ b/ide/web.common/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.common OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/common/Bundle.properties -OpenIDE-Module-Specification-Version: 1.125 +OpenIDE-Module-Specification-Version: 1.126 diff --git a/ide/web.indent/manifest.mf b/ide/web.indent/manifest.mf index 2e157d88d5db..e3c5787316a4 100644 --- a/ide/web.indent/manifest.mf +++ b/ide/web.indent/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.indent OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/indent/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/ide/web.webkit.debugging/manifest.mf b/ide/web.webkit.debugging/manifest.mf index 121d002fb7af..b1a2f32cb7af 100644 --- a/ide/web.webkit.debugging/manifest.mf +++ b/ide/web.webkit.debugging/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.webkit.debugging OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/webkit/debugging/Bundle.properties -OpenIDE-Module-Specification-Version: 1.79 +OpenIDE-Module-Specification-Version: 1.80 diff --git a/ide/xml.axi/manifest.mf b/ide/xml.axi/manifest.mf index c409535ebcf9..5ee90cbca861 100644 --- a/ide/xml.axi/manifest.mf +++ b/ide/xml.axi/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.xml.axi OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/axi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/ide/xml.catalog.ui/nbproject/project.properties b/ide/xml.catalog.ui/nbproject/project.properties index fe00d9f37e62..7b612cea6749 100644 --- a/ide/xml.catalog.ui/nbproject/project.properties +++ b/ide/xml.catalog.ui/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.29.0 +spec.version.base=2.30.0 diff --git a/ide/xml.catalog/nbproject/project.properties b/ide/xml.catalog/nbproject/project.properties index 655da59a5b98..16d5b203a759 100644 --- a/ide/xml.catalog/nbproject/project.properties +++ b/ide/xml.catalog/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.source=1.8 -spec.version.base=3.30.0 +spec.version.base=3.31.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/xml.core/nbproject/project.properties b/ide/xml.core/nbproject/project.properties index 2e437fbba105..c1bc7ab50ba9 100644 --- a/ide/xml.core/nbproject/project.properties +++ b/ide/xml.core/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.69.0 +spec.version.base=1.70.0 is.autoload=true javadoc.packages=\ diff --git a/ide/xml.jaxb.api/manifest.mf b/ide/xml.jaxb.api/manifest.mf index 1565bb315299..ff1f6366d4bf 100644 --- a/ide/xml.jaxb.api/manifest.mf +++ b/ide/xml.jaxb.api/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.xml.jaxb.api/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/jaxb/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 OpenIDE-Module-Needs: com.sun.xml.bind OpenIDE-Module-Hide-Classpath-Packages: javax.xml.bind.** diff --git a/ide/xml.lexer/manifest.mf b/ide/xml.lexer/manifest.mf index 3dc9930a5d82..bf407a560ba6 100644 --- a/ide/xml.lexer/manifest.mf +++ b/ide/xml.lexer/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.xml.lexer OpenIDE-Module-Localizing-Bundle: org/netbeans/api/xml/lexer/Bundle.properties OpenIDE-Module-Layer: org/netbeans/lib/xml/lexer/layer.xml -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 AutoUpdate-Show-In-Client: false diff --git a/ide/xml.multiview/nbproject/project.properties b/ide/xml.multiview/nbproject/project.properties index 6341dd5759e9..2fe27d4b41cf 100644 --- a/ide/xml.multiview/nbproject/project.properties +++ b/ide/xml.multiview/nbproject/project.properties @@ -18,7 +18,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.64.0 +spec.version.base=1.65.0 is.autoload=true test.unit.cp.extra= diff --git a/ide/xml.retriever/manifest.mf b/ide/xml.retriever/manifest.mf index 643596d294fc..eafd417e1b2e 100644 --- a/ide/xml.retriever/manifest.mf +++ b/ide/xml.retriever/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module: org.netbeans.modules.xml.retriever/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/retriever/Bundle.properties diff --git a/ide/xml.schema.completion/manifest.mf b/ide/xml.schema.completion/manifest.mf index 679c5db18995..78adc8904a11 100644 --- a/ide/xml.schema.completion/manifest.mf +++ b/ide/xml.schema.completion/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.xml.schema.completion OpenIDE-Module-Layer: org/netbeans/modules/xml/schema/completion/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/schema/completion/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/ide/xml.schema.model/nbproject/project.properties b/ide/xml.schema.model/nbproject/project.properties index dd6db083d480..f6ed845d64d4 100644 --- a/ide/xml.schema.model/nbproject/project.properties +++ b/ide/xml.schema.model/nbproject/project.properties @@ -21,7 +21,7 @@ is.autoload=true javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.58.0 +spec.version.base=1.59.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/ide/xml.tax/nbproject/project.properties b/ide/xml.tax/nbproject/project.properties index 029d4ee9f57f..f7826b293613 100644 --- a/ide/xml.tax/nbproject/project.properties +++ b/ide/xml.tax/nbproject/project.properties @@ -19,6 +19,6 @@ extra.module.files=modules/ext/org-netbeans-tax.jar is.autoload=true javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.70.0 +spec.version.base=1.71.0 # Apache's XNI API - parser implementation used internally by module xni-impl.jar=${libs.xerces.dir}/modules/ext/xerces-2.8.0.jar diff --git a/ide/xml.text.obsolete90/nbproject/project.properties b/ide/xml.text.obsolete90/nbproject/project.properties index d0561a2b33b6..6c5727929c89 100644 --- a/ide/xml.text.obsolete90/nbproject/project.properties +++ b/ide/xml.text.obsolete90/nbproject/project.properties @@ -18,4 +18,4 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.26.0 +spec.version.base=1.27.0 diff --git a/ide/xml.text/nbproject/project.properties b/ide/xml.text/nbproject/project.properties index 5e5557894ecb..77dfada9d398 100644 --- a/ide/xml.text/nbproject/project.properties +++ b/ide/xml.text/nbproject/project.properties @@ -27,5 +27,5 @@ test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ org/netbeans/modules/xml/text/completion/CompletionJTest.class,\ org/netbeans/modules/xml/text/syntax/ColoringTest.class -spec.version.base=1.85.0 +spec.version.base=1.86.0 diff --git a/ide/xml.tools/manifest.mf b/ide/xml.tools/manifest.mf index c525000eca8e..132a55d78b97 100644 --- a/ide/xml.tools/manifest.mf +++ b/ide/xml.tools/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.xml.tools/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/tools/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/xml/tools/resources/mf-layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 diff --git a/ide/xml.wsdl.model/nbproject/project.properties b/ide/xml.wsdl.model/nbproject/project.properties index 1878c529896c..3e17237a209c 100644 --- a/ide/xml.wsdl.model/nbproject/project.properties +++ b/ide/xml.wsdl.model/nbproject/project.properties @@ -20,7 +20,7 @@ is.autoload=true javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.59.0 +spec.version.base=1.60.0 release.external/generated-wsdl-xsd-2004.08.24.jar=modules/ext/generated-wsdl-xsd-2004.08.24.jar test.config.stableBTD.includes=**/*Test.class diff --git a/ide/xml.xam/nbproject/project.properties b/ide/xml.xam/nbproject/project.properties index fa6c40fa48f0..ad54565e58be 100644 --- a/ide/xml.xam/nbproject/project.properties +++ b/ide/xml.xam/nbproject/project.properties @@ -21,6 +21,6 @@ is.autoload=true javac.source=1.8 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.58.0 +spec.version.base=1.59.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/xml.xdm/nbproject/project.properties b/ide/xml.xdm/nbproject/project.properties index 5ed934b6f9e5..d4ba384d2e12 100644 --- a/ide/xml.xdm/nbproject/project.properties +++ b/ide/xml.xdm/nbproject/project.properties @@ -20,6 +20,6 @@ is.autoload=true javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.60.0 +spec.version.base=1.61.0 test.config.stableBTD.includes=**/*Test.class diff --git a/ide/xml/manifest.mf b/ide/xml/manifest.mf index 4a2bd2ea60c2..a3e263a61a15 100644 --- a/ide/xml/manifest.mf +++ b/ide/xml/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/resources/Bundle.prop OpenIDE-Module-Install: org/netbeans/modules/xml/CoreModuleInstall.class OpenIDE-Module-Layer: org/netbeans/modules/xml/resources/mf-layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/ide/xsl/manifest.mf b/ide/xsl/manifest.mf index 9cdb5eb6a475..6a032f1c9b07 100644 --- a/ide/xsl/manifest.mf +++ b/ide/xsl/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xsl/resources/Bundle.prop OpenIDE-Module-Layer: org/netbeans/modules/xsl/resources/mf-layer.xml OpenIDE-Module-Requires: org.openide.util.HttpServer$Impl AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 diff --git a/java/ant.browsetask/manifest.mf b/java/ant.browsetask/manifest.mf index 8b8d422d02e7..de36e8e1fc03 100644 --- a/java/ant.browsetask/manifest.mf +++ b/java/ant.browsetask/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ant.browsetask -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/browsetask/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/ant.debugger/nbproject/project.properties b/java/ant.debugger/nbproject/project.properties index 693b9906d3b7..0965caff44d9 100644 --- a/java/ant.debugger/nbproject/project.properties +++ b/java/ant.debugger/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.63.0 +spec.version.base=1.64.0 test.unit.run.cp.extra=${tools.jar} # Make the debugger find it, even if it is not on the startup debug classpath: # (note: first entry is for accuracy in case you customize it; second for convenience) diff --git a/java/ant.freeform/manifest.mf b/java/ant.freeform/manifest.mf index 4dbdcc7abb57..982038a74965 100644 --- a/java/ant.freeform/manifest.mf +++ b/java/ant.freeform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ant.freeform/1 -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/freeform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/ant/freeform/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/ant.grammar/manifest.mf b/java/ant.grammar/manifest.mf index da75c114bd04..82aae70c7496 100644 --- a/java/ant.grammar/manifest.mf +++ b/java/ant.grammar/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ant.grammar/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/grammar/Bundle.properties -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 diff --git a/java/ant.hints/manifest.mf b/java/ant.hints/manifest.mf index a3147c0ef834..f0ffd4c09763 100644 --- a/java/ant.hints/manifest.mf +++ b/java/ant.hints/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ant.hints/1 -OpenIDE-Module-Specification-Version: 1.20 +OpenIDE-Module-Specification-Version: 1.21 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/hints/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/ant.kit/manifest.mf b/java/ant.kit/manifest.mf index 19d4cac0d2bb..cc277dce1d4a 100644 --- a/java/ant.kit/manifest.mf +++ b/java/ant.kit/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.ant.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ant/kit/Bundle.properties OpenIDE-Module-Requires: BuildActions OpenIDE-Module-Recommends: org.netbeans.modules.testng.ant.AntTestNGSupport,org.netbeans.modules.junit.ant.JUnitAntLogger,org.netbeans.modules.junit.ant.ui.AntJUnitManagerProvider -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 diff --git a/java/api.debugger.jpda/manifest.mf b/java/api.debugger.jpda/manifest.mf index 0d93ca580c61..10d46e59bc92 100644 --- a/java/api.debugger.jpda/manifest.mf +++ b/java/api.debugger.jpda/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.debugger.jpda/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/debugger/jpda/Bundle.properties -OpenIDE-Module-Specification-Version: 3.36 +OpenIDE-Module-Specification-Version: 3.37 OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/api.java/manifest.mf b/java/api.java/manifest.mf index 7babac4f83de..88cf65c94e87 100644 --- a/java/api.java/manifest.mf +++ b/java/api.java/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.java/1 -OpenIDE-Module-Specification-Version: 1.93 +OpenIDE-Module-Specification-Version: 1.94 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/java/queries/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/api.maven/manifest.mf b/java/api.maven/manifest.mf index 8570da958ba3..ea1f8654555e 100644 --- a/java/api.maven/manifest.mf +++ b/java/api.maven/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.maven -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/maven/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/beans/nbproject/project.properties b/java/beans/nbproject/project.properties index 05e8391eeeb7..5d85c29cc28c 100644 --- a/java/beans/nbproject/project.properties +++ b/java/beans/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.77.0 +spec.version.base=1.78.0 test.config.stable.includes=\ diff --git a/java/classfile/manifest.mf b/java/classfile/manifest.mf index 0c804faaa4ec..5a0e2d85ebfb 100644 --- a/java/classfile/manifest.mf +++ b/java/classfile/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.classfile/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/classfile/Bundle.properties -OpenIDE-Module-Specification-Version: 1.78 +OpenIDE-Module-Specification-Version: 1.79 diff --git a/java/dbschema/nbproject/project.properties b/java/dbschema/nbproject/project.properties index 744c962f69a3..1f43a01d9de6 100644 --- a/java/dbschema/nbproject/project.properties +++ b/java/dbschema/nbproject/project.properties @@ -17,6 +17,6 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.67.0 +spec.version.base=1.68.0 test.config.stable.includes=**/XMLGraphSerializerTest.class diff --git a/java/debugger.jpda.ant/manifest.mf b/java/debugger.jpda.ant/manifest.mf index 002ee625ae58..d50814ceb6bc 100644 --- a/java/debugger.jpda.ant/manifest.mf +++ b/java/debugger.jpda.ant/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.debugger.jpda.ant -OpenIDE-Module-Specification-Version: 1.64 +OpenIDE-Module-Specification-Version: 1.65 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/ant/Bundle.properties OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda.js/manifest.mf b/java/debugger.jpda.js/manifest.mf index 73936aa2612a..a8867e439cd1 100644 --- a/java/debugger.jpda.js/manifest.mf +++ b/java/debugger.jpda.js/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.js/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/js/Bundle.properties -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 OpenIDE-Module-Requires: org.netbeans.api.debugger.jpda.JPDADebuggerEngineImpl, org.netbeans.spi.debugger.ui OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda.jsui/manifest.mf b/java/debugger.jpda.jsui/manifest.mf index 5ecf23f108f7..15a5e90a6d7b 100644 --- a/java/debugger.jpda.jsui/manifest.mf +++ b/java/debugger.jpda.jsui/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.jsui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/jsui/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/jsui/layer.xml -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 OpenIDE-Module-Requires: org.netbeans.spi.debugger.ui OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda.kit/manifest.mf b/java/debugger.jpda.kit/manifest.mf index a46764e0baf7..52525f8bded9 100644 --- a/java/debugger.jpda.kit/manifest.mf +++ b/java/debugger.jpda.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.debugger.jpda.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.41 +OpenIDE-Module-Specification-Version: 1.42 OpenIDE-Module-Provides: org.netbeans.modules.debugger.jpda.kit diff --git a/java/debugger.jpda.projects/manifest.mf b/java/debugger.jpda.projects/manifest.mf index 6668f0800b54..e5507096f3b1 100644 --- a/java/debugger.jpda.projects/manifest.mf +++ b/java/debugger.jpda.projects/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.modules.debugger.jpda.projects OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/projects/Bundle.properties OpenIDE-Module-Provides: org.netbeans.spi.debugger.jpda.SourcePathProvider OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 diff --git a/java/debugger.jpda.projectsui/manifest.mf b/java/debugger.jpda.projectsui/manifest.mf index a41322dca922..b8f8fd0341f9 100644 --- a/java/debugger.jpda.projectsui/manifest.mf +++ b/java/debugger.jpda.projectsui/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/projectsui/ OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/projectsui/resources/mf-layer.xml OpenIDE-Module-Provides: org.netbeans.spi.debugger.jpda.EditorContext OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/java/debugger.jpda.truffle/manifest.mf b/java/debugger.jpda.truffle/manifest.mf index d7ecc7d89329..61a99681a750 100644 --- a/java/debugger.jpda.truffle/manifest.mf +++ b/java/debugger.jpda.truffle/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.debugger.jpda.truffle/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/truffle/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/truffle/layer.xml -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 OpenIDE-Module-Provides: org.netbeans.modules.debugger.jpda.truffle OpenIDE-Module-Requires: org.netbeans.api.debugger.jpda.JPDADebuggerEngineImpl, org.netbeans.spi.debugger.ui diff --git a/java/debugger.jpda.trufflenode/manifest.mf b/java/debugger.jpda.trufflenode/manifest.mf index 687874102b81..4bb71f089638 100644 --- a/java/debugger.jpda.trufflenode/manifest.mf +++ b/java/debugger.jpda.trufflenode/manifest.mf @@ -3,6 +3,6 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.trufflenode/1 OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/truffle/node/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/truffle/node/Bundle.properties -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 OpenIDE-Module-Recommends: org.netbeans.modules.debugger.jpda.truffle OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda.ui/manifest.mf b/java/debugger.jpda.ui/manifest.mf index 19c508d0ad0a..e47ffad004f2 100644 --- a/java/debugger.jpda.ui/manifest.mf +++ b/java/debugger.jpda.ui/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/ui/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.80 +OpenIDE-Module-Specification-Version: 1.81 OpenIDE-Module-Requires: org.netbeans.api.debugger.jpda.JPDADebuggerEngineImpl, org.netbeans.spi.debugger.ui OpenIDE-Module-Provides: org.netbeans.modules.debugger.jpda.ui diff --git a/java/debugger.jpda.visual/manifest.mf b/java/debugger.jpda.visual/manifest.mf index cfd9b6b45d64..ee06467d0e23 100644 --- a/java/debugger.jpda.visual/manifest.mf +++ b/java/debugger.jpda.visual/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.debugger.jpda.visual/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/visual/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/visual/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 OpenIDE-Module-Requires: org.netbeans.modules.debugger.jpda.ui OpenIDE-Module-Package-Dependencies: com.sun.jdi[VirtualMachineManager] diff --git a/java/debugger.jpda/nbproject/project.properties b/java/debugger.jpda/nbproject/project.properties index 1d03bea8b34e..4c02deb7f6f7 100644 --- a/java/debugger.jpda/nbproject/project.properties +++ b/java/debugger.jpda/nbproject/project.properties @@ -23,7 +23,7 @@ javac.source=1.8 javadoc.arch=${basedir}/arch.xml jpda.classes.dir=${build.dir}/jpda/classes/ requires.nb.javac=true -spec.version.base=1.135.0 +spec.version.base=1.136.0 test-unit-sys-prop.test.dir.src=${basedir}/test/unit/src/ test-unit-sys-prop.netbeans.user=${basedir}/work/nb_user_dir test.unit.cp.extra=../java.source.nbjavac/build/test-nb-javac/cluster/modules/org-netbeans-modules-java-source-nbjavac-test.jar diff --git a/java/editor.htmlui/manifest.mf b/java/editor.htmlui/manifest.mf index 8275ee3b94a0..0f2630d7ce74 100644 --- a/java/editor.htmlui/manifest.mf +++ b/java/editor.htmlui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.editor.htmlui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/htmlui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 diff --git a/java/form.kit/manifest.mf b/java/form.kit/manifest.mf index e9ba71117eb9..0aad69b42647 100644 --- a/java/form.kit/manifest.mf +++ b/java/form.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.form.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/form/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/java/form.nb/nbproject/project.properties b/java/form.nb/nbproject/project.properties index 2ecb7a1cc4b4..956d96c4324e 100644 --- a/java/form.nb/nbproject/project.properties +++ b/java/form.nb/nbproject/project.properties @@ -17,5 +17,5 @@ is.eager=true javac.source=1.8 -spec.version.base=0.44.0 +spec.version.base=0.45.0 requires.nb.javac=true diff --git a/java/form.refactoring/nbproject/project.properties b/java/form.refactoring/nbproject/project.properties index a5ab3d3fc3db..2ecb7a1cc4b4 100644 --- a/java/form.refactoring/nbproject/project.properties +++ b/java/form.refactoring/nbproject/project.properties @@ -17,5 +17,5 @@ is.eager=true javac.source=1.8 -spec.version.base=0.43.0 +spec.version.base=0.44.0 requires.nb.javac=true diff --git a/java/form/nbproject/project.properties b/java/form/nbproject/project.properties index 2c0b84c7f627..9f40d7c99a1a 100644 --- a/java/form/nbproject/project.properties +++ b/java/form/nbproject/project.properties @@ -18,7 +18,7 @@ extra.module.files=modules/ext/AbsoluteLayout.jar javac.source=1.8 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.83.0 +spec.version.base=1.84.0 test-unit-sys-prop.org.netbeans.modules.form.layoutdesign.test=0 jnlp.verify.excludes=sources/org/netbeans/lib/awtextra/AbsoluteLayout.java,sources/org/netbeans/lib/awtextra/AbsoluteConstraints.java,sources/readme.txt diff --git a/java/gradle.dependencies/nbproject/project.properties b/java/gradle.dependencies/nbproject/project.properties index 3bdddaa1ecc9..636c08de9b0d 100644 --- a/java/gradle.dependencies/nbproject/project.properties +++ b/java/gradle.dependencies/nbproject/project.properties @@ -17,9 +17,9 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.3.0 +spec.version.base=1.4.0 test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test-unit-sys-prop.java.awt.headless=true #test-unit-sys-prop.netbeans.debug.gradle.info.action=true -#test-unit-sys-prop.org.netbeans.modules.gradle.dependencies \ No newline at end of file +#test-unit-sys-prop.org.netbeans.modules.gradle.dependencies diff --git a/java/gradle.htmlui/manifest.mf b/java/gradle.htmlui/manifest.mf index f1581fb91950..f4813f0a798a 100644 --- a/java/gradle.htmlui/manifest.mf +++ b/java/gradle.htmlui/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module: org.netbeans.modules.gradle.htmlui OpenIDE-Module-Layer: org/netbeans/modules/gradle/htmlui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/htmlui/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.modules.debugger.jpda.ui -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 diff --git a/java/gradle.java.coverage/manifest.mf b/java/gradle.java.coverage/manifest.mf index 89a3d7435178..e5be8166620f 100644 --- a/java/gradle.java.coverage/manifest.mf +++ b/java/gradle.java.coverage/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.java.coverage OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/java/coverage/Bundle.properties -OpenIDE-Module-Specification-Version: 1.19 +OpenIDE-Module-Specification-Version: 1.20 diff --git a/java/gradle.java/nbproject/project.properties b/java/gradle.java/nbproject/project.properties index 27cbf30f01dc..fb6f49f0b16b 100644 --- a/java/gradle.java/nbproject/project.properties +++ b/java/gradle.java/nbproject/project.properties @@ -25,5 +25,5 @@ javadoc.apichanges=${basedir}/apichanges.xml test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test-unit-sys-prop.java.awt.headless=true test.use.jdk.javac=true -spec.version.base=1.28.0 +spec.version.base=1.29.0 diff --git a/java/gradle.kit/manifest.mf b/java/gradle.kit/manifest.mf index ed39e466cb62..6654969168b5 100644 --- a/java/gradle.kit/manifest.mf +++ b/java/gradle.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.gradle.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/feature/Bundle.properties -OpenIDE-Module-Specification-Version: 1.22 +OpenIDE-Module-Specification-Version: 1.23 diff --git a/java/gradle.persistence/manifest.mf b/java/gradle.persistence/manifest.mf index bf94a482b1e9..6ca0c83d53bf 100644 --- a/java/gradle.persistence/manifest.mf +++ b/java/gradle.persistence/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.persistence OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/persistence/Bundle.properties -OpenIDE-Module-Specification-Version: 1.22 +OpenIDE-Module-Specification-Version: 1.23 diff --git a/java/gradle.spring/manifest.mf b/java/gradle.spring/manifest.mf index 45050db91738..3c02c65180c2 100644 --- a/java/gradle.spring/manifest.mf +++ b/java/gradle.spring/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.spring OpenIDE-Module-Layer: org/netbeans/modules/gradle/spring/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/spring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.22 +OpenIDE-Module-Specification-Version: 1.23 diff --git a/java/gradle.test/manifest.mf b/java/gradle.test/manifest.mf index 75269d104cda..1dafb59394bd 100644 --- a/java/gradle.test/manifest.mf +++ b/java/gradle.test/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.test OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/test/Bundle.properties -OpenIDE-Module-Specification-Version: 1.22 +OpenIDE-Module-Specification-Version: 1.23 diff --git a/java/hudson.ant/manifest.mf b/java/hudson.ant/manifest.mf index 4d2c9b001d6f..8a2091636134 100644 --- a/java/hudson.ant/manifest.mf +++ b/java/hudson.ant/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/ant/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 diff --git a/java/hudson.maven/manifest.mf b/java/hudson.maven/manifest.mf index a639c56983bc..7b48696a977a 100644 --- a/java/hudson.maven/manifest.mf +++ b/java/hudson.maven/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.maven OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/maven/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 diff --git a/java/i18n.form/nbproject/project.properties b/java/i18n.form/nbproject/project.properties index b18e7ece7976..3ab1dad762c7 100644 --- a/java/i18n.form/nbproject/project.properties +++ b/java/i18n.form/nbproject/project.properties @@ -17,6 +17,6 @@ is.eager=true javac.source=1.8 -spec.version.base=1.76.0 +spec.version.base=1.77.0 test.config.stableBTD.includes=**/*Test.class diff --git a/java/i18n/manifest.mf b/java/i18n/manifest.mf index f7f2d711e87b..3a8e2670d8dd 100644 --- a/java/i18n/manifest.mf +++ b/java/i18n/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.i18n/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/i18n/Bundle.properties -OpenIDE-Module-Specification-Version: 1.79 +OpenIDE-Module-Specification-Version: 1.80 OpenIDE-Module-Layer: org/netbeans/modules/i18n/Layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.core.utilities/manifest.mf b/java/j2ee.core.utilities/manifest.mf index a9907d746789..bea0ac63f6e1 100644 --- a/java/j2ee.core.utilities/manifest.mf +++ b/java/j2ee.core.utilities/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.core.utilities/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/core/utilities/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/java/j2ee.eclipselink/manifest.mf b/java/j2ee.eclipselink/manifest.mf index c4faff85f8f1..cdb1463896e2 100644 --- a/java/j2ee.eclipselink/manifest.mf +++ b/java/j2ee.eclipselink/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.modules.j2ee.eclipselink/1 OpenIDE-Module-Layer: org/netbeans/modules/j2ee/eclipselink/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/eclipselink/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/java/j2ee.eclipselinkmodelgen/manifest.mf b/java/j2ee.eclipselinkmodelgen/manifest.mf index c5bfaf44e9ee..f69a487312f2 100644 --- a/java/j2ee.eclipselinkmodelgen/manifest.mf +++ b/java/j2ee.eclipselinkmodelgen/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.j2ee.eclipselinkmodelgen/1 OpenIDE-Module-Layer: org/netbeans/modules/j2ee/eclipselinkmodelgen/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/eclipselinkmodelgen/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/java/j2ee.jpa.refactoring/manifest.mf b/java/j2ee.jpa.refactoring/manifest.mf index 9b2a70ba3c68..09f200e6b091 100644 --- a/java/j2ee.jpa.refactoring/manifest.mf +++ b/java/j2ee.jpa.refactoring/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.jpa.refactoring OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/jpa/refactoring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.jpa.verification/manifest.mf b/java/j2ee.jpa.verification/manifest.mf index 8d79ce0474f7..f17c83ad9031 100644 --- a/java/j2ee.jpa.verification/manifest.mf +++ b/java/j2ee.jpa.verification/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.jpa.verification OpenIDE-Module-Layer: org/netbeans/modules/j2ee/jpa/verification/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/jpa/verification/Bundle.properties AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.metadata.model.support/manifest.mf b/java/j2ee.metadata.model.support/manifest.mf index 0fb5ad4c4dc2..23c87c6ff1b8 100644 --- a/java/j2ee.metadata.model.support/manifest.mf +++ b/java/j2ee.metadata.model.support/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.metadata.model.support/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/metadata/model/support/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.metadata/manifest.mf b/java/j2ee.metadata/manifest.mf index 36ad3578af04..a51e4720aa8b 100644 --- a/java/j2ee.metadata/manifest.mf +++ b/java/j2ee.metadata/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.metadata/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/metadata/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 AutoUpdate-Show-In-Client: false diff --git a/java/j2ee.persistence.kit/manifest.mf b/java/j2ee.persistence.kit/manifest.mf index e0f2561bb15a..be83a2cf7c75 100644 --- a/java/j2ee.persistence.kit/manifest.mf +++ b/java/j2ee.persistence.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.j2ee.persistence.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/j2ee/persistence/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/java/j2ee.persistence/nbproject/project.properties b/java/j2ee.persistence/nbproject/project.properties index 09ade8445445..d95e961d8818 100644 --- a/java/j2ee.persistence/nbproject/project.properties +++ b/java/j2ee.persistence/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.81.0 +spec.version.base=1.82.0 test.unit.run.cp.extra=\ ${j2ee.persistence.dir}/modules/ext/eclipselink/org.eclipse.persistence.core-2.7.12.jar:\ diff --git a/java/j2ee.persistenceapi/nbproject/project.properties b/java/j2ee.persistenceapi/nbproject/project.properties index d2353d928941..db0f6271cace 100644 --- a/java/j2ee.persistenceapi/nbproject/project.properties +++ b/java/j2ee.persistenceapi/nbproject/project.properties @@ -22,7 +22,7 @@ javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml requires.nb.javac=true -spec.version.base=1.62.0 +spec.version.base=1.63.0 test.unit.cp.extra=\ ${j2ee.persistence.dir}/modules/ext/eclipselink/org.eclipse.persistence.core-2.7.12.jar:\ ${j2ee.persistence.dir}/modules/ext/eclipselink/org.eclipse.persistence.asm-9.4.0.jar:\ diff --git a/java/java.api.common/manifest.mf b/java/java.api.common/manifest.mf index 7e0cf09e848e..23c6094380a5 100644 --- a/java/java.api.common/manifest.mf +++ b/java/java.api.common/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.api.common/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/api/common/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.149 +OpenIDE-Module-Specification-Version: 1.150 diff --git a/java/java.completion/nbproject/project.properties b/java/java.completion/nbproject/project.properties index 3e43bd7573e8..f9e74a9b3f01 100644 --- a/java/java.completion/nbproject/project.properties +++ b/java/java.completion/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.12.0 +spec.version.base=2.13.0 #test configs test.config.jet-main.includes=\ diff --git a/java/java.debug/nbproject/project.properties b/java/java.debug/nbproject/project.properties index 54549dc50357..6caf4b7a1701 100644 --- a/java/java.debug/nbproject/project.properties +++ b/java/java.debug/nbproject/project.properties @@ -15,6 +15,6 @@ # specific language governing permissions and limitations # under the License. javac.source=1.8 -spec.version.base=1.64.0 +spec.version.base=1.65.0 requires.nb.javac=true diff --git a/java/java.disco/manifest.mf b/java/java.disco/manifest.mf index cb7c96e66d02..b829194157e0 100644 --- a/java/java.disco/manifest.mf +++ b/java/java.disco/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.modules.java.disco OpenIDE-Module-Layer: org/netbeans/modules/java/disco/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/disco/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.java.platform.ui -OpenIDE-Module-Specification-Version: 2.10 +OpenIDE-Module-Specification-Version: 2.11 diff --git a/java/java.editor.base/nbproject/project.properties b/java/java.editor.base/nbproject/project.properties index 808db111121e..edd86fd62030 100644 --- a/java/java.editor.base/nbproject/project.properties +++ b/java/java.editor.base/nbproject/project.properties @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -spec.version.base=2.91.0 +spec.version.base=2.92.0 is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial diff --git a/java/java.editor.lib/nbproject/project.properties b/java/java.editor.lib/nbproject/project.properties index 4c083d44f716..cdb96c85a984 100644 --- a/java/java.editor.lib/nbproject/project.properties +++ b/java/java.editor.lib/nbproject/project.properties @@ -21,6 +21,6 @@ javadoc.apichanges=${basedir}/apichanges.xml javac.source=1.8 -spec.version.base=1.56.0 +spec.version.base=1.57.0 is.autoload=true diff --git a/java/java.editor/nbproject/project.properties b/java/java.editor/nbproject/project.properties index 9c667f21de38..7ff75d729036 100644 --- a/java/java.editor/nbproject/project.properties +++ b/java/java.editor/nbproject/project.properties @@ -17,7 +17,7 @@ javadoc.title=Java Editor -spec.version.base=2.94.0 +spec.version.base=2.95.0 test.qa-functional.cp.extra=${editor.dir}/modules/org-netbeans-modules-editor-fold.jar javac.release=17 #test.unit.cp.extra= diff --git a/java/java.examples/manifest.mf b/java/java.examples/manifest.mf index d248fc45a506..2fb141458416 100644 --- a/java/java.examples/manifest.mf +++ b/java/java.examples/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.examples/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/examples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module-Layer: org/netbeans/modules/java/examples/resources/mf-layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/java.file.launcher/manifest.mf b/java/java.file.launcher/manifest.mf index d08ae5a80fd8..c6e186b7ea39 100644 --- a/java/java.file.launcher/manifest.mf +++ b/java/java.file.launcher/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.file.launcher OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/file/launcher/Bundle.properties -OpenIDE-Module-Specification-Version: 1.3 +OpenIDE-Module-Specification-Version: 1.4 diff --git a/java/java.freeform/manifest.mf b/java/java.freeform/manifest.mf index 95752850879b..164f8e76a72d 100644 --- a/java/java.freeform/manifest.mf +++ b/java/java.freeform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.freeform/1 -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/freeform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/java/freeform/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/java.graph/manifest.mf b/java/java.graph/manifest.mf index 33035323b756..67cef75aad19 100644 --- a/java/java.graph/manifest.mf +++ b/java/java.graph/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.graph/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/graph/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 diff --git a/java/java.guards/manifest.mf b/java/java.guards/manifest.mf index 66d94a238cbb..418d0c939ca1 100644 --- a/java/java.guards/manifest.mf +++ b/java/java.guards/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.java.guards/0 OpenIDE-Module-Layer: org/netbeans/modules/java/guards/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/guards/Bundle.properties OpenIDE-Module-Provides: org.netbeans.api.editor.guards.Java -OpenIDE-Module-Specification-Version: 0.57 +OpenIDE-Module-Specification-Version: 0.58 diff --git a/java/java.hints.declarative.test/nbproject/project.properties b/java/java.hints.declarative.test/nbproject/project.properties index a0e6f3c9dbfc..6349621cb9ec 100644 --- a/java/java.hints.declarative.test/nbproject/project.properties +++ b/java/java.hints.declarative.test/nbproject/project.properties @@ -17,5 +17,5 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.42.0 +spec.version.base=1.43.0 javadoc.arch=${basedir}/arch.xml diff --git a/java/java.hints.declarative/nbproject/project.properties b/java/java.hints.declarative/nbproject/project.properties index fec5840c4942..b4a8afa842d5 100644 --- a/java/java.hints.declarative/nbproject/project.properties +++ b/java/java.hints.declarative/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.46.0 +spec.version.base=1.47.0 requires.nb.javac=true test.config.stableBTD.includes=**/*Test.class diff --git a/java/java.hints.legacy.spi/nbproject/project.properties b/java/java.hints.legacy.spi/nbproject/project.properties index a8e49096cb12..276f19923cd9 100644 --- a/java/java.hints.legacy.spi/nbproject/project.properties +++ b/java/java.hints.legacy.spi/nbproject/project.properties @@ -17,6 +17,6 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.43.0 +spec.version.base=1.44.0 javadoc.arch=${basedir}/arch.xml requires.nb.javac=true diff --git a/java/java.hints.test/nbproject/project.properties b/java/java.hints.test/nbproject/project.properties index 8fadda58178d..ab3ba191aea4 100644 --- a/java/java.hints.test/nbproject/project.properties +++ b/java/java.hints.test/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.45.0 +spec.version.base=1.46.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml requires.nb.javac=true diff --git a/java/java.hints.ui/nbproject/project.properties b/java/java.hints.ui/nbproject/project.properties index 49c80172ea34..2492fcea5a0a 100644 --- a/java/java.hints.ui/nbproject/project.properties +++ b/java/java.hints.ui/nbproject/project.properties @@ -16,5 +16,5 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.44.0 +spec.version.base=1.45.0 requires.nb.javac=true diff --git a/java/java.hints/nbproject/project.properties b/java/java.hints/nbproject/project.properties index a99989f7aa3a..1e5c6ffaac0c 100644 --- a/java/java.hints/nbproject/project.properties +++ b/java/java.hints/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -spec.version.base=1.109.0 +spec.version.base=1.110.0 javac.release=17 diff --git a/java/java.j2sedeploy/manifest.mf b/java/java.j2sedeploy/manifest.mf index 77d02f8541b7..5f651a0ad01e 100644 --- a/java/java.j2sedeploy/manifest.mf +++ b/java/java.j2sedeploy/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.j2sedeploy OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2sedeploy/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 AutoUpdate-Show-In-Client: false diff --git a/java/java.j2seembedded/manifest.mf b/java/java.j2seembedded/manifest.mf index e44662b04df0..21cc6bc4cdf9 100644 --- a/java/java.j2seembedded/manifest.mf +++ b/java/java.j2seembedded/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.j2seembedded OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2seembedded/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/java/j2seembedded/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/java/java.j2semodule/manifest.mf b/java/java.j2semodule/manifest.mf index 9a5d580bf124..4fb07766fd13 100644 --- a/java/java.j2semodule/manifest.mf +++ b/java/java.j2semodule/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.java.j2semodule OpenIDE-Module-Layer: org/netbeans/modules/java/j2semodule/ui/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2semodule/Bundle.properties -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 diff --git a/java/java.j2seplatform/manifest.mf b/java/java.j2seplatform/manifest.mf index e8a06577fdb0..6e22577cfb7a 100644 --- a/java/java.j2seplatform/manifest.mf +++ b/java/java.j2seplatform/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2seplatform/Bundle. OpenIDE-Module-Layer: org/netbeans/modules/java/j2seplatform/resources/layer.xml OpenIDE-Module-Install: org/netbeans/modules/java/j2seplatform/J2SEPlatformModule.class AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 OpenIDE-Module-Provides: j2seplatform diff --git a/java/java.j2seprofiles/manifest.mf b/java/java.j2seprofiles/manifest.mf index 84cfdf3498b7..153a76a95236 100644 --- a/java/java.j2seprofiles/manifest.mf +++ b/java/java.j2seprofiles/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.j2seprofiles OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/j2seprofiles/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/java/java.j2seproject/nbproject/project.properties b/java/java.j2seproject/nbproject/project.properties index 725f3aa0df1d..d3b5c60dd602 100644 --- a/java/java.j2seproject/nbproject/project.properties +++ b/java/java.j2seproject/nbproject/project.properties @@ -17,7 +17,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.8 -spec.version.base=1.113.0 +spec.version.base=1.114.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/java/java.kit/manifest.mf b/java/java.kit/manifest.mf index 4d569e5ac5d2..c8b883af1d08 100644 --- a/java/java.kit/manifest.mf +++ b/java/java.kit/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 OpenIDE-Module-Recommends: org.netbeans.modules.profiler, org.netbeans.modules.debugger.jpda.kit,org.netbeans.modules.selenium2.java OpenIDE-Module-Layer: org/netbeans/modules/java/kit/layer.xml diff --git a/java/java.lexer/manifest.mf b/java/java.lexer/manifest.mf index 38579d3fff99..dd34fa0167b1 100644 --- a/java/java.lexer/manifest.mf +++ b/java/java.lexer/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.java.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/java/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 OpenIDE-Module-Layer: org/netbeans/lib/java/lexer/layer.xml diff --git a/java/java.lsp.server/nbproject/project.properties b/java/java.lsp.server/nbproject/project.properties index 2f3af3cf4b7c..628f2f91a172 100644 --- a/java/java.lsp.server/nbproject/project.properties +++ b/java/java.lsp.server/nbproject/project.properties @@ -17,7 +17,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.9.0 +spec.version.base=2.10.0 javadoc.arch=${basedir}/arch.xml requires.nb.javac=true lsp.build.dir=vscode/nbcode diff --git a/java/java.metrics/manifest.mf b/java/java.metrics/manifest.mf index fc7393bb92e5..ebc6d911f78d 100644 --- a/java/java.metrics/manifest.mf +++ b/java/java.metrics/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.metrics OpenIDE-Module-Layer: org/netbeans/modules/java/metrics/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/metrics/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 AutoUpdate-Show-In-Client: false diff --git a/java/java.module.graph/manifest.mf b/java/java.module.graph/manifest.mf index af1077067ff8..37e47a711699 100644 --- a/java/java.module.graph/manifest.mf +++ b/java/java.module.graph/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.module.graph OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/module/graph/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/java/java.mx.project/manifest.mf b/java/java.mx.project/manifest.mf index c15d47edb2ad..d08a566e50ce 100644 --- a/java/java.mx.project/manifest.mf +++ b/java/java.mx.project/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.java.mx.project OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/mx/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.15 +OpenIDE-Module-Specification-Version: 1.16 diff --git a/java/java.nativeimage.debugger/manifest.mf b/java/java.nativeimage.debugger/manifest.mf index b239efbee9eb..15cc18c2da24 100644 --- a/java/java.nativeimage.debugger/manifest.mf +++ b/java/java.nativeimage.debugger/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.nativeimage.debugger/0 OpenIDE-Module-Layer: org/netbeans/modules/java/nativeimage/debugger/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/nativeimage/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 0.16 +OpenIDE-Module-Specification-Version: 0.17 diff --git a/java/java.navigation/manifest.mf b/java/java.navigation/manifest.mf index 52249326d49a..8f51082e16a1 100644 --- a/java/java.navigation/manifest.mf +++ b/java/java.navigation/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.java.navigation/1 OpenIDE-Module-Layer: org/netbeans/modules/java/navigation/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/navigation/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 AutoUpdate-Show-In-Client: false diff --git a/java/java.openjdk.project/manifest.mf b/java/java.openjdk.project/manifest.mf index 8ee35bf8353a..b7850d8dc145 100644 --- a/java/java.openjdk.project/manifest.mf +++ b/java/java.openjdk.project/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.openjdk.project/1 OpenIDE-Module-Layer: org/netbeans/modules/java/openjdk/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/openjdk/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 diff --git a/java/java.platform.ui/manifest.mf b/java/java.platform.ui/manifest.mf index ea508bad260c..8da480769eee 100644 --- a/java/java.platform.ui/manifest.mf +++ b/java/java.platform.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.platform.ui/1 -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/platform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/java/platform/resources/layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/java.platform/manifest.mf b/java/java.platform/manifest.mf index 47ad1e763d47..30c66ac3fa0e 100644 --- a/java/java.platform/manifest.mf +++ b/java/java.platform/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.platform/1 -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/platform/Bundle.properties AutoUpdate-Show-In-Client: false OpenIDE-Module-Recommends: org.netbeans.modules.java.platform.ui diff --git a/java/java.preprocessorbridge/nbproject/project.properties b/java/java.preprocessorbridge/nbproject/project.properties index 5790f0c7874b..229e9eeea0bd 100644 --- a/java/java.preprocessorbridge/nbproject/project.properties +++ b/java/java.preprocessorbridge/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.compilerargs=-Xlint:unchecked javac.source=1.8 -spec.version.base=1.75.0 +spec.version.base=1.76.0 javadoc.apichanges=${basedir}/apichanges.xml requires.nb.javac=true diff --git a/java/java.project.ui/manifest.mf b/java/java.project.ui/manifest.mf index c7422dd5631c..931bf7150ec1 100644 --- a/java/java.project.ui/manifest.mf +++ b/java/java.project.ui/manifest.mf @@ -3,7 +3,7 @@ OpenIDE-Module: org.netbeans.modules.java.project.ui/1 OpenIDE-Module-Layer: org/netbeans/modules/java/project/ui/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/project/ui/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.101 +OpenIDE-Module-Specification-Version: 1.102 OpenIDE-Module-Recommends: org.netbeans.spi.java.project.runner.JavaRunnerImplementation AutoUpdate-Show-In-Client: false diff --git a/java/java.project/manifest.mf b/java/java.project/manifest.mf index 7dfbdf804ad9..b5d7d1c647d6 100644 --- a/java/java.project/manifest.mf +++ b/java/java.project/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.project/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/project/Bundle.properties OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.98 +OpenIDE-Module-Specification-Version: 1.99 AutoUpdate-Show-In-Client: false diff --git a/java/java.source.ant/nbproject/project.properties b/java/java.source.ant/nbproject/project.properties index 93003028a6d4..8352dad639a5 100644 --- a/java/java.source.ant/nbproject/project.properties +++ b/java/java.source.ant/nbproject/project.properties @@ -17,7 +17,7 @@ ant.jar=${ant.core.lib} javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.57.0 +spec.version.base=1.58.0 test.config.stableBTD.includes=**/*Test.class test.config.stableBTD.excludes=\ diff --git a/java/java.source.base/nbproject/project.properties b/java/java.source.base/nbproject/project.properties index e5394e03a911..183dfae24847 100644 --- a/java/java.source.base/nbproject/project.properties +++ b/java/java.source.base/nbproject/project.properties @@ -23,7 +23,7 @@ javadoc.name=Java Source Base javadoc.title=Java Source Base javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=2.71.0 +spec.version.base=2.72.0 test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\ ${o.n.core.dir}/lib/boot.jar:\ diff --git a/java/java.source.compat8/manifest.mf b/java/java.source.compat8/manifest.mf index c0ac3f3ec298..db953d6d1d9d 100644 --- a/java/java.source.compat8/manifest.mf +++ b/java/java.source.compat8/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.source.compat8 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/source/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 9.29 +OpenIDE-Module-Specification-Version: 9.30 OpenIDE-Module-Fragment-Host: org.netbeans.modules.java.source.base diff --git a/java/java.source.queries/manifest.mf b/java/java.source.queries/manifest.mf index 21f865349078..2cc2d753ccf5 100644 --- a/java/java.source.queries/manifest.mf +++ b/java/java.source.queries/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.source.queries OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/source/queries/Bundle.properties -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 OpenIDE-Module-Needs: org.netbeans.modules.java.source.queries.spi.QueriesController Netigso-Export-Package: org.netbeans.modules.java.source.queries.api,org.netbeans.modules.java.source.queries.spi diff --git a/java/java.source.queriesimpl/manifest.mf b/java/java.source.queriesimpl/manifest.mf index 55a54b1e2ec4..d1aac5382b62 100644 --- a/java/java.source.queriesimpl/manifest.mf +++ b/java/java.source.queriesimpl/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.source.queriesimpl OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/source/queriesimpl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 OpenIDE-Module-Provides: org.netbeans.modules.java.source.queries.spi.QueriesController diff --git a/java/java.source/nbproject/project.properties b/java/java.source/nbproject/project.properties index 15a65925624b..f5167c31805a 100644 --- a/java/java.source/nbproject/project.properties +++ b/java/java.source/nbproject/project.properties @@ -22,7 +22,7 @@ javadoc.name=Java Source javadoc.title=Java Source javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=0.191.0 +spec.version.base=0.192.0 test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\ ${o.n.core.dir}/lib/boot.jar:\ diff --git a/java/java.sourceui/nbproject/project.properties b/java/java.sourceui/nbproject/project.properties index 70ddbed7ceae..568d306b4a9a 100644 --- a/java/java.sourceui/nbproject/project.properties +++ b/java/java.sourceui/nbproject/project.properties @@ -18,7 +18,7 @@ javadoc.apichanges=${basedir}/apichanges.xml javac.compilerargs=-Xlint -Xlint:-serial javac.release=17 javadoc.arch=${basedir}/arch.xml -spec.version.base=1.74.0 +spec.version.base=1.75.0 # failing or missing test files test.config.default.excludes=\ diff --git a/java/java.testrunner.ant/manifest.mf b/java/java.testrunner.ant/manifest.mf index 01ad9e89b9c5..01cd7a0ff14c 100644 --- a/java/java.testrunner.ant/manifest.mf +++ b/java/java.testrunner.ant/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.testrunner.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/testrunner/ant/Bundle.properties -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 diff --git a/java/java.testrunner.ui/manifest.mf b/java/java.testrunner.ui/manifest.mf index 1c592e966a16..276ac64382d9 100644 --- a/java/java.testrunner.ui/manifest.mf +++ b/java/java.testrunner.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.testrunner.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/testrunner/ui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.java.testrunner.ui.api.JavaManager -OpenIDE-Module-Specification-Version: 1.30 +OpenIDE-Module-Specification-Version: 1.31 diff --git a/java/java.testrunner/manifest.mf b/java/java.testrunner/manifest.mf index 54293b60933e..7cfb3f93bfef 100644 --- a/java/java.testrunner/manifest.mf +++ b/java/java.testrunner/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.java.testrunner OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/testrunner/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/java/javadoc/nbproject/project.properties b/java/javadoc/nbproject/project.properties index 61991d67b813..d31916b98792 100644 --- a/java/javadoc/nbproject/project.properties +++ b/java/javadoc/nbproject/project.properties @@ -21,10 +21,10 @@ javac.release=17 # requires nb.javac for compiling of tests on Mac requires.nb.javac=true -spec.version.base=1.81.0 +spec.version.base=1.82.0 test.config.stableBTD.includes=\ **/hints/AnalyzerTest.class,\ **/search/*Test.class # failing -test.config.default.excludes=**/search/*Test.class \ No newline at end of file +test.config.default.excludes=**/search/*Test.class diff --git a/java/javaee.injection/manifest.mf b/java/javaee.injection/manifest.mf index 744778c1cff8..a1ff4dc8dce7 100644 --- a/java/javaee.injection/manifest.mf +++ b/java/javaee.injection/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javaee.injection OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javaee/injection/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 AutoUpdate-Show-In-Client: false diff --git a/java/javawebstart/manifest.mf b/java/javawebstart/manifest.mf index e9687421f323..6e31d329cd3a 100644 --- a/java/javawebstart/manifest.mf +++ b/java/javawebstart/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javawebstart OpenIDE-Module-Layer: org/netbeans/modules/javawebstart/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javawebstart/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 AutoUpdate-Show-In-Client: false diff --git a/java/jellytools.java/manifest.mf b/java/jellytools.java/manifest.mf index 9f31b86c6584..d09b27f48d68 100644 --- a/java/jellytools.java/manifest.mf +++ b/java/jellytools.java/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.jellytools.java/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jellytools/java/Bundle.properties -OpenIDE-Module-Specification-Version: 3.56 +OpenIDE-Module-Specification-Version: 3.57 diff --git a/java/jshell.support/nbproject/project.properties b/java/jshell.support/nbproject/project.properties index 75e8e9c30770..295407196533 100644 --- a/java/jshell.support/nbproject/project.properties +++ b/java/jshell.support/nbproject/project.properties @@ -17,5 +17,5 @@ javac.release=11 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.26.0 +spec.version.base=1.27.0 is.eager=true diff --git a/java/junit.ant.ui/manifest.mf b/java/junit.ant.ui/manifest.mf index e5e5c3909ae0..207b75b8678e 100644 --- a/java/junit.ant.ui/manifest.mf +++ b/java/junit.ant.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.junit.ant.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/ant/ui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.junit.ant.ui.AntJUnitManagerProvider -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 diff --git a/java/junit.ant/manifest.mf b/java/junit.ant/manifest.mf index 3360fbdc3972..24e27228f860 100644 --- a/java/junit.ant/manifest.mf +++ b/java/junit.ant/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.junit.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/ant/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.junit.ant.JUnitAntLogger -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/java/junit.ui/manifest.mf b/java/junit.ui/manifest.mf index 63da00b9fdac..42388394903a 100644 --- a/java/junit.ui/manifest.mf +++ b/java/junit.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.junit.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 diff --git a/java/junit/manifest.mf b/java/junit/manifest.mf index c6bf970f8fda..3f3b105bf836 100644 --- a/java/junit/manifest.mf +++ b/java/junit/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.junit/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junit/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/junit/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.100 +OpenIDE-Module-Specification-Version: 2.101 OpenIDE-Module-Needs: javax.script.ScriptEngine.freemarker AutoUpdate-Show-In-Client: false diff --git a/java/ko4j.debugging/manifest.mf b/java/ko4j.debugging/manifest.mf index 6654c85cbe1d..4363bb1939bb 100644 --- a/java/ko4j.debugging/manifest.mf +++ b/java/ko4j.debugging/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ko4j.debugging OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ko4j/debugging/Bundle.properties -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 OpenIDE-Module-Needs: org.netbeans.modules.web.browser.api.PageInspector OpenIDE-Module-Provides: org.netbeans.modules.ko4j.debugging diff --git a/java/kotlin.editor/manifest.mf b/java/kotlin.editor/manifest.mf index 628982cf095c..fe95a0c4e077 100644 --- a/java/kotlin.editor/manifest.mf +++ b/java/kotlin.editor/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.kotlin.editor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/kotlin/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 diff --git a/java/languages.antlr/manifest.mf b/java/languages.antlr/manifest.mf index 9e5342c7875b..868b5bddefd2 100644 --- a/java/languages.antlr/manifest.mf +++ b/java/languages.antlr/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.languages.antlr OpenIDE-Module-Layer: org/netbeans/modules/languages/antlr/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/antlr/Bundle.properties -OpenIDE-Module-Specification-Version: 1.8 +OpenIDE-Module-Specification-Version: 1.9 AutoUpdate-Show-In-Client: true diff --git a/java/lib.jshell.agent/manifest.mf b/java/lib.jshell.agent/manifest.mf index 0d9eecaada0d..f30f15c3b10f 100644 --- a/java/lib.jshell.agent/manifest.mf +++ b/java/lib.jshell.agent/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.lib.jshell.agent OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/jshell/agent/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 Premain-class: org.netbeans.lib.jshell.agent.NbJShellAgent Can-Redefine-Classes: true Can-Retransform-Classes: true diff --git a/java/lib.nbjavac/nbproject/project.properties b/java/lib.nbjavac/nbproject/project.properties index 79e24d3bbd0c..641212f91369 100644 --- a/java/lib.nbjavac/nbproject/project.properties +++ b/java/lib.nbjavac/nbproject/project.properties @@ -17,5 +17,5 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.42.0 +spec.version.base=1.43.0 requires.nb.javac=true diff --git a/java/lib.nbjshell/manifest.mf b/java/lib.nbjshell/manifest.mf index cde50fbfba2e..402c016c7e38 100644 --- a/java/lib.nbjshell/manifest.mf +++ b/java/lib.nbjshell/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.lib.nbjshell OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/nbjshell/Bundle.properties -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 OpenIDE-Module-Needs: jshell.implementation OpenIDE-Module-Needs-Message: NetBeans do not ship implementation of Java Shell. You may run NetBeans with JDK9, which provides one. diff --git a/java/lib.nbjshell9/manifest.mf b/java/lib.nbjshell9/manifest.mf index 71e532d00e47..836a78923998 100644 --- a/java/lib.nbjshell9/manifest.mf +++ b/java/lib.nbjshell9/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.lib.nbjshell9 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/nbjshell9/Bundle.properties -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 OpenIDE-Module-Provides: jshell.implementation OpenIDE-Module-Package-Dependencies: [jdk.jshell.JShell] OpenIDE-Module-Java-Dependencies: Java > 9 diff --git a/java/libs.cglib/manifest.mf b/java/libs.cglib/manifest.mf index 8c450f37184d..4fa844381e87 100644 --- a/java/libs.cglib/manifest.mf +++ b/java/libs.cglib/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.cglib/1 -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/cglib/Bundle.properties diff --git a/java/libs.corba.omgapi/manifest.mf b/java/libs.corba.omgapi/manifest.mf index f8f877138f3e..9ba846b12611 100644 --- a/java/libs.corba.omgapi/manifest.mf +++ b/java/libs.corba.omgapi/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.libs.corba.omgapi OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/corba/omgapi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 diff --git a/java/libs.javacapi/nbproject/project.properties b/java/libs.javacapi/nbproject/project.properties index 7f4167c096dd..68d506653018 100644 --- a/java/libs.javacapi/nbproject/project.properties +++ b/java/libs.javacapi/nbproject/project.properties @@ -19,6 +19,6 @@ build.compiler.deprecation=false is.autoload=true javadoc.title=Javac API nbm.module.author=Petr Hrebejk -spec.version.base=8.50.0 +spec.version.base=8.51.0 javadoc.arch=${basedir}/arch.xml module.javadoc.packages=com.sun.source.tree,com.sun.source.util diff --git a/java/libs.nbjavacapi/manifest.mf b/java/libs.nbjavacapi/manifest.mf index 8568a6a4fd9d..92df589a7e30 100644 --- a/java/libs.nbjavacapi/manifest.mf +++ b/java/libs.nbjavacapi/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.nbjavacapi OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nbjavac/api/Bundle.properties -OpenIDE-Module-Specification-Version: 21.4 +OpenIDE-Module-Specification-Version: 21.5 OpenIDE-Module-Hide-Classpath-Packages: com.sun.javadoc.**, com.sun.source.**, javax.annotation.processing.**, javax.lang.model.**, javax.tools.**, com.sun.tools.javac.** com.sun.tools.javac.**, com.sun.tools.javadoc.**, com.sun.tools.javap.**, com.sun.tools.classfile.**, com.sun.tools.doclint.** OpenIDE-Module-Fragment-Host: org.netbeans.libs.javacapi OpenIDE-Module-Provides: org.netbeans.libs.nbjavac diff --git a/java/libs.springframework/manifest.mf b/java/libs.springframework/manifest.mf index 721066227bf0..b117cb7b1b65 100644 --- a/java/libs.springframework/manifest.mf +++ b/java/libs.springframework/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.libs.springframework/1 OpenIDE-Module-Layer: org/netbeans/libs/springframework/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/springframework/Bundle.properties OpenIDE-Module-Provides: org.springframework.Library -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 diff --git a/java/maven.checkstyle/manifest.mf b/java/maven.checkstyle/manifest.mf index 0be2e52f942d..f97351819b76 100644 --- a/java/maven.checkstyle/manifest.mf +++ b/java/maven.checkstyle/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.checkstyle OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/checkstyle/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/java/maven.coverage/manifest.mf b/java/maven.coverage/manifest.mf index d3f7d3019639..ee096df7fb32 100644 --- a/java/maven.coverage/manifest.mf +++ b/java/maven.coverage/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.coverage OpenIDE-Module-Layer: org/netbeans/modules/maven/coverage/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/coverage/Bundle.properties -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 AutoUpdate-Show-In-Client: false diff --git a/java/maven.embedder/manifest.mf b/java/maven.embedder/manifest.mf index 1502b07115e1..45911d4ea452 100644 --- a/java/maven.embedder/manifest.mf +++ b/java/maven.embedder/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.embedder/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/embedder/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.81 +OpenIDE-Module-Specification-Version: 2.82 diff --git a/java/maven.grammar/nbproject/project.properties b/java/maven.grammar/nbproject/project.properties index 0a580ae21550..52bbd88cc047 100644 --- a/java/maven.grammar/nbproject/project.properties +++ b/java/maven.grammar/nbproject/project.properties @@ -17,4 +17,4 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.73.0 +spec.version.base=1.74.0 diff --git a/java/maven.graph/manifest.mf b/java/maven.graph/manifest.mf index e3c6e065cf98..30bf9f43cdb3 100644 --- a/java/maven.graph/manifest.mf +++ b/java/maven.graph/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.graph/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/graph/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/java/maven.hints/manifest.mf b/java/maven.hints/manifest.mf index bc75cef75002..28780bd42c1c 100644 --- a/java/maven.hints/manifest.mf +++ b/java/maven.hints/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.hints/1 -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/hints/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/maven/hints/layer.xml AutoUpdate-Show-In-Client: false diff --git a/java/maven.indexer.ui/manifest.mf b/java/maven.indexer.ui/manifest.mf index f986596ae3ab..50a7f0e5d5fd 100644 --- a/java/maven.indexer.ui/manifest.mf +++ b/java/maven.indexer.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/indexer/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.60 +OpenIDE-Module-Specification-Version: 2.61 OpenIDE-Module: org.netbeans.modules.maven.indexer.ui/2 diff --git a/java/maven.indexer/manifest.mf b/java/maven.indexer/manifest.mf index 4fe8a7d5c11c..b541a479690f 100644 --- a/java/maven.indexer/manifest.mf +++ b/java/maven.indexer/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/indexer/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.66 +OpenIDE-Module-Specification-Version: 2.67 OpenIDE-Module: org.netbeans.modules.maven.indexer/2 diff --git a/java/maven.junit.ui/manifest.mf b/java/maven.junit.ui/manifest.mf index 5755bf29f80c..34d25b9c1655 100644 --- a/java/maven.junit.ui/manifest.mf +++ b/java/maven.junit.ui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.junit.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/junit/ui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.maven.junit.ui.MavenJUnitManagerProvider -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 diff --git a/java/maven.junit/manifest.mf b/java/maven.junit/manifest.mf index 8f8a08fc9e15..0617eb31f4a6 100644 --- a/java/maven.junit/manifest.mf +++ b/java/maven.junit/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.junit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/junit/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/java/maven.kit/manifest.mf b/java/maven.kit/manifest.mf index 7e93fd470cff..7830c6fc9839 100644 --- a/java/maven.kit/manifest.mf +++ b/java/maven.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.kit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/feature/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.modules.testng.maven.MavenTestNGSupport,org.netbeans.modules.maven.junit.ui.MavenJUnitManagerProvider,org.netbeans.modules.selenium2.maven.Selenium2MavenSupportImpl -OpenIDE-Module-Specification-Version: 4.57 +OpenIDE-Module-Specification-Version: 4.58 diff --git a/java/maven.model/manifest.mf b/java/maven.model/manifest.mf index 91a33f295348..6e35ec7ec150 100644 --- a/java/maven.model/manifest.mf +++ b/java/maven.model/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.model/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/model/Bundle.properties -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 diff --git a/java/maven.osgi/manifest.mf b/java/maven.osgi/manifest.mf index 3535006b8045..1fdde571d69f 100644 --- a/java/maven.osgi/manifest.mf +++ b/java/maven.osgi/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.osgi/1 OpenIDE-Module-Layer: org/netbeans/modules/maven/osgi/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/osgi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/java/maven.persistence/manifest.mf b/java/maven.persistence/manifest.mf index 684a789eb5f9..057fad8c7547 100644 --- a/java/maven.persistence/manifest.mf +++ b/java/maven.persistence/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.persistence/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/persistence/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 diff --git a/java/maven.refactoring/nbproject/project.properties b/java/maven.refactoring/nbproject/project.properties index 38fe04b6fb04..f421da831978 100644 --- a/java/maven.refactoring/nbproject/project.properties +++ b/java/maven.refactoring/nbproject/project.properties @@ -17,4 +17,4 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial requires.nb.javac=true -spec.version.base=1.47.0 +spec.version.base=1.48.0 diff --git a/java/maven.repository/manifest.mf b/java/maven.repository/manifest.mf index 38f2ea8ac3b8..d656fdd83a47 100644 --- a/java/maven.repository/manifest.mf +++ b/java/maven.repository/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.repository/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/repository/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 diff --git a/java/maven.search/manifest.mf b/java/maven.search/manifest.mf index 134e424b5e5f..d3f9e28308bf 100644 --- a/java/maven.search/manifest.mf +++ b/java/maven.search/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.search OpenIDE-Module-Layer: org/netbeans/modules/maven/search/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/search/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/java/maven.spring/manifest.mf b/java/maven.spring/manifest.mf index e059d4f5beca..a2a3bd3ac9b7 100644 --- a/java/maven.spring/manifest.mf +++ b/java/maven.spring/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.maven.spring/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/spring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 diff --git a/java/maven/nbproject/project.properties b/java/maven/nbproject/project.properties index 71afaef0e985..08d443c50876 100644 --- a/java/maven/nbproject/project.properties +++ b/java/maven/nbproject/project.properties @@ -21,7 +21,7 @@ javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml javahelp.hs=maven.hs extra.module.files=maven-nblib/ -spec.version.base=2.165.0 +spec.version.base=2.166.0 # The CPExtender test fails in library processing (not randomly) since NetBeans 8.2; disabling. test.excludes=**/CPExtenderTest.class diff --git a/java/nashorn.execution/manifest.mf b/java/nashorn.execution/manifest.mf index e2e0d1fbf36e..cafa61ec1750 100644 --- a/java/nashorn.execution/manifest.mf +++ b/java/nashorn.execution/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.nashorn.execution/1 Comment: OpenIDE-Module-Layer: org/netbeans/modules/nashorn/execution/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/nashorn/execution/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 AutoUpdate-Show-In-Client: false OpenIDE-Module-Recommends: org.netbeans.libs.graaljs diff --git a/java/projectimport.eclipse.core/manifest.mf b/java/projectimport.eclipse.core/manifest.mf index 7671c698efa7..0cc72e4f4ead 100644 --- a/java/projectimport.eclipse.core/manifest.mf +++ b/java/projectimport.eclipse.core/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.projectimport.eclipse.core/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/projectimport/eclipse/core/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/projectimport/eclipse/core/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.56 +OpenIDE-Module-Specification-Version: 2.57 diff --git a/java/projectimport.eclipse.j2se/nbproject/project.properties b/java/projectimport.eclipse.j2se/nbproject/project.properties index b73b64c71d0e..4c51016c814f 100644 --- a/java/projectimport.eclipse.j2se/nbproject/project.properties +++ b/java/projectimport.eclipse.j2se/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.54.0 +spec.version.base=1.55.0 diff --git a/java/refactoring.java/nbproject/project.properties b/java/refactoring.java/nbproject/project.properties index 5f57bb0404c3..b2946a8c7497 100644 --- a/java/refactoring.java/nbproject/project.properties +++ b/java/refactoring.java/nbproject/project.properties @@ -18,7 +18,7 @@ javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=1.88.0 +spec.version.base=1.89.0 #test configs test.config.find.includes=\ **/FindUsagesSuite.class diff --git a/java/selenium2.java/manifest.mf b/java/selenium2.java/manifest.mf index 0cf4740e372b..0f423d4332c9 100644 --- a/java/selenium2.java/manifest.mf +++ b/java/selenium2.java/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.java OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/java/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.selenium2.java -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 diff --git a/java/selenium2.maven/manifest.mf b/java/selenium2.maven/manifest.mf index d89d654739d0..268823d36a3d 100644 --- a/java/selenium2.maven/manifest.mf +++ b/java/selenium2.maven/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.maven OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/maven/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.selenium2.maven.Selenium2MavenSupportImpl -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 diff --git a/java/spellchecker.bindings.java/manifest.mf b/java/spellchecker.bindings.java/manifest.mf index 2b0ca3a6fa46..74aebb51937f 100644 --- a/java/spellchecker.bindings.java/manifest.mf +++ b/java/spellchecker.bindings.java/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.java/1 OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/java/spi.debugger.jpda.ui/manifest.mf b/java/spi.debugger.jpda.ui/manifest.mf index d8b15b9f20b5..a83586fae324 100644 --- a/java/spi.debugger.jpda.ui/manifest.mf +++ b/java/spi.debugger.jpda.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.debugger.jpda.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/ui/spi/Bundle.properties -OpenIDE-Module-Specification-Version: 3.29 +OpenIDE-Module-Specification-Version: 3.30 diff --git a/java/spi.java.hints/nbproject/project.properties b/java/spi.java.hints/nbproject/project.properties index 40ef24534260..1ed789c91646 100644 --- a/java/spi.java.hints/nbproject/project.properties +++ b/java/spi.java.hints/nbproject/project.properties @@ -17,7 +17,7 @@ is.autoload=true javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.60.0 +spec.version.base=1.61.0 requires.nb.javac=true javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/java/spring.beans/nbproject/project.properties b/java/spring.beans/nbproject/project.properties index 0e1acf518543..ca7aad3d6d56 100644 --- a/java/spring.beans/nbproject/project.properties +++ b/java/spring.beans/nbproject/project.properties @@ -18,7 +18,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.66.0 +spec.version.base=1.67.0 #for SpringModelAnnotationsTest requires.nb.javac=true diff --git a/java/testng.ant/manifest.mf b/java/testng.ant/manifest.mf index 79f0664a318d..b2bc5fc19872 100644 --- a/java/testng.ant/manifest.mf +++ b/java/testng.ant/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.testng.ant OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/testng/ant/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.testng.ant.AntTestNGSupport -OpenIDE-Module-Specification-Version: 2.41 +OpenIDE-Module-Specification-Version: 2.42 diff --git a/java/testng.maven/manifest.mf b/java/testng.maven/manifest.mf index 53117e652289..8a797db1e88f 100644 --- a/java/testng.maven/manifest.mf +++ b/java/testng.maven/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.testng.maven OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/testng/maven/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.testng.maven.MavenTestNGSupport -OpenIDE-Module-Specification-Version: 2.42 +OpenIDE-Module-Specification-Version: 2.43 diff --git a/java/testng.ui/manifest.mf b/java/testng.ui/manifest.mf index d9e5dc5d18cd..5f99ec7f301f 100644 --- a/java/testng.ui/manifest.mf +++ b/java/testng.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.testng.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/testng/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/java/testng/manifest.mf b/java/testng/manifest.mf index ec863fb99f46..9ac8156f3454 100644 --- a/java/testng/manifest.mf +++ b/java/testng/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.testng OpenIDE-Module-Layer: org/netbeans/modules/testng/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/testng/Bundle.properties -OpenIDE-Module-Specification-Version: 2.46 +OpenIDE-Module-Specification-Version: 2.47 diff --git a/java/websvc.jaxws21/manifest.mf b/java/websvc.jaxws21/manifest.mf index 57bcd8ab2f46..6ec0ab2c2d4b 100644 --- a/java/websvc.jaxws21/manifest.mf +++ b/java/websvc.jaxws21/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxws21/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxws21/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 OpenIDE-Module-Layer: org/netbeans/modules/websvc/jaxws21/layer.xml OpenIDE-Module-Provides: com.sun.xml.ws.spi.ProviderImpl diff --git a/java/websvc.jaxws21api/manifest.mf b/java/websvc.jaxws21api/manifest.mf index 35e56d9905f3..4afb1598ebdc 100644 --- a/java/websvc.jaxws21api/manifest.mf +++ b/java/websvc.jaxws21api/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxws21api/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxws21api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 OpenIDE-Module-Requires: org.openide.modules.ModuleFormat2 OpenIDE-Module-Needs: com.sun.xml.ws.spi.ProviderImpl, com.sun.xml.bind OpenIDE-Module-Hide-Classpath-Packages: javax.jws.**, javax.xml.ws.**, javax.xml.soap.**, javax.annotation.** diff --git a/java/websvc.saas.codegen.java/manifest.mf b/java/websvc.saas.codegen.java/manifest.mf index d4b237c1132e..65bcb2a5ec30 100644 --- a/java/websvc.saas.codegen.java/manifest.mf +++ b/java/websvc.saas.codegen.java/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.codegen.java OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/codegen/java/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 OpenIDE-Module-Layer: org/netbeans/modules/websvc/saas/codegen/java/layer.xml AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: org.netbeans.modules.websvc.saas.codegen.java diff --git a/java/whitelist/manifest.mf b/java/whitelist/manifest.mf index d109104fab87..460ae4cae83e 100644 --- a/java/whitelist/manifest.mf +++ b/java/whitelist/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.whitelist OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/whitelist/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/whitelist/resources/layer.xml -OpenIDE-Module-Specification-Version: 1.49 +OpenIDE-Module-Specification-Version: 1.50 diff --git a/java/xml.jaxb/manifest.mf b/java/xml.jaxb/manifest.mf index 99a8f3aef758..49fd78d3d924 100644 --- a/java/xml.jaxb/manifest.mf +++ b/java/xml.jaxb/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 OpenIDE-Module: org.netbeans.modules.xml.jaxb/1 OpenIDE-Module-Layer: org/netbeans/modules/xml/jaxb/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/jaxb/Bundle.properties diff --git a/java/xml.tools.java/manifest.mf b/java/xml.tools.java/manifest.mf index bc17f2083ad2..73bf1a1b26ce 100644 --- a/java/xml.tools.java/manifest.mf +++ b/java/xml.tools.java/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.xml.tools.java OpenIDE-Module-Layer: org/netbeans/modules/xml/tools/java/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/xml/tools/java/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 diff --git a/javafx/javafx2.editor/nbproject/project.properties b/javafx/javafx2.editor/nbproject/project.properties index 9fc2135ace36..e99686b8d123 100644 --- a/javafx/javafx2.editor/nbproject/project.properties +++ b/javafx/javafx2.editor/nbproject/project.properties @@ -18,7 +18,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.47.0 +spec.version.base=1.48.0 requires.nb.javac=true test.config.stable.includes=**/JavaFXCSSModuleTest.class diff --git a/javafx/javafx2.kit/manifest.mf b/javafx/javafx2.kit/manifest.mf index 731bd58d9871..77287518f6e5 100644 --- a/javafx/javafx2.kit/manifest.mf +++ b/javafx/javafx2.kit/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javafx2.kit OpenIDE-Module-Layer: org/netbeans/modules/javafx2/kit/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/javafx/javafx2.platform/manifest.mf b/javafx/javafx2.platform/manifest.mf index f86131c8b67c..65ca15dde1eb 100644 --- a/javafx/javafx2.platform/manifest.mf +++ b/javafx/javafx2.platform/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javafx2.platform OpenIDE-Module-Layer: org/netbeans/modules/javafx2/platform/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/platform/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/javafx/javafx2.project/manifest.mf b/javafx/javafx2.project/manifest.mf index 733e6acab459..ab9f06c255d8 100644 --- a/javafx/javafx2.project/manifest.mf +++ b/javafx/javafx2.project/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javafx2.project OpenIDE-Module-Layer: org/netbeans/modules/javafx2/project/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/project/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/javafx/javafx2.samples/manifest.mf b/javafx/javafx2.samples/manifest.mf index ee7db35a15e5..79e3a5cf7b58 100644 --- a/javafx/javafx2.samples/manifest.mf +++ b/javafx/javafx2.samples/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javafx2.samples OpenIDE-Module-Layer: org/netbeans/modules/javafx2/samples/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/samples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/javafx/javafx2.scenebuilder/manifest.mf b/javafx/javafx2.scenebuilder/manifest.mf index 35f15fd7fece..a28cab984492 100644 --- a/javafx/javafx2.scenebuilder/manifest.mf +++ b/javafx/javafx2.scenebuilder/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javafx2.scenebuilder OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javafx2/scenebuilder/Bundle.properties -OpenIDE-Module-Specification-Version: 1.43 +OpenIDE-Module-Specification-Version: 1.44 diff --git a/javafx/maven.htmlui/manifest.mf b/javafx/maven.htmlui/manifest.mf index de95dec06961..9cc0c45dc502 100644 --- a/javafx/maven.htmlui/manifest.mf +++ b/javafx/maven.htmlui/manifest.mf @@ -6,4 +6,4 @@ OpenIDE-Module-Requires: org.netbeans.api.templates.wizard OpenIDE-Module-Recommends: org.netbeans.modules.ko4j.debugging,org.netbeans.modules.ko4j.editing OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/htmlui/Bundle.properties OpenIDE-Module-Needs: org.netbeans.api.templates.wizard, javax.script.ScriptEngine.freemarker -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/nb/autoupdate.pluginimporter/manifest.mf b/nb/autoupdate.pluginimporter/manifest.mf index a15b8580666f..e12b42c55720 100644 --- a/nb/autoupdate.pluginimporter/manifest.mf +++ b/nb/autoupdate.pluginimporter/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.autoupdate.pluginimporter OpenIDE-Module-Install: org/netbeans/modules/autoupdate/pluginimporter/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/pluginimporter/Bundle.properties -OpenIDE-Module-Specification-Version: 1.46 +OpenIDE-Module-Specification-Version: 1.47 diff --git a/nb/bugzilla.exceptionreporter/manifest.mf b/nb/bugzilla.exceptionreporter/manifest.mf index cfed76d4c4bb..59bedf9cb957 100644 --- a/nb/bugzilla.exceptionreporter/manifest.mf +++ b/nb/bugzilla.exceptionreporter/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true OpenIDE-Module: org.netbeans.modules.bugzilla.exceptionreporter OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/bugzilla/exceptionreporter/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 diff --git a/nb/deadlock.detector/manifest.mf b/nb/deadlock.detector/manifest.mf index 91515922b0c7..b0cc3dd216b8 100644 --- a/nb/deadlock.detector/manifest.mf +++ b/nb/deadlock.detector/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.deadlock.detector OpenIDE-Module-Install: org/netbeans/modules/deadlock/detector/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/deadlock/detector/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 Main-Class: org.netbeans.modules.deadlock.detector.DeadlockReporter diff --git a/nb/ide.branding.kit/manifest.mf b/nb/ide.branding.kit/manifest.mf index c1d055223bb3..c23121dd4a7e 100644 --- a/nb/ide.branding.kit/manifest.mf +++ b/nb/ide.branding.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ide.branding.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/branding/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/nb/ide.branding/manifest.mf b/nb/ide.branding/manifest.mf index d1f4ce898aa9..930334652d1a 100644 --- a/nb/ide.branding/manifest.mf +++ b/nb/ide.branding/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.ide.branding/1 OpenIDE-Module-Layer: org/netbeans/modules/ide/branding/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/branding/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 AutoUpdate-Show-In-Client: false diff --git a/nb/ide.dashboard/manifest.mf b/nb/ide.dashboard/manifest.mf index a9949d0eec9b..6cf80292a95b 100644 --- a/nb/ide.dashboard/manifest.mf +++ b/nb/ide.dashboard/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 -OpenIDE-Module-Specification-Version: 0.3 +OpenIDE-Module-Specification-Version: 0.4 OpenIDE-Module: org.netbeans.modules.ide.dashboard/0 OpenIDE-Module-Layer: org/netbeans/modules/ide/dashboard/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/ide/dashboard/Bundle.properties diff --git a/nb/o.n.upgrader/manifest.mf b/nb/o.n.upgrader/manifest.mf index d0c992fc0769..5a4c67055f9e 100644 --- a/nb/o.n.upgrader/manifest.mf +++ b/nb/o.n.upgrader/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.upgrader -OpenIDE-Module-Specification-Version: 4.61 +OpenIDE-Module-Specification-Version: 4.62 OpenIDE-Module-Localizing-Bundle: org/netbeans/upgrade/Bundle.properties AutoUpdate-Essential-Module: true diff --git a/nb/uihandler.exceptionreporter/manifest.mf b/nb/uihandler.exceptionreporter/manifest.mf index c8c3be8bcf90..88ef0161f80c 100644 --- a/nb/uihandler.exceptionreporter/manifest.mf +++ b/nb/uihandler.exceptionreporter/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.uihandler.exceptionreporter OpenIDE-Module-Install: org/netbeans/modules/uihandler/exceptionreporter/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/uihandler/exceptionreporter/Bundle.properties -OpenIDE-Module-Specification-Version: 1.55 +OpenIDE-Module-Specification-Version: 1.56 AutoUpdate-Show-In-Client: false diff --git a/nb/updatecenters/manifest.mf b/nb/updatecenters/manifest.mf index 57bdd9b18582..66cbaf1b9ac8 100644 --- a/nb/updatecenters/manifest.mf +++ b/nb/updatecenters/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/updatecenters/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 OpenIDE-Module: org.netbeans.modules.updatecenters/1 OpenIDE-Module-Layer: org/netbeans/modules/updatecenters/resources/mf-layer.xml diff --git a/php/hudson.php/manifest.mf b/php/hudson.php/manifest.mf index a2240cb3cca5..bc4444b099bd 100644 --- a/php/hudson.php/manifest.mf +++ b/php/hudson.php/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.hudson.php OpenIDE-Module-Layer: org/netbeans/modules/hudson/php/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/hudson/php/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 diff --git a/php/languages.neon/manifest.mf b/php/languages.neon/manifest.mf index eafc3ec89ffd..adaf4fec2fe0 100644 --- a/php/languages.neon/manifest.mf +++ b/php/languages.neon/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.languages.neon OpenIDE-Module-Layer: org/netbeans/modules/languages/neon/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/neon/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/php/libs.javacup/nbproject/project.properties b/php/libs.javacup/nbproject/project.properties index cdf411de77fa..990d9ca913cb 100644 --- a/php/libs.javacup/nbproject/project.properties +++ b/php/libs.javacup/nbproject/project.properties @@ -17,4 +17,4 @@ is.autoload=true release.external/java-cup-11a.jar=modules/ext/java-cup-11a.jar -spec.version.base=1.50.0 +spec.version.base=1.51.0 diff --git a/php/php.api.annotation/manifest.mf b/php/php.api.annotation/manifest.mf index acc65cda4bc4..8d6b2e83e6f9 100644 --- a/php/php.api.annotation/manifest.mf +++ b/php/php.api.annotation/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.annotation/0 OpenIDE-Module-Layer: org/netbeans/modules/php/api/annotation/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/annotation/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.44 +OpenIDE-Module-Specification-Version: 0.45 diff --git a/php/php.api.documentation/manifest.mf b/php/php.api.documentation/manifest.mf index cf1cd73b41d6..a3e4b85f1993 100644 --- a/php/php.api.documentation/manifest.mf +++ b/php/php.api.documentation/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.documentation/0 OpenIDE-Module-Layer: org/netbeans/modules/php/api/documentation/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/documentation/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.39 +OpenIDE-Module-Specification-Version: 0.40 diff --git a/php/php.api.editor/manifest.mf b/php/php.api.editor/manifest.mf index 4dc85a7bd15e..5ba86357cbb6 100644 --- a/php/php.api.editor/manifest.mf +++ b/php/php.api.editor/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.editor/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/editor/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.53 +OpenIDE-Module-Specification-Version: 0.54 diff --git a/php/php.api.executable/manifest.mf b/php/php.api.executable/manifest.mf index 34089301d3c5..20da77933de9 100644 --- a/php/php.api.executable/manifest.mf +++ b/php/php.api.executable/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.executable/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/executable/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.56 +OpenIDE-Module-Specification-Version: 0.57 diff --git a/php/php.api.framework/manifest.mf b/php/php.api.framework/manifest.mf index ff768de8d870..fef9a02f096b 100644 --- a/php/php.api.framework/manifest.mf +++ b/php/php.api.framework/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.framework/0 OpenIDE-Module-Layer: org/netbeans/modules/php/api/framework/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/framework/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.51 +OpenIDE-Module-Specification-Version: 0.52 diff --git a/php/php.api.phpmodule/manifest.mf b/php/php.api.phpmodule/manifest.mf index 9ab923887fcd..0b80b26cd123 100644 --- a/php/php.api.phpmodule/manifest.mf +++ b/php/php.api.phpmodule/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.phpmodule OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/phpmodule/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 2.98 +OpenIDE-Module-Specification-Version: 2.99 diff --git a/php/php.api.templates/manifest.mf b/php/php.api.templates/manifest.mf index fe791e85ff4c..a29cfd7d88fb 100644 --- a/php/php.api.templates/manifest.mf +++ b/php/php.api.templates/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.templates/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/templates/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.35 +OpenIDE-Module-Specification-Version: 0.36 diff --git a/php/php.api.testing/manifest.mf b/php/php.api.testing/manifest.mf index ccbcede931b3..c849acd09748 100644 --- a/php/php.api.testing/manifest.mf +++ b/php/php.api.testing/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.api.testing/0 OpenIDE-Module-Layer: org/netbeans/modules/php/api/testing/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/api/testing/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.45 +OpenIDE-Module-Specification-Version: 0.46 diff --git a/php/php.apigen/manifest.mf b/php/php.apigen/manifest.mf index a103d9cf1b48..e1733ea682fe 100644 --- a/php/php.apigen/manifest.mf +++ b/php/php.apigen/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.apigen OpenIDE-Module-Layer: org/netbeans/modules/php/apigen/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/apigen/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 diff --git a/php/php.atoum/manifest.mf b/php/php.atoum/manifest.mf index 0e0b3d5aa5af..aa3f58036a16 100644 --- a/php/php.atoum/manifest.mf +++ b/php/php.atoum/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.atoum OpenIDE-Module-Layer: org/netbeans/modules/php/atoum/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/atoum/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.42 +OpenIDE-Module-Specification-Version: 0.43 diff --git a/php/php.code.analysis/manifest.mf b/php/php.code.analysis/manifest.mf index 43edaa1f6a75..4dfeb455be88 100644 --- a/php/php.code.analysis/manifest.mf +++ b/php/php.code.analysis/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.code.analysis OpenIDE-Module-Layer: org/netbeans/modules/php/analysis/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/analysis/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.40 +OpenIDE-Module-Specification-Version: 0.41 diff --git a/php/php.codeception/manifest.mf b/php/php.codeception/manifest.mf index 2642a9059d70..a240094da6e2 100644 --- a/php/php.codeception/manifest.mf +++ b/php/php.codeception/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.codeception OpenIDE-Module-Layer: org/netbeans/modules/php/codeception/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/codeception/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.30 +OpenIDE-Module-Specification-Version: 0.31 diff --git a/php/php.composer/manifest.mf b/php/php.composer/manifest.mf index 4b744fe056c0..3d22d97ce73d 100644 --- a/php/php.composer/manifest.mf +++ b/php/php.composer/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.composer/0 OpenIDE-Module-Layer: org/netbeans/modules/php/composer/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/composer/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.56 +OpenIDE-Module-Specification-Version: 0.57 diff --git a/php/php.dbgp/manifest.mf b/php/php.dbgp/manifest.mf index 721a9227f6d0..4cb0c2a5e3d8 100644 --- a/php/php.dbgp/manifest.mf +++ b/php/php.dbgp/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.php.dbgp OpenIDE-Module-Layer: org/netbeans/modules/php/dbgp/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/dbgp/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 diff --git a/php/php.doctrine2/manifest.mf b/php/php.doctrine2/manifest.mf index 4a7e3f1a7086..527168b80375 100644 --- a/php/php.doctrine2/manifest.mf +++ b/php/php.doctrine2/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.doctrine2 OpenIDE-Module-Layer: org/netbeans/modules/php/doctrine2/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/doctrine2/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/php/php.editor/nbproject/project.properties b/php/php.editor/nbproject/project.properties index c16172508a84..ca3d964614a4 100644 --- a/php/php.editor/nbproject/project.properties +++ b/php/php.editor/nbproject/project.properties @@ -18,7 +18,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial nbjavac.ignore.missing.enclosing=**/CUP$ASTPHP5Parser$actions.class nbm.needs.restart=true -spec.version.base=2.41.0 +spec.version.base=2.42.0 release.external/predefined_vars-1.0.zip=docs/predefined_vars.zip sigtest.gen.fail.on.error=false diff --git a/php/php.kit/manifest.mf b/php/php.kit/manifest.mf index 0480c7366606..7fa4b331244d 100644 --- a/php/php.kit/manifest.mf +++ b/php/php.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.88 +OpenIDE-Module-Specification-Version: 1.89 OpenIDE-Module-Recommends: cnb.org.netbeans.modules.languages.ini, cnb.org.netbeans.modules.languages.neon, cnb.org.netbeans.modules.php.apigen, cnb.org.netbeans.modules.web.client.kit, cnb.org.netbeans.modules.websvc.saas.codegen.php, cnb.org.netbeans.modules.websvc.saas.kit, org.netbeans.modules.selenium2.php.Selenium2PhpSupportImpl diff --git a/php/php.latte/manifest.mf b/php/php.latte/manifest.mf index 5043c0c376fe..5196981b67ea 100644 --- a/php/php.latte/manifest.mf +++ b/php/php.latte/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.latte/1 OpenIDE-Module-Layer: org/netbeans/modules/php/latte/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/latte/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/php/php.nette.tester/manifest.mf b/php/php.nette.tester/manifest.mf index 1caf72b510ac..abf3626c1320 100644 --- a/php/php.nette.tester/manifest.mf +++ b/php/php.nette.tester/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.nette.tester OpenIDE-Module-Layer: org/netbeans/modules/php/nette/tester/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/nette/tester/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.40 +OpenIDE-Module-Specification-Version: 0.41 diff --git a/php/php.nette2/manifest.mf b/php/php.nette2/manifest.mf index c0af28d5979e..6b86f5de14c5 100644 --- a/php/php.nette2/manifest.mf +++ b/php/php.nette2/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.nette2/1 OpenIDE-Module-Layer: org/netbeans/modules/php/nette2/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/nette2/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/php/php.phing/manifest.mf b/php/php.phing/manifest.mf index 333f85a782cd..69ef07d3f2ce 100644 --- a/php/php.phing/manifest.mf +++ b/php/php.phing/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.phing OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/phing/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.36 +OpenIDE-Module-Specification-Version: 0.37 AutoUpdate-Show-In-Client: true diff --git a/php/php.phpdoc/manifest.mf b/php/php.phpdoc/manifest.mf index 76e910cfd4d3..cefda78f0df9 100644 --- a/php/php.phpdoc/manifest.mf +++ b/php/php.phpdoc/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.phpdoc OpenIDE-Module-Layer: org/netbeans/modules/php/phpdoc/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/phpdoc/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/php/php.phpunit/manifest.mf b/php/php.phpunit/manifest.mf index 4173f8652b05..e793b36e6333 100644 --- a/php/php.phpunit/manifest.mf +++ b/php/php.phpunit/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.phpunit/0 OpenIDE-Module-Layer: org/netbeans/modules/php/phpunit/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/phpunit/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.51 +OpenIDE-Module-Specification-Version: 0.52 diff --git a/php/php.project/manifest.mf b/php/php.project/manifest.mf index 438d3f7dcb67..82feb40ee9c3 100644 --- a/php/php.project/manifest.mf +++ b/php/php.project/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 2.169 +OpenIDE-Module-Specification-Version: 2.170 OpenIDE-Module: org.netbeans.modules.php.project OpenIDE-Module-Layer: org/netbeans/modules/php/project/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/project/resources/Bundle.properties diff --git a/php/php.refactoring/manifest.mf b/php/php.refactoring/manifest.mf index 0f6e1213d178..42a20e5c7965 100644 --- a/php/php.refactoring/manifest.mf +++ b/php/php.refactoring/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.php.refactoring OpenIDE-Module-Layer: org/netbeans/modules/refactoring/php/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/refactoring/php/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/php/php.samples/manifest.mf b/php/php.samples/manifest.mf index f44376e3aee7..a8b1e13c82ad 100644 --- a/php/php.samples/manifest.mf +++ b/php/php.samples/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.php.samples OpenIDE-Module-Layer: org/netbeans/modules/php/samples/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/samples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/php/php.smarty/manifest.mf b/php/php.smarty/manifest.mf index 17e604b6f2a3..50b3e3f576df 100644 --- a/php/php.smarty/manifest.mf +++ b/php/php.smarty/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.smarty OpenIDE-Module-Layer: org/netbeans/modules/php/smarty/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/smarty/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.112 +OpenIDE-Module-Specification-Version: 1.113 diff --git a/php/php.symfony/manifest.mf b/php/php.symfony/manifest.mf index 7cd3145fb6e4..1126b733d56d 100644 --- a/php/php.symfony/manifest.mf +++ b/php/php.symfony/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.symfony OpenIDE-Module-Layer: org/netbeans/modules/php/symfony/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/symfony/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 diff --git a/php/php.symfony2/manifest.mf b/php/php.symfony2/manifest.mf index 8f7c6b0fa064..1e1b8a750d21 100644 --- a/php/php.symfony2/manifest.mf +++ b/php/php.symfony2/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.symfony2/1 OpenIDE-Module-Layer: org/netbeans/modules/php/symfony2/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/symfony2/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 diff --git a/php/php.twig/manifest.mf b/php/php.twig/manifest.mf index 349df2c3444d..cc21e9b62648 100644 --- a/php/php.twig/manifest.mf +++ b/php/php.twig/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.php.twig/1 OpenIDE-Module-Layer: org/netbeans/modules/php/twig/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/twig/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 diff --git a/php/php.zend/manifest.mf b/php/php.zend/manifest.mf index 04d7c820ff53..9dcf9f5b8a7c 100644 --- a/php/php.zend/manifest.mf +++ b/php/php.zend/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.zend OpenIDE-Module-Layer: org/netbeans/modules/php/zend/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/zend/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/php/php.zend2/manifest.mf b/php/php.zend2/manifest.mf index 549f50550b60..57684e9757f8 100644 --- a/php/php.zend2/manifest.mf +++ b/php/php.zend2/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.php.zend2 OpenIDE-Module-Layer: org/netbeans/modules/php/zend2/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/php/zend2/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.42 +OpenIDE-Module-Specification-Version: 0.43 diff --git a/php/selenium2.php/manifest.mf b/php/selenium2.php/manifest.mf index d0186a90f9a6..5bc4314480ca 100644 --- a/php/selenium2.php/manifest.mf +++ b/php/selenium2.php/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.php OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/php/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.selenium2.php.Selenium2PhpSupportImpl -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/php/spellchecker.bindings.php/manifest.mf b/php/spellchecker.bindings.php/manifest.mf index 9c6f6aaa575d..92bf68c55ddc 100644 --- a/php/spellchecker.bindings.php/manifest.mf +++ b/php/spellchecker.bindings.php/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spellchecker.bindings.php OpenIDE-Module-Layer: org/netbeans/modules/spellchecker/bindings/php/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/spellchecker/bindings/php/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.26 +OpenIDE-Module-Specification-Version: 0.27 diff --git a/php/websvc.saas.codegen.php/manifest.mf b/php/websvc.saas.codegen.php/manifest.mf index 1165a093e094..66d463712606 100644 --- a/php/websvc.saas.codegen.php/manifest.mf +++ b/php/websvc.saas.codegen.php/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.codegen.php OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/codegen/php/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 OpenIDE-Module-Layer: org/netbeans/modules/websvc/saas/codegen/php/layer.xml diff --git a/platform/api.annotations.common/manifest.mf b/platform/api.annotations.common/manifest.mf index fcb3a49f411e..4abf61e3f06b 100644 --- a/platform/api.annotations.common/manifest.mf +++ b/platform/api.annotations.common/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.annotations.common/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/annotations/common/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/platform/api.dashboard/manifest.mf b/platform/api.dashboard/manifest.mf index 46b8a66feece..fff0f4bdea14 100644 --- a/platform/api.dashboard/manifest.mf +++ b/platform/api.dashboard/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true OpenIDE-Module: org.netbeans.api.dashboard/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/dashboard/Bundle.properties -OpenIDE-Module-Specification-Version: 0.3 +OpenIDE-Module-Specification-Version: 0.4 diff --git a/platform/api.htmlui/manifest.mf b/platform/api.htmlui/manifest.mf index 21740deddb91..02bffb7c2f8f 100644 --- a/platform/api.htmlui/manifest.mf +++ b/platform/api.htmlui/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.htmlui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/htmlui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/platform/api.intent/manifest.mf b/platform/api.intent/manifest.mf index 7754c90bf729..060540fc7472 100644 --- a/platform/api.intent/manifest.mf +++ b/platform/api.intent/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.intent OpenIDE-Module-Localizing-Bundle: org/netbeans/api/intent/Bundle.properties -OpenIDE-Module-Specification-Version: 1.28 +OpenIDE-Module-Specification-Version: 1.29 diff --git a/platform/api.io/manifest.mf b/platform/api.io/manifest.mf index 5eeddce5e42c..536b8de2f98b 100644 --- a/platform/api.io/manifest.mf +++ b/platform/api.io/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Essential-Module: true OpenIDE-Module: org.netbeans.api.io OpenIDE-Module-Localizing-Bundle: org/netbeans/api/io/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 OpenIDE-Module-Recommends: org.netbeans.spi.io.InputOutputProvider diff --git a/platform/api.progress.compat8/manifest.mf b/platform/api.progress.compat8/manifest.mf index 1a9a34db23ff..2dea03703684 100644 --- a/platform/api.progress.compat8/manifest.mf +++ b/platform/api.progress.compat8/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Essential-Module: true OpenIDE-Module: org.netbeans.api.progress.compat8 OpenIDE-Module-Localizing-Bundle: api/progress/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 1.73 +OpenIDE-Module-Specification-Version: 1.74 OpenIDE-Module-Fragment-Host: org.netbeans.api.progress diff --git a/platform/api.progress.nb/manifest.mf b/platform/api.progress.nb/manifest.mf index 0871509a11ee..076e296183eb 100644 --- a/platform/api.progress.nb/manifest.mf +++ b/platform/api.progress.nb/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.progress.nb OpenIDE-Module-Localizing-Bundle: org/netbeans/api/progress/nb/Bundle.properties -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 diff --git a/platform/api.progress/manifest.mf b/platform/api.progress/manifest.mf index f1b28b1086b0..5ece83cd97be 100644 --- a/platform/api.progress/manifest.mf +++ b/platform/api.progress/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.api.progress/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/progress/module/resources/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.modules.progress.spi.ProgressUIWorkerProvider, org.netbeans.modules.progress.spi.RunOffEDTProvider AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.74 +OpenIDE-Module-Specification-Version: 1.75 diff --git a/platform/api.scripting/manifest.mf b/platform/api.scripting/manifest.mf index 755dcaede00a..39f7340a8de8 100644 --- a/platform/api.scripting/manifest.mf +++ b/platform/api.scripting/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.scripting OpenIDE-Module-Localizing-Bundle: org/netbeans/api/scripting/Bundle.properties -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 OpenIDE-Module-Recommends: org.netbeans.spi.scripting.EngineProvider diff --git a/platform/api.search/manifest.mf b/platform/api.search/manifest.mf index c7ea9eae2dfc..990e7f391d5e 100644 --- a/platform/api.search/manifest.mf +++ b/platform/api.search/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.search OpenIDE-Module-Localizing-Bundle: org/netbeans/api/search/Bundle.properties -OpenIDE-Module-Specification-Version: 1.47 +OpenIDE-Module-Specification-Version: 1.48 diff --git a/platform/api.templates/manifest.mf b/platform/api.templates/manifest.mf index 43cec7ba56a0..69eaf8f4547e 100644 --- a/platform/api.templates/manifest.mf +++ b/platform/api.templates/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.api.templates OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/templates/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 OpenIDE-Module-Recommends: org.netbeans.templates.IndentEngine diff --git a/platform/api.visual/manifest.mf b/platform/api.visual/manifest.mf index b255bc0af167..8188f75371bb 100644 --- a/platform/api.visual/manifest.mf +++ b/platform/api.visual/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.visual OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/visual/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 2.74 +OpenIDE-Module-Specification-Version: 2.75 AutoUpdate-Essential-Module: true diff --git a/platform/applemenu/manifest.mf b/platform/applemenu/manifest.mf index 26b6519c1774..33b35b7f2018 100644 --- a/platform/applemenu/manifest.mf +++ b/platform/applemenu/manifest.mf @@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.applemenu/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/applemenu/Bundle.properties OpenIDE-Module-Install: org/netbeans/modules/applemenu/Install.class OpenIDE-Module-Layer: org/netbeans/modules/applemenu/layer.xml -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 OpenIDE-Module-Requires: org.openide.modules.os.MacOSX diff --git a/platform/autoupdate.cli/manifest.mf b/platform/autoupdate.cli/manifest.mf index ce1f99654679..17dacb21b75b 100644 --- a/platform/autoupdate.cli/manifest.mf +++ b/platform/autoupdate.cli/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.autoupdate.cli OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/cli/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/platform/autoupdate.services/manifest.mf b/platform/autoupdate.services/manifest.mf index 8364af2c7738..dfddc600d759 100644 --- a/platform/autoupdate.services/manifest.mf +++ b/platform/autoupdate.services/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.autoupdate.services OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/services/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.82 +OpenIDE-Module-Specification-Version: 1.83 OpenIDE-Module-Layer: org/netbeans/modules/autoupdate/services/resources/layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/autoupdate.ui/manifest.mf b/platform/autoupdate.ui/manifest.mf index 81cf4e5c6c0b..114b6d948b67 100644 --- a/platform/autoupdate.ui/manifest.mf +++ b/platform/autoupdate.ui/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.autoupdate.ui OpenIDE-Module-Install: org/netbeans/modules/autoupdate/ui/actions/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/autoupdate/ui/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/core.execution/manifest.mf b/platform/core.execution/manifest.mf index cb57f2dd2b1c..84ca14008b67 100644 --- a/platform/core.execution/manifest.mf +++ b/platform/core.execution/manifest.mf @@ -3,4 +3,4 @@ OpenIDE-Module: org.netbeans.core.execution/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/core/execution/resources/Bundle.properties OpenIDE-Module-Provides: org.openide.execution.ExecutionEngine, org.openide.execution.ExecutionEngine.defaultLookup AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 diff --git a/platform/core.io.ui/manifest.mf b/platform/core.io.ui/manifest.mf index 5522b9376c9d..c7b2db9dd5fe 100644 --- a/platform/core.io.ui/manifest.mf +++ b/platform/core.io.ui/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.core.io.ui/1 OpenIDE-Module-Provides: org.openide.windows.IOContainer$Provider OpenIDE-Module-Layer: org/netbeans/core/io/ui/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/core/io/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/platform/core.kit/manifest.mf b/platform/core.kit/manifest.mf index 0691f0d4d6d4..d8831b375502 100644 --- a/platform/core.kit/manifest.mf +++ b/platform/core.kit/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.core.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/core/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 AutoUpdate-Essential-Module: true diff --git a/platform/core.multitabs/nbproject/project.properties b/platform/core.multitabs/nbproject/project.properties index e31b4585a672..ddd2868cb8ae 100644 --- a/platform/core.multitabs/nbproject/project.properties +++ b/platform/core.multitabs/nbproject/project.properties @@ -18,5 +18,5 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml nbm.needs.restart=true -spec.version.base=1.38.0 +spec.version.base=1.39.0 is.autoload=true diff --git a/platform/core.multiview/manifest.mf b/platform/core.multiview/manifest.mf index 1b10e5966cf3..88b5b2d3d551 100644 --- a/platform/core.multiview/manifest.mf +++ b/platform/core.multiview/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.multiview/1 -OpenIDE-Module-Specification-Version: 1.70 +OpenIDE-Module-Specification-Version: 1.71 OpenIDE-Module-Localizing-Bundle: org/netbeans/core/multiview/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/core/multiview/resources/mf-layer.xml AutoUpdate-Essential-Module: true diff --git a/platform/core.nativeaccess/manifest.mf b/platform/core.nativeaccess/manifest.mf index 347f764d3700..c09f6f8d8514 100644 --- a/platform/core.nativeaccess/manifest.mf +++ b/platform/core.nativeaccess/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.core.nativeaccess/1 -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Localizing-Bundle: org/netbeans/core/nativeaccess/Bundle.properties OpenIDE-Module-Provides: org.netbeans.core.windows.nativeaccess.NativeWindowSystem diff --git a/platform/core.netigso/manifest.mf b/platform/core.netigso/manifest.mf index d2770048fd11..f72a26222bac 100644 --- a/platform/core.netigso/manifest.mf +++ b/platform/core.netigso/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.netigso OpenIDE-Module-Localizing-Bundle: org/netbeans/core/netigso/Bundle.properties OpenIDE-Module-Provides: org.netbeans.NetigsoFramework -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Needs: org.osgi.framework.launch.FrameworkFactory AutoUpdate-Essential-Module: true diff --git a/platform/core.network/manifest.mf b/platform/core.network/manifest.mf index a590a906bd8c..2d562becf660 100644 --- a/platform/core.network/manifest.mf +++ b/platform/core.network/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.network OpenIDE-Module-Localizing-Bundle: org/netbeans/core/network/proxy/Bundle.properties OpenIDE-Module-Provides: org.netbeans.core.ProxySettings.Reloader -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 OpenIDE-Module-Recommends: javax.script.ScriptEngine.js diff --git a/platform/core.osgi/manifest.mf b/platform/core.osgi/manifest.mf index b44acda8375a..af808db0b126 100644 --- a/platform/core.osgi/manifest.mf +++ b/platform/core.osgi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.core.osgi OpenIDE-Module-Localizing-Bundle: org/netbeans/core/osgi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 AutoUpdate-Essential-Module: true diff --git a/platform/core.output2/manifest.mf b/platform/core.output2/manifest.mf index 9f2291c17d6c..a99e2235260e 100644 --- a/platform/core.output2/manifest.mf +++ b/platform/core.output2/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module-Layer: org/netbeans/core/output2/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/core/output2/Bundle.properties OpenIDE-Module-Provides: org.openide.windows.IOProvider, org.netbeans.spi.io.InputOutputProvider AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 diff --git a/platform/core.startup.base/nbproject/project.properties b/platform/core.startup.base/nbproject/project.properties index ac3ec5036313..42453cb5a6b3 100644 --- a/platform/core.startup.base/nbproject/project.properties +++ b/platform/core.startup.base/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=1.88.0 +spec.version.base=1.89.0 module.jar.dir=core module.jar.basename=core-base.jar javadoc.arch=${basedir}/arch.xml diff --git a/platform/core.startup/nbproject/project.properties b/platform/core.startup/nbproject/project.properties index e1e39ec5f3c6..9b1d62a84238 100644 --- a/platform/core.startup/nbproject/project.properties +++ b/platform/core.startup/nbproject/project.properties @@ -21,7 +21,7 @@ javac.source=1.8 javadoc.apichanges=${basedir}/apichanges.xml module.jar.dir=core module.jar.basename=core.jar -spec.version.base=1.89.0 +spec.version.base=1.90.0 # XXX using a data dir from another module means that these tests cannot be run from testdist test-unit-sys-prop.xtest.data=${nb_all}/platform/o.n.bootstrap/test/unit/data diff --git a/platform/core.ui/manifest.mf b/platform/core.ui/manifest.mf index ac5d3edddb5a..b535d08580b4 100644 --- a/platform/core.ui/manifest.mf +++ b/platform/core.ui/manifest.mf @@ -4,5 +4,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/core/ui/resources/Bundle.properti OpenIDE-Module-Layer: org/netbeans/core/ui/resources/layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.71 +OpenIDE-Module-Specification-Version: 1.72 diff --git a/platform/core.windows/manifest.mf b/platform/core.windows/manifest.mf index 7a1f7764c274..263d24822040 100644 --- a/platform/core.windows/manifest.mf +++ b/platform/core.windows/manifest.mf @@ -7,4 +7,4 @@ OpenIDE-Module-Recommends: org.netbeans.core.windows.nativeaccess.NativeWindowSy OpenIDE-Module-Needs: org.netbeans.swing.tabcontrol.customtabs.TabbedComponentFactory AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 2.111 +OpenIDE-Module-Specification-Version: 2.112 diff --git a/platform/editor.mimelookup.impl/manifest.mf b/platform/editor.mimelookup.impl/manifest.mf index e635b11770ca..9b80b3f03d55 100644 --- a/platform/editor.mimelookup.impl/manifest.mf +++ b/platform/editor.mimelookup.impl/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.mimelookup.impl/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/mimelookup/impl/Bundle.properties OpenIDE-Module-Provides: org.netbeans.spi.editor.mimelookup.MimeDataProvider -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 diff --git a/platform/editor.mimelookup/manifest.mf b/platform/editor.mimelookup/manifest.mf index 451253cd70ad..c12c5512a63e 100644 --- a/platform/editor.mimelookup/manifest.mf +++ b/platform/editor.mimelookup/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.editor.mimelookup/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/editor/mimelookup/Bundle.properties -OpenIDE-Module-Specification-Version: 1.66 +OpenIDE-Module-Specification-Version: 1.67 OpenIDE-Module-Recommends: org.netbeans.spi.editor.mimelookup.MimeDataProvider AutoUpdate-Essential-Module: true diff --git a/platform/favorites/manifest.mf b/platform/favorites/manifest.mf index e826e4ce6c92..7c2260c71546 100644 --- a/platform/favorites/manifest.mf +++ b/platform/favorites/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.favorites/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/favorites/Bundle.properties -OpenIDE-Module-Specification-Version: 1.72 +OpenIDE-Module-Specification-Version: 1.73 OpenIDE-Module-Layer: org/netbeans/modules/favorites/resources/layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/htmlui/manifest.mf b/platform/htmlui/manifest.mf index 7b9ed530f1d3..f34d0ce2c165 100644 --- a/platform/htmlui/manifest.mf +++ b/platform/htmlui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.htmlui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/htmlui/impl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.11 +OpenIDE-Module-Specification-Version: 1.12 diff --git a/platform/janitor/manifest.mf b/platform/janitor/manifest.mf index a025f3ec7f80..c39ece4a8a4f 100644 --- a/platform/janitor/manifest.mf +++ b/platform/janitor/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.janitor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/janitor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.19 +OpenIDE-Module-Specification-Version: 1.20 diff --git a/platform/javahelp/manifest.mf b/platform/javahelp/manifest.mf index d747fcaade99..81e0e4a6e35f 100644 --- a/platform/javahelp/manifest.mf +++ b/platform/javahelp/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javahelp/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javahelp/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 2.67 +OpenIDE-Module-Specification-Version: 2.68 OpenIDE-Module-Provides: org.netbeans.api.javahelp.Help OpenIDE-Module-Requires: org.openide.modules.InstalledFileLocator, org.openide.modules.ModuleFormat2 OpenIDE-Module-Layer: org/netbeans/modules/javahelp/resources/layer.xml diff --git a/platform/junitlib/manifest.mf b/platform/junitlib/manifest.mf index c20f929978d3..2136591f4c7c 100644 --- a/platform/junitlib/manifest.mf +++ b/platform/junitlib/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.junitlib OpenIDE-Module-Layer: org/netbeans/modules/junitlib/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/junitlib/Bundle.properties -OpenIDE-Module-Specification-Version: 1.31 +OpenIDE-Module-Specification-Version: 1.32 diff --git a/platform/keyring.fallback/manifest.mf b/platform/keyring.fallback/manifest.mf index 3ea144e35105..ef74483e5d5a 100644 --- a/platform/keyring.fallback/manifest.mf +++ b/platform/keyring.fallback/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.keyring.fallback OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/keyring/fallback/Bundle.properties -OpenIDE-Module-Specification-Version: 1.34 +OpenIDE-Module-Specification-Version: 1.35 diff --git a/platform/keyring.impl/manifest.mf b/platform/keyring.impl/manifest.mf index b746bcba6675..3c4f2964db00 100644 --- a/platform/keyring.impl/manifest.mf +++ b/platform/keyring.impl/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.keyring.impl OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/keyring/impl/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 OpenIDE-Module-Provides: org.netbeans.modules.keyring.impl diff --git a/platform/keyring/manifest.mf b/platform/keyring/manifest.mf index 0844da809b1a..e742a280d268 100644 --- a/platform/keyring/manifest.mf +++ b/platform/keyring/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.keyring OpenIDE-Module-Layer: org/netbeans/modules/keyring/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/keyring/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 OpenIDE-Module-Recommends: org.netbeans.modules.keyring.impl diff --git a/platform/lib.uihandler/manifest.mf b/platform/lib.uihandler/manifest.mf index 9c2867fa98b4..27eec9ba5caf 100644 --- a/platform/lib.uihandler/manifest.mf +++ b/platform/lib.uihandler/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.uihandler _OpenIDE-Module-Layer: org/netbeans/lib/uihandler/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/uihandler/Bundle.properties -OpenIDE-Module-Specification-Version: 1.71 +OpenIDE-Module-Specification-Version: 1.72 diff --git a/platform/libs.asm/manifest.mf b/platform/libs.asm/manifest.mf index 3b9beb178a0d..44b106795129 100644 --- a/platform/libs.asm/manifest.mf +++ b/platform/libs.asm/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.asm OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/asm/Bundle.properties -OpenIDE-Module-Specification-Version: 5.29 +OpenIDE-Module-Specification-Version: 5.30 diff --git a/platform/libs.batik.read/nbproject/project.properties b/platform/libs.batik.read/nbproject/project.properties index 28ff7bc0f2d6..54c0471eb4c8 100644 --- a/platform/libs.batik.read/nbproject/project.properties +++ b/platform/libs.batik.read/nbproject/project.properties @@ -55,4 +55,4 @@ javac.source=1.8 nbm.homepage=https://xmlgraphics.apache.org/batik/ sigtest.gen.fail.on.error=false -spec.version.base=1.21.0 +spec.version.base=1.22.0 diff --git a/platform/libs.felix/manifest.mf b/platform/libs.felix/manifest.mf index 48b523ce3f9a..9fea54662f90 100644 --- a/platform/libs.felix/manifest.mf +++ b/platform/libs.felix/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.felix OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/felix/Bundle.properties -OpenIDE-Module-Specification-Version: 2.41 +OpenIDE-Module-Specification-Version: 2.42 OpenIDE-Module-Provides: org.osgi.framework.launch.FrameworkFactory AutoUpdate-Show-In-Client: false Covered-Packages: META-INF,/MANIFEST.MF,org.netbeans.libs.felix, diff --git a/platform/libs.flatlaf/manifest.mf b/platform/libs.flatlaf/manifest.mf index ac02f8094f96..7e1ae746446c 100644 --- a/platform/libs.flatlaf/manifest.mf +++ b/platform/libs.flatlaf/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/flatlaf/Bundle.properties OpenIDE-Module: org.netbeans.libs.flatlaf/1 OpenIDE-Module-Install: org/netbeans/libs/flatlaf/Installer.class -OpenIDE-Module-Specification-Version: 1.20 +OpenIDE-Module-Specification-Version: 1.21 AutoUpdate-Show-In-Client: false OpenIDE-Module-Implementation-Version: 3.5.2 diff --git a/platform/libs.javafx/manifest.mf b/platform/libs.javafx/manifest.mf index 7db63ccb0527..e7726ca5470c 100644 --- a/platform/libs.javafx/manifest.mf +++ b/platform/libs.javafx/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.javafx OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javafx/Bundle.properties -OpenIDE-Module-Specification-Version: 2.33 +OpenIDE-Module-Specification-Version: 2.34 OpenIDE-Module-Needs: org.openide.modules.jre.JavaFX OpenIDE-Module-Provides: javafx.animation, javafx.application, diff --git a/platform/libs.javax.inject/manifest.mf b/platform/libs.javax.inject/manifest.mf index 7d42b445ddbb..ea4898520c91 100644 --- a/platform/libs.javax.inject/manifest.mf +++ b/platform/libs.javax.inject/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.javax.inject/2 -OpenIDE-Module-Specification-Version: 2.61 +OpenIDE-Module-Specification-Version: 2.62 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/javax/inject/Bundle.properties diff --git a/platform/libs.jna.platform/manifest.mf b/platform/libs.jna.platform/manifest.mf index 421064ed36f6..309e08cecfe9 100644 --- a/platform/libs.jna.platform/manifest.mf +++ b/platform/libs.jna.platform/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jna.platform/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jna/platform/Bundle.properties -OpenIDE-Module-Specification-Version: 2.21 +OpenIDE-Module-Specification-Version: 2.22 diff --git a/platform/libs.jna/manifest.mf b/platform/libs.jna/manifest.mf index 5fd32b911067..3c00b6273b49 100644 --- a/platform/libs.jna/manifest.mf +++ b/platform/libs.jna/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.libs.jna/2 OpenIDE-Module-Install: org/netbeans/libs/jna/Installer.class OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jna/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 2.21 +OpenIDE-Module-Specification-Version: 2.22 diff --git a/platform/libs.jsr223/manifest.mf b/platform/libs.jsr223/manifest.mf index fe8f69efdeac..d7d9f5a77f3b 100644 --- a/platform/libs.jsr223/manifest.mf +++ b/platform/libs.jsr223/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jsr223/1 -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jsr223/Bundle.properties OpenIDE-Module-Deprecated: true diff --git a/platform/libs.junit4/manifest.mf b/platform/libs.junit4/manifest.mf index 8282be6d113f..f289b1c623f7 100644 --- a/platform/libs.junit4/manifest.mf +++ b/platform/libs.junit4/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.junit4 -OpenIDE-Module-Specification-Version: 1.44 +OpenIDE-Module-Specification-Version: 1.45 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/junit4/Bundle.properties diff --git a/platform/libs.junit5/manifest.mf b/platform/libs.junit5/manifest.mf index db6650340cd3..ec93219f8595 100644 --- a/platform/libs.junit5/manifest.mf +++ b/platform/libs.junit5/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.junit5 -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/junit5/Bundle.properties diff --git a/platform/libs.osgi/manifest.mf b/platform/libs.osgi/manifest.mf index 9339b5bc4e17..b46d9a626d3b 100644 --- a/platform/libs.osgi/manifest.mf +++ b/platform/libs.osgi/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.osgi OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/osgi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.48 +OpenIDE-Module-Specification-Version: 1.49 diff --git a/platform/libs.testng/manifest.mf b/platform/libs.testng/manifest.mf index 0d279cfc3f05..7df102bad5a2 100644 --- a/platform/libs.testng/manifest.mf +++ b/platform/libs.testng/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.libs.testng/1 -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/testng/Bundle.properties diff --git a/platform/masterfs.linux/manifest.mf b/platform/masterfs.linux/manifest.mf index 47bc06d2635f..3bb21a3440a6 100644 --- a/platform/masterfs.linux/manifest.mf +++ b/platform/masterfs.linux/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.masterfs.linux OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/masterfs/watcher/linux/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 OpenIDE-Module-Requires: org.openide.modules.os.Linux OpenIDE-Module-Provides: org.netbeans.modules.masterfs.providers.Notifier diff --git a/platform/masterfs.macosx/manifest.mf b/platform/masterfs.macosx/manifest.mf index 6bd3f2f9f780..78ed1a148eae 100644 --- a/platform/masterfs.macosx/manifest.mf +++ b/platform/masterfs.macosx/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.masterfs.macosx OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/masterfs/watcher/macosx/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 OpenIDE-Module-Requires: org.openide.modules.os.MacOSX OpenIDE-Module-Provides: org.netbeans.modules.masterfs.providers.Notifier diff --git a/platform/masterfs.nio2/manifest.mf b/platform/masterfs.nio2/manifest.mf index 3751515e8dfb..8b0e48a03940 100644 --- a/platform/masterfs.nio2/manifest.mf +++ b/platform/masterfs.nio2/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.masterfs.nio2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/masterfs/watcher/nio2/Bundle.properties -OpenIDE-Module-Specification-Version: 1.41 +OpenIDE-Module-Specification-Version: 1.42 OpenIDE-Module-Provides: org.netbeans.modules.masterfs.providers.Notifier diff --git a/platform/masterfs.ui/nbproject/project.properties b/platform/masterfs.ui/nbproject/project.properties index 7f594c070a3b..05f8180bd676 100644 --- a/platform/masterfs.ui/nbproject/project.properties +++ b/platform/masterfs.ui/nbproject/project.properties @@ -17,4 +17,4 @@ is.eager=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.29.0 +spec.version.base=2.30.0 diff --git a/platform/masterfs.windows/manifest.mf b/platform/masterfs.windows/manifest.mf index 5e9244ba8863..2a8acbf147da 100644 --- a/platform/masterfs.windows/manifest.mf +++ b/platform/masterfs.windows/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.masterfs.windows OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/masterfs/watcher/windows/Bundle.properties OpenIDE-Module-Requires: org.openide.modules.os.Windows OpenIDE-Module-Provides: org.netbeans.modules.masterfs.providers.Notifier -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/platform/masterfs/nbproject/project.properties b/platform/masterfs/nbproject/project.properties index 6be6b850383f..acefc2f1cec5 100644 --- a/platform/masterfs/nbproject/project.properties +++ b/platform/masterfs/nbproject/project.properties @@ -35,4 +35,4 @@ test.config.stableBTD.excludes=\ **/SlowRefreshAndPriorityIOTest.class,\ **/SlowRefreshSuspendableTest.class,\ **/StatFilesTest.class -spec.version.base=2.81.0 +spec.version.base=2.82.0 diff --git a/platform/netbinox/manifest.mf b/platform/netbinox/manifest.mf index 637c816ea893..8ca3e733d748 100644 --- a/platform/netbinox/manifest.mf +++ b/platform/netbinox/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.netbinox OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/netbinox/Bundle.properties -OpenIDE-Module-Specification-Version: 1.67 +OpenIDE-Module-Specification-Version: 1.68 OpenIDE-Module-Provides: org.osgi.framework.launch.FrameworkFactory, org.netbeans.Netbinox OpenIDE-Module-Hide-Classpath-Packages: org.eclipse.core.runtime.**,org.eclipse.osgi.** Covered-Packages: META-INF,org.netbeans.modules.netbinox, diff --git a/platform/o.apache.commons.codec/manifest.mf b/platform/o.apache.commons.codec/manifest.mf index 27a4170bed20..00dbe6c17c70 100644 --- a/platform/o.apache.commons.codec/manifest.mf +++ b/platform/o.apache.commons.codec/manifest.mf @@ -1,2 +1,2 @@ OpenIDE-Module: org.apache.commons.codec -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 diff --git a/platform/o.apache.commons.commons_io/manifest.mf b/platform/o.apache.commons.commons_io/manifest.mf index 1232dea6385d..4dd9efc447a2 100644 --- a/platform/o.apache.commons.commons_io/manifest.mf +++ b/platform/o.apache.commons.commons_io/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.apache.commons.commons_io OpenIDE-Module-Localizing-Bundle: org/apache/commons/commons_io/Bundle.properties -OpenIDE-Module-Specification-Version: 2.17 +OpenIDE-Module-Specification-Version: 2.18 diff --git a/platform/o.apache.commons.lang3/manifest.mf b/platform/o.apache.commons.lang3/manifest.mf index 26596611919c..689798bca614 100644 --- a/platform/o.apache.commons.lang3/manifest.mf +++ b/platform/o.apache.commons.lang3/manifest.mf @@ -1,2 +1,2 @@ OpenIDE-Module: org.apache.commons.lang3 -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 diff --git a/platform/o.apache.commons.logging/manifest.mf b/platform/o.apache.commons.logging/manifest.mf index 05aba2514910..82bc4f5c9811 100644 --- a/platform/o.apache.commons.logging/manifest.mf +++ b/platform/o.apache.commons.logging/manifest.mf @@ -1,2 +1,2 @@ OpenIDE-Module: org.apache.commons.logging -OpenIDE-Module-Specification-Version: 1.21 +OpenIDE-Module-Specification-Version: 1.22 diff --git a/platform/o.n.bootstrap/manifest.mf b/platform/o.n.bootstrap/manifest.mf index e3d81eaab3cf..59ba371538ad 100644 --- a/platform/o.n.bootstrap/manifest.mf +++ b/platform/o.n.bootstrap/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.bootstrap/1 -OpenIDE-Module-Specification-Version: 2.105 +OpenIDE-Module-Specification-Version: 2.106 OpenIDE-Module-Localizing-Bundle: org/netbeans/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.NetigsoFramework diff --git a/platform/o.n.core/manifest.mf b/platform/o.n.core/manifest.mf index 3847d16b3adc..8b2170ea1706 100644 --- a/platform/o.n.core/manifest.mf +++ b/platform/o.n.core/manifest.mf @@ -5,5 +5,5 @@ OpenIDE-Module-Layer: org/netbeans/core/resources/mf-layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true OpenIDE-Module-Recommends: org.netbeans.core.ProxySettings.Reloader -OpenIDE-Module-Specification-Version: 3.77 +OpenIDE-Module-Specification-Version: 3.78 diff --git a/platform/o.n.swing.laf.dark/nbproject/project.properties b/platform/o.n.swing.laf.dark/nbproject/project.properties index a87d80e53b5a..bd74d18f4a58 100644 --- a/platform/o.n.swing.laf.dark/nbproject/project.properties +++ b/platform/o.n.swing.laf.dark/nbproject/project.properties @@ -18,4 +18,4 @@ is.autoload=true javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.21.0 +spec.version.base=2.22.0 diff --git a/platform/o.n.swing.laf.flatlaf/manifest.mf b/platform/o.n.swing.laf.flatlaf/manifest.mf index 0fad5436431a..8897c2afb840 100644 --- a/platform/o.n.swing.laf.flatlaf/manifest.mf +++ b/platform/o.n.swing.laf.flatlaf/manifest.mf @@ -3,6 +3,6 @@ OpenIDE-Module-Install: org/netbeans/swing/laf/flatlaf/Installer.class OpenIDE-Module-Layer: org/netbeans/swing/laf/flatlaf/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/laf/flatlaf/Bundle.properties OpenIDE-Module: org.netbeans.swing.laf.flatlaf -OpenIDE-Module-Specification-Version: 1.19 +OpenIDE-Module-Specification-Version: 1.20 AutoUpdate-Show-In-Client: false diff --git a/platform/o.n.swing.outline/manifest.mf b/platform/o.n.swing.outline/manifest.mf index bfc3078c3546..d83f596ab65e 100644 --- a/platform/o.n.swing.outline/manifest.mf +++ b/platform/o.n.swing.outline/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.swing.outline OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/outline/Bundle.properties -OpenIDE-Module-Specification-Version: 1.60 +OpenIDE-Module-Specification-Version: 1.61 diff --git a/platform/o.n.swing.plaf/manifest.mf b/platform/o.n.swing.plaf/manifest.mf index ba06028ea98c..9b53056bef9c 100644 --- a/platform/o.n.swing.plaf/manifest.mf +++ b/platform/o.n.swing.plaf/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/plaf/Bundle.properties OpenIDE-Module: org.netbeans.swing.plaf -OpenIDE-Module-Specification-Version: 1.68 +OpenIDE-Module-Specification-Version: 1.69 AutoUpdate-Show-In-Client: false diff --git a/platform/o.n.swing.tabcontrol/manifest.mf b/platform/o.n.swing.tabcontrol/manifest.mf index 836cb54ae3be..9d8e89596e8d 100644 --- a/platform/o.n.swing.tabcontrol/manifest.mf +++ b/platform/o.n.swing.tabcontrol/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module-Localizing-Bundle: org/netbeans/swing/tabcontrol/Bundle.properties OpenIDE-Module: org.netbeans.swing.tabcontrol -OpenIDE-Module-Specification-Version: 1.83 +OpenIDE-Module-Specification-Version: 1.84 AutoUpdate-Essential-Module: true diff --git a/platform/openide.actions/manifest.mf b/platform/openide.actions/manifest.mf index e97e1e633077..17a83a2ff9d8 100644 --- a/platform/openide.actions/manifest.mf +++ b/platform/openide.actions/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.openide.actions OpenIDE-Module-Localizing-Bundle: org/openide/actions/Bundle.properties AutoUpdate-Essential-Module: true OpenIDE-Module-Recommends: org.openide.util.spi.SVGLoader -OpenIDE-Module-Specification-Version: 6.65 +OpenIDE-Module-Specification-Version: 6.66 diff --git a/platform/openide.awt/manifest.mf b/platform/openide.awt/manifest.mf index be6a84726ac4..5251aa7f1ff5 100644 --- a/platform/openide.awt/manifest.mf +++ b/platform/openide.awt/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.awt OpenIDE-Module-Localizing-Bundle: org/openide/awt/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 7.94 +OpenIDE-Module-Specification-Version: 7.95 diff --git a/platform/openide.compat/manifest.mf b/platform/openide.compat/manifest.mf index bab9dbd4de3f..1e20606e8330 100644 --- a/platform/openide.compat/manifest.mf +++ b/platform/openide.compat/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.compat -OpenIDE-Module-Specification-Version: 6.66 +OpenIDE-Module-Specification-Version: 6.67 OpenIDE-Module-Deprecated: true OpenIDE-Module-Localizing-Bundle: org/openide/compat/Bundle.properties AutoUpdate-Essential-Module: true diff --git a/platform/openide.dialogs/manifest.mf b/platform/openide.dialogs/manifest.mf index 64e9f343872c..31afaa966d6c 100644 --- a/platform/openide.dialogs/manifest.mf +++ b/platform/openide.dialogs/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.dialogs -OpenIDE-Module-Specification-Version: 7.73 +OpenIDE-Module-Specification-Version: 7.74 OpenIDE-Module-Localizing-Bundle: org/openide/Bundle.properties AutoUpdate-Essential-Module: true diff --git a/platform/openide.execution.compat8/manifest.mf b/platform/openide.execution.compat8/manifest.mf index 2a3bcd44e572..4064edbb7819 100644 --- a/platform/openide.execution.compat8/manifest.mf +++ b/platform/openide.execution.compat8/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.execution.compat8 OpenIDE-Module-Localizing-Bundle: org/openide/execution/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 9.28 +OpenIDE-Module-Specification-Version: 9.29 OpenIDE-Module-Fragment-Host: org.openide.execution diff --git a/platform/openide.execution/manifest.mf b/platform/openide.execution/manifest.mf index b3ae404f55ff..b9d5db9d85d7 100644 --- a/platform/openide.execution/manifest.mf +++ b/platform/openide.execution/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.execution -OpenIDE-Module-Specification-Version: 9.29 +OpenIDE-Module-Specification-Version: 9.30 OpenIDE-Module-Localizing-Bundle: org/openide/execution/Bundle.properties OpenIDE-Module-Recommends: org.openide.execution.ExecutionEngine AutoUpdate-Essential-Module: true diff --git a/platform/openide.explorer/manifest.mf b/platform/openide.explorer/manifest.mf index 580d0d6a00ff..4f412033892d 100644 --- a/platform/openide.explorer/manifest.mf +++ b/platform/openide.explorer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.explorer OpenIDE-Module-Localizing-Bundle: org/openide/explorer/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 6.88 +OpenIDE-Module-Specification-Version: 6.89 diff --git a/platform/openide.filesystems.compat8/manifest.mf b/platform/openide.filesystems.compat8/manifest.mf index 7fbc926bb2e4..5148cd2ef5b5 100644 --- a/platform/openide.filesystems.compat8/manifest.mf +++ b/platform/openide.filesystems.compat8/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.filesystems.compat8 OpenIDE-Module-Localizing-Bundle: org/openide/filesystems/compat8/Bundle.properties -OpenIDE-Module-Specification-Version: 9.35 +OpenIDE-Module-Specification-Version: 9.36 OpenIDE-Module-Fragment-Host: org.openide.filesystems diff --git a/platform/openide.filesystems.nb/manifest.mf b/platform/openide.filesystems.nb/manifest.mf index 2b040f4a368d..79c0e1826f4e 100644 --- a/platform/openide.filesystems.nb/manifest.mf +++ b/platform/openide.filesystems.nb/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.filesystems.nb OpenIDE-Module-Localizing-Bundle: org/openide/filesystems/nb/Bundle.properties -OpenIDE-Module-Specification-Version: 9.36 +OpenIDE-Module-Specification-Version: 9.37 diff --git a/platform/openide.filesystems/manifest.mf b/platform/openide.filesystems/manifest.mf index ab42ef4159f5..5de073cf19a3 100644 --- a/platform/openide.filesystems/manifest.mf +++ b/platform/openide.filesystems/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.filesystems OpenIDE-Module-Localizing-Bundle: org/openide/filesystems/Bundle.properties OpenIDE-Module-Layer: org/openide/filesystems/resources/layer.xml -OpenIDE-Module-Specification-Version: 9.39 +OpenIDE-Module-Specification-Version: 9.40 diff --git a/platform/openide.io/manifest.mf b/platform/openide.io/manifest.mf index 62408d6d34ec..b701d9dcb3f2 100644 --- a/platform/openide.io/manifest.mf +++ b/platform/openide.io/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.io -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 OpenIDE-Module-Localizing-Bundle: org/openide/io/Bundle.properties OpenIDE-Module-Recommends: org.openide.windows.IOProvider, org.openide.windows.IOContainer$Provider AutoUpdate-Essential-Module: true diff --git a/platform/openide.loaders/manifest.mf b/platform/openide.loaders/manifest.mf index 48b53ef9890a..a863464bfe0c 100644 --- a/platform/openide.loaders/manifest.mf +++ b/platform/openide.loaders/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.loaders -OpenIDE-Module-Specification-Version: 7.96 +OpenIDE-Module-Specification-Version: 7.97 OpenIDE-Module-Localizing-Bundle: org/openide/loaders/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.templates.v1_0 OpenIDE-Module-Layer: org/netbeans/modules/openide/loaders/layer.xml diff --git a/platform/openide.modules/manifest.mf b/platform/openide.modules/manifest.mf index cb27d8552e37..0c65325caa9d 100644 --- a/platform/openide.modules/manifest.mf +++ b/platform/openide.modules/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.modules OpenIDE-Module-Localizing-Bundle: org/openide/modules/Bundle.properties -OpenIDE-Module-Specification-Version: 7.74 +OpenIDE-Module-Specification-Version: 7.75 diff --git a/platform/openide.nodes/manifest.mf b/platform/openide.nodes/manifest.mf index 24464b4fb26c..aa238ed0fe18 100644 --- a/platform/openide.nodes/manifest.mf +++ b/platform/openide.nodes/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.nodes OpenIDE-Module-Localizing-Bundle: org/openide/nodes/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 7.71 +OpenIDE-Module-Specification-Version: 7.72 diff --git a/platform/openide.options/manifest.mf b/platform/openide.options/manifest.mf index daf62b7b6b84..9d1c73bdf53d 100644 --- a/platform/openide.options/manifest.mf +++ b/platform/openide.options/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.options -OpenIDE-Module-Specification-Version: 6.63 +OpenIDE-Module-Specification-Version: 6.64 OpenIDE-Module-Localizing-Bundle: org/openide/options/Bundle.properties OpenIDE-Module-Deprecated: true AutoUpdate-Essential-Module: true diff --git a/platform/openide.text/manifest.mf b/platform/openide.text/manifest.mf index 30185d7e13a2..ccc8f1fd21f4 100644 --- a/platform/openide.text/manifest.mf +++ b/platform/openide.text/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.text OpenIDE-Module-Localizing-Bundle: org/openide/text/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 6.94 +OpenIDE-Module-Specification-Version: 6.95 diff --git a/platform/openide.util.lookup/manifest.mf b/platform/openide.util.lookup/manifest.mf index 0591e5d5b7a8..03ed03e9bf46 100644 --- a/platform/openide.util.lookup/manifest.mf +++ b/platform/openide.util.lookup/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.util.lookup OpenIDE-Module-Localizing-Bundle: org/openide/util/lookup/Bundle.properties -OpenIDE-Module-Specification-Version: 8.60 +OpenIDE-Module-Specification-Version: 8.61 diff --git a/platform/openide.util.ui.svg/manifest.mf b/platform/openide.util.ui.svg/manifest.mf index 84d24b644798..1d4e7878750b 100644 --- a/platform/openide.util.ui.svg/manifest.mf +++ b/platform/openide.util.ui.svg/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.openide.util.ui.svg OpenIDE-Module-Localizing-Bundle: org/openide/util/svg/Bundle.properties -OpenIDE-Module-Specification-Version: 1.20 +OpenIDE-Module-Specification-Version: 1.21 OpenIDE-Module-Provides: org.openide.util.spi.SVGLoader diff --git a/platform/openide.util.ui/manifest.mf b/platform/openide.util.ui/manifest.mf index e9f4a3e8a481..c099b1268ba0 100644 --- a/platform/openide.util.ui/manifest.mf +++ b/platform/openide.util.ui/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.util.ui OpenIDE-Module-Localizing-Bundle: org/openide/util/Bundle.properties -OpenIDE-Module-Specification-Version: 9.35 +OpenIDE-Module-Specification-Version: 9.36 diff --git a/platform/openide.util/manifest.mf b/platform/openide.util/manifest.mf index 82cfb9db46a5..b031512e01fe 100644 --- a/platform/openide.util/manifest.mf +++ b/platform/openide.util/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.util OpenIDE-Module-Localizing-Bundle: org/openide/util/base/Bundle.properties -OpenIDE-Module-Specification-Version: 9.34 +OpenIDE-Module-Specification-Version: 9.35 diff --git a/platform/openide.windows/manifest.mf b/platform/openide.windows/manifest.mf index e59c87526a37..93794a213464 100644 --- a/platform/openide.windows/manifest.mf +++ b/platform/openide.windows/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.windows -OpenIDE-Module-Specification-Version: 6.103 +OpenIDE-Module-Specification-Version: 6.104 OpenIDE-Module-Localizing-Bundle: org/openide/windows/Bundle.properties AutoUpdate-Essential-Module: true diff --git a/platform/options.api/manifest.mf b/platform/options.api/manifest.mf index 8c66b6d8252e..e78cc4b6257a 100644 --- a/platform/options.api/manifest.mf +++ b/platform/options.api/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.options.api/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/options/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.71 +OpenIDE-Module-Specification-Version: 1.72 AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/options.keymap/manifest.mf b/platform/options.keymap/manifest.mf index 842e0ddd92cc..3477397a6e5c 100644 --- a/platform/options.keymap/manifest.mf +++ b/platform/options.keymap/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.options.keymap OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/keymap/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/options/keymap/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/print/manifest.mf b/platform/print/manifest.mf index c9faaaaff418..a7cedbcd9eef 100644 --- a/platform/print/manifest.mf +++ b/platform/print/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 7.52 +OpenIDE-Module-Specification-Version: 7.53 OpenIDE-Module: org.netbeans.modules.print OpenIDE-Module-Layer: org/netbeans/modules/print/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/print/resources/Bundle.properties diff --git a/platform/progress.ui/manifest.mf b/platform/progress.ui/manifest.mf index 573cb73da172..735301391ead 100644 --- a/platform/progress.ui/manifest.mf +++ b/platform/progress.ui/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.progress.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/progress/ui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.progress.spi.ProgressUIWorkerProvider, org.netbeans.modules.progress.spi.RunOffEDTProvider AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/platform/queries/manifest.mf b/platform/queries/manifest.mf index a2126e201689..fe3318e5cbff 100644 --- a/platform/queries/manifest.mf +++ b/platform/queries/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.queries/1 -OpenIDE-Module-Specification-Version: 1.69 +OpenIDE-Module-Specification-Version: 1.70 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/queries/Bundle.properties diff --git a/platform/sampler/manifest.mf b/platform/sampler/manifest.mf index 7ef9db324a2d..fca7866b2d14 100644 --- a/platform/sampler/manifest.mf +++ b/platform/sampler/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.sampler OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/sampler/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 Main-Class: org.netbeans.modules.sampler.CLISampler diff --git a/platform/sendopts/manifest.mf b/platform/sendopts/manifest.mf index 7c53c83decf1..71a841302ae1 100644 --- a/platform/sendopts/manifest.mf +++ b/platform/sendopts/manifest.mf @@ -1,5 +1,5 @@ OpenIDE-Module: org.netbeans.modules.sendopts/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/sendopts/Bundle.properties -OpenIDE-Module-Specification-Version: 2.62 +OpenIDE-Module-Specification-Version: 2.63 AutoUpdate-Essential-Module: true diff --git a/platform/settings/manifest.mf b/platform/settings/manifest.mf index 3c20dd80c407..2e5cb09580b2 100644 --- a/platform/settings/manifest.mf +++ b/platform/settings/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.settings/1 OpenIDE-Module-Layer: org/netbeans/modules/settings/resources/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/settings/resources/Bundle.properties AutoUpdate-Essential-Module: true -OpenIDE-Module-Specification-Version: 1.75 +OpenIDE-Module-Specification-Version: 1.76 diff --git a/platform/spi.actions/manifest.mf b/platform/spi.actions/manifest.mf index 12ad4799b5de..e57800544a1b 100644 --- a/platform/spi.actions/manifest.mf +++ b/platform/spi.actions/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.spi.actions/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/spi/actions/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 diff --git a/platform/spi.quicksearch/manifest.mf b/platform/spi.quicksearch/manifest.mf index 1d1cb40e4556..7a38573ae7e5 100644 --- a/platform/spi.quicksearch/manifest.mf +++ b/platform/spi.quicksearch/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.spi.quicksearch OpenIDE-Module-Layer: org/netbeans/modules/quicksearch/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/spi/quicksearch/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 diff --git a/platform/templates/manifest.mf b/platform/templates/manifest.mf index eaca71e00820..6e00d61adb0a 100644 --- a/platform/templates/manifest.mf +++ b/platform/templates/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.templates/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/templates/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 OpenIDE-Module-Layer: org/netbeans/modules/templates/resources/layer.xml AutoUpdate-Show-In-Client: false AutoUpdate-Essential-Module: true diff --git a/platform/templatesui/manifest.mf b/platform/templatesui/manifest.mf index e80618963a3e..e3af9bfe54d1 100644 --- a/platform/templatesui/manifest.mf +++ b/platform/templatesui/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.templatesui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/templatesui/Bundle.properties OpenIDE-Module-Provides: org.netbeans.api.templates.wizard -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/platform/uihandler/manifest.mf b/platform/uihandler/manifest.mf index d9ccf90122e9..61ebd3d9a94e 100644 --- a/platform/uihandler/manifest.mf +++ b/platform/uihandler/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.uihandler OpenIDE-Module-Install: org/netbeans/modules/uihandler/Installer.class OpenIDE-Module-Layer: org/netbeans/modules/uihandler/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/uihandler/Bundle.properties -OpenIDE-Module-Specification-Version: 2.61 +OpenIDE-Module-Specification-Version: 2.62 diff --git a/profiler/debugger.jpda.heapwalk/manifest.mf b/profiler/debugger.jpda.heapwalk/manifest.mf index abfdda0fa832..2e1ccf57769f 100644 --- a/profiler/debugger.jpda.heapwalk/manifest.mf +++ b/profiler/debugger.jpda.heapwalk/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.debugger.jpda.heapwalk/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/debugger/jpda/heapwalk/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/debugger/jpda/heapwalk/resources/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 OpenIDE-Module-Requires: org.netbeans.api.debugger.jpda.JPDADebuggerEngineImpl, org.netbeans.spi.debugger.ui OpenIDE-Module-Provides: org.netbeans.modules.debugger.jpda.heapwalk diff --git a/profiler/lib.profiler.charts/manifest.mf b/profiler/lib.profiler.charts/manifest.mf index 77be3bd4ed39..d3403d268fa6 100644 --- a/profiler/lib.profiler.charts/manifest.mf +++ b/profiler/lib.profiler.charts/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.profiler.charts/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/profiler/charts/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 diff --git a/profiler/lib.profiler.common/manifest.mf b/profiler/lib.profiler.common/manifest.mf index 7084d8d3cbee..4161a9a5fc4a 100644 --- a/profiler/lib.profiler.common/manifest.mf +++ b/profiler/lib.profiler.common/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.profiler.common/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/profiler/common/Bundle.properties -OpenIDE-Module-Specification-Version: 1.73 +OpenIDE-Module-Specification-Version: 1.74 OpenIDE-Module-Needs: org.netbeans.lib.profiler.common.Profiler diff --git a/profiler/lib.profiler.ui/manifest.mf b/profiler/lib.profiler.ui/manifest.mf index 82a0eb17f7b5..c613720b1462 100644 --- a/profiler/lib.profiler.ui/manifest.mf +++ b/profiler/lib.profiler.ui/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.profiler.ui/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/profiler/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.172 +OpenIDE-Module-Specification-Version: 1.173 diff --git a/profiler/lib.profiler/manifest.mf b/profiler/lib.profiler/manifest.mf index 730b98ed12cd..51374518409e 100644 --- a/profiler/lib.profiler/manifest.mf +++ b/profiler/lib.profiler/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.profiler/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/profiler/Bundle.properties -OpenIDE-Module-Specification-Version: 1.135 +OpenIDE-Module-Specification-Version: 1.136 diff --git a/profiler/maven.profiler/manifest.mf b/profiler/maven.profiler/manifest.mf index 369e43096b96..3144c83eed72 100644 --- a/profiler/maven.profiler/manifest.mf +++ b/profiler/maven.profiler/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.profiler/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/profiler/Bundle.properties -OpenIDE-Module-Specification-Version: 1.58 +OpenIDE-Module-Specification-Version: 1.59 AutoUpdate-Show-In-Client: false diff --git a/profiler/profiler.api/manifest.mf b/profiler/profiler.api/manifest.mf index 2eab6ae228e2..0a5b095f4e6f 100644 --- a/profiler/profiler.api/manifest.mf +++ b/profiler/profiler.api/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.api/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.76 +OpenIDE-Module-Specification-Version: 1.77 Netigso-Export-Package: org.netbeans.modules.profiler.spi diff --git a/profiler/profiler.attach/manifest.mf b/profiler/profiler.attach/manifest.mf index 50ac22c2fdbf..dd029082f08a 100644 --- a/profiler/profiler.attach/manifest.mf +++ b/profiler/profiler.attach/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.attach/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/attach/Bundle.properties -OpenIDE-Module-Specification-Version: 2.47 +OpenIDE-Module-Specification-Version: 2.48 diff --git a/profiler/profiler.freeform/manifest.mf b/profiler/profiler.freeform/manifest.mf index 8d806540364e..61a67b5dcd1d 100644 --- a/profiler/profiler.freeform/manifest.mf +++ b/profiler/profiler.freeform/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.freeform/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/freeform/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/profiler/profiler.heapwalker/manifest.mf b/profiler/profiler.heapwalker/manifest.mf index ad0213a570f2..b86cf7fd8440 100644 --- a/profiler/profiler.heapwalker/manifest.mf +++ b/profiler/profiler.heapwalker/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.heapwalker OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/heapwalker/Bundle.properties -OpenIDE-Module-Specification-Version: 1.138 +OpenIDE-Module-Specification-Version: 1.139 diff --git a/profiler/profiler.j2se/manifest.mf b/profiler/profiler.j2se/manifest.mf index 8a22771a837f..48e16350f3aa 100644 --- a/profiler/profiler.j2se/manifest.mf +++ b/profiler/profiler.j2se/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.j2se/1 OpenIDE-Module-Layer: org/netbeans/modules/profiler/j2se/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/j2se/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 diff --git a/profiler/profiler.kit/manifest.mf b/profiler/profiler.kit/manifest.mf index 3a72a56af4b8..ecf27ec58e55 100644 --- a/profiler/profiler.kit/manifest.mf +++ b/profiler/profiler.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.45 +OpenIDE-Module-Specification-Version: 1.46 OpenIDE-Module-Provides: org.netbeans.modules.profiler diff --git a/profiler/profiler.nbimpl/manifest.mf b/profiler/profiler.nbimpl/manifest.mf index 53013db336b0..c22a075bcd68 100644 --- a/profiler/profiler.nbimpl/manifest.mf +++ b/profiler/profiler.nbimpl/manifest.mf @@ -4,4 +4,4 @@ OpenIDE-Module: org.netbeans.modules.profiler.nbimpl/1 OpenIDE-Module-Layer: org/netbeans/modules/profiler/nbimpl/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/nbimpl/Bundle.properties OpenIDE-Module-Provides: org.netbeans.lib.profiler.common.Profiler -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 diff --git a/profiler/profiler.nbmodule/manifest.mf b/profiler/profiler.nbmodule/manifest.mf index 2e9778550002..9198734a5263 100644 --- a/profiler/profiler.nbmodule/manifest.mf +++ b/profiler/profiler.nbmodule/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.nbmodule/1 OpenIDE-Module-Layer: org/netbeans/modules/profiler/nbmodule/mf-layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/nbmodule/Bundle.properties -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/profiler/profiler.options/manifest.mf b/profiler/profiler.options/manifest.mf index e4a2752ce4ad..f260197c1de9 100644 --- a/profiler/profiler.options/manifest.mf +++ b/profiler/profiler.options/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.options OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/options/Bundle.properties OpenIDE-Module-Recommends: org.netbeans.modules.options.java -OpenIDE-Module-Specification-Version: 1.45 +OpenIDE-Module-Specification-Version: 1.46 diff --git a/profiler/profiler.oql.language/manifest.mf b/profiler/profiler.oql.language/manifest.mf index 2891180329a8..e1dce677e4df 100644 --- a/profiler/profiler.oql.language/manifest.mf +++ b/profiler/profiler.oql.language/manifest.mf @@ -4,5 +4,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.oql.language/0 OpenIDE-Module-Layer: org/netbeans/modules/profiler/oql/language/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/oql/language/Bundle.properties -OpenIDE-Module-Specification-Version: 0.54 +OpenIDE-Module-Specification-Version: 0.55 diff --git a/profiler/profiler.oql/manifest.mf b/profiler/profiler.oql/manifest.mf index 392511e3757a..9a3e58e7a848 100644 --- a/profiler/profiler.oql/manifest.mf +++ b/profiler/profiler.oql/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.oql/2 OpenIDE-Module-Layer: org/netbeans/modules/profiler/oql/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/oql/Bundle.properties -OpenIDE-Module-Specification-Version: 2.44 +OpenIDE-Module-Specification-Version: 2.45 diff --git a/profiler/profiler.ppoints/manifest.mf b/profiler/profiler.ppoints/manifest.mf index 08df8d90f27f..937874e77e62 100644 --- a/profiler/profiler.ppoints/manifest.mf +++ b/profiler/profiler.ppoints/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.ppoints OpenIDE-Module-Layer: org/netbeans/modules/profiler/ppoints/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/ppoints/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 diff --git a/profiler/profiler.projectsupport/manifest.mf b/profiler/profiler.projectsupport/manifest.mf index 484622f1daa5..46d8a16483d4 100644 --- a/profiler/profiler.projectsupport/manifest.mf +++ b/profiler/profiler.projectsupport/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.projectsupport OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/projectsupport/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 diff --git a/profiler/profiler.snaptracer/manifest.mf b/profiler/profiler.snaptracer/manifest.mf index 3821682200dd..705ea379d880 100644 --- a/profiler/profiler.snaptracer/manifest.mf +++ b/profiler/profiler.snaptracer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.profiler.snaptracer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/snaptracer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.50 +OpenIDE-Module-Specification-Version: 1.51 diff --git a/profiler/profiler.utilities/manifest.mf b/profiler/profiler.utilities/manifest.mf index 23a2a020caf3..740f7712ae8e 100644 --- a/profiler/profiler.utilities/manifest.mf +++ b/profiler/profiler.utilities/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.profiler.utilities/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/utilities/Bundle.properties -OpenIDE-Module-Specification-Version: 1.63 +OpenIDE-Module-Specification-Version: 1.64 diff --git a/profiler/profiler/manifest.mf b/profiler/profiler/manifest.mf index 874c43a3d2a0..cc97efd163c7 100644 --- a/profiler/profiler/manifest.mf +++ b/profiler/profiler/manifest.mf @@ -5,5 +5,5 @@ OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/profiler/Bundle.propertie OpenIDE-Module-Install: org/netbeans/modules/profiler/ProfilerModule.class OpenIDE-Module-Requires: org.openide.windows.WindowManager OpenIDE-Module-Package-Dependencies: com.sun.tools.attach[VirtualMachine] -OpenIDE-Module-Specification-Version: 3.55 +OpenIDE-Module-Specification-Version: 3.56 diff --git a/webcommon/api.knockout/manifest.mf b/webcommon/api.knockout/manifest.mf index 85be7aee7498..101ff2608f75 100644 --- a/webcommon/api.knockout/manifest.mf +++ b/webcommon/api.knockout/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.knockout OpenIDE-Module-Localizing-Bundle: org/netbeans/spi/knockout/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 AutoUpdate-Show-In-Client: false diff --git a/webcommon/cordova.platforms.android/manifest.mf b/webcommon/cordova.platforms.android/manifest.mf index 0399331dbe39..593ab2be228a 100644 --- a/webcommon/cordova.platforms.android/manifest.mf +++ b/webcommon/cordova.platforms.android/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cordova.platforms.android OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cordova/platforms/android/Bundle.properties -OpenIDE-Module-Specification-Version: 1.52 +OpenIDE-Module-Specification-Version: 1.53 diff --git a/webcommon/cordova.platforms/manifest.mf b/webcommon/cordova.platforms/manifest.mf index 548b349e748b..d7116de1baba 100644 --- a/webcommon/cordova.platforms/manifest.mf +++ b/webcommon/cordova.platforms/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.cordova.platforms OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cordova/platforms/Bundle.properties -OpenIDE-Module-Specification-Version: 1.62 +OpenIDE-Module-Specification-Version: 1.63 diff --git a/webcommon/cordova/manifest.mf b/webcommon/cordova/manifest.mf index 208558693e0f..d6a1475e3591 100644 --- a/webcommon/cordova/manifest.mf +++ b/webcommon/cordova/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.cordova OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cordova/Bundle.properties -OpenIDE-Module-Specification-Version: 1.59 +OpenIDE-Module-Specification-Version: 1.60 OpenIDE-Module-Layer: org/netbeans/modules/cordova/resources/layer.xml OpenIDE-Module-Recommends: cnb.org.netbeans.modules.cordova.platforms.ios diff --git a/webcommon/extbrowser.chrome/manifest.mf b/webcommon/extbrowser.chrome/manifest.mf index 127d16190cd0..897954dced22 100644 --- a/webcommon/extbrowser.chrome/manifest.mf +++ b/webcommon/extbrowser.chrome/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.extbrowser.chrome OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/extbrowser/chrome/Bundle.properties -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 AutoUpdate-Show-In-Client: false diff --git a/webcommon/html.angular/manifest.mf b/webcommon/html.angular/manifest.mf index 6225d84f953f..6fd338ab42b0 100644 --- a/webcommon/html.angular/manifest.mf +++ b/webcommon/html.angular/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.angular OpenIDE-Module-Layer: org/netbeans/modules/html/angular/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/angular/Bundle.properties -OpenIDE-Module-Specification-Version: 1.38 +OpenIDE-Module-Specification-Version: 1.39 diff --git a/webcommon/html.knockout/manifest.mf b/webcommon/html.knockout/manifest.mf index fcd1963bbde7..81d6d95df53d 100644 --- a/webcommon/html.knockout/manifest.mf +++ b/webcommon/html.knockout/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.html.knockout OpenIDE-Module-Layer: org/netbeans/modules/html/knockout/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/html/knockout/Bundle.properties -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 OpenIDE-Module-Provides: org.netbeans.modules.ko4j.editing diff --git a/webcommon/javascript.bower/manifest.mf b/webcommon/javascript.bower/manifest.mf index d745ca2c1fc7..d3ede9a23d4a 100644 --- a/webcommon/javascript.bower/manifest.mf +++ b/webcommon/javascript.bower/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.bower OpenIDE-Module-Layer: org/netbeans/modules/javascript/bower/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/bower/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.31 +OpenIDE-Module-Specification-Version: 0.32 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.cdnjs/manifest.mf b/webcommon/javascript.cdnjs/manifest.mf index c8ab02130061..a0dd6b2ea28e 100644 --- a/webcommon/javascript.cdnjs/manifest.mf +++ b/webcommon/javascript.cdnjs/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.cdnjs/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/cdnjs/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.33 +OpenIDE-Module-Specification-Version: 0.34 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.cdtdebug.ui/nbproject/project.properties b/webcommon/javascript.cdtdebug.ui/nbproject/project.properties index 2e14723a6dcf..884df9aae970 100644 --- a/webcommon/javascript.cdtdebug.ui/nbproject/project.properties +++ b/webcommon/javascript.cdtdebug.ui/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=11 javadoc.arch=${basedir}/arch.xml is.eager=true -spec.version.base=1.2.0 +spec.version.base=1.3.0 diff --git a/webcommon/javascript.cdtdebug/nbproject/project.properties b/webcommon/javascript.cdtdebug/nbproject/project.properties index 5b778417dba0..d3f5a2b89b3f 100644 --- a/webcommon/javascript.cdtdebug/nbproject/project.properties +++ b/webcommon/javascript.cdtdebug/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=11 javadoc.arch=${basedir}/arch.xml is.autoload=true -spec.version.base=1.2.0 +spec.version.base=1.3.0 diff --git a/webcommon/javascript.grunt/manifest.mf b/webcommon/javascript.grunt/manifest.mf index 57eede889159..fd6eedc2f91d 100644 --- a/webcommon/javascript.grunt/manifest.mf +++ b/webcommon/javascript.grunt/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.grunt OpenIDE-Module-Layer: org/netbeans/modules/javascript/grunt/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/grunt/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.40 +OpenIDE-Module-Specification-Version: 0.41 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.gulp/manifest.mf b/webcommon/javascript.gulp/manifest.mf index a7525af5f6e6..6d9d1346ee88 100644 --- a/webcommon/javascript.gulp/manifest.mf +++ b/webcommon/javascript.gulp/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.gulp OpenIDE-Module-Layer: org/netbeans/modules/javascript/gulp/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/gulp/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.39 +OpenIDE-Module-Specification-Version: 0.40 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.jstestdriver/manifest.mf b/webcommon/javascript.jstestdriver/manifest.mf index a2a1822d368f..99f94751304a 100644 --- a/webcommon/javascript.jstestdriver/manifest.mf +++ b/webcommon/javascript.jstestdriver/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.jstestdriver OpenIDE-Module-Layer: org/netbeans/modules/javascript/jstestdriver/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/jstestdriver/Bundle.properties -OpenIDE-Module-Specification-Version: 0.38 +OpenIDE-Module-Specification-Version: 0.39 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.karma/manifest.mf b/webcommon/javascript.karma/manifest.mf index 01a211d90b1f..70d60c7d5d03 100644 --- a/webcommon/javascript.karma/manifest.mf +++ b/webcommon/javascript.karma/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.karma/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/karma/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.42 +OpenIDE-Module-Specification-Version: 0.43 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.nodejs/manifest.mf b/webcommon/javascript.nodejs/manifest.mf index 058a24defb14..6ce6fa4d8798 100644 --- a/webcommon/javascript.nodejs/manifest.mf +++ b/webcommon/javascript.nodejs/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript.nodejs/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript/nodejs/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 0.55 +OpenIDE-Module-Specification-Version: 0.56 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript.v8debug.ui/nbproject/project.properties b/webcommon/javascript.v8debug.ui/nbproject/project.properties index bd2358851fa9..9d532a5eae4e 100644 --- a/webcommon/javascript.v8debug.ui/nbproject/project.properties +++ b/webcommon/javascript.v8debug.ui/nbproject/project.properties @@ -19,4 +19,4 @@ javac.source=1.8 javadoc.arch=${basedir}/arch.xml is.eager=true -spec.version.base=1.25.0 +spec.version.base=1.26.0 diff --git a/webcommon/javascript.v8debug/nbproject/project.properties b/webcommon/javascript.v8debug/nbproject/project.properties index bc5f3befeeea..9c7e9da2d98b 100644 --- a/webcommon/javascript.v8debug/nbproject/project.properties +++ b/webcommon/javascript.v8debug/nbproject/project.properties @@ -19,4 +19,4 @@ javac.source=1.8 javadoc.arch=${basedir}/arch.xml is.autoload=true -spec.version.base=1.36.0 +spec.version.base=1.37.0 diff --git a/webcommon/javascript2.doc/manifest.mf b/webcommon/javascript2.doc/manifest.mf index 3f5b15dd8f58..6af4371d22dd 100644 --- a/webcommon/javascript2.doc/manifest.mf +++ b/webcommon/javascript2.doc/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.doc/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/doc/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/webcommon/javascript2.editor/manifest.mf b/webcommon/javascript2.editor/manifest.mf index 74de4b136c27..1f555033f6b0 100644 --- a/webcommon/javascript2.editor/manifest.mf +++ b/webcommon/javascript2.editor/manifest.mf @@ -3,5 +3,5 @@ OpenIDE-Module: org.netbeans.modules.javascript2.editor/1 OpenIDE-Module-Install: org/netbeans/modules/javascript2/editor/ModuleInstaller.class OpenIDE-Module-Layer: org/netbeans/modules/javascript2/editor/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 0.101 +OpenIDE-Module-Specification-Version: 0.102 OpenIDE-Module-Recommends: cnb.org.netbeans.modules.html.editor diff --git a/webcommon/javascript2.extdoc/manifest.mf b/webcommon/javascript2.extdoc/manifest.mf index 77c9daf478c4..a8cf2edd33c5 100644 --- a/webcommon/javascript2.extdoc/manifest.mf +++ b/webcommon/javascript2.extdoc/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.extdoc OpenIDE-Module-Layer: org/netbeans/modules/javascript2/extdoc/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/extdoc/Bundle.properties -OpenIDE-Module-Specification-Version: 1.24 +OpenIDE-Module-Specification-Version: 1.25 diff --git a/webcommon/javascript2.extjs/manifest.mf b/webcommon/javascript2.extjs/manifest.mf index 7b892f9d48e9..e8218190b922 100644 --- a/webcommon/javascript2.extjs/manifest.mf +++ b/webcommon/javascript2.extjs/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.extjs OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/extjs/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript2.html/manifest.mf b/webcommon/javascript2.html/manifest.mf index ec27678fc4ad..781559f665bb 100644 --- a/webcommon/javascript2.html/manifest.mf +++ b/webcommon/javascript2.html/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.html OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/html/Bundle.properties -OpenIDE-Module-Specification-Version: 1.16 +OpenIDE-Module-Specification-Version: 1.17 diff --git a/webcommon/javascript2.jade/manifest.mf b/webcommon/javascript2.jade/manifest.mf index 38952ddfa832..6e3ec38be84a 100644 --- a/webcommon/javascript2.jade/manifest.mf +++ b/webcommon/javascript2.jade/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.jade/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/jade/Bundle.properties -OpenIDE-Module-Specification-Version: 0.32 +OpenIDE-Module-Specification-Version: 0.33 OpenIDE-Module-Layer: org/netbeans/modules/javascript2/jade/layer.xml diff --git a/webcommon/javascript2.jquery/manifest.mf b/webcommon/javascript2.jquery/manifest.mf index a2255618dd1e..fad50645ac9a 100644 --- a/webcommon/javascript2.jquery/manifest.mf +++ b/webcommon/javascript2.jquery/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.jquery OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/jquery/Bundle.properties -OpenIDE-Module-Specification-Version: 1.35 +OpenIDE-Module-Specification-Version: 1.36 diff --git a/webcommon/javascript2.jsdoc/manifest.mf b/webcommon/javascript2.jsdoc/manifest.mf index c5d631f4cb8e..399004f691fb 100644 --- a/webcommon/javascript2.jsdoc/manifest.mf +++ b/webcommon/javascript2.jsdoc/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.jsdoc OpenIDE-Module-Layer: org/netbeans/modules/javascript2/jsdoc/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/jsdoc/Bundle.properties -OpenIDE-Module-Specification-Version: 1.24 +OpenIDE-Module-Specification-Version: 1.25 diff --git a/webcommon/javascript2.json/manifest.mf b/webcommon/javascript2.json/manifest.mf index fe6b68ebca8e..6ecfbe2020b2 100644 --- a/webcommon/javascript2.json/manifest.mf +++ b/webcommon/javascript2.json/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.json OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/json/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/webcommon/javascript2.kit/manifest.mf b/webcommon/javascript2.kit/manifest.mf index 9f2b75bd2b71..28087800717f 100644 --- a/webcommon/javascript2.kit/manifest.mf +++ b/webcommon/javascript2.kit/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.kit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 0.39 +OpenIDE-Module-Specification-Version: 0.40 AutoUpdate-Show-In-Client: true diff --git a/webcommon/javascript2.knockout/manifest.mf b/webcommon/javascript2.knockout/manifest.mf index 17596c66ce2f..07296d66050c 100644 --- a/webcommon/javascript2.knockout/manifest.mf +++ b/webcommon/javascript2.knockout/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.knockout OpenIDE-Module-Layer: org/netbeans/modules/javascript2/knockout/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/knockout/Bundle.properties -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 AutoUpdate-Show-In-Client: true diff --git a/webcommon/javascript2.lexer/manifest.mf b/webcommon/javascript2.lexer/manifest.mf index 94f817cd1aa7..294b3315fbb1 100644 --- a/webcommon/javascript2.lexer/manifest.mf +++ b/webcommon/javascript2.lexer/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.lexer/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/lexer/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/webcommon/javascript2.model/manifest.mf b/webcommon/javascript2.model/manifest.mf index 2bfdf8a495a9..ce757c1559bf 100644 --- a/webcommon/javascript2.model/manifest.mf +++ b/webcommon/javascript2.model/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.model/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/model/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/webcommon/javascript2.nodejs/manifest.mf b/webcommon/javascript2.nodejs/manifest.mf index 267b72faa96e..89af9531f616 100644 --- a/webcommon/javascript2.nodejs/manifest.mf +++ b/webcommon/javascript2.nodejs/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.nodejs/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/nodejs/resources/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/javascript2/nodejs/resources/layer.xml -OpenIDE-Module-Specification-Version: 0.38 +OpenIDE-Module-Specification-Version: 0.39 AutoUpdate-Show-In-Client: true diff --git a/webcommon/javascript2.prototypejs/manifest.mf b/webcommon/javascript2.prototypejs/manifest.mf index aa2acb066d2b..9e252682de51 100644 --- a/webcommon/javascript2.prototypejs/manifest.mf +++ b/webcommon/javascript2.prototypejs/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.prototypejs OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/prototypejs/Bundle.properties -OpenIDE-Module-Specification-Version: 0.31 +OpenIDE-Module-Specification-Version: 0.32 diff --git a/webcommon/javascript2.react/manifest.mf b/webcommon/javascript2.react/manifest.mf index 3a06887a416e..ca0284ff8c7e 100644 --- a/webcommon/javascript2.react/manifest.mf +++ b/webcommon/javascript2.react/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.react OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/react/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/javascript2/react/resources/layer.xml -OpenIDE-Module-Specification-Version: 0.25 +OpenIDE-Module-Specification-Version: 0.26 AutoUpdate-Show-In-Client: true diff --git a/webcommon/javascript2.requirejs/manifest.mf b/webcommon/javascript2.requirejs/manifest.mf index ffcdd1c2fbcc..e1b5dfcdfa77 100644 --- a/webcommon/javascript2.requirejs/manifest.mf +++ b/webcommon/javascript2.requirejs/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.javascript2.requirejs OpenIDE-Module-Layer: org/netbeans/modules/javascript2/requirejs/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/requirejs/Bundle.properties -OpenIDE-Module-Specification-Version: 0.33 +OpenIDE-Module-Specification-Version: 0.34 diff --git a/webcommon/javascript2.sdoc/manifest.mf b/webcommon/javascript2.sdoc/manifest.mf index 95f7de08ed6e..44eaf9c34b4b 100644 --- a/webcommon/javascript2.sdoc/manifest.mf +++ b/webcommon/javascript2.sdoc/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.sdoc OpenIDE-Module-Layer: org/netbeans/modules/javascript2/sdoc/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/sdoc/Bundle.properties -OpenIDE-Module-Specification-Version: 1.24 +OpenIDE-Module-Specification-Version: 1.25 diff --git a/webcommon/javascript2.source.query/manifest.mf b/webcommon/javascript2.source.query/manifest.mf index 7ecd16a5e9d2..a322ab497ced 100644 --- a/webcommon/javascript2.source.query/manifest.mf +++ b/webcommon/javascript2.source.query/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.javascript2.source.query/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/source/query/Bundle.properties -OpenIDE-Module-Specification-Version: 0.25 +OpenIDE-Module-Specification-Version: 0.26 OpenIDE-Module-Provides: org.netbeans.modules.javascript2.debug.spi.SourceElementsQuery AutoUpdate-Show-In-Client: false diff --git a/webcommon/javascript2.types/manifest.mf b/webcommon/javascript2.types/manifest.mf index 36eb5e06a2e6..e9c8be027455 100644 --- a/webcommon/javascript2.types/manifest.mf +++ b/webcommon/javascript2.types/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.javascript2.types/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/javascript2/types/Bundle.properties -OpenIDE-Module-Specification-Version: 1.26 +OpenIDE-Module-Specification-Version: 1.27 diff --git a/webcommon/languages.apacheconf/manifest.mf b/webcommon/languages.apacheconf/manifest.mf index cc45919bb4dc..5361229b7211 100644 --- a/webcommon/languages.apacheconf/manifest.mf +++ b/webcommon/languages.apacheconf/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.languages.apacheconf OpenIDE-Module-Layer: org/netbeans/modules/languages/apacheconf/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/apacheconf/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/webcommon/languages.ini/manifest.mf b/webcommon/languages.ini/manifest.mf index 2a0ee93df58b..6077ef0b07ea 100644 --- a/webcommon/languages.ini/manifest.mf +++ b/webcommon/languages.ini/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.languages.ini OpenIDE-Module-Layer: org/netbeans/modules/languages/ini/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/languages/ini/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.51 +OpenIDE-Module-Specification-Version: 1.52 diff --git a/webcommon/lib.chrome_devtools_protocol/manifest.mf b/webcommon/lib.chrome_devtools_protocol/manifest.mf index ec77d2f17782..3f1197b5bee7 100644 --- a/webcommon/lib.chrome_devtools_protocol/manifest.mf +++ b/webcommon/lib.chrome_devtools_protocol/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.chrome_devtools_protocol/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/chrome_devtools_protocol/Bundle.properties -OpenIDE-Module-Specification-Version: 1.2 +OpenIDE-Module-Specification-Version: 1.3 diff --git a/webcommon/lib.v8debug/manifest.mf b/webcommon/lib.v8debug/manifest.mf index 46c020e1efae..1f651234a952 100644 --- a/webcommon/lib.v8debug/manifest.mf +++ b/webcommon/lib.v8debug/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.lib.v8debug/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/v8debug/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 Main-Class: org.netbeans.lib.v8debug.client.cmdline.V8Debug diff --git a/webcommon/libs.graaljs/manifest.mf b/webcommon/libs.graaljs/manifest.mf index 2742f968ff21..5274c4a36976 100644 --- a/webcommon/libs.graaljs/manifest.mf +++ b/webcommon/libs.graaljs/manifest.mf @@ -3,7 +3,7 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.graaljs/2 OpenIDE-Module-Layer: org/netbeans/libs/graaljs/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/graaljs/Bundle.properties -OpenIDE-Module-Specification-Version: 1.27 +OpenIDE-Module-Specification-Version: 1.28 OpenIDE-Module-Provides: javax.script.ScriptEngine.js,org.netbeans.libs.graaljs OpenIDE-Module-Hide-Classpath-Packages: com.oracle.truffle.js.scriptengine.**, com.oracle.js.parser.**, com.oracle.truffle.js.** diff --git a/webcommon/libs.jstestdriver/manifest.mf b/webcommon/libs.jstestdriver/manifest.mf index e1cad19e3dd5..7a9d09de30b2 100644 --- a/webcommon/libs.jstestdriver/manifest.mf +++ b/webcommon/libs.jstestdriver/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.jstestdriver OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jstestdriver/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 diff --git a/webcommon/libs.nashorn/manifest.mf b/webcommon/libs.nashorn/manifest.mf index 032963fb1d06..bd808d22841a 100644 --- a/webcommon/libs.nashorn/manifest.mf +++ b/webcommon/libs.nashorn/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.libs.nashorn/3 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/nashorn/Bundle.properties -OpenIDE-Module-Specification-Version: 3.7 +OpenIDE-Module-Specification-Version: 3.8 diff --git a/webcommon/libs.plist/manifest.mf b/webcommon/libs.plist/manifest.mf index 54f28993d5c0..5c174655799b 100644 --- a/webcommon/libs.plist/manifest.mf +++ b/webcommon/libs.plist/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.libs.plist OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/plist/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 diff --git a/webcommon/netserver/manifest.mf b/webcommon/netserver/manifest.mf index 292842242da4..91585e8e7ead 100644 --- a/webcommon/netserver/manifest.mf +++ b/webcommon/netserver/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.netserver OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/netserver/Bundle.properties -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 diff --git a/webcommon/selenium2.webclient.mocha/manifest.mf b/webcommon/selenium2.webclient.mocha/manifest.mf index e97b22422904..52d12c877bc3 100644 --- a/webcommon/selenium2.webclient.mocha/manifest.mf +++ b/webcommon/selenium2.webclient.mocha/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.webclient.mocha OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/webclient/mocha/Bundle.properties -OpenIDE-Module-Specification-Version: 1.32 +OpenIDE-Module-Specification-Version: 1.33 diff --git a/webcommon/selenium2.webclient.protractor/manifest.mf b/webcommon/selenium2.webclient.protractor/manifest.mf index 6c83517f3825..72b026b73f36 100644 --- a/webcommon/selenium2.webclient.protractor/manifest.mf +++ b/webcommon/selenium2.webclient.protractor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.webclient.protractor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/webclient/protractor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.29 +OpenIDE-Module-Specification-Version: 1.30 diff --git a/webcommon/selenium2.webclient/manifest.mf b/webcommon/selenium2.webclient/manifest.mf index 2127fb840adb..5a19ee76bdfa 100644 --- a/webcommon/selenium2.webclient/manifest.mf +++ b/webcommon/selenium2.webclient/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.selenium2.webclient OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/selenium2/webclient/Bundle.properties -OpenIDE-Module-Specification-Version: 1.33 +OpenIDE-Module-Specification-Version: 1.34 diff --git a/webcommon/typescript.editor/manifest.mf b/webcommon/typescript.editor/manifest.mf index bc467d9de809..527362e01445 100644 --- a/webcommon/typescript.editor/manifest.mf +++ b/webcommon/typescript.editor/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: true OpenIDE-Module: org.netbeans.modules.typescript.editor OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/typescript/editor/Bundle.properties -OpenIDE-Module-Specification-Version: 1.19 +OpenIDE-Module-Specification-Version: 1.20 diff --git a/webcommon/web.client.kit/manifest.mf b/webcommon/web.client.kit/manifest.mf index b9ead732e601..1813c36ac5ab 100644 --- a/webcommon/web.client.kit/manifest.mf +++ b/webcommon/web.client.kit/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.client.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/client/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.42 +OpenIDE-Module-Specification-Version: 1.43 diff --git a/webcommon/web.client.samples/manifest.mf b/webcommon/web.client.samples/manifest.mf index 076c67587b26..78d1872da1b8 100644 --- a/webcommon/web.client.samples/manifest.mf +++ b/webcommon/web.client.samples/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.client.samples OpenIDE-Module-Layer: org/netbeans/modules/web/client/samples/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/client/samples/Bundle.properties -OpenIDE-Module-Specification-Version: 1.40 +OpenIDE-Module-Specification-Version: 1.41 diff --git a/webcommon/web.clientproject.api/manifest.mf b/webcommon/web.clientproject.api/manifest.mf index 36f2004a5a25..90f4e2e8ce74 100644 --- a/webcommon/web.clientproject.api/manifest.mf +++ b/webcommon/web.clientproject.api/manifest.mf @@ -2,5 +2,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.clientproject.api OpenIDE-Module-Layer: org/netbeans/modules/web/clientproject/api/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/clientproject/api/Bundle.properties -OpenIDE-Module-Specification-Version: 1.130 +OpenIDE-Module-Specification-Version: 1.131 diff --git a/webcommon/web.clientproject/manifest.mf b/webcommon/web.clientproject/manifest.mf index a907e658cc2b..181a4119e40a 100644 --- a/webcommon/web.clientproject/manifest.mf +++ b/webcommon/web.clientproject/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.clientproject OpenIDE-Module-Layer: org/netbeans/modules/web/clientproject/resources/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/clientproject/Bundle.properties -OpenIDE-Module-Specification-Version: 1.113 +OpenIDE-Module-Specification-Version: 1.114 OpenIDE-Module-Provides: org.netbeans.modules.web.clientproject diff --git a/webcommon/web.inspect/manifest.mf b/webcommon/web.inspect/manifest.mf index b960960e0b63..f6c5e5772b49 100644 --- a/webcommon/web.inspect/manifest.mf +++ b/webcommon/web.inspect/manifest.mf @@ -2,7 +2,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.web.inspect OpenIDE-Module-Layer: org/netbeans/modules/web/inspect/resources/layer.xml OpenIDE-Module-Requires: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 0.56 +OpenIDE-Module-Specification-Version: 0.57 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/inspect/Bundle.properties AutoUpdate-Show-In-Client: false OpenIDE-Module-Provides: org.netbeans.modules.web.browser.api.PageInspector diff --git a/webcommon/web.javascript.debugger/manifest.mf b/webcommon/web.javascript.debugger/manifest.mf index 74ea194a1fa2..c5a3c4795c3f 100644 --- a/webcommon/web.javascript.debugger/manifest.mf +++ b/webcommon/web.javascript.debugger/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.javascript.debugger OpenIDE-Module-Layer: org/netbeans/modules/web/javascript/debugger/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/javascript/debugger/Bundle.properties -OpenIDE-Module-Specification-Version: 1.41 +OpenIDE-Module-Specification-Version: 1.42 diff --git a/webcommon/web.webkit.tooling/manifest.mf b/webcommon/web.webkit.tooling/manifest.mf index 0463698cf0db..aa336c379844 100644 --- a/webcommon/web.webkit.tooling/manifest.mf +++ b/webcommon/web.webkit.tooling/manifest.mf @@ -3,4 +3,4 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.web.webkit.tooling OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/web/webkit/tooling/Bundle.properties OpenIDE-Module-Requires: org.openide.windows.WindowManager -OpenIDE-Module-Specification-Version: 1.36 +OpenIDE-Module-Specification-Version: 1.37 diff --git a/websvccommon/websvc.jaxwsmodelapi/manifest.mf b/websvccommon/websvc.jaxwsmodelapi/manifest.mf index baa1f66a72a7..6329d3602b29 100644 --- a/websvccommon/websvc.jaxwsmodelapi/manifest.mf +++ b/websvccommon/websvc.jaxwsmodelapi/manifest.mf @@ -1,5 +1,5 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.jaxwsmodelapi/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/jaxwsmodelapi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 AutoUpdate-Show-In-Client: false diff --git a/websvccommon/websvc.saas.api/manifest.mf b/websvccommon/websvc.saas.api/manifest.mf index 52d88ff95b50..0c649046a701 100644 --- a/websvccommon/websvc.saas.api/manifest.mf +++ b/websvccommon/websvc.saas.api/manifest.mf @@ -3,5 +3,5 @@ AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.websvc.saas.api OpenIDE-Module-Layer: org/netbeans/modules/websvc/saas/model/layer.xml OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/spi/Bundle.properties -OpenIDE-Module-Specification-Version: 1.57 +OpenIDE-Module-Specification-Version: 1.58 diff --git a/websvccommon/websvc.saas.codegen/manifest.mf b/websvccommon/websvc.saas.codegen/manifest.mf index 2e47309c7ca9..728d8f35aee6 100644 --- a/websvccommon/websvc.saas.codegen/manifest.mf +++ b/websvccommon/websvc.saas.codegen/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.codegen OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/codegen/Bundle.properties -OpenIDE-Module-Specification-Version: 1.56 +OpenIDE-Module-Specification-Version: 1.57 AutoUpdate-Show-In-Client: false diff --git a/websvccommon/websvc.saas.kit/manifest.mf b/websvccommon/websvc.saas.kit/manifest.mf index f913d74379b3..de3f86523557 100644 --- a/websvccommon/websvc.saas.kit/manifest.mf +++ b/websvccommon/websvc.saas.kit/manifest.mf @@ -1,7 +1,7 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.kit OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/kit/Bundle.properties -OpenIDE-Module-Specification-Version: 1.53 +OpenIDE-Module-Specification-Version: 1.54 AutoUpdate-Show-In-Client: true OpenIDE-Module-Provides: org.netbeans.modules.websvc.saas.kit diff --git a/websvccommon/websvc.saas.ui/manifest.mf b/websvccommon/websvc.saas.ui/manifest.mf index 2e05b9a9475c..9d03ef7c718c 100644 --- a/websvccommon/websvc.saas.ui/manifest.mf +++ b/websvccommon/websvc.saas.ui/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.websvc.saas.ui OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/websvc/saas/ui/Bundle.properties -OpenIDE-Module-Specification-Version: 1.54 +OpenIDE-Module-Specification-Version: 1.55 AutoUpdate-Show-In-Client: false From 0cb65a7150d273d961aa7f7ae04973428f7bae8f Mon Sep 17 00:00:00 2001 From: Jan Horvath Date: Tue, 22 Oct 2024 15:53:28 +0200 Subject: [PATCH 23/94] VSCode integration commands --- .../cloud/oracle/assets/CloudAssets.java | 17 +++- .../oracle/assets/IntegrationCommands.java | 96 +++++++++++++++++++ 2 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/IntegrationCommands.java diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CloudAssets.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CloudAssets.java index b8b149a5ef93..0db32dbff1d2 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CloudAssets.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CloudAssets.java @@ -244,6 +244,22 @@ public Collection getItems() { return list; } + /** + * Returns a Collection of all items for a given path + * + * @param path + * @return + */ + public List getItems(String path) { + List result = new ArrayList<> (); + for (OCIItem item : items) { + if (path != null && path.equals(item.getKey().getPath())) { + result.add(item); + } + } + return result; + } + /** * Returns a Collection of items assigned by user. This doesn't * include suggested items. @@ -292,7 +308,6 @@ public boolean setReferenceName(OCIItem item, String refName) { refNames.put(item, refName); storeAssets(); item.fireRefNameChanged(oldRefName, refName); -// item.fireRefNameChanged(null, refName); return true; } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/IntegrationCommands.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/IntegrationCommands.java new file mode 100644 index 000000000000..d2037527e269 --- /dev/null +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/IntegrationCommands.java @@ -0,0 +1,96 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.cloud.oracle.assets; + +import com.google.gson.Gson; +import com.google.gson.JsonPrimitive; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.CompletableFuture; +import org.netbeans.modules.cloud.oracle.developer.ContainerRepositoryItem; +import org.netbeans.modules.cloud.oracle.developer.ContainerTagItem; +import org.netbeans.modules.cloud.oracle.developer.ContainerTagNode; +import org.netbeans.modules.cloud.oracle.items.OCIItem; +import org.netbeans.spi.lsp.CommandProvider; +import org.openide.util.lookup.ServiceProvider; + +/** + * + * @author Jan Horvath + */ +@ServiceProvider(service = CommandProvider.class) +public class IntegrationCommands implements CommandProvider { + + private static final String COMMAND_ASSETS_GET = "nbls.cloud.assets.get"; //NOI18N + private static final String COMMAND_ASSETS_GET_IMAGE_VERSIONS = "nbls.cloud.assets.getImageVersions"; //NOI18N + + private static final Set COMMANDS = new HashSet<>(Arrays.asList( + COMMAND_ASSETS_GET, + COMMAND_ASSETS_GET_IMAGE_VERSIONS + )); + + private final Gson gson = new Gson(); + + @Override + public Set getCommands() { + return Collections.unmodifiableSet(COMMANDS); + } + + @Override + public CompletableFuture runCommand(String command, List arguments) { + CompletableFuture result = new CompletableFuture<>(); + if (COMMAND_ASSETS_GET.equals(command)) { + String path = parseStringArgument(arguments); //NOI18N + if (path != null) { + List items = CloudAssets.getDefault().getItems(path); + result.complete(items); + } else { + result.cancel(true); + } + } else if (COMMAND_ASSETS_GET_IMAGE_VERSIONS.equals(command)) { + List repos = CloudAssets.getDefault().getItems("ContainerRepository"); //NOI18N + if (repos != null && repos.size() == 1) { + ContainerRepositoryItem repo = (ContainerRepositoryItem) repos.get(0); + List tags = ContainerTagNode.getContainerTags().apply(repo); + Map tagUrls = new HashMap<> (); + for (ContainerTagItem tag : tags) { + tagUrls.put(tag.getName(), tag.getUrl()); + } + result.complete(tagUrls); + } else { + result.cancel(true); + } + } + return result; + } + + private String parseStringArgument(List arguments) { + if (!arguments.isEmpty()) { + JsonPrimitive item = gson.fromJson(gson.toJson(arguments.get(0)), JsonPrimitive.class); + return item.getAsString(); // NOI18N + } + return null; + } + +} From c6ab714ff58b56255646410425eca754643f6bbf Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 22 Oct 2024 17:22:26 +0200 Subject: [PATCH 24/94] Only run one completion sampler --- .../server/protocol/TextDocumentServiceImpl.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java index 866a0825a464..74dbb155a7a9 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java @@ -349,6 +349,7 @@ public void indexingComplete(Set indexedRoots) { private static final int INITIAL_COMPLETION_SAMPLING_DELAY = 1000; private static final int DEFAULT_COMPLETION_WARNING_LENGTH = 10_000; private static final RequestProcessor COMPLETION_SAMPLER_WORKER = new RequestProcessor("java-lsp-completion-sampler", 1, false, false); + private static final AtomicReference RUNNING_SAMPLER = new AtomicReference<>(); @Override @Messages({ @@ -366,11 +367,15 @@ public CompletableFuture, CompletionList>> completio if (!done.get()) { Sampler sampler = Sampler.createSampler("completion"); if (sampler != null) { - sampler.start(); - samplerRef.set(sampler); - samplingStart.set(System.currentTimeMillis()); - if (done.get()) { - sampler.stop(); + Sampler witnessSampler = RUNNING_SAMPLER.compareAndExchange(null, sampler); + + if (witnessSampler == null) { + sampler.start(); + samplerRef.set(sampler); + samplingStart.set(System.currentTimeMillis()); + if (done.get()) { + sampler.stop(); + } } } } @@ -494,6 +499,7 @@ public CompletableFuture, CompletionList>> completio done.set(true); Sampler sampler = samplerRef.get(); + RUNNING_SAMPLER.compareAndExchange(sampler, null); if (sampler != null) { long samplingTime = (System.currentTimeMillis() - completionStart); long minSamplingTime = Math.min(1_000, samplingWarningLength.get()); From 1a4bae9d54c22aacd221315aabd8cc614575a750 Mon Sep 17 00:00:00 2001 From: Jaroslav Tulach Date: Wed, 23 Oct 2024 06:38:54 +0200 Subject: [PATCH 25/94] Logs exception from TypeProvider.computeTypeNames but go on and ask other providers --- .../src/org/netbeans/modules/jumpto/type/GoToTypeAction.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ide/jumpto/src/org/netbeans/modules/jumpto/type/GoToTypeAction.java b/ide/jumpto/src/org/netbeans/modules/jumpto/type/GoToTypeAction.java index ac145bdbba1f..bbe39a3e4eae 100644 --- a/ide/jumpto/src/org/netbeans/modules/jumpto/type/GoToTypeAction.java +++ b/ide/jumpto/src/org/netbeans/modules/jumpto/type/GoToTypeAction.java @@ -613,6 +613,8 @@ private List getTypeNames(final String text, int[] ret final TypeProvider.Result result = TypeProviderAccessor.DEFAULT.createResult(items, message, context); provider.computeTypeNames(context, result); retry[0] = mergeRetryTimeOut(retry[0], TypeProviderAccessor.DEFAULT.getRetry(result)); + } catch (Exception ex) { + LOGGER.log(Level.SEVERE, "Provider ''" + provider.getDisplayName() + "'' yields an exception", ex); } finally { current = null; } From 35a8d5483fe254e9c1c2fd78cb5da6558c7afe66 Mon Sep 17 00:00:00 2001 From: Svata Dedic Date: Tue, 22 Oct 2024 13:17:10 +0200 Subject: [PATCH 26/94] Adapting test to triple-slashed file: uris --- .../modules/java/lsp/server/LspTestUtils.java | 36 +++++++++++++++ .../lsp/server/explorer/ProjectViewTest.java | 3 +- .../progress/TestProgressHandlerTest.java | 5 ++- .../java/lsp/server/protocol/ServerTest.java | 45 ++++++++++--------- .../vscode/src/test/suite/extension.test.ts | 20 +++++---- 5 files changed, 76 insertions(+), 33 deletions(-) create mode 100644 java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/LspTestUtils.java diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/LspTestUtils.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/LspTestUtils.java new file mode 100644 index 000000000000..d0e105c3b564 --- /dev/null +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/LspTestUtils.java @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.java.lsp.server; + +/** + * + * @author sdedic + */ +public class LspTestUtils { + public static String tripleSlashUri(String uri) { + if (!uri.startsWith("file:/") || uri.startsWith("file:///") || uri.length() <= 7) { + return uri; + } + if (uri.charAt(7) == ':') { + return uri; + } else { + return "file://" + uri.substring(5); + } + } +} diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java index 7c118727c892..592ad8a726b2 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java @@ -63,6 +63,7 @@ import org.netbeans.api.sendopts.CommandLine; import org.netbeans.api.templates.FileBuilder; import org.netbeans.junit.NbTestCase; +import static org.netbeans.modules.java.lsp.server.LspTestUtils.tripleSlashUri; import org.netbeans.modules.java.lsp.server.explorer.api.CreateExplorerParams; import org.netbeans.modules.java.lsp.server.explorer.api.NodeChangedParams; import org.netbeans.modules.java.lsp.server.explorer.api.NodeOperationParams; @@ -504,7 +505,7 @@ public void testCreatedPeerFileAppears() throws Exception { } } - assertEquals(URLMapper.findURL(newFile, URLMapper.EXTERNAL).toString(), found.resourceUri); + assertEquals(tripleSlashUri(URLMapper.findURL(newFile, URLMapper.EXTERNAL).toString()), found.resourceUri); } /** diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandlerTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandlerTest.java index 84a0ac8f511a..660bb64fae40 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandlerTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandlerTest.java @@ -38,6 +38,7 @@ import org.netbeans.modules.gsf.testrunner.api.TestSession; import org.netbeans.modules.gsf.testrunner.api.Testcase; import org.netbeans.modules.gsf.testrunner.api.Trouble; +import static org.netbeans.modules.java.lsp.server.LspTestUtils.tripleSlashUri; import org.netbeans.modules.java.lsp.server.TestCodeLanguageClient; import org.netbeans.modules.java.lsp.server.protocol.DecorationRenderOptions; import org.netbeans.modules.java.lsp.server.protocol.NbCodeClientCapabilities; @@ -130,13 +131,13 @@ public FileObject find(String filename) { TestSuiteInfo.TestCaseInfo testCase = suite.getTests().get(0); assertEquals("TestSuiteName:TestSuiteName.test1", testCase.getId()); assertEquals("TestSuiteName.test1", testCase.getName()); - assertEquals(fo.toURI().toString(), testCase.getFile()); + assertEquals(tripleSlashUri(fo.toURI().toString()), testCase.getFile()); assertEquals(TestSuiteInfo.State.Passed, testCase.getState()); assertNull(testCase.getStackTrace()); testCase = suite.getTests().get(1); assertEquals("TestSuiteName:TestSuiteName.test2", testCase.getId()); assertEquals("TestSuiteName.test2", testCase.getName()); - assertEquals(fo.toURI().toString(), testCase.getFile()); + assertEquals(tripleSlashUri(fo.toURI().toString()), testCase.getFile()); assertEquals(TestSuiteInfo.State.Failed, testCase.getState()); assertNotNull(testCase.getStackTrace()); } diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java index e0dec202c4f9..b39914bc35e9 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java @@ -176,6 +176,7 @@ import org.netbeans.api.sendopts.CommandLine; import org.netbeans.junit.NbTestCase; import org.netbeans.modules.java.hints.infrastructure.JavaErrorProvider; +import static org.netbeans.modules.java.lsp.server.LspTestUtils.tripleSlashUri; import org.netbeans.modules.java.lsp.server.TestCodeLanguageClient; import org.netbeans.modules.java.lsp.server.input.QuickPickItem; import org.netbeans.modules.java.lsp.server.input.ShowQuickPickParams; @@ -984,7 +985,7 @@ public void logMessage(MessageParams arg0) { Position pos = new Position(3, 30); List definition = server.getTextDocumentService().definition(new DefinitionParams(new TextDocumentIdentifier(toURI(src)), pos)).get().getLeft(); assertEquals(1, definition.size()); - assertEquals(toURI(src), definition.get(0).getUri()); + assertEquals(tripleSlashUri(toURI(src)), definition.get(0).getUri()); assertEquals(1, definition.get(0).getRange().getStart().getLine()); assertEquals(16, definition.get(0).getRange().getStart().getCharacter()); assertEquals(1, definition.get(0).getRange().getEnd().getLine()); @@ -992,7 +993,7 @@ public void logMessage(MessageParams arg0) { pos = new Position(4, 30); definition = server.getTextDocumentService().definition(new DefinitionParams(new TextDocumentIdentifier(toURI(src)), pos)).get().getLeft(); assertEquals(1, definition.size()); - assertEquals(toURI(src), definition.get(0).getUri()); + assertEquals(tripleSlashUri(toURI(src)), definition.get(0).getUri()); assertEquals(2, definition.get(0).getRange().getStart().getLine()); assertEquals(27, definition.get(0).getRange().getStart().getCharacter()); assertEquals(2, definition.get(0).getRange().getEnd().getLine()); @@ -1000,7 +1001,7 @@ public void logMessage(MessageParams arg0) { pos = new Position(5, 22); definition = server.getTextDocumentService().definition(new DefinitionParams(new TextDocumentIdentifier(toURI(src)), pos)).get().getLeft(); assertEquals(1, definition.size()); - assertEquals(toURI(otherSrc), definition.get(0).getUri()); + assertEquals(tripleSlashUri(toURI(otherSrc)), definition.get(0).getUri()); assertEquals(2, definition.get(0).getRange().getStart().getLine()); assertEquals(16, definition.get(0).getRange().getStart().getCharacter()); assertEquals(2, definition.get(0).getRange().getEnd().getLine()); @@ -1067,7 +1068,7 @@ public void logMessage(MessageParams arg0) { Position pos = new Position(3, 30); List typeDefinition = server.getTextDocumentService().typeDefinition(new TypeDefinitionParams(new TextDocumentIdentifier(toURI(src)), pos)).get().getLeft(); assertEquals(1, typeDefinition.size()); - assertEquals(toURI(otherSrc), typeDefinition.get(0).getUri()); + assertEquals(tripleSlashUri(toURI(otherSrc)), typeDefinition.get(0).getUri()); assertEquals(1, typeDefinition.get(0).getRange().getStart().getLine()); assertEquals(13, typeDefinition.get(0).getRange().getStart().getCharacter()); assertEquals(1, typeDefinition.get(0).getRange().getEnd().getLine()); @@ -1131,7 +1132,7 @@ public void logMessage(MessageParams params) { Position pos = new Position(1, 10); List implementations = server.getTextDocumentService().implementation(new ImplementationParams(new TextDocumentIdentifier(toURI(src)), pos)).get().getLeft(); assertEquals(1, implementations.size()); - assertEquals(toURI(otherSrc), implementations.get(0).getUri()); + assertEquals(tripleSlashUri(toURI(otherSrc)), implementations.get(0).getUri()); assertEquals(2, implementations.get(0).getRange().getStart().getLine()); assertEquals(16, implementations.get(0).getRange().getStart().getCharacter()); assertEquals(2, implementations.get(0).getRange().getEnd().getLine()); @@ -1190,7 +1191,7 @@ public void logMessage(MessageParams params) { assertNotNull(locs); assertEquals(1, locs.length); Location loc = locs[0]; - assertEquals(toURI(otherSrc), loc.getUri()); + assertEquals(tripleSlashUri(toURI(otherSrc)), loc.getUri()); assertEquals(2, loc.getRange().getStart().getLine()); assertEquals(9, loc.getRange().getStart().getCharacter()); assertEquals(2, loc.getRange().getEnd().getLine()); @@ -2643,7 +2644,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi assertEquals(1, changes.size()); assertTrue(changes.get(0).isLeft()); TextDocumentEdit edit = changes.get(0).getLeft(); - assertEquals(edit.getTextDocument().getUri(), uri); + assertEquals(edit.getTextDocument().getUri(), tripleSlashUri(uri)); List fileChanges = edit.getEdits(); assertNotNull(fileChanges); assertEquals(4, fileChanges.size()); @@ -2751,7 +2752,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi assertEquals(1, changes.size()); assertTrue(changes.get(0).isLeft()); TextDocumentEdit edit = changes.get(0).getLeft(); - assertEquals(edit.getTextDocument().getUri(), uri); + assertEquals(edit.getTextDocument().getUri(), tripleSlashUri(uri)); List fileChanges = edit.getEdits(); assertNotNull(fileChanges); assertEquals(3, fileChanges.size()); @@ -2854,7 +2855,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi assertEquals(1, changes.size()); assertTrue(changes.get(0).isLeft()); TextDocumentEdit edit = changes.get(0).getLeft(); - assertEquals(edit.getTextDocument().getUri(), uri); + assertEquals(edit.getTextDocument().getUri(), tripleSlashUri(uri)); List fileChanges = edit.getEdits(); assertNotNull(fileChanges); assertEquals(3, fileChanges.size()); @@ -2957,7 +2958,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi assertEquals(1, changes.size()); assertTrue(changes.get(0).isLeft()); TextDocumentEdit edit = changes.get(0).getLeft(); - assertEquals(edit.getTextDocument().getUri(), uri); + assertEquals(edit.getTextDocument().getUri(), tripleSlashUri(uri)); List fileChanges = edit.getEdits(); assertNotNull(fileChanges); assertEquals(3, fileChanges.size()); @@ -3057,7 +3058,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(1, fileChanges.size()); assertEquals(new Range(new Position(6, 0), @@ -3125,7 +3126,7 @@ public CompletableFuture, String>>> showM WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(1, fileChanges.size()); assertEquals(new Range(new Position(3, 0), @@ -3137,7 +3138,7 @@ public CompletableFuture, String>>> showM " }\n", fileChanges.get(0).getNewText()); } - + public void testSourceActionGetterSetter() throws Exception { File src = new File(getWorkDir(), "Test.java"); src.getParentFile().mkdirs(); @@ -3202,7 +3203,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(1, fileChanges.size()); assertEquals(new Range(new Position(3, 0), @@ -3237,7 +3238,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - fileChanges = edit.getChanges().get(uri); + fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(1, fileChanges.size()); assertEquals(new Range(new Position(11, 0), @@ -3303,7 +3304,7 @@ public CompletableFuture, String>>> showM WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(1, fileChanges.size()); assertEquals(new Range(new Position(2, 0), @@ -3386,7 +3387,7 @@ public CompletableFuture> showQuickPick(ShowQuickPickParams WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(1, fileChanges.size()); assertEquals(new Range(new Position(13, 0), @@ -3459,7 +3460,7 @@ public CompletableFuture> showQuickPick(ShowQuickPickParams WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(1, fileChanges.size()); assertEquals(new Range(new Position(2, 0), @@ -3548,7 +3549,7 @@ public CompletableFuture, String>>> showM WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(2, fileChanges.size()); assertEquals(new Range(new Position(0, 0), @@ -3616,7 +3617,7 @@ public CompletableFuture> showQuickPick(ShowQuickPickParams WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(1, fileChanges.size()); assertEquals(new Range(new Position(2, 0), @@ -3686,7 +3687,7 @@ public CompletableFuture showInputBox(ShowInputBoxParams params) { WorkspaceEdit edit = gson.fromJson(gson.toJsonTree(ret), WorkspaceEdit.class); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(2, fileChanges.size()); assertEquals(new Range(new Position(0, 0), @@ -3763,7 +3764,7 @@ public CompletableFuture applyEdit(ApplyWorkspaceEdi WorkspaceEdit edit = resolvedCodeAction.getEdit(); assertNotNull(edit); assertEquals(1, edit.getChanges().size()); - List fileChanges = edit.getChanges().get(uri); + List fileChanges = edit.getChanges().get(tripleSlashUri(uri)); assertNotNull(fileChanges); assertEquals(2, fileChanges.size()); assertEquals(new Range(new Position(0, 0), diff --git a/java/java.lsp.server/vscode/src/test/suite/extension.test.ts b/java/java.lsp.server/vscode/src/test/suite/extension.test.ts index d398e2d2dd41..2ff476d46888 100644 --- a/java/java.lsp.server/vscode/src/test/suite/extension.test.ts +++ b/java/java.lsp.server/vscode/src/test/suite/extension.test.ts @@ -179,7 +179,11 @@ suite('Extension Test Suite', () => { async function getProjectInfo() { let folder: string = assertWorkspace(); - await prepareProject(folder); + function projectFileUri(...p: string[]) : string{ + return vscode.Uri.file(path.join(folder, ...p)).toString(); + } + + await prepareProject(folder); vscode.workspace.saveAll(); try { @@ -188,31 +192,31 @@ suite('Extension Test Suite', () => { console.log(`Test: get project java source roots finished with ${res}`); assert.ok(res, "No java source root returned"); assert.strictEqual(res.length, 2, `Invalid number of java roots returned`); - assert.strictEqual(res[0], path.join('file:', folder, 'src', 'main', 'java') + path.sep, `Invalid java main source root returned`); - assert.strictEqual(res[1], path.join('file:', folder, 'src', 'test', 'java') + path.sep, `Invalid java test source root returned`); + assert.strictEqual(res[0], projectFileUri('src', 'main', 'java') + path.sep, `Invalid java main source root returned`); + assert.strictEqual(res[1], projectFileUri('src', 'test', 'java') + path.sep, `Invalid java test source root returned`); console.log("Test: get project resource roots"); res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.source.roots", Uri.file(folder).toString(), 'resources'); console.log(`Test: get project resource roots finished with ${res}`); assert.ok(res, "No resource root returned"); assert.strictEqual(res.length, 1, `Invalid number of resource roots returned`); - assert.strictEqual(res[0], path.join('file:', folder, 'src', 'main', 'resources') + path.sep, `Invalid resource root returned`); + assert.strictEqual(res[0], projectFileUri('src', 'main', 'resources') + path.sep, `Invalid resource root returned`); console.log("Test: get project compile classpath"); res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.classpath", Uri.file(folder).toString()); console.log(`Test: get project compile classpath finished with ${res}`); assert.ok(res, "No compile classpath returned"); assert.strictEqual(res.length, 9, `Invalid number of compile classpath roots returned`); - assert.ok(res.find((item: any) => item === path.join('file:', folder, 'target', 'classes') + path.sep, `Invalid compile classpath root returned`)); + assert.ok(res.find((item: any) => item === projectFileUri('target', 'classes') + path.sep, `Invalid compile classpath root returned`)); console.log("Test: get project source classpath"); res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.classpath", Uri.file(folder).toString(), 'SOURCE'); console.log(`Test: get project source classpath finished with ${res}`); assert.ok(res, "No source classpath returned"); assert.strictEqual(res.length, 3, `Invalid number of source classpath roots returned`); - assert.ok(res.find((item: any) => item === path.join('file:', folder, 'src', 'main', 'java') + path.sep, `Invalid source classpath root returned`)); - assert.ok(res.find((item: any) => item === path.join('file:', folder, 'src', 'main', 'resources') + path.sep, `Invalid source classpath root returned`)); - assert.ok(res.find((item: any) => item === path.join('file:', folder, 'src', 'test', 'java') + path.sep, `Invalid source classpath root returned`)); + assert.ok(res.find((item: any) => item === projectFileUri('src', 'main', 'java') + path.sep, `Invalid source classpath root returned`)); + assert.ok(res.find((item: any) => item === projectFileUri('src', 'main', 'resources') + path.sep, `Invalid source classpath root returned`)); + assert.ok(res.find((item: any) => item === projectFileUri('src', 'test', 'java') + path.sep, `Invalid source classpath root returned`)); console.log("Test: get project boot classpath"); res = await vscode.commands.executeCommand(myExtension.COMMAND_PREFIX + ".java.get.project.classpath", Uri.file(folder).toString(), 'BOOT'); From 8f23718b8670c3ca9a678791df2c1b55f69b1791 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Wed, 23 Oct 2024 18:46:47 +0200 Subject: [PATCH 27/94] issue template: enable 24 rc selection --- .github/ISSUE_TEMPLATE/netbeans_bug_report.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/netbeans_bug_report.yml b/.github/ISSUE_TEMPLATE/netbeans_bug_report.yml index b2be7ef210cf..b2090ff924fd 100644 --- a/.github/ISSUE_TEMPLATE/netbeans_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/netbeans_bug_report.yml @@ -28,7 +28,7 @@ body: multiple: false options: - "Apache NetBeans 23" -# - "Apache NetBeans 24 release candidate" + - "Apache NetBeans 24 release candidate" - "Apache NetBeans latest daily build" validations: required: true From 9b75397b5e006d219e9a2c322a08e07439239ee7 Mon Sep 17 00:00:00 2001 From: Svata Dedic Date: Wed, 23 Oct 2024 19:25:26 +0200 Subject: [PATCH 28/94] Do not break additional DocumentFilters --- .../openide/text/CloneableEditorSupport.java | 48 ++++++++++--------- .../org/openide/text/DocumentOpenClose.java | 2 +- 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/platform/openide.text/src/org/openide/text/CloneableEditorSupport.java b/platform/openide.text/src/org/openide/text/CloneableEditorSupport.java index b562ed574327..665b757d5dc5 100644 --- a/platform/openide.text/src/org/openide/text/CloneableEditorSupport.java +++ b/platform/openide.text/src/org/openide/text/CloneableEditorSupport.java @@ -213,6 +213,7 @@ public abstract class CloneableEditorSupport extends CloneableOpenSupport { private boolean annotationsLoaded; private DocFilter docFilter; + private DocumentOpenClose.DocumentRef filteredDocRef; private final Object checkModificationLock = new Object(); @@ -493,16 +494,20 @@ final void addDocListener(Document d) { if (Boolean.TRUE.equals(d.getProperty("supportsModificationListener"))) { // NOI18N d.putProperty("modificationListener", getListener()); // NOI18N } - - if (d instanceof AbstractDocument) { - AbstractDocument aDoc = (AbstractDocument) d; - DocumentFilter origFilter = aDoc.getDocumentFilter(); - docFilter = new DocFilter(origFilter); - aDoc.setDocumentFilter(docFilter); - } else { // Put property for non-AD - DocumentFilter origFilter = (DocumentFilter) d.getProperty(DocumentFilter.class); - docFilter = new DocFilter(origFilter); - d.putProperty(DocumentFilter.class, docFilter); + DocFilter df = docFilter; + if (df == null || df.origDocument != openClose.docRef) { + if (d instanceof AbstractDocument) { + AbstractDocument aDoc = (AbstractDocument) d; + DocumentFilter origFilter = aDoc.getDocumentFilter(); + docFilter = new DocFilter(origFilter, openClose.docRef); + aDoc.setDocumentFilter(docFilter); + } else { // Put property for non-AD + DocumentFilter origFilter = (DocumentFilter) d.getProperty(DocumentFilter.class); + docFilter = new DocFilter(origFilter, openClose.docRef); + d.putProperty(DocumentFilter.class, docFilter); + } + } else { + df.docFilterDisabled = false; } d.addDocumentListener(getListener()); } @@ -511,15 +516,9 @@ final void removeDocListener(Document d) { if (Boolean.TRUE.equals(d.getProperty("supportsModificationListener"))) { // NOI18N d.putProperty("modificationListener", null); // NOI18N } - - if (docFilter != null) { - if (d instanceof AbstractDocument) { - AbstractDocument aDoc = (AbstractDocument) d; - aDoc.setDocumentFilter(docFilter.origFilter); - } else { // Put property for non-AD - d.putProperty(DocumentFilter.class, docFilter.origFilter); - } - docFilter = null; + DocFilter df = docFilter; + if (df != null) { + df.docFilterDisabled = true; } d.removeDocumentListener(getListener()); } @@ -2325,14 +2324,17 @@ public void run() { private final class DocFilter extends DocumentFilter { final DocumentFilter origFilter; + final Reference origDocument; + boolean docFilterDisabled; - DocFilter(DocumentFilter origFilter) { + DocFilter(DocumentFilter origFilter, Reference origDocument) { this.origFilter = origFilter; + this.origDocument = origDocument; } @Override public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException { - boolean origModified = checkModificationAllowed(offset); + boolean origModified = docFilterDisabled || checkModificationAllowed(offset); boolean success = false; try { if (origFilter != null) { @@ -2352,7 +2354,7 @@ public void insertString(FilterBypass fb, int offset, String string, AttributeSe @Override public void remove(FilterBypass fb, int offset, int length) throws BadLocationException { - boolean origModified = checkModificationAllowed(offset); + boolean origModified = docFilterDisabled || checkModificationAllowed(offset); boolean success = false; try { if (origFilter != null) { @@ -2372,7 +2374,7 @@ public void remove(FilterBypass fb, int offset, int length) throws BadLocationEx @Override public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException { - boolean origModified = checkModificationAllowed(offset); + boolean origModified = docFilterDisabled || checkModificationAllowed(offset); boolean success = false; try { if (origFilter != null) { diff --git a/platform/openide.text/src/org/openide/text/DocumentOpenClose.java b/platform/openide.text/src/org/openide/text/DocumentOpenClose.java index c7b0a6c8c03c..5e043ebf997c 100644 --- a/platform/openide.text/src/org/openide/text/DocumentOpenClose.java +++ b/platform/openide.text/src/org/openide/text/DocumentOpenClose.java @@ -1026,7 +1026,7 @@ public String toString() { } - private final class DocumentRef extends WeakReference implements Runnable { + final class DocumentRef extends WeakReference implements Runnable { public DocumentRef(StyledDocument doc) { super(doc, org.openide.util.Utilities.activeReferenceQueue()); From 78699aa2aaa3450c5c0889a7a393105231fd1050 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Thu, 24 Oct 2024 15:09:37 +0200 Subject: [PATCH 29/94] disable JDK 23 line-doc comments - codebase has many occurrences of '///' which were never meant to appear in javadoc this disables JDK 23+ "line doc comments" for now - javadoc CI step should run on JDK 23 --- .github/workflows/main.yml | 16 +++++++++++++++- nbbuild/javadoctools/template.xml | 3 +++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a2d9863c1e71..0adda3250366 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -416,11 +416,25 @@ jobs: - name: Build nbms run: ant $OPTS build-nbms - # 13-14 min + # 13-14 min for javadoc; JDK version must be synced with nb-javac + - name: Set up JDK 23 for javadoc + if: env.test_javadoc == 'true' && success() + uses: actions/setup-java@v4 + with: + java-version: 23 + distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} + - name: Build javadoc if: env.test_javadoc == 'true' && success() run: ant $OPTS build-javadoc + - name: Set up JDK ${{ matrix.java }} + if: env.test_javadoc == 'true' && success() + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.java }} + distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} + # runs only in PRs if requested; ~18 min - name: Build all Tests if: env.test_tests == 'true' && github.event_name == 'pull_request' && success() diff --git a/nbbuild/javadoctools/template.xml b/nbbuild/javadoctools/template.xml index 8283e61e0a27..141954a4fec6 100644 --- a/nbbuild/javadoctools/template.xml +++ b/nbbuild/javadoctools/template.xml @@ -321,6 +321,9 @@ cause it to fail. ${javadoc.footer} + + From 64ce7e9b272ac2ea024b38bd750d27ed938a8574 Mon Sep 17 00:00:00 2001 From: Dusan Petrovic Date: Wed, 16 Oct 2024 14:55:02 +0200 Subject: [PATCH 30/94] Create secret rotation CronJob when running the app in the cluster --- .../oracle/assets/ConfigMapProvider.java | 15 +- .../CreateSecretRotationCronJobCommand.java | 303 ++++++++++++++++++ .../cloud/oracle/assets/KubernetesUtils.java | 16 + .../oracle/assets/RunInClusterAction.java | 15 +- 4 files changed, 330 insertions(+), 19 deletions(-) create mode 100644 enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CreateSecretRotationCronJobCommand.java diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/ConfigMapProvider.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/ConfigMapProvider.java index 99e7d84745c3..52a7190db05c 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/ConfigMapProvider.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/ConfigMapProvider.java @@ -64,8 +64,9 @@ public String getMicronautConfigFiles() { public void createConfigMap() { KubernetesUtils.runWithClient(cluster, client -> { - boolean configMapExist = checkIfConfigMapExist(client); - if (configMapExist) { + ConfigMapList cmList = client.configMaps().inNamespace(cluster.getNamespace()).list(); + ConfigMap configMap = (ConfigMap) KubernetesUtils.findResource(client, cmList, projectName); + if (configMap != null) { updateConfigMap(client); return; } @@ -87,16 +88,6 @@ public ConfigMapVolumeSource getVolumeSource() { .build(); } - private boolean checkIfConfigMapExist(KubernetesClient client) { - ConfigMapList cmList = client.configMaps().inNamespace(cluster.getNamespace()).list(); - for (ConfigMap cm : cmList.getItems()) { - if (projectName.equals(cm.getMetadata().getName())) { - return true; - } - } - return false; - } - private void updateConfigMap(KubernetesClient client) { Map applicationProperties = propertiesGenerator.getApplication(); Map bootstrapProperties = propertiesGenerator.getBootstrap(); diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CreateSecretRotationCronJobCommand.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CreateSecretRotationCronJobCommand.java new file mode 100644 index 000000000000..665d2de59270 --- /dev/null +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/CreateSecretRotationCronJobCommand.java @@ -0,0 +1,303 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.cloud.oracle.assets; + +import io.fabric8.kubernetes.api.model.PodTemplateSpec; +import io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder; +import io.fabric8.kubernetes.api.model.Secret; +import io.fabric8.kubernetes.api.model.SecretList; +import io.fabric8.kubernetes.api.model.ServiceAccount; +import io.fabric8.kubernetes.api.model.ServiceAccountBuilder; +import io.fabric8.kubernetes.api.model.ServiceAccountList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.CompletableFuture; +import org.netbeans.spi.lsp.CommandProvider; +import org.openide.util.lookup.ServiceProvider; +import io.fabric8.kubernetes.api.model.batch.v1.CronJobList; +import io.fabric8.kubernetes.api.model.batch.v1.CronJob; +import io.fabric8.kubernetes.api.model.batch.v1.CronJobBuilder; +import io.fabric8.kubernetes.api.model.batch.v1.JobBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRole; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBinding; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBindingList; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleBuilder; +import io.fabric8.kubernetes.api.model.rbac.ClusterRoleList; +import io.fabric8.kubernetes.client.KubernetesClient; +import java.util.Calendar; +import java.util.UUID; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.function.Supplier; +import org.netbeans.modules.cloud.oracle.NotificationUtils; +import org.netbeans.modules.cloud.oracle.compute.ClusterItem; +import org.openide.util.NbBundle; + +/** + * + * @author Dusan Petrovic + */ +@NbBundle.Messages({ + "CronJobCreationError=Error while creating secret rotation CronJob" +}) +@ServiceProvider(service = CommandProvider.class) +public class CreateSecretRotationCronJobCommand implements CommandProvider { + + private static final String COMMAND_CREATE_CRONJOB = "nbls.cloud.assets.cluster.cronjob.create"; //NOI18N + private static final String SECRET_NAME = "docker-bearer-vscode-generated-ocirsecret"; //NOI18N + private static final String CRONJOB_NAME = "secret-rotation-cronjob"; //NOI18N + private static final String CLUSTER_ROLE_BINDING_NAME = "secret-manager-binding"; //NOI18N + private static final String CLUSTER_ROLE_NAME = "secret-manager"; //NOI18N + private static final String SERVICE_ACCOUNT_NAME = "create-secret-svc-account"; //NOI18N + private static final String BASE_IMAGE = "ghcr.io/oracle/oci-cli:latest"; //NOI18N + private static final String CONTAINER_NAME = "create-secret"; //NOI18N + private static final int WAITING_TIMEOUT = 60; + + private static final Set COMMANDS = new HashSet<>(Arrays.asList( + COMMAND_CREATE_CRONJOB + )); + + private ClusterItem cluster; + + @Override + public Set getCommands() { + return Collections.unmodifiableSet(COMMANDS); + } + + @Override + public CompletableFuture runCommand(String command, List arguments) { + return createSecretRotationCronJob(); + } + + public CompletableFuture createSecretRotationCronJob() { + CompletableFuture completableFuture = new CompletableFuture(); + this.cluster = CloudAssets.getDefault().getItem(ClusterItem.class); + KubernetesUtils.runWithClient(cluster, client -> { + try { + ServiceAccount serviceAccount = createServiceAccountIfNotExist(client); + createClusterRoleIfNotExist(client); + createClusterRoleBindingIfNotExist(client); + createCronJobIfNotExist(client, serviceAccount); + completableFuture.complete(null); + } catch(Exception ex) { + completableFuture.completeExceptionally(ex); + NotificationUtils.showErrorMessage(Bundle.CronJobCreationError()); + } + }); + return completableFuture; + } + + private void createCronJobIfNotExist(KubernetesClient client, ServiceAccount serviceAccount) { + CronJobList existingCronJobs = client.batch().v1().cronjobs().inNamespace(cluster.getNamespace()).list(); + CronJob cronJob = (CronJob) KubernetesUtils.findResource(client, existingCronJobs, CRONJOB_NAME); + if (cronJob != null) { + if (!secretExist(client)) { + invokeCronJob(client, cronJob); + } + return; + } + cronJob = new CronJobBuilder() + .withNewMetadata() + .withName(CRONJOB_NAME) + .withNamespace(cluster.getNamespace()) + .endMetadata() + .withNewSpec() + .withSchedule(getCronExpression()) + .withNewJobTemplate() + .withNewSpec() + .withBackoffLimit(0) + .withTemplate(cronJobPodTemplate(serviceAccount)) + .endSpec() + .endJobTemplate() + .endSpec() + .build(); + + client.batch().v1() + .cronjobs() + .inNamespace(cluster.getNamespace()) + .resource(cronJob) + .create(); + + invokeCronJob(client, cronJob); + } + + private boolean secretExist(KubernetesClient client) { + SecretList existingSecrets = client.secrets().inNamespace(cluster.getNamespace()).list(); + Secret secret = (Secret) KubernetesUtils.findResource(client, existingSecrets, SECRET_NAME); + return secret != null; + } + + private void invokeCronJob(KubernetesClient client, CronJob cronJob) { + client.batch().v1() + .jobs() + .inNamespace(cluster.getNamespace()) + .resource(new JobBuilder() + .withNewMetadata() + .withName("cronjob-invocation-" + UUID.randomUUID()) //NOI18N + .endMetadata() + .withSpec(cronJob.getSpec().getJobTemplate().getSpec()) + .build()) + .create(); + + waitForConditionWithTimeout(() -> { + return secretExist(client); + }, WAITING_TIMEOUT).join(); + } + + private CompletableFuture waitForConditionWithTimeout(Supplier condition, long timeout) { + CompletableFuture future = new CompletableFuture<>(); + + ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); + + ScheduledFuture checkTask = executor.scheduleAtFixedRate(() -> { + if (condition.get()) { + future.complete(null); + } + }, 0, 5, TimeUnit.SECONDS); + + executor.schedule(() -> { + if (!future.isDone()) { + future.completeExceptionally(new TimeoutException("Condition was not met within the timeout.")); //NOI18N + } + checkTask.cancel(true); + executor.shutdown(); + }, timeout, TimeUnit.SECONDS); + + return future; + } + + private String getCronExpression() { + Calendar calendar = Calendar.getInstance(); + int currentMinute = calendar.get(Calendar.MINUTE); + return currentMinute + " * * * *"; + } + + private PodTemplateSpec cronJobPodTemplate(ServiceAccount serviceAccount) { + return new PodTemplateSpecBuilder() + .withNewSpec() + .withHostNetwork(Boolean.TRUE) + .addNewContainer() + .withName(CONTAINER_NAME) + .withImage(BASE_IMAGE) + .addNewEnv() + .withName("OCI_CLI_AUTH") //NOI18N + .withValue("instance_principal") //NOI18N + .endEnv() + .withCommand("/bin/bash", "-c", createSecretCommand()) //NOI18N + .endContainer() + .withRestartPolicy("Never") //NOI18N + .withServiceAccountName(serviceAccount.getMetadata().getName()) + .endSpec() + .build(); + } + + private ServiceAccount createServiceAccountIfNotExist(KubernetesClient client) { + ServiceAccountList existingServiceAccounts = client.serviceAccounts().inNamespace(cluster.getNamespace()).list(); + ServiceAccount serviceAccount = (ServiceAccount) KubernetesUtils.findResource(client, existingServiceAccounts, SERVICE_ACCOUNT_NAME); + if (serviceAccount != null) { + return serviceAccount; + } + serviceAccount = new ServiceAccountBuilder() + .withNewMetadata() + .withName(SERVICE_ACCOUNT_NAME) + .endMetadata() + .build(); + + return client.serviceAccounts() + .inNamespace(cluster.getNamespace()) + .resource(serviceAccount) + .create(); + } + + private void createClusterRoleIfNotExist(KubernetesClient client) { + ClusterRoleList existingClusterRole = client.rbac().clusterRoles().list(); + ClusterRole clusterRole = (ClusterRole) KubernetesUtils.findResource(client, existingClusterRole, CLUSTER_ROLE_NAME); + if (clusterRole != null) { + return; + } + clusterRole = new ClusterRoleBuilder() + .withNewMetadata() + .withName(CLUSTER_ROLE_NAME) + .endMetadata() + .addNewRule() + .withApiGroups("") + .withResources("secrets") //NOI18N + .withVerbs("create", "get", "patch", "delete") //NOI18N + .endRule() + .build(); + + client.rbac().clusterRoles() + .resource(clusterRole) + .create(); + } + + private void createClusterRoleBindingIfNotExist(KubernetesClient client) { + ClusterRoleBindingList existingClusterRoleBinding = client.rbac().clusterRoleBindings().list(); + ClusterRoleBinding clusterRoleBinding = (ClusterRoleBinding) KubernetesUtils.findResource(client, existingClusterRoleBinding, CLUSTER_ROLE_BINDING_NAME); + if (clusterRoleBinding != null) { + return; + } + clusterRoleBinding = new ClusterRoleBindingBuilder() + .withNewMetadata() + .withName(CLUSTER_ROLE_BINDING_NAME) + .endMetadata() + .addNewSubject() + .withName(SERVICE_ACCOUNT_NAME) + .withKind("ServiceAccount") //NOI18N + .withNamespace(cluster.getNamespace()) + .endSubject() + .withNewRoleRef() + .withKind("ClusterRole") //NOI18N + .withName(CLUSTER_ROLE_NAME) + .withApiGroup("rbac.authorization.k8s.io") //NOI18N + .endRoleRef() + .build(); + + client.rbac().clusterRoleBindings() + .resource(clusterRoleBinding) + .create(); + } + + private String createSecretCommand() { + String repoEndpoint = cluster.getRegionCode() + ".ocir.io"; //NOI18N + return + "KUBECTL_VERSION=\"v1.27.4\"\n" + //NOI18N + "case \"$(uname -m)\" in\n" + //NOI18N + " x86_64) ARCHITECTURE=\"amd64\" ;;\n" + //NOI18N + " aarch64) ARCHITECTURE=\"arm64\" ;;\n" + //NOI18N + " *) ARCHITECTURE=\"Unknown architecture\" ;;\n" + //NOI18N + "esac\n" + //NOI18N + "KUBECTL_URL=\"https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${ARCHITECTURE}/kubectl\"\n" + //NOI18N + "mkdir -p /tmp/bin\n" + //NOI18N + "curl -LO \"${KUBECTL_URL}\"\n" + //NOI18N + "chmod +x ./kubectl\n" + //NOI18N + "mv ./kubectl /tmp/bin/kubectl\n" + //NOI18N + "export PATH=$PATH:/tmp/bin\n" + //NOI18N + "TOKEN=$(oci raw-request --http-method GET --target-uri https://" + repoEndpoint + "/20180419/docker/token | jq -r '.data.token')\n" + //NOI18N + "kubectl create secret --save-config --dry-run=client docker-registry " + SECRET_NAME + " --docker-server=" + repoEndpoint + " --docker-username=BEARER_TOKEN --docker-password=\"$TOKEN\" -o yaml | kubectl apply -f - "; //NOI18N + } + +} diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/KubernetesUtils.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/KubernetesUtils.java index 5c88b56dd95c..37ac304999a1 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/KubernetesUtils.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/KubernetesUtils.java @@ -25,6 +25,11 @@ import com.oracle.bmc.http.client.Method; import com.oracle.bmc.http.client.jersey.JerseyHttpProvider; import com.oracle.bmc.http.signing.RequestSigningFilter; +import io.fabric8.kubernetes.api.model.HasMetadata; +import io.fabric8.kubernetes.api.model.KubernetesResource; +import io.fabric8.kubernetes.api.model.KubernetesResourceList; +import io.fabric8.kubernetes.api.model.batch.v1.CronJob; +import io.fabric8.kubernetes.api.model.batch.v1.CronJobList; import io.fabric8.kubernetes.client.Config; import io.fabric8.kubernetes.client.KubernetesClient; import io.fabric8.kubernetes.client.KubernetesClientBuilder; @@ -140,4 +145,15 @@ private static String getBearerToken(ClusterItem cluster) { throw new RuntimeException(ex); } } + + public static KubernetesResource findResource(KubernetesClient client, KubernetesResourceList existingResources, String resourceName) { + if (resourceName == null) return null; + + for (HasMetadata resource : existingResources.getItems()) { + if (resourceName.equals(resource.getMetadata().getName())) { + return resource; + } + } + return null; + } } diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/RunInClusterAction.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/RunInClusterAction.java index d0d480b6a796..c3762e9600fb 100644 --- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/RunInClusterAction.java +++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/assets/RunInClusterAction.java @@ -56,7 +56,8 @@ @NbBundle.Messages({ "RunInCluster=Run in OKE Cluster", - "Deploying=Deploying project \"{0}\" to the cluster \"{1}\"" + "Deploying=Deploying project \"{0}\" to the cluster \"{1}\"", + "CreatingSecretRotationCronJob=Creating secret rotation CronJob" }) public class RunInClusterAction implements ActionListener { @@ -92,14 +93,14 @@ private void runInCluster() { } try { h.start(); + + CreateSecretRotationCronJobCommand srcc = new CreateSecretRotationCronJobCommand(); + h.progress(Bundle.CreatingSecretRotationCronJob()); + srcc.createSecretRotationCronJob().join(); + KubernetesUtils.runWithClient(cluster, client -> { - Deployment existingDeployment = null; DeploymentList dList = client.apps().deployments().inNamespace(cluster.getNamespace()).list(); - for (Deployment deployment : dList.getItems()) { - if (projectName.equals(deployment.getMetadata().getName())) { - existingDeployment = deployment; - } - } + Deployment existingDeployment = (Deployment) KubernetesUtils.findResource(client, dList, projectName); ConfigMapProvider configMapProvider = new ConfigMapProvider(projectName, cluster); configMapProvider.createConfigMap(); From 86df6fa6836e065be9cef5ac6164cea1887ae763 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sat, 26 Oct 2024 20:08:18 +0200 Subject: [PATCH 31/94] output window: better warning color for FlatLaf light current default is often hard to read on white background --- .../src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties index 95606044b90f..0ba3f1707318 100644 --- a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties +++ b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLightLaf.properties @@ -80,3 +80,4 @@ nb.quicksearch.border=1,1,1,1,@background # output nb.output.selectionBackground=#89BCED +nb.output.warning.foreground=#FF9900 From f7fe71f71754da5702664f8b425dca8523285c63 Mon Sep 17 00:00:00 2001 From: Siddharth Srinivasan Date: Sat, 26 Oct 2024 09:09:29 +0530 Subject: [PATCH 32/94] Fix tests failure due to CRLF mismatch on Windows in java.hints, java.source.base Fixed tests failures in the modules java.hints and java.source.base on Windows due to CRLF-LF mismatches between the expected and actual outputs. 1. *VanillaCompileWorkerTest.java*: - transform `System.lineSeparator()` to LF on the actual outputs. 2. *TreeRuleTestBase.java*: - change the "ignore whitespace" transformation of the actual output to use `\\s+` instead of only tabs and LFs. 3. *.gitattributes*: - Mark all test golden files i.e. expected outputs, in the java.hints module to have only LF line endings. - This aids tests extending *TreeRuleTestBase* - Thanks to @mbien for guidance on this. Signed-off-by: Siddharth Srinivasan --- .gitattributes | 4 +++ .../infrastructure/TreeRuleTestBase.java | 2 +- .../indexing/VanillaCompileWorkerTest.java | 27 +++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/.gitattributes b/.gitattributes index b96c7fd9854e..7c9b72b88915 100644 --- a/.gitattributes +++ b/.gitattributes @@ -35,3 +35,7 @@ # Define some file types explicitly as being binary. *.jar binary + +# Define rules for files in specific paths, such as test data, +# for line endings, binary types etc. +java/java.hints/test/unit/data/goldenfiles/** text eol=lf diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/TreeRuleTestBase.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/TreeRuleTestBase.java index ede2a586e888..e57d8b35d9dd 100644 --- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/TreeRuleTestBase.java +++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/TreeRuleTestBase.java @@ -242,7 +242,7 @@ protected String performFixTest(String fileName, String code, int pos, String er String realCode = toCheckDocument.getText(0, toCheckDocument.getLength()); //ignore whitespaces: - realCode = realCode.replaceAll("[ \t\n]+", " "); + realCode = realCode.replaceAll("\\s+", " "); if (golden != null) { assertEquals("The output code does not match the expected code.", golden, realCode); diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java index bcd1c07c8701..9e96c7d15a21 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java @@ -685,6 +685,7 @@ public void testPreserveValidMethods1() throws Exception { " System.err.println(\"Hello, world!\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -729,6 +730,7 @@ public void testClearInvalidMethod() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code - compiler.err.cant.resolve.location\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -792,6 +794,7 @@ public void testPreserveValidInitializers() throws Exception { " private int F5a;\n" + " private int F5b;\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -834,6 +837,7 @@ public void testBrokenClassHeader1() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -883,6 +887,7 @@ public void testNullReturnUnknown() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -932,6 +937,7 @@ public void testBrokenNewClass() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -983,6 +989,7 @@ public void testReturnBroken() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1037,6 +1044,7 @@ public void testAssertBroken() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1117,6 +1125,7 @@ public void testAnonymousComplex() throws Exception { " };\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1165,6 +1174,7 @@ public void testFieldInit() throws Exception { " super();\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1239,6 +1249,7 @@ public void testAnonymousComplex2() throws Exception { " }\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1285,6 +1296,7 @@ public void testNewClass() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code - compiler.err.cant.apply.symbol\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1336,6 +1348,7 @@ public void testUndefNewArray() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1412,6 +1425,7 @@ public void testUndefAnonymous() throws Exception { " }\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1471,6 +1485,7 @@ public void testWeirdSuperCall() throws Exception { " }\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1590,6 +1605,7 @@ public void testAnonymousComplex3() throws Exception { " }\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1690,6 +1706,7 @@ public void testAnonymousComplex4() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code - compiler.err.cant.resolve.location.args\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1763,6 +1780,7 @@ public void testAnonymousComplexCorrect() throws Exception { " }\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1806,6 +1824,7 @@ public void testWarningsAreNotErrors() throws Exception { " }\n" + " Test t;\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1878,6 +1897,7 @@ public void testSuperCall() throws Exception { " public default void test2() {\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -1923,6 +1943,7 @@ public void testStaticInit() throws Exception { " System.err.println();\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -2161,6 +2182,7 @@ public void testMethodWithErroneousInMemberRef() throws Exception { " \n" + " public Object test(Object o);\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -2242,6 +2264,7 @@ public void testPatternSwitch() throws Exception { " throw new java.lang.RuntimeException(\"Uncompilable code\");\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -2294,6 +2317,7 @@ public void testTypeTest() throws Exception { " }\n" + " }\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -2339,6 +2363,7 @@ public void testWrongRecordComponent() throws Exception { " }\n" + " private final int wait;\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -2391,6 +2416,7 @@ public void testRecord1() throws Exception { " }\n" + " private final int i;\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } @@ -2428,6 +2454,7 @@ public void testRecord2() throws Exception { " }\n" + " private final int i;\n" + "}"); + if (!"\n".equals(System.lineSeparator())) file2Fixed.replaceAll((k, v) -> v.replaceAll(System.lineSeparator(), "\n")); assertEquals(expected, file2Fixed); } From a9787f2a9c6c81e1992f00054dd78bcaffdb9e72 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 28 Oct 2024 20:19:00 +0100 Subject: [PATCH 33/94] Update embedded tomcat from 9.0.71 to 9.0.96 - regular update release - silences vulnerability scanners --- ide/httpserver/external/binaries-list | 4 ++-- ...-license.txt => tomcat-annotations-api-9.0.96-license.txt} | 2 +- ...71-notice.txt => tomcat-annotations-api-9.0.96-notice.txt} | 0 ....0.71-license.txt => tomcat-embed-core-9.0.96-license.txt} | 2 +- ...-9.0.71-notice.txt => tomcat-embed-core-9.0.96-notice.txt} | 0 ide/httpserver/nbproject/project.properties | 4 ++-- ide/httpserver/nbproject/project.xml | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) rename ide/httpserver/external/{tomcat-annotations-api-9.0.71-license.txt => tomcat-annotations-api-9.0.96-license.txt} (99%) rename ide/httpserver/external/{tomcat-annotations-api-9.0.71-notice.txt => tomcat-annotations-api-9.0.96-notice.txt} (100%) rename ide/httpserver/external/{tomcat-embed-core-9.0.71-license.txt => tomcat-embed-core-9.0.96-license.txt} (99%) rename ide/httpserver/external/{tomcat-embed-core-9.0.71-notice.txt => tomcat-embed-core-9.0.96-notice.txt} (100%) diff --git a/ide/httpserver/external/binaries-list b/ide/httpserver/external/binaries-list index 425113296da1..23e064103d29 100644 --- a/ide/httpserver/external/binaries-list +++ b/ide/httpserver/external/binaries-list @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -898AD20682CB807F734E600BA224D6A3EECAEDBC org.apache.tomcat:tomcat-annotations-api:9.0.71 -ADAED61B4EAA5B52448336C0881FCD828FD51A2F org.apache.tomcat.embed:tomcat-embed-core:9.0.71 \ No newline at end of file +ACBF9E2E7580A723ACA3185BD554D3BC602D1C96 org.apache.tomcat:tomcat-annotations-api:9.0.96 +5CEA46A9D71D3FF8D85A0964591C09DBCF014F82 org.apache.tomcat.embed:tomcat-embed-core:9.0.96 diff --git a/ide/httpserver/external/tomcat-annotations-api-9.0.71-license.txt b/ide/httpserver/external/tomcat-annotations-api-9.0.96-license.txt similarity index 99% rename from ide/httpserver/external/tomcat-annotations-api-9.0.71-license.txt rename to ide/httpserver/external/tomcat-annotations-api-9.0.96-license.txt index 2de3f9d49bd2..b34282f79a15 100644 --- a/ide/httpserver/external/tomcat-annotations-api-9.0.71-license.txt +++ b/ide/httpserver/external/tomcat-annotations-api-9.0.96-license.txt @@ -1,5 +1,5 @@ Name: Apache Tomcat (Annotations Package) -Version: 9.0.71 +Version: 9.0.96 License: Apache-2.0 Description: Annotations used in Apache Tomcat Origin: http://tomcat.apache.org diff --git a/ide/httpserver/external/tomcat-annotations-api-9.0.71-notice.txt b/ide/httpserver/external/tomcat-annotations-api-9.0.96-notice.txt similarity index 100% rename from ide/httpserver/external/tomcat-annotations-api-9.0.71-notice.txt rename to ide/httpserver/external/tomcat-annotations-api-9.0.96-notice.txt diff --git a/ide/httpserver/external/tomcat-embed-core-9.0.71-license.txt b/ide/httpserver/external/tomcat-embed-core-9.0.96-license.txt similarity index 99% rename from ide/httpserver/external/tomcat-embed-core-9.0.71-license.txt rename to ide/httpserver/external/tomcat-embed-core-9.0.96-license.txt index 3b73bce3d693..0437df0b9fe3 100644 --- a/ide/httpserver/external/tomcat-embed-core-9.0.71-license.txt +++ b/ide/httpserver/external/tomcat-embed-core-9.0.96-license.txt @@ -1,5 +1,5 @@ Name: Apache Tomcat (embedded) -Version: 9.0.71 +Version: 9.0.96 License: Apache-2.0-tomcat Description: Apache Tomcat (embedded) is a library version of the Apache Tomcat servlet container, which can be used to create embedded servlet containers in other applications. Origin: http://tomcat.apache.org diff --git a/ide/httpserver/external/tomcat-embed-core-9.0.71-notice.txt b/ide/httpserver/external/tomcat-embed-core-9.0.96-notice.txt similarity index 100% rename from ide/httpserver/external/tomcat-embed-core-9.0.71-notice.txt rename to ide/httpserver/external/tomcat-embed-core-9.0.96-notice.txt diff --git a/ide/httpserver/nbproject/project.properties b/ide/httpserver/nbproject/project.properties index cf35895af509..8cf04960cb63 100644 --- a/ide/httpserver/nbproject/project.properties +++ b/ide/httpserver/nbproject/project.properties @@ -18,8 +18,8 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.8 spec.version.base=2.63.0 -release.external/tomcat-embed-core-9.0.71.jar=modules/ext/webserver.jar -release.external/tomcat-annotations-api-9.0.71.jar=modules/ext/webserver-annotations.jar +release.external/tomcat-embed-core-9.0.96.jar=modules/ext/webserver.jar +release.external/tomcat-annotations-api-9.0.96.jar=modules/ext/webserver-annotations.jar test-unit-sys-prop.xtest.data=${nb_all}/ide/httpserver/test/unit/testfs test.unit.data.dir=${nb_all}/ide/httpserver/test/unit/testfs diff --git a/ide/httpserver/nbproject/project.xml b/ide/httpserver/nbproject/project.xml index 0d6660c18989..767fad4aa5fa 100644 --- a/ide/httpserver/nbproject/project.xml +++ b/ide/httpserver/nbproject/project.xml @@ -162,11 +162,11 @@ ext/webserver.jar - external/tomcat-embed-core-9.0.71.jar + external/tomcat-embed-core-9.0.96.jar ext/webserver-annotations.jar - external/tomcat-annotations-api-9.0.71.jar + external/tomcat-annotations-api-9.0.96.jar From d0ad358dcabe57801663ac91c190db590d758c0b Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 29 Oct 2024 08:55:28 +0100 Subject: [PATCH 34/94] Checking for null capabilities. --- .../lsp/server/protocol/TextDocumentServiceImpl.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java index 7a5a5f40e4f9..85c223130e32 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java @@ -128,6 +128,7 @@ import org.eclipse.lsp4j.DocumentSymbol; import org.eclipse.lsp4j.DocumentSymbolParams; import org.eclipse.lsp4j.FoldingRange; +import org.eclipse.lsp4j.FoldingRangeCapabilities; import org.eclipse.lsp4j.FoldingRangeKind; import org.eclipse.lsp4j.FoldingRangeRequestParams; import org.eclipse.lsp4j.Hover; @@ -160,6 +161,7 @@ import org.eclipse.lsp4j.SignatureHelpParams; import org.eclipse.lsp4j.SignatureInformation; import org.eclipse.lsp4j.SymbolInformation; +import org.eclipse.lsp4j.TextDocumentClientCapabilities; import org.eclipse.lsp4j.TextDocumentContentChangeEvent; import org.eclipse.lsp4j.TextDocumentEdit; import org.eclipse.lsp4j.TextEdit; @@ -1638,7 +1640,12 @@ public CompletableFuture> foldingRange(FoldingRangeRequestPar if (source == null) { return CompletableFuture.completedFuture(Collections.emptyList()); } - final boolean lineFoldingOnly = client.getNbCodeCapabilities().getClientCapabilities().getTextDocument().getFoldingRange().getLineFoldingOnly() == Boolean.TRUE; + ClientCapabilities clientCapabilities = client.getNbCodeCapabilities() + .getClientCapabilities(); + TextDocumentClientCapabilities textDocumentCapabilities = clientCapabilities != null ? clientCapabilities.getTextDocument() : null; + FoldingRangeCapabilities foldingRangeCapabilities = textDocumentCapabilities != null ? textDocumentCapabilities.getFoldingRange() : null; + Boolean lineFoldingOnlyCapability = foldingRangeCapabilities != null ? foldingRangeCapabilities.getLineFoldingOnly() : null; + final boolean lineFoldingOnly = lineFoldingOnlyCapability == Boolean.TRUE; CompletableFuture> result = new CompletableFuture<>(); try { source.runUserActionTask(cc -> { From daf79f94cf010c77aadfc205575debc6e6a1f42e Mon Sep 17 00:00:00 2001 From: Siddharth Srinivasan Date: Wed, 30 Oct 2024 08:45:37 +0530 Subject: [PATCH 35/94] Fix MacOS tests failures in java.hints The javac outputs of the following tests in java/java.hints ErrorHintsProviderTest were updated for non-mac OSes due to changes in JDK 7 updates: - testShortErrors5: [jdk-6968793](https://github.com/openjdk/jdk/commit/b77effad6c6) - testTestShortErrorsSVUIDWarning: [jdk-6957438](https://github.com/openjdk/jdk/commit/1c75e97108) Since Apple JDK was present only up till JDK 6, we no longer require the special case for MacOS since JDK 8. Thus, making the test argument value `specialMacTreatment = false` for these two tests, and renaming the corresponding goldenfiles from "-nonmac.pass" suffix to ".pass" suffix. Signed-off-by: Siddharth Srinivasan --- .../ErrorHintsProviderTest/testShortErrors5-nonmac.pass | 3 --- .../ErrorHintsProviderTest/testShortErrors5.pass | 4 +++- .../testTestShortErrorsSVUIDWarning-nonmac.pass | 1 - .../testTestShortErrorsSVUIDWarning.pass | 2 +- .../java/hints/infrastructure/ErrorHintsProviderTest.java | 4 ++-- 5 files changed, 6 insertions(+), 8 deletions(-) delete mode 100644 java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors5-nonmac.pass delete mode 100644 java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testTestShortErrorsSVUIDWarning-nonmac.pass diff --git a/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors5-nonmac.pass b/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors5-nonmac.pass deleted file mode 100644 index 6564d61694f4..000000000000 --- a/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors5-nonmac.pass +++ /dev/null @@ -1,3 +0,0 @@ -5:8-5:14:error:cannot find symbol - symbol:method create() - location:class TestShortErrors5 diff --git a/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors5.pass b/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors5.pass index a040a93300df..6564d61694f4 100644 --- a/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors5.pass +++ b/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testShortErrors5.pass @@ -1 +1,3 @@ -5:8-5:14:error:compiler message file broken:key=compiler.err.cant.resolve.location.args arguments=method, create, , , class, javahints.TestShortErrors5, {6}, {7} +5:8-5:14:error:cannot find symbol + symbol:method create() + location:class TestShortErrors5 diff --git a/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testTestShortErrorsSVUIDWarning-nonmac.pass b/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testTestShortErrorsSVUIDWarning-nonmac.pass deleted file mode 100644 index a04bd4bb6bc3..000000000000 --- a/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testTestShortErrorsSVUIDWarning-nonmac.pass +++ /dev/null @@ -1 +0,0 @@ -2:13-2:40:warning:[serial] serializable class TestShortErrorsSVUIDWarning has no definition of serialVersionUID diff --git a/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testTestShortErrorsSVUIDWarning.pass b/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testTestShortErrorsSVUIDWarning.pass index 24348a1a6a23..a04bd4bb6bc3 100644 --- a/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testTestShortErrorsSVUIDWarning.pass +++ b/java/java.hints/test/unit/data/goldenfiles/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest/testTestShortErrorsSVUIDWarning.pass @@ -1 +1 @@ -2:13-2:40:warning:serializable class javahints.TestShortErrorsSVUIDWarning has no definition of serialVersionUID +2:13-2:40:warning:[serial] serializable class TestShortErrorsSVUIDWarning has no definition of serialVersionUID diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest.java index f173387f11f7..de225bbab0d4 100644 --- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest.java +++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/infrastructure/ErrorHintsProviderTest.java @@ -180,7 +180,7 @@ public void testShortErrors4() throws Exception { } public void testShortErrors5() throws Exception { - performTest("TestShortErrors5", true); + performTest("TestShortErrors5", false); } public void testShortErrors6() throws Exception { @@ -228,7 +228,7 @@ public void testTestShortErrorsSVUIDWarning() throws Exception { TestCompilerSettings.commandLine = "-Xlint:serial"; try { - performTest("TestShortErrorsSVUIDWarning", true); + performTest("TestShortErrorsSVUIDWarning", false); } finally { TestCompilerSettings.commandLine = null; } From 1efc17e976fb03423865f63cd7db9c5604533106 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Thu, 31 Oct 2024 19:55:21 +0100 Subject: [PATCH 36/94] JS CDT Debugger: Remember connection settings for remote attach --- .../cdtdebug/ui/attach/AttachCustomizer.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/attach/AttachCustomizer.java b/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/attach/AttachCustomizer.java index c874275a2e33..52c03bd697ec 100644 --- a/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/attach/AttachCustomizer.java +++ b/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/attach/AttachCustomizer.java @@ -25,6 +25,8 @@ import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.util.Collections; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.swing.SwingUtilities; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; @@ -38,9 +40,12 @@ import org.openide.filesystems.FileChooserBuilder; import org.openide.util.Exceptions; import org.openide.util.NbBundle; +import org.openide.util.RequestProcessor; public class AttachCustomizer extends javax.swing.JPanel { + private static final Logger LOG = Logger.getLogger(ConnectController.class.getName()); + private final ConnectController controller; private final ConnectProperties cproperties = new ConnectProperties(); private final ValidityDocumentListener validityDocumentListener = new ValidityDocumentListener(); @@ -51,6 +56,7 @@ public class AttachCustomizer extends javax.swing.JPanel { public AttachCustomizer() { controller = new ConnectController(); initComponents(); + controller.init(); portTextField.getDocument().addDocumentListener(validityDocumentListener); localSourcesTextField.getDocument().addDocumentListener(validityDocumentListener); serverPathTextField.getDocument().addDocumentListener(validityDocumentListener); @@ -272,7 +278,7 @@ public void changedUpdate(DocumentEvent e) { public class ConnectController implements PersistentController { - private static final String V8_ATTACH_PROPERTIES = "v8_attach_settings"; + private static final String CDT_ATTACH_PROPERTIES = "cdt_attach_settings"; private static final String PROP_HOST = "host"; private static final String PROP_PORT = "port"; private static final String PROP_HAS_SOURCES = "hasSources"; @@ -290,18 +296,19 @@ public String getDisplayName() { @Override public boolean load(Properties props) { assert !SwingUtilities.isEventDispatchThread(); - final Properties attachProps = props.getProperties(V8_ATTACH_PROPERTIES); + final Properties attachProps = props.getProperties(CDT_ATTACH_PROPERTIES); try { SwingUtilities.invokeAndWait(new Runnable() { @Override public void run() { - hostTextField.setText(attachProps.getString(PROP_HOST, "")); - portTextField.setText(Integer.toString(attachProps.getInt(PROP_PORT, 0))); + hostTextField.setText(attachProps.getString(PROP_HOST, "localhost")); + portTextField.setText(Integer.toString(attachProps.getInt(PROP_PORT, 9229))); localSourcesCheckBox.setSelected(attachProps.getBoolean(PROP_HAS_SOURCES, false)); String localPath = attachProps.getString(PROP_LOCAL_PATH, ""); localSourcesTextField.setText(localPath); String serverPath = attachProps.getString(PROP_SERVER_PATH, ""); serverPathTextField.setText(serverPath); + localSourcesCheckBoxActionPerformed(null); } }); } catch (InterruptedException | InvocationTargetException ex) { @@ -312,13 +319,15 @@ public void run() { @Override public void save(Properties props) { - final Properties attachProps = props.getProperties(V8_ATTACH_PROPERTIES); + final Properties attachProps = props.getProperties(CDT_ATTACH_PROPERTIES); if (SwingUtilities.isEventDispatchThread()) { saveToProps(attachProps); + saveToProps(Properties.getDefault().getProperties(CDT_ATTACH_PROPERTIES)); } else { try { SwingUtilities.invokeAndWait(() -> { saveToProps(attachProps); + saveToProps(Properties.getDefault().getProperties(CDT_ATTACH_PROPERTIES)); }); } catch (InterruptedException | InvocationTargetException ex) { Exceptions.printStackTrace(ex); @@ -350,7 +359,12 @@ public boolean ok() { try { Connector.connect(cp, null); } catch (IOException ioex) { - DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(ioex.getLocalizedMessage(), NotifyDescriptor.ERROR_MESSAGE)); + LOG.log(Level.INFO, "Failed to connect", ioex); + String message = ioex.getLocalizedMessage(); + if(message == null) { + message = ioex.toString(); + } + DialogDisplayer.getDefault().notify(new NotifyDescriptor.Message(message, NotifyDescriptor.ERROR_MESSAGE)); return false; } return true; @@ -393,6 +407,9 @@ public void removePropertyChangeListener(PropertyChangeListener l) { pcs.removePropertyChangeListener(l); } + public void init() { + RequestProcessor.getDefault().execute(() -> load(Properties.getDefault())); + } } private static final class ConnectProperties { From 8d789ca729d24618bdf0c9bb73f436de0c45f97a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sun, 27 Oct 2024 19:30:56 +0100 Subject: [PATCH 37/94] JS CDT Debugger: Improve handling of paths Breaking change: URL fields in CDT protocol may hold urls and "names", the latter are incompatible with URLs Closes: #7797 --- .../nbproject/project.properties | 2 +- .../nbproject/project.xml | 4 +- .../CallStackAnnotationListener.java | 2 +- .../cdtdebug/ui/models/DebuggingModel.java | 13 +- .../nbproject/project.properties | 2 +- .../javascript.cdtdebug/nbproject/project.xml | 4 +- .../javascript/cdtdebug/CDTScript.java | 5 +- .../javascript/cdtdebug/ScriptsHandler.java | 279 +++++------------- .../breakpoints/BreakpointsHandler.java | 31 +- .../cdtdebug/sources/ChangeLiveSupport.java | 10 +- .../lib.chrome_devtools_protocol/manifest.mf | 4 +- ...-netbeans-lib-chrome_devtools_protocol.sig | 25 +- .../lib/chrome_devtools_protocol/CDTUtil.java | 20 ++ .../debugger/CallFrame.java | 7 +- .../debugger/ScriptFailedToParse.java | 6 +- .../debugger/ScriptParsed.java | 6 +- .../debugger/SetBreakpointByUrlRequest.java | 7 +- .../runtime/CallFrame.java | 7 +- .../test/unit/src/TestEndpointList.java | 88 +++--- 19 files changed, 229 insertions(+), 293 deletions(-) diff --git a/webcommon/javascript.cdtdebug.ui/nbproject/project.properties b/webcommon/javascript.cdtdebug.ui/nbproject/project.properties index 884df9aae970..47cf549bedfc 100644 --- a/webcommon/javascript.cdtdebug.ui/nbproject/project.properties +++ b/webcommon/javascript.cdtdebug.ui/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=11 javadoc.arch=${basedir}/arch.xml is.eager=true -spec.version.base=1.3.0 +spec.version.base=1.4.0 diff --git a/webcommon/javascript.cdtdebug.ui/nbproject/project.xml b/webcommon/javascript.cdtdebug.ui/nbproject/project.xml index 6bd682bba77d..f2cff035b9a7 100644 --- a/webcommon/javascript.cdtdebug.ui/nbproject/project.xml +++ b/webcommon/javascript.cdtdebug.ui/nbproject/project.xml @@ -48,8 +48,8 @@ - 1 - 1.0 + 2 + 2.0 diff --git a/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/annotation/CallStackAnnotationListener.java b/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/annotation/CallStackAnnotationListener.java index e7a4f8860dc4..86f4af06ac58 100644 --- a/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/annotation/CallStackAnnotationListener.java +++ b/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/annotation/CallStackAnnotationListener.java @@ -184,7 +184,7 @@ public void notifyCurrentFrame(CallFrame cf) { return ; } topFrameShown = false; - EditorUtils.showFrameLine(dbg, cf, true); + annotationProcessor.execute(() -> EditorUtils.showFrameLine(dbg, cf, true)); } @Override diff --git a/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/models/DebuggingModel.java b/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/models/DebuggingModel.java index 980b5cd87e56..c29fa6369144 100644 --- a/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/models/DebuggingModel.java +++ b/webcommon/javascript.cdtdebug.ui/src/org/netbeans/modules/javascript/cdtdebug/ui/models/DebuggingModel.java @@ -22,6 +22,8 @@ import java.awt.datatransfer.Transferable; import java.io.IOException; import java.lang.ref.WeakReference; +import java.net.URI; +import java.net.URISyntaxException; import java.util.List; import org.netbeans.lib.chrome_devtools_protocol.debugger.CallFrame; import org.netbeans.modules.javascript.cdtdebug.CDTDebugger; @@ -189,7 +191,16 @@ public String getDisplayName(Object node) throws UnknownTypeException { static String getScriptName(ScriptsHandler scriptsHandler, CallFrame cf) { CDTScript script = scriptsHandler.getScript(cf.getLocation().getScriptId()); if (script != null) { - String scriptName = script.getUrl().getPath(); + String urlString = script.getUrl(); + String scriptName = urlString; + try { + URI url = new URI(urlString); + if(url.getPath() != null) { + scriptName = url.getPath(); + } + } catch (URISyntaxException ex) { + return urlString; + } if (scriptName == null) { return null; } diff --git a/webcommon/javascript.cdtdebug/nbproject/project.properties b/webcommon/javascript.cdtdebug/nbproject/project.properties index d3f5a2b89b3f..b5763a740675 100644 --- a/webcommon/javascript.cdtdebug/nbproject/project.properties +++ b/webcommon/javascript.cdtdebug/nbproject/project.properties @@ -19,4 +19,4 @@ javac.release=11 javadoc.arch=${basedir}/arch.xml is.autoload=true -spec.version.base=1.3.0 +spec.version.base=1.4.0 diff --git a/webcommon/javascript.cdtdebug/nbproject/project.xml b/webcommon/javascript.cdtdebug/nbproject/project.xml index 2ac56002d13c..9b9028918b1a 100644 --- a/webcommon/javascript.cdtdebug/nbproject/project.xml +++ b/webcommon/javascript.cdtdebug/nbproject/project.xml @@ -56,8 +56,8 @@ - 1 - 1.0 + 2 + 2.0 diff --git a/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/CDTScript.java b/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/CDTScript.java index 5eaa907eaa4b..5ceae545d037 100644 --- a/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/CDTScript.java +++ b/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/CDTScript.java @@ -18,14 +18,13 @@ */ package org.netbeans.modules.javascript.cdtdebug; -import java.net.URI; import java.util.Objects; import org.netbeans.lib.chrome_devtools_protocol.debugger.ScriptFailedToParse; import org.netbeans.lib.chrome_devtools_protocol.debugger.ScriptParsed; public class CDTScript { private final String scriptId; - private final URI url; + private final String url; private final int startLine; private final int startColumn; private final int endLine; @@ -59,7 +58,7 @@ public String getScriptId() { return scriptId; } - public URI getUrl() { + public String getUrl() { return url; } diff --git a/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/ScriptsHandler.java b/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/ScriptsHandler.java index db1f042b0f95..418e82701797 100644 --- a/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/ScriptsHandler.java +++ b/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/ScriptsHandler.java @@ -20,6 +20,7 @@ import java.io.File; import java.io.IOException; +import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; @@ -42,6 +43,7 @@ import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; +import org.openide.util.Exceptions; import org.openide.util.NbBundle; public class ScriptsHandler { @@ -55,11 +57,8 @@ public class ScriptsHandler { private final SourceMapsTranslator smt; private final String remotePathPrefix; private final boolean doPathTranslation; - private final int numPrefixes; private final String[] localPathPrefixes; private final String[] serverPathPrefixes; - private final char localPathSeparator; - private final char serverPathSeparator; @NullAllowed private final FileObject[] localRoots; @NullAllowed @@ -76,27 +75,23 @@ public class ScriptsHandler { // dbg can be null in tests this.remotePathPrefix = ""; } - if (localPaths != null && !localPaths.isEmpty() && serverPaths != null && !serverPaths.isEmpty()) { + if (localPaths != null && !localPaths.isEmpty() + && serverPaths != null && !serverPaths.isEmpty() + && !localPaths.equals(serverPaths)) { this.doPathTranslation = true; int n = localPaths.size(); - this.numPrefixes = n; this.localPathPrefixes = new String[n]; this.serverPathPrefixes = new String[n]; for (int i = 0; i < n; i++) { - this.localPathPrefixes[i] = stripSeparator(localPaths.get(i)); + this.localPathPrefixes[i] = toUrl(localPaths.get(i)); } - this.localPathSeparator = findSeparator(localPaths.get(0)); for (int i = 0; i < n; i++) { - this.serverPathPrefixes[i] = stripSeparator(serverPaths.get(i)); + this.serverPathPrefixes[i] = toUrl(serverPaths.get(i)); } - this.serverPathSeparator = findSeparator(serverPaths.get(0)); } else { this.doPathTranslation = false; this.localPathPrefixes = null; this.serverPathPrefixes = null; - this.localPathSeparator = 0; - this.serverPathSeparator = 0; - this.numPrefixes = 0; } if (localPaths != null && !localPaths.isEmpty()) { FileObject[] lroots = new FileObject[localPaths.size()]; @@ -140,11 +135,11 @@ public class ScriptsHandler { this.localPathExclusionFilters = null; } LOG.log(Level.FINE, - "ScriptsHandler: doPathTranslation = {0}, localPathPrefixes = {1}, separator = {2}, " - + "serverPathPrefixes = {3}, separator = {4}, " - + "localRoots = {5}, localPathExclusionFilters = {6}.", - new Object[]{doPathTranslation, Arrays.toString(localPathPrefixes), localPathSeparator, - Arrays.toString(serverPathPrefixes), serverPathSeparator, + "ScriptsHandler: doPathTranslation = {0}, localPathPrefixes = {1}," + + "serverPathPrefixes = {2}," + + "localRoots = {3}, localPathExclusionFilters = {4}.", + new Object[]{doPathTranslation, Arrays.toString(localPathPrefixes), + Arrays.toString(serverPathPrefixes), Arrays.toString(this.localRoots), Arrays.toString(this.localPathExclusionFilters)}); this.dbg = dbg; @@ -238,37 +233,27 @@ public FileObject getFile(String scriptId) { } public FileObject getFile(@NonNull CDTScript script) { - String name = script.getUrl().getPath(); - if(name == null) { + String url = script.getUrl(); + if(url == null) { return null; } - File localFile = null; - if (doPathTranslation) { + + String lp = getLocalPath(url); + if (lp != null) { try { - String lp = getLocalPath(name); - localFile = new File(lp); - } catch (OutOfScope oos) { - } - } else { - File f = new File(name); - if (f.isAbsolute()) { - localFile = f; - } - } - if (localFile != null) { - FileObject fo = FileUtil.toFileObject(localFile); - if (fo != null) { - synchronized (scriptsByURL) { - scriptsByURL.put(fo.toURL(), script); + FileObject localFile = URLMapper.findFileObject(new URI(lp).toURL()); + if (localFile != null) { + synchronized (scriptsByURL) { + scriptsByURL.put(localFile.toURL(), script); + } + return localFile; } - return fo; + } catch (URISyntaxException | MalformedURLException ex) { + // Ignore } } - if (name == null) { - name = "unknown.js"; - } // prepend _/ to the name. - name = remotePathPrefix + name; + String name = remotePathPrefix + url; URL sourceURL = SourceFilesCache.getDefault().getSourceFile(name, script.getHash(), new ScriptContentLoader(script, dbg)); synchronized (scriptsByURL) { scriptsByURL.put(sourceURL, script); @@ -276,112 +261,50 @@ public FileObject getFile(@NonNull CDTScript script) { return URLMapper.findFileObject(sourceURL); } - /** - * Find a known script by it's actual URL. - * @param scriptURL Script's URL returned by {@link #getFile(org.netbeans.lib.v8debug.CDTScript)} - * @return the script or null when not found. - */ - @CheckForNull - public CDTScript findScript(@NonNull URL scriptURL) { - synchronized (scriptsByURL) { - return scriptsByURL.get(scriptURL); - } - } - @CheckForNull public String getServerPath(@NonNull FileObject fo) { + if(! doPathTranslation) { + return toTripleSlashUri(fo.toURI()).toString(); + } String serverPath; - File file = FileUtil.toFile(fo); - if (file != null) { - String localPath = file.getAbsolutePath(); - try { - serverPath = getServerPath(localPath); - } catch (ScriptsHandler.OutOfScope oos) { - serverPath = null; - } - } else { - URL url = fo.toURL(); - CDTScript script = findScript(url); - if (script != null) { - serverPath = script.getUrl().getPath(); - } else if (SourceFilesCache.URL_PROTOCOL.equals(url.getProtocol())) { - String path = fo.getPath(); - int begin = path.indexOf('/'); - if (begin > 0) { - path = path.substring(begin + 1); - // subtract _/ : - if (path.startsWith(remotePathPrefix)) { - serverPath = path.substring(remotePathPrefix.length()); - } else { - serverPath = null; - } + URL url = fo.toURL(); + if (SourceFilesCache.URL_PROTOCOL.equals(url.getProtocol())) { + String path = fo.getPath(); + int begin = path.indexOf('/'); + if (begin > 0) { + path = path.substring(begin + 1); + // subtract _/ : + if (path.startsWith(remotePathPrefix)) { + serverPath = path.substring(remotePathPrefix.length()); } else { serverPath = null; } } else { serverPath = null; } - } - return serverPath; - } - - @CheckForNull - public String getServerPath(@NonNull URL url) { - if (!SourceFilesCache.URL_PROTOCOL.equals(url.getProtocol())) { - return null; - } - String path; - try { - path = url.toURI().getPath(); - } catch (URISyntaxException usex) { - return null; - } - int l = path.length(); - int index = 0; - while (index < l && path.charAt(index) == '/') { - index++; - } - int begin = path.indexOf('/', index); - if (begin > 0) { - // path.substring(begin + 1).startsWith(remotePathPrefix) - if (path.regionMatches(begin + 1, remotePathPrefix, 0, remotePathPrefix.length())) { - path = path.substring(begin + 1 + remotePathPrefix.length()); - return path; - } else { - // Path with a different prefix - return null; - } - } else { - return null; - } - } - - public String getLocalPath(@NonNull String serverPath) throws OutOfScope { - if (!doPathTranslation) { - return serverPath; } else { - for (int i = 0; i < numPrefixes; i++) { - if (isChildOf(serverPathPrefixes[i], serverPath)) { - return translate(serverPath, serverPathPrefixes[i], serverPathSeparator, - localPathPrefixes[i], localPathSeparator); + String fileUri = toTripleSlashUri(fo.toURI()).toString(); + for (int i = 0; i < localPathPrefixes.length; i++) { + if (fileUri.startsWith(localPathPrefixes[i])) { + return serverPathPrefixes[i] + fileUri.substring(localPathPrefixes[i].length()); } } } - throw new OutOfScope(serverPath, Arrays.toString(serverPathPrefixes)); + return null; } - public String getServerPath(@NonNull String localPath) throws OutOfScope { + + public String getLocalPath(@NonNull String serverPath) { if (!doPathTranslation) { - return localPath; + return serverPath; } else { - for (int i = 0; i < numPrefixes; i++) { - if (isChildOf(localPathPrefixes[i], localPath)) { - return translate(localPath, localPathPrefixes[i], localPathSeparator, - serverPathPrefixes[i], serverPathSeparator); + for (int i = 0; i < serverPathPrefixes.length; i++) { + if (serverPath.startsWith(serverPathPrefixes[i])) { + return localPathPrefixes[i] + serverPath.substring(serverPathPrefixes[i].length()); } } } - throw new OutOfScope(localPath, Arrays.toString(localPathPrefixes)); + return null; } public File[] getLocalRoots() { @@ -396,86 +319,42 @@ public File[] getLocalRoots() { return roots; } - private static boolean isChildOf(String parent, String child) { - if (!child.startsWith(parent)) { - return false; - } - int l = parent.length(); - if (!isRootPath(parent)) { // When the parent is the root, do not do further checks. - if (child.length() > l && !isSeparator(child.charAt(l))) { - return false; - } - } - return true; - } - - private static String translate(String path, String pathPrefix, char pathSeparator, String otherPathPrefix, char otherPathSeparator) throws OutOfScope { - if (!path.startsWith(pathPrefix)) { - throw new OutOfScope(path, pathPrefix); - } - int l = pathPrefix.length(); - if (!isRootPath(pathPrefix)) { // When the prefix is the root, do not do further checks. - if (path.length() > l && !isSeparator(path.charAt(l))) { - throw new OutOfScope(path, pathPrefix); - } - } - while (path.length() > l && isSeparator(path.charAt(l))) { - l++; + private static String toUrl(String path) { + // Assume Windows path if not starts with slash + if (! path.startsWith("/")) { + path = "/" + path; } - String otherPath = path.substring(l); - if (pathSeparator != otherPathSeparator) { - otherPath = otherPath.replace(pathSeparator, otherPathSeparator); - } - if (otherPath.isEmpty()) { - return otherPathPrefix; - } else { - if (isRootPath(otherPathPrefix)) { // Do not append further slashes to the root - return otherPathPrefix + otherPath; + try { + URI fileUri = new URI("file", "", path.replace("\\", "/"), null); + String fileString = fileUri.toString(); + if(! fileString.endsWith("/")) { + return fileString + "/"; } else { - return otherPathPrefix + otherPathSeparator + otherPath; + return fileString; } + } catch (URISyntaxException ex) { + Exceptions.printStackTrace(ex); + return null; } } - private static char findSeparator(String path) { - if (path.indexOf('/') >= 0) { - return '/'; - } - if (path.indexOf('\\') >= 0) { - return '\\'; - } - return '/'; - } - - private static boolean isSeparator(char c) { - return c == '/' || c == '\\'; - } - - private static boolean isRootPath(String path) { - if ("/".equals(path)) { - return true; - } - if (path.length() == 4 && path.endsWith(":\\\\")) { // "C:\\" - return true; - } - return false; - } - - private static String stripSeparator(String path) { - if (isRootPath(path)) { // Do not remove slashes the root - return path; - } - while (path.length() > 1 && (path.endsWith("/") || path.endsWith("\\"))) { - path = path.substring(0, path.length() - 1); - } - return path; - } - - public static final class OutOfScope extends Exception { - - private OutOfScope(String path, String scope) { - super(path); + private URI toTripleSlashUri(URI inputUri) { + // Only handle file URIs and file uris with a null host (single slash variant) + if((! "file".equals(inputUri.getScheme())) || inputUri.getHost() != null) { + return inputUri; + } else { + try { + return new URI( + inputUri.getScheme(), + "", + inputUri.getRawPath(), + null + ); + } catch (URISyntaxException ex) { + Exceptions.printStackTrace(ex); + return null; + } } } diff --git a/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/breakpoints/BreakpointsHandler.java b/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/breakpoints/BreakpointsHandler.java index 3499b32d0006..41d767b2f7f4 100644 --- a/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/breakpoints/BreakpointsHandler.java +++ b/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/breakpoints/BreakpointsHandler.java @@ -24,6 +24,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.net.URL; +import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -46,8 +47,10 @@ import org.netbeans.modules.web.common.sourcemap.SourceMapsTranslator; import org.netbeans.modules.web.common.sourcemap.SourceMapsTranslator.Location; import org.openide.filesystems.FileObject; +import org.openide.util.Exceptions; import org.openide.util.NbBundle; import org.openide.util.RequestProcessor; +import org.openide.util.Utilities; @NbBundle.Messages({ "MSG_BRKP_Unresolved=Not resolved/inactive at current line.", @@ -129,7 +132,12 @@ private void submitBreakpoint(JSLineBreakpoint lb) { .map(req -> dbg.getConnection().getDebugger().setBreakpointByUrl(req)) .map(cs -> cs.toCompletableFuture()) .map(cs -> cs.join()) - .map(sbbur -> sbbur.getBreakpointId()) + .map(sbbur -> { + if(! sbbur.getLocations().isEmpty()) { + JSBreakpointStatus.setValid(lb, Bundle.MSG_BRKP_Resolved()); + } + return sbbur.getBreakpointId(); + }) .collect(Collectors.toList()) .toArray(String[]::new); submittedBreakpoints.put(lb, ids); @@ -188,21 +196,21 @@ private List createSetRequestArguments(JSLineBreakpoi columnNumber.add(0); } else { // Future BP URL url = b.getURL(); - if (scriptsHandler.containsRemoteFile(url)) { - serverPath.add(scriptsHandler.getServerPath(url)); - lineNumber.add(b.getLineNumber() - 1); - columnNumber.add(0); - } + serverPath.add(b.getURL().toString()); + lineNumber.add(b.getLineNumber() - 1); + columnNumber.add(0); } String condition = (b.isConditional()) ? b.getCondition() : null; List args = new ArrayList<>(); for (int i = 0; i < serverPath.size(); i++) { - SetBreakpointByUrlRequest newBreakPoint = new SetBreakpointByUrlRequest(); - try { - newBreakPoint.setUrl(new URI("file", "", serverPath.get(i), null, null)); - } catch (URISyntaxException ex) { - throw new RuntimeException(ex); + if (serverPath.get(i) == null) { + continue; } + SetBreakpointByUrlRequest newBreakPoint = new SetBreakpointByUrlRequest(); + // This will need rework, if the situation could arise, that target + // platform != local platform (then the path to URI transformation + // will fail) + newBreakPoint.setUrl(serverPath.get(i)); newBreakPoint.setLineNumber(lineNumber.get(i)); newBreakPoint.setColumnNumber(columnNumber.get(i)); newBreakPoint.setCondition(condition); @@ -211,6 +219,7 @@ private List createSetRequestArguments(JSLineBreakpoi return args; } + @Override public void notifySuspended(boolean suspended) { if (!suspended) { diff --git a/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/sources/ChangeLiveSupport.java b/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/sources/ChangeLiveSupport.java index 712e61ebfacc..1060b4551c3f 100644 --- a/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/sources/ChangeLiveSupport.java +++ b/webcommon/javascript.cdtdebug/src/org/netbeans/modules/javascript/cdtdebug/sources/ChangeLiveSupport.java @@ -120,15 +120,13 @@ private void applyModifiedFiles(List modifiedFiles) { continue; } String path = fo.getPath(); - String serverPath; - try { - serverPath = sh.getServerPath(path); - } catch (ScriptsHandler.OutOfScope ex) { + String serverPath = sh.getServerPath(fo); + if(serverPath == null) { continue; } CDTScript script = null; for (CDTScript s : scripts) { - if (serverPath.equals(s.getUrl().getPath())) { + if (serverPath.equals(s.getUrl())) { script = s; break; } @@ -158,7 +156,7 @@ private void applyModifiedFiles(List modifiedFiles) { return null; }); - LOG.log(Level.FINE, "Running ChangeLive command for script {0}", script.getUrl().toASCIIString()); + LOG.log(Level.FINE, "Running ChangeLive command for script {0}", script.getUrl()); } phaser.arriveAndAwaitAdvance(); } diff --git a/webcommon/lib.chrome_devtools_protocol/manifest.mf b/webcommon/lib.chrome_devtools_protocol/manifest.mf index 3f1197b5bee7..a22761970077 100644 --- a/webcommon/lib.chrome_devtools_protocol/manifest.mf +++ b/webcommon/lib.chrome_devtools_protocol/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -OpenIDE-Module: org.netbeans.lib.chrome_devtools_protocol/1 +OpenIDE-Module: org.netbeans.lib.chrome_devtools_protocol/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/lib/chrome_devtools_protocol/Bundle.properties -OpenIDE-Module-Specification-Version: 1.3 +OpenIDE-Module-Specification-Version: 2.0 diff --git a/webcommon/lib.chrome_devtools_protocol/nbproject/org-netbeans-lib-chrome_devtools_protocol.sig b/webcommon/lib.chrome_devtools_protocol/nbproject/org-netbeans-lib-chrome_devtools_protocol.sig index bc0f54d3aea9..fda5d2c455de 100644 --- a/webcommon/lib.chrome_devtools_protocol/nbproject/org-netbeans-lib-chrome_devtools_protocol.sig +++ b/webcommon/lib.chrome_devtools_protocol/nbproject/org-netbeans-lib-chrome_devtools_protocol.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.1 +#Version 2.0 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable @@ -64,6 +64,7 @@ meth public void setStackTrace(java.lang.StackTraceElement[]) supr java.lang.Object CLSS public abstract org.netbeans.lib.chrome_devtools_protocol.CDTUtil +meth public static java.lang.String toNodeUrl(java.lang.String) meth public static java.net.URI toNodeUrl(java.net.URI) supr java.lang.Object @@ -165,9 +166,9 @@ meth public int hashCode() meth public java.lang.Boolean getCanBeRestarted() meth public java.lang.String getCallFrameId() meth public java.lang.String getFunctionName() -meth public java.lang.String toString() -meth public java.net.URI getUrl() +meth public java.lang.String getUrl() anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") +meth public java.lang.String toString() meth public java.util.List getScopeChain() meth public org.netbeans.lib.chrome_devtools_protocol.debugger.Location getFunctionLocation() meth public org.netbeans.lib.chrome_devtools_protocol.debugger.Location getLocation() @@ -181,7 +182,7 @@ meth public void setLocation(org.netbeans.lib.chrome_devtools_protocol.debugger. meth public void setReturnValue(org.netbeans.lib.chrome_devtools_protocol.runtime.RemoteObject) meth public void setScopeChain(java.util.List) meth public void setThisObject(org.netbeans.lib.chrome_devtools_protocol.runtime.RemoteObject) -meth public void setUrl(java.net.URI) +meth public void setUrl(java.lang.String) anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") supr java.lang.Object hfds callFrameId,canBeRestarted,functionLocation,functionName,location,returnValue,scopeChain,thisObject,url @@ -458,9 +459,9 @@ meth public java.lang.String getEmbedderName() meth public java.lang.String getHash() meth public java.lang.String getScriptId() meth public java.lang.String getScriptLanguage() +meth public java.lang.String getUrl() meth public java.lang.String toString() meth public java.net.URI getSourceMapURL() -meth public java.net.URI getUrl() meth public org.netbeans.lib.chrome_devtools_protocol.runtime.StackTrace getStackTrace() meth public void setCodeOffset(java.lang.Integer) meth public void setEmbedderName(java.lang.String) @@ -478,7 +479,7 @@ meth public void setSourceMapURL(java.net.URI) meth public void setStackTrace(org.netbeans.lib.chrome_devtools_protocol.runtime.StackTrace) meth public void setStartColumn(int) meth public void setStartLine(int) -meth public void setUrl(java.net.URI) +meth public void setUrl(java.lang.String) supr java.lang.Object hfds codeOffset,embedderName,endColumn,endLine,executionContextAuxData,executionContextId,hasSourceURL,hash,isModule,length,scriptId,scriptLanguage,sourceMapURL,stackTrace,startColumn,startLine,url @@ -501,9 +502,9 @@ meth public java.lang.String getEmbedderName() meth public java.lang.String getHash() meth public java.lang.String getScriptId() meth public java.lang.String getScriptLanguage() +meth public java.lang.String getUrl() meth public java.lang.String toString() meth public java.net.URI getSourceMapURL() -meth public java.net.URI getUrl() meth public org.netbeans.lib.chrome_devtools_protocol.debugger.DebugSymbols getDebugSymbols() meth public org.netbeans.lib.chrome_devtools_protocol.runtime.StackTrace getStackTrace() meth public void setCodeOffset(java.lang.Integer) @@ -524,7 +525,7 @@ meth public void setSourceMapURL(java.net.URI) meth public void setStackTrace(org.netbeans.lib.chrome_devtools_protocol.runtime.StackTrace) meth public void setStartColumn(int) meth public void setStartLine(int) -meth public void setUrl(java.net.URI) +meth public void setUrl(java.lang.String) supr java.lang.Object hfds codeOffset,debugSymbols,embedderName,endColumn,endLine,executionContextAuxData,executionContextId,hasSourceURL,hash,isLiveEdit,isModule,length,scriptId,scriptLanguage,sourceMapURL,stackTrace,startColumn,startLine,url @@ -601,14 +602,14 @@ meth public int hashCode() meth public java.lang.Integer getColumnNumber() meth public java.lang.String getCondition() meth public java.lang.String getScriptHash() +meth public java.lang.String getUrl() meth public java.lang.String getUrlRegex() meth public java.lang.String toString() -meth public java.net.URI getUrl() meth public void setColumnNumber(java.lang.Integer) meth public void setCondition(java.lang.String) meth public void setLineNumber(int) meth public void setScriptHash(java.lang.String) -meth public void setUrl(java.net.URI) +meth public void setUrl(java.lang.String) meth public void setUrlRegex(java.lang.String) supr java.lang.Object hfds columnNumber,condition,lineNumber,scriptHash,url,urlRegex @@ -857,13 +858,13 @@ meth public int getLineNumber() meth public int hashCode() meth public java.lang.String getFunctionName() meth public java.lang.String getScriptId() +meth public java.lang.String getUrl() meth public java.lang.String toString() -meth public java.net.URI getUrl() meth public void setColumnNumber(int) meth public void setFunctionName(java.lang.String) meth public void setLineNumber(int) meth public void setScriptId(java.lang.String) -meth public void setUrl(java.net.URI) +meth public void setUrl(java.lang.String) supr java.lang.Object hfds columnNumber,functionName,lineNumber,scriptId,url diff --git a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/CDTUtil.java b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/CDTUtil.java index dd89eaee5e89..caf004ea8f45 100644 --- a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/CDTUtil.java +++ b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/CDTUtil.java @@ -46,4 +46,24 @@ public static URI toNodeUrl(URI uri) { return uri; } } + + /** + * Java created file URIs in the style "file:/PATH" by default, but Node + * only accepts the form "file:///PATH"; + * + * @param uri + * @return + */ + public static String toNodeUrl(String uri) { + try { + URI parsedUri = new URI(uri); + if("file".equals(parsedUri.getScheme())) { + return toNodeUrl(parsedUri).toString(); + } else { + return uri; + } + } catch (URISyntaxException ex) { + return uri; + } + } } diff --git a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/CallFrame.java b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/CallFrame.java index b5b38f0a1d7d..6af57a4f6ce5 100644 --- a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/CallFrame.java +++ b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/CallFrame.java @@ -19,7 +19,6 @@ package org.netbeans.lib.chrome_devtools_protocol.debugger; import com.google.gson.annotations.SerializedName; -import java.net.URI; import java.util.List; import java.util.Objects; import org.netbeans.lib.chrome_devtools_protocol.runtime.RemoteObject; @@ -32,7 +31,7 @@ public final class CallFrame { private String functionName; private Location functionLocation; private Location location; - private URI url; + private String url; private List scopeChain; @SerializedName("this") private RemoteObject thisObject; @@ -106,7 +105,7 @@ public void setLocation(Location location) { * Debugger.scriptParsed event. */ @Deprecated - public URI getUrl() { + public String getUrl() { return url; } @@ -116,7 +115,7 @@ public URI getUrl() { * Debugger.scriptParsed event. */ @Deprecated - public void setUrl(URI url) { + public void setUrl(String url) { this.url = url; } diff --git a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/ScriptFailedToParse.java b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/ScriptFailedToParse.java index 0cf47f1e664c..0cf71a773f79 100644 --- a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/ScriptFailedToParse.java +++ b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/ScriptFailedToParse.java @@ -27,7 +27,7 @@ */ public final class ScriptFailedToParse { private String scriptId; - private URI url; + private String url; private int startLine; private int startColumn; private int endLine; @@ -64,14 +64,14 @@ public void setScriptId(String scriptId) { /** * URL or name of the script parsed (if any). */ - public URI getUrl() { + public String getUrl() { return url; } /** * URL or name of the script parsed (if any). */ - public void setUrl(URI url) { + public void setUrl(String url) { this.url = url; } diff --git a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/ScriptParsed.java b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/ScriptParsed.java index 58f11a6b2c82..c86b97ca39fb 100644 --- a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/ScriptParsed.java +++ b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/ScriptParsed.java @@ -27,7 +27,7 @@ */ public final class ScriptParsed { private String scriptId; - private URI url; + private String url; private int startLine; private int startColumn; private int endLine; @@ -66,14 +66,14 @@ public void setScriptId(String scriptId) { /** * URL or name of the script parsed (if any). */ - public URI getUrl() { + public String getUrl() { return url; } /** * URL or name of the script parsed (if any). */ - public void setUrl(URI url) { + public void setUrl(String url) { this.url = url; } diff --git a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/SetBreakpointByUrlRequest.java b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/SetBreakpointByUrlRequest.java index 9ff88177582e..6f3f17a38a62 100644 --- a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/SetBreakpointByUrlRequest.java +++ b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/debugger/SetBreakpointByUrlRequest.java @@ -18,12 +18,11 @@ */ package org.netbeans.lib.chrome_devtools_protocol.debugger; -import java.net.URI; import java.util.Objects; public final class SetBreakpointByUrlRequest { private int lineNumber; - private URI url; + private String url; private String urlRegex; private String scriptHash; private Integer columnNumber; @@ -49,14 +48,14 @@ public void setLineNumber(int lineNumber) { /** * URL of the resources to set breakpoint on. */ - public URI getUrl() { + public String getUrl() { return url; } /** * URL of the resources to set breakpoint on. */ - public void setUrl(URI url) { + public void setUrl(String url) { this.url = url; } diff --git a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/runtime/CallFrame.java b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/runtime/CallFrame.java index 6981656b9b07..58c55a26c086 100644 --- a/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/runtime/CallFrame.java +++ b/webcommon/lib.chrome_devtools_protocol/src/org/netbeans/lib/chrome_devtools_protocol/runtime/CallFrame.java @@ -18,7 +18,6 @@ */ package org.netbeans.lib.chrome_devtools_protocol.runtime; -import java.net.URI; import java.util.Objects; /** @@ -27,7 +26,7 @@ public final class CallFrame { private String functionName; private String scriptId; - private URI url; + private String url; private int lineNumber; private int columnNumber; @@ -65,14 +64,14 @@ public void setScriptId(String scriptId) { /** * JavaScript script name or url. */ - public URI getUrl() { + public String getUrl() { return url; } /** * JavaScript script name or url. */ - public void setUrl(URI url) { + public void setUrl(String url) { this.url = url; } diff --git a/webcommon/lib.chrome_devtools_protocol/test/unit/src/TestEndpointList.java b/webcommon/lib.chrome_devtools_protocol/test/unit/src/TestEndpointList.java index b3c0308f4cdc..18fe4dca1e4c 100644 --- a/webcommon/lib.chrome_devtools_protocol/test/unit/src/TestEndpointList.java +++ b/webcommon/lib.chrome_devtools_protocol/test/unit/src/TestEndpointList.java @@ -33,6 +33,8 @@ import org.netbeans.lib.chrome_devtools_protocol.debugger.CallFrame; import org.netbeans.lib.chrome_devtools_protocol.debugger.DisableRequest; import org.netbeans.lib.chrome_devtools_protocol.debugger.EnableRequest; +import org.netbeans.lib.chrome_devtools_protocol.debugger.GetScriptSourceRequest; +import org.netbeans.lib.chrome_devtools_protocol.debugger.SetBreakpointByUrlRequest; import org.netbeans.lib.chrome_devtools_protocol.json.Endpoint; import static org.netbeans.lib.chrome_devtools_protocol.CDTUtil.toNodeUrl; @@ -47,42 +49,56 @@ public static void main(String[] args) throws Exception { h.setLevel(Level.ALL); } Logger.getLogger(ChromeDevToolsClient.class.getName()).setLevel(Level.FINE); - Endpoint[] eps = ChromeDevToolsClient.listEndpoints("127.0.0.1", 9292); + Endpoint[] eps = ChromeDevToolsClient.listEndpoints("192.168.101.202", 8888); try(ChromeDevToolsClient cdtc = new ChromeDevToolsClient(eps[0].getWebSocketDebuggerUrl())) { cdtc.connect(); DebuggerDomain dbg = cdtc.getDebugger(); RuntimeDomain rt = cdtc.getRuntime(); -// dbg.onScriptParsed(sp -> { -// if (sp.getUrl().getPath().endsWith("/main.js")) { -// GetScriptSourceRequest req = new GetScriptSourceRequest(); -// req.setScriptId(sp.getScriptId()); -// dbg.getScriptSource(req).handle((res, thr) -> { -// System.out.printf("############# %s\t%s%n", sp.getScriptId(), sp.getUrl()); -// if (thr != null) { -// System.out.println("FAILED: " + thr.getMessage()); -// } else { -// System.out.println(res.getScriptSource()); -// } -// return null; -// }); -// } -// }); -// dbg.onPaused(p -> { -// System.out.printf("+ %s%n", p.getReason()); -// }); - - List[] callFrames = new List[1]; + dbg.onScriptParsed(sp -> { + if (sp.getUrl().endsWith("/main.js")) { + GetScriptSourceRequest req = new GetScriptSourceRequest(); + req.setScriptId(sp.getScriptId()); + dbg.getScriptSource(req).handle((res, thr) -> { + System.out.printf("############# %s\t%s%n", sp.getScriptId(), sp.getUrl()); + if (thr != null) { + System.out.println("FAILED: " + thr.getMessage()); + } else { + System.out.println(res.getScriptSource()); + } + return null; + }); + } + }); dbg.onPaused(p -> { - callFrames[0] = p.getCallFrames(); + System.out.printf("+ %s%n", p.getReason()); }); - File file = new File("/home/matthias/tmp/NodeJsApplication/main.js"); - URI fileUri = toNodeUrl(file.toURI()); +// List[] callFrames = new List[1]; +// dbg.onPaused(p -> { +// callFrames[0] = p.getCallFrames(); +// }); + +// File file = new File("/home/matthias/tmp/NodeJsApplication/main.js"); +// URI fileUri = toNodeUrl(file.toURI()); CountDownLatch cdl = new CountDownLatch(1); CompletableFuture.completedStage(null) .thenCompose((x) -> dbg.enable(new EnableRequest())) + .thenCompose((x) -> { + SetBreakpointByUrlRequest sbbur = new SetBreakpointByUrlRequest(); +// sbbur.setUrl(URI.create("file:///C:/Temp/NodeJsApplication/main.js")); +// sbbur.setUrl(URI.create("file:///C:/Temp/NodeJsApplication/main.js")); + sbbur.setUrlRegex(".*main\\.js"); + sbbur.setLineNumber(1); + return dbg.setBreakpointByUrl(sbbur); + }) + .thenCompose((x) -> { + SetBreakpointByUrlRequest sbbur = new SetBreakpointByUrlRequest(); + sbbur.setUrl("evalmachine."); + sbbur.setLineNumber(0); + return dbg.setBreakpointByUrl(sbbur); + }) // .thenCompose((er) -> { // SetBreakpointByUrlRequest bbur = new SetBreakpointByUrlRequest(); // bbur.setUrl(fileUri); @@ -92,9 +108,9 @@ public static void main(String[] args) throws Exception { // }) .thenCompose((bbur) -> cdtc.getRuntime().runIfWaitingForDebugger()) .thenCompose((bbur) -> delay(5, TimeUnit.SECONDS)) - .thenCompose((bbur) -> cdtc.getDebugger().resume(null)) - .thenCompose((bbur) -> delay(5, TimeUnit.SECONDS)) - .thenCompose((bbur) -> cdtc.getDebugger().disable(new DisableRequest())) +// .thenCompose((bbur) -> cdtc.getDebugger().resume(null)) +// .thenCompose((bbur) -> delay(5, TimeUnit.SECONDS)) +// .thenCompose((bbur) -> cdtc.getDebugger().disable(new DisableRequest())) // .thenCompose((res) -> { // return cdtc.getDebugger().evaluateOnCallFrame(new EvaluateOnCallFrameRequest(callFrames[0].get(0).getCallFrameId(), "a")); // }) @@ -125,12 +141,18 @@ public static void main(String[] args) throws Exception { // .thenCompose((res) -> { // return CompletableFuture.completedFuture(null); // }) -// .thenCompose((bbur) -> { -// return cdtc.getDebugger().resume(null); -// }) -// .thenCompose((res) -> { -// return delay(5, TimeUnit.SECONDS); -// }) + .thenCompose((bbur) -> { + return cdtc.getDebugger().resume(null); + }) + .thenCompose((res) -> { + return delay(5, TimeUnit.SECONDS); + }) + .thenCompose((bbur) -> { + return cdtc.getDebugger().resume(null); + }) + .thenCompose((res) -> { + return delay(20, TimeUnit.SECONDS); + }) // .thenCompose((bbur) -> { // return cdtc.getDebugger().resume(null); // }) From 1afa1a7872d7d2ff20ef3e74caad0f6cca1f04e9 Mon Sep 17 00:00:00 2001 From: Tobias Warneke Date: Mon, 21 Oct 2024 23:21:48 +0200 Subject: [PATCH 38/94] fixes #7879 - config set schema command for postgresql --- ide/db/libsrc/org/netbeans/lib/ddl/resources/dbspec.plist | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ide/db/libsrc/org/netbeans/lib/ddl/resources/dbspec.plist b/ide/db/libsrc/org/netbeans/lib/ddl/resources/dbspec.plist index e97321fc7031..dd23617e4dac 100644 --- a/ide/db/libsrc/org/netbeans/lib/ddl/resources/dbspec.plist +++ b/ide/db/libsrc/org/netbeans/lib/ddl/resources/dbspec.plist @@ -1798,6 +1798,12 @@ Format = "drop index {object.name}"; }; + SetDefaultSchemaCommand = { + Class = org.netbeans.lib.ddl.impl.SetDefaultSchema; + Format = "set search_path to {schemaName}"; + Supported = true; + }; + }; // ******************************************************************************** From 513ed15e9bab81498c04a1aef067dc5a51089928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Fri, 1 Nov 2024 23:19:35 +0100 Subject: [PATCH 39/94] Support source archives with multiple modules The OpenJFX SDK and OpenJDK itself provide src.zip files, where the source is not located at the toplevel directory, but an intermediate level with one folder per module is used. Closes: #7888 --- .../libraries/J2SEVolumeCustomizer.form | 2 +- .../libraries/J2SEVolumeCustomizer.java | 25 +++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/libraries/J2SEVolumeCustomizer.form b/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/libraries/J2SEVolumeCustomizer.form index 0ef9a6b1c696..7b174977bb5f 100644 --- a/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/libraries/J2SEVolumeCustomizer.form +++ b/java/java.j2seplatform/src/org/netbeans/modules/java/j2seplatform/libraries/J2SEVolumeCustomizer.form @@ -1,4 +1,4 @@ - + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ide/db.sql.editor/src/org/netbeans/modules/db/sql/editor/ui/options/CodeCompletionPanel.java b/ide/db.sql.editor/src/org/netbeans/modules/db/sql/editor/ui/options/CodeCompletionPanel.java new file mode 100644 index 000000000000..dd52e5c96fd0 --- /dev/null +++ b/ide/db.sql.editor/src/org/netbeans/modules/db/sql/editor/ui/options/CodeCompletionPanel.java @@ -0,0 +1,146 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.netbeans.modules.db.sql.editor.ui.options; + +import java.util.HashMap; +import java.util.Map; +import java.util.prefs.Preferences; +import javax.swing.JComponent; +import org.netbeans.modules.options.editor.spi.PreferencesCustomizer; +import org.openide.util.HelpCtx; + +import static org.netbeans.modules.db.sql.editor.OptionsUtils.SQL_AUTO_COMPLETION_SUBWORDS; +import static org.netbeans.modules.db.sql.editor.OptionsUtils.SQL_AUTO_COMPLETION_SUBWORDS_DEFAULT; + +public class CodeCompletionPanel extends javax.swing.JPanel { + private final Preferences preferences; + + private final Map id2Saved = new HashMap<>(); + + /** Creates new form FmtTabsIndents */ + @SuppressWarnings("this-escape") + public CodeCompletionPanel(Preferences p) { + initComponents(); + preferences = p; + sqlAutoCompletionSubwords.setSelected(preferences.getBoolean(SQL_AUTO_COMPLETION_SUBWORDS, SQL_AUTO_COMPLETION_SUBWORDS_DEFAULT)); + + id2Saved.put(SQL_AUTO_COMPLETION_SUBWORDS, sqlAutoCompletionSubwords.isSelected()); + } + + public static PreferencesCustomizer.Factory getCustomizerFactory() { + return CodeCompletionPreferencesCustomizer::new; + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + java.awt.GridBagConstraints gridBagConstraints; + + sqlAutoCompletionSubwords = new javax.swing.JCheckBox(); + filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 32767)); + + setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + setLayout(new java.awt.GridBagLayout()); + + org.openide.awt.Mnemonics.setLocalizedText(sqlAutoCompletionSubwords, org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.sqlAutoCompletionSubwords.text")); // NOI18N + sqlAutoCompletionSubwords.setToolTipText(org.openide.util.NbBundle.getMessage(CodeCompletionPanel.class, "CodeCompletionPanel.sqlAutoCompletionSubwords.toolTipText")); // NOI18N + sqlAutoCompletionSubwords.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + sqlAutoCompletionSubwordsActionPerformed(evt); + } + }); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 0; + gridBagConstraints.gridy = 0; + gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; + gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); + add(sqlAutoCompletionSubwords, gridBagConstraints); + gridBagConstraints = new java.awt.GridBagConstraints(); + gridBagConstraints.gridx = 1; + gridBagConstraints.gridy = 1; + gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; + gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.weightx = 1.0; + gridBagConstraints.weighty = 1.0; + add(filler1, gridBagConstraints); + }// //GEN-END:initComponents + + private void sqlAutoCompletionSubwordsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_sqlAutoCompletionSubwordsActionPerformed + preferences.putBoolean(SQL_AUTO_COMPLETION_SUBWORDS, sqlAutoCompletionSubwords.isSelected()); + }//GEN-LAST:event_sqlAutoCompletionSubwordsActionPerformed + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.Box.Filler filler1; + private javax.swing.JCheckBox sqlAutoCompletionSubwords; + // End of variables declaration//GEN-END:variables + + private static class CodeCompletionPreferencesCustomizer implements PreferencesCustomizer { + + private final Preferences preferences; + private CodeCompletionPanel component; + + private CodeCompletionPreferencesCustomizer(Preferences p) { + preferences = p; + } + + @Override + public String getId() { + throw new UnsupportedOperationException("Not supported yet."); //NOI18N + } + + @Override + public String getDisplayName() { + throw new UnsupportedOperationException("Not supported yet."); //NOI18N + } + + @Override + public HelpCtx getHelpCtx() { + return new HelpCtx("netbeans.optionsDialog.editor.codeCompletion.sql"); //NOI18N + } + + @Override + public JComponent getComponent() { + if (component == null) { + component = new CodeCompletionPanel(preferences); + } + return component; + } + } + + String getSavedValue(String key) { + return id2Saved.get(key).toString(); + } + + public static final class CustomCustomizerImpl extends PreferencesCustomizer.CustomCustomizer { + + @Override + public String getSavedValue(PreferencesCustomizer customCustomizer, String key) { + if (customCustomizer instanceof CodeCompletionPreferencesCustomizer) { + return ((CodeCompletionPanel) customCustomizer.getComponent()).getSavedValue(key); + } + return null; + } + } +} diff --git a/ide/options.editor/manifest.mf b/ide/options.editor/manifest.mf index 285ed895e6df..61e56f39824f 100644 --- a/ide/options.editor/manifest.mf +++ b/ide/options.editor/manifest.mf @@ -2,6 +2,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.options.editor/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/options/editor/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/options/editor/mf-layer.xml -OpenIDE-Module-Specification-Version: 1.87 +OpenIDE-Module-Specification-Version: 1.88 AutoUpdate-Show-In-Client: false diff --git a/ide/options.editor/nbproject/project.xml b/ide/options.editor/nbproject/project.xml index 2ba0ae7734ab..917da4fb1353 100644 --- a/ide/options.editor/nbproject/project.xml +++ b/ide/options.editor/nbproject/project.xml @@ -353,6 +353,7 @@ org.netbeans.modules.cnd.completion org.netbeans.modules.cnd.editor org.netbeans.modules.csl.api + org.netbeans.modules.db.sql.editor org.netbeans.modules.diff org.netbeans.modules.editor.indent.project org.netbeans.modules.groovy.grailsproject From 206da8ef3cedde2740eedcfe55a6a14a3ed09196 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 10 Nov 2024 14:28:52 +0100 Subject: [PATCH 45/94] OutputWindow: text selection can start at index 0. --- .../src/org/netbeans/core/output2/ui/AbstractOutputPane.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/core.output2/src/org/netbeans/core/output2/ui/AbstractOutputPane.java b/platform/core.output2/src/org/netbeans/core/output2/ui/AbstractOutputPane.java index 918e473ab39f..06b715d24e04 100644 --- a/platform/core.output2/src/org/netbeans/core/output2/ui/AbstractOutputPane.java +++ b/platform/core.output2/src/org/netbeans/core/output2/ui/AbstractOutputPane.java @@ -198,7 +198,7 @@ public String getSelectedText() { int start = getSelectionStart(); int end = getSelectionEnd(); String str = null; - if (start > 0 && end > start) { + if (start >= 0 && end > start) { try { str = getDocument().getText(start, end - start); } catch (BadLocationException ex) { From 95a4c42b0d6db5205335441495ccabe473089f4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Thu, 7 Nov 2024 20:57:32 +0100 Subject: [PATCH 46/94] Fix java/j2ee.persistence test and add it to build pipeline --- .github/workflows/main.yml | 3 +++ .../modules/j2ee/persistence/provider/ProviderUtilTest.java | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0adda3250366..8144307b8d41 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2000,6 +2000,9 @@ jobs: # - name: j2ee.ejbverification # run: ant $OPTS -f enterprise/j2ee.ejbverification test + - name: j2ee.persistence + run: ant $OPTS -f java/j2ee.persistence test + # Fails # - name: j2eeserver # run: ant $OPTS -f enterprise/j2eeserver test diff --git a/java/j2ee.persistence/test/unit/src/org/netbeans/modules/j2ee/persistence/provider/ProviderUtilTest.java b/java/j2ee.persistence/test/unit/src/org/netbeans/modules/j2ee/persistence/provider/ProviderUtilTest.java index 88243daab223..6dba6d6419da 100644 --- a/java/j2ee.persistence/test/unit/src/org/netbeans/modules/j2ee/persistence/provider/ProviderUtilTest.java +++ b/java/j2ee.persistence/test/unit/src/org/netbeans/modules/j2ee/persistence/provider/ProviderUtilTest.java @@ -246,7 +246,7 @@ public void testSetProvider4(){ public void testGetProvider5() { persistenceUnit5.setProvider(ProviderUtil.DATANUCLEUS_PROVIDER3_0.getProviderClass()); - assertEquals(ProviderUtil.ECLIPSELINK_PROVIDER2_2, ProviderUtil.getProvider(persistenceUnit5)); + assertEquals(ProviderUtil.DATANUCLEUS_PROVIDER3_0, ProviderUtil.getProvider(persistenceUnit5)); } public void testSetProvider5(){ @@ -260,7 +260,7 @@ public void testSetProvider5(){ public void testGetProvider6() { persistenceUnit6.setProvider(ProviderUtil.ECLIPSELINK_PROVIDER3_1.getProviderClass()); - assertEquals(ProviderUtil.ECLIPSELINK_PROVIDER3_1, ProviderUtil.getProvider(persistenceUnit4)); + assertEquals(ProviderUtil.ECLIPSELINK_PROVIDER3_1, ProviderUtil.getProvider(persistenceUnit6)); } public void testSetProvider6(){ From a4eeab9009f60fe51195284c855ec67a70a9e736 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Fri, 15 Nov 2024 12:31:47 +0100 Subject: [PATCH 47/94] Remove unnecessary continue/return hint should handle rule cases and switch expressions. --- .../java/hints/control/RemoveUnnecessary.java | 43 +++++++++---- .../hints/control/RemoveUnnecessaryTest.java | 60 +++++++++++++++++++ 2 files changed, 90 insertions(+), 13 deletions(-) diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java b/java/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java index 61604dbfdb55..181cbc0e1720 100644 --- a/java/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java +++ b/java/java.hints/src/org/netbeans/modules/java/hints/control/RemoveUnnecessary.java @@ -143,21 +143,38 @@ private static ErrorDescription unnecessaryReturnContinue(HintContext ctx, Tree } case BLOCK: statements = ((BlockTree) tp.getLeaf()).getStatements(); break; case CASE: { - if (tp.getParentPath().getLeaf().getKind() == Kind.SWITCH) { - List cases = ((SwitchTree) tp.getParentPath().getLeaf()).getCases(); - List locStatements = new ArrayList<>(); - - for (int i = cases.indexOf(tp.getLeaf()); i < cases.size(); i++) { - List list = cases.get(i).getStatements(); - if (list != null) { - locStatements.addAll(list); + switch (tp.getParentPath().getLeaf().getKind()) { + case SWITCH -> { + CaseTree ct = (CaseTree) tp.getLeaf(); + if (ct.getCaseKind() == CaseTree.CaseKind.RULE) { + if (ExpressionTree.class.isAssignableFrom(ct.getBody().getKind().asInterface())) { + //TODO: anything that can be done here? + return null; + } else { + statements = List.of((StatementTree) ct.getBody()); + } + } else { + List cases = ((SwitchTree) tp.getParentPath().getLeaf()).getCases(); + List locStatements = new ArrayList<>(); + + for (int i = cases.indexOf(tp.getLeaf()); i < cases.size(); i++) { + List list = cases.get(i).getStatements(); + if (list != null) { + locStatements.addAll(list); + } + } + + statements = locStatements; } } - - statements = locStatements; - } else { - //??? - statements = ((CaseTree) tp.getLeaf()).getStatements(); + case SWITCH_EXPRESSION -> { + //jumps out of switch expressions are illegal, ignore: + return null; + } + default -> { + //??? + statements = ((CaseTree) tp.getLeaf()).getStatements(); + } } break; } diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/control/RemoveUnnecessaryTest.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/control/RemoveUnnecessaryTest.java index 90f96a372c7b..294d8365fbb3 100644 --- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/control/RemoveUnnecessaryTest.java +++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/control/RemoveUnnecessaryTest.java @@ -468,4 +468,64 @@ public void testBreakWithLabelInSwitch() throws Exception { .run(RemoveUnnecessary.class) .assertWarnings(); } + + public void testRuleSwitch1() throws Exception { + HintTest.create() + .input(""" + package test; + public class Test { + public void testContinue(int i) { + switch (i) { + case 0 -> { return ; } + case 1 -> { return ; } + default -> { } + } + System.err.println("not end"); + } + } + """) + .sourceLevel("17") + .run(RemoveUnnecessary.class) + .assertWarnings(); + } + + public void testRuleSwitch2() throws Exception { + HintTest.create() + .input(""" + package test; + public class Test { + public void testContinue(int i) { + switch (i) { + case 0 -> { return ; } + case 1 -> { return ; } + default -> { } + } + } + } + """) + .sourceLevel("17") + .run(RemoveUnnecessary.class) + .assertWarnings("4:24-4:32:verifier:Unnecessary return statement", + "5:24-5:32:verifier:Unnecessary return statement"); + } + + public void testRuleSwitchExpression() throws Exception { + HintTest.create() + .input(""" + package test; + public class Test { + public int testContinue(int i) { + return switch (i) { + case 0 -> { return 0; } //illegal + case 1 -> { return 0; } //illegal + default -> -1; + }; + } + } + """, + false) + .sourceLevel("17") + .run(RemoveUnnecessary.class) + .assertWarnings(); + } } From f9540f4460191bdc17d1ddc761f4c140e170e474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Fri, 15 Nov 2024 22:01:12 +0100 Subject: [PATCH 48/94] Tabcontrol: Use NbBundle to fetch correct translation Closes: #7950 --- .../plaf/TabControlButtonFactory.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabControlButtonFactory.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabControlButtonFactory.java index e789d34765f2..d544177a3458 100644 --- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabControlButtonFactory.java +++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabControlButtonFactory.java @@ -40,6 +40,7 @@ import org.netbeans.swing.tabcontrol.WinsysInfoForTabbedContainer; import org.netbeans.swing.tabcontrol.event.TabActionEvent; import org.openide.util.ImageUtilities; +import org.openide.util.NbBundle; import org.openide.windows.WindowManager; /** @@ -115,13 +116,13 @@ public static TabControlButton createMaximizeRestoreButton( TabDisplayer display public static TabControlButton createScrollLeftButton( TabDisplayer displayer, Action scrollAction, boolean showBorder ) { TabControlButton button = new TimerButton( TabControlButton.ID_SCROLL_LEFT_BUTTON, displayer, scrollAction, showBorder ); - button.setToolTipText( java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Scroll_Documents_Left") ); + button.setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Scroll_Documents_Left") ); return button; } public static TabControlButton createScrollRightButton( TabDisplayer displayer, Action scrollAction, boolean showBorder ) { TabControlButton button = new TimerButton( TabControlButton.ID_SCROLL_RIGHT_BUTTON, displayer, scrollAction, showBorder ); - button.setToolTipText( java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Scroll_Documents_Right") ); + button.setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Scroll_Documents_Right") ); return button; } @@ -133,7 +134,7 @@ private static class CloseButton extends TabControlButton { public CloseButton( TabDisplayer displayer ) { super( TabControlButton.ID_CLOSE_BUTTON, displayer ); - setToolTipText( java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Close_Window") ); + setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Close_Window") ); } @Override @@ -150,7 +151,7 @@ private static class CloseGroupButton extends TabControlButton { public CloseGroupButton( TabDisplayer displayer ) { super( TabControlButton.ID_CLOSE_BUTTON, displayer ); - setToolTipText( java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Close_Window_Group") ); + setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Close_Window_Group") ); } @Override @@ -197,8 +198,8 @@ else if( TabDisplayer.ORIENTATION_SOUTH.equals( orientation ) ) @Override public String getToolTipText() { if( getButtonId() == TabControlButton.ID_PIN_BUTTON ) - return java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Pin"); - return java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Minimize_Window"); + return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Pin"); + return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Minimize_Window"); } @Override @@ -233,7 +234,7 @@ protected int getButtonId() { @Override public String getToolTipText() { - return java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Minimize_Window_Group"); //NOI18N + return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Minimize_Window_Group"); //NOI18N } @Override @@ -279,7 +280,7 @@ protected TabActionEvent createTabActionEvent( ActionEvent e ) { @Override public String getToolTipText() { - return java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Restore_Window_Group"); //NOI18N + return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Restore_Window_Group"); //NOI18N } /** @@ -342,8 +343,8 @@ protected int getButtonId() { @Override public String getToolTipText() { if( getButtonId() == TabControlButton.ID_MAXIMIZE_BUTTON ) - return java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Maximize_Window"); - return java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Restore_Window"); + return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Maximize_Window"); + return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Restore_Window"); } } @@ -456,7 +457,7 @@ private static class DropDownButton extends TabControlButton { public DropDownButton( TabDisplayer displayer, boolean showBorder ) { super( TabControlButton.ID_DROP_DOWN_BUTTON, displayer, showBorder ); setAction( new TabListPopupAction( displayer ) ); - setToolTipText( java.util.ResourceBundle.getBundle("org/netbeans/swing/tabcontrol/plaf/Bundle").getString("Tip_Show_Opened_Documents_List") ); + setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Show_Opened_Documents_List") ); } @Override From e8d058f1b52dae8be9966704542a39f5efca185b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Fri, 15 Nov 2024 22:10:00 +0100 Subject: [PATCH 49/94] Tabcontrol: Cleanup NetBeans warnings and formatting --- .../plaf/TabControlButtonFactory.java | 350 ++++++++++-------- 1 file changed, 189 insertions(+), 161 deletions(-) diff --git a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabControlButtonFactory.java b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabControlButtonFactory.java index d544177a3458..2036097784f8 100644 --- a/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabControlButtonFactory.java +++ b/platform/o.n.swing.tabcontrol/src/org/netbeans/swing/tabcontrol/plaf/TabControlButtonFactory.java @@ -16,7 +16,6 @@ * specific language governing permissions and limitations * under the License. */ - package org.netbeans.swing.tabcontrol.plaf; import java.awt.Component; @@ -45,185 +44,207 @@ /** * A factory to create tab control buttons. - * + * * @since 1.9 * @author S. Aubrecht */ public class TabControlButtonFactory { - + private TabControlButtonFactory() { } - - public static Icon getIcon( String iconPath ) { - Icon res = ImageUtilities.loadImageIcon( iconPath, true ); - if( null == res ) { - Logger.getLogger( TabControlButtonFactory.class.getName() ).log( Level.INFO, "Cannot find button icon: " + iconPath ); + + public static Icon getIcon(String iconPath) { + Icon res = ImageUtilities.loadImageIcon(iconPath, true); + if (null == res) { + Logger.getLogger(TabControlButtonFactory.class.getName()).log(Level.INFO, "Cannot find button icon: {0}", iconPath); } return res; } - + /** * Create default close button. + * + * @param displayer + * @return */ - public static TabControlButton createCloseButton( TabDisplayer displayer ) { - return new CloseButton( displayer ); + public static TabControlButton createCloseButton(TabDisplayer displayer) { + return new CloseButton(displayer); } - + /** * Create button to close the whole window group. + * + * @param displayer + * @return * @since 1.27 */ - public static TabControlButton createCloseGroupButton( TabDisplayer displayer ) { - return new CloseGroupButton( displayer ); + public static TabControlButton createCloseGroupButton(TabDisplayer displayer) { + return new CloseGroupButton(displayer); } - + /** - * Create default auto-hide/pin button. The button changes icons depending + * Create default auto-hide/pin button.The button changes icons depending * on the state of tab component. + * + * @param displayer + * @return */ - public static TabControlButton createSlidePinButton( TabDisplayer displayer ) { - return new SlidePinButton( displayer ); + public static TabControlButton createSlidePinButton(TabDisplayer displayer) { + return new SlidePinButton(displayer); } - + /** * Create default minimize window group button. + * + * @param displayer + * @return * @since 1.27 */ - public static TabControlButton createSlideGroupButton( TabDisplayer displayer ) { - return new SlideGroupButton( displayer ); + public static TabControlButton createSlideGroupButton(TabDisplayer displayer) { + return new SlideGroupButton(displayer); } - + /** * Create button to restore a group of windows from minimized state. - * @param displayer - * @param groupName Name of the group of windows to un-minimize. When the default - * window system implementation is being used then the group name is the name + * + * @param displayer + * @param groupName Name of the group of windows to un-minimize. When the + * default + * window system implementation is being used then the group name is the + * name * of TopComponent Mode. - * @see org.openide.windows.Mode#getName() + * @return + * @see org.openide.windows.Mode#getName() * @since 1.27 */ - public static TabControlButton createRestoreGroupButton( TabDisplayer displayer, String groupName ) { - return new RestoreGroupButton( displayer, groupName ); + public static TabControlButton createRestoreGroupButton(TabDisplayer displayer, String groupName) { + return new RestoreGroupButton(displayer, groupName); } - + /** - * Create default maximize/restore button. The button changes icons depending + * Create default maximize/restore button.The button changes icons depending * on the state of tab component. + * + * @param displayer + * @param showBorder + * @return */ - public static TabControlButton createMaximizeRestoreButton( TabDisplayer displayer, boolean showBorder ) { - return new MaximizeRestoreButton( displayer, showBorder ); + public static TabControlButton createMaximizeRestoreButton(TabDisplayer displayer, boolean showBorder) { + return new MaximizeRestoreButton(displayer, showBorder); } - - public static TabControlButton createScrollLeftButton( TabDisplayer displayer, Action scrollAction, boolean showBorder ) { - TabControlButton button = new TimerButton( TabControlButton.ID_SCROLL_LEFT_BUTTON, displayer, scrollAction, showBorder ); - button.setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Scroll_Documents_Left") ); + + public static TabControlButton createScrollLeftButton(TabDisplayer displayer, Action scrollAction, boolean showBorder) { + TabControlButton button = new TimerButton(TabControlButton.ID_SCROLL_LEFT_BUTTON, displayer, scrollAction, showBorder); + button.setToolTipText(NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Scroll_Documents_Left")); return button; } - - public static TabControlButton createScrollRightButton( TabDisplayer displayer, Action scrollAction, boolean showBorder ) { - TabControlButton button = new TimerButton( TabControlButton.ID_SCROLL_RIGHT_BUTTON, displayer, scrollAction, showBorder ); - button.setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Scroll_Documents_Right") ); + + public static TabControlButton createScrollRightButton(TabDisplayer displayer, Action scrollAction, boolean showBorder) { + TabControlButton button = new TimerButton(TabControlButton.ID_SCROLL_RIGHT_BUTTON, displayer, scrollAction, showBorder); + button.setToolTipText(NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Scroll_Documents_Right")); return button; } - - public static TabControlButton createDropDownButton( TabDisplayer displayer, boolean showBorder ) { - return new DropDownButton( displayer, showBorder ); + + public static TabControlButton createDropDownButton(TabDisplayer displayer, boolean showBorder) { + return new DropDownButton(displayer, showBorder); } - + private static class CloseButton extends TabControlButton { - - public CloseButton( TabDisplayer displayer ) { - super( TabControlButton.ID_CLOSE_BUTTON, displayer ); - setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Close_Window") ); + + @SuppressWarnings("LeakingThisInConstructor") + public CloseButton(TabDisplayer displayer) { + super(TabControlButton.ID_CLOSE_BUTTON, displayer); + setToolTipText(NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Close_Window")); } - + @Override - protected String getTabActionCommand( ActionEvent e ) { -// if( (e.getModifiers() & ActionEvent.SHIFT_MASK) > 0 ) -// return TabDisplayer.COMMAND_CLOSE_ALL; -// else if( (e.getModifiers() & ActionEvent.ALT_MASK) > 0 ) -// return TabDisplayer.COMMAND_CLOSE_ALL_BUT_THIS; + protected String getTabActionCommand(ActionEvent e) { return TabDisplayer.COMMAND_CLOSE; } } - + private static class CloseGroupButton extends TabControlButton { - - public CloseGroupButton( TabDisplayer displayer ) { - super( TabControlButton.ID_CLOSE_BUTTON, displayer ); - setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Close_Window_Group") ); + + public CloseGroupButton(TabDisplayer displayer) { + super(TabControlButton.ID_CLOSE_BUTTON, displayer); + setToolTipText(NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Close_Window_Group")); } - + @Override - protected String getTabActionCommand( ActionEvent e ) { + protected String getTabActionCommand(ActionEvent e) { return TabDisplayer.COMMAND_CLOSE_GROUP; } } - + private static class SlidePinButton extends TabControlButton { - - public SlidePinButton( TabDisplayer displayer ) { - super( displayer ); + + @SuppressWarnings("LeakingThisInConstructor") + public SlidePinButton(TabDisplayer displayer) { + super(displayer); ToolTipManager toolTipManager = ToolTipManager.sharedInstance(); - toolTipManager.registerComponent( this ); + toolTipManager.registerComponent(this); } - + @Override - protected String getTabActionCommand( ActionEvent e ) { - if( getButtonId() == TabControlButton.ID_PIN_BUTTON ) + protected String getTabActionCommand(ActionEvent e) { + if (getButtonId() == TabControlButton.ID_PIN_BUTTON) { return TabDisplayer.COMMAND_DISABLE_AUTO_HIDE; + } return TabDisplayer.COMMAND_ENABLE_AUTO_HIDE; } @Override protected int getButtonId() { int retValue = TabControlButton.ID_PIN_BUTTON; - Component currentTab = getActiveTab( getTabDisplayer() ); - if( null != currentTab ) { + Component currentTab = getActiveTab(getTabDisplayer()); + if (null != currentTab) { WinsysInfoForTabbedContainer winsysInfo = getTabDisplayer().getContainerWinsysInfo(); - if( null != winsysInfo ) { - Object orientation = winsysInfo.getOrientation( currentTab ); - if( TabDisplayer.ORIENTATION_EAST.equals( orientation ) ) + if (null != winsysInfo) { + Object orientation = winsysInfo.getOrientation(currentTab); + if (TabDisplayer.ORIENTATION_EAST.equals(orientation)) { retValue = TabControlButton.ID_SLIDE_RIGHT_BUTTON; - else if( TabDisplayer.ORIENTATION_WEST.equals( orientation ) ) + } else if (TabDisplayer.ORIENTATION_WEST.equals(orientation)) { retValue = TabControlButton.ID_SLIDE_LEFT_BUTTON; - else if( TabDisplayer.ORIENTATION_SOUTH.equals( orientation ) ) + } else if (TabDisplayer.ORIENTATION_SOUTH.equals(orientation)) { retValue = TabControlButton.ID_SLIDE_DOWN_BUTTON; + } } } - + return retValue; } @Override public String getToolTipText() { - if( getButtonId() == TabControlButton.ID_PIN_BUTTON ) - return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Pin"); - return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Minimize_Window"); + if (getButtonId() == TabControlButton.ID_PIN_BUTTON) { + return NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Pin"); + } + return NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Minimize_Window"); } - + @Override public void addNotify() { super.addNotify(); //#205194 - cannot minimize floating tab - Window w = SwingUtilities.getWindowAncestor( displayer ); + Window w = SwingUtilities.getWindowAncestor(displayer); boolean isFloating = w != WindowManager.getDefault().getMainWindow(); - if( isFloating ) - setVisible( false ); + if (isFloating) { + setVisible(false); + } } } - - + private static class SlideGroupButton extends TabControlButton { - - public SlideGroupButton( TabDisplayer displayer ) { - super( displayer ); + + @SuppressWarnings("LeakingThisInConstructor") + public SlideGroupButton(TabDisplayer displayer) { + super(displayer); ToolTipManager toolTipManager = ToolTipManager.sharedInstance(); - toolTipManager.registerComponent( this ); + toolTipManager.registerComponent(this); } - + @Override - protected String getTabActionCommand( ActionEvent e ) { + protected String getTabActionCommand(ActionEvent e) { return TabDisplayer.COMMAND_MINIMIZE_GROUP; } @@ -234,35 +255,37 @@ protected int getButtonId() { @Override public String getToolTipText() { - return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Minimize_Window_Group"); //NOI18N + return NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Minimize_Window_Group"); //NOI18N } - + @Override public void addNotify() { super.addNotify(); //#205194 - cannot minimize floating tab group - Window w = SwingUtilities.getWindowAncestor( displayer ); + Window w = SwingUtilities.getWindowAncestor(displayer); boolean isFloating = w != WindowManager.getDefault().getMainWindow(); - if( isFloating ) - setVisible( false ); + if (isFloating) { + setVisible(false); + } } } - + private static class RestoreGroupButton extends TabControlButton { - + private final String groupName; private static boolean useCustomUI = true; - - public RestoreGroupButton( TabDisplayer displayer, String groupName ) { - super( displayer ); + + @SuppressWarnings("LeakingThisInConstructor") + public RestoreGroupButton(TabDisplayer displayer, String groupName) { + super(displayer); assert null != groupName; this.groupName = groupName; ToolTipManager toolTipManager = ToolTipManager.sharedInstance(); - toolTipManager.registerComponent( this ); + toolTipManager.registerComponent(this); } - + @Override - protected String getTabActionCommand( ActionEvent e ) { + protected String getTabActionCommand(ActionEvent e) { return TabDisplayer.COMMAND_RESTORE_GROUP; } @@ -272,38 +295,38 @@ protected int getButtonId() { } @Override - protected TabActionEvent createTabActionEvent( ActionEvent e ) { - TabActionEvent res = super.createTabActionEvent( e ); - res.setGroupName( groupName ); + protected TabActionEvent createTabActionEvent(ActionEvent e) { + TabActionEvent res = super.createTabActionEvent(e); + res.setGroupName(groupName); return res; } @Override public String getToolTipText() { - return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Restore_Window_Group"); //NOI18N + return NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Restore_Window_Group"); //NOI18N } /** * @since 1.28 - * @return + * @return */ @Override public String getUIClassID() { return useCustomUI ? "RestoreGroupButtonUI" : super.getUIClassID(); //NOI18N } - + /** * @since 1.28 */ @Override - public void updateUI () { + public void updateUI() { ButtonUI customUI = null; - Class uiClass = UIManager.getDefaults().getUIClass( getUIClassID() ); - if( null != uiClass ) { - customUI = (ButtonUI)UIManager.getUI(this); + Class uiClass = UIManager.getDefaults().getUIClass(getUIClassID()); + if (null != uiClass) { + customUI = (ButtonUI) UIManager.getUI(this); } if (customUI != null) { - setUI (customUI); + setUI(customUI); } else { useCustomUI = false; super.updateUI(); @@ -312,64 +335,67 @@ public void updateUI () { } private static class MaximizeRestoreButton extends TabControlButton { - - public MaximizeRestoreButton( TabDisplayer displayer, boolean showBorder ) { - super( -1, displayer, showBorder ); + + @SuppressWarnings("LeakingThisInConstructor") + public MaximizeRestoreButton(TabDisplayer displayer, boolean showBorder) { + super(-1, displayer, showBorder); ToolTipManager toolTipManager = ToolTipManager.sharedInstance(); - toolTipManager.registerComponent( this ); + toolTipManager.registerComponent(this); } - + @Override - protected String getTabActionCommand( ActionEvent e ) { + protected String getTabActionCommand(ActionEvent e) { return TabDisplayer.COMMAND_MAXIMIZE; } @Override protected int getButtonId() { int retValue = TabControlButton.ID_MAXIMIZE_BUTTON; - Component currentTab = getActiveTab( getTabDisplayer() ); - if( null != currentTab ) { + Component currentTab = getActiveTab(getTabDisplayer()); + if (null != currentTab) { WinsysInfoForTabbedContainer winsysInfo = getTabDisplayer().getContainerWinsysInfo(); - if( null != winsysInfo ) { - if( winsysInfo.inMaximizedMode( currentTab ) ) { + if (null != winsysInfo) { + if (winsysInfo.inMaximizedMode(currentTab)) { retValue = TabControlButton.ID_RESTORE_BUTTON; } } } - + return retValue; } @Override public String getToolTipText() { - if( getButtonId() == TabControlButton.ID_MAXIMIZE_BUTTON ) - return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Maximize_Window"); - return NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Restore_Window"); + if (getButtonId() == TabControlButton.ID_MAXIMIZE_BUTTON) { + return NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Maximize_Window"); + } + return NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Restore_Window"); } } - private static Component getActiveTab( TabDisplayer displayer ) { + private static Component getActiveTab(TabDisplayer displayer) { Component res = null; int selIndex = displayer.getSelectionModel().getSelectedIndex(); - if( selIndex >= 0 ) { - TabData tab = displayer.getModel().getTab( selIndex ); + if (selIndex >= 0) { + TabData tab = displayer.getModel().getTab(selIndex); res = tab.getComponent(); } return res; } - - /** + /** * A convenience button class which will continue re-firing its action - * on a timer for as long as the button is depressed. Used for left-right scroll + * on a timer for as long as the button is depressed. Used for left-right + * scroll * buttons. */ private static class TimerButton extends TabControlButton implements ActionListener { + Timer timer = null; - public TimerButton( int buttonId, TabDisplayer displayer, Action a, boolean showBorder ) { - super( buttonId, displayer, showBorder ); - setAction( a ); + public TimerButton(int buttonId, TabDisplayer displayer, Action a, boolean showBorder) { + super(buttonId, displayer, showBorder); + setAction(a); } private Timer getTimer() { @@ -383,7 +409,7 @@ private Timer getTimer() { int count = 0; @Override - public void actionPerformed( ActionEvent e ) { + public void actionPerformed(ActionEvent e) { count++; if (count > 2) { if (count > 5) { @@ -401,8 +427,8 @@ private void performAction() { return; } getAction().actionPerformed(new ActionEvent(this, - ActionEvent.ACTION_PERFORMED, - getActionCommand())); + ActionEvent.ACTION_PERFORMED, + getActionCommand())); } private void startTimer() { @@ -425,9 +451,9 @@ private void stopTimer() { @Override protected void processMouseEvent(MouseEvent me) { - if (isEnabled() && me.getID() == me.MOUSE_PRESSED) { + if (isEnabled() && me.getID() == MouseEvent.MOUSE_PRESSED) { startTimer(); - } else if (me.getID() == me.MOUSE_RELEASED) { + } else if (me.getID() == MouseEvent.MOUSE_RELEASED) { stopTimer(); } super.processMouseEvent(me); @@ -436,7 +462,7 @@ protected void processMouseEvent(MouseEvent me) { @Override protected void processFocusEvent(FocusEvent fe) { super.processFocusEvent(fe); - if (fe.getID() == fe.FOCUS_LOST) { + if (fe.getID() == FocusEvent.FOCUS_LOST) { stopTimer(); } } @@ -451,25 +477,25 @@ protected String getTabActionCommand(ActionEvent e) { * A button for editor tab control to show a list of opened documents. */ private static class DropDownButton extends TabControlButton { - + private boolean forcePressedIcon = false; - - public DropDownButton( TabDisplayer displayer, boolean showBorder ) { - super( TabControlButton.ID_DROP_DOWN_BUTTON, displayer, showBorder ); - setAction( new TabListPopupAction( displayer ) ); - setToolTipText( NbBundle.getBundle(TabControlButtonFactory.class).getString("Tip_Show_Opened_Documents_List") ); + + public DropDownButton(TabDisplayer displayer, boolean showBorder) { + super(TabControlButton.ID_DROP_DOWN_BUTTON, displayer, showBorder); + setAction(new TabListPopupAction(displayer)); + setToolTipText(NbBundle.getMessage(TabControlButtonFactory.class, "Tip_Show_Opened_Documents_List")); } @Override protected void processMouseEvent(MouseEvent me) { super.processMouseEvent(me); - if (isEnabled() && me.getID() == me.MOUSE_PRESSED) { + if (isEnabled() && me.getID() == MouseEvent.MOUSE_PRESSED) { forcePressedIcon = true; repaint(); getAction().actionPerformed(new ActionEvent(this, - ActionEvent.ACTION_PERFORMED, - "pressed")); - } else if (isEnabled() && me.getID() == me.MOUSE_RELEASED) { + ActionEvent.ACTION_PERFORMED, + "pressed")); + } else if (isEnabled() && me.getID() == MouseEvent.MOUSE_RELEASED) { forcePressedIcon = false; repaint(); } @@ -479,24 +505,26 @@ protected void processMouseEvent(MouseEvent me) { protected String getTabActionCommand(ActionEvent e) { return null; } - + @Override - void performAction( ActionEvent e ) { + void performAction(ActionEvent e) { } @Override public Icon getRolloverIcon() { - if( forcePressedIcon ) + if (forcePressedIcon) { return getPressedIcon(); - + } + return super.getRolloverIcon(); } @Override public Icon getIcon() { - if( forcePressedIcon ) + if (forcePressedIcon) { return getPressedIcon(); - + } + return super.getIcon(); } } From 12719ec2353f518cb4c0eb8e8b858989fd9cd598 Mon Sep 17 00:00:00 2001 From: Eirik Bakke Date: Thu, 7 Nov 2024 14:02:16 -0500 Subject: [PATCH 50/94] Switch SVG loading from the Batik library to JSVG. --- nbbuild/cluster.properties | 1 + nbbuild/licenses/MIT-jsvg | 21 +++ nbbuild/licenses/names.properties | 1 + platform/libs.jsvg/build.xml | 29 ++++ platform/libs.jsvg/external/binaries-list | 18 ++ .../libs.jsvg/external/jsvg-1.6.1-license.txt | 29 ++++ platform/libs.jsvg/manifest.mf | 5 + .../libs.jsvg/nbproject/project.properties | 26 +++ platform/libs.jsvg/nbproject/project.xml | 64 ++++++++ .../org/netbeans/libs/jsvg/Bundle.properties | 22 +++ .../openide.util.ui.svg/nbproject/project.xml | 2 +- .../util/svg/DenyingElementLoader.java | 59 +++++++ .../src/org/openide/util/svg/SVGIcon.java | 154 +++++++++--------- .../openide/util/svg/SVGLoaderImplTest.java | 16 +- .../openide/util/svg/externalImageHref.svg | 26 +++ .../util/svg/externalImageHrefXLink.svg | 26 +++ 16 files changed, 422 insertions(+), 77 deletions(-) create mode 100644 nbbuild/licenses/MIT-jsvg create mode 100644 platform/libs.jsvg/build.xml create mode 100644 platform/libs.jsvg/external/binaries-list create mode 100644 platform/libs.jsvg/external/jsvg-1.6.1-license.txt create mode 100644 platform/libs.jsvg/manifest.mf create mode 100644 platform/libs.jsvg/nbproject/project.properties create mode 100644 platform/libs.jsvg/nbproject/project.xml create mode 100644 platform/libs.jsvg/src/org/netbeans/libs/jsvg/Bundle.properties create mode 100644 platform/openide.util.ui.svg/src/org/openide/util/svg/DenyingElementLoader.java create mode 100644 platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/externalImageHref.svg create mode 100644 platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/externalImageHrefXLink.svg diff --git a/nbbuild/cluster.properties b/nbbuild/cluster.properties index c850dcd0db19..b9a79066f948 100644 --- a/nbbuild/cluster.properties +++ b/nbbuild/cluster.properties @@ -189,6 +189,7 @@ nb.cluster.platform=\ libs.jna,\ libs.jna.platform,\ libs.jsr223,\ + libs.jsvg,\ libs.junit4,\ libs.junit5,\ libs.osgi,\ diff --git a/nbbuild/licenses/MIT-jsvg b/nbbuild/licenses/MIT-jsvg new file mode 100644 index 000000000000..f3a3d71f2de5 --- /dev/null +++ b/nbbuild/licenses/MIT-jsvg @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-2024 Jannis Weis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/nbbuild/licenses/names.properties b/nbbuild/licenses/names.properties index 36ea7e99937c..0cd108da0ea5 100644 --- a/nbbuild/licenses/names.properties +++ b/nbbuild/licenses/names.properties @@ -69,6 +69,7 @@ MIT-phpstan=MIT license PHPStan variant MIT-validator=MIT license validator variant MIT-vscode=MIT license for VSCode MIT-vscode-ext=MIT license VS Code variant +MIT-jsvg=MIT license JSVG variant MPL-1.0=MPL 1.0 license CDDL-SPL=CDDL 1.0 + SPL 1.0 W3C2=W3C Software and Document Notice and License diff --git a/platform/libs.jsvg/build.xml b/platform/libs.jsvg/build.xml new file mode 100644 index 000000000000..70b06619279c --- /dev/null +++ b/platform/libs.jsvg/build.xml @@ -0,0 +1,29 @@ + + + + + + + + Builds the JSVG library wrapper module. + + diff --git a/platform/libs.jsvg/external/binaries-list b/platform/libs.jsvg/external/binaries-list new file mode 100644 index 000000000000..9076715ac7c0 --- /dev/null +++ b/platform/libs.jsvg/external/binaries-list @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +A84D34480044DB51A1448E9C0E32BD284B797288 com.github.weisj:jsvg:1.6.1 diff --git a/platform/libs.jsvg/external/jsvg-1.6.1-license.txt b/platform/libs.jsvg/external/jsvg-1.6.1-license.txt new file mode 100644 index 000000000000..3b8f0f662212 --- /dev/null +++ b/platform/libs.jsvg/external/jsvg-1.6.1-license.txt @@ -0,0 +1,29 @@ +Name: JSVG +Version: 1.6.1 +Description: JSVG - A Java SVG implementation +License: MIT-jsvg +Origin: JSVG +URL: https://github.com/weisJ/jsvg +Files: jsvg-1.6.1.jar + +MIT License + +Copyright (c) 2021-2024 Jannis Weis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/platform/libs.jsvg/manifest.mf b/platform/libs.jsvg/manifest.mf new file mode 100644 index 000000000000..c0657cdc1e4c --- /dev/null +++ b/platform/libs.jsvg/manifest.mf @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +OpenIDE-Module: org.netbeans.libs.jsvg +OpenIDE-Module-Implementation-Version: 1 +OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jsvg/Bundle.properties +AutoUpdate-Show-In-Client: false diff --git a/platform/libs.jsvg/nbproject/project.properties b/platform/libs.jsvg/nbproject/project.properties new file mode 100644 index 000000000000..6fb34845af4e --- /dev/null +++ b/platform/libs.jsvg/nbproject/project.properties @@ -0,0 +1,26 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +file.reference.jsvg-1.6.1.jar=external/jsvg-1.6.1.jar +release.external/jsvg-1.6.1.jar=modules/ext/jsvg-1.6.1.jar + +is.autoload=true +javac.source=1.8 + +nbm.homepage=https://github.com/weisJ/jsvg +sigtest.gen.fail.on.error=false +spec.version.base=1.22.0 diff --git a/platform/libs.jsvg/nbproject/project.xml b/platform/libs.jsvg/nbproject/project.xml new file mode 100644 index 000000000000..0053019fd856 --- /dev/null +++ b/platform/libs.jsvg/nbproject/project.xml @@ -0,0 +1,64 @@ + + + + org.netbeans.modules.apisupport.project + + + org.netbeans.libs.jsvg + + + com.github.weisj.jsvg + com.github.weisj.jsvg.attributes + com.github.weisj.jsvg.attributes.filter + com.github.weisj.jsvg.attributes.font + com.github.weisj.jsvg.attributes.paint + com.github.weisj.jsvg.attributes.stroke + com.github.weisj.jsvg.attributes.text + com.github.weisj.jsvg.geometry + com.github.weisj.jsvg.geometry.mesh + com.github.weisj.jsvg.geometry.noise + com.github.weisj.jsvg.geometry.path + com.github.weisj.jsvg.geometry.size + com.github.weisj.jsvg.geometry.util + com.github.weisj.jsvg.nodes + com.github.weisj.jsvg.nodes.animation + com.github.weisj.jsvg.nodes.container + com.github.weisj.jsvg.nodes.filter + com.github.weisj.jsvg.nodes.mesh + com.github.weisj.jsvg.nodes.prototype + com.github.weisj.jsvg.nodes.prototype.spec + com.github.weisj.jsvg.nodes.text + com.github.weisj.jsvg.parser + com.github.weisj.jsvg.parser.css + com.github.weisj.jsvg.parser.resources + com.github.weisj.jsvg.renderer + com.github.weisj.jsvg.renderer.awt + com.github.weisj.jsvg.renderer.jdk + com.github.weisj.jsvg.util + + + ext/jsvg-1.6.1.jar + external/jsvg-1.6.1.jar + + + + diff --git a/platform/libs.jsvg/src/org/netbeans/libs/jsvg/Bundle.properties b/platform/libs.jsvg/src/org/netbeans/libs/jsvg/Bundle.properties new file mode 100644 index 000000000000..cc006f2d790e --- /dev/null +++ b/platform/libs.jsvg/src/org/netbeans/libs/jsvg/Bundle.properties @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + + +OpenIDE-Module-Name=JSVG Library +OpenIDE-Module-Short-Description=JSVG Library +OpenIDE-Module-Long-Description=Contains the JSVG library, for reading and painting SVG files. +OpenIDE-Module-Display-Category=Libraries diff --git a/platform/openide.util.ui.svg/nbproject/project.xml b/platform/openide.util.ui.svg/nbproject/project.xml index 851ebd109a70..251685f9ec8d 100644 --- a/platform/openide.util.ui.svg/nbproject/project.xml +++ b/platform/openide.util.ui.svg/nbproject/project.xml @@ -26,7 +26,7 @@ org.openide.util.ui.svg - org.netbeans.libs.batik.read + org.netbeans.libs.jsvg diff --git a/platform/openide.util.ui.svg/src/org/openide/util/svg/DenyingElementLoader.java b/platform/openide.util.ui.svg/src/org/openide/util/svg/DenyingElementLoader.java new file mode 100644 index 000000000000..6fbd29ce7052 --- /dev/null +++ b/platform/openide.util.ui.svg/src/org/openide/util/svg/DenyingElementLoader.java @@ -0,0 +1,59 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.openide.util.svg; + +import com.github.weisj.jsvg.attributes.AttributeParser; +import com.github.weisj.jsvg.parser.ElementLoader; +import com.github.weisj.jsvg.parser.ParsedDocument; +import java.util.Collections; +import java.util.LinkedHashSet; +import java.util.Set; + +class DenyingElementLoader implements ElementLoader { + private final Set attemptedExternalURLsLoaded = new LinkedHashSet<>(); + + public Set getAttemptedExternalURLsLoaded() { + return Collections.unmodifiableSet(attemptedExternalURLsLoaded); + } + + @Override + public T loadElement(Class type, String value, + ParsedDocument document, AttributeParser attributeParser) + { + /* Same logic as in com.github.weisj.jsvg.parser.DefaultElementLoader for the + AllowExternalResources.DENY case, but gathering up the attempted externally loaded URLs so + we can make the whole loading operation fail and make testLoadImageWithExternalUseXlinkHref + pass. */ + String url = attributeParser.parseUrl(value); + if (url == null) { + return null; + } + if (url.contains("#")) { + String[] parts = url.split("#", 2); + String name = parts[0]; + if (!name.isEmpty()) { + attemptedExternalURLsLoaded.add(value); + return null; + } + return document.getElementById(type, parts[1]); + } else { + return document.getElementById(type, url); + } + } +} diff --git a/platform/openide.util.ui.svg/src/org/openide/util/svg/SVGIcon.java b/platform/openide.util.ui.svg/src/org/openide/util/svg/SVGIcon.java index 1d5b227c5c75..48a04ec64b49 100644 --- a/platform/openide.util.ui.svg/src/org/openide/util/svg/SVGIcon.java +++ b/platform/openide.util.ui.svg/src/org/openide/util/svg/SVGIcon.java @@ -23,7 +23,6 @@ import java.awt.Graphics2D; import java.awt.Image; import java.awt.RenderingHints; -import java.awt.geom.Dimension2D; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.io.IOException; @@ -35,21 +34,17 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.Icon; -import org.apache.batik.anim.dom.SAXSVGDocumentFactory; -import org.apache.batik.bridge.BridgeContext; -import org.apache.batik.bridge.DocumentLoader; -import org.apache.batik.bridge.ExternalResourceSecurity; -import org.apache.batik.bridge.GVTBuilder; -import org.apache.batik.bridge.NoLoadExternalResourceSecurity; -import org.apache.batik.bridge.UserAgent; -import org.apache.batik.bridge.UserAgentAdapter; -import org.apache.batik.ext.awt.image.GraphicsUtil; -import org.apache.batik.gvt.GraphicsNode; -import org.apache.batik.util.ParsedURL; -import org.apache.batik.util.XMLResourceDescriptor; +import com.github.weisj.jsvg.SVGDocument; +import com.github.weisj.jsvg.geometry.size.FloatSize; +import com.github.weisj.jsvg.parser.LoaderContext; +import com.github.weisj.jsvg.parser.ResourceLoader; +import com.github.weisj.jsvg.parser.SVGLoader; +import com.github.weisj.jsvg.renderer.awt.NullPlatformSupport; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; import org.openide.util.CachedHiDPIIcon; import org.openide.util.Parameters; -import org.w3c.dom.Document; /** * An icon loaded from an SVG file resource. Renders in high resolution on HiDPI displays. @@ -62,62 +57,64 @@ final class SVGIcon extends CachedHiDPIIcon { enough to avoid an OutOfMemoryError but large enough to cater for most SVG loading scenarios. Photoshop had 10000 pixels as a maximum limit for many years. */ private static final int MAX_DIMENSION_PIXELS = 8192; - // XML document factories are expensive to initialize, so do it once per thread only. - private static final ThreadLocal DOCUMENT_FACTORY = - new ThreadLocal() + /* XML document factories are expensive to initialize, so do it once per thread only. This + optimization was originally done for the Batik SVG library, but I suspect it might be beneficial + for JSVG as well. The SVGLoader constructor does initialize some XML parser stuff. */ + private static final ThreadLocal SVG_LOADER = + new ThreadLocal() { @Override - protected SAXSVGDocumentFactory initialValue() { - return new SAXSVGDocumentFactory(XMLResourceDescriptor.getXMLParserClassName()); + protected SVGLoader initialValue() { + return new SVGLoader(); } }; private final URL url; /** - * Cache of the parsed SVG document. Just painting the GraphicsNode is much faster than also + * Cache of the parsed SVG document. Just painting the SVGDocument is probably faster than also * re-parsing the underlying SVG file, yet we want to avoid keeping potentially complex object - * trees in memory for the lifetime of the Icon instance. Thus we allow the GraphicsNode to be + * trees in memory for the lifetime of the Icon instance. Thus we allow the SVGDocument to be * garbage collected after the first paint. The rasterized bitmap will be cached separately by * the superclass. */ - private WeakReference graphicsNodeWeakRef; + private WeakReference svgDocumentWeakRef; /** - * A strong reference version of {@link #graphicsNodeWeakRef}, which can be set to ensure that - * the latter is not yet garbage collected. Used to ensure that the initially loaded - * GraphicsNode is cached at least until the first time the icon is painted. May be null. + * A strong reference version of {@link #svgDocumentWeakRef}, which can be set to ensure that + * the latter is not yet garbage collected. Used to ensure that the initially loaded SVGDocument + * is cached at least until the first time the icon is painted. May be null. */ - private GraphicsNode graphicsNodeStrongRef; + private SVGDocument svgDocumentStrongRef; - private SVGIcon(URL url, GraphicsNode initialGraphicsNode, int width, int height) { + private SVGIcon(URL url, SVGDocument initialSVGDocument, int width, int height) { super(width, height); Parameters.notNull("url", url); - Parameters.notNull("initialGraphicsNode", initialGraphicsNode); + Parameters.notNull("initialSVGDocument", initialSVGDocument); this.url = url; - this.graphicsNodeStrongRef = initialGraphicsNode; - this.graphicsNodeWeakRef = new WeakReference(initialGraphicsNode); + this.svgDocumentStrongRef = initialSVGDocument; + this.svgDocumentWeakRef = new WeakReference(initialSVGDocument); } public static Icon load(URL url) throws IOException { Parameters.notNull("url", url); Dimension size = new Dimension(); - GraphicsNode initialGraphicsNode = loadGraphicsNode(url, size); - return new SVGIcon(url, initialGraphicsNode, size.width, size.height); + SVGDocument initialSVGDocument = loadSVGDocument(url, size); + return new SVGIcon(url, initialSVGDocument, size.width, size.height); } /** - * Get the {@code GraphicsNode}, re-loading it from the original resource if a cached instance + * Get the {@code SVGDocument}, re-loading it from the original resource if a cached instance * is no longer available. Once this method has been called at least once, garbage collection * may cause the cache to be cleared. */ - private synchronized GraphicsNode getGraphicsNode() throws IOException { - GraphicsNode ret = graphicsNodeWeakRef.get(); + private synchronized SVGDocument getSVGDocument() throws IOException { + SVGDocument ret = svgDocumentWeakRef.get(); if (ret != null) { - // Allow the GraphicsNode to be garbage collected after the initial paint. - graphicsNodeStrongRef = null; + // Allow the SVGDocument to be garbage collected after the initial paint. + svgDocumentStrongRef = null; return ret; } - ret = loadGraphicsNode(url, null); - graphicsNodeWeakRef = new WeakReference(ret); + ret = loadSVGDocument(url, null); + svgDocumentWeakRef = new WeakReference(ret); return ret; } @@ -126,40 +123,50 @@ private synchronized GraphicsNode getGraphicsNode() throws IOException { * * @param toSize if not null, will be set to the image's size */ - private static GraphicsNode loadGraphicsNode(URL url, Dimension toSize) - throws IOException - { + private static SVGDocument loadSVGDocument(URL url, Dimension toSize) throws IOException { Parameters.notNull("url", url); - final GraphicsNode graphicsNode; - final Dimension2D documentSize; - final Document doc; + + final SVGDocument svgDocument; + FloatSize documentSize; InputStream is = url.openStream(); try { - // See http://batik.2283329.n4.nabble.com/rendering-directly-to-java-awt-Graphics2D-td3716202.html - SAXSVGDocumentFactory factory = DOCUMENT_FACTORY.get(); - /* Don't provide an URI here; we shouldn't commit to supporting relative links from - loaded SVG documents. */ - doc = factory.createDocument(null, is); - // Disallow external resource dereferences - UserAgent userAgent = new UserAgentAdapter() { - @Override - public ExternalResourceSecurity getExternalResourceSecurity( - ParsedURL resourceURL, ParsedURL docURL) { - return new NoLoadExternalResourceSecurity(); - } + // Explicitly deny loading of external URLs. + + /* Handle e.g. elements. Tested in + testLoadImageWithExternalImageHref. */ + List externalResourceExceptions = new ArrayList<>(); + ResourceLoader resourceLoader = (URI nnuri) -> { + IOException e = new IOException("External resource loading from SVG file not permitted ("+ + nnuri + " from " + url + ")"); + externalResourceExceptions.add(e); + throw e; }; - DocumentLoader loader = new DocumentLoader(userAgent); - BridgeContext bctx = new BridgeContext(userAgent, loader); - try { - bctx.setDynamicState(BridgeContext.STATIC); - graphicsNode = new GVTBuilder().build(bctx, doc); - documentSize = bctx.getDocumentSize(); - } finally { - bctx.dispose(); + /* Handle e.g. elements. Tested in + testLoadImageWithExternalUseXlinkHref. */ + DenyingElementLoader elementLoader = new DenyingElementLoader(); + + svgDocument = SVG_LOADER.get().load(is, null, LoaderContext.builder() + .resourceLoader(resourceLoader) + .elementLoader(elementLoader) + .build()); + if (!elementLoader.getAttemptedExternalURLsLoaded().isEmpty()) { + throw new IOException("SVG loading failed; external document loading prohibited (" + + elementLoader.getAttemptedExternalURLsLoaded() + ")"); + } + if (!externalResourceExceptions.isEmpty()) { + IOException e = new IOException("SVG loading failed due to disallowed external resources"); + for (IOException e2 : externalResourceExceptions) { + e.addSuppressed(e2); + } + throw e; + } + if (svgDocument == null) { + throw new IOException( + "SVG loading failed for " + url + " (SVGLoader.load returned null)"); } + documentSize = svgDocument.size(); } catch (RuntimeException e) { - /* Rethrow the many different exceptions that can occur when parsing invalid SVG files; - DOMException, BridgeException etc. */ + /* Rethrow any uncaught exceptions that could be thrown when parsing invalid SVG files. */ throw new IOException("Error parsing SVG file", e); } finally { is.close(); @@ -180,7 +187,7 @@ public ExternalResourceSecurity getExternalResourceSecurity( toSize.width = widthLimited; toSize.height = heightLimited; } - return graphicsNode; + return svgDocument; } private static RenderingHints createHints() { @@ -188,7 +195,8 @@ private static RenderingHints createHints() { hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); /* Ensure that outlined strokes (strokes converted to solid shapes) appear the same as - regular strokes, as they do during editing in Adobe Illustrator. */ + regular strokes, as they do during editing in Adobe Illustrator. This hint is also + specifically recommended by JSVG's README ( https://github.com/weisJ/jsvg ). */ hints.put(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE); return new RenderingHints(hints); } @@ -198,15 +206,13 @@ protected Image createAndPaintImage( Component c, ColorModel colorModel, int deviceWidth, int deviceHeight, double scale) { BufferedImage img = createBufferedImage(colorModel, deviceWidth, deviceHeight); - /* Use Batik's createGraphics method to improve performance and avoid the - "Graphics2D from BufferedImage lacks BUFFERED_IMAGE hint" warning. */ - final Graphics2D g = GraphicsUtil.createGraphics(img); + final Graphics2D g = img.createGraphics(); try { g.scale(scale, scale); try { - GraphicsNode graphicsNode = getGraphicsNode(); + SVGDocument svgDocument = getSVGDocument(); g.addRenderingHints(createHints()); - graphicsNode.paint(g); + svgDocument.renderWithPlatform(NullPlatformSupport.INSTANCE, g, null); } catch (IOException e) { LOG.log(Level.WARNING, "Unexpected exception while re-loading an SVG file that previously loaded successfully", e); diff --git a/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/SVGLoaderImplTest.java b/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/SVGLoaderImplTest.java index c182c73593c9..5aa2d7cbd22c 100644 --- a/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/SVGLoaderImplTest.java +++ b/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/SVGLoaderImplTest.java @@ -44,7 +44,19 @@ public void testLoadInnocentImage() throws Exception { assertNotNull("Image must not load", im); } - public void testLoadImageWithExternalHref() throws Exception { + public void testLoadImageWithExternalUseHrefXlink() throws Exception { + testLoadImageWithExternalHref("org/openide/util/svg/externalHref.svg"); + } + + public void testLoadImageWithExternalImageHrefXLink() throws Exception { + testLoadImageWithExternalHref("org/openide/util/svg/externalImageHrefXLink.svg"); + } + + public void testLoadImageWithExternalImageHref() throws Exception { + testLoadImageWithExternalHref("org/openide/util/svg/externalImageHref.svg"); + } + + public void testLoadImageWithExternalHref(String image) throws Exception { class H extends Handler { List recorded = new ArrayList<>(); @@ -64,7 +76,7 @@ public void close() throws SecurityException { H h = new H(); Logger.getLogger(ImageUtilities.class.getName()).addHandler(h); try { - Image im = ImageUtilities.loadImage("org/openide/util/svg/externalHref.svg", false); // NOI18N + Image im = ImageUtilities.loadImage(image, false); // NOI18N assertNull("Image must not load", im); } finally { Logger.getLogger(ImageUtilities.class.getName()).removeHandler(h); diff --git a/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/externalImageHref.svg b/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/externalImageHref.svg new file mode 100644 index 000000000000..f36ed1127309 --- /dev/null +++ b/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/externalImageHref.svg @@ -0,0 +1,26 @@ + + + + + + + + diff --git a/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/externalImageHrefXLink.svg b/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/externalImageHrefXLink.svg new file mode 100644 index 000000000000..06f17561b2f4 --- /dev/null +++ b/platform/openide.util.ui.svg/test/unit/src/org/openide/util/svg/externalImageHrefXLink.svg @@ -0,0 +1,26 @@ + + + + + + + + From b5750a78c79bc6768b70e60fdc453d0474565f55 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 17 Nov 2024 19:52:07 +0100 Subject: [PATCH 51/94] CI: build and start testing on JDK 24-ea - java hints job remains on 23 and has to wait for nb-javac 24 - bump CV tests from JDK 22 to 23 - minor cleanup --- .github/workflows/main.yml | 29 +++++++------------ ide/ide.kit/nbproject/project.properties | 2 +- .../fileobjects/StatFilesTest.java | 2 +- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8144307b8d41..3d07df0418ea 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -124,7 +124,7 @@ jobs: timeout-minutes: 40 strategy: matrix: - java: [ '17', '21', '23' ] + java: [ '17', '21', '24-ea' ] exclude: - java: ${{ github.event_name == 'pull_request' && 'nothing' || '21' }} fail-fast: false @@ -229,7 +229,7 @@ jobs: java: [ 17 ] include: - os: ubuntu-latest - java: 22 + java: 23 fail-fast: false steps: @@ -416,30 +416,23 @@ jobs: - name: Build nbms run: ant $OPTS build-nbms + # runs only in PRs if requested; ~18 min + - name: Build all Tests + if: env.test_tests == 'true' && github.event_name == 'pull_request' && success() + run: ant -quiet -Dcluster.config=$CLUSTER_CONFIG test -Dtest.includes=NoTestsJustBuild + # 13-14 min for javadoc; JDK version must be synced with nb-javac - - name: Set up JDK 23 for javadoc + - name: Set up JDK 24-ea for javadoc if: env.test_javadoc == 'true' && success() uses: actions/setup-java@v4 with: - java-version: 23 + java-version: 24-ea distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} - name: Build javadoc if: env.test_javadoc == 'true' && success() run: ant $OPTS build-javadoc - - name: Set up JDK ${{ matrix.java }} - if: env.test_javadoc == 'true' && success() - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} - - # runs only in PRs if requested; ~18 min - - name: Build all Tests - if: env.test_tests == 'true' && github.event_name == 'pull_request' && success() - run: ant -quiet -Dcluster.config=$CLUSTER_CONFIG test -Dtest.includes=NoTestsJustBuild - - name: Create Test Summary uses: test-summary/action@v2 if: failure() @@ -834,7 +827,7 @@ jobs: timeout-minutes: 50 strategy: matrix: - java: [ '17', '21', '23' ] + java: [ '17', '21', '24-ea' ] exclude: - java: ${{ github.event_name == 'pull_request' && 'nothing' || '21' }} fail-fast: false @@ -1494,7 +1487,7 @@ jobs: timeout-minutes: 60 strategy: matrix: - java: [ '17', '21', '23' ] + java: [ '17', '21', '24-ea' ] exclude: - java: ${{ github.event_name == 'pull_request' && 'nothing' || '21' }} fail-fast: false diff --git a/ide/ide.kit/nbproject/project.properties b/ide/ide.kit/nbproject/project.properties index 44081a96bbf6..32b952f319d2 100644 --- a/ide/ide.kit/nbproject/project.properties +++ b/ide/ide.kit/nbproject/project.properties @@ -50,5 +50,5 @@ test.jms.flags=\ --add-opens=java.desktop/javax.swing.plaf.synth=ALL-UNNAMED \ --add-opens=java.desktop/javax.swing.text=ALL-UNNAMED \ --add-opens=java.desktop/sun.awt=ALL-UNNAMED \ - --add-modules=jdk.jdwp.agent,jdk.attach,jdk.jdi,jdk.jshell,java.compiler,jdk.compiler,jdk.management,jdk.unsupported,jdk.internal.le,jdk.internal.ed,jdk.internal.opt,jdk.internal.jvmstat \ + --add-modules=java.compiler \ --add-exports=jdk.jdi/com.sun.jdi=ALL-UNNAMED diff --git a/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/StatFilesTest.java b/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/StatFilesTest.java index 9a9015fd0125..440017aae2a5 100644 --- a/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/StatFilesTest.java +++ b/platform/masterfs/test/unit/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/StatFilesTest.java @@ -163,7 +163,7 @@ public void testLockFile() throws IOException { expectedCount++; // sun.awt.PlatformGraphicsInfo.getDefaultHeadlessProperty probes a .so or .dylib // Runtime.version().feature() > 18 - if (Integer.parseInt(System.getProperty("java.version").split("\\.")[0]) > 18) { + if (Integer.parseInt(System.getProperty("java.version").split("\\.")[0].split("-")[0]) > 18) { expectedCount++; } } From 0fa77ff243891ddaeaa72de3c9cff26b98a06878 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Tue, 19 Nov 2024 13:56:48 +0100 Subject: [PATCH 52/94] Fix possible out of bounds exception in switch pattern hint - index can be less than 0 in some situations - added test and code simplification suggestions from Jan Lahoda Co-authored-by: Jan Lahoda --- .../jdk/ConvertToSwitchPatternInstanceOf.java | 28 +++++++++++-------- .../ConvertToSwitchPatternInstanceOfTest.java | 18 ++++++++++++ 2 files changed, 34 insertions(+), 12 deletions(-) diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToSwitchPatternInstanceOf.java b/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToSwitchPatternInstanceOf.java index a295ed153f65..f52cd72e3367 100644 --- a/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToSwitchPatternInstanceOf.java +++ b/java/java.hints/src/org/netbeans/modules/java/hints/jdk/ConvertToSwitchPatternInstanceOf.java @@ -28,6 +28,7 @@ import com.sun.source.tree.SwitchTree; import com.sun.source.tree.ThrowTree; import com.sun.source.tree.Tree; +import com.sun.source.tree.Tree.Kind; import com.sun.source.tree.VariableTree; import com.sun.source.util.TreePath; import java.util.ArrayList; @@ -272,18 +273,21 @@ public static ErrorDescription switchPatternMatchToSwitchNull(HintContext ctx) { } Tree expression = ((ParenthesizedTree) switchTree.getExpression()).getExpression(); Tree parent = (Tree) ctx.getPath().getParentPath().getLeaf(); - int indexOf; - if (parent instanceof BlockTree) { - indexOf = ((BlockTree) parent).getStatements().indexOf(switchTree) - 1; + int indexOfSwitch; + if (parent.getKind() == Kind.BLOCK) { + indexOfSwitch = ((BlockTree) parent).getStatements().indexOf(switchTree); + if (indexOfSwitch < 1) { + return null; + } } else { return null; } - Tree ifTree = ((BlockTree) parent).getStatements().get(indexOf); - if ((!(ifTree instanceof IfTree) || !MatcherUtilities.matches(ctx, new TreePath(ctx.getPath(), ((IfTree) ifTree).getCondition()), "($expr0 == null)", true)) + Tree ifTree = ((BlockTree) parent).getStatements().get(indexOfSwitch - 1); + if (ifTree.getKind() != Kind.IF || !MatcherUtilities.matches(ctx, new TreePath(ctx.getPath(), ((IfTree) ifTree).getCondition()), "($expr0 == null)", true) || !(ctx.getVariables().get("$expr0").getLeaf().toString().equals(expression.toString()))) { return null; } - Fix fix = new FixSwitchPatternMatchToSwitchNull(ctx.getInfo(), ctx.getPath().getParentPath(), indexOf).toEditorFix(); + Fix fix = new FixSwitchPatternMatchToSwitchNull(ctx.getInfo(), ctx.getPath().getParentPath(), indexOfSwitch).toEditorFix(); return ErrorDescriptionFactory.forTree(ctx, ifTree, Bundle.ERR_ConvertToSwitchPatternInstanceOf(), fix); } @@ -300,11 +304,11 @@ public static boolean isPatternMatch(Tree node) { private static final class FixSwitchPatternMatchToSwitchNull extends JavaFix { - private final int indexOf; + private final int indexOfSwitch; - public FixSwitchPatternMatchToSwitchNull(CompilationInfo info, TreePath path, int indexOf) { + public FixSwitchPatternMatchToSwitchNull(CompilationInfo info, TreePath path, int indexOfSwitch) { super(info, path); - this.indexOf = indexOf; + this.indexOfSwitch = indexOfSwitch; } @Override @@ -318,9 +322,9 @@ protected void performRewrite(TransformationContext ctx) throws Exception { TreePath main = ctx.getPath(); TreeMaker make = wc.getTreeMaker(); List caseNullLabel = new LinkedList<>(); - SwitchTree switchTree = (SwitchTree) ((BlockTree) main.getLeaf()).getStatements().get(indexOf + 1); + SwitchTree switchTree = (SwitchTree) ((BlockTree) main.getLeaf()).getStatements().get(indexOfSwitch); - Tree ifTree = ((BlockTree) main.getLeaf()).getStatements().get(indexOf); + Tree ifTree = ((BlockTree) main.getLeaf()).getStatements().get(indexOfSwitch - 1); StatementTree thenStatement = ((IfTree) ifTree).getThenStatement(); caseNullLabel.add(wc.getTreeMaker().Identifier("null")); BlockTree blockTree = (BlockTree)thenStatement; @@ -328,7 +332,7 @@ protected void performRewrite(TransformationContext ctx) throws Exception { CaseTree caseMultipleSwitchPatterns = wc.getTreeMaker().CasePatterns(caseNullLabel, statementTree); SwitchTree insertSwitchCase = make.insertSwitchCase(switchTree, 0, caseMultipleSwitchPatterns); wc.rewrite(switchTree, insertSwitchCase); - BlockTree removeBlockStatement = make.removeBlockStatement((BlockTree) main.getLeaf(), indexOf); + BlockTree removeBlockStatement = make.removeBlockStatement((BlockTree) main.getLeaf(), indexOfSwitch - 1); wc.rewrite(main.getLeaf(), removeBlockStatement); } } diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToSwitchPatternInstanceOfTest.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToSwitchPatternInstanceOfTest.java index 4e25857d72f4..4d7f7a7a49da 100644 --- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToSwitchPatternInstanceOfTest.java +++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/jdk/ConvertToSwitchPatternInstanceOfTest.java @@ -209,6 +209,24 @@ public void testSimpleSwitchWithNull() throws Exception { + "}\n"); } + @Test + public void testSwitchWithNullExceptionSwitchIsFirst() throws Exception { + HintTest.create() + .input(""" + package test; + public class Test { + private static void test(Object o) { + switch (o) { + case String s -> {} + } + } + } + """, false) + .sourceLevel("21") + .run(ConvertToSwitchPatternInstanceOf.class) + .assertWarnings(); + } + @Test public void testSimpleSwitchWithNullNoHint() throws Exception { HintTest.create() From e037b87ac16e8a0b168e9a58d7ca876f93401b11 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sat, 28 Oct 2023 02:08:53 +0200 Subject: [PATCH 53/94] PR commit header validation. - simple script to check if PR commits have proper email addresses - looks for empty or single word subject messages - can warn about missing blank line after subject (disabled) - logs errors/warnings to the github actions summary page, fails on error paperwork job: - the paperwork job will now no longer prevent the github workspace from being cleaned on failure --- .github/scripts/CommitHeaderChecker.java | 162 +++++++++++++++++++++++ .github/workflows/main.yml | 31 +++-- 2 files changed, 181 insertions(+), 12 deletions(-) create mode 100644 .github/scripts/CommitHeaderChecker.java diff --git a/.github/scripts/CommitHeaderChecker.java b/.github/scripts/CommitHeaderChecker.java new file mode 100644 index 000000000000..15e936645a61 --- /dev/null +++ b/.github/scripts/CommitHeaderChecker.java @@ -0,0 +1,162 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import java.io.IOException; +import java.net.URI; +import java.net.http.HttpClient; +import java.net.http.HttpClient.Redirect; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse.BodyHandlers; +import java.time.Duration; +import java.util.List; + +import static java.util.stream.Gatherers.fold; +import static java.util.stream.Gatherers.scan; +import static java.util.stream.Gatherers.windowSliding; + +record Commit(int index, String from, String date, String subject, String blank) {} +record Result(int total, boolean green) {} + +// checks commit headers for valid author, email and commit msg formatting +// its main purpose is to prevent common merge mistakes + +// Java 23+, may require preview flag +// java CommitHeaderChecker.java https://github.com/apache/netbeans/pull/${{ github.event.pull_request.number }} + +// green tests: +// java --enable-preview CommitHeaderChecker.java https://github.com/apache/netbeans/pull/66 +// java --enable-preview CommitHeaderChecker.java https://github.com/apache/netbeans/pull/7641 +// java --enable-preview CommitHeaderChecker.java https://github.com/apache/netbeans/pull/4138 +// java --enable-preview CommitHeaderChecker.java https://github.com/apache/netbeans/pull/4692 + +// red tests: +// java --enable-preview CommitHeaderChecker.java https://github.com/apache/netbeans/pull/7776 +// java --enable-preview CommitHeaderChecker.java https://github.com/apache/netbeans/pull/5567 + +void main(String[] args) throws IOException, InterruptedException { + + if (args.length != 1 || !args[0].startsWith("https://github.com/")) { + throw new IllegalArgumentException("PR URL expected"); + } + + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(args[0]+".patch")) + .timeout(Duration.ofSeconds(10)) + .build(); + + println("checking PR patch file..."); + Result result; + try (HttpClient client = HttpClient.newBuilder() + .followRedirects(Redirect.NORMAL).build()) { + + result = client.send(request, BodyHandlers.ofLines()).body() + // 5 line window, From/Date/Subject and extra line for blank line / overflow check + // "From" can be two lines if the name is very long + .gather(windowSliding(5)) + .filter(w -> isCommitHeader(w)) + .gather(scan( + () -> new Commit(-1, "", "", "", ""), + (c, w) -> createCommit(c.index+1, w))) + .peek(System.out::println) + .gather(fold( + () -> new Result(0, true), + (r, c) -> new Result(r.total+1, r.green & checkCommit(c)))) + .findFirst() + .orElseThrow(); + } + + println(result.total + " commit(s) checked"); + System.exit(result.green ? 0 : 1); +} + +// From: Duke +// Date: Thu, 1 Oct 2024 22:10:50 -0700 +// Subject: [PATCH] Mail Validator +private static boolean isCommitHeader(List lines) { + int i = 0; + return lines.size() == 5 + && lines.get(i++).startsWith("From: ") // "From" can be two lines in some cases + &&(lines.get(i++).startsWith("Date: ") || lines.get(i++).startsWith("Date: ")) + && lines.get(i++).startsWith("Subject: "); +} + +private static Commit createCommit(int index, List lines) { + int i = 0; + return lines.get(1).startsWith("Date: ") // "From" can be two lines in some cases + ? new Commit(index, lines.get(i++), lines.get(i++), lines.get(i++), lines.get(i++)) + : new Commit(index, lines.get(i++) + lines.get(i++), lines.get(i++), lines.get(i++), lines.get(i++)); +} + +boolean checkCommit(Commit c) { + return checkNameAndEmail(c.index, c.from) + & checkSubject(c.index, c.subject) + & checkBlankLineAfterSubject(c.index, c.blank); +} + +boolean checkNameAndEmail(int i, String from) { + // From: Duke + int start = from.indexOf('<'); + int end = from.indexOf('>'); + + String mail = end > start ? from.substring(start+1, end) : ""; + String author = start > 6 ? from.substring(6, start).strip() : ""; + + // bots may pass + if (author.contains("[bot]")) { + return true; + } + + boolean green = true; + if (mail.isBlank() || !mail.contains("@") || mail.contains("noreply") || mail.contains("localhost")) { + println("::error::invalid email in commit " + i + " '" + from + "'"); + green = false; + } + + // mime encoding indicates it is probably a proper name, since gh account names aren't encoded + boolean encoded = author.startsWith("=?") && author.endsWith("?="); + + // single word author -> probably the nickname/account name/root etc + if (author.isBlank() || (!encoded && !author.contains(" ") && !author.contains("-"))) { + println("::error::invalid author in commit " + i + " '" + author + "' (full name?)"); + green = false; + } + return green; +} + +// https://mirrors.edge.kernel.org/pub/software/scm/git/docs/git-commit.html#_discussion +boolean checkSubject(int i, String subject) { + // Subject: [PATCH] msg + subject = subject.substring(subject.indexOf(']')+1).strip(); + // single word subjects are likely not intended or should be squashed before merge + if (!subject.contains(" ")) { + println("::error::invalid subject in commit " + i + " '" + subject + "'"); + return false; + } + return true; +} + +// there should be a blank line after the subject line, some subjects can overflow though. +boolean checkBlankLineAfterSubject(int i, String blank) { +// disabled since this would produce too many warnings due to overflowing subject lines +// if (!blank.isBlank()) { +// println("::warning::blank line after subject recommended in commit " + i + " (is subject over 50 char limit?)"); +//// return false; +// } + return true; +} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3d07df0418ea..4ae29bf906cc 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -296,13 +296,6 @@ jobs: echo "::error::PRs must be labeled, see: https://cwiki.apache.org/confluence/display/NETBEANS/PRs+and+You+-+A+reviewer+Guide" exit 1 - - name: Set up JDK ${{ matrix.java }} - if: ${{ !cancelled() }} - uses: actions/setup-java@v4 - with: - java-version: ${{ matrix.java }} - distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} - - name: Checkout ${{ github.ref }} ( ${{ github.sha }} ) if: ${{ !cancelled() }} uses: actions/checkout@v4 @@ -310,11 +303,24 @@ jobs: persist-credentials: false submodules: false show-progress: false - fetch-depth: 10 - - name: Print last 10 Commits + - name: Set up JDK 23 for scripts if: ${{ github.event_name == 'pull_request' && !cancelled() }} - run: git log --oneline -n10 --pretty=format:'%h %an [%ae] %s' + uses: actions/setup-java@v4 + with: + java-version: 23 + distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} + + - name: Check Commit Headers + if: ${{ github.event_name == 'pull_request' && !cancelled() }} + run: java --enable-preview .github/scripts/CommitHeaderChecker.java ${{ github.server_url }}/${{ github.repository }}/pull/${{ github.event.pull_request.number }} + + - name: Set up JDK ${{ matrix.java }} + if: ${{ !cancelled() }} + uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.java }} + distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} - name: Check line endings and verify RAT report if: ${{ !cancelled() }} @@ -2616,13 +2622,14 @@ jobs: env "netbeans.extra.options=-J-Dnetbeans.logger.console=true" ant $OPTS test-vscode-ext -# last job depends on everything so that it is forced to run last even if a long job fails early +# cleanup job depends on everything so that it is forced to run last even if a long job fails early. +# 'paperwork' is left out intentionally, since it doesn't run unit tests (hopefully doesn't need restarts) +# and shouldn't prevent cleanup on validation failure - which might be common during dev time cleanup: name: Cleanup Workflow Artifacts needs: - base-build - commit-validation - - paperwork - build-system-test - build-from-src-zip - ide-modules-test From 90aeca3efed278b99004ea9e9a945c46cf1eccd3 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sat, 23 Nov 2024 00:42:01 +0100 Subject: [PATCH 54/94] Revert "LSP: Speed up publish diagnostics on project scan." This reverts commit ec8384f94389e4ac3c0d60a6f0f198634da770c5. --- .../hints/MicronautConfigErrorProvider.java | 22 +---- .../modules/csl/core/TLIndexerFactory.java | 27 +------ ide/parsing.indexing/apichanges.xml | 14 ---- .../nbproject/project.properties | 2 +- .../impl/indexing/errors/TaskCache.java | 81 +++++-------------- .../parsing/spi/indexing/ErrorsCache.java | 68 ---------------- .../lsp/server/protocol/ErrorsNotifier.java | 55 ++----------- .../protocol/TextDocumentServiceImpl.java | 2 +- .../java/lsp/server/protocol/ServerTest.java | 10 +-- .../source/indexing/JavaCustomIndexer.java | 33 +++----- .../source/indexing/VanillaCompileWorker.java | 2 +- 11 files changed, 50 insertions(+), 266 deletions(-) diff --git a/enterprise/micronaut/src/org/netbeans/modules/micronaut/hints/MicronautConfigErrorProvider.java b/enterprise/micronaut/src/org/netbeans/modules/micronaut/hints/MicronautConfigErrorProvider.java index 5b870934bcfd..afefe780eecf 100644 --- a/enterprise/micronaut/src/org/netbeans/modules/micronaut/hints/MicronautConfigErrorProvider.java +++ b/enterprise/micronaut/src/org/netbeans/modules/micronaut/hints/MicronautConfigErrorProvider.java @@ -109,11 +109,9 @@ public void run(ResultIterator it) throws Exception { scan(text, scanner.scan((ParserResult) result), structure -> { int start = (int) structure.getPosition(); int end = (int) structure.getEndPosition(); - String[] startLines = text.substring(0, start).split("\n"); - String[] endLines = text.substring(0, end).split("\n"); diags.add(Diagnostic.Builder.create(() -> start, () -> end, Bundle.ERR_PropertyWithoutValue()) .setSeverity(Diagnostic.Severity.Warning) - .setCode(ERR_CODE_PREFIX + startLines.length + ',' + (startLines[startLines.length - 1].length() + 1) + '-' + endLines.length + ',' + (endLines[endLines.length - 1].length() + 1)) + .setCode(ERR_CODE_PREFIX + text.substring(0, start).split("\n").length) .build()); }); } @@ -137,7 +135,7 @@ public void run(ResultIterator it) throws Exception { int end = offset + line.length(); diags.add(Diagnostic.Builder.create(() -> start, () -> end, Bundle.ERR_PropertyWithoutValue()) .setSeverity(Diagnostic.Severity.Warning) - .setCode(ERR_CODE_PREFIX + (i + 1) + ",1-" + (i + 1) + "," + line.length() + 1) + .setCode(ERR_CODE_PREFIX + (i + 1)) .build()); } } @@ -200,26 +198,14 @@ public int getIndexVersion() { } } - private static final class ErrorConvertorImpl implements ErrorsCache.Convertor2 { + private static final class ErrorConvertorImpl implements ErrorsCache.Convertor { @Override public ErrorsCache.ErrorKind getKind(Diagnostic t) { return t.getSeverity() == Diagnostic.Severity.Error ? ErrorsCache.ErrorKind.ERROR : ErrorsCache.ErrorKind.WARNING; } @Override public int getLineNumber(Diagnostic t) { - String text = t.getCode().substring(ERR_CODE_PREFIX.length()); - int idx = text.indexOf(','); - return Integer.parseInt(text.substring(0, idx)); - } - @Override - public ErrorsCache.Range getRange(Diagnostic t) { - String text = t.getCode().substring(ERR_CODE_PREFIX.length()); - int idx1 = text.indexOf(','); - int idx2 = text.indexOf('-'); - int idx3 = text.indexOf(',', idx2); - ErrorsCache.Position start = new ErrorsCache.Position(Integer.parseInt(text.substring(0, idx1)), Integer.parseInt(text.substring(idx1 + 1, idx2))); - ErrorsCache.Position end = new ErrorsCache.Position(Integer.parseInt(text.substring(idx2 + 1, idx3)), Integer.parseInt(text.substring(idx3 + 1, text.length()))); - return new ErrorsCache.Range(start, end); + return Integer.parseInt(t.getCode().substring(ERR_CODE_PREFIX.length())); } @Override public String getMessage(Diagnostic t) { diff --git a/ide/csl.api/src/org/netbeans/modules/csl/core/TLIndexerFactory.java b/ide/csl.api/src/org/netbeans/modules/csl/core/TLIndexerFactory.java index 07514c764dc4..6d730ea65106 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/core/TLIndexerFactory.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/core/TLIndexerFactory.java @@ -44,7 +44,7 @@ import org.netbeans.modules.parsing.spi.indexing.EmbeddingIndexer; import org.netbeans.modules.parsing.spi.indexing.EmbeddingIndexerFactory; import org.netbeans.modules.parsing.spi.indexing.ErrorsCache; -import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.Convertor2; +import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.Convertor; import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.ErrorKind; import org.netbeans.modules.parsing.spi.indexing.Indexable; import org.netbeans.spi.tasklist.TaskScanningScope; @@ -141,7 +141,7 @@ public int getIndexVersion () { return INDEXER_VERSION; } - private static final class ErrorConvertorImpl implements Convertor2{ + private static final class ErrorConvertorImpl implements Convertor{ private final List lineStartOffsets; public ErrorConvertorImpl(List lineStartOffsets) { this.lineStartOffsets = lineStartOffsets; @@ -178,29 +178,6 @@ public int getLineNumber(SimpleError error) { return lineNumber; } @Override - public ErrorsCache.Range getRange(SimpleError error) { - int originalOffset = error.getStartPosition(); //snapshot offset - int lineNumber = 1; - int colNumber = 1; - if (originalOffset >= 0) { - int idx = Collections.binarySearch(lineStartOffsets, originalOffset); - if (idx < 0) { - // idx == (-(insertion point) - 1) -> (insertion point) == -idx - 1 - int ln = -idx - 1; - assert ln >= 1 && ln <= lineStartOffsets.size() : - "idx=" + idx + ", lineNumber=" + ln + ", lineStartOffsets.size()=" + lineStartOffsets.size(); //NOI18N - if (ln >= 1 && ln <= lineStartOffsets.size()) { - lineNumber = ln; - colNumber = originalOffset - lineStartOffsets.get(ln - 1); - } - } else { - lineNumber = idx + 1; - } - } - - return new ErrorsCache.Range(new ErrorsCache.Position(lineNumber, colNumber), null); - } - @Override public String getMessage(SimpleError error) { return error.getDisplayName(); } diff --git a/ide/parsing.indexing/apichanges.xml b/ide/parsing.indexing/apichanges.xml index 5360a56b85b3..41ed48df3ce5 100644 --- a/ide/parsing.indexing/apichanges.xml +++ b/ide/parsing.indexing/apichanges.xml @@ -87,20 +87,6 @@ is the proper place. - - - Added method to ErrorsCache to return all errors or warnings for the given file - - - - - -

- Added the getErrors() method to return errors or warnings for the given file. -

-
- -
Added method to ErrorsCache to return all files with error or warning diff --git a/ide/parsing.indexing/nbproject/project.properties b/ide/parsing.indexing/nbproject/project.properties index 7b0db0ba928e..00955b41faa0 100644 --- a/ide/parsing.indexing/nbproject/project.properties +++ b/ide/parsing.indexing/nbproject/project.properties @@ -16,7 +16,7 @@ # under the License. javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=9.37.0 +spec.version.base=9.36.0 is.autoload=true javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java index 08a415febd53..3a239519e325 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java @@ -45,8 +45,6 @@ import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.api.project.FileOwnerQuery; @@ -55,11 +53,8 @@ import org.netbeans.modules.parsing.impl.indexing.PathRegistry; import org.netbeans.modules.parsing.impl.indexing.URLCache; import org.netbeans.modules.parsing.impl.indexing.implspi.CacheFolderProvider; -import org.netbeans.modules.parsing.spi.indexing.ErrorsCache; import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.Convertor; -import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.Convertor2; import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.ErrorKind; -import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.ReverseConvertor; import org.netbeans.modules.parsing.spi.indexing.Indexable; import org.netbeans.spi.tasklist.Task; import org.openide.filesystems.FileObject; @@ -82,8 +77,6 @@ public class TaskCache { private static final Logger LOG = Logger.getLogger(TaskCache.class.getName()); - private static final Pattern PATTERN = Pattern.compile("(\\d*),(\\d*)(?:-(\\d*),(\\d*))?"); - static { // LOG.setLevel(Level.FINEST); } @@ -110,31 +103,17 @@ private String getTaskType( ErrorKind k ) { } return null; } - - private ReverseConvertor getTaskConvertor(FileObject file) { - return (kind, range, message) -> { - String severity = getTaskType(kind); - if (null != severity) { - return Task.create(file, severity, message, range.getStart().getLine()); - } - return null; - }; - } - + public List getErrors(FileObject file) { - return getErrors(file, getTaskConvertor(file)); - } - - public List getErrors(FileObject file, ReverseConvertor convertor) { - List result = new LinkedList<>(); + List result = new LinkedList(); - result.addAll(getErrors(file, convertor, ERR_EXT)); - result.addAll(getErrors(file, convertor, WARN_EXT)); + result.addAll(getErrors(file, ERR_EXT)); + result.addAll(getErrors(file, WARN_EXT)); return result; } - private List getErrors(FileObject file, ReverseConvertor convertor, String ext) { + private List getErrors(FileObject file, String ext) { LOG.log(Level.FINE, "getErrors, file={0}, ext={1}", new Object[] {FileUtil.getFileDisplayName(file), ext}); //NOI18N try { @@ -143,16 +122,16 @@ private List getErrors(FileObject file, ReverseConvertor convertor, St LOG.log(Level.FINE, "getErrors, error file={0}", input == null ? "null" : input.getAbsolutePath()); //NOI18N if (input == null || !input.canRead()) - return Collections.emptyList(); + return Collections.emptyList(); input.getParentFile().mkdirs(); - return loadErrors(input, convertor); + return loadErrors(input, file); } catch (IOException e) { LOG.log(Level.FINE, null, e); } - return Collections.emptyList(); + return Collections.emptyList(); } private boolean dumpErrors(File output, Iterable errors, Convertor convertor, boolean interestedInReturnValue) throws IOException { @@ -165,15 +144,7 @@ private boolean dumpErrors(File output, Iterable errors, Conver for (T err : errors) { pw.print(convertor.getKind(err).name()); pw.print(':'); //NOI18N - if (convertor instanceof Convertor2) { - ErrorsCache.Range range = ((Convertor2) convertor).getRange(err); - pw.print(String.format("%d,%d", range.getStart().getLine(), range.getStart().getColumn())); - if (range.getEnd() != null) { - pw.print(String.format("-%d,%d", range.getEnd().getLine(), range.getEnd().getColumn())); - } - } else { - pw.print(convertor.getLineNumber(err)); - } + pw.print(convertor.getLineNumber(err)); pw.print(':'); //NOI18N String description = convertor.getMessage(err); @@ -284,8 +255,8 @@ private void dumpErrors(TransactionContext c, URL root, Indexable i, Iterabl c.rootsToRefresh.add(root); } - private List loadErrors(File input, ReverseConvertor convertor) throws IOException { - List result = new LinkedList<>(); + private List loadErrors(File input, FileObject file) throws IOException { + List result = new LinkedList(); BufferedReader pw = new BufferedReader(new InputStreamReader(new FileInputStream(input), StandardCharsets.UTF_8)); String line; @@ -306,26 +277,18 @@ private List loadErrors(File input, ReverseConvertor convertor) throws continue; } - ErrorsCache.Range range; - Matcher matcher = PATTERN.matcher(parts[1]); - if (matcher.matches()) { - ErrorsCache.Position start = new ErrorsCache.Position(Integer.parseInt(matcher.group(1)), Integer.parseInt(matcher.group(2))); - ErrorsCache.Position end = matcher.group(3) != null && matcher.group(4) != null ? new ErrorsCache.Position(Integer.parseInt(matcher.group(3)), Integer.parseInt(matcher.group(4))) : null; - range = new ErrorsCache.Range(start, end); - } else { - int lineNumber = Integer.parseInt(parts[1]); - range = new ErrorsCache.Range(new ErrorsCache.Position(lineNumber, 1), null); - } - + int lineNumber = Integer.parseInt(parts[1]); String message = parts[2]; - message = message.replace("\\d", ":") //NOI18N - .replace("\\n", "\n") //NOI18N - .replace("\\\\", "\\"); //NOI18N + message = message.replaceAll("\\\\d", ":"); //NOI18N + message = message.replaceAll("\\\\n", " "); //NOI18N + message = message.replaceAll("\\\\\\\\", "\\\\"); //NOI18N - T item = convertor.get(kind, range, message); - if (null != item) { - result.add(item); + String severity = getTaskType(kind); + + if (null != severity) { + Task err = Task.create(file, severity, message, lineNumber); + result.add(err); } } @@ -388,12 +351,12 @@ private List getAllFilesWithRecord(URL root, boolean onlyErrors) throws IOE public List getAllFilesInError(URL root) throws IOException { return getAllFilesWithRecord(root, true); } - + public boolean isInError(FileObject file, boolean recursive) { LOG.log(Level.FINE, "file={0}, recursive={1}", new Object[] {file, Boolean.valueOf(recursive)}); //NOI18N if (file.isData()) { - return !getErrors(file, getTaskConvertor(file), ERR_EXT).isEmpty(); + return !getErrors(file, ERR_EXT).isEmpty(); } else { try { ClassPath cp = Utilities.getSourceClassPathFor (file); diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/ErrorsCache.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/ErrorsCache.java index a6c896ef7605..b0730a588b84 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/ErrorsCache.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/spi/indexing/ErrorsCache.java @@ -23,7 +23,6 @@ import java.net.URL; import java.util.Collection; import java.util.Collections; -import java.util.List; import org.netbeans.modules.parsing.impl.indexing.errors.TaskCache; import org.openide.filesystems.FileObject; @@ -75,17 +74,6 @@ public static Collection getAllFilesWithRecord(URL root) throws I return Collections.unmodifiableCollection(TaskCache.getDefault().getAllFilesWithRecord(root)); } - /**Return all errors or warnings for the given file - * - * @param file file for which the errors are being retrieved - * @param convertor constructor of {@code T} instances from error description properties - * @return errors or warnings - * @since 9.37 - */ - public static List getErrors(FileObject file, ReverseConvertor convertor) throws IOException { - return Collections.unmodifiableList(TaskCache.getDefault().getErrors(file, convertor)); - } - /**Getter for properties of the given error description. */ public static interface Convertor { @@ -94,62 +82,6 @@ public static interface Convertor { public String getMessage(T t); } - /**Position in a text expressed as 1-based line and character offset. - * @since 9.37 - */ - public static final class Position { - private int line; - private int column; - - public Position(int line, int column) { - this.line = line; - this.column = column; - } - - public int getLine() { - return line; - } - - public int getColumn() { - return column; - } - } - - /**Range in a text expressed as (1-based) start and end positions. - * @since 9.37 - */ - public static final class Range { - private Position start; - private Position end; - - public Range(Position start, Position end) { - this.start = start; - this.end = end; - } - - public Position getStart() { - return start; - } - - public Position getEnd() { - return end; - } - } - - /**Getter for properties of the given error description including the range. - * @since 9.37 - */ - public static interface Convertor2 extends Convertor { - public Range getRange(T t); - } - - /**Constructor of error description from the properties. - * @since 9.37 - */ - public static interface ReverseConvertor { - public T get(ErrorKind kind, Range range, String message); - } - public static enum ErrorKind { /**Error, that should be used to show error badge in the projects tab. */ diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ErrorsNotifier.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ErrorsNotifier.java index 398c4ef8abc1..c79de141f6e4 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ErrorsNotifier.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/ErrorsNotifier.java @@ -18,29 +18,22 @@ */ package org.netbeans.modules.java.lsp.server.protocol; -import java.io.IOException; -import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.WeakHashMap; import java.util.concurrent.Future; -import org.eclipse.lsp4j.Diagnostic; -import org.eclipse.lsp4j.DiagnosticSeverity; -import org.eclipse.lsp4j.Position; -import org.eclipse.lsp4j.Range; +import java.util.stream.Collectors; +import org.netbeans.api.lsp.Diagnostic; import org.netbeans.api.project.FileOwnerQuery; import org.netbeans.api.project.Project; import org.netbeans.modules.java.lsp.server.LspServerState; -import org.netbeans.modules.java.lsp.server.URITranslator; import org.netbeans.modules.parsing.spi.indexing.ErrorsCache; -import org.openide.filesystems.FileObject; import org.openide.filesystems.URLMapper; import org.openide.util.Exceptions; +import org.openide.util.lookup.Lookups; /** * @@ -49,7 +42,6 @@ public final class ErrorsNotifier { private final Map> servers = new WeakHashMap<>(); - private final Map> lastFilesWithErrors = new HashMap<>(); public void connect(LspServerState server, Future future) { synchronized (servers) { @@ -71,52 +63,19 @@ public void notifyErrors(URL root) { servers.keySet().removeAll(toRemove); } try { - Collection last = lastFilesWithErrors.getOrDefault(root, Collections.emptyList()); Collection filesWithErrors = ErrorsCache.getAllFilesWithRecord(root); - if (filesWithErrors.isEmpty()) { - lastFilesWithErrors.remove(root); - } else { - lastFilesWithErrors.put(root, new ArrayList<>(filesWithErrors)); - last.removeAll(filesWithErrors); - } - if (!filesWithErrors.isEmpty() || !last.isEmpty()) { + if (!filesWithErrors.isEmpty()) { Project project = FileOwnerQuery.getOwner(root.toURI()); - boolean inOpenedProject = false; for (LspServerState server : toProcess) { for (Project p : server.openedProjects().getNow(new Project[0])) { if (p == project) { - inOpenedProject = true; - for (URL fileWithError : filesWithErrors) { - FileObject fo = URLMapper.findFileObject(fileWithError); - if (fo != null) { - List diags = ErrorsCache.getErrors(fo, (kind, range, message) -> { - Position start = new Position(range.getStart().getLine() - 1, range.getStart().getColumn() - 1); - Position end = range.getEnd() != null ? new Position(range.getEnd().getLine() - 1, range.getEnd().getColumn() - 1) : start; - Diagnostic d = new Diagnostic(new Range(start, end), message); - d.setSeverity(kind == ErrorsCache.ErrorKind.WARNING ? DiagnosticSeverity.Warning : DiagnosticSeverity.Error); - return d; - }); - if (!diags.isEmpty()) { - String lspUri = URITranslator.getDefault().uriToLSP(fileWithError.toURI().toString()); - ((TextDocumentServiceImpl) server.getTextDocumentService()).publishDiagnostics(lspUri, diags); - } - } - } - for (URL fileWithError : last) { - FileObject fo = URLMapper.findFileObject(fileWithError); - if (fo != null) { - String lspUri = URITranslator.getDefault().uriToLSP(fileWithError.toURI().toString()); - ((TextDocumentServiceImpl) server.getTextDocumentService()).publishDiagnostics(lspUri, Collections.emptyList()); - } - } + Diagnostic.ReporterControl control = Diagnostic.findReporterControl(Lookups.fixed(server), null); + control.diagnosticChanged(filesWithErrors.stream().map(url -> URLMapper.findFileObject(url)).filter(fo -> fo != null).collect(Collectors.toList()), null); } } } - if (!inOpenedProject) { - lastFilesWithErrors.remove(root); - } } - } catch (IOException | URISyntaxException ex) { + } catch (Exception ex) { Exceptions.printStackTrace(ex); } } diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java index 74dbb155a7a9..09f9e6c8cbc3 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TextDocumentServiceImpl.java @@ -2318,7 +2318,7 @@ public org.netbeans.api.lsp.Diagnostic.ReporterControl createReporterControl() { * @param uri file URI * @param mergedDiags the diagnostics */ - public void publishDiagnostics(String uri, List mergedDiags) { + private void publishDiagnostics(String uri, List mergedDiags) { knownFiles.put(uri, Instant.now()); client.publishDiagnostics(new PublishDiagnosticsParams(uri, mergedDiags)); } diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java index be50b041d3d9..b18c7850daff 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/protocol/ServerTest.java @@ -1733,7 +1733,6 @@ public void testFixImports() throws Exception { w.write(code); } List[] diags = new List[1]; - AtomicBoolean checkForDiags = new AtomicBoolean(false); CountDownLatch indexingComplete = new CountDownLatch(1); Launcher serverLauncher = createClientLauncherWithLogging(new TestCodeLanguageClient() { @Override @@ -1745,11 +1744,9 @@ public void showStatusBarMessage(ShowStatusMessageParams params) { @Override public void publishDiagnostics(PublishDiagnosticsParams params) { - if (checkForDiags.get()) { - synchronized (diags) { - diags[0] = params.getDiagnostics(); - diags.notifyAll(); - } + synchronized (diags) { + diags[0] = params.getDiagnostics(); + diags.notifyAll(); } } }, client.getInputStream(), client.getOutputStream()); @@ -1762,7 +1759,6 @@ public void publishDiagnostics(PublishDiagnosticsParams params) { InitializeResult result = server.initialize(initParams).get(); indexingComplete.await(); String uri = toURI(src); - checkForDiags.set(true); server.getTextDocumentService().didOpen(new DidOpenTextDocumentParams(new TextDocumentItem(uri, "java", 0, code))); Diagnostic unresolvable = assertDiags(diags, "Error:2:8-2:12").get(0); diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java index 063e99355dfa..52751b70485a 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/JavaCustomIndexer.java @@ -59,11 +59,8 @@ import java.util.logging.Level; import java.util.regex.Pattern; import java.util.stream.Collectors; - -import com.sun.source.tree.CompilationUnitTree; -import com.sun.source.tree.LineMap; - import javax.lang.model.SourceVersion; + import javax.lang.model.element.ElementKind; import javax.lang.model.element.ModuleElement; import javax.lang.model.element.TypeElement; @@ -71,8 +68,8 @@ import javax.tools.Diagnostic; import javax.tools.Diagnostic.Kind; import javax.tools.JavaFileObject; - import org.netbeans.api.annotations.common.CheckForNull; + import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; import org.netbeans.api.editor.mimelookup.MimeRegistration; @@ -109,7 +106,7 @@ import org.netbeans.modules.parsing.spi.indexing.CustomIndexer; import org.netbeans.modules.parsing.spi.indexing.CustomIndexerFactory; import org.netbeans.modules.parsing.spi.indexing.ErrorsCache; -import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.Convertor2; +import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.Convertor; import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.ErrorKind; import org.netbeans.modules.parsing.spi.indexing.Indexable; import org.netbeans.spi.java.classpath.support.ClassPathSupport; @@ -805,10 +802,10 @@ public static void addAptGenerated( } } - public static void setErrors(Context context, CompileTuple active, CompilationUnitTree cut, DiagnosticListenerImpl errors) { + public static void setErrors(Context context, CompileTuple active, DiagnosticListenerImpl errors) { if (!active.virtual) { Iterable> filteredErrorsList = Iterators.filter(errors.getDiagnostics(active.jfo), new FilterOutJDK7AndLaterWarnings()); - ErrorsCache.setErrors(context.getRootURI(), active.indexable, filteredErrorsList, new ErrorConvertorImpl(active.aptGenerated ? ErrorKind.ERROR_NO_BADGE : ErrorKind.ERROR, cut.getLineMap())); + ErrorsCache.setErrors(context.getRootURI(), active.indexable, filteredErrorsList, active.aptGenerated ? ERROR_CONVERTOR_NO_BADGE : ERROR_CONVERTOR); } } @@ -1301,15 +1298,13 @@ public CompileTuple (final PrefetchableJavaFileObject jfo, final Indexable index } } - private static final Convertor2> ERROR_CONVERTOR = new ErrorConvertorImpl(ErrorKind.ERROR, null); - private static final Convertor2> ERROR_CONVERTOR_NO_BADGE = new ErrorConvertorImpl(ErrorKind.ERROR_NO_BADGE, null); + private static final Convertor> ERROR_CONVERTOR = new ErrorConvertorImpl(ErrorKind.ERROR); + private static final Convertor> ERROR_CONVERTOR_NO_BADGE = new ErrorConvertorImpl(ErrorKind.ERROR_NO_BADGE); - private static final class ErrorConvertorImpl implements Convertor2> { + private static final class ErrorConvertorImpl implements Convertor> { private final ErrorKind errorKind; - private final LineMap lm; - public ErrorConvertorImpl(ErrorKind errorKind, LineMap lm) { + public ErrorConvertorImpl(ErrorKind errorKind) { this.errorKind = errorKind; - this.lm = lm; } @Override public ErrorKind getKind(Diagnostic t) { @@ -1320,16 +1315,6 @@ public int getLineNumber(Diagnostic t) { return (int) t.getLineNumber(); } @Override - public ErrorsCache.Range getRange(Diagnostic t) { - if (lm == null) { - return new ErrorsCache.Range(new ErrorsCache.Position((int) t.getLineNumber(), (int) t.getColumnNumber()), null); - } - return new ErrorsCache.Range( - new ErrorsCache.Position((int) lm.getLineNumber(t.getStartPosition()), (int) lm.getColumnNumber(t.getStartPosition())), - new ErrorsCache.Position((int) lm.getLineNumber(t.getEndPosition()), (int) lm.getColumnNumber(t.getEndPosition())) - ); - } - @Override public String getMessage(Diagnostic t) { return t.getMessage(null); } diff --git a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java index 4a820e9c5075..9058addefbe8 100644 --- a/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java +++ b/java/java.source.base/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorker.java @@ -340,7 +340,7 @@ protected ParsingOutput compile( } ExecutableFilesIndex.DEFAULT.setMainClass(context.getRoot().toURL(), active.indexable.getURL(), main[0]); dropMethodsAndErrors(jt.getContext(), unit.getKey(), dc); - JavaCustomIndexer.setErrors(context, active, unit.getKey(), dc); + JavaCustomIndexer.setErrors(context, active, dc); } if (context.isCancelled()) { return null; From 1a5e7a87d0b3a64c900102e296f4d1ee1703ed4a Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Sat, 23 Nov 2024 17:43:39 +0100 Subject: [PATCH 55/94] Handling Diagnostics with position -1 while writing error/warning index. --- .../impl/indexing/errors/TaskCache.java | 1 + .../source/indexing/JavaCustomIndexer.java | 8 ++- .../indexing/VanillaCompileWorkerTest.java | 54 +++++++++++++++++++ 3 files changed, 62 insertions(+), 1 deletion(-) diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java index 08a415febd53..90442b05c2bc 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java @@ -229,6 +229,7 @@ public void dumpErrors(final URL root, final Indexable i, final Iterable t) { if (lm == null) { return new ErrorsCache.Range(new ErrorsCache.Position((int) t.getLineNumber(), (int) t.getColumnNumber()), null); } + ErrorsCache.Position endPos; + if (t.getEndPosition() == (-1)) { + endPos = null; + } else { + endPos = new ErrorsCache.Position((int) lm.getLineNumber(t.getEndPosition()), (int) lm.getColumnNumber(t.getEndPosition())); + } return new ErrorsCache.Range( new ErrorsCache.Position((int) lm.getLineNumber(t.getStartPosition()), (int) lm.getColumnNumber(t.getStartPosition())), - new ErrorsCache.Position((int) lm.getLineNumber(t.getEndPosition()), (int) lm.getColumnNumber(t.getEndPosition())) + endPos ); } @Override diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java index bcd1c07c8701..482ddf14a061 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java @@ -27,6 +27,7 @@ import java.util.EnumSet; import java.util.HashMap; import java.util.HashSet; +import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; @@ -53,11 +54,16 @@ import org.netbeans.modules.classfile.ClassFile; import org.netbeans.modules.java.source.indexing.CompileWorker.ParsingOutput; import org.netbeans.modules.java.source.indexing.JavaCustomIndexer.CompileTuple; +import org.netbeans.modules.parsing.impl.indexing.errors.TaskCache; import org.netbeans.modules.parsing.spi.indexing.Context; +import org.netbeans.modules.parsing.spi.indexing.ErrorsCache; +import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.ErrorKind; +import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.Range; import org.netbeans.spi.java.classpath.support.ClassPathSupport; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; +import org.openide.util.Pair; /** * @@ -2431,6 +2437,54 @@ public void testRecord2() throws Exception { assertEquals(expected, file2Fixed); } + public void testBrokenWarningEndPos() throws Exception { //NETBEANS-7981 + setCompilerOptions(Arrays.asList("-Xlint:deprecation")); + + String code = """ + package test; + public class Test { + void t() { + new D() {}; + } + } + class D { + @Deprecated + D() {} + } + """; + ParsingOutput result = runIndexing(Arrays.asList(compileTuple("test/Test.java", + code)), + Arrays.asList()); + + assertFalse(result.lowMemory); + assertTrue(result.success); + + Set createdFiles = new HashSet(); + + for (File created : result.createdFiles) { + createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); + } + + assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig", + "cache/s1/java/15/classes/test/Test$1.sig", + "cache/s1/java/15/classes/test/D.sig")), + createdFiles); + record Data(ErrorKind kind, Pair, Pair> range) {} + List errors = TaskCache.getDefault().getErrors(getRoot().getFileObject("test/Test.java"), new ErrorsCache.ReverseConvertor() { + @Override + public Data get(ErrorKind kind, Range range, String message) { + return new Data(kind, Pair.of(Pair.of(range.getStart().getLine(), + range.getStart().getColumn()), + range.getEnd() != null ? Pair.of(range.getEnd().getLine(), + range.getEnd().getColumn()) + : null)); + } + }); + assertEquals(List.of(new Data(ErrorKind.WARNING, Pair.of(Pair.of(4, 9), Pair.of(4, 19))), + new Data(ErrorKind.WARNING, Pair.of(Pair.of(4, 17), null))), + errors); + } + public static void noop() {} @Override From e7c33aaefd8161ea894726cbb0f7acede88399e7 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Tue, 26 Nov 2024 00:21:01 +0100 Subject: [PATCH 56/94] Fix ConcurrentModificationException on mass Ant project open. Evaluators synchronize their inner workings on a per-instance basis. The static cache however is shared between instances and should use a sharable collection. ConcurrentHashMap is probably the best choice here, since the potentially long running computeIfAbsent would only lock the item, not the map. --- .../org/netbeans/modules/apisupport/project/Evaluator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/Evaluator.java b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/Evaluator.java index 17c507757750..72af92e26ea1 100644 --- a/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/Evaluator.java +++ b/apisupport/apisupport.ant/src/org/netbeans/modules/apisupport/project/Evaluator.java @@ -38,6 +38,7 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; +import java.util.concurrent.ConcurrentHashMap; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Matcher; @@ -889,7 +890,11 @@ private String mergePaths(Set cnbs, boolean test,String testtype,File te return cps.toString(); } - private static final Map limitModulesCache = new HashMap<>(); + /** + * cache shared between Evaluator instances. + */ + private static final Map limitModulesCache = new ConcurrentHashMap<>(); + private static String getLimitModules(String javacRelease) { return limitModulesCache.computeIfAbsent(javacRelease, release -> { int maxSupportedSourceVersion = SourceVersion.latest().ordinal(); From b559da99351e8c9300e1ea31f78b3e74c47a5962 Mon Sep 17 00:00:00 2001 From: Dusan Balek Date: Tue, 26 Nov 2024 11:09:08 +0100 Subject: [PATCH 57/94] VSCode: Running all tests in project fixed. --- .../lsp/server/debugging/launch/NbLaunchRequestHandler.java | 4 ++-- java/java.lsp.server/vscode/src/extension.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java index 8fe3046049ef..0b1a26d3875d 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java @@ -87,9 +87,10 @@ public CompletableFuture launch(Map launchArguments, Debug String filePath = (String)launchArguments.get("file"); String projectFilePath = (String)launchArguments.get("projectFile"); String mainFilePath = (String)launchArguments.get("mainClass"); + boolean testRun = (Boolean) launchArguments.getOrDefault("testRun", Boolean.FALSE); if (!isNative && (StringUtils.isBlank(mainFilePath) && StringUtils.isBlank(filePath) && StringUtils.isBlank(projectFilePath) - || modulePaths.isEmpty() && classPaths.isEmpty())) { + || modulePaths.isEmpty() && classPaths.isEmpty()) && !testRun) { if (modulePaths.isEmpty() && classPaths.isEmpty()) { ErrorUtilities.completeExceptionally(resultFuture, "Failed to launch debuggee VM. Missing modulePaths/classPaths options in launch configuration.", @@ -244,7 +245,6 @@ public CompletableFuture launch(Map launchArguments, Debug context.setSourcePaths((String[]) launchArguments.get("sourcePaths")); } String singleMethod = (String)launchArguments.get("methodName"); - boolean testRun = (Boolean) launchArguments.getOrDefault("testRun", Boolean.FALSE); activeLaunchHandler.nbLaunch(file, preferProjActions, nativeImageFile, singleMethod, launchArguments, context, !noDebug, testRun, new OutputListener(context)).thenRun(() -> { activeLaunchHandler.postLaunch(launchArguments, context); resultFuture.complete(null); diff --git a/java/java.lsp.server/vscode/src/extension.ts b/java/java.lsp.server/vscode/src/extension.ts index 8db683de5091..88ba0196a863 100644 --- a/java/java.lsp.server/vscode/src/extension.ts +++ b/java/java.lsp.server/vscode/src/extension.ts @@ -803,7 +803,7 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { debugConfig['testRun'] = testRun; const workspaceFolder = vscode.workspace.getWorkspaceFolder(docUri); - if (project) { + if (project || testRun) { debugConfig['projectFile'] = docUri.toString(); debugConfig['project'] = true; } else { From c26698d5969d8253230dd323cd7e847fed8c4838 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Fri, 22 Nov 2024 18:47:26 +0100 Subject: [PATCH 58/94] Fixing handling of 'case null'. --- .../modules/java/hints/bugs/NPECheck.java | 59 +++++++- .../modules/java/hints/bugs/NPECheckTest.java | 140 ++++++++++++++++++ 2 files changed, 194 insertions(+), 5 deletions(-) diff --git a/java/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java b/java/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java index 32ef1bd43d07..3beeb9bedd5a 100644 --- a/java/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java +++ b/java/java.hints/src/org/netbeans/modules/java/hints/bugs/NPECheck.java @@ -227,13 +227,42 @@ public static ErrorDescription unboxingConditional(HintContext ctx) { } - @TriggerPattern("switch ($select) { case $cases$; }") + @TriggerTreeKind({Kind.SWITCH, Kind.SWITCH_EXPRESSION}) public static ErrorDescription switchExpression(HintContext ctx) { - TreePath select = ctx.getVariables().get("$select"); + ExpressionTree selector; + List cases; + Tree swtch = ctx.getPath().getLeaf(); + + switch (swtch.getKind()) { + case SWITCH -> { + SwitchTree st = (SwitchTree) swtch; + selector = st.getExpression(); + cases = st.getCases(); + } + case SWITCH_EXPRESSION -> { + SwitchExpressionTree st = (SwitchExpressionTree) swtch; + selector = st.getExpression(); + cases = st.getCases(); + } + default -> throw new IllegalStateException("Unexpected tree kind: " + swtch.getKind()); + } + + TreePath select = new TreePath(ctx.getPath(), selector); TypeMirror m = ctx.getInfo().getTrees().getTypeMirror(select); if (m == null || m.getKind() != TypeKind.DECLARED) { return null; } + + boolean hasNullCase = cases.stream() + .flatMap(ct -> ct.getLabels().stream()) + .filter(clt -> clt.getKind() == Kind.CONSTANT_CASE_LABEL) + .map(ctl -> ((ConstantCaseLabelTree) ctl).getConstantExpression()) + .anyMatch(expr -> expr.getKind() == Kind.NULL_LITERAL); + + if (hasNullCase) { + return null; + } + State r = computeExpressionsState(ctx).get(select.getLeaf()); if (r == NULL || r == NULL_HYPOTHETICAL) { String displayName = NbBundle.getMessage(NPECheck.class, "ERR_DereferencingNull"); @@ -1284,6 +1313,11 @@ public State visitSwitchExpression(SwitchExpressionTree node, Void p) { private void handleGeneralizedSwitch(Tree switchTree, ExpressionTree expression, List cases) { scan(expression, null); + Element selectorElement = info.getTrees().getElement(new TreePath(getCurrentPath(), expression)); + VariableElement selectorVariable = + isVariableElement(selectorElement) && !hasDefiniteValue((VariableElement) selectorElement) ? (VariableElement) selectorElement + : null; + Map origVariable2State = new HashMap<>(variable2State); boolean exhaustive = false; @@ -1291,14 +1325,29 @@ private void handleGeneralizedSwitch(Tree switchTree, ExpressionTree expression, for (CaseTree ct : cases) { mergeIntoVariable2State(origVariable2State); - if (ct.getExpression() == null) { - exhaustive = true; + boolean hasNull = false; + + for (CaseLabelTree clt : ct.getLabels()) { + switch (clt.getKind()) { + case DEFAULT_CASE_LABEL -> exhaustive = true; + case CONSTANT_CASE_LABEL -> { + if (((ConstantCaseLabelTree) clt).getConstantExpression().getKind() == Kind.NULL_LITERAL) { + hasNull = true; + } + } + } + } + + if (selectorVariable != null) { + variable2State.put(selectorVariable, hasNull ? State.NULL_HYPOTHETICAL : State.NOT_NULL_HYPOTHETICAL); } State caseResult = scan(ct, null); if (ct.getCaseKind() == CaseKind.RULE) { - pendingYields.add(caseResult); + if (ct.getBody() != null && ExpressionTree.class.isAssignableFrom(ct.getBody().getKind().asInterface())) { + pendingYields.add(caseResult); + } breakTo(switchTree); } } diff --git a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java index 20f6663f7910..f8edbeaff21a 100644 --- a/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java +++ b/java/java.hints/test/unit/src/org/netbeans/modules/java/hints/bugs/NPECheckTest.java @@ -1830,6 +1830,146 @@ public void testObjectsRequireNonNullElse() throws Exception { .assertNotContainsWarnings("Possibly Dereferencing null"); } + public void testSwitchCaseNull() throws Exception { + HintTest.create() + .sourceLevel("21") + .input(""" + package test; + public class Test { + private void test(@NullAllowed E e) { + switch (e) { + case null: + System.err.println(e.name()); + break; + default: + if (e == null) {} + System.err.println(e.name()); + break; + } + } + @interface NullAllowed {} + enum E {A} + } + """) + .run(NPECheck.class) + .assertWarnings("5:37-5:41:verifier:DN", + "8:20-8:29:verifier:ERR_NotNull"); + } + + public void testCaseNullIsANullTest1() throws Exception { + HintTest.create() + .sourceLevel("21") + .input(""" + package test; + public class Test { + private void test(E e) { + switch (e) { + case null: + break; + default: + break; + } + e.name(); + } + enum E {A} + } + """) + .run(NPECheck.class) + .assertWarnings("9:10-9:14:verifier:Possibly Dereferencing null"); + } + + public void testCaseNullIsANullTest2() throws Exception { + HintTest.create() + .sourceLevel("21") + .input(""" + package test; + public class Test { + private void test(E e) { + switch (e) { + case null: + return ; + default: + break; + } + if (e != null) { + e.name(); + } + } + enum E {A} + } + """) + .run(NPECheck.class) + .assertWarnings("9:12-9:21:verifier:ERR_NotNull"); + } + + public void testSwitchExpressionCaseNull() throws Exception { + HintTest.create() + .sourceLevel("21") + .input(""" + package test; + public class Test { + private String test(@NullAllowed E e) { + return switch (e) { + case null: + System.err.println(e.name()); + yield ""; + default: + if (e == null) {} + System.err.println(e.name()); + yield ""; + }; + } + @interface NullAllowed {} + enum E {A} + } + """) + .run(NPECheck.class) + .assertWarnings("5:37-5:41:verifier:DN", + "8:20-8:29:verifier:ERR_NotNull"); + } + + public void testSwitchExpressionNullSelector() throws Exception { + HintTest.create() + .sourceLevel("21") + .input(""" + package test; + public class Test { + private String test(@NullAllowed E e) { + return switch (e) { + default: + yield ""; + }; + } + @interface NullAllowed {} + enum E {A} + } + """) + .run(NPECheck.class) + .assertWarnings("3:15-3:27:verifier:Possibly Dereferencing null"); + } + + public void testSwitchExpressionYieldedNonNull() throws Exception { + HintTest.create() + .sourceLevel("21") + .input(""" + package test; + public class Test { + private void test(int i) { + String y = switch (i) { + case 0 -> ""; + default -> { + yield ""; + } + }; + if (y != null) {} + } + enum E {A} + } + """) + .run(NPECheck.class) + .assertWarnings("9:12-9:21:verifier:ERR_NotNull"); + } + private void performAnalysisTest(String fileName, String code, String... golden) throws Exception { HintTest.create() .input(fileName, code) From ef08ea6d774a522dba929825fc3adb3b0aced5cd Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Wed, 27 Nov 2024 18:06:06 +0100 Subject: [PATCH 59/94] Revert "[NETBEANS-7981] Handling Diagnostics with position -1 while writing error/warning index." --- .../impl/indexing/errors/TaskCache.java | 1 - .../source/indexing/JavaCustomIndexer.java | 8 +-- .../indexing/VanillaCompileWorkerTest.java | 54 ------------------- 3 files changed, 1 insertion(+), 62 deletions(-) diff --git a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java index 90442b05c2bc..08a415febd53 100644 --- a/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java +++ b/ide/parsing.indexing/src/org/netbeans/modules/parsing/impl/indexing/errors/TaskCache.java @@ -229,7 +229,6 @@ public void dumpErrors(final URL root, final Indexable i, final Iterable t) { if (lm == null) { return new ErrorsCache.Range(new ErrorsCache.Position((int) t.getLineNumber(), (int) t.getColumnNumber()), null); } - ErrorsCache.Position endPos; - if (t.getEndPosition() == (-1)) { - endPos = null; - } else { - endPos = new ErrorsCache.Position((int) lm.getLineNumber(t.getEndPosition()), (int) lm.getColumnNumber(t.getEndPosition())); - } return new ErrorsCache.Range( new ErrorsCache.Position((int) lm.getLineNumber(t.getStartPosition()), (int) lm.getColumnNumber(t.getStartPosition())), - endPos + new ErrorsCache.Position((int) lm.getLineNumber(t.getEndPosition()), (int) lm.getColumnNumber(t.getEndPosition())) ); } @Override diff --git a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java index 482ddf14a061..bcd1c07c8701 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/modules/java/source/indexing/VanillaCompileWorkerTest.java @@ -27,7 +27,6 @@ import java.util.EnumSet; import java.util.HashMap; import java.util.HashSet; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; @@ -54,16 +53,11 @@ import org.netbeans.modules.classfile.ClassFile; import org.netbeans.modules.java.source.indexing.CompileWorker.ParsingOutput; import org.netbeans.modules.java.source.indexing.JavaCustomIndexer.CompileTuple; -import org.netbeans.modules.parsing.impl.indexing.errors.TaskCache; import org.netbeans.modules.parsing.spi.indexing.Context; -import org.netbeans.modules.parsing.spi.indexing.ErrorsCache; -import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.ErrorKind; -import org.netbeans.modules.parsing.spi.indexing.ErrorsCache.Range; import org.netbeans.spi.java.classpath.support.ClassPathSupport; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; import org.openide.filesystems.URLMapper; -import org.openide.util.Pair; /** * @@ -2437,54 +2431,6 @@ public void testRecord2() throws Exception { assertEquals(expected, file2Fixed); } - public void testBrokenWarningEndPos() throws Exception { //NETBEANS-7981 - setCompilerOptions(Arrays.asList("-Xlint:deprecation")); - - String code = """ - package test; - public class Test { - void t() { - new D() {}; - } - } - class D { - @Deprecated - D() {} - } - """; - ParsingOutput result = runIndexing(Arrays.asList(compileTuple("test/Test.java", - code)), - Arrays.asList()); - - assertFalse(result.lowMemory); - assertTrue(result.success); - - Set createdFiles = new HashSet(); - - for (File created : result.createdFiles) { - createdFiles.add(getWorkDir().toURI().relativize(created.toURI()).getPath()); - } - - assertEquals(new HashSet(Arrays.asList("cache/s1/java/15/classes/test/Test.sig", - "cache/s1/java/15/classes/test/Test$1.sig", - "cache/s1/java/15/classes/test/D.sig")), - createdFiles); - record Data(ErrorKind kind, Pair, Pair> range) {} - List errors = TaskCache.getDefault().getErrors(getRoot().getFileObject("test/Test.java"), new ErrorsCache.ReverseConvertor() { - @Override - public Data get(ErrorKind kind, Range range, String message) { - return new Data(kind, Pair.of(Pair.of(range.getStart().getLine(), - range.getStart().getColumn()), - range.getEnd() != null ? Pair.of(range.getEnd().getLine(), - range.getEnd().getColumn()) - : null)); - } - }); - assertEquals(List.of(new Data(ErrorKind.WARNING, Pair.of(Pair.of(4, 9), Pair.of(4, 19))), - new Data(ErrorKind.WARNING, Pair.of(Pair.of(4, 17), null))), - errors); - } - public static void noop() {} @Override From bbdc51ece37f456467db5a9400c894c61576ee69 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Fri, 29 Nov 2024 15:20:38 +0100 Subject: [PATCH 60/94] Improving Java code completion support for sealed types in switches. --- .../org-netbeans-modules-java-completion.sig | 16 +- .../nbproject/project.properties | 2 +- .../java/completion/JavaCompletionTask.java | 272 +++++++++++++++--- .../17/javaLangSubPackages.pass | 9 + .../17/nonSealedTypeSwitch.pass | 16 ++ .../17/sealedTypeSwitch.pass | 16 ++ .../17/sealedTypeSwitchEJAFiltered.pass | 15 + ...sealedTypeSwitchEJAFilteredQualified1.pass | 7 + ...sealedTypeSwitchEJAFilteredQualified2.pass | 2 + .../17/sealedTypeSwitchJFiltered.pass | 9 + .../sealedTypeSwitchJFilteredQualified.pass | 2 + ...edTypeSwitchJFilteredQualifiedPackage.pass | 1 + .../data/SwitchWithNonSealedType.java | 38 +++ .../completion/data/SwitchWithSealedType.java | 38 +++ .../java/completion/CompletionTestBase.java | 9 +- .../JavaCompletionTask121FeaturesTest.java | 69 +++++ .../editor/java/JavaCompletionCollector.java | 6 +- .../editor/java/JavaCompletionItem.java | 10 +- .../java/JavaCompletionItemFactory.java | 8 +- .../editor/java/LazyJavaCompletionItem.java | 10 +- 20 files changed, 488 insertions(+), 67 deletions(-) create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/javaLangSubPackages.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/nonSealedTypeSwitch.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitch.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFiltered.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFilteredQualified1.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFilteredQualified2.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFiltered.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFilteredQualified.pass create mode 100644 java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFilteredQualifiedPackage.pass create mode 100644 java/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SwitchWithNonSealedType.java create mode 100644 java/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SwitchWithSealedType.java diff --git a/java/java.completion/nbproject/org-netbeans-modules-java-completion.sig b/java/java.completion/nbproject/org-netbeans-modules-java-completion.sig index 21d34200b392..8fddca9ab799 100644 --- a/java/java.completion/nbproject/org-netbeans-modules-java-completion.sig +++ b/java/java.completion/nbproject/org-netbeans-modules-java-completion.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.11.0 +#Version 2.13.0 CLSS public abstract interface java.io.Serializable @@ -8,8 +8,10 @@ meth public abstract int compareTo({java.lang.Comparable%0}) CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>> cons protected init(java.lang.String,int) +innr public final static EnumDesc intf java.io.Serializable intf java.lang.Comparable<{java.lang.Enum%0}> +intf java.lang.constant.Constable meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected final void finalize() meth public final boolean equals(java.lang.Object) @@ -18,6 +20,7 @@ meth public final int hashCode() meth public final int ordinal() meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass() meth public final java.lang.String name() +meth public final java.util.Optional> describeConstable() meth public java.lang.String toString() meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String) supr java.lang.Object @@ -32,6 +35,7 @@ CLSS public java.lang.Object cons public init() meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected void finalize() throws java.lang.Throwable + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9") meth public boolean equals(java.lang.Object) meth public final java.lang.Class getClass() meth public final void notify() @@ -68,6 +72,9 @@ CLSS public abstract interface !annotation java.lang.annotation.Target intf java.lang.annotation.Annotation meth public abstract java.lang.annotation.ElementType[] value() +CLSS public abstract interface java.lang.constant.Constable +meth public abstract java.util.Optional describeConstable() + CLSS public final org.netbeans.modules.java.completion.JavaCompletionTask<%0 extends java.lang.Object> fld protected final int caretOffset fld protected final java.util.concurrent.Callable cancel @@ -88,7 +95,8 @@ meth public static <%0 extends java.lang.Object> org.netbeans.modules.java.compl anno 4 org.netbeans.api.annotations.common.NullAllowed() meth public void run(org.netbeans.modules.parsing.api.ResultIterator) throws java.lang.Exception supr org.netbeans.modules.parsing.api.UserTask -hfds ABSTRACT_KEYWORD,ASSERT_KEYWORD,BLOCK_KEYWORDS,BOOLEAN_KEYWORD,BREAK_KEYWORD,BYTE_KEYWORD,CASE_KEYWORD,CATCH_KEYWORD,CHAR_KEYWORD,CLASS_BODY_KEYWORDS,CLASS_KEYWORD,COLON,CONTINUE_KEYWORD,DEFAULT_KEYWORD,DOUBLE_KEYWORD,DO_KEYWORD,ELSE_KEYWORD,EMPTY,ENUM_KEYWORD,ERROR,EXPORTS_KEYWORD,EXTENDS_KEYWORD,FALSE_KEYWORD,FINALLY_KEYWORD,FINAL_KEYWORD,FLOAT_KEYWORD,FOR_KEYWORD,IF_KEYWORD,IMPLEMENTS_KEYWORD,IMPORT_KEYWORD,INIT,INSTANCEOF_KEYWORD,INTERFACE_KEYWORD,INT_KEYWORD,JAVA_LANG_CLASS,JAVA_LANG_ITERABLE,JAVA_LANG_OBJECT,LONG_KEYWORD,MODULE_BODY_KEYWORDS,MODULE_KEYWORD,NATIVE_KEYWORD,NEW_KEYWORD,NON_SEALED_KEYWORD,NULL_KEYWORD,OPENS_KEYWORD,OPEN_KEYWORD,PACKAGE_KEYWORD,PERMITS_KEYWORD,PRIM_KEYWORDS,PRIVATE_KEYWORD,PROTECTED_KEYWORD,PROVIDES_KEYWORD,PUBLIC_KEYWORD,RECORD_KEYWORD,REQUIRES_KEYWORD,RETURN_KEYWORD,SEALED_KEYWORD,SEMI,SHORT_KEYWORD,SPACE,STATEMENT_KEYWORDS,STATEMENT_SPACE_KEYWORDS,STATIC_KEYWORD,STRICT_KEYWORD,SUPER_KEYWORD,SWITCH_KEYWORD,SYNCHRONIZED_KEYWORD,THIS_KEYWORD,THROWS_KEYWORD,THROW_KEYWORD,TO_KEYWORD,TRANSIENT_KEYWORD,TRANSITIVE_KEYWORD,TRUE_KEYWORD,TRY_KEYWORD,USES_KEYWORD,VAR_KEYWORD,VOID_KEYWORD,VOLATILE_KEYWORD,WHEN_KEYWORD,WHILE_KEYWORD,WITH_KEYWORD,YIELD_KEYWORD,anchorOffset,hasAdditionalClasses,hasAdditionalMembers,itemFactory,options,results +hfds ABSTRACT_KEYWORD,ASSERT_KEYWORD,BLOCK_KEYWORDS,BOOLEAN_KEYWORD,BREAK_KEYWORD,BYTE_KEYWORD,CASE_KEYWORD,CATCH_KEYWORD,CHAR_KEYWORD,CLASS_BODY_KEYWORDS,CLASS_KEYWORD,COLON,CONTINUE_KEYWORD,DEFAULT_KEYWORD,DOUBLE_KEYWORD,DO_KEYWORD,ELSE_KEYWORD,EMPTY,ENUM_KEYWORD,ERROR,EXPORTS_KEYWORD,EXTENDS_KEYWORD,FALSE_KEYWORD,FINALLY_KEYWORD,FINAL_KEYWORD,FLOAT_KEYWORD,FOR_KEYWORD,IF_KEYWORD,IMPLEMENTS_KEYWORD,IMPORT_KEYWORD,INIT,INSTANCEOF_KEYWORD,INTERFACE_KEYWORD,INT_KEYWORD,JAVA_LANG_CLASS,JAVA_LANG_ITERABLE,JAVA_LANG_OBJECT,JAVA_LANG_STRING,LONG_KEYWORD,MODULE_BODY_KEYWORDS,MODULE_KEYWORD,NATIVE_KEYWORD,NEW_KEYWORD,NON_SEALED_KEYWORD,NULL_KEYWORD,OPENS_KEYWORD,OPEN_KEYWORD,PACKAGE_KEYWORD,PERMITS_KEYWORD,PRIM_KEYWORDS,PRIVATE_KEYWORD,PROTECTED_KEYWORD,PROVIDES_KEYWORD,PUBLIC_KEYWORD,RECORD_KEYWORD,REQUIRES_KEYWORD,RETURN_KEYWORD,SEALED_KEYWORD,SEMI,SHORT_KEYWORD,SPACE,STATEMENT_KEYWORDS,STATEMENT_SPACE_KEYWORDS,STATIC_KEYWORD,STRICT_KEYWORD,SUPER_KEYWORD,SWITCH_KEYWORD,SYNCHRONIZED_KEYWORD,THIS_KEYWORD,THROWS_KEYWORD,THROW_KEYWORD,TO_KEYWORD,TRANSIENT_KEYWORD,TRANSITIVE_KEYWORD,TRUE_KEYWORD,TRY_KEYWORD,USES_KEYWORD,VAR_KEYWORD,VOID_KEYWORD,VOLATILE_KEYWORD,WHEN_KEYWORD,WHILE_KEYWORD,WITH_KEYWORD,YIELD_KEYWORD,addSwitchItemDefault,anchorOffset,hasAdditionalClasses,hasAdditionalMembers,itemFactory,options,results +hcls AddSwitchRelatedItem CLSS public abstract interface static org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory<%0 extends java.lang.Object> outer org.netbeans.modules.java.completion.JavaCompletionTask @@ -105,8 +113,8 @@ meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$It meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createOverrideMethodItem(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.element.ExecutableElement,javax.lang.model.type.ExecutableType,int,boolean) meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createPackageItem(java.lang.String,int,boolean) meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createParametersItem(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.element.ExecutableElement,javax.lang.model.type.ExecutableType,int,boolean,int,java.lang.String) -meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createStaticMemberItem(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.DeclaredType,javax.lang.model.element.Element,javax.lang.model.type.TypeMirror,boolean,int,boolean,boolean) -meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createStaticMemberItem(org.netbeans.api.java.source.ElementHandle,java.lang.String,int,boolean,org.netbeans.api.java.source.support.ReferencesCount,org.netbeans.modules.parsing.api.Source) +meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createStaticMemberItem(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.DeclaredType,javax.lang.model.element.Element,javax.lang.model.type.TypeMirror,boolean,int,boolean,boolean,boolean) +meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createStaticMemberItem(org.netbeans.api.java.source.ElementHandle,java.lang.String,int,boolean,org.netbeans.api.java.source.support.ReferencesCount,org.netbeans.modules.parsing.api.Source,boolean) meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createThisOrSuperConstructorItem(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.element.ExecutableElement,javax.lang.model.type.ExecutableType,int,boolean,java.lang.String) meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createTypeItem(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.element.TypeElement,javax.lang.model.type.DeclaredType,int,org.netbeans.api.java.source.support.ReferencesCount,boolean,boolean,boolean,boolean,boolean,boolean) meth public abstract {org.netbeans.modules.java.completion.JavaCompletionTask$ItemFactory%0} createTypeItem(org.netbeans.api.java.source.ElementHandle,java.util.EnumSet,int,org.netbeans.api.java.source.support.ReferencesCount,org.netbeans.modules.parsing.api.Source,boolean,boolean,boolean) diff --git a/java/java.completion/nbproject/project.properties b/java/java.completion/nbproject/project.properties index f9e74a9b3f01..8a13a7d7341f 100644 --- a/java/java.completion/nbproject/project.properties +++ b/java/java.completion/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial spec.version.base=2.13.0 #test configs diff --git a/java/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java b/java/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java index be001bce2358..ac22658fe54f 100644 --- a/java/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java +++ b/java/java.completion/src/org/netbeans/modules/java/completion/JavaCompletionTask.java @@ -26,6 +26,7 @@ import java.io.IOException; import java.util.*; import java.util.concurrent.Callable; +import java.util.function.Predicate; import java.util.logging.Logger; import java.util.logging.Level; @@ -106,9 +107,9 @@ public static interface ItemFactory { T createAttributeValueItem(CompilationInfo info, String value, String documentation, TypeElement element, int substitutionOffset, ReferencesCount referencesCount); - T createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon); + T createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon, boolean smartType); - T createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source); + T createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source, boolean smartType); T createChainedMembersItem(CompilationInfo info, List chainedElems, List chainedTypes, int substitutionOffset, boolean isDeprecated, boolean addSemicolon); @@ -218,6 +219,7 @@ public static enum Options { private static final String RECORD_KEYWORD = "record"; //NOI18N private static final String JAVA_LANG_CLASS = "java.lang.Class"; //NOI18N private static final String JAVA_LANG_OBJECT = "java.lang.Object"; //NOI18N + private static final String JAVA_LANG_STRING = "java.lang.String"; //NOI18N private static final String JAVA_LANG_ITERABLE = "java.lang.Iterable"; //NOI18N private static final String[] PRIM_KEYWORDS = new String[]{ @@ -252,6 +254,7 @@ public static enum Options { private final ItemFactory itemFactory; private final Set options; + private final AddSwitchRelatedItem addSwitchItemDefault; private ArrayList results; private boolean hasAdditionalClasses; @@ -262,6 +265,17 @@ private JavaCompletionTask(final int caretOffset, final ItemFactory factory, super(caretOffset, cancel); this.itemFactory = factory; this.options = options; + addSwitchItemDefault = new AddSwitchRelatedItem() { + @Override + public void addTypeItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, ReferencesCount referencesCount, boolean isDeprecated, boolean insideNew, boolean addTypeVars, boolean addSimpleName, boolean smartType, boolean autoImportEnclosingType) { + results.add(itemFactory.createTypeItem(info, elem, type, substitutionOffset, referencesCount, isDeprecated, insideNew, addTypeVars, addSimpleName, smartType, autoImportEnclosingType)); + } + + @Override + public void addVariableItem(CompilationInfo info, VariableElement elem, TypeMirror type, int substitutionOffset, ReferencesCount referencesCount, boolean isInherited, boolean isDeprecated, boolean smartType, int assignToVarOffset) { + results.add(itemFactory.createVariableItem(info, elem, type, substitutionOffset, referencesCount, isInherited, isDeprecated, smartType, assignToVarOffset)); + } + }; } public List getResults() { @@ -1650,6 +1664,9 @@ private void insideMemberSelect(Env env) throws IOException { ExpressionTree exp = fa.getExpression(); TreePath expPath = new TreePath(path, exp); TypeMirror type = controller.getTrees().getTypeMirror(expPath); + TypeMirror tempSwitchSelectorType; + AddSwitchRelatedItem switchItemAdder = addSwitchItemDefault; + AddSwitchRelatedItem tempSwitchItemAdder; if (type != null) { Element el = controller.getTrees().getElement(expPath); TreeUtilities tu = controller.getTreeUtilities(); @@ -1798,6 +1815,15 @@ private void insideMemberSelect(Env env) throws IOException { kinds = withinProvidesService(env) ? EnumSet.of(ANNOTATION_TYPE, CLASS, INTERFACE) : EnumSet.of(CLASS); } else if (tu.getPathElementOfKind(Tree.Kind.USES, path) != null) { kinds = EnumSet.of(ANNOTATION_TYPE, CLASS, INTERFACE); + } else if (parent.getKind() == Kind.CONSTANT_CASE_LABEL && + grandParent != null && + grandParent.getKind() == Kind.CASE && + (tempSwitchSelectorType = getSwitchSelectorType(env, grandParentPath.getParentPath())) != null && + tempSwitchSelectorType.getKind() == TypeKind.DECLARED && + (tempSwitchItemAdder = itemAdderForSwitchOrNull(env, grandParentPath.getParentPath())) != null) { + kinds = EnumSet.of(CLASS, ENUM, ANNOTATION_TYPE, INTERFACE, RECORD, ENUM_CONSTANT); + baseType = (DeclaredType) tempSwitchSelectorType; + switchItemAdder = tempSwitchItemAdder; } else { kinds = EnumSet.of(CLASS, ENUM, ANNOTATION_TYPE, INTERFACE, RECORD, FIELD, METHOD, ENUM_CONSTANT, RECORD_COMPONENT); } @@ -1840,7 +1866,7 @@ private void insideMemberSelect(Env env) throws IOException { String typeName = controller.getElementUtilities().getElementName(el, true) + "." + prefix; //NOI18N TypeMirror tm = controller.getTreeUtilities().parseType(typeName, env.getScope().getEnclosingClass()); if (tm != null && tm.getKind() == TypeKind.DECLARED) { - addMembers(env, tm, ((DeclaredType) tm).asElement(), EnumSet.of(CONSTRUCTOR), null, inImport, insideNew, false); + addMembers(env, tm, ((DeclaredType) tm).asElement(), EnumSet.of(CONSTRUCTOR), null, inImport, insideNew, false, switchItemAdder); } } } @@ -1875,7 +1901,7 @@ private void insideMemberSelect(Env env) throws IOException { } } } - addMembers(env, type, el, kinds, baseType, inImport, insideNew, false); + addMembers(env, type, el, kinds, baseType, inImport, insideNew, false, switchItemAdder); } break; default: @@ -1888,7 +1914,7 @@ private void insideMemberSelect(Env env) throws IOException { String typeName = controller.getElementUtilities().getElementName(el, true) + "." + prefix; //NOI18N TypeMirror tm = controller.getTreeUtilities().parseType(typeName, env.getScope().getEnclosingClass()); if (tm != null && tm.getKind() == TypeKind.DECLARED) { - addMembers(env, tm, ((DeclaredType) tm).asElement(), EnumSet.of(CONSTRUCTOR), null, inImport, insideNew, false); + addMembers(env, tm, ((DeclaredType) tm).asElement(), EnumSet.of(CONSTRUCTOR), null, inImport, insideNew, false, switchItemAdder); } } if (exs != null && !exs.isEmpty()) { @@ -1898,12 +1924,12 @@ private void insideMemberSelect(Env env) throws IOException { Element e = ((DeclaredType) ex).asElement(); if (e.getEnclosingElement() == el && startsWith(env, e.getSimpleName().toString()) && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e)) && !Utilities.isExcluded(((TypeElement)e).getQualifiedName())) { env.addToExcludes(e); - results.add(itemFactory.createTypeItem(env.getController(), (TypeElement) e, (DeclaredType) ex, anchorOffset, env.getReferencesCount(), elements.isDeprecated(e), false, env.isInsideClass(), true, true, false)); + switchItemAdder.addTypeItem(env.getController(), (TypeElement) e, (DeclaredType) ex, anchorOffset, env.getReferencesCount(), elements.isDeprecated(e), false, env.isInsideClass(), true, true, false); } } } } - addPackageContent(env, (PackageElement) el, kinds, baseType, insideNew, srcOnly); + addPackageContent(env, (PackageElement) el, kinds, baseType, insideNew, srcOnly, switchItemAdder); if (results.isEmpty() && ((PackageElement) el).getQualifiedName() == el.getSimpleName()) { // no package content? Check for unimported class ClassIndex ci = controller.getClasspathInfo().getClassIndex(); @@ -1913,7 +1939,7 @@ private void insideMemberSelect(Env env) throws IOException { for (ElementHandle teHandle : ci.getDeclaredTypes(el.getSimpleName().toString(), ClassIndex.NameKind.SIMPLE_NAME, EnumSet.allOf(ClassIndex.SearchScope.class))) { TypeElement te = teHandle.resolve(controller); if (te != null && trees.isAccessible(scope, te)) { - addMembers(env, te.asType(), te, kinds, baseType, inImport, insideNew, true); + addMembers(env, te.asType(), te, kinds, baseType, inImport, insideNew, true, switchItemAdder); } } } @@ -1929,6 +1955,21 @@ private void insideMemberSelect(Env env) throws IOException { } } + private TypeMirror getSwitchSelectorType(Env env, TreePath swtch) { + TreePath selector; + Tree leaf = swtch.getLeaf(); + + switch (leaf.getKind()) { + case SWITCH -> selector = new TreePath(swtch, ((SwitchTree) leaf).getExpression()); + case SWITCH_EXPRESSION -> selector = new TreePath(swtch, ((SwitchExpressionTree) leaf).getExpression()); + default -> { + return null; + } + } + + return env.getController().getTrees().getTypeMirror(selector); + } + private void insideMemberReference(Env env) throws IOException { TreePath path = env.getPath(); MemberReferenceTree mr = (MemberReferenceTree) path.getLeaf(); @@ -2496,8 +2537,10 @@ private void insideCase(Env env) throws IOException { } TypeMirror tm = controller.getTrees().getTypeMirror(new TreePath(parentPath, exprTree)); if (tm.getKind() == TypeKind.DECLARED) { - if (((DeclaredType) tm).asElement().getKind() == ENUM) { - addEnumConstants(env, (TypeElement) ((DeclaredType) tm).asElement()); + DeclaredType selectorDeclaredType = (DeclaredType) tm; + Element selectorTypeElement = selectorDeclaredType.asElement(); + if (selectorTypeElement.getKind() == ENUM) { + addEnumConstants(env, (TypeElement) selectorTypeElement); } else { if (env.getController().getSourceVersion().compareTo(RELEASE_21) >= 0) { if (prefix != null) { @@ -2510,9 +2553,21 @@ private void insideCase(Env env) throws IOException { } } } - addCaseLabels(env, cst); + addCaseLabels(env, cst); //TODO: this belongs to the enum branch as well + } + + AddSwitchRelatedItem addType = itemAdderForSwitchOrNull(env, parentPath); + + if (addType == null) { + //if no filter can be determined, add all: + addLocalConstantsAndTypes(env); + } else { + EnumSet allClassKind = + EnumSet.of(ElementKind.ANNOTATION_TYPE, ElementKind.CLASS, + ElementKind.ENUM, ElementKind.INTERFACE, + ElementKind.RECORD); + addTypes(env, allClassKind, (DeclaredType) tm, addType); } - addLocalConstantsAndTypes(env); } } else { addLocalConstantsAndTypes(env); @@ -2548,6 +2603,90 @@ private void insideCase(Env env) throws IOException { } } + private AddSwitchRelatedItem itemAdderForSwitchOrNull(Env env, TreePath switchPath) { + TypeMirror selectorType = getSwitchSelectorType(env, switchPath); + + if (selectorType == null || selectorType.getKind() != TypeKind.DECLARED) { + return null; + } + + TypeElement jlObject = env.getController().getElements().getTypeElement(JAVA_LANG_OBJECT); + TypeElement jlString = env.getController().getElements().getTypeElement(JAVA_LANG_STRING); + Element selectorTypeElement = ((DeclaredType) selectorType).asElement(); + + if (Objects.equals(selectorTypeElement, jlObject) || + Objects.equals(selectorTypeElement, jlString)) { + //for java.lang.Object, any type can be a subtype, + //so just use all types + //for String, types might contain constant fields of + //type String, give up and show all types: + return null; + } else { + boolean selectorSealed = selectorTypeElement.getModifiers().contains(Modifier.SEALED); + + if (selectorSealed) { + options.add(Options.ALL_COMPLETION); + } + + Pair, Set> alreadyUsed = computedUsedInSwitch(env, switchPath); + Predicate checkTypeCovered = type -> { + Types types = env.getController().getTypes(); + TypeMirror typeErasure = types.erasure(type); + + for (TypeMirror usedType : alreadyUsed.second()) { + if (env.getController().getTypes().isSubtype(typeErasure, usedType)) { + return true; + } + } + + return false; + }; + + if (env.getController().getSourceVersion().compareTo(RELEASE_21) >= 0) { + return new AddSwitchRelatedItem() { + @Override + public void addTypeItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, ReferencesCount referencesCount, boolean isDeprecated, boolean insideNew, boolean addTypeVars, boolean addSimpleName, boolean smartType, boolean autoImportEnclosingType) { + if (!checkTypeCovered.test(type)) { + addSwitchItemDefault.addTypeItem(info, elem, type, substitutionOffset, referencesCount, isDeprecated, insideNew, addTypeVars, addSimpleName, smartType, autoImportEnclosingType); + if (elem.getKind() == ElementKind.ENUM) { + for (VariableElement enumConstant : ElementFilter.fieldsIn(elem.getEnclosedElements())) { + if (enumConstant.getKind() != ElementKind.ENUM_CONSTANT || alreadyUsed.first().contains(enumConstant)) { + continue; + } + //not filtering deprecated, etc., as those may be needed for exhaustiveness: + results.add(itemFactory.createStaticMemberItem(info, type, enumConstant, enumConstant.asType(), false, anchorOffset, info.getElements().isDeprecated(enumConstant), false, selectorSealed)); + } + } + } + } + + @Override + public void addVariableItem(CompilationInfo info, VariableElement elem, TypeMirror type, int substitutionOffset, ReferencesCount referencesCount, boolean isInherited, boolean isDeprecated, boolean smartType, int assignToVarOffset) { + if (!alreadyUsed.first().contains(elem)) { + addSwitchItemDefault.addVariableItem(info, elem, type, substitutionOffset, referencesCount, isInherited, isDeprecated, smartType, assignToVarOffset); + } + } + }; + } else { + return new AddSwitchRelatedItem() { + @Override + public void addTypeItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, ReferencesCount referencesCount, boolean isDeprecated, boolean insideNew, boolean addTypeVars, boolean addSimpleName, boolean smartType, boolean autoImportEnclosingType) { + if (!checkTypeCovered.test(type)) { + addSwitchItemDefault.addTypeItem(info, elem, type, substitutionOffset, referencesCount, isDeprecated, insideNew, addTypeVars, addSimpleName, smartType, autoImportEnclosingType); + } + } + + @Override + public void addVariableItem(CompilationInfo info, VariableElement elem, TypeMirror type, int substitutionOffset, ReferencesCount referencesCount, boolean isInherited, boolean isDeprecated, boolean smartType, int assignToVarOffset) { + if (!alreadyUsed.first().contains(elem)) { + addSwitchItemDefault.addVariableItem(info, elem, type, substitutionOffset, referencesCount, isInherited, isDeprecated, smartType, assignToVarOffset); + } + } + }; + } + } + } + private void insideParens(Env env) throws IOException { TreePath path = env.getPath(); ParenthesizedTree pa = (ParenthesizedTree) path.getLeaf(); @@ -3440,7 +3579,7 @@ public boolean accept(Element e, TypeMirror t) { }; for (Element ee : controller.getElementUtilities().getMembers(type, acceptor)) { if (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(ee)) { - results.add(itemFactory.createStaticMemberItem(env.getController(), type, ee, asMemberOf(ee, type, types), false, anchorOffset, elements.isDeprecated(ee), false)); + results.add(itemFactory.createStaticMemberItem(env.getController(), type, ee, asMemberOf(ee, type, types), false, anchorOffset, elements.isDeprecated(ee), false, true)); } } } @@ -3524,7 +3663,7 @@ public boolean accept(Element e, TypeMirror t) { }; for (Element ee : controller.getElementUtilities().getMembers(type, acceptor)) { if (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(ee)) { - results.add(itemFactory.createStaticMemberItem(env.getController(), type, ee, asMemberOf(ee, type, types), false, anchorOffset, elements.isDeprecated(ee), env.addSemicolon())); + results.add(itemFactory.createStaticMemberItem(env.getController(), type, ee, asMemberOf(ee, type, types), false, anchorOffset, elements.isDeprecated(ee), env.addSemicolon(), true)); } } } @@ -3561,7 +3700,7 @@ public boolean accept(Element e, TypeMirror t) { } ExecutableType et = (ExecutableType) asMemberOf(e, enclClass != null ? enclClass.asType() : null, types); if (e.getEnclosingElement() != enclClass && conflictsWithLocalMethods(e.getSimpleName(), enclClass, methodsIn)) { - results.add(itemFactory.createStaticMemberItem(env.getController(), (DeclaredType)e.getEnclosingElement().asType(), e, et, false, anchorOffset, elements.isDeprecated(e), env.addSemicolon())); + results.add(itemFactory.createStaticMemberItem(env.getController(), (DeclaredType)e.getEnclosingElement().asType(), e, et, false, anchorOffset, elements.isDeprecated(e), env.addSemicolon(), true)); } else { results.add(itemFactory.createExecutableItem(env.getController(), (ExecutableElement) e, et, anchorOffset, null, env.getScope().getEnclosingClass() != e.getEnclosingElement(), elements.isDeprecated(e), false, env.addSemicolon(), isOfSmartType(env, getCorrectedReturnType(env, et, (ExecutableElement) e, enclClass != null ? enclClass.asType() : null), smartTypes), env.assignToVarPos(), false)); } @@ -3733,7 +3872,7 @@ public boolean accept(Element e, TypeMirror t) { for (DeclaredType dt : dts) { if (startsWith(env, dt.asElement().getSimpleName().toString())) { for (Element ee : controller.getElementUtilities().getMembers(dt, acceptor)) { - results.add(itemFactory.createStaticMemberItem(env.getController(), dt, ee, asMemberOf(ee, dt, types), false, anchorOffset, elements.isDeprecated(ee), env.addSemicolon())); + results.add(itemFactory.createStaticMemberItem(env.getController(), dt, ee, asMemberOf(ee, dt, types), false, anchorOffset, elements.isDeprecated(ee), env.addSemicolon(), true)); } } } @@ -3830,7 +3969,7 @@ private void addAllStaticMemberNames(final Env env) { } for (String name : symbols.getSymbols()) { if (!Utilities.isExcludeMethods() || !Utilities.isExcluded(symbols.getEnclosingType().getQualifiedName() + '.' + name)) { - results.add(itemFactory.createStaticMemberItem(symbols.getEnclosingType(), name, anchorOffset, env.addSemicolon(), env.getReferencesCount(), controller.getSnapshot().getSource())); + results.add(itemFactory.createStaticMemberItem(symbols.getEnclosingType(), name, anchorOffset, env.addSemicolon(), env.getReferencesCount(), controller.getSnapshot().getSource(), true)); } } } @@ -3933,7 +4072,11 @@ public boolean accept(Element e, TypeMirror t) { } } - private void addMembers(final Env env, final TypeMirror type, final Element elem, final EnumSet kinds, final DeclaredType baseType, final boolean inImport, final boolean insideNew, final boolean autoImport) throws IOException { + private void addMembers(final Env env, final TypeMirror type, final Element elem, final EnumSet kinds, final DeclaredType baseType, final boolean inImport, final boolean insideNew, final boolean autoImport) throws IOException { + addMembers(env, type, elem, kinds, baseType, inImport, insideNew, autoImport, addSwitchItemDefault); + } + + private void addMembers(final Env env, final TypeMirror type, final Element elem, final EnumSet kinds, final DeclaredType baseType, final boolean inImport, final boolean insideNew, final boolean autoImport, AddSwitchRelatedItem addSwitchItem) throws IOException { Set smartTypes = getSmartTypes(env); final TreePath path = env.getPath(); TypeMirror actualType = type; @@ -4071,7 +4214,7 @@ && isOfKindAndType(e.getEnclosingElement().asType(), e, kinds, baseType, scope, if (addCast && itemFactory instanceof TypeCastableItemFactory) { results.add(((TypeCastableItemFactory)itemFactory).createTypeCastableVariableItem(env.getController(), (VariableElement) e, tm, actualType, anchorOffset, autoImport ? env.getReferencesCount() : null, typeElem != e.getEnclosingElement(), elements.isDeprecated(e), isOfSmartType(env, tm, smartTypes), env.assignToVarPos())); } else { - results.add(itemFactory.createVariableItem(env.getController(), (VariableElement) e, tm, anchorOffset, autoImport ? env.getReferencesCount() : null, typeElem != e.getEnclosingElement(), elements.isDeprecated(e), isOfSmartType(env, tm, smartTypes), env.assignToVarPos())); + addSwitchItem.addVariableItem(env.getController(), (VariableElement) e, tm, anchorOffset, autoImport ? env.getReferencesCount() : null, typeElem != e.getEnclosingElement(), elements.isDeprecated(e), isOfSmartType(env, tm, smartTypes), env.assignToVarPos()); } } break; @@ -4094,7 +4237,7 @@ && isOfKindAndType(e.getEnclosingElement().asType(), e, kinds, baseType, scope, case INTERFACE: case ANNOTATION_TYPE: DeclaredType dt = (DeclaredType) asMemberOf(e, actualType, types); - results.add(itemFactory.createTypeItem(env.getController(), (TypeElement) e, dt, anchorOffset, null, elements.isDeprecated(e), insideNew, insideNew || env.isInsideClass(), true, isOfSmartType(env, dt, smartTypes), autoImport)); + addSwitchItem.addTypeItem(env.getController(), (TypeElement) e, dt, anchorOffset, null, elements.isDeprecated(e), insideNew, insideNew || env.isInsideClass(), true, isOfSmartType(env, dt, smartTypes), autoImport); break; } } @@ -4152,36 +4295,64 @@ public boolean accept(Element e, TypeMirror t) { private void addEnumConstants(Env env, TypeElement elem) { Elements elements = env.getController().getElements(); - Trees trees = env.getController().getTrees(); TreePath path = env.getPath().getParentPath(); - Set alreadyUsed = new HashSet<>(); + Pair, Set> alreadyUsed = computedUsedInSwitch(env, path); + + for (Element e : elem.getEnclosedElements()) { + if (e.getKind() == ENUM_CONSTANT && !alreadyUsed.first().contains(e)) { + String name = e.getSimpleName().toString(); + if (startsWith(env, name) && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e))) { + results.add(itemFactory.createVariableItem(env.getController(), (VariableElement) e, e.asType(), anchorOffset, null, false, elements.isDeprecated(e), false, env.assignToVarPos())); + } + } + } + } + + private Pair, Set> computedUsedInSwitch(Env env, TreePath switchPath) { + Trees trees = env.getController().getTrees(); + Types types = env.getController().getTypes(); + Set alreadyUsedElements = new HashSet<>(); + Set alreadyUsedTypes = new HashSet<>(); List caseTrees = null; - if (path != null && path.getLeaf().getKind() == Tree.Kind.SWITCH) { - SwitchTree st = (SwitchTree) path.getLeaf(); + if (switchPath != null && switchPath.getLeaf().getKind() == Tree.Kind.SWITCH) { + SwitchTree st = (SwitchTree) switchPath.getLeaf(); caseTrees = st.getCases(); - } else if (path != null && path.getLeaf().getKind() == Tree.Kind.SWITCH_EXPRESSION) { - caseTrees = ((SwitchExpressionTree) path.getLeaf()).getCases(); + } else if (switchPath != null && switchPath.getLeaf().getKind() == Tree.Kind.SWITCH_EXPRESSION) { + caseTrees = ((SwitchExpressionTree) switchPath.getLeaf()).getCases(); } if (caseTrees != null) { for (CaseTree ct : caseTrees) { - for (ExpressionTree et : ct.getExpressions()) { - Element e = et != null ? trees.getElement(new TreePath(path, et)) : null; - if (e != null && e.getKind() == ENUM_CONSTANT) { - alreadyUsed.add(e); + for (CaseLabelTree label : ct.getLabels()) { + TreePath labelPath = new TreePath(switchPath, label); + switch (label.getKind()) { + case CONSTANT_CASE_LABEL -> { + //note that cases with constant case labels can't legally have guards + ConstantCaseLabelTree ccl = (ConstantCaseLabelTree) label; + Element e = ccl.getConstantExpression() != null ? trees.getElement(new TreePath(labelPath, ccl.getConstantExpression())) : null; + if (e != null && e.getKind() == ENUM_CONSTANT) { + alreadyUsedElements.add(e); + } + } + case PATTERN_CASE_LABEL -> { + PatternCaseLabelTree pcl = (PatternCaseLabelTree) label; + if (ct.getGuard() == null && pcl.getPattern().getKind() == Kind.BINDING_PATTERN) { + BindingPatternTree bp = (BindingPatternTree) pcl.getPattern(); + TreePath typePath = new TreePath(new TreePath(new TreePath(labelPath, bp), + bp.getVariable()), + bp.getVariable().getType()); + TypeMirror type = trees.getTypeMirror(typePath); + if (type != null) { + alreadyUsedTypes.add(types.erasure(type)); + } + } + } } } } } - for (Element e : elem.getEnclosedElements()) { - if (e.getKind() == ENUM_CONSTANT && !alreadyUsed.contains(e)) { - String name = e.getSimpleName().toString(); - if (startsWith(env, name) && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(e))) { - results.add(itemFactory.createVariableItem(env.getController(), (VariableElement) e, e.asType(), anchorOffset, null, false, elements.isDeprecated(e), false, env.assignToVarPos())); - } - } - } + return Pair.of(alreadyUsedElements, alreadyUsedTypes); } private void addCaseLabels(Env env, CaseTree cst) { @@ -4225,6 +4396,10 @@ private void addCaseLabels(Env env, CaseTree cst) { } private void addPackageContent(final Env env, PackageElement pe, EnumSet kinds, DeclaredType baseType, boolean insideNew, boolean srcOnly) throws IOException { + addPackageContent(env, pe, kinds, baseType, insideNew, srcOnly, addSwitchItemDefault); + } + + private void addPackageContent(final Env env, PackageElement pe, EnumSet kinds, DeclaredType baseType, boolean insideNew, boolean srcOnly, AddSwitchRelatedItem addSwitchItem) throws IOException { if (isRecordSupported(env)) { kinds.add(RECORD); } @@ -4243,7 +4418,7 @@ && startsWith(env, name) && (Utilities.isShowDeprecatedMembers() || !elements.is && trees.isAccessible(scope, (TypeElement) e) && isOfKindAndType(e.asType(), e, kinds, baseType, scope, trees, types) && !Utilities.isExcluded(eu.getElementName(e, true))) { - results.add(itemFactory.createTypeItem(env.getController(), (TypeElement) e, (DeclaredType) e.asType(), anchorOffset, null, elements.isDeprecated(e), insideNew, insideNew || env.isInsideClass(), true, isOfSmartType(env, e.asType(), smartTypes), false)); + addSwitchItem.addTypeItem(env.getController(), (TypeElement) e, (DeclaredType) e.asType(), anchorOffset, null, elements.isDeprecated(e), insideNew, insideNew || env.isInsideClass(), true, isOfSmartType(env, e.asType(), smartTypes), false); } } } @@ -4293,6 +4468,10 @@ private void addModuleNames(Env env, String fqnPrefix, boolean srcOnly) { } private void addTypes(Env env, EnumSet kinds, DeclaredType baseType) throws IOException { + addTypes(env, kinds, baseType, addSwitchItemDefault); + } + + private void addTypes(Env env, EnumSet kinds, DeclaredType baseType, AddSwitchRelatedItem addTypeItem) throws IOException { if (options.contains(Options.ALL_COMPLETION) || options.contains(Options.COMBINED_COMPLETION)) { if (baseType == null) { addAllTypes(env, kinds); @@ -4302,18 +4481,18 @@ private void addTypes(Env env, EnumSet kinds, DeclaredType baseType for (DeclaredType subtype : getSubtypesOf(env, baseType)) { TypeElement elem = (TypeElement) subtype.asElement(); if ((excludes == null || !excludes.contains(elem)) && (Utilities.isShowDeprecatedMembers() || !elements.isDeprecated(elem)) && !Utilities.isExcluded(elem.getQualifiedName()) && (!env.isAfterExtends() || !elem.getModifiers().contains(Modifier.FINAL))) { - results.add(itemFactory.createTypeItem(env.getController(), elem, subtype, anchorOffset, env.getReferencesCount(), elements.isDeprecated(elem), env.isInsideNew(), env.isInsideNew() || env.isInsideClass(), false, true, false)); + addTypeItem.addTypeItem(env.getController(), elem, subtype, anchorOffset, env.getReferencesCount(), elements.isDeprecated(elem), env.isInsideNew(), env.isInsideNew() || env.isInsideClass(), false, true, false); } } } } else { - addLocalAndImportedTypes(env, kinds, baseType); + addLocalAndImportedTypes(env, kinds, baseType, addTypeItem); hasAdditionalClasses = true; } addPackages(env, null, kinds.isEmpty()); } - private void addLocalAndImportedTypes(final Env env, final EnumSet kinds, final DeclaredType baseType) throws IOException { + private void addLocalAndImportedTypes(final Env env, final EnumSet kinds, final DeclaredType baseType, AddSwitchRelatedItem addTypeItem) throws IOException { final CompilationController controller = env.getController(); final Trees trees = controller.getTrees(); final Elements elements = controller.getElements(); @@ -4345,7 +4524,7 @@ public boolean accept(Element e, TypeMirror t) { case INTERFACE: case ANNOTATION_TYPE: case RECORD: - results.add(itemFactory.createTypeItem(env.getController(), (TypeElement) e, (DeclaredType) e.asType(), anchorOffset, null, elements.isDeprecated(e), env.isInsideNew(), env.isInsideNew() || env.isInsideClass(), false, false, false)); + addTypeItem.addTypeItem(env.getController(), (TypeElement) e, (DeclaredType) e.asType(), anchorOffset, null, elements.isDeprecated(e), env.isInsideNew(), env.isInsideNew() || env.isInsideClass(), false, false, false); env.addToExcludes(e); break; case TYPE_PARAMETER: @@ -4372,11 +4551,16 @@ public boolean accept(Element e, TypeMirror t) { && ts != null && ts.token().id() == JavaTokenId.INSTANCEOF) { results.add(((RecordPatternItemFactory) itemFactory).createRecordPatternItem(controller, e, (DeclaredType) e.asType(), anchorOffset, null, controller.getElements().isDeprecated(e), env.isInsideNew(), env.isInsideNew() || env.isInsideClass())); } else { - results.add(itemFactory.createTypeItem(env.getController(), e, (DeclaredType) e.asType(), anchorOffset, null, elements.isDeprecated(e), env.isInsideNew(), env.isInsideNew() || env.isInsideClass(), false, false, false)); + addTypeItem.addTypeItem(env.getController(), e, (DeclaredType) e.asType(), anchorOffset, null, elements.isDeprecated(e), env.isInsideNew(), env.isInsideNew() || env.isInsideClass(), false, false, false); } } } + private interface AddSwitchRelatedItem { + public void addTypeItem(CompilationInfo info, TypeElement elem, DeclaredType type, int substitutionOffset, ReferencesCount referencesCount, boolean isDeprecated, boolean insideNew, boolean addTypeVars, boolean addSimpleName, boolean smartType, boolean autoImportEnclosingType); + public void addVariableItem(CompilationInfo info, VariableElement elem, TypeMirror type, int substitutionOffset, ReferencesCount referencesCount, boolean isInherited, boolean isDeprecated, boolean smartType, int assignToVarOffset); + } + private void addAllTypes(Env env, EnumSet kinds) { String prefix = env.getPrefix(); CompilationController controller = env.getController(); diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/javaLangSubPackages.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/javaLangSubPackages.pass new file mode 100644 index 000000000000..f9ac5ed20baf --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/javaLangSubPackages.pass @@ -0,0 +1,9 @@ +annotation +constant +instrument +invoke +management +module +ref +reflect +runtime diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/nonSealedTypeSwitch.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/nonSealedTypeSwitch.pass new file mode 100644 index 000000000000..8f2b5b04798b --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/nonSealedTypeSwitch.pass @@ -0,0 +1,16 @@ +null +public static final EJ EJ.A +public static final EJ EJ.B +public static final EJ EJ.C +CI +CJ1 +CJ2 +EJ +I +J +Test +com +java +javax +org +sun diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitch.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitch.pass new file mode 100644 index 000000000000..856df2b7caa9 --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitch.pass @@ -0,0 +1,16 @@ +public static final EJ EJ.A +public static final EJ EJ.B +public static final EJ EJ.C +CI +CJ1 +CJ2 +EJ +I +J +null +com +java +javax +org +sun +test diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFiltered.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFiltered.pass new file mode 100644 index 000000000000..407a426845bc --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFiltered.pass @@ -0,0 +1,15 @@ +public static final EJ EJ.B +public static final EJ EJ.C +CI +CJ1 +CJ2 +EJ +I +J +null +com +java +javax +org +sun +test diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFilteredQualified1.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFilteredQualified1.pass new file mode 100644 index 000000000000..40a603880cf5 --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFilteredQualified1.pass @@ -0,0 +1,7 @@ +public static final EJ EJ.B +public static final EJ EJ.C +CI +CJ1 +EJ +I +J diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFilteredQualified2.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFilteredQualified2.pass new file mode 100644 index 000000000000..b585eefb7594 --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchEJAFilteredQualified2.pass @@ -0,0 +1,2 @@ +public static final EJ B +public static final EJ C diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFiltered.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFiltered.pass new file mode 100644 index 000000000000..83ffb81da4b5 --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFiltered.pass @@ -0,0 +1,9 @@ +CI +I +null +com +java +javax +org +sun +test diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFilteredQualified.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFilteredQualified.pass new file mode 100644 index 000000000000..eab73ca950ac --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFilteredQualified.pass @@ -0,0 +1,2 @@ +CI +I diff --git a/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFilteredQualifiedPackage.pass b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFilteredQualifiedPackage.pass new file mode 100644 index 000000000000..345e6aef7132 --- /dev/null +++ b/java/java.completion/test/unit/data/goldenfiles/org/netbeans/modules/java/completion/JavaCompletionTaskTest/17/sealedTypeSwitchJFilteredQualifiedPackage.pass @@ -0,0 +1 @@ +Test diff --git a/java/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SwitchWithNonSealedType.java b/java/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SwitchWithNonSealedType.java new file mode 100644 index 000000000000..f8101c41fec7 --- /dev/null +++ b/java/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SwitchWithNonSealedType.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package test; + +public class Test { + + interface I {} + interface J extends I {} + final class CI implements I {} + final class CJ1 implements J {} + final enum EJ implements J {A, B, C} + + public void op(I i) { + switch (i) { + case + + } + } +} + +final class CJ2 implements Test.J {} diff --git a/java/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SwitchWithSealedType.java b/java/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SwitchWithSealedType.java new file mode 100644 index 000000000000..3fa06b6ea9d0 --- /dev/null +++ b/java/java.completion/test/unit/data/org/netbeans/modules/java/completion/data/SwitchWithSealedType.java @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package test; + +public class Test { + + sealed interface I {} + sealed interface J extends I {} + final class CI implements I {} + final class CJ1 implements J {} + final enum EJ implements J {A, B, C} + + public void op(I i) { + switch (i) { + case + + } + } +} + +final class CJ2 implements Test.J {} diff --git a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java index fdba908c907f..1dd98f80c89c 100644 --- a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java +++ b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBase.java @@ -71,6 +71,7 @@ protected void performTest(String source, int caretPos, String textToInsert, Str copyToWorkDir(new File(getDataDir(), "org/netbeans/modules/java/completion/data/" + source + ".java"), testSource); FileObject testSourceFO = FileUtil.toFileObject(testSource); assertNotNull(testSourceFO); + afterTestSetup(); DataObject testSourceDO = DataObject.find(testSourceFO); assertNotNull(testSourceDO); EditorCookie ec = (EditorCookie) testSourceDO.getCookie(EditorCookie.class); @@ -112,6 +113,8 @@ protected void performTest(String source, int caretPos, String textToInsert, Str LifecycleManager.getDefault().saveAll(); } + protected void afterTestSetup() throws Exception {} + private static class CIFactory implements JavaCompletionTask.ModuleItemFactory, JavaCompletionTask.RecordPatternItemFactory { private static final int SMART_TYPE = 1000; @@ -522,7 +525,7 @@ public CI createAttributeValueItem(CompilationInfo info, String value, String do } @Override - public CI createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon) { + public CI createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon, boolean smartType) { switch (memberElem.getKind()) { case METHOD: case ENUM_CONSTANT: @@ -574,14 +577,14 @@ public CI createStaticMemberItem(CompilationInfo info, DeclaredType type, Elemen sb.append(')'); sortParams.append(')'); } - return new CI(sb.toString(), (memberElem.getKind().isField() ? 720 : 750) - SMART_TYPE, memberElem.getKind().isField() ? memberName + "#" + typeName : memberName + "#" + ((cnt < 10 ? "0" : "") + cnt) + "#" + sortParams.toString() + "#" + typeName); //NOI18N + return new CI(sb.toString(), (memberElem.getKind().isField() ? 720 : 750) - (smartType ? SMART_TYPE : 0), memberElem.getKind().isField() ? memberName + "#" + typeName : memberName + "#" + ((cnt < 10 ? "0" : "") + cnt) + "#" + sortParams.toString() + "#" + typeName); //NOI18N default: throw new IllegalArgumentException("kind=" + memberElem.getKind()); } } @Override - public CI createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source) { + public CI createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source, boolean smartType) { String fqn = handle.getQualifiedName(); int weight = 50; if (fqn.startsWith("java.lang") || fqn.startsWith("java.util")) { // NOI18N diff --git a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java index b116b4306650..5237ac4e88f7 100644 --- a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java +++ b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java @@ -19,7 +19,12 @@ package org.netbeans.modules.java.completion; +import org.netbeans.api.java.classpath.ClassPath; +import org.netbeans.api.java.classpath.GlobalPathRegistry; +import org.netbeans.api.java.source.SourceUtils; import org.netbeans.modules.java.source.parsing.JavacParser; +import org.netbeans.modules.parsing.api.indexing.IndexingManager; +import org.netbeans.spi.java.classpath.support.ClassPathSupport; /** * @@ -28,6 +33,7 @@ public class JavaCompletionTask121FeaturesTest extends CompletionTestBase { private static final String SOURCE_LEVEL = "21"; //NOI18N + private ClassPath classPathRegistered; public JavaCompletionTask121FeaturesTest(String testName) { super(testName); @@ -117,6 +123,69 @@ public void TODOtestNoCrash() throws Exception { performTest("SwitchPatternMatching", 1275, "case R(var s,", "AutoCompletion_Guard_PatternMatchingSwitch.pass", SOURCE_LEVEL); } + public void testSealedTypeSwitch1() throws Exception { + performTest("SwitchWithSealedType", 1084, null, "sealedTypeSwitch.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitch2() throws Exception { + performTest("SwitchWithSealedType", 1084, "java.lang.", "javaLangSubPackages.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitch3() throws Exception { + performTest("SwitchWithSealedType", 1084, "java.lang.annotation.", "empty.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitchTypeFiltering() throws Exception { + performTest("SwitchWithSealedType", 1084, "J j -> {} case ", "sealedTypeSwitchJFiltered.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitchTypeFilteringGuard() throws Exception { + performTest("SwitchWithSealedType", 1084, "J j when j == null -> {} case ", "sealedTypeSwitch.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitchTypeFilteringQualified() throws Exception { + performTest("SwitchWithSealedType", 1084, "J j -> {} case test.Test.", "sealedTypeSwitchJFilteredQualified.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitchTypeFilteringQualifiedPackage() throws Exception { + performTest("SwitchWithSealedType", 1084, "J j -> {} case test.", "sealedTypeSwitchJFilteredQualifiedPackage.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitchEnumFiltering() throws Exception { + performTest("SwitchWithSealedType", 1084, "EJ.A -> {} case ", "sealedTypeSwitchEJAFiltered.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitchEnumFilteringQualified1() throws Exception { + performTest("SwitchWithSealedType", 1084, "EJ.A -> {} case test.Test.", "sealedTypeSwitchEJAFilteredQualified1.pass", SOURCE_LEVEL); + } + + public void testSealedTypeSwitchEnumFilteringQualified2() throws Exception { + performTest("SwitchWithSealedType", 1084, "EJ.A -> {} case test.Test.EJ.", "sealedTypeSwitchEJAFilteredQualified2.pass", SOURCE_LEVEL); + } + + public void testNonSealedTypeSwitch1() throws Exception { + performTest("SwitchWithNonSealedType", 1070, null, "nonSealedTypeSwitch.pass", SOURCE_LEVEL); + } + + @Override + protected void afterTestSetup() throws Exception { + if (getName().startsWith("testSealed")) { + classPathRegistered = ClassPathSupport.createClassPath(getWorkDir().toURI().toURL()); + GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, new ClassPath[] {classPathRegistered}); + IndexingManager.getDefault().refreshAllIndices(true, true, getWorkDir()); + SourceUtils.waitScanFinished(); + } + } + + @Override + protected void tearDown() throws Exception { + if (classPathRegistered != null) { + GlobalPathRegistry.getDefault().unregister(ClassPath.SOURCE, new ClassPath[] {classPathRegistered}); + SourceUtils.waitScanFinished(); + } + super.tearDown(); + } + static { JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true; } diff --git a/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionCollector.java b/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionCollector.java index a68dc91894fa..bddc6dbc8e8c 100644 --- a/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionCollector.java +++ b/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionCollector.java @@ -665,7 +665,7 @@ public Completion createAttributeValueItem(CompilationInfo info, String value, S private static final Object KEY_IMPORT_TEXT_EDITS = new Object(); @Override - public Completion createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon) { + public Completion createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon, boolean smartType) { //TODO: prefer static imports (but would be much slower?) //TODO: should be resolveImport instead of addImports: Map imports = (Map) info.getCachedValue(KEY_IMPORT_TEXT_EDITS); @@ -740,7 +740,7 @@ public Completion createStaticMemberItem(CompilationInfo info, DeclaredType type .labelDescription(memberTypeName) .insertText(insertText.toString()) .insertTextFormat(asTemplate ? Completion.TextFormat.Snippet : Completion.TextFormat.PlainText) - .sortText(String.format("%04d%s", memberElem.getKind().isField() ? 720 : 750, sortText)); + .sortText(String.format("%04d%s", (memberElem.getKind().isField() ? 720 : 750) + (smartType ? 1000 : 0), sortText)); if (labelDetail.length() > 0) { builder.labelDetail(labelDetail.toString()); } @@ -758,7 +758,7 @@ public Completion createStaticMemberItem(CompilationInfo info, DeclaredType type } @Override - public Completion createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source) { + public Completion createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source, boolean smartType) { return null; //TODO: fill } diff --git a/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java b/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java index 40555e740711..09945ede0eaa 100644 --- a/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java +++ b/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItem.java @@ -248,12 +248,12 @@ public static JavaCompletionItem createAttributeValueItem(CompilationInfo info, return new AttributeValueItem(info, value, documentation, element, substitutionOffset, referencesCount, whiteList); } - public static JavaCompletionItem createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon, WhiteListQuery.WhiteList whiteList) { + public static JavaCompletionItem createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon, boolean smartType, WhiteListQuery.WhiteList whiteList) { switch (memberElem.getKind()) { case METHOD: case ENUM_CONSTANT: case FIELD: - return new StaticMemberItem(info, type, memberElem, memberType, multipleVersions, substitutionOffset, isDeprecated, addSemicolon, whiteList); + return new StaticMemberItem(info, type, memberElem, memberType, multipleVersions, substitutionOffset, isDeprecated, addSemicolon, smartType, whiteList); default: throw new IllegalArgumentException("kind=" + memberElem.getKind()); } @@ -3357,8 +3357,9 @@ static class StaticMemberItem extends WhiteListJavaCompletionItem { private String sortText; private String leftText; private String rightText; + private final boolean smartType; - private StaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon, WhiteListQuery.WhiteList whiteList) { + private StaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon, boolean smartType, WhiteListQuery.WhiteList whiteList) { super(substitutionOffset, ElementHandle.create(memberElem), whiteList); type = (DeclaredType) info.getTypes().erasure(type); this.typeHandle = TypeMirrorHandle.create(type); @@ -3378,11 +3379,12 @@ private StaticMemberItem(CompilationInfo info, DeclaredType type, Element member this.params.add(new ParamDesc(tm.toString(), Utilities.getTypeName(info, tm, false, ((ExecutableElement)memberElem).isVarArgs() && !tIt.hasNext()).toString(), it.next().getSimpleName().toString())); } } + this.smartType = smartType; } @Override public int getSortPriority() { - int p = (getElementHandle().getKind().isField() ? 720 : 750) - SMART_TYPE; + int p = (getElementHandle().getKind().isField() ? 720 : 750) - (smartType ? SMART_TYPE : 0); return isDeprecated ? p + DEPRECATED : p; } diff --git a/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java b/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java index 41836d865f4e..ac08274cb7e4 100644 --- a/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java +++ b/java/java.editor/src/org/netbeans/modules/editor/java/JavaCompletionItemFactory.java @@ -158,13 +158,13 @@ public JavaCompletionItem createAttributeValueItem(CompilationInfo info, String } @Override - public JavaCompletionItem createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon) { - return JavaCompletionItem.createStaticMemberItem(info, type, memberElem, memberType, multipleVersions, substitutionOffset, isDeprecated, addSemicolon, whiteList); + public JavaCompletionItem createStaticMemberItem(CompilationInfo info, DeclaredType type, Element memberElem, TypeMirror memberType, boolean multipleVersions, int substitutionOffset, boolean isDeprecated, boolean addSemicolon, boolean smartType) { + return JavaCompletionItem.createStaticMemberItem(info, type, memberElem, memberType, multipleVersions, substitutionOffset, isDeprecated, addSemicolon, smartType, whiteList); } @Override - public JavaCompletionItem createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source) { - return LazyJavaCompletionItem.createStaticMemberItem(handle, name, substitutionOffset, addSemicolon, referencesCount, source, whiteList); + public JavaCompletionItem createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source, boolean smartType) { + return LazyJavaCompletionItem.createStaticMemberItem(handle, name, substitutionOffset, addSemicolon, referencesCount, source, smartType, whiteList); } @Override diff --git a/java/java.editor/src/org/netbeans/modules/editor/java/LazyJavaCompletionItem.java b/java/java.editor/src/org/netbeans/modules/editor/java/LazyJavaCompletionItem.java index d798704f42f1..4d422555b2fc 100644 --- a/java/java.editor/src/org/netbeans/modules/editor/java/LazyJavaCompletionItem.java +++ b/java/java.editor/src/org/netbeans/modules/editor/java/LazyJavaCompletionItem.java @@ -64,8 +64,8 @@ public static JavaCompletionItem createTypeItem(ElementHandle handl return new TypeItem(handle, kinds, substitutionOffset, referencesCount, source, insideNew, addTypeVars, afterExtends, whiteList); } - public static JavaCompletionItem createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source, WhiteListQuery.WhiteList whiteList) { - return new StaticMemberItem(handle, name, substitutionOffset, addSemicolon, referencesCount, source, whiteList); + public static JavaCompletionItem createStaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source, boolean smartType, WhiteListQuery.WhiteList whiteList) { + return new StaticMemberItem(handle, name, substitutionOffset, addSemicolon, referencesCount, source, smartType, whiteList); } private LazyJavaCompletionItem(int substitutionOffset, ElementHandle handle, Source source, WhiteListQuery.WhiteList whiteList) { @@ -241,12 +241,14 @@ private static class StaticMemberItem extends LazyJavaCompletionItem handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source, WhiteListQuery.WhiteList whiteList) { + private StaticMemberItem(ElementHandle handle, String name, int substitutionOffset, boolean addSemicolon, ReferencesCount referencesCount, Source source, boolean smartType, WhiteListQuery.WhiteList whiteList) { super(substitutionOffset, handle, source, whiteList); this.name = name; this.sortText = new LazySortText(this.name, handle.getQualifiedName(), handle, referencesCount); this.addSemicolon = addSemicolon; + this.smartType = smartType; } @Override @@ -271,7 +273,7 @@ protected JavaCompletionItem getDelegate(CompilationInfo info, Scope scope, Type } if (element != null) { name = element.getSimpleName().toString(); - return createStaticMemberItem(info, (DeclaredType) te.asType(), element, element.asType(), multiVersion, substitutionOffset, elements.isDeprecated(element), addSemicolon, getWhiteList()); + return createStaticMemberItem(info, (DeclaredType) te.asType(), element, element.asType(), multiVersion, substitutionOffset, elements.isDeprecated(element), addSemicolon, smartType, getWhiteList()); } } return null; From 3959bf1365b2fa6ed90f328aba3f5c92ba2a249c Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 3 Dec 2024 16:57:03 +0100 Subject: [PATCH 61/94] Ensure AttrContext.returnResult's checkContext is set to Check.basicHandler in javac's Scopes, to avoid it throwing exceptions. --- .../java/source/GeneratorUtilitiesTest.java | 59 +++++++++++++++ .../api/java/source/TreeUtilitiesTest.java | 25 +++++++ .../lib/nbjavac/services/NBJavacTrees.java | 73 +++++++++++++++++++ 3 files changed, 157 insertions(+) diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/GeneratorUtilitiesTest.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/GeneratorUtilitiesTest.java index 3f13dde7970e..d32c1d4ca96a 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/GeneratorUtilitiesTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/GeneratorUtilitiesTest.java @@ -26,6 +26,7 @@ import com.sun.source.tree.ImportTree; import com.sun.source.tree.MethodTree; import com.sun.source.tree.ModifiersTree; +import com.sun.source.tree.NewClassTree; import com.sun.source.tree.StatementTree; import com.sun.source.tree.Tree; import com.sun.source.tree.Tree.Kind; @@ -33,6 +34,7 @@ import com.sun.source.tree.VariableTree; import com.sun.source.util.SourcePositions; import com.sun.source.util.TreePath; +import com.sun.source.util.TreePathScanner; import java.beans.PropertyVetoException; import java.io.File; import java.io.IOException; @@ -1553,6 +1555,63 @@ public void run(WorkingCopy parameter) throws Exception { parameter.rewrite(testTree, nueTestTree); } } + + public void testGenerateMethodInLambda() throws Exception { + performTest("test/Test.java", + """ + package test; + public class Test { + private void test(Runnable r) { + test(() -> { + new Base() {}; + }); + } + } + class Base { + public T1 test(T1 p) {} + } + """, + "17", + new Task() { + @Override + public void run(WorkingCopy copy) throws java.lang.Exception { + copy.toPhase(Phase.RESOLVED); + new TreePathScanner() { + @Override + public Void visitNewClass(NewClassTree node, Void p) { + if (node.getClassBody() != null) { + ClassTree clazz = node.getClassBody(); + TypeElement anon = (TypeElement) copy.getTrees().getElement(new TreePath(getCurrentPath(), clazz)); + TypeElement superClass = (TypeElement) ((DeclaredType) anon.getSuperclass()).asElement(); + ExecutableElement method = (ExecutableElement) superClass.getEnclosedElements().stream().filter(el -> el.getSimpleName().contentEquals("test")).findAny().get(); + copy.rewrite(clazz, copy.getTreeMaker().addClassMember(clazz, GeneratorUtilities.get(copy).createOverridingMethod(anon, method))); + } + return super.visitNewClass(node, p); + } + + }.scan(copy.getCompilationUnit(), null); + } + }, + new ContentValidator(""" + package test; + public class Test { + private void test(Runnable r) { + test(() -> { + new Base() { + @Override + public Void test(Void p) { + return super.test(p); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/OverriddenMethodBody + } + }; + }); + } + } + class Base { + public T1 test(T1 p) {} + } + """), + false); + } private static final class ContentValidator implements Validator { diff --git a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java index 14b7657f89ab..97041a85f6fc 100644 --- a/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java +++ b/java/java.source.base/test/unit/src/org/netbeans/api/java/source/TreeUtilitiesTest.java @@ -49,7 +49,9 @@ import java.util.regex.Pattern; import javax.lang.model.SourceVersion; import javax.lang.model.element.Element; +import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.TypeElement; +import javax.lang.model.type.DeclaredType; import javax.lang.model.type.TypeMirror; import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.api.java.source.Comment.Style; @@ -874,4 +876,27 @@ public void testPathForInUnnamedClass() throws Exception { assertEquals("System", it.getName().toString()); } + + public void testAttributeTreeCrashes() throws Exception { + this.sourceLevel = "21"; + + String code = """ + package test; + public class Test { + private void test(Runnable r) { + test(() -> { + | + }); + } + } + """; + + prepareTest("Test", code.replace("|", "")); + + int pos = code.indexOf("|"); + TreePath tp = info.getTreeUtilities().pathFor(pos); + Scope scope = info.getTrees().getScope(tp); + StatementTree tree = info.getTreeUtilities().parseStatement("{ return super.test(p); }", new SourcePositions[1]); + info.getTreeUtilities().attributeTree(tree, scope); + } } diff --git a/java/lib.nbjavac/src/org/netbeans/lib/nbjavac/services/NBJavacTrees.java b/java/lib.nbjavac/src/org/netbeans/lib/nbjavac/services/NBJavacTrees.java index 980bed37babc..3ef60eddfe75 100644 --- a/java/lib.nbjavac/src/org/netbeans/lib/nbjavac/services/NBJavacTrees.java +++ b/java/lib.nbjavac/src/org/netbeans/lib/nbjavac/services/NBJavacTrees.java @@ -24,13 +24,21 @@ import com.sun.tools.javac.api.JavacTrees; import com.sun.tools.javac.code.Flags; import com.sun.tools.javac.code.Symbol; +import com.sun.tools.javac.comp.AttrContext; +import com.sun.tools.javac.comp.Check; +import com.sun.tools.javac.comp.Check.CheckContext; +import com.sun.tools.javac.comp.Env; import com.sun.tools.javac.tree.JCTree; import com.sun.tools.javac.tree.JCTree.JCVariableDecl; import com.sun.tools.javac.tree.TreeInfo; import com.sun.tools.javac.tree.TreeMaker; import com.sun.tools.javac.util.Context; +import java.lang.reflect.Field; +import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.lang.model.element.Element; /** @@ -39,7 +47,9 @@ */ public class NBJavacTrees extends JavacTrees { + private static final Logger LOG = Logger.getLogger(NBJavacTrees.class.getName()); private final Map element2paths = new HashMap<>(); + private final CheckContext chkBasicHandler; public static void preRegister(Context context) { context.put(JavacTrees.class, new Context.Factory() { @@ -50,7 +60,21 @@ public JavacTrees make(Context c) { } protected NBJavacTrees(Context context) { super(context); + Check chk = Check.instance(context); + + CheckContext chkBasicHandlerTemp = null; + + try { + if (basicHandlerField != null) { + chkBasicHandlerTemp = (CheckContext) basicHandlerField.get(chk); + } + } catch (ReflectiveOperationException ex) { + LOG.log(Level.FINE, null, ex); + } + + chkBasicHandler = chkBasicHandlerTemp; } + @Override public TreePath getPath(Element e) { TreePath path = super.getPath(e); @@ -81,4 +105,53 @@ public JCTree visitVariable(VariableTree node, JCTree p) { }; } + @Override + public JavacScope getScope(TreePath path) { + JavacScope result = super.getScope(path); + + if (returnResultField != null) { + Env env = result.getEnv(); + + try { + Object returnResult = returnResultField.get(env.info); + if (returnResult != null) { + //ensure the returnResult's checkContext is the Check.basicHandler: + returnResultField.set(env.info, dupMethod.invoke(returnResult, chkBasicHandler)); + } + } catch (ReflectiveOperationException ex) { + LOG.log(Level.FINE, null, ex); + } + } + + return result; + } + + private static final Field basicHandlerField; + private static final Field returnResultField; + private static final Method dupMethod; + + static { + Field basicHandlerFieldTemp; + Field returnResultFieldTemp; + Method dupMethodTemp; + + try { + basicHandlerFieldTemp = Check.class.getDeclaredField("basicHandler"); + basicHandlerFieldTemp.setAccessible(true); + returnResultFieldTemp = AttrContext.class.getDeclaredField("returnResult"); + returnResultFieldTemp.setAccessible(true); + dupMethodTemp = Class.forName("com.sun.tools.javac.comp.Attr$ResultInfo") + .getDeclaredMethod("dup", CheckContext.class); + dupMethodTemp.setAccessible(true); + } catch (ReflectiveOperationException ex) { + LOG.log(Level.FINE, null, ex); + basicHandlerFieldTemp = null; + returnResultFieldTemp = null; + dupMethodTemp = null; + } + + basicHandlerField = basicHandlerFieldTemp; + returnResultField = returnResultFieldTemp; + dupMethod = dupMethodTemp; + } } From 2e32e9714160a30cfd7819e22458f39d8d9362e1 Mon Sep 17 00:00:00 2001 From: Tomas Prochazka Date: Sun, 1 Dec 2024 18:05:59 +0100 Subject: [PATCH 62/94] Add PHPStan rule level 10 Added new rule level. Removed special rendering of max rule level because "max" is individual option. Reference: - https://phpstan.org/user-guide/rule-levels --- .../php/analysis/options/AnalysisOptions.java | 2 +- .../ui/PHPStanLevelListCellRenderer.java | 43 ------------------- .../ui/analyzer/PHPStanCustomizerPanel.java | 2 - .../ui/options/PHPStanOptionsPanel.java | 2 - 4 files changed, 1 insertion(+), 48 deletions(-) delete mode 100644 php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/PHPStanLevelListCellRenderer.java diff --git a/php/php.code.analysis/src/org/netbeans/modules/php/analysis/options/AnalysisOptions.java b/php/php.code.analysis/src/org/netbeans/modules/php/analysis/options/AnalysisOptions.java index 9ab6a6d6fb3d..1edc11740fda 100644 --- a/php/php.code.analysis/src/org/netbeans/modules/php/analysis/options/AnalysisOptions.java +++ b/php/php.code.analysis/src/org/netbeans/modules/php/analysis/options/AnalysisOptions.java @@ -58,7 +58,7 @@ public final class AnalysisOptions { private static final String PHPSTAN_CONFIGURATION = "phpstan.configuration"; // NOI18N private static final String PHPSTAN_MEMORY_LIMIT = "phpstan.memory.limit"; // NOI18N public static final int PHPSTAN_MIN_LEVEL = Integer.getInteger("nb.phpstan.min.level", 0); // NOI18N - public static final int PHPSTAN_MAX_LEVEL = Integer.getInteger("nb.phpstan.max.level", 9); // NOI18N + public static final int PHPSTAN_MAX_LEVEL = Integer.getInteger("nb.phpstan.max.level", 10); // NOI18N // Psalm - PHP Static Analysis Tool private static final String PSALM_PATH = "psalm.path"; // NOI18N private static final String PSALM_LEVEL = "psalm.level"; // NOI18N diff --git a/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/PHPStanLevelListCellRenderer.java b/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/PHPStanLevelListCellRenderer.java deleted file mode 100644 index d98229b2d9c8..000000000000 --- a/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/PHPStanLevelListCellRenderer.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.php.analysis.ui; - -import java.awt.Component; -import javax.swing.JList; -import javax.swing.ListCellRenderer; -import org.netbeans.modules.php.analysis.options.AnalysisOptions; - -public class PHPStanLevelListCellRenderer implements ListCellRenderer { - - private final ListCellRenderer defaultRenderer; - - public PHPStanLevelListCellRenderer(ListCellRenderer defaultRenderer) { - this.defaultRenderer = defaultRenderer; - } - - @Override - public Component getListCellRendererComponent(JList list, String value, int index, boolean isSelected, boolean cellHasFocus) { - String level = value; - if (String.valueOf(AnalysisOptions.PHPSTAN_MAX_LEVEL).equals(level)) { - level += " (max)"; // NOI18N - } - return defaultRenderer.getListCellRendererComponent(list, level, index, isSelected, cellHasFocus); - } - -} diff --git a/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/analyzer/PHPStanCustomizerPanel.java b/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/analyzer/PHPStanCustomizerPanel.java index 6912cf04a52f..237d5956f1f9 100644 --- a/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/analyzer/PHPStanCustomizerPanel.java +++ b/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/analyzer/PHPStanCustomizerPanel.java @@ -37,7 +37,6 @@ import org.netbeans.modules.analysis.spi.Analyzer; import org.netbeans.modules.php.analysis.commands.PHPStan; import org.netbeans.modules.php.analysis.options.AnalysisOptions; -import org.netbeans.modules.php.analysis.ui.PHPStanLevelListCellRenderer; import org.netbeans.modules.php.analysis.options.AnalysisOptionsValidator; import org.netbeans.modules.php.analysis.options.ValidatorPHPStanParameter; import org.netbeans.modules.php.analysis.ui.AnalysisDefaultDocumentListener; @@ -121,7 +120,6 @@ private void initLevelComboBox() { phpStanLevelComboBox.addItem(String.valueOf(i)); } phpStanLevelComboBox.addItem(PHPStan.MAX_LEVEL); - phpStanLevelComboBox.setRenderer(new PHPStanLevelListCellRenderer(phpStanLevelComboBox.getRenderer())); phpStanLevelComboBox.setSelectedItem(getValidLevel()); phpStanLevelComboBox.addItemListener(e -> setLevel()); } diff --git a/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/options/PHPStanOptionsPanel.java b/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/options/PHPStanOptionsPanel.java index 1fe379d5fbf6..7ae0ae3dbe4a 100644 --- a/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/options/PHPStanOptionsPanel.java +++ b/php/php.code.analysis/src/org/netbeans/modules/php/analysis/ui/options/PHPStanOptionsPanel.java @@ -39,7 +39,6 @@ import org.netbeans.modules.php.analysis.options.AnalysisOptions; import org.netbeans.modules.php.analysis.options.AnalysisOptionsValidator; import org.netbeans.modules.php.analysis.ui.AnalysisDefaultDocumentListener; -import org.netbeans.modules.php.analysis.ui.PHPStanLevelListCellRenderer; import org.netbeans.modules.php.analysis.options.ValidatorPHPStanParameter; import org.netbeans.modules.php.analysis.util.AnalysisUiUtils; import org.netbeans.modules.php.api.validation.ValidationResult; @@ -78,7 +77,6 @@ private void init() { phpStanLevelComboBox.addItem(String.valueOf(i)); } phpStanLevelComboBox.addItem(PHPStan.MAX_LEVEL); - phpStanLevelComboBox.setRenderer(new PHPStanLevelListCellRenderer(phpStanLevelComboBox.getRenderer())); // add listener DocumentListener defaultDocumentListener = new AnalysisDefaultDocumentListener(() -> fireChange()); phpStanTextField.getDocument().addDocumentListener(defaultDocumentListener); From a44ded7f3da4f6d8529fae398ceb267ebe134897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Wed, 4 Dec 2024 19:11:56 +0100 Subject: [PATCH 63/94] web.jsf: Fix typo in JSF composite component template Closes: #8004 --- .../web/jsf/resources/templates/compositeComponent.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/compositeComponent.template b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/compositeComponent.template index c8caca011ac8..651c9be3849c 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/compositeComponent.template +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/resources/templates/compositeComponent.template @@ -3,7 +3,7 @@ xmlns:cc="jakarta.faces.composite"> -<#else if isJSF22?? || isJSF30??> +<#elseif isJSF22?? || isJSF30??> xmlns:cc="http://xmlns.jcp.org/jsf/composite"> <#else> xmlns:cc="http://java.sun.com/jsf/composite"> From 1f27cd0cba3964baaa3507b148f65efb336c9ce9 Mon Sep 17 00:00:00 2001 From: Dusan Balek Date: Thu, 5 Dec 2024 15:02:59 +0100 Subject: [PATCH 64/94] Test single file should work for test classes which names do not match the corresponding file names. --- java/gradle.java/nbproject/project.xml | 44 +++++++++---------- .../gradle/java/GradleJavaTokenProvider.java | 8 ++-- java/java.source.base/apichanges.xml | 12 +++++ .../nbproject/project.properties | 2 +- .../netbeans/api/java/source/SourceUtils.java | 35 +++++++++++++++ java/maven/nbproject/project.xml | 18 ++++---- .../execute/DefaultReplaceTokenProvider.java | 20 ++++----- 7 files changed, 92 insertions(+), 47 deletions(-) diff --git a/java/gradle.java/nbproject/project.xml b/java/gradle.java/nbproject/project.xml index 6a7d6ed8df3a..0c9f70e8e166 100644 --- a/java/gradle.java/nbproject/project.xml +++ b/java/gradle.java/nbproject/project.xml @@ -25,15 +25,6 @@ org.netbeans.modules.gradle.java - - org.netbeans.modules.gradle - - - - 2 - 2.40 - - org.netbeans.api.annotations.common @@ -113,6 +104,24 @@ 1.20
+ + org.netbeans.modules.gradle + + + + 2 + 2.40 + + + + org.netbeans.modules.java.api.common + + + + 0 + 1.127 + + org.netbeans.modules.java.platform @@ -158,20 +167,19 @@ - org.netbeans.modules.java.api.common + org.netbeans.modules.java.source.base - 0 - 1.127 + 2.73 - org.netbeans.modules.java.source.base + org.netbeans.modules.project.dependency - 2.20.1.2.2.25.8.1 + @@ -306,14 +314,6 @@ 9.4.1 - - org.netbeans.modules.project.dependency - - - - - -
diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java index a3611cebe252..3e2723d802fd 100644 --- a/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java +++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java @@ -31,6 +31,8 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; +import org.netbeans.api.java.source.ClasspathInfo; +import org.netbeans.api.java.source.SourceUtils; import org.netbeans.api.project.Project; import org.netbeans.spi.project.SingleMethod; import org.openide.filesystems.FileObject; @@ -139,11 +141,11 @@ private String evaluateClassName(GradleJavaProject gjp, FileObject fo) { if (sourceSet != null) { String relPath = sourceSet.relativePath(f); if (relPath != null) { - ret = (relPath.lastIndexOf('.') > 0 ? - relPath.substring(0, relPath.lastIndexOf('.')) : - relPath).replace('/', '.'); if (fo.isFolder()) { + ret = relPath.replace('/', '.'); ret = ret + '*'; + } else { + ret = SourceUtils.classNameFor(ClasspathInfo.create(fo), relPath); } } } diff --git a/java/java.source.base/apichanges.xml b/java/java.source.base/apichanges.xml index 8d6347cead60..d473ad581c23 100644 --- a/java/java.source.base/apichanges.xml +++ b/java/java.source.base/apichanges.xml @@ -25,6 +25,18 @@ Java Source API + + + Adding SourceUtils.classNameFor + + + + + + Adding SourceUtils.classNameFor. + + + Adding TreeMaker.RawText diff --git a/java/java.source.base/nbproject/project.properties b/java/java.source.base/nbproject/project.properties index 183dfae24847..9e2b1ca15845 100644 --- a/java/java.source.base/nbproject/project.properties +++ b/java/java.source.base/nbproject/project.properties @@ -23,7 +23,7 @@ javadoc.name=Java Source Base javadoc.title=Java Source Base javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=2.72.0 +spec.version.base=2.73.0 test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\ ${o.n.core.dir}/lib/boot.jar:\ diff --git a/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java b/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java index 390a9b19a8f3..b61c1a075a78 100644 --- a/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java +++ b/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java @@ -62,6 +62,9 @@ import com.sun.tools.javac.model.JavacElements; import com.sun.tools.javac.tree.JCTree.JCCompilationUnit; import com.sun.tools.javac.util.Context; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.nio.charset.StandardCharsets; import java.util.function.Predicate; import javax.lang.model.util.ElementScanner14; @@ -1468,4 +1471,36 @@ public static void forceSource(CompilationController cc, FileObject file) { } cc.addForceSource(file); } + + /** + * Computes class name for the corresponding input source file. + * + * @param info the ClasspathInfo used to resolve + * @param relativePath input source file path relative to the corresponding source root + * @return class name for the corresponding input source file + * @since 2.73 + */ + public static String classNameFor(ClasspathInfo info, String relativePath) { + ClassPath cachedCP = ClasspathInfoAccessor.getINSTANCE().getCachedClassPath(info, PathKind.COMPILE); + int idx = relativePath.indexOf('.'); + String rel = idx < 0 ? relativePath : relativePath.substring(0, idx); + String className = rel.replace('/', '.'); + FileObject rsFile = cachedCP.findResource(rel + '.' + FileObjects.RS); + if (rsFile != null) { + List lines = new ArrayList<>(); + try (BufferedReader in = new BufferedReader(new InputStreamReader(rsFile.getInputStream(), StandardCharsets.UTF_8))) { + String line; + while ((line = in.readLine())!=null) { + if (className.equals(line)) { + return className; + } + lines.add(line); + } + } catch (IOException ioe) {} + if (!lines.isEmpty()) { + return lines.get(0); + } + } + return className; + } } diff --git a/java/maven/nbproject/project.xml b/java/maven/nbproject/project.xml index 9fe5f86dd393..6490c0d6a501 100644 --- a/java/maven/nbproject/project.xml +++ b/java/maven/nbproject/project.xml @@ -201,7 +201,7 @@ - 2.32 + 2.73
@@ -284,6 +284,14 @@ 1.62 + + org.netbeans.modules.project.dependency + + + + + + org.netbeans.modules.project.indexingbridge @@ -517,14 +525,6 @@ 6.64 - - org.netbeans.modules.project.dependency - - - - - - diff --git a/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java b/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java index 9fe2386a7b3a..c8ba46e7b3e0 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java @@ -148,9 +148,9 @@ private static FileObject[] extractFileObjectsfromLookup(Lookup lookup) { classname.append(','); classnameExt.append(','); } + String rel = FileUtil.getRelativePath(group.getRootFolder(), file); + assert rel != null; if (file.isFolder()) { - String rel = FileUtil.getRelativePath(group.getRootFolder(), file); - assert rel != null; String pkg = rel.replace('/', '.'); if (!pkg.isEmpty()) { packClassname.append(pkg).append(".**."); // test everything under this package recusively @@ -162,22 +162,18 @@ private static FileObject[] extractFileObjectsfromLookup(Lookup lookup) { classname.append(pkg); // ? classnameExt.append(pkg); // ?? } else { // XXX do we need to limit to text/x-java? What about files of other type? - String relP = FileUtil.getRelativePath(group.getRootFolder(), file.getParent()); - assert relP != null; - StringBuilder cn = new StringBuilder(); - if (!relP.isEmpty()) { - cn.append(relP.replace('/', '.')).append('.'); - } - String n = file.getName(); - cn.append(n); - if (uniqueClassNames.add(cn.toString())) { + String cn = SourceUtils.classNameFor(ClasspathInfo.create(file), rel); + int idx = cn.lastIndexOf('.'); + String n = idx < 0 ? cn : cn.substring(idx + 1); + if (uniqueClassNames.add(cn)) { packClassname.append(cn); classname.append(n); } else { packClassname.deleteCharAt(packClassname.length() - 1); // Delete the comma classname.deleteCharAt(classname.length() - 1); } - classnameExt.append(file.getNameExt()); + classnameExt.append(n).append('.').append(file.getExt()); + String relP = FileUtil.getRelativePath(group.getRootFolder(), file.getParent()); if (MavenSourcesImpl.NAME_SOURCE.equals(group.getName()) && (ActionProvider.COMMAND_TEST_SINGLE.equals(actionName) || ActionProvider.COMMAND_DEBUG_TEST_SINGLE.equals(actionName) || From 12616413ff4badd28721cacfb16de3c3f712fe72 Mon Sep 17 00:00:00 2001 From: Laszlo Kishalmi Date: Wed, 4 Dec 2024 14:17:48 -0800 Subject: [PATCH 65/94] Fix ugly semantic coloring on CSL languages while editing --- .../csl/editor/semantic/GsfSemanticLayer.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/GsfSemanticLayer.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/GsfSemanticLayer.java index dfa8403c0bb2..4b55286d7671 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/GsfSemanticLayer.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/GsfSemanticLayer.java @@ -311,23 +311,17 @@ public boolean moveNext() { @Override public int getStartOffset() { - return (element != null) - ? layer.getShiftedPos(element.range.getStart()) - : Integer.MAX_VALUE; + return layer.getShiftedPos(element.range.getStart()); } @Override public int getEndOffset() { - return (element != null) - ? Math.min(layer.getShiftedPos(element.range.getEnd()), nextElementStartOffset) - : Integer.MAX_VALUE; + return layer.getShiftedPos(element.range.getEnd()); } @Override public AttributeSet getAttributes() { - return (element != null) - ? layer.getColoring(element.coloring, element.language) - : SimpleAttributeSet.EMPTY; + return layer.getColoring(element.coloring, element.language); } } } From b755c518d88712f1d465ddf0009c879534da9e2a Mon Sep 17 00:00:00 2001 From: Jan Horvath Date: Tue, 10 Dec 2024 15:39:51 +0100 Subject: [PATCH 66/94] Hide keybindings for NBLS --- .../modules/nbcode/integration/layer.xml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/layer.xml b/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/layer.xml index bf032a302b99..b8efd98ce3dd 100644 --- a/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/layer.xml +++ b/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/layer.xml @@ -178,4 +178,25 @@ + + + + + + + + + + + + + + + + + + + + + From c0b7c75e8d47745475899f1c35a5a0d84c1cc412 Mon Sep 17 00:00:00 2001 From: Jan Horvath Date: Thu, 28 Nov 2024 08:32:08 +0100 Subject: [PATCH 67/94] Create new output channel for every LspIO --- .../server/protocol/NbCodeClientWrapper.java | 21 ++++ .../server/protocol/NbCodeLanguageClient.java | 12 ++ .../lsp/server/protocol/OutputMessage.java | 37 ++++++ .../java/lsp/server/protocol/Server.java | 24 ++++ .../ui/AbstractLspInputOutputProvider.java | 30 ++++- .../lsp/server/TestCodeLanguageClient.java | 22 ++++ .../lsp/server/explorer/ProjectViewTest.java | 21 ++++ java/java.lsp.server/vscode/src/extension.ts | 119 +++++++++++++++++- java/java.lsp.server/vscode/src/protocol.ts | 22 ++++ 9 files changed, 301 insertions(+), 7 deletions(-) create mode 100644 java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/OutputMessage.java diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientWrapper.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientWrapper.java index 7f633df6758e..a0c4f672ca32 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientWrapper.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeClientWrapper.java @@ -223,4 +223,25 @@ public CompletableFuture configurationUpdate(UpdateConfigParams params) { public CompletableFuture requestDocumentSave(SaveDocumentRequestParams documentUris) { return remote.requestDocumentSave(documentUris); } + + @Override + public CompletableFuture writeOutput(OutputMessage lm) { + return remote.writeOutput(lm); + } + + @Override + public CompletableFuture showOutput(String outputName) { + return remote.showOutput(outputName); + } + + @Override + public CompletableFuture closeOutput(String outputName) { + return remote.closeOutput(outputName); + } + + @Override + public CompletableFuture resetOutput(String outputName) { + return remote.resetOutput(outputName); + } + } diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeLanguageClient.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeLanguageClient.java index 1c44d56fa5fe..767edb696c28 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeLanguageClient.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/NbCodeLanguageClient.java @@ -154,4 +154,16 @@ public default boolean isRequestDispatcherThread() { @JsonRequest("window/documentSave") public CompletableFuture requestDocumentSave(@NonNull SaveDocumentRequestParams documentUri); + @JsonRequest("output/write") + public CompletableFuture writeOutput(OutputMessage message); + + @JsonRequest("output/show") + public CompletableFuture showOutput(String outputName); + + @JsonRequest("output/close") + public CompletableFuture closeOutput(String outputName); + + @JsonRequest("output/reset") + public CompletableFuture resetOutput(String outputName); + } diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/OutputMessage.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/OutputMessage.java new file mode 100644 index 000000000000..63e953f0b88b --- /dev/null +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/OutputMessage.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.java.lsp.server.protocol; + +/** + * + * @author Jan Horvath + */ +public final class OutputMessage { + + String outputName; + String message; + boolean stdIO; + + public OutputMessage(String outputName, String message, boolean stdIO) { + this.outputName = outputName; + this.message = message; + this.stdIO = stdIO; + } + +} diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java index 120c8590877b..13cbcdd62815 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/Server.java @@ -1358,6 +1358,30 @@ public CompletableFuture requestDocumentSave(SaveDocumentRequestParams logWarning(Arrays.asList(documentUris)); return CompletableFuture.completedFuture(false); } + + @Override + public CompletableFuture writeOutput(OutputMessage lm) { + logWarning(lm.message); + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture showOutput(String outputName) { + logWarning("Show output: " + outputName); //NOI18N + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture closeOutput(String outputName) { + logWarning("Close output: " + outputName); //NOI18N + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture resetOutput(String outputName) { + logWarning("Reset output: " + outputName); //NOI18N + return CompletableFuture.completedFuture(null); + } }; diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractLspInputOutputProvider.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractLspInputOutputProvider.java index 34c3407af843..aa778d9e3926 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractLspInputOutputProvider.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/ui/AbstractLspInputOutputProvider.java @@ -18,6 +18,7 @@ */ package org.netbeans.modules.java.lsp.server.ui; +import org.netbeans.modules.java.lsp.server.protocol.OutputMessage; import java.io.CharArrayReader; import java.io.IOException; import java.io.InputStream; @@ -29,6 +30,8 @@ import org.netbeans.api.io.Hyperlink; import org.netbeans.api.io.OutputColor; import org.netbeans.api.io.ShowOperation; +import org.netbeans.modules.java.lsp.server.LspServerUtils; +import org.netbeans.modules.java.lsp.server.protocol.NbCodeLanguageClient; import org.netbeans.modules.java.lsp.server.ui.AbstractLspInputOutputProvider.LspIO; import org.netbeans.spi.io.InputOutputProvider; import org.openide.util.Lookup; @@ -82,14 +85,26 @@ public final Lookup getIOLookup(LspIO io) { @Override public final void resetIO(LspIO io) { + NbCodeLanguageClient client = LspServerUtils.findLspClient(Lookup.getDefault()); + if (client != null) { + client.resetOutput(io.name); + } } @Override public final void showIO(LspIO io, Set operations) { + NbCodeLanguageClient client = LspServerUtils.findLspClient(Lookup.getDefault()); + if (client != null) { + client.showOutput(io.name); + } } @Override public final void closeIO(LspIO io) { + NbCodeLanguageClient client = LspServerUtils.findLspClient(Lookup.getDefault()); + if (client != null) { + client.closeOutput(io.name); + } } @Override @@ -131,6 +146,7 @@ public final void setIODescription(LspIO io, String description) { public static final class LspIO { private final String name; private final IOContext ctx; + private final NbCodeLanguageClient client; final Lookup lookup; final Reader in; final LspWriter out; @@ -164,12 +180,16 @@ public void close() { }; } this.in = in; + client = LspServerUtils.findLspClient(Lookup.getDefault()); + if (client != null) { + client.resetOutput(name); + } } boolean isClosed() { return out.closed && err.closed; } - + private final class LspWriter extends Writer { private final boolean stdIO; volatile boolean closed; @@ -181,10 +201,8 @@ private final class LspWriter extends Writer { @Override public void write(char[] cbuf, int off, int len) throws IOException { String chunk = new String(cbuf, off, len); - if (stdIO) { - ctx.stdOut(chunk); - } else { - ctx.stdErr(chunk); + if (len > 0) { + client.writeOutput(new OutputMessage(name, chunk, stdIO)); } } @@ -198,5 +216,5 @@ public void close() throws IOException { } } } - + } diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/TestCodeLanguageClient.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/TestCodeLanguageClient.java index 489670f57254..31f9a128ece6 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/TestCodeLanguageClient.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/TestCodeLanguageClient.java @@ -43,6 +43,7 @@ import org.netbeans.modules.java.lsp.server.input.ShowInputBoxParams; import org.netbeans.modules.java.lsp.server.input.ShowMutliStepInputParams; import org.netbeans.modules.java.lsp.server.input.ShowQuickPickParams; +import org.netbeans.modules.java.lsp.server.protocol.OutputMessage; import org.netbeans.modules.java.lsp.server.protocol.SaveDocumentRequestParams; import org.netbeans.modules.java.lsp.server.protocol.ShowStatusMessageParams; import org.netbeans.modules.java.lsp.server.protocol.TestProgressParams; @@ -160,4 +161,25 @@ public CompletableFuture configurationUpdate(UpdateConfigParams params) { public CompletableFuture requestDocumentSave(SaveDocumentRequestParams documentUris) { return CompletableFuture.completedFuture(false); } + + @Override + public CompletableFuture writeOutput(OutputMessage message) { + System.out.println(message); + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture showOutput(String outputName) { + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture closeOutput(String outputName) { + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture resetOutput(String outputName) { + return CompletableFuture.completedFuture(null); + } } diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java index 592ad8a726b2..a8edbcb45bb9 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/explorer/ProjectViewTest.java @@ -77,6 +77,7 @@ import org.netbeans.modules.java.lsp.server.input.ShowInputBoxParams; import org.netbeans.modules.java.lsp.server.input.ShowMutliStepInputParams; import org.netbeans.modules.java.lsp.server.input.ShowQuickPickParams; +import org.netbeans.modules.java.lsp.server.protocol.OutputMessage; import org.netbeans.modules.java.lsp.server.protocol.SaveDocumentRequestParams; import org.netbeans.modules.java.lsp.server.protocol.SetTextEditorDecorationParams; import org.netbeans.modules.java.lsp.server.protocol.ShowStatusMessageParams; @@ -285,6 +286,26 @@ public CompletableFuture configurationUpdate(UpdateConfigParams params) { public CompletableFuture requestDocumentSave(SaveDocumentRequestParams documentUris) { return CompletableFuture.completedFuture(false); } + + @Override + public CompletableFuture writeOutput(OutputMessage message) { + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture showOutput(String outputName) { + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture closeOutput(String outputName) { + return CompletableFuture.completedFuture(null); + } + + @Override + public CompletableFuture resetOutput(String outputName) { + return CompletableFuture.completedFuture(null); + } } private static Launcher createLauncher(NbCodeLanguageClient client, InputStream in, OutputStream out, diff --git a/java/java.lsp.server/vscode/src/extension.ts b/java/java.lsp.server/vscode/src/extension.ts index 8db683de5091..4823662beed9 100644 --- a/java/java.lsp.server/vscode/src/extension.ts +++ b/java/java.lsp.server/vscode/src/extension.ts @@ -52,7 +52,7 @@ import * as launcher from './nbcode'; import {NbTestAdapter} from './testAdapter'; import { asRanges, StatusMessageRequest, ShowStatusMessageParams, QuickPickRequest, InputBoxRequest, MutliStepInputRequest, TestProgressNotification, DebugConnector, TextEditorDecorationCreateRequest, TextEditorDecorationSetNotification, TextEditorDecorationDisposeNotification, HtmlPageRequest, HtmlPageParams, - ExecInHtmlPageRequest, SetTextEditorDecorationParams, ProjectActionParams, UpdateConfigurationRequest, QuickPickStep, InputBoxStep, SaveDocumentsRequest, SaveDocumentRequestParams + ExecInHtmlPageRequest, SetTextEditorDecorationParams, ProjectActionParams, UpdateConfigurationRequest, QuickPickStep, InputBoxStep, SaveDocumentsRequest, SaveDocumentRequestParams, OutputMessage, WriteOutputRequest, ShowOutputRequest, CloseOutputRequest, ResetOutputRequest } from './protocol'; import * as launchConfigurations from './launchConfigurations'; import { createTreeViewService, TreeViewService, TreeItemDecorator, Visualizer, CustomizableTreeDataProvider } from './explorer'; @@ -377,6 +377,107 @@ function getValueAfterPrefix(input: string | undefined, prefix: string): string return ''; } +class LineBufferingPseudoterminal implements vscode.Pseudoterminal { + private static instances = new Map(); + + private writeEmitter = new vscode.EventEmitter(); + onDidWrite: vscode.Event = this.writeEmitter.event; + + private closeEmitter = new vscode.EventEmitter(); + onDidClose?: vscode.Event = this.closeEmitter.event; + + private buffer: string = ''; + private isOpen = false; + private readonly name: string; + private terminal: vscode.Terminal | undefined; + + private constructor(name: string) { + this.name = name; + } + + open(): void { + this.isOpen = true; + } + + close(): void { + this.isOpen = false; + this.closeEmitter.fire(); + } + + /** + * Accepts partial input strings and logs complete lines when they are formed. + * Also processes carriage returns (\r) to overwrite the current line. + * @param input The string input to the pseudoterminal. + */ + public acceptInput(input: string): void { + if (!this.isOpen) { + return; + } + + for (const char of input) { + if (char === '\n') { + // Process a newline: log the current buffer and reset it + this.logLine(this.buffer.trim()); + this.buffer = ''; + } else if (char === '\r') { + // Process a carriage return: log the current buffer on the same line + this.logInline(this.buffer.trim()); + this.buffer = ''; + } else { + // Append characters to the buffer + this.buffer += char; + } + } + } + + private logLine(line: string): void { + console.log('[Gradle Debug]', line.toString()); + this.writeEmitter.fire(`${line}\r\n`); + } + + private logInline(line: string): void { + // Clear the current line and move the cursor to the start + this.writeEmitter.fire(`\x1b[2K\x1b[1G${line}`); + } + + public flushBuffer(): void { + if (this.buffer.trim().length > 0) { + this.logLine(this.buffer.trim()); + this.buffer = ''; + } + } + + public clear(): void { + this.writeEmitter.fire('\x1b[2J\x1b[3J\x1b[H'); // Clear screen and move cursor to top-left + } + + public show(): void { + if (!this.terminal) { + this.terminal = vscode.window.createTerminal({ + name: this.name, + pty: this, + }); + } + this.terminal.show(true); + } + + /** + * Gets an existing instance or creates a new one by the terminal name. + * The terminal is also created and managed internally. + * @param name The name of the pseudoterminal. + * @returns The instance of the pseudoterminal. + */ + public static getInstance(name: string): LineBufferingPseudoterminal { + if (!this.instances.has(name)) { + const instance = new LineBufferingPseudoterminal(name); + this.instances.set(name, instance); + } + const instance = this.instances.get(name)!; + instance.show(); + return instance; + } +} + export function activate(context: ExtensionContext): VSNetBeansAPI { const provider = new StringContentProvider(); const scheme = 'in-memory'; @@ -1508,6 +1609,22 @@ function doActivateWithJDK(specifiedJDK: string | null, context: ExtensionContex decorations.set(decorationType.key, decorationType); return decorationType.key; }); + c.onRequest(WriteOutputRequest.type, param => { + const outputTerminal = LineBufferingPseudoterminal.getInstance(param.outputName) + outputTerminal.acceptInput(param.message); + }); + c.onRequest(ShowOutputRequest.type, param => { + const outputTerminal = LineBufferingPseudoterminal.getInstance(param) + outputTerminal.show(); + }); + c.onRequest(CloseOutputRequest.type, param => { + const outputTerminal = LineBufferingPseudoterminal.getInstance(param) + outputTerminal.close(); + }); + c.onRequest(ResetOutputRequest.type, param => { + const outputTerminal = LineBufferingPseudoterminal.getInstance(param) + outputTerminal.clear(); + }); c.onNotification(TextEditorDecorationSetNotification.type, param => { let decorationType = decorations.get(param.key); if (decorationType) { diff --git a/java/java.lsp.server/vscode/src/protocol.ts b/java/java.lsp.server/vscode/src/protocol.ts index fbe70181121c..0a1856f0ed40 100644 --- a/java/java.lsp.server/vscode/src/protocol.ts +++ b/java/java.lsp.server/vscode/src/protocol.ts @@ -323,3 +323,25 @@ export function asRange(value: Range | undefined | null): vscode.Range | undefin export function asRanges(value: Range[]): vscode.Range[] { return value.map(value => asRange(value)); } + +export interface OutputMessage { + outputName: string; + message: string; + stdIO: boolean; +} + +export namespace WriteOutputRequest { + export const type = new ProtocolRequestType('output/write'); +} + +export namespace ShowOutputRequest { + export const type = new ProtocolRequestType('output/show'); +} + +export namespace CloseOutputRequest { + export const type = new ProtocolRequestType('output/close'); +} + +export namespace ResetOutputRequest { + export const type = new ProtocolRequestType('output/reset'); +} From 0b4ca34b5e8f660e730d397be142eaf534caa07d Mon Sep 17 00:00:00 2001 From: Laszlo Kishalmi Date: Sun, 8 Dec 2024 14:46:30 -0800 Subject: [PATCH 68/94] Code cleanup for csl.editor.semantic package --- ide/csl.api/nbproject/project.properties | 2 +- .../csl/editor/semantic/ColoringManager.java | 21 +- .../csl/editor/semantic/GsfSemanticLayer.java | 271 +++++++----------- .../csl/editor/semantic/HighlightImpl.java | 162 ----------- .../semantic/HighlightsLayerFactoryImpl.java | 1 + .../semantic/MarkOccurrencesHighlighter.java | 29 +- .../semantic/OccurrencesMarkProvider.java | 71 +++-- .../OccurrencesMarkProviderCreator.java | 1 + .../editor/semantic/SemanticHighlighter.java | 203 +++---------- .../csl/editor/semantic/SequenceElement.java | 66 +---- .../editor/semantic/SequenceElementTest.java | 74 ----- 11 files changed, 196 insertions(+), 705 deletions(-) delete mode 100644 ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/HighlightImpl.java delete mode 100644 ide/csl.api/test/unit/src/org/netbeans/modules/csl/editor/semantic/SequenceElementTest.java diff --git a/ide/csl.api/nbproject/project.properties b/ide/csl.api/nbproject/project.properties index f809db633e6f..7637f0c31684 100644 --- a/ide/csl.api/nbproject/project.properties +++ b/ide/csl.api/nbproject/project.properties @@ -17,7 +17,7 @@ spec.version.base=2.85.0 is.autoload=true -javac.source=1.8 +javac.release=17 javadoc.overview=${basedir}/doc/overview.html javadoc.arch=${basedir}/arch.xml diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/ColoringManager.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/ColoringManager.java index c17c7396d7b9..e13dd0f88e31 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/ColoringManager.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/ColoringManager.java @@ -36,6 +36,7 @@ import javax.swing.text.AttributeSet; import javax.swing.text.Document; import javax.swing.text.JTextComponent; +import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.editor.mimelookup.MimeLookup; import org.netbeans.api.editor.mimelookup.MimePath; import org.netbeans.api.editor.settings.AttributesUtilities; @@ -61,7 +62,7 @@ * @author Jan Lahoda */ public final class ColoringManager { - private String mimeType; + private final String mimeType; private final Map, String> type2Coloring; //private static final Font ITALIC = SettingsDefaults.defaultFont.deriveFont(Font.ITALIC); @@ -71,7 +72,7 @@ public final class ColoringManager { public ColoringManager(String mimeType) { this.mimeType = mimeType; - type2Coloring = new LinkedHashMap, String>(); + type2Coloring = new LinkedHashMap<>(); put("mark-occurrences", MARK_OCCURRENCES); put("mod-abstract", ABSTRACT); @@ -123,7 +124,7 @@ private void put(String coloring, ColoringAttributes... attributes) { type2Coloring.put(attribs, coloring); } - Map,Coloring> COLORING_MAP = new IdentityHashMap, Coloring>(); + final Map,Coloring> COLORING_MAP = new IdentityHashMap<>(); public Coloring getColoring(Set attrs) { Coloring c = COLORING_MAP.get(attrs); @@ -139,7 +140,8 @@ public Coloring getColoring(Set attrs) { return c; } - + + @NonNull public AttributeSet getColoringImpl(Coloring colorings) { FontColorSettings fcs = MimeLookup.getLookup(MimePath.get(mimeType)).lookup(FontColorSettings.class); @@ -150,7 +152,7 @@ public AttributeSet getColoringImpl(Coloring colorings) { assert fcs != null; - List attribs = new LinkedList(); + List attribs = new LinkedList<>(); EnumSet es = EnumSet.noneOf(ColoringAttributes.class); @@ -184,13 +186,11 @@ public AttributeSet getColoringImpl(Coloring colorings) { Collections.reverse(attribs); - AttributeSet result = AttributesUtilities.createComposite(attribs.toArray(new AttributeSet[0])); - - return result; + return AttributesUtilities.createComposite(attribs.toArray(AttributeSet[]::new)); } private static AttributeSet adjustAttributes(AttributeSet as) { - Collection attrs = new LinkedList(); + Collection attrs = new LinkedList<>(); for (Enumeration e = as.getAttributeNames(); e.hasMoreElements(); ) { Object key = e.nextElement(); @@ -205,8 +205,9 @@ private static AttributeSet adjustAttributes(AttributeSet as) { return AttributesUtilities.createImmutable(attrs.toArray()); } - final class UnusedTooltipResolver implements HighlightAttributeValue { + private final class UnusedTooltipResolver implements HighlightAttributeValue { + @Override public String getValue(JTextComponent component, Document document, Object attributeKey, int startOffset, final int endOffset) { return NbBundle.getMessage(ColoringManager.class, "LBL_UNUSED"); } diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/GsfSemanticLayer.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/GsfSemanticLayer.java index 4b55286d7671..266e2bb5365c 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/GsfSemanticLayer.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/GsfSemanticLayer.java @@ -26,14 +26,10 @@ import java.util.List; import java.util.Map; import java.util.SortedSet; -import java.util.TreeSet; -import java.util.logging.Level; -import java.util.logging.Logger; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.AttributeSet; import javax.swing.text.Document; -import javax.swing.text.SimpleAttributeSet; import org.netbeans.api.editor.mimelookup.MimeLookup; import org.netbeans.api.editor.mimelookup.MimePath; import org.netbeans.api.editor.settings.FontColorSettings; @@ -53,128 +49,87 @@ * * @author Tor Norbye */ -public class GsfSemanticLayer extends AbstractHighlightsContainer implements DocumentListener { +public final class GsfSemanticLayer extends AbstractHighlightsContainer implements DocumentListener { - // -J-Dorg.netbeans.modules.csl.editor.semantic.GsfSemanticLayer.level=FINE - private static final Logger LOG = Logger.getLogger(GsfSemanticLayer.class.getName()); - - //private Map colorings; - private SortedSet colorings; - private int version; + private List colorings = List.of(); private List edits; - private Map> CACHE = new HashMap>(); - private Document doc; - private List coloringResults = new ArrayList(3); - private List coloringListeners = new ArrayList(3); + private final Map> cache = new HashMap<>(); + private final Document doc; + + // Write only - used to keep strong reference to Lookup.Result/LookupListener + @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") + private final List coloringResults = new ArrayList<>(3); + @SuppressWarnings("MismatchedQueryAndUpdateOfCollection") + private final List coloringListeners = new ArrayList<>(3); public static GsfSemanticLayer getLayer(Class id, Document doc) { GsfSemanticLayer l = (GsfSemanticLayer) doc.getProperty(id); if (l == null) { - doc.putProperty(id, l = new GsfSemanticLayer(doc)); + l = new GsfSemanticLayer(doc); + doc.putProperty(id, l); } return l; } - private static final SortedSet EMPTY_TREE_SET = new TreeSet(); - private GsfSemanticLayer(Document doc) { this.doc = doc; - this.colorings = EMPTY_TREE_SET; - this.version = -1; } - //public void setColorings(final SortedMap colorings/*, final Set addedTokens, final Set removedTokens*/) { - void setColorings(final SortedSet colorings, final int version /*, final Set addedTokens, final Set removedTokens*/) { - doc.render(new Runnable() { - public @Override void run() { - synchronized (GsfSemanticLayer.this) { - GsfSemanticLayer.this.colorings = colorings; - GsfSemanticLayer.this.edits = new ArrayList(); - GsfSemanticLayer.this.version = version; - - // I am not accurately computing it here - //if (addedTokens.isEmpty()) { - // //need to fire anything here? - //} else { - // if (addedTokens.size() == 1) { - // OffsetRange t = addedTokens.iterator().next(); - // - // //fireHighlightsChange(t.offset(null), t.offset(null) + t.length()); //XXX: locking - // fireHighlightsChange(t.getStart(), t.getEnd()); //XXX: locking - // } else { - fireHighlightsChange(0, doc.getLength()); //XXX: locking - // } - //} - - DocumentUtilities.removeDocumentListener(doc, GsfSemanticLayer.this, DocumentListenerPriority.LEXER); - DocumentUtilities.addDocumentListener(doc, GsfSemanticLayer.this, DocumentListenerPriority.LEXER); - } + void setColorings(final SortedSet colorings) { + doc.render(() -> { + synchronized (GsfSemanticLayer.this) { + GsfSemanticLayer.this.colorings = List.copyOf(colorings); + GsfSemanticLayer.this.edits = new ArrayList<>(); + + fireHighlightsChange(0, doc.getLength()); //XXX: locking + + DocumentUtilities.removeDocumentListener(doc, GsfSemanticLayer.this, DocumentListenerPriority.LEXER); + DocumentUtilities.addDocumentListener(doc, GsfSemanticLayer.this, DocumentListenerPriority.LEXER); } }); } - synchronized SortedSet getColorings() { - return colorings; - } - - synchronized int getVersion() { - return version; - } - @Override public synchronized HighlightsSequence getHighlights(int startOffset, int endOffset) { if (colorings.isEmpty()) { return HighlightsSequence.EMPTY; } - - return new GsfHighlightSequence(this, doc, startOffset, endOffset, colorings); + int seqStart = firstSequenceElement(colorings, startOffset); + return new GsfHighlightSequence(colorings.listIterator(seqStart)); } public synchronized void clearColoringCache() { - CACHE.clear(); + cache.clear(); } private synchronized void clearLanguageColoring(Language mime) { - CACHE.remove(mime); + cache.remove(mime); } - synchronized AttributeSet getColoring(Coloring c, final Language language) { - AttributeSet a = null; - Map map = CACHE.get(language); - if (map == null) { - final String mime = language.getMimeType(); - a = language.getColoringManager().getColoringImpl(c); - map = new HashMap(); - map.put(c, a); - CACHE.put(language, map); - Lookup.Result res = MimeLookup.getLookup(MimePath.get(mime)).lookupResult(FontColorSettings.class); - coloringResults.add(res); - LookupListener l; - - res.addLookupListener( - WeakListeners.create(LookupListener.class, - l = new LookupListener() { - @Override - public void resultChanged(LookupEvent ev) { - clearLanguageColoring(language); - fireHighlightsChange(0, doc.getLength()); - } - }, res) - ); - coloringListeners.add(l); - } else { - a = map.get(c); - if (a == null) { - map.put(c, a = language.getColoringManager().getColoringImpl(c)); - } - } - if (a == null) { - LOG.log(Level.FINE, "Null AttributeSet for coloring {0} in language {1}", new Object [] { c, language }); - } - return a; + synchronized AttributeSet getColoring(Coloring coloring, final Language language) { + Map langColoring = cache.computeIfAbsent(language, (lang) -> { + registerColoringChangeListener(lang); + return new HashMap<>(); + }); + return langColoring.computeIfAbsent(coloring, (c) -> language.getColoringManager().getColoringImpl(c)); + } + + private void registerColoringChangeListener(Language language) { + String mime = language.getMimeType(); + Lookup.Result res = MimeLookup.getLookup(MimePath.get(mime)).lookupResult(FontColorSettings.class); + coloringResults.add(res); + LookupListener l = (LookupEvent ev) -> { + clearLanguageColoring(language); + fireHighlightsChange(0, doc.getLength()); + }; + + res.addLookupListener( + WeakListeners.create(LookupListener.class, l , res) + ); + coloringListeners.add(l); } @Override @@ -197,29 +152,20 @@ public void changedUpdate(DocumentEvent e) { // Compute an adjusted offset public int getShiftedPos(int pos) { - List list = edits; - int len = list.size(); - if (len == 0) { - return pos; - } - for (int i = 0; i < len; i++) { - Edit edit = list.get(i); - if (pos > edit.offset) { - if (edit.insert) { - pos += edit.len; - } else if (pos < edit.offset+edit.len) { - pos = edit.offset; + int ret = pos; + + for (Edit edit: edits) { + if (ret > edit.offset()) { + if (edit.insert()) { + ret += edit.len(); + } else if (ret < edit.offset() + edit.len()) { + ret = edit.offset(); } else { - pos -= edit.len; + ret -= edit.len(); } } } - - if (pos < 0) { - pos = 0; - } - - return pos; + return ret; } /** @@ -233,17 +179,7 @@ public int getShiftedPos(int pos) { * of ranges (e.g. for every highlight in the whole document) whereas asking for the * current positions is typically only done for the highlights visible on the screen. */ - private class Edit { - public Edit(int offset, int len, boolean insert) { - this.offset = offset; - this.len = len; - this.insert = insert; - } - - int offset; - int len; - boolean insert; // true: insert, false: delete - } + private record Edit(int offset, int len, boolean insert) {} /** * An implementation of a HighlightsSequence which can show OffsetRange @@ -251,77 +187,62 @@ public Edit(int offset, int len, boolean insert) { * * @author Tor Norbye */ - private static final class GsfHighlightSequence implements HighlightsSequence { - private Iterator iterator; + private final class GsfHighlightSequence implements HighlightsSequence { + private final Iterator iterator; private SequenceElement element; - private final GsfSemanticLayer layer; - private final int endOffset; - private SequenceElement nextElement; - private int nextElementStartOffset = Integer.MAX_VALUE; - GsfHighlightSequence(GsfSemanticLayer layer, Document doc, - int startOffset, int endOffset, - SortedSet colorings) { - this.layer = layer; - this.endOffset = endOffset; - - SequenceElement.ComparisonItem fromInclusive = new SequenceElement.ComparisonItem(startOffset); - SortedSet subMap = colorings.tailSet(fromInclusive); - iterator = subMap.iterator(); - } - - private SequenceElement fetchElementFromIterator(boolean updateNextElementStartOffset) { - int seStartOffset; - SequenceElement se; - if (iterator != null && iterator.hasNext()) { - se = iterator.next(); - seStartOffset = se.range.getStart(); - if (LOG.isLoggable(Level.FINE)) { - LOG.log(Level.FINE, "Fetched highlight <{0},{1}>\n", // NOI18N - new Object[]{seStartOffset, se.range.getEnd()}); - } - if (seStartOffset >= endOffset) { - se = null; - seStartOffset = Integer.MAX_VALUE; - iterator = null; - } - } else { - se = null; - seStartOffset = Integer.MAX_VALUE; - iterator = null; - } - if (updateNextElementStartOffset) { - nextElementStartOffset = seStartOffset; - } - return se; + GsfHighlightSequence(Iterator it) { + iterator = it; } @Override public boolean moveNext() { - if (nextElement != null) { - element = nextElement; - nextElement = fetchElementFromIterator(true); - } else { - if ((element = fetchElementFromIterator(false)) != null) { - nextElement = fetchElementFromIterator(true); - } - } - return (element != null); + element = iterator.hasNext() ? iterator.next() : null; + return element != null; } @Override public int getStartOffset() { - return layer.getShiftedPos(element.range.getStart()); + return getShiftedPos(element.range().getStart()); } @Override public int getEndOffset() { - return layer.getShiftedPos(element.range.getEnd()); + return getShiftedPos(element.range().getEnd()); } @Override public AttributeSet getAttributes() { - return layer.getColoring(element.coloring, element.language); + return getColoring(element.coloring(), element.language()); } } + + /** + * Binary search for the first SequenceElement that is left to the offset and + * returns its index in the list. + * + * This is used to get an optimized iterator for GsfHighlightSequence + * @param l ordered list of SequenceElements + * @param offset The offset in the document. + * @return the index of the first SequenceElement that is left to the offset + */ + private static int firstSequenceElement(List l, int offset) { + int low = 0; + int high = l.size() - 1; + + while (low <= high) { + int mid = (low + high) >>> 1; + SequenceElement midVal = l.get(mid); + int cmp = midVal.range().getStart() - offset; + + if (cmp < 0) + low = mid + 1; + else if (cmp > 0) + high = mid - 1; + else + return mid; + } + return low; + } + } diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/HighlightImpl.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/HighlightImpl.java deleted file mode 100644 index 456b4775f1ff..000000000000 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/HighlightImpl.java +++ /dev/null @@ -1,162 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.csl.editor.semantic; - - -import java.text.MessageFormat; -import java.text.ParseException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; -import javax.swing.text.StyledDocument; -import org.netbeans.api.lexer.Token; -import org.netbeans.modules.csl.api.ColoringAttributes; -import org.openide.text.NbDocument; - -/** - * This file is originally from Retouche, the Java Support - * infrastructure in NetBeans. I have modified the file as little - * as possible to make merging Retouche fixes back as simple as - * possible. - * - * - * @author Jan Lahoda - */ -public final class HighlightImpl { - - private Document doc; - private int start; - private int end; - private Collection colorings; - - public HighlightImpl(Document doc, Token token, Collection colorings) { - this.doc = doc; - this.start = token.offset(null); - this.end = token.offset(null) + token.text().length(); - this.colorings = colorings; - } - - public HighlightImpl(Document doc, int start, int end, Collection colorings) { - this.doc = doc; - this.start = start; - this.end = end; - this.colorings = colorings; - } - - public int getStart() { - return start; - } - - public int getEnd() { - return end; - } - - public String getHighlightTestData() { - int lineStart = NbDocument.findLineNumber((StyledDocument) doc, start); - int columnStart = NbDocument.findLineColumn((StyledDocument) doc, start); - int lineEnd = NbDocument.findLineNumber((StyledDocument) doc, end); - int columnEnd = NbDocument.findLineColumn((StyledDocument) doc, end); - - return coloringsToString() + ", " + lineStart + ":" + columnStart + "-" + lineEnd + ":" + columnEnd; - } - - private String coloringsToString() { - StringBuffer result = new StringBuffer(); - boolean first = true; - - result.append("["); - - for (ColoringAttributes attribute : coloringsAttributesOrder) { - if (colorings.contains(attribute)) { - if (!first) { - result.append(", "); - } - - first = false; - result.append(attribute.name()); - } - } - - result.append("]"); - - return result.toString(); - } - - Collection coloringsAttributesOrder = Arrays.asList(new ColoringAttributes[] { - ColoringAttributes.ABSTRACT, - ColoringAttributes.ANNOTATION_TYPE, - ColoringAttributes.CLASS, - ColoringAttributes.CONSTRUCTOR, - ColoringAttributes.CUSTOM1, - ColoringAttributes.CUSTOM2, - ColoringAttributes.CUSTOM3, - ColoringAttributes.DECLARATION, - ColoringAttributes.DEPRECATED, - ColoringAttributes.ENUM, - ColoringAttributes.FIELD, - ColoringAttributes.GLOBAL, - ColoringAttributes.INTERFACE, - ColoringAttributes.LOCAL_VARIABLE, - ColoringAttributes.MARK_OCCURRENCES, - ColoringAttributes.METHOD, - ColoringAttributes.PACKAGE_PRIVATE, - ColoringAttributes.PARAMETER, - ColoringAttributes.PRIVATE, - ColoringAttributes.PROTECTED, - ColoringAttributes.PUBLIC, - ColoringAttributes.REGEXP, - ColoringAttributes.STATIC, - ColoringAttributes.TYPE_PARAMETER_DECLARATION, - ColoringAttributes.TYPE_PARAMETER_USE, - ColoringAttributes.UNDEFINED, - ColoringAttributes.UNUSED, - }); - - public static HighlightImpl parse(StyledDocument doc, String line) throws ParseException, BadLocationException { - MessageFormat f = new MessageFormat("[{0}], {1,number,integer}:{2,number,integer}-{3,number,integer}:{4,number,integer}"); - Object[] args = f.parse(line); - - String attributesString = (String) args[0]; - int lineStart = ((Long) args[1]).intValue(); - int columnStart = ((Long) args[2]).intValue(); - int lineEnd = ((Long) args[3]).intValue(); - int columnEnd = ((Long) args[4]).intValue(); - - String[] attrElements = attributesString.split(","); - List attributes = new ArrayList(); - - for (String a : attrElements) { - a = a.trim(); - - attributes.add(ColoringAttributes.valueOf(a)); - } - - if (attributes.contains(null)) - throw new NullPointerException(); - - int offsetStart = NbDocument.findLineOffset(doc, lineStart) + columnStart; - int offsetEnd = NbDocument.findLineOffset(doc, lineEnd) + columnEnd; - - return new HighlightImpl(doc, offsetStart, offsetEnd, attributes); - } - -} diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/HighlightsLayerFactoryImpl.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/HighlightsLayerFactoryImpl.java index 3e5950f205fa..1b97904c17c9 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/HighlightsLayerFactoryImpl.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/HighlightsLayerFactoryImpl.java @@ -35,6 +35,7 @@ */ public class HighlightsLayerFactoryImpl implements HighlightsLayerFactory { + @Override public HighlightsLayer[] createLayers(Context context) { //LexerBasedHighlightLayer semantic = LexerBasedHighlightLayer.getLayer(SemanticHighlighter.class, context.getDocument()); GsfSemanticLayer semantic = GsfSemanticLayer.getLayer(SemanticHighlighter.class, context.getDocument()); diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.java index 5ded13490fda..a4da4578f18f 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.java @@ -19,7 +19,6 @@ package org.netbeans.modules.csl.editor.semantic; import java.awt.Color; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.SortedSet; @@ -63,8 +62,8 @@ public final class MarkOccurrencesHighlighter extends ParserResultTask bag = processImpl(info, doc, caretPosition); - if(bag == null) { + if (bag.isEmpty() || cancel.isCancelled()) { //the occurrences finder haven't found anything, just ignore the result //and keep the previous occurrences return ; } - if (cancel.isCancelled()) { - return; - } - GsfSemanticLayer layer = GsfSemanticLayer.getLayer(MarkOccurrencesHighlighter.class, doc); SortedSet seqs = new TreeSet(); - if (bag.size() > 0) { - for (OffsetRange range : bag) { - if (range != OffsetRange.NONE) { - SequenceElement s = new SequenceElement(language, range, MO); - seqs.add(s); - } - } - } - - layer.setColorings(seqs, version++); + bag.stream() + .filter(range -> range != OffsetRange.NONE) + .forEach(range -> seqs.add(new SequenceElement(language, range, MO))); + + layer.setColorings(seqs); OccurrencesMarkProvider.get(doc).setOccurrences(OccurrencesMarkProvider.createMarks(doc, bag, ES_COLOR, NbBundle.getMessage(MarkOccurrencesHighlighter.class, "LBL_ES_TOOLTIP"))); } finally { @@ -155,7 +146,7 @@ List processImpl(ParserResult info, Document doc, int caretPosition Map highlights = finder.getOccurrences(); - return highlights == null ? null : new ArrayList(highlights.keySet()); + return List.copyOf(highlights.keySet()); } @Override diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/OccurrencesMarkProvider.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/OccurrencesMarkProvider.java index 4e6d81a38531..78b3c0d169ec 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/OccurrencesMarkProvider.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/OccurrencesMarkProvider.java @@ -50,14 +50,15 @@ */ public class OccurrencesMarkProvider extends MarkProvider { - private static Map> providers = new WeakHashMap>(); + private static final Map> providers = new WeakHashMap<>(); public static synchronized OccurrencesMarkProvider get(Document doc) { Reference ref = providers.get(doc); OccurrencesMarkProvider p = ref != null ? ref.get() : null; if (p == null) { - providers.put(doc, new WeakReference(p = new OccurrencesMarkProvider())); + p = new OccurrencesMarkProvider(); + providers.put(doc, new WeakReference(p)); } return p; @@ -74,6 +75,7 @@ private OccurrencesMarkProvider() { joint = Collections.emptyList(); } + @Override public synchronized List getMarks() { return joint; } @@ -83,14 +85,16 @@ public void setSematic(Collection s) { List nue; synchronized (this) { - semantic = new ArrayList(s); + semantic = new ArrayList<>(s); old = joint; - nue = joint = new ArrayList(); + nue = new ArrayList<>(); - joint.addAll(semantic); - joint.addAll(occurrences); + nue.addAll(semantic); + nue.addAll(occurrences); + + joint = nue; } //#85919: fire outside the lock: @@ -102,14 +106,16 @@ public void setOccurrences(Collection s) { List nue; synchronized (this) { - occurrences = new ArrayList(s); + occurrences = new ArrayList<>(s); old = joint; - nue = joint = new ArrayList(); + nue = new ArrayList<>(); - joint.addAll(semantic); - joint.addAll(occurrences); + nue.addAll(semantic); + nue.addAll(occurrences); + + joint = nue; } //#85919: fire outside the lock: @@ -118,21 +124,19 @@ public void setOccurrences(Collection s) { //public static Collection createMarks(final Document doc, final List bag, final Color color, final String tooltip) { public static Collection createMarks(final Document doc, final List bag, final Color color, final String tooltip) { - final List result = new LinkedList(); + final List result = new LinkedList<>(); - doc.render(new Runnable() { - public void run() { - //for (int[] span : bag) { - for (OffsetRange span : bag) { - try { - //if (span[0] < doc.getLength()) { - if (span.getStart() < doc.getLength()) { - //result.add(new MarkImpl(doc, doc.createPosition(span[0]), color, tooltip)); - result.add(new MarkImpl(doc, doc.createPosition(span.getStart()), color, tooltip)); - } - } catch (BadLocationException ex) { - Exceptions.printStackTrace(ex); + doc.render(() -> { + //for (int[] span : bag) { + for (OffsetRange span : bag) { + try { + //if (span[0] < doc.getLength()) { + if (span.getStart() < doc.getLength()) { + //result.add(new MarkImpl(doc, doc.createPosition(span[0]), color, tooltip)); + result.add(new MarkImpl(doc, doc.createPosition(span.getStart()), color, tooltip)); } + } catch (BadLocationException ex) { + Exceptions.printStackTrace(ex); } } }); @@ -140,45 +144,38 @@ public void run() { return result; } - private static final class MarkImpl implements Mark { - - private Document doc; - private Position startOffset; - private Color color; - private String tooltip; - - public MarkImpl(Document doc, Position startOffset, Color color, String tooltip) { - this.doc = doc; - this.startOffset = startOffset; - this.color = color; - this.tooltip = tooltip; - } + private static final record MarkImpl(Document doc, Position startOffset, Color color, String tooltip) implements Mark { + @Override public int getType() { return TYPE_ERROR_LIKE; } + @Override public Status getStatus() { return Status.STATUS_OK; } + @Override public int getPriority() { return PRIORITY_DEFAULT; } + @Override public Color getEnhancedColor() { return color; } + @Override public int[] getAssignedLines() { int line = NbDocument.findLineNumber((StyledDocument) doc, startOffset.getOffset()); return new int[] {line, line}; } + @Override public String getShortDescription() { return tooltip; } - } } diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/OccurrencesMarkProviderCreator.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/OccurrencesMarkProviderCreator.java index 8f6f16063e04..525405775320 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/OccurrencesMarkProviderCreator.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/OccurrencesMarkProviderCreator.java @@ -37,6 +37,7 @@ public class OccurrencesMarkProviderCreator implements MarkProviderCreator{ public OccurrencesMarkProviderCreator() { } + @Override public MarkProvider createMarkProvider(JTextComponent pane) { return OccurrencesMarkProvider.get(pane.getDocument()); } diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/SemanticHighlighter.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/SemanticHighlighter.java index f5ae99e4c2c7..1176d171250a 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/SemanticHighlighter.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/SemanticHighlighter.java @@ -41,7 +41,6 @@ import org.netbeans.modules.parsing.api.ParserManager; import org.netbeans.modules.parsing.api.ResultIterator; import org.netbeans.modules.parsing.api.Source; -import org.netbeans.modules.parsing.api.UserTask; import org.netbeans.modules.parsing.spi.*; @@ -65,10 +64,6 @@ public final class SemanticHighlighter extends IndexingAwareParserResultTask getSchedulerClass () { } + @Override public final void cancel() { } @@ -93,32 +89,9 @@ public final void cancel() { long startTime = System.currentTimeMillis(); Source source = info.getSnapshot().getSource(); - final SortedSet newColoring = new TreeSet(); + final SortedSet newColoring = new TreeSet<>(); try { - ParserManager.parse(Collections.singleton(source), new UserTask() { - public @Override void run(ResultIterator resultIterator) throws Exception { - String mimeType = resultIterator.getSnapshot().getMimeType(); - Language language = LanguageRegistry.getInstance().getLanguageByMimeType(mimeType); - if (language != null) { - ColoringManager manager = language.getColoringManager(); - SemanticAnalyzer task = language.getSemanticAnalyzer(); - if (manager != null && task != null) { - Parser.Result r = resultIterator.getParserResult(); - if (r instanceof ParserResult) { - process(language, (ParserResult) r, newColoring); - } - } - } - - for(Embedding e : resultIterator.getEmbeddings()) { - if (cancel.isCancelled()) { - return; - } else { - run(resultIterator.getResultIterator(e)); - } - } - } - }); + ParserManager.parse(Collections.singleton(source), (ResultIterator ri) -> processColorings(ri, newColoring)); } catch (ParseException e) { LOG.log(Level.WARNING, null, e); return; @@ -133,139 +106,35 @@ public final void cancel() { } final GsfSemanticLayer layer = GsfSemanticLayer.getLayer(SemanticHighlighter.class, doc); - SwingUtilities.invokeLater(new Runnable () { - public void run() { - // XXX: parsingapi - layer.setColorings(newColoring, -1); //version - } + SwingUtilities.invokeLater(() -> { + // XXX: parsingapi + layer.setColorings(newColoring); }); } finally { SpiSupportAccessor.getInstance().removeCancelSupport(cancel); } } + private void processColorings(ResultIterator resultIterator, SortedSet newColoring) throws ParseException { + String mimeType = resultIterator.getSnapshot().getMimeType(); + Language language = LanguageRegistry.getInstance().getLanguageByMimeType(mimeType); + if (language != null) { + Parser.Result r = resultIterator.getParserResult(); + if (r instanceof ParserResult pr) { + process(language, pr, newColoring); + } + } - private void process(Language language, ParserResult result, Set newColoring) throws ParseException { - - //final Map oldColors = GsfSemanticLayer.getLayer(SemanticHighlighter.class, doc).getColorings(); - //final Set removedTokens = new HashSet(oldColors.keySet()); - //final Set addedTokens = new HashSet(); - //if (isCancelled()) { - // return true; - //} - - -// XXX: parsingapi -// EditHistory currentHistory = info.getHistory(); -// final int version = currentHistory.getVersion(); -// -// -// // Attempt to do less work in embedded scenarios: Only recompute hints for regions -// // that have changed -// LanguageRegistry registry = LanguageRegistry.getInstance(); -// SortedSet colorings = layer.getColorings(); -// int previousVersion = layer.getVersion(); -//// XXX: parsingapi -// if (mimeTypes.size() > 1 && colorings.size() > 0) { // && info.hasUnchangedResults() -// -// // Sort elements into buckets per language -// Map> elements = new HashMap>(); -// List prevList = null; -// Language prevLanguage = null; -// for (SequenceElement element : colorings) { -// List list; -// if (element.language == prevLanguage) { -// list = prevList; -// } else { -// list = elements.get(element.language); -// if (list == null) { -// list = new ArrayList(); -// elements.put(element.language, list); -// prevLanguage = element.language; -// prevList = list; -// } -// } -// list.add(element); -// } -// -// // Recompute lists for languages that have changed -// EditHistory history = EditHistory.getCombinedEdits(previousVersion, currentHistory); -// if (history != null) { -// int offset = history.getStart(); -// for (String mimeType : mimeTypes) { -// if (isCancelled()) { -// return true; -// } -// Language language = registry.getLanguageByMimeType(mimeType); -// if (language == null) { -// continue; -// } -// -// // Unchanged result? -// ParserResult result = info.getEmbeddedResult(mimeType, 0); -// if (result != null && result.getUpdateState().isUnchanged()) { -// -// // This section was not edited in the last parse tree, -// // so just grab the previous elements, and use them -// // (after tweaking the offsets) -// List list = elements.get(language); -// -// if (list != null) { -// for (SequenceElement element : list) { -// if (element.language == language) { -// OffsetRange range = element.range; -// if (range.getStart() > offset) { -// element.range = new OffsetRange(history.convertOriginalToEdited(range.getStart()), -// history.convertOriginalToEdited(range.getEnd())); -// } -// newColoring.add(element); -// } -// } -// } -// -// continue; -// } else { -// // We need to recompute the semantic highlights for this language -// ColoringManager manager = language.getColoringManager(); -// SemanticAnalyzer task = language.getSemanticAnalyzer(); -// if (task != null) { -// // Allow language plugins to do their own analysis too -// try { -// task.run(info); -// } catch (Exception ex) { -// ErrorManager.getDefault().notify(ex); -// } -// -// if (isCancelled()) { -// task.cancel(); -// return true; -// } -// -// Map> highlights = task.getHighlights(); -// if (highlights != null) { -// for (OffsetRange range : highlights.keySet()) { -// -// Set colors = highlights.get(range); -// if (colors == null) { -// continue; -// } -// -// Coloring c = manager.getColoring(colors); -// -// //newColoring.put(range, c); -// newColoring.add(new SequenceElement(language, range, c)); -// } -// } -// } -// } -// } -// -// layer.setColorings(newColoring, version); -// return true; -// } -// } - + for(Embedding e : resultIterator.getEmbeddings()) { + if (cancel.isCancelled()) { + return; + } else { + processColorings(resultIterator.getResultIterator(e), newColoring); + } + } + } + private void process(Language language, ParserResult result, Set newColoring) throws ParseException { if (cancel.isCancelled()) { return; } @@ -290,26 +159,22 @@ private void process(Language language, ParserResult result, Set> highlights = task.getHighlights(); - if (highlights != null) { - for (Map.Entry> entry : highlights.entrySet()) { + for (Map.Entry> entry : highlights.entrySet()) { - OffsetRange range = entry.getKey(); - Set colors = entry.getValue(); - if (colors == null) { - continue; - } + OffsetRange range = entry.getKey(); + Set colors = entry.getValue(); + if (colors == null) { + continue; + } - Coloring c = manager.getColoring(colors); + Coloring c = manager.getColoring(colors); - newColoring.add(new SequenceElement(language, range, c)); + newColoring.add(new SequenceElement(language, range, c)); - if (cancel.isCancelled()) { - return; - } + if (cancel.isCancelled()) { + return; } } - - return; } } diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/SequenceElement.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/SequenceElement.java index 2420ffe346da..e839d39d5b3c 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/SequenceElement.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/SequenceElement.java @@ -26,78 +26,28 @@ /** * Each SequeneceElement represents a OffsetRange/Coloring/Language tuple that * is managed for semantic highlighting purposes. They are comparable since they - * are maintained in a TreeSet (sorted by the OffsetRanges). This sorted treeset - * is used to manage the various subsequences etc. needed by the highlight sequences. - * There is a special subclass of ElementSequence, ComparisonItem, which is used - * as comparison bounds (keys) passed into the TreeSet when generating subsequences. + * are maintained in a TreeSet (sorted by the OffsetRanges). * * @author Tor Norbye */ -class SequenceElement implements Comparable { - public final Language language; - public OffsetRange range; - public final Coloring coloring; - - private SequenceElement() { - this(null, null, null); - } +record SequenceElement(Language language, OffsetRange range, Coloring coloring) implements Comparable { - public SequenceElement(Language language, OffsetRange range, Coloring coloring) { - this.language = language; - this.range = range; - this.coloring = coloring; - } - + @Override public int compareTo(SequenceElement o) { - if (o instanceof ComparisonItem) { - return -1 * ((ComparisonItem) o).compareTo(this); - } else { - assert o.range != null; - return range.compareTo(o.range); - } + assert o.range() != null; + return range.compareTo(o.range()); } @Override public boolean equals(Object obj) { - if (!(obj instanceof SequenceElement)) { - return false; + if (obj instanceof SequenceElement other) { + return range.equals(other.range()); } - SequenceElement other = (SequenceElement)obj; - - return range.equals(other.range); + return false; } @Override public int hashCode() { return range.hashCode(); } - - @Override - public String toString() { - return "SequenceElement(range=" + range + ", lang=" + language + ", color=" + coloring + ")"; //NOI18N - } - - // This class is used only for key comparison when creating subsets - static class ComparisonItem extends SequenceElement { - private int offset; - - ComparisonItem(int offset) { - this.offset = offset; - } - - @Override - public int compareTo(SequenceElement o) { - if (o instanceof ComparisonItem) { - return offset - ((ComparisonItem)o).offset; - } else { - if (offset < o.range.getStart()) { - return -1; - } else if (offset >= o.range.getEnd()) { // forward biased - return 1; - } else { - return 0; - } - } - } - } } diff --git a/ide/csl.api/test/unit/src/org/netbeans/modules/csl/editor/semantic/SequenceElementTest.java b/ide/csl.api/test/unit/src/org/netbeans/modules/csl/editor/semantic/SequenceElementTest.java deleted file mode 100644 index 62d2849b5ec8..000000000000 --- a/ide/csl.api/test/unit/src/org/netbeans/modules/csl/editor/semantic/SequenceElementTest.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.csl.editor.semantic; - -import junit.framework.TestCase; -import org.netbeans.modules.csl.api.OffsetRange; - -/** - * - * @author Tor Norbye - */ -public class SequenceElementTest extends TestCase { - - public SequenceElementTest(String testName) { - super(testName); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - } - - public void testCompareTo() { - SequenceElement s1 = new SequenceElement(null, new OffsetRange(2,5),null); - SequenceElement s2 = new SequenceElement(null, new OffsetRange(5,7),null); - assertTrue(s1.compareTo(s2) < 0); - assertTrue(s2.compareTo(s1) > 0); - s2 = new SequenceElement(null, new OffsetRange(2,5),null); - assertTrue(s1.compareTo(s2) == 0); - assertTrue(s2.compareTo(s1) == 0); - - s1 = new SequenceElement.ComparisonItem(1); - s2 = new SequenceElement.ComparisonItem(2); - assertTrue(s1.compareTo(s2) < 0); - assertTrue(s2.compareTo(s1) > 0); - - // s1 below s2 - s2 = new SequenceElement(null, new OffsetRange(2,5),null); - assertTrue(s1.compareTo(s2) < 0); - assertTrue(s2.compareTo(s1) > 0); - - // s1 inside s2 - s1 = new SequenceElement.ComparisonItem(3); - assertTrue(s1.compareTo(s2) == 0); - assertTrue(s2.compareTo(s1) == 0); - - // s1 above s2 - s1 = new SequenceElement.ComparisonItem(6); - assertTrue(s1.compareTo(s2) > 0); - assertTrue(s2.compareTo(s1) < 0); - } -} From 15642dabc9d23428bad6776f72bf80c6f227c059 Mon Sep 17 00:00:00 2001 From: Eric Barboni Date: Tue, 10 Dec 2024 16:59:56 +0100 Subject: [PATCH 69/94] Snapshot of APIs as 24 --- .../org-netbeans-modules-apisupport-ant.sig | 2 +- ...-netbeans-modules-apisupport-installer.sig | 2 +- ...rg-netbeans-modules-apisupport-project.sig | 2 +- .../org-netbeans-modules-cpplite-debugger.sig | 2 +- .../org-netbeans-modules-cpplite-editor.sig | 2 +- .../org-netbeans-api-web-webmodule.sig | 2 +- .../org-netbeans-modules-cloud-common.sig | 2 +- .../org-netbeans-modules-el-lexer.sig | 2 +- .../org-netbeans-modules-glassfish-common.sig | 2 +- ...rg-netbeans-modules-glassfish-eecommon.sig | 2 +- .../org-netbeans-modules-glassfish-javaee.sig | 2 +- ...org-netbeans-modules-glassfish-tooling.sig | 2 +- ...rg-netbeans-modules-j2ee-api-ejbmodule.sig | 2 +- ...rg-netbeans-modules-j2ee-clientproject.sig | 2 +- .../org-netbeans-modules-j2ee-common.sig | 2 +- .../org-netbeans-modules-j2ee-core.sig | 2 +- ...rg-netbeans-modules-j2ee-dd-webservice.sig | 2 +- .../org-netbeans-modules-j2ee-dd.sig | 2 +- .../org-netbeans-modules-j2ee-ejbcore.sig | 2 +- ...rg-netbeans-modules-j2ee-ejbjarproject.sig | 2 +- .../org-netbeans-modules-j2ee-sun-appsrv.sig | 2 +- .../org-netbeans-modules-j2ee-sun-dd.sig | 2 +- .../org-netbeans-modules-j2ee-sun-ddui.sig | 2 +- .../org-netbeans-modules-j2eeapis.sig | 2 +- .../org-netbeans-modules-j2eeserver.sig | 2 +- ...org-netbeans-modules-jakarta-web-beans.sig | 2 +- .../org-netbeans-modules-javaee-project.sig | 2 +- .../org-netbeans-modules-javaee-resources.sig | 2 +- ...-netbeans-modules-javaee-specs-support.sig | 2 +- ...netbeans-modules-jellytools-enterprise.sig | 2 +- .../org-netbeans-modules-jsp-lexer.sig | 2 +- .../nbproject/org-netbeans-libs-amazon.sig | 2 +- .../nbproject/org-netbeans-libs-elimpl.sig | 2 +- .../org-netbeans-libs-glassfish_logging.sig | 2 +- .../nbproject/org-netbeans-libs-jackson.sig | 398 +++++++++++++++++- .../org-netbeans-modules-maven-j2ee.sig | 2 +- .../org-netbeans-modules-payara-common.sig | 10 +- .../org-netbeans-modules-payara-eecommon.sig | 2 +- .../org-netbeans-modules-payara-micro.sig | 9 +- .../org-netbeans-modules-payara-tooling.sig | 18 +- .../org-netbeans-modules-servletjspapi.sig | 2 +- .../org-netbeans-modules-web-beans.sig | 2 +- .../org-netbeans-modules-web-core.sig | 2 +- .../nbproject/org-netbeans-modules-web-el.sig | 2 +- ...rg-netbeans-modules-web-jsf-navigation.sig | 2 +- .../org-netbeans-modules-web-jsf.sig | 2 +- .../org-netbeans-modules-web-jsfapi.sig | 2 +- .../org-netbeans-modules-web-jspparser.sig | 2 +- .../org-netbeans-modules-web-project.sig | 2 +- .../org-netbeans-modules-weblogic-common.sig | 2 +- .../org-netbeans-modules-websvc-clientapi.sig | 2 +- .../org-netbeans-modules-websvc-core.sig | 2 +- .../org-netbeans-modules-websvc-design.sig | 2 +- ...netbeans-modules-websvc-jaxws-lightapi.sig | 2 +- .../org-netbeans-modules-websvc-jaxwsapi.sig | 2 +- ...org-netbeans-modules-websvc-jaxwsmodel.sig | 2 +- .../org-netbeans-modules-websvc-manager.sig | 2 +- ...org-netbeans-modules-websvc-projectapi.sig | 2 +- .../org-netbeans-modules-websvc-rest.sig | 2 +- .../org-netbeans-modules-websvc-restapi.sig | 2 +- .../org-netbeans-modules-websvc-restlib.sig | 8 +- .../org-netbeans-modules-websvc-utilities.sig | 2 +- .../org-netbeans-modules-websvc-websvcapi.sig | 2 +- ...org-netbeans-modules-websvc-wsstackapi.sig | 2 +- .../nbproject/org-netbeans-modules-gradle.sig | 26 +- .../nbproject/org-apache-tools-ant-module.sig | 2 +- .../org-netbeans-modules-options-java.sig | 2 +- .../org-netbeans-modules-groovy-editor.sig | 2 +- .../org-netbeans-modules-groovy-support.sig | 2 +- .../org-netbeans-modules-libs-groovy.sig | 2 +- ...g-netbeans-modules-jellytools-platform.sig | 2 +- .../nbproject/org-netbeans-modules-jemmy.sig | 2 +- .../org-netbeans-modules-nbjunit.sig | 2 +- .../nbproject/org-netbeans-insane.sig | 2 +- .../nbproject/org-netbeans-api-debugger.sig | 2 +- .../org-netbeans-api-java-classpath.sig | 2 +- .../nbproject/org-netbeans-api-lsp.sig | 7 +- .../nbproject/org-netbeans-api-xml-ui.sig | 2 +- .../nbproject/org-netbeans-api-xml.sig | 2 +- ...g-netbeans-modules-bugtracking-commons.sig | 2 +- .../org-netbeans-modules-bugtracking.sig | 2 +- .../org-netbeans-modules-bugzilla.sig | 2 +- .../org-netbeans-modules-code-analysis.sig | 2 +- .../nbproject/org-netbeans-core-browser.sig | 2 +- .../nbproject/org-netbeans-core-ide.sig | 2 +- .../org-netbeans-modules-csl-api.sig | 2 +- .../org-netbeans-modules-csl-types.sig | 2 +- .../org-netbeans-modules-css-editor.sig | 2 +- .../org-netbeans-modules-css-lib.sig | 3 +- .../org-netbeans-modules-css-model.sig | 2 +- .../org-netbeans-modules-css-visual.sig | 2 +- .../org-netbeans-modules-db-core.sig | 2 +- .../org-netbeans-modules-db-dataview.sig | 2 +- ...org-netbeans-modules-db-metadata-model.sig | 2 +- .../org-netbeans-modules-db-mysql.sig | 2 +- .../org-netbeans-modules-db-sql-editor.sig | 2 +- ...g-netbeans-modules-db-sql-visualeditor.sig | 2 +- ide/db/nbproject/org-netbeans-modules-db.sig | 2 +- .../nbproject/org-netbeans-modules-dbapi.sig | 2 +- .../nbproject/org-netbeans-modules-derby.sig | 2 +- .../nbproject/org-netbeans-modules-diff.sig | 2 +- ...eans-modules-dlight-nativeexecution-nb.sig | 2 +- ...etbeans-modules-dlight-nativeexecution.sig | 2 +- .../org-netbeans-modules-dlight-terminal.sig | 2 +- .../org-netbeans-modules-docker-api.sig | 2 +- ...netbeans-modules-editor-bracesmatching.sig | 2 +- ...rg-netbeans-modules-editor-breadcrumbs.sig | 2 +- ...-netbeans-modules-editor-codetemplates.sig | 2 +- ...org-netbeans-modules-editor-completion.sig | 2 +- ...ules-editor-deprecated-pre65formatting.sig | 2 +- .../org-netbeans-modules-editor-document.sig | 2 +- ...etbeans-modules-editor-errorstripe-api.sig | 2 +- .../org-netbeans-modules-editor-fold.sig | 2 +- .../org-netbeans-modules-editor-guards.sig | 2 +- ...netbeans-modules-editor-indent-project.sig | 2 +- ...netbeans-modules-editor-indent-support.sig | 2 +- .../org-netbeans-modules-editor-indent.sig | 2 +- .../org-netbeans-modules-editor-lib.sig | 2 +- .../org-netbeans-modules-editor-lib2.sig | 2 +- .../org-netbeans-modules-editor-plain-lib.sig | 2 +- ...g-netbeans-modules-editor-settings-lib.sig | 2 +- ...tbeans-modules-editor-settings-storage.sig | 2 +- .../org-netbeans-modules-editor-settings.sig | 2 +- .../org-netbeans-modules-editor-structure.sig | 2 +- ...-netbeans-modules-editor-tools-storage.sig | 2 +- .../org-netbeans-modules-editor-util.sig | 2 +- .../nbproject/org-netbeans-modules-editor.sig | 2 +- .../org-netbeans-modules-extbrowser.sig | 2 +- ...org-netbeans-modules-extexecution-base.sig | 2 +- .../org-netbeans-modules-extexecution.sig | 2 +- .../nbproject/org-netbeans-modules-git.sig | 2 +- .../org-netbeans-modules-go-lang.sig | 2 +- .../org-netbeans-modules-gototest.sig | 2 +- .../org-netbeans-modules-gsf-codecoverage.sig | 2 +- ...org-netbeans-modules-gsf-testrunner-ui.sig | 2 +- .../org-netbeans-modules-gsf-testrunner.sig | 2 +- .../org-netbeans-modules-html-editor-lib.sig | 2 +- .../org-netbeans-modules-html-editor.sig | 2 +- .../org-netbeans-modules-html-indexing.sig | 2 +- .../org-netbeans-modules-html-lexer.sig | 2 +- .../org-netbeans-modules-html-parser.sig | 2 +- .../nbproject/org-netbeans-modules-html.sig | 2 +- .../org-netbeans-modules-hudson-ui.sig | 2 +- .../nbproject/org-netbeans-modules-hudson.sig | 2 +- ...-netbeans-modules-javascript2-debug-ui.sig | 2 +- ...org-netbeans-modules-javascript2-debug.sig | 2 +- .../org-netbeans-modules-jellytools-ide.sig | 2 +- .../nbproject/org-netbeans-modules-jumpto.sig | 2 +- .../org-netbeans-modules-languages.sig | 2 +- .../org-netbeans-modules-lexer-antlr4.sig | 2 +- .../nbproject/org-netbeans-modules-lexer.sig | 2 +- .../org-netbeans-lib-terminalemulator.sig | 2 +- .../org-netbeans-libs-antlr3-runtime.sig | 2 +- .../org-netbeans-libs-antlr4-runtime.sig | 2 +- .../libs-c-kohlschutter-junixsocket.sig | 2 +- .../org-netbeans-libs-commons_compress.sig | 2 +- .../org-netbeans-libs-commons_net.sig | 2 +- .../nbproject/org-netbeans-libs-git.sig | 8 +- .../nbproject/org-netbeans-libs-graalsdk.sig | 2 +- .../nbproject/org-netbeans-libs-ini4j.sig | 2 +- .../nbproject/org-netbeans-libs-jaxb.sig | 2 +- .../nbproject/org-netbeans-libs-jcodings.sig | 2 +- .../org-netbeans-libs-jsch-agentproxy.sig | 2 +- .../org-netbeans-libs-json_simple.sig | 2 +- .../org-netbeans-libs-snakeyaml_engine.sig | 2 +- .../org-netbeans-libs-svnClientAdapter.sig | 2 +- .../nbproject/org-netbeans-libs-tomlj.sig | 2 +- .../nbproject/org-netbeans-libs-tomljava.sig | 2 +- .../org-netbeans-libs-truffleapi.sig | 2 +- .../org-netbeans-modules-lsp-client.sig | 5 +- .../org-netbeans-modules-mercurial.sig | 2 +- .../org-netbeans-modules-mylyn-util.sig | 2 +- .../org-netbeans-modules-nativeimage-api.sig | 2 +- .../nbproject/org-apache-xml-resolver.sig | 2 +- .../nbproject/org-openidex-util.sig | 2 +- .../org-netbeans-modules-options-editor.sig | 2 +- .../org-netbeans-modules-parsing-api.sig | 2 +- .../org-netbeans-modules-parsing-indexing.sig | 3 +- .../org-netbeans-modules-parsing-lucene.sig | 2 +- ...g-netbeans-modules-project-ant-compat8.sig | 2 +- .../org-netbeans-modules-project-ant-ui.sig | 2 +- .../org-netbeans-modules-project-ant.sig | 2 +- ...etbeans-modules-project-indexingbridge.sig | 2 +- ...-netbeans-modules-project-libraries-ui.sig | 2 +- ...org-netbeans-modules-project-libraries.sig | 2 +- ...rg-netbeans-modules-project-spi-intern.sig | 2 +- .../org-netbeans-modules-projectapi.sig | 2 +- .../org-netbeans-modules-projectui.sig | 2 +- ...org-netbeans-modules-projectuiapi-base.sig | 2 +- .../org-netbeans-modules-projectuiapi.sig | 2 +- ...org-netbeans-modules-properties-syntax.sig | 2 +- .../org-netbeans-modules-properties.sig | 2 +- .../org-netbeans-modules-refactoring-api.sig | 2 +- .../org-netbeans-modules-schema2beans.sig | 2 +- .../org-netbeans-modules-selenium2-server.sig | 2 +- .../org-netbeans-modules-selenium2.sig | 2 +- .../nbproject/org-netbeans-modules-server.sig | 2 +- .../org-netbeans-modules-servletapi.sig | 2 +- ...etbeans-modules-spellchecker-apimodule.sig | 2 +- .../org-netbeans-spi-debugger-ui.sig | 2 +- ...org-netbeans-spi-editor-hints-projects.sig | 2 +- .../org-netbeans-spi-editor-hints.sig | 2 +- .../nbproject/org-netbeans-spi-navigator.sig | 2 +- .../nbproject/org-netbeans-spi-palette.sig | 2 +- .../nbproject/org-netbeans-spi-tasklist.sig | 2 +- .../nbproject/org-netbeans-spi-viewmodel.sig | 2 +- .../org-netbeans-modules-subversion.sig | 2 +- .../org-netbeans-modules-swing-validation.sig | 2 +- .../org-netbeans-modules-target-iterator.sig | 2 +- .../org-netbeans-modules-team-commons.sig | 2 +- .../org-netbeans-modules-terminal-nb.sig | 2 +- .../org-netbeans-modules-terminal.sig | 2 +- .../org-netbeans-modules-textmate-lexer.sig | 2 +- ...org-netbeans-modules-utilities-project.sig | 2 +- .../org-netbeans-modules-utilities.sig | 2 +- .../org-netbeans-modules-versioning-core.sig | 2 +- .../org-netbeans-modules-versioning-ui.sig | 2 +- .../org-netbeans-modules-versioning-util.sig | 2 +- .../org-netbeans-modules-versioning.sig | 2 +- .../org-netbeans-modules-web-browser-api.sig | 2 +- .../org-netbeans-modules-web-common-ui.sig | 2 +- .../org-netbeans-modules-web-common.sig | 2 +- .../org-netbeans-modules-web-indent.sig | 2 +- ...-netbeans-modules-web-webkit-debugging.sig | 2 +- .../org-netbeans-modules-xml-axi.sig | 2 +- .../org-netbeans-modules-xml-catalog-ui.sig | 2 +- .../org-netbeans-modules-xml-catalog.sig | 2 +- .../org-netbeans-modules-xml-core.sig | 2 +- .../org-netbeans-modules-xml-jaxb-api.sig | 2 +- .../org-netbeans-modules-xml-lexer.sig | 2 +- .../org-netbeans-modules-xml-multiview.sig | 2 +- .../org-netbeans-modules-xml-retriever.sig | 2 +- ...netbeans-modules-xml-schema-completion.sig | 2 +- .../org-netbeans-modules-xml-schema-model.sig | 2 +- .../org-netbeans-modules-xml-tax.sig | 2 +- ...g-netbeans-modules-xml-text-obsolete90.sig | 2 +- .../org-netbeans-modules-xml-text.sig | 2 +- .../org-netbeans-modules-xml-tools.sig | 2 +- .../org-netbeans-modules-xml-wsdl-model.sig | 2 +- .../org-netbeans-modules-xml-xam.sig | 2 +- .../org-netbeans-modules-xml-xdm.sig | 2 +- .../nbproject/org-netbeans-modules-xml.sig | 2 +- .../org-netbeans-modules-ant-freeform.sig | 2 +- .../org-netbeans-api-debugger-jpda.sig | 2 +- .../nbproject/org-netbeans-api-java.sig | 2 +- .../nbproject/org-netbeans-api-maven.sig | 2 +- .../org-netbeans-modules-classfile.sig | 2 +- .../org-netbeans-modules-dbschema.sig | 2 +- .../org-netbeans-modules-debugger-jpda-js.sig | 2 +- ...etbeans-modules-debugger-jpda-projects.sig | 2 +- ...netbeans-modules-debugger-jpda-truffle.sig | 2 +- .../org-netbeans-modules-debugger-jpda-ui.sig | 2 +- .../org-netbeans-modules-debugger-jpda.sig | 2 +- .../org-netbeans-modules-gradle-java.sig | 2 +- .../nbproject/org-netbeans-modules-i18n.sig | 2 +- ...g-netbeans-modules-j2ee-core-utilities.sig | 2 +- .../org-netbeans-modules-j2ee-eclipselink.sig | 2 +- ...netbeans-modules-j2ee-jpa-verification.sig | 2 +- ...ns-modules-j2ee-metadata-model-support.sig | 2 +- .../org-netbeans-modules-j2ee-metadata.sig | 2 +- .../org-netbeans-modules-j2ee-persistence.sig | 2 +- ...g-netbeans-modules-j2ee-persistenceapi.sig | 2 +- .../org-netbeans-modules-java-api-common.sig | 2 +- .../org-netbeans-modules-java-editor-lib.sig | 2 +- ...rg-netbeans-modules-java-file-launcher.sig | 4 +- .../org-netbeans-modules-java-freeform.sig | 2 +- .../org-netbeans-modules-java-graph.sig | 2 +- ...ns-modules-java-hints-declarative-test.sig | 2 +- ...netbeans-modules-java-hints-legacy-spi.sig | 2 +- .../org-netbeans-modules-java-hints-test.sig | 2 +- .../org-netbeans-modules-java-hints.sig | 2 +- .../org-netbeans-modules-java-j2sedeploy.sig | 2 +- ...org-netbeans-modules-java-j2seplatform.sig | 2 +- .../org-netbeans-modules-java-j2seproject.sig | 2 +- .../org-netbeans-modules-java-lexer.sig | 10 +- .../org-netbeans-modules-java-lsp-server.sig | 2 +- ...eans-modules-java-nativeimage-debugger.sig | 2 +- .../org-netbeans-modules-java-platform-ui.sig | 2 +- .../org-netbeans-modules-java-platform.sig | 2 +- ...tbeans-modules-java-preprocessorbridge.sig | 2 +- .../org-netbeans-modules-java-project-ui.sig | 2 +- .../org-netbeans-modules-java-project.sig | 2 +- .../org-netbeans-modules-java-source-base.sig | 54 ++- ...g-netbeans-modules-java-source-compat8.sig | 2 +- ...g-netbeans-modules-java-source-queries.sig | 2 +- .../org-netbeans-modules-java-source.sig | 7 +- .../org-netbeans-modules-java-sourceui.sig | 13 +- ...g-netbeans-modules-java-testrunner-ant.sig | 2 +- ...rg-netbeans-modules-java-testrunner-ui.sig | 2 +- .../org-netbeans-modules-java-testrunner.sig | 2 +- .../org-netbeans-modules-javaee-injection.sig | 2 +- .../org-netbeans-modules-jellytools-java.sig | 2 +- .../org-netbeans-modules-junit-ui.sig | 2 +- .../nbproject/org-netbeans-modules-junit.sig | 2 +- .../nbproject/org-netbeans-lib-nbjshell.sig | 2 +- .../nbproject/org-netbeans-libs-cglib.sig | 2 +- ...org-netbeans-modules-libs-corba-omgapi.sig | 2 +- .../nbproject/org-netbeans-libs-javacapi.sig | 2 +- .../org-netbeans-modules-maven-embedder.sig | 295 +------------ .../org-netbeans-modules-maven-grammar.sig | 2 +- .../org-netbeans-modules-maven-indexer-ui.sig | 2 +- .../org-netbeans-modules-maven-indexer.sig | 41 +- .../org-netbeans-modules-maven-model.sig | 2 +- .../nbproject/org-netbeans-modules-maven.sig | 5 +- ...ans-modules-projectimport-eclipse-core.sig | 2 +- .../org-netbeans-modules-refactoring-java.sig | 13 +- .../org-netbeans-modules-selenium2-java.sig | 2 +- .../org-netbeans-spi-debugger-jpda-ui.sig | 2 +- .../nbproject/org-netbeans-spi-java-hints.sig | 2 +- .../org-netbeans-modules-spring-beans.sig | 2 +- .../nbproject/org-netbeans-modules-testng.sig | 2 +- .../org-netbeans-modules-websvc-jaxws21.sig | 2 +- ...org-netbeans-modules-websvc-jaxws21api.sig | 2 +- ...beans-modules-websvc-saas-codegen-java.sig | 2 +- .../org-netbeans-modules-whitelist.sig | 2 +- .../org-netbeans-modules-xml-jaxb.sig | 2 +- .../org-netbeans-modules-javafx2-editor.sig | 2 +- .../org-netbeans-modules-javafx2-platform.sig | 2 +- .../org-netbeans-modules-javafx2-project.sig | 2 +- .../org-netbeans-modules-languages-neon.sig | 2 +- .../nbproject/org-netbeans-libs-javacup.sig | 2 +- ...rg-netbeans-modules-php-api-annotation.sig | 2 +- ...netbeans-modules-php-api-documentation.sig | 2 +- .../org-netbeans-modules-php-api-editor.sig | 2 +- ...rg-netbeans-modules-php-api-executable.sig | 2 +- ...org-netbeans-modules-php-api-framework.sig | 2 +- ...org-netbeans-modules-php-api-phpmodule.sig | 2 +- ...org-netbeans-modules-php-api-templates.sig | 2 +- .../org-netbeans-modules-php-api-testing.sig | 2 +- .../org-netbeans-modules-php-composer.sig | 2 +- .../org-netbeans-modules-php-editor.sig | 2 +- .../org-netbeans-modules-php-project.sig | 2 +- .../org-netbeans-api-annotations-common.sig | 2 +- .../nbproject/org-netbeans-api-dashboard.sig | 2 +- .../nbproject/org-netbeans-api-htmlui.sig | 2 +- .../nbproject/org-netbeans-api-intent.sig | 2 +- .../api.io/nbproject/org-netbeans-api-io.sig | 2 +- .../org-netbeans-api-progress-compat8.sig | 2 +- .../org-netbeans-api-progress-nb.sig | 2 +- .../nbproject/org-netbeans-api-progress.sig | 2 +- .../nbproject/org-netbeans-api-scripting.sig | 2 +- .../nbproject/org-netbeans-api-search.sig | 2 +- .../nbproject/org-netbeans-api-templates.sig | 2 +- .../nbproject/org-netbeans-api-visual.sig | 2 +- ...g-netbeans-modules-autoupdate-services.sig | 2 +- .../org-netbeans-modules-autoupdate-ui.sig | 2 +- .../nbproject/org-netbeans-core-multitabs.sig | 2 +- .../nbproject/org-netbeans-core-multiview.sig | 2 +- .../nbproject/org-netbeans-core-netigso.sig | 2 +- .../nbproject/org-netbeans-core-network.sig | 2 +- .../org-netbeans-core-startup-base.sig | 2 +- .../nbproject/org-netbeans-core-startup.sig | 2 +- .../nbproject/org-netbeans-core-windows.sig | 4 +- ...org-netbeans-modules-editor-mimelookup.sig | 2 +- .../org-netbeans-modules-favorites.sig | 2 +- .../org-netbeans-modules-javahelp.sig | 2 +- .../org-netbeans-modules-keyring-fallback.sig | 2 +- .../org-netbeans-modules-keyring.sig | 2 +- .../nbproject/org-netbeans-lib-uihandler.sig | 2 +- .../nbproject/org-netbeans-libs-asm.sig | 11 +- .../org-netbeans-libs-batik-read.sig | 2 +- .../nbproject/org-netbeans-libs-flatlaf.sig | 5 +- .../nbproject/org-netbeans-libs-javafx.sig | 2 +- .../org-netbeans-libs-javax-inject.sig | 63 +++ .../org-netbeans-libs-jna-platform.sig | 2 +- .../nbproject/org-netbeans-libs-jna.sig | 2 +- .../nbproject/org-netbeans-libs-jsr223.sig | 2 +- .../nbproject/org-netbeans-libs-junit4.sig | 2 +- .../nbproject/org-netbeans-libs-junit5.sig | 2 +- .../nbproject/org-netbeans-libs-testng.sig | 2 +- .../org-netbeans-modules-masterfs-ui.sig | 2 +- .../org-netbeans-modules-masterfs.sig | 2 +- .../org-netbeans-modules-netbinox.sig | 2 +- .../nbproject/org-netbeans-bootstrap.sig | 4 +- .../o.n.core/nbproject/org-netbeans-core.sig | 2 +- .../nbproject/org-netbeans-swing-outline.sig | 2 +- .../nbproject/org-netbeans-swing-plaf.sig | 2 +- .../org-netbeans-swing-tabcontrol.sig | 2 +- .../nbproject/org-openide-actions.sig | 2 +- .../openide.awt/nbproject/org-openide-awt.sig | 2 +- .../nbproject/org-openide-compat.sig | 2 +- .../nbproject/org-openide-dialogs.sig | 2 +- .../org-openide-execution-compat8.sig | 2 +- .../nbproject/org-openide-execution.sig | 2 +- .../nbproject/org-openide-explorer.sig | 2 +- .../org-openide-filesystems-compat8.sig | 2 +- .../nbproject/org-openide-filesystems-nb.sig | 2 +- .../nbproject/org-openide-filesystems.sig | 2 +- .../openide.io/nbproject/org-openide-io.sig | 2 +- .../nbproject/org-openide-loaders.sig | 2 +- .../nbproject/org-openide-modules.sig | 2 +- .../nbproject/org-openide-nodes.sig | 2 +- .../nbproject/org-openide-options.sig | 2 +- .../nbproject/org-openide-text.sig | 2 +- .../nbproject/org-openide-util-lookup.sig | 2 +- .../nbproject/org-openide-util-ui.sig | 2 +- .../nbproject/org-openide-util.sig | 2 +- .../nbproject/org-openide-windows.sig | 2 +- .../org-netbeans-modules-options-api.sig | 2 +- .../org-netbeans-modules-options-keymap.sig | 2 +- .../nbproject/org-netbeans-modules-print.sig | 2 +- .../org-netbeans-modules-queries.sig | 2 +- .../org-netbeans-modules-sampler.sig | 2 +- .../org-netbeans-modules-sendopts.sig | 2 +- .../org-netbeans-modules-settings.sig | 2 +- .../org-netbeans-modules-spi-actions.sig | 2 +- .../org-netbeans-spi-quicksearch.sig | 2 +- .../org-netbeans-modules-uihandler.sig | 2 +- .../org-netbeans-lib-profiler-charts.sig | 2 +- .../org-netbeans-lib-profiler-common.sig | 2 +- .../org-netbeans-lib-profiler-ui.sig | 2 +- .../nbproject/org-netbeans-lib-profiler.sig | 2 +- .../org-netbeans-modules-profiler-api.sig | 2 +- .../org-netbeans-modules-profiler-attach.sig | 2 +- ...g-netbeans-modules-profiler-heapwalker.sig | 2 +- .../org-netbeans-modules-profiler-nbimpl.sig | 2 +- .../org-netbeans-modules-profiler-oql.sig | 2 +- .../org-netbeans-modules-profiler-ppoints.sig | 2 +- ...tbeans-modules-profiler-projectsupport.sig | 2 +- ...g-netbeans-modules-profiler-snaptracer.sig | 2 +- ...rg-netbeans-modules-profiler-utilities.sig | 2 +- .../org-netbeans-modules-profiler.sig | 2 +- .../nbproject/org-netbeans-api-knockout.sig | 2 +- ...org-netbeans-modules-cordova-platforms.sig | 2 +- .../org-netbeans-modules-html-knockout.sig | 2 +- ...org-netbeans-modules-javascript-nodejs.sig | 2 +- ...rg-netbeans-modules-javascript-v8debug.sig | 2 +- .../org-netbeans-modules-javascript2-doc.sig | 2 +- ...rg-netbeans-modules-javascript2-editor.sig | 2 +- .../org-netbeans-modules-javascript2-json.sig | 2 +- ...-netbeans-modules-javascript2-knockout.sig | 2 +- ...org-netbeans-modules-javascript2-lexer.sig | 2 +- ...org-netbeans-modules-javascript2-model.sig | 2 +- ...rg-netbeans-modules-javascript2-nodejs.sig | 2 +- ...org-netbeans-modules-javascript2-types.sig | 2 +- .../nbproject/org-netbeans-lib-v8debug.sig | 2 +- .../nbproject/org-netbeans-libs-graaljs.sig | 2 +- .../org-netbeans-libs-jstestdriver.sig | 2 +- .../nbproject/org-netbeans-libs-nashorn.sig | 2 +- .../nbproject/org-netbeans-libs-plist.sig | 2 +- .../org-netbeans-modules-netserver.sig | 2 +- ...g-netbeans-modules-selenium2-webclient.sig | 2 +- ...netbeans-modules-web-clientproject-api.sig | 2 +- ...org-netbeans-modules-web-clientproject.sig | 2 +- ...-netbeans-modules-websvc-jaxwsmodelapi.sig | 2 +- .../org-netbeans-modules-websvc-saas-api.sig | 2 +- ...g-netbeans-modules-websvc-saas-codegen.sig | 2 +- 447 files changed, 1071 insertions(+), 797 deletions(-) create mode 100644 platform/libs.javax.inject/nbproject/org-netbeans-libs-javax-inject.sig diff --git a/apisupport/apisupport.ant/nbproject/org-netbeans-modules-apisupport-ant.sig b/apisupport/apisupport.ant/nbproject/org-netbeans-modules-apisupport-ant.sig index 01106b993d93..e5606f99dc20 100644 --- a/apisupport/apisupport.ant/nbproject/org-netbeans-modules-apisupport-ant.sig +++ b/apisupport/apisupport.ant/nbproject/org-netbeans-modules-apisupport-ant.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.97 +#Version 2.98 CLSS public java.lang.Object cons public init() diff --git a/apisupport/apisupport.installer/nbproject/org-netbeans-modules-apisupport-installer.sig b/apisupport/apisupport.installer/nbproject/org-netbeans-modules-apisupport-installer.sig index dcbcab14909d..325a634f9cfe 100644 --- a/apisupport/apisupport.installer/nbproject/org-netbeans-modules-apisupport-installer.sig +++ b/apisupport/apisupport.installer/nbproject/org-netbeans-modules-apisupport-installer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.48 +#Version 1.49 CLSS public abstract java.awt.Component cons protected init() diff --git a/apisupport/apisupport.project/nbproject/org-netbeans-modules-apisupport-project.sig b/apisupport/apisupport.project/nbproject/org-netbeans-modules-apisupport-project.sig index ec2d22a38926..d0b6aa5fa4a4 100644 --- a/apisupport/apisupport.project/nbproject/org-netbeans-modules-apisupport-project.sig +++ b/apisupport/apisupport.project/nbproject/org-netbeans-modules-apisupport-project.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.101 +#Version 1.102 CLSS public abstract java.awt.Component cons protected init() diff --git a/cpplite/cpplite.debugger/nbproject/org-netbeans-modules-cpplite-debugger.sig b/cpplite/cpplite.debugger/nbproject/org-netbeans-modules-cpplite-debugger.sig index ee2c3b93e6dc..25b10e3f7566 100644 --- a/cpplite/cpplite.debugger/nbproject/org-netbeans-modules-cpplite-debugger.sig +++ b/cpplite/cpplite.debugger/nbproject/org-netbeans-modules-cpplite-debugger.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.17 +#Version 1.18 CLSS public java.lang.Object cons public init() diff --git a/cpplite/cpplite.editor/nbproject/org-netbeans-modules-cpplite-editor.sig b/cpplite/cpplite.editor/nbproject/org-netbeans-modules-cpplite-editor.sig index 05219ecdbeaa..be99baae5677 100644 --- a/cpplite/cpplite.editor/nbproject/org-netbeans-modules-cpplite-editor.sig +++ b/cpplite/cpplite.editor/nbproject/org-netbeans-modules-cpplite-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.16 +#Version 1.17 CLSS public java.lang.Object cons public init() diff --git a/enterprise/api.web.webmodule/nbproject/org-netbeans-api-web-webmodule.sig b/enterprise/api.web.webmodule/nbproject/org-netbeans-api-web-webmodule.sig index bb2ee46f3465..edefa6b2f875 100644 --- a/enterprise/api.web.webmodule/nbproject/org-netbeans-api-web-webmodule.sig +++ b/enterprise/api.web.webmodule/nbproject/org-netbeans-api-web-webmodule.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.63 +#Version 1.64 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/enterprise/cloud.common/nbproject/org-netbeans-modules-cloud-common.sig b/enterprise/cloud.common/nbproject/org-netbeans-modules-cloud-common.sig index ff83e2088b4c..8a8f6ec13288 100644 --- a/enterprise/cloud.common/nbproject/org-netbeans-modules-cloud-common.sig +++ b/enterprise/cloud.common/nbproject/org-netbeans-modules-cloud-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.36 +#Version 1.37 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/el.lexer/nbproject/org-netbeans-modules-el-lexer.sig b/enterprise/el.lexer/nbproject/org-netbeans-modules-el-lexer.sig index 573d878e9093..c9f4594b5b9c 100644 --- a/enterprise/el.lexer/nbproject/org-netbeans-modules-el-lexer.sig +++ b/enterprise/el.lexer/nbproject/org-netbeans-modules-el-lexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.52 +#Version 1.53 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/glassfish.common/nbproject/org-netbeans-modules-glassfish-common.sig b/enterprise/glassfish.common/nbproject/org-netbeans-modules-glassfish-common.sig index d87aaccc0bfc..321b0aab6ae0 100644 --- a/enterprise/glassfish.common/nbproject/org-netbeans-modules-glassfish-common.sig +++ b/enterprise/glassfish.common/nbproject/org-netbeans-modules-glassfish-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.99 +#Version 1.100 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/glassfish.eecommon/nbproject/org-netbeans-modules-glassfish-eecommon.sig b/enterprise/glassfish.eecommon/nbproject/org-netbeans-modules-glassfish-eecommon.sig index fce33f8fb56b..55035bb9856b 100644 --- a/enterprise/glassfish.eecommon/nbproject/org-netbeans-modules-glassfish-eecommon.sig +++ b/enterprise/glassfish.eecommon/nbproject/org-netbeans-modules-glassfish-eecommon.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.62.0 +#Version 1.63.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/glassfish.javaee/nbproject/org-netbeans-modules-glassfish-javaee.sig b/enterprise/glassfish.javaee/nbproject/org-netbeans-modules-glassfish-javaee.sig index a4dabe9af99e..cdd285bc8715 100644 --- a/enterprise/glassfish.javaee/nbproject/org-netbeans-modules-glassfish-javaee.sig +++ b/enterprise/glassfish.javaee/nbproject/org-netbeans-modules-glassfish-javaee.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.66 +#Version 1.67 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/glassfish.tooling/nbproject/org-netbeans-modules-glassfish-tooling.sig b/enterprise/glassfish.tooling/nbproject/org-netbeans-modules-glassfish-tooling.sig index 1f42be744fd2..805dbc9df580 100644 --- a/enterprise/glassfish.tooling/nbproject/org-netbeans-modules-glassfish-tooling.sig +++ b/enterprise/glassfish.tooling/nbproject/org-netbeans-modules-glassfish-tooling.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.32 +#Version 1.33 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/enterprise/j2ee.api.ejbmodule/nbproject/org-netbeans-modules-j2ee-api-ejbmodule.sig b/enterprise/j2ee.api.ejbmodule/nbproject/org-netbeans-modules-j2ee-api-ejbmodule.sig index 35740d9a7ed1..37160931c588 100644 --- a/enterprise/j2ee.api.ejbmodule/nbproject/org-netbeans-modules-j2ee-api-ejbmodule.sig +++ b/enterprise/j2ee.api.ejbmodule/nbproject/org-netbeans-modules-j2ee-api-ejbmodule.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.62 +#Version 1.63 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/j2ee.clientproject/nbproject/org-netbeans-modules-j2ee-clientproject.sig b/enterprise/j2ee.clientproject/nbproject/org-netbeans-modules-j2ee-clientproject.sig index a5de907c4ae2..f2ec3172914c 100644 --- a/enterprise/j2ee.clientproject/nbproject/org-netbeans-modules-j2ee-clientproject.sig +++ b/enterprise/j2ee.clientproject/nbproject/org-netbeans-modules-j2ee-clientproject.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.71.0 +#Version 1.72.0 CLSS public java.lang.Object cons public init() diff --git a/enterprise/j2ee.common/nbproject/org-netbeans-modules-j2ee-common.sig b/enterprise/j2ee.common/nbproject/org-netbeans-modules-j2ee-common.sig index e4c7a2843adf..726b1305ecd4 100644 --- a/enterprise/j2ee.common/nbproject/org-netbeans-modules-j2ee-common.sig +++ b/enterprise/j2ee.common/nbproject/org-netbeans-modules-j2ee-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.128 +#Version 1.129 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/j2ee.core/nbproject/org-netbeans-modules-j2ee-core.sig b/enterprise/j2ee.core/nbproject/org-netbeans-modules-j2ee-core.sig index 729ac2fad8ce..ef57ef3e0c78 100644 --- a/enterprise/j2ee.core/nbproject/org-netbeans-modules-j2ee-core.sig +++ b/enterprise/j2ee.core/nbproject/org-netbeans-modules-j2ee-core.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.50 +#Version 1.51 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/j2ee.dd.webservice/nbproject/org-netbeans-modules-j2ee-dd-webservice.sig b/enterprise/j2ee.dd.webservice/nbproject/org-netbeans-modules-j2ee-dd-webservice.sig index c078500403f2..a38c3e981754 100644 --- a/enterprise/j2ee.dd.webservice/nbproject/org-netbeans-modules-j2ee-dd-webservice.sig +++ b/enterprise/j2ee.dd.webservice/nbproject/org-netbeans-modules-j2ee-dd-webservice.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56 +#Version 1.57 CLSS public java.lang.Object cons public init() diff --git a/enterprise/j2ee.dd/nbproject/org-netbeans-modules-j2ee-dd.sig b/enterprise/j2ee.dd/nbproject/org-netbeans-modules-j2ee-dd.sig index 9c2bedc82592..95d56c4cc1e4 100644 --- a/enterprise/j2ee.dd/nbproject/org-netbeans-modules-j2ee-dd.sig +++ b/enterprise/j2ee.dd/nbproject/org-netbeans-modules-j2ee-dd.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.65.0 +#Version 1.66.0 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/j2ee.ejbcore/nbproject/org-netbeans-modules-j2ee-ejbcore.sig b/enterprise/j2ee.ejbcore/nbproject/org-netbeans-modules-j2ee-ejbcore.sig index dbedab35c2bf..3307ad227180 100644 --- a/enterprise/j2ee.ejbcore/nbproject/org-netbeans-modules-j2ee-ejbcore.sig +++ b/enterprise/j2ee.ejbcore/nbproject/org-netbeans-modules-j2ee-ejbcore.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.76 +#Version 1.77 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/j2ee.ejbjarproject/nbproject/org-netbeans-modules-j2ee-ejbjarproject.sig b/enterprise/j2ee.ejbjarproject/nbproject/org-netbeans-modules-j2ee-ejbjarproject.sig index 08d8b660048c..b640ac2fba94 100644 --- a/enterprise/j2ee.ejbjarproject/nbproject/org-netbeans-modules-j2ee-ejbjarproject.sig +++ b/enterprise/j2ee.ejbjarproject/nbproject/org-netbeans-modules-j2ee-ejbjarproject.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.78 +#Version 1.79 CLSS public java.lang.Object cons public init() diff --git a/enterprise/j2ee.sun.appsrv/nbproject/org-netbeans-modules-j2ee-sun-appsrv.sig b/enterprise/j2ee.sun.appsrv/nbproject/org-netbeans-modules-j2ee-sun-appsrv.sig index 7aa8fea8b9c4..d68a1f8d0e6a 100644 --- a/enterprise/j2ee.sun.appsrv/nbproject/org-netbeans-modules-j2ee-sun-appsrv.sig +++ b/enterprise/j2ee.sun.appsrv/nbproject/org-netbeans-modules-j2ee-sun-appsrv.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.60.0 +#Version 1.61.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/j2ee.sun.dd/nbproject/org-netbeans-modules-j2ee-sun-dd.sig b/enterprise/j2ee.sun.dd/nbproject/org-netbeans-modules-j2ee-sun-dd.sig index aa7239bc3107..99dc95908d6b 100644 --- a/enterprise/j2ee.sun.dd/nbproject/org-netbeans-modules-j2ee-sun-dd.sig +++ b/enterprise/j2ee.sun.dd/nbproject/org-netbeans-modules-j2ee-sun-dd.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58.0 +#Version 1.59.0 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/j2ee.sun.ddui/nbproject/org-netbeans-modules-j2ee-sun-ddui.sig b/enterprise/j2ee.sun.ddui/nbproject/org-netbeans-modules-j2ee-sun-ddui.sig index 599d4118f9b1..a92846e1a492 100644 --- a/enterprise/j2ee.sun.ddui/nbproject/org-netbeans-modules-j2ee-sun-ddui.sig +++ b/enterprise/j2ee.sun.ddui/nbproject/org-netbeans-modules-j2ee-sun-ddui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.61.0 +#Version 1.62.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/j2eeapis/nbproject/org-netbeans-modules-j2eeapis.sig b/enterprise/j2eeapis/nbproject/org-netbeans-modules-j2eeapis.sig index 1feb899d3c4d..f53316bea7b9 100644 --- a/enterprise/j2eeapis/nbproject/org-netbeans-modules-j2eeapis.sig +++ b/enterprise/j2eeapis/nbproject/org-netbeans-modules-j2eeapis.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57 +#Version 1.58 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/j2eeserver/nbproject/org-netbeans-modules-j2eeserver.sig b/enterprise/j2eeserver/nbproject/org-netbeans-modules-j2eeserver.sig index f008e899646d..6c85c91c6164 100644 --- a/enterprise/j2eeserver/nbproject/org-netbeans-modules-j2eeserver.sig +++ b/enterprise/j2eeserver/nbproject/org-netbeans-modules-j2eeserver.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.136.0 +#Version 1.137.0 CLSS public java.io.IOException cons public init() diff --git a/enterprise/jakarta.web.beans/nbproject/org-netbeans-modules-jakarta-web-beans.sig b/enterprise/jakarta.web.beans/nbproject/org-netbeans-modules-jakarta-web-beans.sig index e208748b6a83..93e189c853b9 100644 --- a/enterprise/jakarta.web.beans/nbproject/org-netbeans-modules-jakarta-web-beans.sig +++ b/enterprise/jakarta.web.beans/nbproject/org-netbeans-modules-jakarta-web-beans.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.44 +#Version 2.45 CLSS public java.beans.FeatureDescriptor cons public init() diff --git a/enterprise/javaee.project/nbproject/org-netbeans-modules-javaee-project.sig b/enterprise/javaee.project/nbproject/org-netbeans-modules-javaee-project.sig index 7afaf7c4d4aa..3e9f1e2d07be 100644 --- a/enterprise/javaee.project/nbproject/org-netbeans-modules-javaee-project.sig +++ b/enterprise/javaee.project/nbproject/org-netbeans-modules-javaee-project.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.44 +#Version 1.45 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/enterprise/javaee.resources/nbproject/org-netbeans-modules-javaee-resources.sig b/enterprise/javaee.resources/nbproject/org-netbeans-modules-javaee-resources.sig index 3f907a2f2db8..8f19ecefb631 100644 --- a/enterprise/javaee.resources/nbproject/org-netbeans-modules-javaee-resources.sig +++ b/enterprise/javaee.resources/nbproject/org-netbeans-modules-javaee-resources.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.35 +#Version 1.36 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/javaee.specs.support/nbproject/org-netbeans-modules-javaee-specs-support.sig b/enterprise/javaee.specs.support/nbproject/org-netbeans-modules-javaee-specs-support.sig index 96293d29cf23..25bb5e2731e8 100644 --- a/enterprise/javaee.specs.support/nbproject/org-netbeans-modules-javaee-specs-support.sig +++ b/enterprise/javaee.specs.support/nbproject/org-netbeans-modules-javaee-specs-support.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.50 +#Version 1.51 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/jellytools.enterprise/nbproject/org-netbeans-modules-jellytools-enterprise.sig b/enterprise/jellytools.enterprise/nbproject/org-netbeans-modules-jellytools-enterprise.sig index aa7361f8cf42..8d7e35942b2b 100644 --- a/enterprise/jellytools.enterprise/nbproject/org-netbeans-modules-jellytools-enterprise.sig +++ b/enterprise/jellytools.enterprise/nbproject/org-netbeans-modules-jellytools-enterprise.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.51 +#Version 3.52 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/jsp.lexer/nbproject/org-netbeans-modules-jsp-lexer.sig b/enterprise/jsp.lexer/nbproject/org-netbeans-modules-jsp-lexer.sig index 8b50b98d3f48..98c17e360ac6 100644 --- a/enterprise/jsp.lexer/nbproject/org-netbeans-modules-jsp-lexer.sig +++ b/enterprise/jsp.lexer/nbproject/org-netbeans-modules-jsp-lexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.50 +#Version 1.51 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/libs.amazon/nbproject/org-netbeans-libs-amazon.sig b/enterprise/libs.amazon/nbproject/org-netbeans-libs-amazon.sig index 0fafe40f467e..fb3a7d97f3af 100644 --- a/enterprise/libs.amazon/nbproject/org-netbeans-libs-amazon.sig +++ b/enterprise/libs.amazon/nbproject/org-netbeans-libs-amazon.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.35 +#Version 1.36 CLSS public com.amazonaws.AbortedException cons public init() diff --git a/enterprise/libs.elimpl/nbproject/org-netbeans-libs-elimpl.sig b/enterprise/libs.elimpl/nbproject/org-netbeans-libs-elimpl.sig index baf90925a946..b8044fefedc3 100644 --- a/enterprise/libs.elimpl/nbproject/org-netbeans-libs-elimpl.sig +++ b/enterprise/libs.elimpl/nbproject/org-netbeans-libs-elimpl.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.44.0 +#Version 1.45.0 CLSS public com.sun.el.ExpressionFactoryImpl cons public init() diff --git a/enterprise/libs.glassfish_logging/nbproject/org-netbeans-libs-glassfish_logging.sig b/enterprise/libs.glassfish_logging/nbproject/org-netbeans-libs-glassfish_logging.sig index f9675c7e8252..60594f72e740 100644 --- a/enterprise/libs.glassfish_logging/nbproject/org-netbeans-libs-glassfish_logging.sig +++ b/enterprise/libs.glassfish_logging/nbproject/org-netbeans-libs-glassfish_logging.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.50.0 +#Version 1.51.0 CLSS public abstract interface com.sun.org.apache.commons.logging.Log meth public abstract boolean isDebugEnabled() diff --git a/enterprise/libs.jackson/nbproject/org-netbeans-libs-jackson.sig b/enterprise/libs.jackson/nbproject/org-netbeans-libs-jackson.sig index 054fecdbc48d..863647de9f0d 100644 --- a/enterprise/libs.jackson/nbproject/org-netbeans-libs-jackson.sig +++ b/enterprise/libs.jackson/nbproject/org-netbeans-libs-jackson.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.23 +#Version 2.25 CLSS public abstract interface !annotation com.fasterxml.jackson.annotation.JacksonAnnotation anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) @@ -17413,6 +17413,402 @@ meth public !varargs com.fasterxml.jackson.dataformat.cbor.databind.CBORMapper$B meth public com.fasterxml.jackson.dataformat.cbor.databind.CBORMapper$Builder configure(com.fasterxml.jackson.dataformat.cbor.CBORGenerator$Feature,boolean) supr com.fasterxml.jackson.databind.cfg.MapperBuilder +CLSS public com.fasterxml.jackson.dataformat.yaml.JacksonYAMLParseException +cons public init(com.fasterxml.jackson.core.JsonParser,java.lang.String,java.lang.Exception) +supr com.fasterxml.jackson.core.JsonParseException +hfds serialVersionUID + +CLSS public final com.fasterxml.jackson.dataformat.yaml.PackageVersion +cons public init() +fld public final static com.fasterxml.jackson.core.Version VERSION +intf com.fasterxml.jackson.core.Versioned +meth public com.fasterxml.jackson.core.Version version() +supr java.lang.Object + +CLSS public final com.fasterxml.jackson.dataformat.yaml.UTF8Reader +cons public init(byte[],int,int,boolean) +cons public init(java.io.InputStream,boolean) +fld protected byte[] _inputBuffer +fld protected final byte[][] _bufferHolder +fld protected final static java.lang.ThreadLocal> _bufferRecycler +fld protected int _inputEnd +fld protected int _inputPtr +fld protected int _surrogate +meth protected final boolean canModifyBuffer() +meth protected final int readBytes() throws java.io.IOException +meth protected final int readBytesAt(int) throws java.io.IOException +meth protected final java.io.InputStream getStream() +meth protected void reportBounds(char[],int,int) throws java.io.IOException +meth protected void reportStrangeStream() throws java.io.IOException +meth public final void freeBuffers() +meth public int read() throws java.io.IOException +meth public int read(char[]) throws java.io.IOException +meth public int read(char[],int,int) throws java.io.IOException +meth public void close() throws java.io.IOException +supr java.io.Reader +hfds DEFAULT_BUFFER_SIZE,_autoClose,_byteCount,_charCount,_inputSource,_tmpBuffer + +CLSS public final com.fasterxml.jackson.dataformat.yaml.UTF8Writer +cons public init(java.io.OutputStream) +fld protected final byte[][] _bufferHolder +fld protected final static java.lang.ThreadLocal> _bufferRecycler +meth public java.io.Writer append(char) throws java.io.IOException +meth public void close() throws java.io.IOException +meth public void flush() throws java.io.IOException +meth public void write(char[]) throws java.io.IOException +meth public void write(char[],int,int) throws java.io.IOException +meth public void write(int) throws java.io.IOException +meth public void write(java.lang.String) throws java.io.IOException +meth public void write(java.lang.String,int,int) throws java.io.IOException +supr java.io.Writer +hfds DEFAULT_BUFFER_SIZE,SURR1_FIRST,SURR1_LAST,SURR2_FIRST,SURR2_LAST,_out,_outBuffer,_outBufferEnd,_outPtr,_surrogate + +CLSS public com.fasterxml.jackson.dataformat.yaml.YAMLFactory +cons protected init(com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder) +cons public init() +cons public init(com.fasterxml.jackson.core.ObjectCodec) +cons public init(com.fasterxml.jackson.dataformat.yaml.YAMLFactory,com.fasterxml.jackson.core.ObjectCodec) +fld protected final com.fasterxml.jackson.dataformat.yaml.util.StringQuotingChecker _quotingChecker +fld protected final org.yaml.snakeyaml.DumperOptions _dumperOptions +fld protected final org.yaml.snakeyaml.DumperOptions$Version _version +fld protected final org.yaml.snakeyaml.LoaderOptions _loaderOptions +fld protected final static int DEFAULT_YAML_GENERATOR_FEATURE_FLAGS +fld protected final static int DEFAULT_YAML_PARSER_FEATURE_FLAGS +fld protected int _yamlGeneratorFeatures +fld protected int _yamlParserFeatures +fld public final static java.lang.String FORMAT_NAME_YAML = "YAML" +meth protected com.fasterxml.jackson.dataformat.yaml.YAMLGenerator _createGenerator(java.io.Writer,com.fasterxml.jackson.core.io.IOContext) throws java.io.IOException +meth protected com.fasterxml.jackson.dataformat.yaml.YAMLGenerator _createUTF8Generator(java.io.OutputStream,com.fasterxml.jackson.core.io.IOContext) throws java.io.IOException +meth protected com.fasterxml.jackson.dataformat.yaml.YAMLParser _createParser(byte[],int,int,com.fasterxml.jackson.core.io.IOContext) throws java.io.IOException +meth protected com.fasterxml.jackson.dataformat.yaml.YAMLParser _createParser(char[],int,int,com.fasterxml.jackson.core.io.IOContext,boolean) throws java.io.IOException +meth protected com.fasterxml.jackson.dataformat.yaml.YAMLParser _createParser(java.io.InputStream,com.fasterxml.jackson.core.io.IOContext) throws java.io.IOException +meth protected com.fasterxml.jackson.dataformat.yaml.YAMLParser _createParser(java.io.Reader,com.fasterxml.jackson.core.io.IOContext) throws java.io.IOException +meth protected java.io.Reader _createReader(byte[],int,int,com.fasterxml.jackson.core.JsonEncoding,com.fasterxml.jackson.core.io.IOContext) throws java.io.IOException +meth protected java.io.Reader _createReader(java.io.InputStream,com.fasterxml.jackson.core.JsonEncoding,com.fasterxml.jackson.core.io.IOContext) throws java.io.IOException +meth protected java.io.Writer _createWriter(java.io.OutputStream,com.fasterxml.jackson.core.JsonEncoding,com.fasterxml.jackson.core.io.IOContext) throws java.io.IOException +meth protected java.lang.Object readResolve() +meth public boolean canUseCharArrays() +meth public com.fasterxml.jackson.core.JsonGenerator createGenerator(java.io.File,com.fasterxml.jackson.core.JsonEncoding) throws java.io.IOException +meth public com.fasterxml.jackson.core.Version version() +meth public com.fasterxml.jackson.core.format.MatchStrength hasFormat(com.fasterxml.jackson.core.format.InputAccessor) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactory copy() +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactory disable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactory disable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactory enable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactory enable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder rebuild() +meth public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator createGenerator(java.io.OutputStream) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator createGenerator(java.io.OutputStream,com.fasterxml.jackson.core.JsonEncoding) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator createGenerator(java.io.Writer) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(byte[]) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(byte[],int,int) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(char[]) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(char[],int,int) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(java.io.File) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(java.io.InputStream) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(java.io.Reader) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(java.lang.String) throws java.io.IOException +meth public com.fasterxml.jackson.dataformat.yaml.YAMLParser createParser(java.net.URL) throws java.io.IOException +meth public final boolean isEnabled(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public final boolean isEnabled(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public final com.fasterxml.jackson.dataformat.yaml.YAMLFactory configure(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature,boolean) +meth public final com.fasterxml.jackson.dataformat.yaml.YAMLFactory configure(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature,boolean) +meth public int getFormatGeneratorFeatures() +meth public int getFormatParserFeatures() +meth public java.lang.Class getFormatWriteFeatureType() +meth public java.lang.Class getFormatReadFeatureType() +meth public java.lang.String getFormatName() +meth public static com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder builder() +supr com.fasterxml.jackson.core.JsonFactory +hfds UTF8_BOM_1,UTF8_BOM_2,UTF8_BOM_3,serialVersionUID + +CLSS public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder +cons protected init() +cons public init(com.fasterxml.jackson.dataformat.yaml.YAMLFactory) +fld protected com.fasterxml.jackson.dataformat.yaml.util.StringQuotingChecker _quotingChecker +fld protected int _formatGeneratorFeatures +fld protected int _formatParserFeatures +fld protected org.yaml.snakeyaml.DumperOptions _dumperOptions +fld protected org.yaml.snakeyaml.DumperOptions$Version _version +fld protected org.yaml.snakeyaml.LoaderOptions _loaderOptions +meth public !varargs com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder disable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature,com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature[]) +meth public !varargs com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder disable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature,com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature[]) +meth public !varargs com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder enable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature,com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature[]) +meth public !varargs com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder enable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature,com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature[]) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactory build() +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder configure(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature,boolean) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder configure(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature,boolean) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder disable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder disable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder dumperOptions(org.yaml.snakeyaml.DumperOptions) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder enable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder enable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder loaderOptions(org.yaml.snakeyaml.LoaderOptions) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder stringQuotingChecker(com.fasterxml.jackson.dataformat.yaml.util.StringQuotingChecker) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLFactoryBuilder yamlVersionToWrite(org.yaml.snakeyaml.DumperOptions$Version) +meth public com.fasterxml.jackson.dataformat.yaml.util.StringQuotingChecker stringQuotingChecker() +meth public int formatGeneratorFeaturesMask() +meth public int formatParserFeaturesMask() +meth public org.yaml.snakeyaml.DumperOptions dumperOptions() +meth public org.yaml.snakeyaml.DumperOptions$Version yamlVersionToWrite() +meth public org.yaml.snakeyaml.LoaderOptions loaderOptions() +supr com.fasterxml.jackson.core.TSFBuilder + +CLSS public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator +cons public init(com.fasterxml.jackson.core.io.IOContext,int,int,com.fasterxml.jackson.core.ObjectCodec,java.io.Writer,org.yaml.snakeyaml.DumperOptions$Version) throws java.io.IOException + anno 0 java.lang.Deprecated() +cons public init(com.fasterxml.jackson.core.io.IOContext,int,int,com.fasterxml.jackson.dataformat.yaml.util.StringQuotingChecker,com.fasterxml.jackson.core.ObjectCodec,java.io.Writer,org.yaml.snakeyaml.DumperOptions$Version) throws java.io.IOException +cons public init(com.fasterxml.jackson.core.io.IOContext,int,int,com.fasterxml.jackson.dataformat.yaml.util.StringQuotingChecker,com.fasterxml.jackson.core.ObjectCodec,java.io.Writer,org.yaml.snakeyaml.DumperOptions) throws java.io.IOException +fld protected final com.fasterxml.jackson.core.StreamWriteConstraints _streamWriteConstraints +fld protected final com.fasterxml.jackson.dataformat.yaml.util.StringQuotingChecker _quotingChecker +fld protected final org.yaml.snakeyaml.DumperOptions$Version _docVersion +fld protected final static java.lang.String TAG_BINARY +fld protected final static java.util.regex.Pattern PLAIN_NUMBER_P +fld protected final static long MAX_INT_AS_LONG = 2147483647 +fld protected final static long MIN_INT_AS_LONG = -2147483648 +fld protected int _formatFeatures +fld protected int _rootValueCount +fld protected java.io.Writer _writer +fld protected java.lang.String _objectId +fld protected java.lang.String _typeId +fld protected org.yaml.snakeyaml.DumperOptions _outputOptions +fld protected org.yaml.snakeyaml.emitter.Emitter _emitter +innr public final static !enum Feature +meth protected final void _emit(org.yaml.snakeyaml.events.Event) throws java.io.IOException +meth protected final void _verifyValueWrite(java.lang.String) throws java.io.IOException +meth protected java.lang.String _lf() +meth protected org.yaml.snakeyaml.DumperOptions buildDumperOptions(int,int,org.yaml.snakeyaml.DumperOptions$Version) +meth protected org.yaml.snakeyaml.events.ScalarEvent _scalarEvent(java.lang.String,org.yaml.snakeyaml.DumperOptions$ScalarStyle) +meth protected void _emitEndDocument() throws java.io.IOException +meth protected void _emitStartDocument() throws java.io.IOException +meth protected void _releaseBuffers() +meth protected void _writeScalar(java.lang.String,java.lang.String,org.yaml.snakeyaml.DumperOptions$ScalarStyle) throws java.io.IOException +meth public boolean canUseSchema(com.fasterxml.jackson.core.FormatSchema) +meth public boolean canWriteFormattedNumbers() +meth public boolean canWriteObjectId() +meth public boolean canWriteTypeId() +meth public com.fasterxml.jackson.core.JsonGenerator overrideFormatFeatures(int,int) +meth public com.fasterxml.jackson.core.StreamWriteConstraints streamWriteConstraints() +meth public com.fasterxml.jackson.core.Version version() +meth public com.fasterxml.jackson.core.util.JacksonFeatureSet getWriteCapabilities() +meth public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator configure(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature,boolean) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator disable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator enable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator setPrettyPrinter(com.fasterxml.jackson.core.PrettyPrinter) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLGenerator useDefaultPrettyPrinter() +meth public final boolean isEnabled(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public final void flush() throws java.io.IOException +meth public final void writeEndArray() throws java.io.IOException +meth public final void writeEndObject() throws java.io.IOException +meth public final void writeFieldName(com.fasterxml.jackson.core.SerializableString) throws java.io.IOException +meth public final void writeFieldName(java.lang.String) throws java.io.IOException +meth public final void writeStartArray() throws java.io.IOException +meth public final void writeStartObject() throws java.io.IOException +meth public final void writeString(com.fasterxml.jackson.core.SerializableString) throws java.io.IOException +meth public final void writeUTF8String(byte[],int,int) throws java.io.IOException +meth public int getFormatFeatures() +meth public int getOutputBuffered() +meth public java.lang.Object getOutputTarget() +meth public void close() throws java.io.IOException +meth public void writeBinary(com.fasterxml.jackson.core.Base64Variant,byte[],int,int) throws java.io.IOException +meth public void writeBoolean(boolean) throws java.io.IOException +meth public void writeFieldId(long) throws java.io.IOException +meth public void writeNull() throws java.io.IOException +meth public void writeNumber(double) throws java.io.IOException +meth public void writeNumber(float) throws java.io.IOException +meth public void writeNumber(int) throws java.io.IOException +meth public void writeNumber(java.lang.String) throws java.io.IOException +meth public void writeNumber(java.math.BigDecimal) throws java.io.IOException +meth public void writeNumber(java.math.BigInteger) throws java.io.IOException +meth public void writeNumber(long) throws java.io.IOException +meth public void writeObjectId(java.lang.Object) throws java.io.IOException +meth public void writeObjectRef(java.lang.Object) throws java.io.IOException +meth public void writeRaw(char) throws java.io.IOException +meth public void writeRaw(char[],int,int) throws java.io.IOException +meth public void writeRaw(java.lang.String) throws java.io.IOException +meth public void writeRaw(java.lang.String,int,int) throws java.io.IOException +meth public void writeRawUTF8String(byte[],int,int) throws java.io.IOException +meth public void writeRawValue(char[],int,int) throws java.io.IOException +meth public void writeRawValue(java.lang.String) throws java.io.IOException +meth public void writeRawValue(java.lang.String,int,int) throws java.io.IOException +meth public void writeString(char[],int,int) throws java.io.IOException +meth public void writeString(java.lang.String) throws java.io.IOException +meth public void writeTypeId(java.lang.Object) throws java.io.IOException +supr com.fasterxml.jackson.core.base.GeneratorBase +hfds EXPLICIT_TAGS,NO_TAGS,STYLE_BASE64,STYLE_LITERAL,STYLE_PLAIN,STYLE_QUOTED,STYLE_SCALAR,STYLE_UNQUOTED_NAME + +CLSS public final static !enum com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature + outer com.fasterxml.jackson.dataformat.yaml.YAMLGenerator +fld protected final boolean _defaultState +fld protected final int _mask +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature ALLOW_LONG_KEYS +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature ALWAYS_QUOTE_NUMBERS_AS_STRINGS +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature CANONICAL_OUTPUT +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature INDENT_ARRAYS +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature INDENT_ARRAYS_WITH_INDICATOR +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature LITERAL_BLOCK_STYLE +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature MINIMIZE_QUOTES +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature SPLIT_LINES +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature USE_NATIVE_OBJECT_ID +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature USE_NATIVE_TYPE_ID +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature USE_PLATFORM_LINE_BREAKS +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature WRITE_DOC_START_MARKER +intf com.fasterxml.jackson.core.FormatFeature +meth public boolean enabledByDefault() +meth public boolean enabledIn(int) +meth public int getMask() +meth public static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature valueOf(java.lang.String) +meth public static com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature[] values() +meth public static int collectDefaults() +supr java.lang.Enum + +CLSS public com.fasterxml.jackson.dataformat.yaml.YAMLMapper +cons public init() +cons public init(com.fasterxml.jackson.dataformat.yaml.YAMLFactory) +cons public init(com.fasterxml.jackson.dataformat.yaml.YAMLMapper) +innr public static Builder +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper configure(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature,boolean) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper configure(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature,boolean) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper copy() +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper disable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper disable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper enable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper enable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public final com.fasterxml.jackson.dataformat.yaml.YAMLFactory getFactory() +meth public static com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder builder() +meth public static com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder builder(com.fasterxml.jackson.dataformat.yaml.YAMLFactory) +supr com.fasterxml.jackson.databind.ObjectMapper +hfds serialVersionUID + +CLSS public static com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder + outer com.fasterxml.jackson.dataformat.yaml.YAMLMapper +cons public init(com.fasterxml.jackson.dataformat.yaml.YAMLMapper) +meth public !varargs com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder disable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature[]) +meth public !varargs com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder disable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature[]) +meth public !varargs com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder enable(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature[]) +meth public !varargs com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder enable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature[]) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder configure(com.fasterxml.jackson.dataformat.yaml.YAMLGenerator$Feature,boolean) +meth public com.fasterxml.jackson.dataformat.yaml.YAMLMapper$Builder configure(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature,boolean) +supr com.fasterxml.jackson.databind.cfg.MapperBuilder + +CLSS public com.fasterxml.jackson.dataformat.yaml.YAMLParser +cons public init(com.fasterxml.jackson.core.io.IOContext,com.fasterxml.jackson.core.util.BufferRecycler,int,int,com.fasterxml.jackson.core.ObjectCodec,java.io.Reader) + anno 0 java.lang.Deprecated() +cons public init(com.fasterxml.jackson.core.io.IOContext,int,int,org.yaml.snakeyaml.LoaderOptions,com.fasterxml.jackson.core.ObjectCodec,java.io.Reader) +fld protected boolean _cfgEmptyStringsToNull +fld protected boolean _currentIsAlias +fld protected com.fasterxml.jackson.core.ObjectCodec _objectCodec +fld protected final java.io.Reader _reader +fld protected final org.yaml.snakeyaml.parser.ParserImpl _yamlParser +fld protected final org.yaml.snakeyaml.resolver.Resolver _yamlResolver +fld protected int _formatFeatures +fld protected java.lang.String _cleanedTextValue +fld protected java.lang.String _currentAnchor +fld protected java.lang.String _currentFieldName +fld protected java.lang.String _textValue +fld protected org.yaml.snakeyaml.events.Event _lastEvent +fld protected org.yaml.snakeyaml.events.Event _lastTagEvent +innr public final static !enum Feature +meth protected com.fasterxml.jackson.core.JsonLocation _locationFor(org.yaml.snakeyaml.error.Mark) +meth protected com.fasterxml.jackson.core.JsonToken _decodeNumberIntBinary(java.lang.String,int,int,boolean) throws java.io.IOException +meth protected com.fasterxml.jackson.core.JsonToken _decodeNumberIntHex(java.lang.String,int,int,boolean) throws java.io.IOException +meth protected com.fasterxml.jackson.core.JsonToken _decodeNumberIntOctal(java.lang.String,int,int,boolean) throws java.io.IOException +meth protected com.fasterxml.jackson.core.JsonToken _decodeNumberScalar(java.lang.String,int) throws java.io.IOException +meth protected com.fasterxml.jackson.core.JsonToken _decodeScalar(org.yaml.snakeyaml.events.ScalarEvent) throws java.io.IOException +meth protected int _parseIntValue() throws java.io.IOException +meth protected java.lang.Boolean _matchYAMLBoolean(java.lang.String,int) +meth protected void _closeInput() throws java.io.IOException +meth protected void _parseNumericValue(int) throws java.io.IOException +meth public boolean canReadObjectId() +meth public boolean canReadTypeId() +meth public boolean hasTextCharacters() +meth public boolean isCurrentAlias() +meth public boolean isEnabled(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public boolean requiresCustomCodec() +meth public char[] getTextCharacters() throws java.io.IOException +meth public com.fasterxml.jackson.core.JsonLocation currentLocation() +meth public com.fasterxml.jackson.core.JsonLocation currentTokenLocation() +meth public com.fasterxml.jackson.core.JsonLocation getCurrentLocation() + anno 0 java.lang.Deprecated() +meth public com.fasterxml.jackson.core.JsonLocation getTokenLocation() + anno 0 java.lang.Deprecated() +meth public com.fasterxml.jackson.core.JsonParser configure(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature,boolean) +meth public com.fasterxml.jackson.core.JsonParser disable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public com.fasterxml.jackson.core.JsonParser enable(com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature) +meth public com.fasterxml.jackson.core.JsonParser overrideFormatFeatures(int,int) +meth public com.fasterxml.jackson.core.JsonParser$NumberTypeFP getNumberTypeFP() throws java.io.IOException +meth public com.fasterxml.jackson.core.JsonToken nextToken() throws java.io.IOException +meth public com.fasterxml.jackson.core.ObjectCodec getCodec() +meth public com.fasterxml.jackson.core.Version version() +meth public com.fasterxml.jackson.core.util.JacksonFeatureSet getReadCapabilities() +meth public int getFormatFeatures() +meth public int getText(java.io.Writer) throws java.io.IOException +meth public int getTextLength() throws java.io.IOException +meth public int getTextOffset() throws java.io.IOException +meth public int readBinaryValue(com.fasterxml.jackson.core.Base64Variant,java.io.OutputStream) throws java.io.IOException +meth public java.lang.Object getEmbeddedObject() throws java.io.IOException +meth public java.lang.Object getNumberValueDeferred() throws java.io.IOException +meth public java.lang.String currentName() throws java.io.IOException +meth public java.lang.String getCurrentAnchor() + anno 0 java.lang.Deprecated() +meth public java.lang.String getCurrentName() throws java.io.IOException + anno 0 java.lang.Deprecated() +meth public java.lang.String getObjectId() throws java.io.IOException +meth public java.lang.String getText() throws java.io.IOException +meth public java.lang.String getTypeId() throws java.io.IOException +meth public void setCodec(com.fasterxml.jackson.core.ObjectCodec) +supr com.fasterxml.jackson.core.base.ParserBase + +CLSS public final static !enum com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature + outer com.fasterxml.jackson.dataformat.yaml.YAMLParser +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature EMPTY_STRING_AS_NULL +fld public final static com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature PARSE_BOOLEAN_LIKE_WORDS_AS_STRINGS +intf com.fasterxml.jackson.core.FormatFeature +meth public boolean enabledByDefault() +meth public boolean enabledIn(int) +meth public int getMask() +meth public static com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature valueOf(java.lang.String) +meth public static com.fasterxml.jackson.dataformat.yaml.YAMLParser$Feature[] values() +meth public static int collectDefaults() +supr java.lang.Enum +hfds _defaultState,_mask + +CLSS abstract interface com.fasterxml.jackson.dataformat.yaml.package-info + +CLSS public com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.Mark + anno 0 java.lang.Deprecated() +cons protected init(org.yaml.snakeyaml.error.Mark) +fld protected final org.yaml.snakeyaml.error.Mark _source +meth public int getColumn() +meth public int getIndex() +meth public int getLine() +meth public java.lang.String getName() +meth public java.lang.String get_snippet() +meth public java.lang.String get_snippet(int,int) +meth public static com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.Mark from(org.yaml.snakeyaml.error.Mark) +supr java.lang.Object + +CLSS public com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.MarkedYAMLException + anno 0 java.lang.Deprecated() +cons protected init(com.fasterxml.jackson.core.JsonParser,org.yaml.snakeyaml.error.MarkedYAMLException) +fld protected final org.yaml.snakeyaml.error.MarkedYAMLException _source +meth public com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.Mark getContextMark() +meth public com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.Mark getProblemMark() +meth public java.lang.String getContext() +meth public java.lang.String getProblem() +meth public static com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.MarkedYAMLException from(com.fasterxml.jackson.core.JsonParser,org.yaml.snakeyaml.error.MarkedYAMLException) +supr com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.YAMLException +hfds serialVersionUID + +CLSS public com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.YAMLException + anno 0 java.lang.Deprecated() +cons public init(com.fasterxml.jackson.core.JsonParser,org.yaml.snakeyaml.error.YAMLException) +meth public static com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.YAMLException from(com.fasterxml.jackson.core.JsonParser,org.yaml.snakeyaml.error.YAMLException) +supr com.fasterxml.jackson.dataformat.yaml.JacksonYAMLParseException +hfds serialVersionUID + +CLSS abstract interface com.fasterxml.jackson.dataformat.yaml.snakeyaml.error.package-info + CLSS public final com.fasterxml.jackson.datatype.jsr310.DecimalUtils meth public static <%0 extends java.lang.Object> {%%0} extractSecondsAndNanos(java.math.BigDecimal,java.util.function.BiFunction) meth public static int extractNanosecondDecimal(java.math.BigDecimal,long) diff --git a/enterprise/maven.j2ee/nbproject/org-netbeans-modules-maven-j2ee.sig b/enterprise/maven.j2ee/nbproject/org-netbeans-modules-maven-j2ee.sig index d29bca0272f0..9277bc163553 100644 --- a/enterprise/maven.j2ee/nbproject/org-netbeans-modules-maven-j2ee.sig +++ b/enterprise/maven.j2ee/nbproject/org-netbeans-modules-maven-j2ee.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.86 +#Version 1.87 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig b/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig index dfc3e35cceea..62718c7d90dc 100644 --- a/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig +++ b/enterprise/payara.common/nbproject/org-netbeans-modules-payara-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.20 +#Version 2.21 CLSS public abstract java.awt.Component cons protected init() @@ -1280,12 +1280,12 @@ intf org.openide.util.Lookup$Provider intf org.openide.util.LookupListener meth public boolean equals(java.lang.Object) meth public boolean isDocker() -meth public boolean isWSL() meth public boolean isHotDeployEnabled() meth public boolean isHotDeployFeatureAvailable() meth public boolean isProcessRunning() meth public boolean isRemote() meth public boolean isRemovable() +meth public boolean isWSL() meth public final org.netbeans.modules.payara.common.CommonServerSupport getCommonSupport() meth public final org.netbeans.modules.payara.spi.PayaraModule$ServerState getServerState() anno 0 java.lang.Deprecated() @@ -1531,6 +1531,7 @@ meth public boolean isEE9Supported() meth public boolean isInstalledInDirectory(java.io.File) meth public boolean isMinimumSupportedVersion() meth public int getVersionInt() +meth public java.lang.String getBuild() meth public java.lang.String getDirectUrl() meth public java.lang.String getIndirectUrl() meth public java.lang.String getLicenseUrl() @@ -1538,7 +1539,6 @@ meth public java.lang.String getUriFragment() meth public java.lang.String toFullString() meth public java.lang.String toString() meth public org.netbeans.modules.payara.tooling.data.PayaraVersion getVersion() -meth public java.lang.String getBuild() meth public short getMajor() meth public short getMinor() meth public short getUpdate() @@ -2315,20 +2315,20 @@ meth public abstract boolean isEE7Supported() meth public abstract boolean isEE8Supported() meth public abstract boolean isEE9Supported() meth public abstract boolean isMinimumSupportedVersion() +meth public abstract java.lang.String getBuild() meth public abstract java.lang.String getDirectUrl() meth public abstract java.lang.String getIndirectUrl() meth public abstract java.lang.String getLicenseUrl() meth public abstract java.lang.String getUriFragment() meth public abstract java.lang.String toFullString() -meth public abstract java.lang.String getBuild() meth public abstract short getMajor() meth public abstract short getMinor() meth public abstract short getUpdate() CLSS public abstract interface org.netbeans.modules.payara.tooling.data.PayaraServer meth public abstract boolean isDocker() -meth public abstract boolean isWSL() meth public abstract boolean isRemote() +meth public abstract boolean isWSL() meth public abstract int getAdminPort() meth public abstract int getPort() meth public abstract java.lang.String getAdminPassword() diff --git a/enterprise/payara.eecommon/nbproject/org-netbeans-modules-payara-eecommon.sig b/enterprise/payara.eecommon/nbproject/org-netbeans-modules-payara-eecommon.sig index 54807e2dc7c5..f27a05ec2845 100644 --- a/enterprise/payara.eecommon/nbproject/org-netbeans-modules-payara-eecommon.sig +++ b/enterprise/payara.eecommon/nbproject/org-netbeans-modules-payara-eecommon.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.21.0 +#Version 2.22.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/payara.micro/nbproject/org-netbeans-modules-payara-micro.sig b/enterprise/payara.micro/nbproject/org-netbeans-modules-payara-micro.sig index c5ec56af8847..cf2e2cad4afd 100644 --- a/enterprise/payara.micro/nbproject/org-netbeans-modules-payara-micro.sig +++ b/enterprise/payara.micro/nbproject/org-netbeans-modules-payara-micro.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.20 +#Version 2.21 CLSS public java.lang.Object cons public init() @@ -18,8 +18,6 @@ meth public java.lang.String toString() CLSS public abstract interface org.netbeans.modules.fish.payara.micro.plugin.Constants fld public final static java.lang.String ARCHETYPE_ARTIFACT_ID = "payara-micro-maven-archetype" fld public final static java.lang.String ARCHETYPE_GROUP_ID = "fish.payara.maven.archetypes" -fld public final static java.lang.String STARTER_ARCHETYPE_ARTIFACT_ID = "payara-starter-archetype" -fld public final static java.lang.String STARTER_ARCHETYPE_GROUP_ID = "fish.payara.starter" fld public final static java.lang.String ARCHETYPE_REPOSITORY = "https://oss.sonatype.org/content/repositories/snapshots" fld public final static java.lang.String BUILD_ICON = "org/netbeans/modules/fish/payara/micro/project/resources/payara-micro-build.png" fld public final static java.lang.String CLEAN_ICON = "org/netbeans/modules/fish/payara/micro/project/resources/payara-micro-clean.png" @@ -47,6 +45,9 @@ fld public final static java.lang.String PROP_JAVA_EE_VERSION = "javaeeVersion" anno 0 java.lang.Deprecated() fld public final static java.lang.String PROP_PACKAGE = "package" fld public final static java.lang.String PROP_PAYARA_MICRO_VERSION = "payaraMicroVersion" +fld public final static java.lang.String PROP_PAYARA_VERSION = "payaraVersion" +fld public final static java.lang.String PROP_PLATFORM = "platform" +fld public final static java.lang.String PROP_PLATFORM_MICRO_VALUE = "micro" fld public final static java.lang.String PROP_VERSION = "version" fld public final static java.lang.String REBUILD_ICON = "org/netbeans/modules/fish/payara/micro/project/resources/payara-micro-clean-build.png" fld public final static java.lang.String RELOAD_FILE = ".reload" @@ -55,6 +56,8 @@ fld public final static java.lang.String RESOURCES_GOAL = "resources:resources" fld public final static java.lang.String RESTART_ICON = "org/netbeans/modules/fish/payara/micro/project/resources/payara-micro-restart.png" fld public final static java.lang.String RUN_ACTION = "run" fld public final static java.lang.String RUN_SINGLE_ACTION = "run.single.deploy" +fld public final static java.lang.String STARTER_ARCHETYPE_ARTIFACT_ID = "payara-starter-archetype" +fld public final static java.lang.String STARTER_ARCHETYPE_GROUP_ID = "fish.payara.starter" fld public final static java.lang.String START_GOAL = "payara-micro:start" fld public final static java.lang.String START_ICON = "org/netbeans/modules/fish/payara/micro/project/resources/payara-micro-start.png" fld public final static java.lang.String STOP_ACTION = "micro-stop" diff --git a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig index 174972292ef0..b6db6ff28dfc 100644 --- a/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig +++ b/enterprise/payara.tooling/nbproject/org-netbeans-modules-payara-tooling.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.20 +#Version 2.21 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable @@ -378,7 +378,7 @@ cons public init(java.lang.String,java.lang.Throwable) fld public final static java.lang.String INVALID_BOOLEAN_CONSTANT = "Invalid String representing boolean constant." fld public final static java.lang.String MANIFEST_INVALID_COMPONENT_ITEM = "Invalid component item" supr org.netbeans.modules.payara.tooling.PayaraIdeException -hfds HTTP_RESP_IO_EXCEPTION,HTTP_RESP_UNS_ENC_EXCEPTION,ILLEGAL_COMAND_INSTANCE,ILLEGAL_NULL_VALUE,RUNNER_HTTP_HEADERS,RUNNER_HTTP_URL,RUNNER_INIT,UNKNOWN_ADMIN_INTERFACE,UNKNOWN_VERSION,UNSUPPORTED_OPERATION,UNSUPPORTED_VERSION +hfds DOCKER_HOST_APPLICATION_PATH,HTTP_RESP_IO_EXCEPTION,HTTP_RESP_UNS_ENC_EXCEPTION,ILLEGAL_COMAND_INSTANCE,ILLEGAL_NULL_VALUE,RUNNER_HTTP_HEADERS,RUNNER_HTTP_URL,RUNNER_INIT,UNKNOWN_ADMIN_INTERFACE,UNKNOWN_VERSION,UNSUPPORTED_OPERATION,UNSUPPORTED_VERSION CLSS public org.netbeans.modules.payara.tooling.admin.CommandFetchLogData cons public init() @@ -1337,13 +1337,13 @@ meth public boolean isEE8Supported() meth public boolean isEE9Supported() meth public boolean isMinimumSupportedVersion() meth public int compareTo(org.netbeans.modules.payara.tooling.data.PayaraPlatformVersionAPI) +meth public java.lang.String getBuild() meth public java.lang.String getDirectUrl() meth public java.lang.String getIndirectUrl() meth public java.lang.String getLicenseUrl() meth public java.lang.String getUriFragment() meth public java.lang.String toFullString() meth public java.lang.String toString() -meth public java.lang.String getBuild() meth public short getMajor() meth public short getMinor() meth public short getUpdate() @@ -1371,20 +1371,20 @@ meth public abstract boolean isEE7Supported() meth public abstract boolean isEE8Supported() meth public abstract boolean isEE9Supported() meth public abstract boolean isMinimumSupportedVersion() +meth public abstract java.lang.String getBuild() meth public abstract java.lang.String getDirectUrl() meth public abstract java.lang.String getIndirectUrl() meth public abstract java.lang.String getLicenseUrl() meth public abstract java.lang.String getUriFragment() meth public abstract java.lang.String toFullString() -meth public abstract java.lang.String getBuild() meth public abstract short getMajor() meth public abstract short getMinor() meth public abstract short getUpdate() CLSS public abstract interface org.netbeans.modules.payara.tooling.data.PayaraServer meth public abstract boolean isDocker() -meth public abstract boolean isWSL() meth public abstract boolean isRemote() +meth public abstract boolean isWSL() meth public abstract int getAdminPort() meth public abstract int getPort() meth public abstract java.lang.String getAdminPassword() @@ -1408,8 +1408,8 @@ cons public init() cons public init(java.lang.String,java.lang.String,java.lang.String,java.lang.String) intf org.netbeans.modules.payara.tooling.data.PayaraServer meth public boolean isDocker() -meth public boolean isWSL() meth public boolean isRemote() +meth public boolean isWSL() meth public int getAdminPort() meth public int getPort() meth public java.lang.String getAdminPassword() @@ -1433,7 +1433,6 @@ meth public void setAdminPort(int) meth public void setAdminUser(java.lang.String) meth public void setContainerPath(java.lang.String) meth public void setDocker(boolean) -meth public void setWSL(boolean) meth public void setDomainName(java.lang.String) meth public void setDomainsFolder(java.lang.String) meth public void setHost(java.lang.String) @@ -1446,8 +1445,9 @@ meth public void setServerRoot(java.lang.String) meth public void setUrl(java.lang.String) meth public void setVersion(org.netbeans.modules.payara.tooling.data.PayaraVersion) anno 0 java.lang.Deprecated() +meth public void setWSL(boolean) supr java.lang.Object -hfds adminInterface,adminPassword,adminPort,adminUser,containerPath,wsl,docker,domainName,domainsFolder,host,hostPath,name,platformVersion,port,serverHome,serverRoot,url,version +hfds adminInterface,adminPassword,adminPort,adminUser,containerPath,docker,domainName,domainsFolder,host,hostPath,name,platformVersion,port,serverHome,serverRoot,url,version,wsl CLSS public abstract interface org.netbeans.modules.payara.tooling.data.PayaraServerStatus meth public abstract org.netbeans.modules.payara.tooling.PayaraStatus getStatus() @@ -1522,13 +1522,13 @@ meth public boolean isEE7Supported() meth public boolean isEE8Supported() meth public boolean isEE9Supported() meth public boolean isMinimumSupportedVersion() +meth public java.lang.String getBuild() meth public java.lang.String getDirectUrl() meth public java.lang.String getIndirectUrl() meth public java.lang.String getLicenseUrl() meth public java.lang.String getUriFragment() meth public java.lang.String toFullString() meth public java.lang.String toString() -meth public java.lang.String getBuild() meth public short getMajor() meth public short getMinor() meth public short getUpdate() diff --git a/enterprise/servletjspapi/nbproject/org-netbeans-modules-servletjspapi.sig b/enterprise/servletjspapi/nbproject/org-netbeans-modules-servletjspapi.sig index 21614ea2f595..7fbe7ade9326 100644 --- a/enterprise/servletjspapi/nbproject/org-netbeans-modules-servletjspapi.sig +++ b/enterprise/servletjspapi/nbproject/org-netbeans-modules-servletjspapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55.0 +#Version 1.56.0 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/enterprise/web.beans/nbproject/org-netbeans-modules-web-beans.sig b/enterprise/web.beans/nbproject/org-netbeans-modules-web-beans.sig index b3d5b49b9e97..a53b79182395 100644 --- a/enterprise/web.beans/nbproject/org-netbeans-modules-web-beans.sig +++ b/enterprise/web.beans/nbproject/org-netbeans-modules-web-beans.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.44 +#Version 2.45 CLSS public java.beans.FeatureDescriptor cons public init() diff --git a/enterprise/web.core/nbproject/org-netbeans-modules-web-core.sig b/enterprise/web.core/nbproject/org-netbeans-modules-web-core.sig index 3baf2378791a..4e8e145bf3d7 100644 --- a/enterprise/web.core/nbproject/org-netbeans-modules-web-core.sig +++ b/enterprise/web.core/nbproject/org-netbeans-modules-web-core.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.57.0 +#Version 2.58.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/web.el/nbproject/org-netbeans-modules-web-el.sig b/enterprise/web.el/nbproject/org-netbeans-modules-web-el.sig index 5e0318c57c81..d150162e7139 100644 --- a/enterprise/web.el/nbproject/org-netbeans-modules-web-el.sig +++ b/enterprise/web.el/nbproject/org-netbeans-modules-web-el.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.77 +#Version 1.78 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/web.jsf.navigation/nbproject/org-netbeans-modules-web-jsf-navigation.sig b/enterprise/web.jsf.navigation/nbproject/org-netbeans-modules-web-jsf-navigation.sig index ab048bd700f2..91b7e9ee0ca4 100644 --- a/enterprise/web.jsf.navigation/nbproject/org-netbeans-modules-web-jsf-navigation.sig +++ b/enterprise/web.jsf.navigation/nbproject/org-netbeans-modules-web-jsf-navigation.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.51 +#Version 2.52 CLSS public java.lang.Object cons public init() diff --git a/enterprise/web.jsf/nbproject/org-netbeans-modules-web-jsf.sig b/enterprise/web.jsf/nbproject/org-netbeans-modules-web-jsf.sig index 86cd21669526..2d977bf90ce7 100644 --- a/enterprise/web.jsf/nbproject/org-netbeans-modules-web-jsf.sig +++ b/enterprise/web.jsf/nbproject/org-netbeans-modules-web-jsf.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.5.0 +#Version 2.6.0 CLSS public abstract interface java.beans.PropertyChangeListener intf java.util.EventListener diff --git a/enterprise/web.jsfapi/nbproject/org-netbeans-modules-web-jsfapi.sig b/enterprise/web.jsfapi/nbproject/org-netbeans-modules-web-jsfapi.sig index 76595b948f0e..4374082cf8d9 100644 --- a/enterprise/web.jsfapi/nbproject/org-netbeans-modules-web-jsfapi.sig +++ b/enterprise/web.jsfapi/nbproject/org-netbeans-modules-web-jsfapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.4 +#Version 2.5 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/web.jspparser/nbproject/org-netbeans-modules-web-jspparser.sig b/enterprise/web.jspparser/nbproject/org-netbeans-modules-web-jspparser.sig index 219143d2e2e2..e9913954c46f 100644 --- a/enterprise/web.jspparser/nbproject/org-netbeans-modules-web-jspparser.sig +++ b/enterprise/web.jspparser/nbproject/org-netbeans-modules-web-jspparser.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.54 +#Version 3.55 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/web.project/nbproject/org-netbeans-modules-web-project.sig b/enterprise/web.project/nbproject/org-netbeans-modules-web-project.sig index 8044d51a0109..1da1259f5c09 100644 --- a/enterprise/web.project/nbproject/org-netbeans-modules-web-project.sig +++ b/enterprise/web.project/nbproject/org-netbeans-modules-web-project.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.99.0 +#Version 1.100.0 CLSS public java.lang.Object cons public init() diff --git a/enterprise/weblogic.common/nbproject/org-netbeans-modules-weblogic-common.sig b/enterprise/weblogic.common/nbproject/org-netbeans-modules-weblogic-common.sig index 8a2370b0d981..d66eab2e009b 100644 --- a/enterprise/weblogic.common/nbproject/org-netbeans-modules-weblogic-common.sig +++ b/enterprise/weblogic.common/nbproject/org-netbeans-modules-weblogic-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.39 +#Version 1.40 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/websvc.clientapi/nbproject/org-netbeans-modules-websvc-clientapi.sig b/enterprise/websvc.clientapi/nbproject/org-netbeans-modules-websvc-clientapi.sig index db723767a6fd..6a1bf1ea56f2 100644 --- a/enterprise/websvc.clientapi/nbproject/org-netbeans-modules-websvc-clientapi.sig +++ b/enterprise/websvc.clientapi/nbproject/org-netbeans-modules-websvc-clientapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57 +#Version 1.58 CLSS public java.lang.Object cons public init() diff --git a/enterprise/websvc.core/nbproject/org-netbeans-modules-websvc-core.sig b/enterprise/websvc.core/nbproject/org-netbeans-modules-websvc-core.sig index 19ae435dcbea..6d689d5f4f10 100644 --- a/enterprise/websvc.core/nbproject/org-netbeans-modules-websvc-core.sig +++ b/enterprise/websvc.core/nbproject/org-netbeans-modules-websvc-core.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.69.0 +#Version 1.70.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/websvc.design/nbproject/org-netbeans-modules-websvc-design.sig b/enterprise/websvc.design/nbproject/org-netbeans-modules-websvc-design.sig index 2154b18fbec0..e2320bd46911 100644 --- a/enterprise/websvc.design/nbproject/org-netbeans-modules-websvc-design.sig +++ b/enterprise/websvc.design/nbproject/org-netbeans-modules-websvc-design.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.50 +#Version 1.51 CLSS public java.lang.Object cons public init() diff --git a/enterprise/websvc.jaxws.lightapi/nbproject/org-netbeans-modules-websvc-jaxws-lightapi.sig b/enterprise/websvc.jaxws.lightapi/nbproject/org-netbeans-modules-websvc-jaxws-lightapi.sig index b615273e0720..f520a8c75b40 100644 --- a/enterprise/websvc.jaxws.lightapi/nbproject/org-netbeans-modules-websvc-jaxws-lightapi.sig +++ b/enterprise/websvc.jaxws.lightapi/nbproject/org-netbeans-modules-websvc-jaxws-lightapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.47 +#Version 1.48 CLSS public java.lang.Object cons public init() diff --git a/enterprise/websvc.jaxwsapi/nbproject/org-netbeans-modules-websvc-jaxwsapi.sig b/enterprise/websvc.jaxwsapi/nbproject/org-netbeans-modules-websvc-jaxwsapi.sig index 0af794c38b3a..f18809e788a8 100644 --- a/enterprise/websvc.jaxwsapi/nbproject/org-netbeans-modules-websvc-jaxwsapi.sig +++ b/enterprise/websvc.jaxwsapi/nbproject/org-netbeans-modules-websvc-jaxwsapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.51 +#Version 1.52 CLSS public java.beans.FeatureDescriptor cons public init() diff --git a/enterprise/websvc.jaxwsmodel/nbproject/org-netbeans-modules-websvc-jaxwsmodel.sig b/enterprise/websvc.jaxwsmodel/nbproject/org-netbeans-modules-websvc-jaxwsmodel.sig index 3b9228314760..b114bf6eb442 100644 --- a/enterprise/websvc.jaxwsmodel/nbproject/org-netbeans-modules-websvc-jaxwsmodel.sig +++ b/enterprise/websvc.jaxwsmodel/nbproject/org-netbeans-modules-websvc-jaxwsmodel.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55 +#Version 1.56 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/websvc.manager/nbproject/org-netbeans-modules-websvc-manager.sig b/enterprise/websvc.manager/nbproject/org-netbeans-modules-websvc-manager.sig index 183ecbda1316..3a9b4fac0e41 100644 --- a/enterprise/websvc.manager/nbproject/org-netbeans-modules-websvc-manager.sig +++ b/enterprise/websvc.manager/nbproject/org-netbeans-modules-websvc-manager.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.53 +#Version 1.54 CLSS public abstract interface java.awt.datatransfer.Transferable meth public abstract boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor) diff --git a/enterprise/websvc.projectapi/nbproject/org-netbeans-modules-websvc-projectapi.sig b/enterprise/websvc.projectapi/nbproject/org-netbeans-modules-websvc-projectapi.sig index c147c3e4c644..340a76b37a8b 100644 --- a/enterprise/websvc.projectapi/nbproject/org-netbeans-modules-websvc-projectapi.sig +++ b/enterprise/websvc.projectapi/nbproject/org-netbeans-modules-websvc-projectapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.47 +#Version 1.48 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/websvc.rest/nbproject/org-netbeans-modules-websvc-rest.sig b/enterprise/websvc.rest/nbproject/org-netbeans-modules-websvc-rest.sig index 26cf4f395099..fa832b11f6ca 100644 --- a/enterprise/websvc.rest/nbproject/org-netbeans-modules-websvc-rest.sig +++ b/enterprise/websvc.rest/nbproject/org-netbeans-modules-websvc-rest.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55 +#Version 1.56 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/websvc.restapi/nbproject/org-netbeans-modules-websvc-restapi.sig b/enterprise/websvc.restapi/nbproject/org-netbeans-modules-websvc-restapi.sig index 1571bf5fcc6b..8fcd712b753c 100644 --- a/enterprise/websvc.restapi/nbproject/org-netbeans-modules-websvc-restapi.sig +++ b/enterprise/websvc.restapi/nbproject/org-netbeans-modules-websvc-restapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.61 +#Version 1.62 CLSS public abstract interface java.io.Serializable diff --git a/enterprise/websvc.restlib/nbproject/org-netbeans-modules-websvc-restlib.sig b/enterprise/websvc.restlib/nbproject/org-netbeans-modules-websvc-restlib.sig index ce82f2c5661c..870d1c294e7f 100644 --- a/enterprise/websvc.restlib/nbproject/org-netbeans-modules-websvc-restlib.sig +++ b/enterprise/websvc.restlib/nbproject/org-netbeans-modules-websvc-restlib.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.33 +#Version 2.34 CLSS public abstract interface !annotation com.fasterxml.jackson.annotation.JacksonAnnotation anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) @@ -814,12 +814,6 @@ CLSS public abstract interface !annotation javax.annotation.Priority intf java.lang.annotation.Annotation meth public abstract int value() -CLSS public abstract interface !annotation javax.inject.Inject - anno 0 java.lang.annotation.Documented() - anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) - anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[METHOD, CONSTRUCTOR, FIELD]) -intf java.lang.annotation.Annotation - CLSS public abstract interface !annotation javax.inject.Named anno 0 java.lang.annotation.Documented() anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) diff --git a/enterprise/websvc.utilities/nbproject/org-netbeans-modules-websvc-utilities.sig b/enterprise/websvc.utilities/nbproject/org-netbeans-modules-websvc-utilities.sig index c7326d5f8a20..2ab770ce289b 100644 --- a/enterprise/websvc.utilities/nbproject/org-netbeans-modules-websvc-utilities.sig +++ b/enterprise/websvc.utilities/nbproject/org-netbeans-modules-websvc-utilities.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.50 +#Version 1.51 CLSS public abstract java.awt.Component cons protected init() diff --git a/enterprise/websvc.websvcapi/nbproject/org-netbeans-modules-websvc-websvcapi.sig b/enterprise/websvc.websvcapi/nbproject/org-netbeans-modules-websvc-websvcapi.sig index fa50f7d2e236..6895cf27eee4 100644 --- a/enterprise/websvc.websvcapi/nbproject/org-netbeans-modules-websvc-websvcapi.sig +++ b/enterprise/websvc.websvcapi/nbproject/org-netbeans-modules-websvc-websvcapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56 +#Version 1.57 CLSS public java.lang.Object cons public init() diff --git a/enterprise/websvc.wsstackapi/nbproject/org-netbeans-modules-websvc-wsstackapi.sig b/enterprise/websvc.wsstackapi/nbproject/org-netbeans-modules-websvc-wsstackapi.sig index 4fb7d7aacf21..7b9d1ef43635 100644 --- a/enterprise/websvc.wsstackapi/nbproject/org-netbeans-modules-websvc-wsstackapi.sig +++ b/enterprise/websvc.wsstackapi/nbproject/org-netbeans-modules-websvc-wsstackapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.48 +#Version 1.49 CLSS public abstract interface java.io.Serializable diff --git a/extide/gradle/nbproject/org-netbeans-modules-gradle.sig b/extide/gradle/nbproject/org-netbeans-modules-gradle.sig index d03072757ad9..f13bb7755d20 100644 --- a/extide/gradle/nbproject/org-netbeans-modules-gradle.sig +++ b/extide/gradle/nbproject/org-netbeans-modules-gradle.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.41 +#Version 2.43.0 CLSS public abstract interface java.io.Serializable @@ -335,6 +335,7 @@ fld public final static java.lang.String GRADLE_PROJECT_TYPE = "org-netbeans-mod fld public final static java.lang.String PROP_PROJECT_INFO = "ProjectInfo" fld public final static java.lang.String PROP_RESOURCES = "resources" innr public final static !enum Quality +innr public final static LoadOptions meth public <%0 extends java.lang.Object> {%%0} projectLookup(java.lang.Class<{%%0}>) meth public boolean isGradleProjectLoaded() meth public boolean isUnloadable() @@ -344,14 +345,19 @@ meth public java.util.concurrent.CompletionStage toQuality(org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions) + anno 0 org.netbeans.api.annotations.common.NonNull() meth public java.util.prefs.Preferences getPreferences(boolean) +meth public long getEvaluateTime() meth public org.netbeans.modules.gradle.api.NbGradleProject$Quality getAimedQuality() meth public org.netbeans.modules.gradle.api.NbGradleProject$Quality getQuality() meth public org.netbeans.modules.gradle.spi.GradleFiles getGradleFiles() +meth public org.openide.util.Lookup curretLookup() meth public org.openide.util.Lookup refreshableProjectLookup() meth public static java.util.prefs.Preferences getPreferences(org.netbeans.api.project.Project,boolean) meth public static javax.swing.ImageIcon getIcon() meth public static org.netbeans.modules.gradle.api.NbGradleProject get(org.netbeans.api.project.Project) +meth public static org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions loadOptions(org.netbeans.modules.gradle.api.NbGradleProject$Quality) meth public static void addPropertyChangeListener(org.netbeans.api.project.Project,java.beans.PropertyChangeListener) meth public static void fireGradleProjectReload(org.netbeans.api.project.Project) meth public static void removePropertyChangeListener(org.netbeans.api.project.Project,java.beans.PropertyChangeListener) @@ -361,6 +367,24 @@ supr java.lang.Object hfds FCHSL,GRADLE_ICON,LOG,WARNING_BADGE,lookupProxy,privatePrefs,project,resources,sharedPrefs,support,warningIcon hcls AccessorImpl +CLSS public final static org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions + outer org.netbeans.modules.gradle.api.NbGradleProject +meth public boolean isCheckFiles() +meth public boolean isForce() +meth public boolean isIgnoreCache() +meth public boolean isInteractive() +meth public boolean isOffline() +meth public java.lang.String getDescription() +meth public org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions setCheckFiles(boolean) +meth public org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions setDescription(java.lang.String) +meth public org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions setForce(boolean) +meth public org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions setIgnoreCache(boolean) +meth public org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions setInteractive(boolean) +meth public org.netbeans.modules.gradle.api.NbGradleProject$LoadOptions setOffline(boolean) +meth public org.netbeans.modules.gradle.api.NbGradleProject$Quality getAim() +supr java.lang.Object +hfds aim,checkFiles,description,force,ignoreCache,interactive,offline + CLSS public final static !enum org.netbeans.modules.gradle.api.NbGradleProject$Quality outer org.netbeans.modules.gradle.api.NbGradleProject fld public final static org.netbeans.modules.gradle.api.NbGradleProject$Quality EVALUATED diff --git a/extide/o.apache.tools.ant.module/nbproject/org-apache-tools-ant-module.sig b/extide/o.apache.tools.ant.module/nbproject/org-apache-tools-ant-module.sig index 7d09052f44dc..679daf8d81e3 100644 --- a/extide/o.apache.tools.ant.module/nbproject/org-apache-tools-ant-module.sig +++ b/extide/o.apache.tools.ant.module/nbproject/org-apache-tools-ant-module.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.109.0 +#Version 3.110.0 CLSS public java.beans.FeatureDescriptor cons public init() diff --git a/extide/options.java/nbproject/org-netbeans-modules-options-java.sig b/extide/options.java/nbproject/org-netbeans-modules-options-java.sig index 67e41afb9ae6..af8b3451db1b 100644 --- a/extide/options.java/nbproject/org-netbeans-modules-options-java.sig +++ b/extide/options.java/nbproject/org-netbeans-modules-options-java.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.39 +#Version 1.40 CLSS public java.lang.Object cons public init() diff --git a/groovy/groovy.editor/nbproject/org-netbeans-modules-groovy-editor.sig b/groovy/groovy.editor/nbproject/org-netbeans-modules-groovy-editor.sig index 45924c40baca..3af8b2d0da8d 100644 --- a/groovy/groovy.editor/nbproject/org-netbeans-modules-groovy-editor.sig +++ b/groovy/groovy.editor/nbproject/org-netbeans-modules-groovy-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.94 +#Version 1.95 CLSS public abstract interface java.io.Serializable diff --git a/groovy/groovy.support/nbproject/org-netbeans-modules-groovy-support.sig b/groovy/groovy.support/nbproject/org-netbeans-modules-groovy-support.sig index 85c52440f65a..e7a04ed166ca 100644 --- a/groovy/groovy.support/nbproject/org-netbeans-modules-groovy-support.sig +++ b/groovy/groovy.support/nbproject/org-netbeans-modules-groovy-support.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.65 +#Version 1.66 CLSS public java.lang.Object cons public init() diff --git a/groovy/libs.groovy/nbproject/org-netbeans-modules-libs-groovy.sig b/groovy/libs.groovy/nbproject/org-netbeans-modules-libs-groovy.sig index c515f1fdae3e..aebdf56076c5 100644 --- a/groovy/libs.groovy/nbproject/org-netbeans-modules-libs-groovy.sig +++ b/groovy/libs.groovy/nbproject/org-netbeans-modules-libs-groovy.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.25 +#Version 2.26 CLSS public abstract interface !annotation groovy.beans.Bindable anno 0 java.lang.annotation.Documented() diff --git a/harness/jellytools.platform/nbproject/org-netbeans-modules-jellytools-platform.sig b/harness/jellytools.platform/nbproject/org-netbeans-modules-jellytools-platform.sig index cf5408cc0bae..1cbb9d53bb5f 100644 --- a/harness/jellytools.platform/nbproject/org-netbeans-modules-jellytools-platform.sig +++ b/harness/jellytools.platform/nbproject/org-netbeans-modules-jellytools-platform.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.54 +#Version 3.55 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/harness/jemmy/nbproject/org-netbeans-modules-jemmy.sig b/harness/jemmy/nbproject/org-netbeans-modules-jemmy.sig index 05488285a68e..5c7c80c30124 100644 --- a/harness/jemmy/nbproject/org-netbeans-modules-jemmy.sig +++ b/harness/jemmy/nbproject/org-netbeans-modules-jemmy.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.52 +#Version 3.53 CLSS public abstract java.awt.AWTEvent cons public init(java.awt.Event) diff --git a/harness/nbjunit/nbproject/org-netbeans-modules-nbjunit.sig b/harness/nbjunit/nbproject/org-netbeans-modules-nbjunit.sig index b3b53f97a572..dfcda6432609 100644 --- a/harness/nbjunit/nbproject/org-netbeans-modules-nbjunit.sig +++ b/harness/nbjunit/nbproject/org-netbeans-modules-nbjunit.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.115 +#Version 1.116 CLSS public java.io.IOException cons public init() diff --git a/harness/o.n.insane/nbproject/org-netbeans-insane.sig b/harness/o.n.insane/nbproject/org-netbeans-insane.sig index 64fd09cafa99..a0091e301cec 100644 --- a/harness/o.n.insane/nbproject/org-netbeans-insane.sig +++ b/harness/o.n.insane/nbproject/org-netbeans-insane.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.54.0 +#Version 1.55.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/api.debugger/nbproject/org-netbeans-api-debugger.sig b/ide/api.debugger/nbproject/org-netbeans-api-debugger.sig index a076ee4d4949..569eeb531a68 100644 --- a/ide/api.debugger/nbproject/org-netbeans-api-debugger.sig +++ b/ide/api.debugger/nbproject/org-netbeans-api-debugger.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.80 +#Version 1.81 CLSS public abstract interface java.beans.PropertyChangeListener intf java.util.EventListener diff --git a/ide/api.java.classpath/nbproject/org-netbeans-api-java-classpath.sig b/ide/api.java.classpath/nbproject/org-netbeans-api-java-classpath.sig index 2d7d106d3c80..515f2bc037df 100644 --- a/ide/api.java.classpath/nbproject/org-netbeans-api-java-classpath.sig +++ b/ide/api.java.classpath/nbproject/org-netbeans-api-java-classpath.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.79 +#Version 1.80 CLSS public abstract interface java.io.Serializable diff --git a/ide/api.lsp/nbproject/org-netbeans-api-lsp.sig b/ide/api.lsp/nbproject/org-netbeans-api-lsp.sig index 1c4b7c45c0a3..76de5a34b18f 100644 --- a/ide/api.lsp/nbproject/org-netbeans-api-lsp.sig +++ b/ide/api.lsp/nbproject/org-netbeans-api-lsp.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.28 +#Version 1.30 CLSS public abstract interface java.io.Serializable @@ -505,6 +505,11 @@ meth public static java.util.concurrent.CompletableFuture meth public abstract int compareTo({java.lang.Comparable%0}) diff --git a/ide/editor.fold/nbproject/org-netbeans-modules-editor-fold.sig b/ide/editor.fold/nbproject/org-netbeans-modules-editor-fold.sig index 120fb3b8748a..4366a938f311 100644 --- a/ide/editor.fold/nbproject/org-netbeans-modules-editor-fold.sig +++ b/ide/editor.fold/nbproject/org-netbeans-modules-editor-fold.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.70 +#Version 1.71 CLSS public abstract interface java.io.Serializable diff --git a/ide/editor.guards/nbproject/org-netbeans-modules-editor-guards.sig b/ide/editor.guards/nbproject/org-netbeans-modules-editor-guards.sig index 0e98e5e5ae3d..30c6be7d5ffa 100644 --- a/ide/editor.guards/nbproject/org-netbeans-modules-editor-guards.sig +++ b/ide/editor.guards/nbproject/org-netbeans-modules-editor-guards.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58 +#Version 1.59 CLSS public java.lang.Object cons public init() diff --git a/ide/editor.indent.project/nbproject/org-netbeans-modules-editor-indent-project.sig b/ide/editor.indent.project/nbproject/org-netbeans-modules-editor-indent-project.sig index cd0261298e9b..a71de6687990 100644 --- a/ide/editor.indent.project/nbproject/org-netbeans-modules-editor-indent-project.sig +++ b/ide/editor.indent.project/nbproject/org-netbeans-modules-editor-indent-project.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.47 +#Version 1.48 CLSS public java.lang.Object cons public init() diff --git a/ide/editor.indent.support/nbproject/org-netbeans-modules-editor-indent-support.sig b/ide/editor.indent.support/nbproject/org-netbeans-modules-editor-indent-support.sig index f8c011b11888..ee312feb0729 100644 --- a/ide/editor.indent.support/nbproject/org-netbeans-modules-editor-indent-support.sig +++ b/ide/editor.indent.support/nbproject/org-netbeans-modules-editor-indent-support.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.67 +#Version 1.68 CLSS public java.lang.Object cons public init() diff --git a/ide/editor.indent/nbproject/org-netbeans-modules-editor-indent.sig b/ide/editor.indent/nbproject/org-netbeans-modules-editor-indent.sig index e3d7ecc94121..f8819a2a2cf9 100644 --- a/ide/editor.indent/nbproject/org-netbeans-modules-editor-indent.sig +++ b/ide/editor.indent/nbproject/org-netbeans-modules-editor-indent.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.68 +#Version 1.69 CLSS public java.lang.Object cons public init() diff --git a/ide/editor.lib/nbproject/org-netbeans-modules-editor-lib.sig b/ide/editor.lib/nbproject/org-netbeans-modules-editor-lib.sig index 7f6823cfb61c..70129b865a51 100644 --- a/ide/editor.lib/nbproject/org-netbeans-modules-editor-lib.sig +++ b/ide/editor.lib/nbproject/org-netbeans-modules-editor-lib.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 4.32.0 +#Version 4.33.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/editor.lib2/nbproject/org-netbeans-modules-editor-lib2.sig b/ide/editor.lib2/nbproject/org-netbeans-modules-editor-lib2.sig index 140d7cb7a302..8b7786480d55 100644 --- a/ide/editor.lib2/nbproject/org-netbeans-modules-editor-lib2.sig +++ b/ide/editor.lib2/nbproject/org-netbeans-modules-editor-lib2.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.45.0 +#Version 2.46.0 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/ide/editor.plain.lib/nbproject/org-netbeans-modules-editor-plain-lib.sig b/ide/editor.plain.lib/nbproject/org-netbeans-modules-editor-plain-lib.sig index bb534a662aab..1a0f4715f438 100644 --- a/ide/editor.plain.lib/nbproject/org-netbeans-modules-editor-plain-lib.sig +++ b/ide/editor.plain.lib/nbproject/org-netbeans-modules-editor-plain-lib.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58 +#Version 1.59 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/ide/editor.settings.lib/nbproject/org-netbeans-modules-editor-settings-lib.sig b/ide/editor.settings.lib/nbproject/org-netbeans-modules-editor-settings-lib.sig index b887a594b81b..c210b5e48de8 100644 --- a/ide/editor.settings.lib/nbproject/org-netbeans-modules-editor-settings-lib.sig +++ b/ide/editor.settings.lib/nbproject/org-netbeans-modules-editor-settings-lib.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.76.0 +#Version 1.77.0 CLSS public java.lang.Object cons public init() diff --git a/ide/editor.settings.storage/nbproject/org-netbeans-modules-editor-settings-storage.sig b/ide/editor.settings.storage/nbproject/org-netbeans-modules-editor-settings-storage.sig index 647135e5ad40..20ac7ebdb1f7 100644 --- a/ide/editor.settings.storage/nbproject/org-netbeans-modules-editor-settings-storage.sig +++ b/ide/editor.settings.storage/nbproject/org-netbeans-modules-editor-settings-storage.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.77.0 +#Version 1.78.0 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/ide/editor.settings/nbproject/org-netbeans-modules-editor-settings.sig b/ide/editor.settings/nbproject/org-netbeans-modules-editor-settings.sig index 03faa0a9a894..01e506d31ad9 100644 --- a/ide/editor.settings/nbproject/org-netbeans-modules-editor-settings.sig +++ b/ide/editor.settings/nbproject/org-netbeans-modules-editor-settings.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.82 +#Version 1.83 CLSS public java.lang.Object cons public init() diff --git a/ide/editor.structure/nbproject/org-netbeans-modules-editor-structure.sig b/ide/editor.structure/nbproject/org-netbeans-modules-editor-structure.sig index aee7b0f54382..68ac90e4bb0b 100644 --- a/ide/editor.structure/nbproject/org-netbeans-modules-editor-structure.sig +++ b/ide/editor.structure/nbproject/org-netbeans-modules-editor-structure.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.72.0 +#Version 1.73.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/editor.tools.storage/nbproject/org-netbeans-modules-editor-tools-storage.sig b/ide/editor.tools.storage/nbproject/org-netbeans-modules-editor-tools-storage.sig index aded10e2874a..c79d52cea915 100644 --- a/ide/editor.tools.storage/nbproject/org-netbeans-modules-editor-tools-storage.sig +++ b/ide/editor.tools.storage/nbproject/org-netbeans-modules-editor-tools-storage.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.33 +#Version 1.34 CLSS public java.lang.Object cons public init() diff --git a/ide/editor.util/nbproject/org-netbeans-modules-editor-util.sig b/ide/editor.util/nbproject/org-netbeans-modules-editor-util.sig index 7036219872ef..25eed2190d7f 100644 --- a/ide/editor.util/nbproject/org-netbeans-modules-editor-util.sig +++ b/ide/editor.util/nbproject/org-netbeans-modules-editor-util.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.90 +#Version 1.91 CLSS public abstract interface java.io.Serializable diff --git a/ide/editor/nbproject/org-netbeans-modules-editor.sig b/ide/editor/nbproject/org-netbeans-modules-editor.sig index 4fc994b3f010..78386e48872a 100644 --- a/ide/editor/nbproject/org-netbeans-modules-editor.sig +++ b/ide/editor/nbproject/org-netbeans-modules-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.112.0 +#Version 1.113.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/extbrowser/nbproject/org-netbeans-modules-extbrowser.sig b/ide/extbrowser/nbproject/org-netbeans-modules-extbrowser.sig index 2cccd383e798..bb0a5f6d90bc 100644 --- a/ide/extbrowser/nbproject/org-netbeans-modules-extbrowser.sig +++ b/ide/extbrowser/nbproject/org-netbeans-modules-extbrowser.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.78 +#Version 1.79 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/extexecution.base/nbproject/org-netbeans-modules-extexecution-base.sig b/ide/extexecution.base/nbproject/org-netbeans-modules-extexecution-base.sig index 460ff5c47c52..cd067e322a73 100644 --- a/ide/extexecution.base/nbproject/org-netbeans-modules-extexecution-base.sig +++ b/ide/extexecution.base/nbproject/org-netbeans-modules-extexecution-base.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.31 +#Version 1.32 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/ide/extexecution/nbproject/org-netbeans-modules-extexecution.sig b/ide/extexecution/nbproject/org-netbeans-modules-extexecution.sig index f12751d8b974..ba308baf7087 100644 --- a/ide/extexecution/nbproject/org-netbeans-modules-extexecution.sig +++ b/ide/extexecution/nbproject/org-netbeans-modules-extexecution.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.74 +#Version 1.75 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/ide/git/nbproject/org-netbeans-modules-git.sig b/ide/git/nbproject/org-netbeans-modules-git.sig index 7d9ad1d3b57a..ed396e7723b6 100644 --- a/ide/git/nbproject/org-netbeans-modules-git.sig +++ b/ide/git/nbproject/org-netbeans-modules-git.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.48.0 +#Version 1.49.0 CLSS public java.lang.Object cons public init() diff --git a/ide/go.lang/nbproject/org-netbeans-modules-go-lang.sig b/ide/go.lang/nbproject/org-netbeans-modules-go-lang.sig index 8ff94a26e6c4..eabe800dd43d 100644 --- a/ide/go.lang/nbproject/org-netbeans-modules-go-lang.sig +++ b/ide/go.lang/nbproject/org-netbeans-modules-go-lang.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.6 +#Version 1.7 CLSS public java.lang.Object cons public init() diff --git a/ide/gototest/nbproject/org-netbeans-modules-gototest.sig b/ide/gototest/nbproject/org-netbeans-modules-gototest.sig index 653d47d1800c..b22b72043edf 100644 --- a/ide/gototest/nbproject/org-netbeans-modules-gototest.sig +++ b/ide/gototest/nbproject/org-netbeans-modules-gototest.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58 +#Version 1.59 CLSS public abstract interface java.io.Serializable diff --git a/ide/gsf.codecoverage/nbproject/org-netbeans-modules-gsf-codecoverage.sig b/ide/gsf.codecoverage/nbproject/org-netbeans-modules-gsf-codecoverage.sig index c700a47103c3..3a9f6cebaa9a 100644 --- a/ide/gsf.codecoverage/nbproject/org-netbeans-modules-gsf-codecoverage.sig +++ b/ide/gsf.codecoverage/nbproject/org-netbeans-modules-gsf-codecoverage.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57 +#Version 1.58 CLSS public abstract interface java.io.Serializable diff --git a/ide/gsf.testrunner.ui/nbproject/org-netbeans-modules-gsf-testrunner-ui.sig b/ide/gsf.testrunner.ui/nbproject/org-netbeans-modules-gsf-testrunner-ui.sig index 893fcc1e0da9..e642f8d10063 100644 --- a/ide/gsf.testrunner.ui/nbproject/org-netbeans-modules-gsf-testrunner-ui.sig +++ b/ide/gsf.testrunner.ui/nbproject/org-netbeans-modules-gsf-testrunner-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.40.0 +#Version 1.41.0 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/ide/gsf.testrunner/nbproject/org-netbeans-modules-gsf-testrunner.sig b/ide/gsf.testrunner/nbproject/org-netbeans-modules-gsf-testrunner.sig index 041fd15f29f5..72604e915661 100644 --- a/ide/gsf.testrunner/nbproject/org-netbeans-modules-gsf-testrunner.sig +++ b/ide/gsf.testrunner/nbproject/org-netbeans-modules-gsf-testrunner.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.37 +#Version 2.38 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/html.editor.lib/nbproject/org-netbeans-modules-html-editor-lib.sig b/ide/html.editor.lib/nbproject/org-netbeans-modules-html-editor-lib.sig index 7c3d5b47c6df..13f7785b9504 100644 --- a/ide/html.editor.lib/nbproject/org-netbeans-modules-html-editor-lib.sig +++ b/ide/html.editor.lib/nbproject/org-netbeans-modules-html-editor-lib.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.57 +#Version 3.58 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/ide/html.editor/nbproject/org-netbeans-modules-html-editor.sig b/ide/html.editor/nbproject/org-netbeans-modules-html-editor.sig index 1174934df711..27d76bfd5fc8 100644 --- a/ide/html.editor/nbproject/org-netbeans-modules-html-editor.sig +++ b/ide/html.editor/nbproject/org-netbeans-modules-html-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.81 +#Version 2.82 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/ide/html.indexing/nbproject/org-netbeans-modules-html-indexing.sig b/ide/html.indexing/nbproject/org-netbeans-modules-html-indexing.sig index 1feb143f2412..9af88cf5f69d 100644 --- a/ide/html.indexing/nbproject/org-netbeans-modules-html-indexing.sig +++ b/ide/html.indexing/nbproject/org-netbeans-modules-html-indexing.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.17 +#Version 1.18 CLSS public java.lang.Object cons public init() diff --git a/ide/html.lexer/nbproject/org-netbeans-modules-html-lexer.sig b/ide/html.lexer/nbproject/org-netbeans-modules-html-lexer.sig index 0f5143a86d5b..127b4b9e9008 100644 --- a/ide/html.lexer/nbproject/org-netbeans-modules-html-lexer.sig +++ b/ide/html.lexer/nbproject/org-netbeans-modules-html-lexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.63 +#Version 1.64 CLSS public abstract interface java.io.Serializable diff --git a/ide/html.parser/nbproject/org-netbeans-modules-html-parser.sig b/ide/html.parser/nbproject/org-netbeans-modules-html-parser.sig index 28ac2aa3a3bd..74995e318740 100644 --- a/ide/html.parser/nbproject/org-netbeans-modules-html-parser.sig +++ b/ide/html.parser/nbproject/org-netbeans-modules-html-parser.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.59.0 +#Version 1.60.0 CLSS public com.ibm.icu.impl.Assert cons public init() diff --git a/ide/html/nbproject/org-netbeans-modules-html.sig b/ide/html/nbproject/org-netbeans-modules-html.sig index 86f2cc6f6bae..5eb3af606de3 100644 --- a/ide/html/nbproject/org-netbeans-modules-html.sig +++ b/ide/html/nbproject/org-netbeans-modules-html.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.86 +#Version 1.87 CLSS public java.beans.FeatureDescriptor cons public init() diff --git a/ide/hudson.ui/nbproject/org-netbeans-modules-hudson-ui.sig b/ide/hudson.ui/nbproject/org-netbeans-modules-hudson-ui.sig index ea13dec702ba..baa242b9ca5d 100644 --- a/ide/hudson.ui/nbproject/org-netbeans-modules-hudson-ui.sig +++ b/ide/hudson.ui/nbproject/org-netbeans-modules-hudson-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.36 +#Version 1.37 CLSS public java.io.IOException cons public init() diff --git a/ide/hudson/nbproject/org-netbeans-modules-hudson.sig b/ide/hudson/nbproject/org-netbeans-modules-hudson.sig index 7583b4cba8bc..f626060112b0 100644 --- a/ide/hudson/nbproject/org-netbeans-modules-hudson.sig +++ b/ide/hudson/nbproject/org-netbeans-modules-hudson.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.38 +#Version 2.39 CLSS public abstract interface java.io.Serializable diff --git a/ide/javascript2.debug.ui/nbproject/org-netbeans-modules-javascript2-debug-ui.sig b/ide/javascript2.debug.ui/nbproject/org-netbeans-modules-javascript2-debug-ui.sig index b8d8817221ba..b7f5c8c96bf0 100644 --- a/ide/javascript2.debug.ui/nbproject/org-netbeans-modules-javascript2-debug-ui.sig +++ b/ide/javascript2.debug.ui/nbproject/org-netbeans-modules-javascript2-debug-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.28 +#Version 1.29 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/javascript2.debug/nbproject/org-netbeans-modules-javascript2-debug.sig b/ide/javascript2.debug/nbproject/org-netbeans-modules-javascript2-debug.sig index 9c29bdc0df28..a91ae5cdb7e5 100644 --- a/ide/javascript2.debug/nbproject/org-netbeans-modules-javascript2-debug.sig +++ b/ide/javascript2.debug/nbproject/org-netbeans-modules-javascript2-debug.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.43 +#Version 1.44 CLSS public abstract interface java.beans.BeanInfo fld public final static int ICON_COLOR_16x16 = 1 diff --git a/ide/jellytools.ide/nbproject/org-netbeans-modules-jellytools-ide.sig b/ide/jellytools.ide/nbproject/org-netbeans-modules-jellytools-ide.sig index 879bb21a3100..af01473850da 100644 --- a/ide/jellytools.ide/nbproject/org-netbeans-modules-jellytools-ide.sig +++ b/ide/jellytools.ide/nbproject/org-netbeans-modules-jellytools-ide.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.58.0 +#Version 3.59.0 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/ide/jumpto/nbproject/org-netbeans-modules-jumpto.sig b/ide/jumpto/nbproject/org-netbeans-modules-jumpto.sig index c9ce1a0cca45..fc30fc2cbb9e 100644 --- a/ide/jumpto/nbproject/org-netbeans-modules-jumpto.sig +++ b/ide/jumpto/nbproject/org-netbeans-modules-jumpto.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.80.0 +#Version 1.81.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/languages/nbproject/org-netbeans-modules-languages.sig b/ide/languages/nbproject/org-netbeans-modules-languages.sig index cbd7ec1c8413..0cca782b926d 100644 --- a/ide/languages/nbproject/org-netbeans-modules-languages.sig +++ b/ide/languages/nbproject/org-netbeans-modules-languages.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.146.0 +#Version 1.147.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/lexer.antlr4/nbproject/org-netbeans-modules-lexer-antlr4.sig b/ide/lexer.antlr4/nbproject/org-netbeans-modules-lexer-antlr4.sig index 9b19150e0322..938f6741d41e 100644 --- a/ide/lexer.antlr4/nbproject/org-netbeans-modules-lexer-antlr4.sig +++ b/ide/lexer.antlr4/nbproject/org-netbeans-modules-lexer-antlr4.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.7.0 +#Version 1.8.0 CLSS public abstract interface !annotation java.lang.FunctionalInterface anno 0 java.lang.annotation.Documented() diff --git a/ide/lexer/nbproject/org-netbeans-modules-lexer.sig b/ide/lexer/nbproject/org-netbeans-modules-lexer.sig index 7535a1e145fa..ae2104ae4d2a 100644 --- a/ide/lexer/nbproject/org-netbeans-modules-lexer.sig +++ b/ide/lexer/nbproject/org-netbeans-modules-lexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.88.0 +#Version 1.89.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/lib.terminalemulator/nbproject/org-netbeans-lib-terminalemulator.sig b/ide/lib.terminalemulator/nbproject/org-netbeans-lib-terminalemulator.sig index d4a0c01028d5..d49747507d1e 100644 --- a/ide/lib.terminalemulator/nbproject/org-netbeans-lib-terminalemulator.sig +++ b/ide/lib.terminalemulator/nbproject/org-netbeans-lib-terminalemulator.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.62 +#Version 1.63 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/libs.antlr3.runtime/nbproject/org-netbeans-libs-antlr3-runtime.sig b/ide/libs.antlr3.runtime/nbproject/org-netbeans-libs-antlr3-runtime.sig index 492f96aaff47..5c9c17207a78 100644 --- a/ide/libs.antlr3.runtime/nbproject/org-netbeans-libs-antlr3-runtime.sig +++ b/ide/libs.antlr3.runtime/nbproject/org-netbeans-libs-antlr3-runtime.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.46.0 +#Version 1.47.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/libs.antlr4.runtime/nbproject/org-netbeans-libs-antlr4-runtime.sig b/ide/libs.antlr4.runtime/nbproject/org-netbeans-libs-antlr4-runtime.sig index 91c3d3a07c8f..18ac7d57b179 100644 --- a/ide/libs.antlr4.runtime/nbproject/org-netbeans-libs-antlr4-runtime.sig +++ b/ide/libs.antlr4.runtime/nbproject/org-netbeans-libs-antlr4-runtime.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.26.0 +#Version 1.27.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/libs.c.kohlschutter.junixsocket/nbproject/libs-c-kohlschutter-junixsocket.sig b/ide/libs.c.kohlschutter.junixsocket/nbproject/libs-c-kohlschutter-junixsocket.sig index 85a2fe9b5914..51763a55612d 100644 --- a/ide/libs.c.kohlschutter.junixsocket/nbproject/libs-c-kohlschutter-junixsocket.sig +++ b/ide/libs.c.kohlschutter.junixsocket/nbproject/libs-c-kohlschutter-junixsocket.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.7 +#Version 3.8 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/ide/libs.commons_compress/nbproject/org-netbeans-libs-commons_compress.sig b/ide/libs.commons_compress/nbproject/org-netbeans-libs-commons_compress.sig index a32fd8f9a70d..b66dd3a9c462 100644 --- a/ide/libs.commons_compress/nbproject/org-netbeans-libs-commons_compress.sig +++ b/ide/libs.commons_compress/nbproject/org-netbeans-libs-commons_compress.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.31.0 +#Version 0.32.0 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/ide/libs.commons_net/nbproject/org-netbeans-libs-commons_net.sig b/ide/libs.commons_net/nbproject/org-netbeans-libs-commons_net.sig index 6ea2ac316bae..ef6cfa21839a 100644 --- a/ide/libs.commons_net/nbproject/org-netbeans-libs-commons_net.sig +++ b/ide/libs.commons_net/nbproject/org-netbeans-libs-commons_net.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.47.0 +#Version 2.48.0 CLSS public java.io.IOException cons public init() diff --git a/ide/libs.git/nbproject/org-netbeans-libs-git.sig b/ide/libs.git/nbproject/org-netbeans-libs-git.sig index 5910d8be2900..382e36312a64 100644 --- a/ide/libs.git/nbproject/org-netbeans-libs-git.sig +++ b/ide/libs.git/nbproject/org-netbeans-libs-git.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.60 +#Version 1.61 CLSS public abstract interface java.io.Serializable @@ -11,8 +11,10 @@ meth public abstract int compareTo({java.lang.Comparable%0}) CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>> cons protected init(java.lang.String,int) +innr public final static EnumDesc intf java.io.Serializable intf java.lang.Comparable<{java.lang.Enum%0}> +intf java.lang.constant.Constable meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected final void finalize() meth public final boolean equals(java.lang.Object) @@ -21,6 +23,7 @@ meth public final int hashCode() meth public final int ordinal() meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass() meth public final java.lang.String name() +meth public final java.util.Optional> describeConstable() meth public java.lang.String toString() meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String) supr java.lang.Object @@ -70,6 +73,9 @@ meth public void printStackTrace(java.io.PrintWriter) meth public void setStackTrace(java.lang.StackTraceElement[]) supr java.lang.Object +CLSS public abstract interface java.lang.constant.Constable +meth public abstract java.util.Optional describeConstable() + CLSS public abstract interface java.util.EventListener CLSS public final org.netbeans.libs.git.GitBlameResult diff --git a/ide/libs.graalsdk/nbproject/org-netbeans-libs-graalsdk.sig b/ide/libs.graalsdk/nbproject/org-netbeans-libs-graalsdk.sig index 6019f4087624..c17cb83ed361 100644 --- a/ide/libs.graalsdk/nbproject/org-netbeans-libs-graalsdk.sig +++ b/ide/libs.graalsdk/nbproject/org-netbeans-libs-graalsdk.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.26 +#Version 1.27 CLSS public abstract interface java.io.Serializable diff --git a/ide/libs.ini4j/nbproject/org-netbeans-libs-ini4j.sig b/ide/libs.ini4j/nbproject/org-netbeans-libs-ini4j.sig index f10e65b2de80..3d1b46e94a56 100644 --- a/ide/libs.ini4j/nbproject/org-netbeans-libs-ini4j.sig +++ b/ide/libs.ini4j/nbproject/org-netbeans-libs-ini4j.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.59 +#Version 1.60 CLSS public java.io.IOException cons public init() diff --git a/ide/libs.jaxb/nbproject/org-netbeans-libs-jaxb.sig b/ide/libs.jaxb/nbproject/org-netbeans-libs-jaxb.sig index e215aedad5bc..71a356f1628c 100644 --- a/ide/libs.jaxb/nbproject/org-netbeans-libs-jaxb.sig +++ b/ide/libs.jaxb/nbproject/org-netbeans-libs-jaxb.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56 +#Version 1.57 CLSS public final com.sun.codemodel.ClassType fld public final static com.sun.codemodel.ClassType ANNOTATION_TYPE_DECL diff --git a/ide/libs.jcodings/nbproject/org-netbeans-libs-jcodings.sig b/ide/libs.jcodings/nbproject/org-netbeans-libs-jcodings.sig index ec586c519319..6c89225f9e55 100644 --- a/ide/libs.jcodings/nbproject/org-netbeans-libs-jcodings.sig +++ b/ide/libs.jcodings/nbproject/org-netbeans-libs-jcodings.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.14 +#Version 0.15 CLSS public abstract interface java.io.Serializable diff --git a/ide/libs.jsch.agentproxy/nbproject/org-netbeans-libs-jsch-agentproxy.sig b/ide/libs.jsch.agentproxy/nbproject/org-netbeans-libs-jsch-agentproxy.sig index c462cb3445ce..dc29795049f8 100644 --- a/ide/libs.jsch.agentproxy/nbproject/org-netbeans-libs-jsch-agentproxy.sig +++ b/ide/libs.jsch.agentproxy/nbproject/org-netbeans-libs-jsch-agentproxy.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.9 +#Version 1.10 CLSS public abstract interface java.io.Serializable diff --git a/ide/libs.json_simple/nbproject/org-netbeans-libs-json_simple.sig b/ide/libs.json_simple/nbproject/org-netbeans-libs-json_simple.sig index 53d4aba58e4b..875b9023d75e 100644 --- a/ide/libs.json_simple/nbproject/org-netbeans-libs-json_simple.sig +++ b/ide/libs.json_simple/nbproject/org-netbeans-libs-json_simple.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.37 +#Version 0.38 CLSS public abstract interface java.io.Serializable diff --git a/ide/libs.snakeyaml_engine/nbproject/org-netbeans-libs-snakeyaml_engine.sig b/ide/libs.snakeyaml_engine/nbproject/org-netbeans-libs-snakeyaml_engine.sig index 7dbaf1749e96..f045c9219f6b 100644 --- a/ide/libs.snakeyaml_engine/nbproject/org-netbeans-libs-snakeyaml_engine.sig +++ b/ide/libs.snakeyaml_engine/nbproject/org-netbeans-libs-snakeyaml_engine.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.14 +#Version 2.15 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/ide/libs.svnClientAdapter/nbproject/org-netbeans-libs-svnClientAdapter.sig b/ide/libs.svnClientAdapter/nbproject/org-netbeans-libs-svnClientAdapter.sig index 5e9cf8813c27..a940b0dfc924 100644 --- a/ide/libs.svnClientAdapter/nbproject/org-netbeans-libs-svnClientAdapter.sig +++ b/ide/libs.svnClientAdapter/nbproject/org-netbeans-libs-svnClientAdapter.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.65 +#Version 1.66 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/ide/libs.tomlj/nbproject/org-netbeans-libs-tomlj.sig b/ide/libs.tomlj/nbproject/org-netbeans-libs-tomlj.sig index 5c8b2e433e53..8e3f48747580 100644 --- a/ide/libs.tomlj/nbproject/org-netbeans-libs-tomlj.sig +++ b/ide/libs.tomlj/nbproject/org-netbeans-libs-tomlj.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.7 +#Version 1.8 CLSS public abstract interface java.io.Serializable diff --git a/ide/libs.tomljava/nbproject/org-netbeans-libs-tomljava.sig b/ide/libs.tomljava/nbproject/org-netbeans-libs-tomljava.sig index 407e0ac6c203..f31abcce3c28 100644 --- a/ide/libs.tomljava/nbproject/org-netbeans-libs-tomljava.sig +++ b/ide/libs.tomljava/nbproject/org-netbeans-libs-tomljava.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.1 +#Version 1.2 CLSS public java.lang.Object cons public init() diff --git a/ide/libs.truffleapi/nbproject/org-netbeans-libs-truffleapi.sig b/ide/libs.truffleapi/nbproject/org-netbeans-libs-truffleapi.sig index 3c3bbc059a67..dc2e2ea197ab 100644 --- a/ide/libs.truffleapi/nbproject/org-netbeans-libs-truffleapi.sig +++ b/ide/libs.truffleapi/nbproject/org-netbeans-libs-truffleapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.26 +#Version 1.27 CLSS public final com.oracle.truffle.api.ArrayUtils meth public !varargs static int indexOf(byte[],int,int,byte[]) diff --git a/ide/lsp.client/nbproject/org-netbeans-modules-lsp-client.sig b/ide/lsp.client/nbproject/org-netbeans-modules-lsp-client.sig index c3edc7a327f1..ffaa79f6bb91 100644 --- a/ide/lsp.client/nbproject/org-netbeans-modules-lsp-client.sig +++ b/ide/lsp.client/nbproject/org-netbeans-modules-lsp-client.sig @@ -1,10 +1,11 @@ #Signature file v4.1 -#Version 1.26.0 +#Version 1.27.0 CLSS public java.lang.Object cons public init() meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected void finalize() throws java.lang.Throwable + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9") meth public boolean equals(java.lang.Object) meth public final java.lang.Class getClass() meth public final void notify() @@ -29,7 +30,7 @@ meth public static org.netbeans.modules.lsp.client.spi.LanguageServerProvider$La anno 2 org.netbeans.api.annotations.common.NonNull() anno 3 org.netbeans.api.annotations.common.NullAllowed() supr java.lang.Object -hfds bindings,in,out,process +hfds bindings,in,out,process,server CLSS public abstract interface org.netbeans.modules.lsp.client.spi.MultiMimeLanguageServerProvider intf org.netbeans.modules.lsp.client.spi.LanguageServerProvider diff --git a/ide/mercurial/nbproject/org-netbeans-modules-mercurial.sig b/ide/mercurial/nbproject/org-netbeans-modules-mercurial.sig index 04543ca5a267..6ec8d1ec61c2 100644 --- a/ide/mercurial/nbproject/org-netbeans-modules-mercurial.sig +++ b/ide/mercurial/nbproject/org-netbeans-modules-mercurial.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.1.0 +#Version 2.2.0 CLSS public java.lang.Object cons public init() diff --git a/ide/mylyn.util/nbproject/org-netbeans-modules-mylyn-util.sig b/ide/mylyn.util/nbproject/org-netbeans-modules-mylyn-util.sig index 978071482481..c414edb5b086 100644 --- a/ide/mylyn.util/nbproject/org-netbeans-modules-mylyn-util.sig +++ b/ide/mylyn.util/nbproject/org-netbeans-modules-mylyn-util.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.61 +#Version 1.62 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/nativeimage.api/nbproject/org-netbeans-modules-nativeimage-api.sig b/ide/nativeimage.api/nbproject/org-netbeans-modules-nativeimage-api.sig index b71890c5b766..6d16131bbcdc 100644 --- a/ide/nativeimage.api/nbproject/org-netbeans-modules-nativeimage-api.sig +++ b/ide/nativeimage.api/nbproject/org-netbeans-modules-nativeimage-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.17 +#Version 0.18 CLSS public abstract interface java.io.Serializable diff --git a/ide/o.apache.xml.resolver/nbproject/org-apache-xml-resolver.sig b/ide/o.apache.xml.resolver/nbproject/org-apache-xml-resolver.sig index 65ba886f1480..51df2eb346e8 100644 --- a/ide/o.apache.xml.resolver/nbproject/org-apache-xml-resolver.sig +++ b/ide/o.apache.xml.resolver/nbproject/org-apache-xml-resolver.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56.0 +#Version 1.57.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/o.openidex.util/nbproject/org-openidex-util.sig b/ide/o.openidex.util/nbproject/org-openidex-util.sig index e2a0cef15286..1abfaa72d2c3 100644 --- a/ide/o.openidex.util/nbproject/org-openidex-util.sig +++ b/ide/o.openidex.util/nbproject/org-openidex-util.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.72 +#Version 3.73 CLSS public abstract interface java.io.Serializable diff --git a/ide/options.editor/nbproject/org-netbeans-modules-options-editor.sig b/ide/options.editor/nbproject/org-netbeans-modules-options-editor.sig index 552ee7a57d15..a631fac4d27c 100644 --- a/ide/options.editor/nbproject/org-netbeans-modules-options-editor.sig +++ b/ide/options.editor/nbproject/org-netbeans-modules-options-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.85 +#Version 1.86 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/parsing.api/nbproject/org-netbeans-modules-parsing-api.sig b/ide/parsing.api/nbproject/org-netbeans-modules-parsing-api.sig index 5f64db81ae51..fbc1f32e194f 100644 --- a/ide/parsing.api/nbproject/org-netbeans-modules-parsing-api.sig +++ b/ide/parsing.api/nbproject/org-netbeans-modules-parsing-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.32.0 +#Version 9.33.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/parsing.indexing/nbproject/org-netbeans-modules-parsing-indexing.sig b/ide/parsing.indexing/nbproject/org-netbeans-modules-parsing-indexing.sig index d9231e85ae70..289a8052c51b 100644 --- a/ide/parsing.indexing/nbproject/org-netbeans-modules-parsing-indexing.sig +++ b/ide/parsing.indexing/nbproject/org-netbeans-modules-parsing-indexing.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.34.0 +#Version 9.36.0 CLSS public abstract interface java.io.Serializable @@ -163,6 +163,7 @@ innr public final static !enum ErrorKind meth public static <%0 extends java.lang.Object> void setErrors(java.net.URL,org.netbeans.modules.parsing.spi.indexing.Indexable,java.lang.Iterable,org.netbeans.modules.parsing.spi.indexing.ErrorsCache$Convertor<{%%0}>) meth public static boolean isInError(org.openide.filesystems.FileObject,boolean) meth public static java.util.Collection getAllFilesInError(java.net.URL) throws java.io.IOException +meth public static java.util.Collection getAllFilesWithRecord(java.net.URL) throws java.io.IOException supr java.lang.Object CLSS public abstract interface static org.netbeans.modules.parsing.spi.indexing.ErrorsCache$Convertor<%0 extends java.lang.Object> diff --git a/ide/parsing.lucene/nbproject/org-netbeans-modules-parsing-lucene.sig b/ide/parsing.lucene/nbproject/org-netbeans-modules-parsing-lucene.sig index 61d19ce717df..e35270f9352d 100644 --- a/ide/parsing.lucene/nbproject/org-netbeans-modules-parsing-lucene.sig +++ b/ide/parsing.lucene/nbproject/org-netbeans-modules-parsing-lucene.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.61.0 +#Version 2.62.0 CLSS public java.io.IOException cons public init() diff --git a/ide/project.ant.compat8/nbproject/org-netbeans-modules-project-ant-compat8.sig b/ide/project.ant.compat8/nbproject/org-netbeans-modules-project-ant-compat8.sig index 8a67e7139f8a..89317c12ee60 100644 --- a/ide/project.ant.compat8/nbproject/org-netbeans-modules-project-ant-compat8.sig +++ b/ide/project.ant.compat8/nbproject/org-netbeans-modules-project-ant-compat8.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.92 +#Version 1.93 CLSS public abstract interface java.io.Serializable diff --git a/ide/project.ant.ui/nbproject/org-netbeans-modules-project-ant-ui.sig b/ide/project.ant.ui/nbproject/org-netbeans-modules-project-ant-ui.sig index 54608b3ddbd7..3f17e8adf98b 100644 --- a/ide/project.ant.ui/nbproject/org-netbeans-modules-project-ant-ui.sig +++ b/ide/project.ant.ui/nbproject/org-netbeans-modules-project-ant-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.90 +#Version 1.91 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/project.ant/nbproject/org-netbeans-modules-project-ant.sig b/ide/project.ant/nbproject/org-netbeans-modules-project-ant.sig index af5293ab3d22..16090d846763 100644 --- a/ide/project.ant/nbproject/org-netbeans-modules-project-ant.sig +++ b/ide/project.ant/nbproject/org-netbeans-modules-project-ant.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.92 +#Version 1.93 CLSS public abstract interface java.io.Serializable diff --git a/ide/project.indexingbridge/nbproject/org-netbeans-modules-project-indexingbridge.sig b/ide/project.indexingbridge/nbproject/org-netbeans-modules-project-indexingbridge.sig index 257608cdf45b..d47cf65ddba2 100644 --- a/ide/project.indexingbridge/nbproject/org-netbeans-modules-project-indexingbridge.sig +++ b/ide/project.indexingbridge/nbproject/org-netbeans-modules-project-indexingbridge.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.42 +#Version 1.43 CLSS public java.lang.Object cons public init() diff --git a/ide/project.libraries.ui/nbproject/org-netbeans-modules-project-libraries-ui.sig b/ide/project.libraries.ui/nbproject/org-netbeans-modules-project-libraries-ui.sig index ccc5f8478088..b2c3aecee992 100644 --- a/ide/project.libraries.ui/nbproject/org-netbeans-modules-project-libraries-ui.sig +++ b/ide/project.libraries.ui/nbproject/org-netbeans-modules-project-libraries-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.77 +#Version 1.78 CLSS public java.lang.Object cons public init() diff --git a/ide/project.libraries/nbproject/org-netbeans-modules-project-libraries.sig b/ide/project.libraries/nbproject/org-netbeans-modules-project-libraries.sig index 9d31376693b8..0bcf4ed38d02 100644 --- a/ide/project.libraries/nbproject/org-netbeans-modules-project-libraries.sig +++ b/ide/project.libraries/nbproject/org-netbeans-modules-project-libraries.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.78 +#Version 1.79 CLSS public abstract interface java.io.Serializable diff --git a/ide/project.spi.intern/nbproject/org-netbeans-modules-project-spi-intern.sig b/ide/project.spi.intern/nbproject/org-netbeans-modules-project-spi-intern.sig index 387e6a120a69..96bacece01e9 100644 --- a/ide/project.spi.intern/nbproject/org-netbeans-modules-project-spi-intern.sig +++ b/ide/project.spi.intern/nbproject/org-netbeans-modules-project-spi-intern.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.28 +#Version 1.29 CLSS public java.lang.Object cons public init() diff --git a/ide/projectapi/nbproject/org-netbeans-modules-projectapi.sig b/ide/projectapi/nbproject/org-netbeans-modules-projectapi.sig index 94d228452c83..805723c6369d 100644 --- a/ide/projectapi/nbproject/org-netbeans-modules-projectapi.sig +++ b/ide/projectapi/nbproject/org-netbeans-modules-projectapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.96 +#Version 1.97 CLSS public abstract interface !annotation java.lang.FunctionalInterface anno 0 java.lang.annotation.Documented() diff --git a/ide/projectui/nbproject/org-netbeans-modules-projectui.sig b/ide/projectui/nbproject/org-netbeans-modules-projectui.sig index c4aa86716ed9..b984eae4713c 100644 --- a/ide/projectui/nbproject/org-netbeans-modules-projectui.sig +++ b/ide/projectui/nbproject/org-netbeans-modules-projectui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.84.0 +#Version 1.85.0 CLSS public java.lang.Object cons public init() diff --git a/ide/projectuiapi.base/nbproject/org-netbeans-modules-projectuiapi-base.sig b/ide/projectuiapi.base/nbproject/org-netbeans-modules-projectuiapi-base.sig index 54e614a309ac..2a5bb0e2acb3 100644 --- a/ide/projectuiapi.base/nbproject/org-netbeans-modules-projectuiapi-base.sig +++ b/ide/projectuiapi.base/nbproject/org-netbeans-modules-projectuiapi-base.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.111.0 +#Version 1.112.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/projectuiapi/nbproject/org-netbeans-modules-projectuiapi.sig b/ide/projectuiapi/nbproject/org-netbeans-modules-projectuiapi.sig index 7f7b436cc884..2860f6f74e8e 100644 --- a/ide/projectuiapi/nbproject/org-netbeans-modules-projectuiapi.sig +++ b/ide/projectuiapi/nbproject/org-netbeans-modules-projectuiapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.114.0 +#Version 1.115.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/properties.syntax/nbproject/org-netbeans-modules-properties-syntax.sig b/ide/properties.syntax/nbproject/org-netbeans-modules-properties-syntax.sig index 155b911076a0..e11ec24e8fd9 100644 --- a/ide/properties.syntax/nbproject/org-netbeans-modules-properties-syntax.sig +++ b/ide/properties.syntax/nbproject/org-netbeans-modules-properties-syntax.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.75 +#Version 1.76 CLSS public abstract interface java.io.Externalizable intf java.io.Serializable diff --git a/ide/properties/nbproject/org-netbeans-modules-properties.sig b/ide/properties/nbproject/org-netbeans-modules-properties.sig index d61d01432a29..9690473c4c39 100644 --- a/ide/properties/nbproject/org-netbeans-modules-properties.sig +++ b/ide/properties/nbproject/org-netbeans-modules-properties.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.80 +#Version 1.81 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/refactoring.api/nbproject/org-netbeans-modules-refactoring-api.sig b/ide/refactoring.api/nbproject/org-netbeans-modules-refactoring-api.sig index db451a1b3442..f2025dce66a9 100644 --- a/ide/refactoring.api/nbproject/org-netbeans-modules-refactoring-api.sig +++ b/ide/refactoring.api/nbproject/org-netbeans-modules-refactoring-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.72.0 +#Version 1.73.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/schema2beans/nbproject/org-netbeans-modules-schema2beans.sig b/ide/schema2beans/nbproject/org-netbeans-modules-schema2beans.sig index 9aa4d61dc020..2bf21ac8d505 100644 --- a/ide/schema2beans/nbproject/org-netbeans-modules-schema2beans.sig +++ b/ide/schema2beans/nbproject/org-netbeans-modules-schema2beans.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.72 +#Version 1.73 CLSS public abstract interface java.beans.BeanInfo fld public final static int ICON_COLOR_16x16 = 1 diff --git a/ide/selenium2.server/nbproject/org-netbeans-modules-selenium2-server.sig b/ide/selenium2.server/nbproject/org-netbeans-modules-selenium2-server.sig index 3bc3ed05f369..166645f60777 100644 --- a/ide/selenium2.server/nbproject/org-netbeans-modules-selenium2-server.sig +++ b/ide/selenium2.server/nbproject/org-netbeans-modules-selenium2-server.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.28 +#Version 1.29 CLSS public java.lang.Object cons public init() diff --git a/ide/selenium2/nbproject/org-netbeans-modules-selenium2.sig b/ide/selenium2/nbproject/org-netbeans-modules-selenium2.sig index fb05e5163cf4..61e412125960 100644 --- a/ide/selenium2/nbproject/org-netbeans-modules-selenium2.sig +++ b/ide/selenium2/nbproject/org-netbeans-modules-selenium2.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.30 +#Version 1.31 CLSS public java.lang.Object cons public init() diff --git a/ide/server/nbproject/org-netbeans-modules-server.sig b/ide/server/nbproject/org-netbeans-modules-server.sig index e29ac2ebdab0..837dfd4dea2c 100644 --- a/ide/server/nbproject/org-netbeans-modules-server.sig +++ b/ide/server/nbproject/org-netbeans-modules-server.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58 +#Version 1.59 CLSS public java.lang.Object cons public init() diff --git a/ide/servletapi/nbproject/org-netbeans-modules-servletapi.sig b/ide/servletapi/nbproject/org-netbeans-modules-servletapi.sig index ed62999f5f1b..ad33f954ef12 100644 --- a/ide/servletapi/nbproject/org-netbeans-modules-servletapi.sig +++ b/ide/servletapi/nbproject/org-netbeans-modules-servletapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.64 +#Version 1.65 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/ide/spellchecker.apimodule/nbproject/org-netbeans-modules-spellchecker-apimodule.sig b/ide/spellchecker.apimodule/nbproject/org-netbeans-modules-spellchecker-apimodule.sig index 1ec74b13e53a..f491b9a3c9f0 100644 --- a/ide/spellchecker.apimodule/nbproject/org-netbeans-modules-spellchecker-apimodule.sig +++ b/ide/spellchecker.apimodule/nbproject/org-netbeans-modules-spellchecker-apimodule.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.50 +#Version 1.51 CLSS public abstract interface java.io.Serializable diff --git a/ide/spi.debugger.ui/nbproject/org-netbeans-spi-debugger-ui.sig b/ide/spi.debugger.ui/nbproject/org-netbeans-spi-debugger-ui.sig index aacb4fd2730d..7852cf3db35c 100644 --- a/ide/spi.debugger.ui/nbproject/org-netbeans-spi-debugger-ui.sig +++ b/ide/spi.debugger.ui/nbproject/org-netbeans-spi-debugger-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.83 +#Version 2.84 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/ide/spi.editor.hints.projects/nbproject/org-netbeans-spi-editor-hints-projects.sig b/ide/spi.editor.hints.projects/nbproject/org-netbeans-spi-editor-hints-projects.sig index ca471cf87b54..ed0a3a52466f 100644 --- a/ide/spi.editor.hints.projects/nbproject/org-netbeans-spi-editor-hints-projects.sig +++ b/ide/spi.editor.hints.projects/nbproject/org-netbeans-spi-editor-hints-projects.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.36.0 +#Version 1.37.0 CLSS public java.lang.Object cons public init() diff --git a/ide/spi.editor.hints/nbproject/org-netbeans-spi-editor-hints.sig b/ide/spi.editor.hints/nbproject/org-netbeans-spi-editor-hints.sig index 47f4cfee441c..adeb2c2035ca 100644 --- a/ide/spi.editor.hints/nbproject/org-netbeans-spi-editor-hints.sig +++ b/ide/spi.editor.hints/nbproject/org-netbeans-spi-editor-hints.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.67.0 +#Version 1.68.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/spi.navigator/nbproject/org-netbeans-spi-navigator.sig b/ide/spi.navigator/nbproject/org-netbeans-spi-navigator.sig index 83790b5c59d5..780df751a1d5 100644 --- a/ide/spi.navigator/nbproject/org-netbeans-spi-navigator.sig +++ b/ide/spi.navigator/nbproject/org-netbeans-spi-navigator.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.63 +#Version 1.64 CLSS public java.lang.Object cons public init() diff --git a/ide/spi.palette/nbproject/org-netbeans-spi-palette.sig b/ide/spi.palette/nbproject/org-netbeans-spi-palette.sig index a7e4c4b1fc37..38a890d9dec8 100644 --- a/ide/spi.palette/nbproject/org-netbeans-spi-palette.sig +++ b/ide/spi.palette/nbproject/org-netbeans-spi-palette.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.71 +#Version 1.72 CLSS public abstract interface java.io.Externalizable intf java.io.Serializable diff --git a/ide/spi.tasklist/nbproject/org-netbeans-spi-tasklist.sig b/ide/spi.tasklist/nbproject/org-netbeans-spi-tasklist.sig index 35a2159a5f87..8449f2e492fe 100644 --- a/ide/spi.tasklist/nbproject/org-netbeans-spi-tasklist.sig +++ b/ide/spi.tasklist/nbproject/org-netbeans-spi-tasklist.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.60.0 +#Version 1.61.0 CLSS public abstract interface java.lang.Iterable<%0 extends java.lang.Object> meth public abstract java.util.Iterator<{java.lang.Iterable%0}> iterator() diff --git a/ide/spi.viewmodel/nbproject/org-netbeans-spi-viewmodel.sig b/ide/spi.viewmodel/nbproject/org-netbeans-spi-viewmodel.sig index 250f0c600343..d84bb455a939 100644 --- a/ide/spi.viewmodel/nbproject/org-netbeans-spi-viewmodel.sig +++ b/ide/spi.viewmodel/nbproject/org-netbeans-spi-viewmodel.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.76 +#Version 1.77 CLSS public abstract interface java.io.Serializable diff --git a/ide/subversion/nbproject/org-netbeans-modules-subversion.sig b/ide/subversion/nbproject/org-netbeans-modules-subversion.sig index 9c490eab5506..bb486f6ffbf9 100644 --- a/ide/subversion/nbproject/org-netbeans-modules-subversion.sig +++ b/ide/subversion/nbproject/org-netbeans-modules-subversion.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.67.0 +#Version 1.68.0 CLSS public java.lang.Object cons public init() diff --git a/ide/swing.validation/nbproject/org-netbeans-modules-swing-validation.sig b/ide/swing.validation/nbproject/org-netbeans-modules-swing-validation.sig index 885622043446..46eee46e6de9 100644 --- a/ide/swing.validation/nbproject/org-netbeans-modules-swing-validation.sig +++ b/ide/swing.validation/nbproject/org-netbeans-modules-swing-validation.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57 +#Version 1.58 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/target.iterator/nbproject/org-netbeans-modules-target-iterator.sig b/ide/target.iterator/nbproject/org-netbeans-modules-target-iterator.sig index cb4c0b1b6a62..ab837ad97f8c 100644 --- a/ide/target.iterator/nbproject/org-netbeans-modules-target-iterator.sig +++ b/ide/target.iterator/nbproject/org-netbeans-modules-target-iterator.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.49 +#Version 1.50 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/team.commons/nbproject/org-netbeans-modules-team-commons.sig b/ide/team.commons/nbproject/org-netbeans-modules-team-commons.sig index 6d1dc371d069..72ec3f6f0fb0 100644 --- a/ide/team.commons/nbproject/org-netbeans-modules-team-commons.sig +++ b/ide/team.commons/nbproject/org-netbeans-modules-team-commons.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.75 +#Version 1.76 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/terminal.nb/nbproject/org-netbeans-modules-terminal-nb.sig b/ide/terminal.nb/nbproject/org-netbeans-modules-terminal-nb.sig index 0d87fbbdf8ef..3ba636456435 100644 --- a/ide/terminal.nb/nbproject/org-netbeans-modules-terminal-nb.sig +++ b/ide/terminal.nb/nbproject/org-netbeans-modules-terminal-nb.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.25 +#Version 1.26 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/terminal/nbproject/org-netbeans-modules-terminal.sig b/ide/terminal/nbproject/org-netbeans-modules-terminal.sig index b4f7c7dfb78f..35de40a37051 100644 --- a/ide/terminal/nbproject/org-netbeans-modules-terminal.sig +++ b/ide/terminal/nbproject/org-netbeans-modules-terminal.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.52 +#Version 1.53 CLSS public java.lang.Object cons public init() diff --git a/ide/textmate.lexer/nbproject/org-netbeans-modules-textmate-lexer.sig b/ide/textmate.lexer/nbproject/org-netbeans-modules-textmate-lexer.sig index 70ade5043127..476f9d8af0ce 100644 --- a/ide/textmate.lexer/nbproject/org-netbeans-modules-textmate-lexer.sig +++ b/ide/textmate.lexer/nbproject/org-netbeans-modules-textmate-lexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.25.0 +#Version 1.26.0 CLSS public abstract interface java.lang.annotation.Annotation meth public abstract boolean equals(java.lang.Object) diff --git a/ide/utilities.project/nbproject/org-netbeans-modules-utilities-project.sig b/ide/utilities.project/nbproject/org-netbeans-modules-utilities-project.sig index 14e2d7e96631..63caccd7fc67 100644 --- a/ide/utilities.project/nbproject/org-netbeans-modules-utilities-project.sig +++ b/ide/utilities.project/nbproject/org-netbeans-modules-utilities-project.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.63 +#Version 1.64 CLSS public abstract interface org.netbeans.modules.search.project.spi.CompatibilityUtils meth public abstract org.netbeans.api.search.provider.SearchInfo getSearchInfoForLookup(org.openide.util.Lookup) diff --git a/ide/utilities/nbproject/org-netbeans-modules-utilities.sig b/ide/utilities/nbproject/org-netbeans-modules-utilities.sig index 8120fb73d7de..3bea826526f6 100644 --- a/ide/utilities/nbproject/org-netbeans-modules-utilities.sig +++ b/ide/utilities/nbproject/org-netbeans-modules-utilities.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.86 +#Version 1.87 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/versioning.core/nbproject/org-netbeans-modules-versioning-core.sig b/ide/versioning.core/nbproject/org-netbeans-modules-versioning-core.sig index 38d4b04a89e2..feb33b5baff1 100644 --- a/ide/versioning.core/nbproject/org-netbeans-modules-versioning-core.sig +++ b/ide/versioning.core/nbproject/org-netbeans-modules-versioning-core.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56.0 +#Version 1.57.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/versioning.ui/nbproject/org-netbeans-modules-versioning-ui.sig b/ide/versioning.ui/nbproject/org-netbeans-modules-versioning-ui.sig index f070c7f88852..008be2c4314d 100644 --- a/ide/versioning.ui/nbproject/org-netbeans-modules-versioning-ui.sig +++ b/ide/versioning.ui/nbproject/org-netbeans-modules-versioning-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.48.0 +#Version 1.49.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/versioning.util/nbproject/org-netbeans-modules-versioning-util.sig b/ide/versioning.util/nbproject/org-netbeans-modules-versioning-util.sig index 2a46f674ad59..25e2476afb0d 100644 --- a/ide/versioning.util/nbproject/org-netbeans-modules-versioning-util.sig +++ b/ide/versioning.util/nbproject/org-netbeans-modules-versioning-util.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.1.0 +#Version 2.2.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/versioning/nbproject/org-netbeans-modules-versioning.sig b/ide/versioning/nbproject/org-netbeans-modules-versioning.sig index 6f22299a3001..dec607bd012a 100644 --- a/ide/versioning/nbproject/org-netbeans-modules-versioning.sig +++ b/ide/versioning/nbproject/org-netbeans-modules-versioning.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.72.0 +#Version 1.73.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/web.browser.api/nbproject/org-netbeans-modules-web-browser-api.sig b/ide/web.browser.api/nbproject/org-netbeans-modules-web-browser-api.sig index be5b254520a8..c0bf927a54e8 100644 --- a/ide/web.browser.api/nbproject/org-netbeans-modules-web-browser-api.sig +++ b/ide/web.browser.api/nbproject/org-netbeans-modules-web-browser-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.70 +#Version 1.71 CLSS public abstract interface java.io.Serializable diff --git a/ide/web.common.ui/nbproject/org-netbeans-modules-web-common-ui.sig b/ide/web.common.ui/nbproject/org-netbeans-modules-web-common-ui.sig index 2b050bb5b9b2..a52ff969fd64 100644 --- a/ide/web.common.ui/nbproject/org-netbeans-modules-web-common-ui.sig +++ b/ide/web.common.ui/nbproject/org-netbeans-modules-web-common-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.26 +#Version 1.27 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/web.common/nbproject/org-netbeans-modules-web-common.sig b/ide/web.common/nbproject/org-netbeans-modules-web-common.sig index ae53b7e09f8c..9bbddf57c37c 100644 --- a/ide/web.common/nbproject/org-netbeans-modules-web-common.sig +++ b/ide/web.common/nbproject/org-netbeans-modules-web-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.124 +#Version 1.125 CLSS public abstract interface java.io.Serializable diff --git a/ide/web.indent/nbproject/org-netbeans-modules-web-indent.sig b/ide/web.indent/nbproject/org-netbeans-modules-web-indent.sig index 9ee8c72daa85..71892bb40a08 100644 --- a/ide/web.indent/nbproject/org-netbeans-modules-web-indent.sig +++ b/ide/web.indent/nbproject/org-netbeans-modules-web-indent.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.45 +#Version 1.46 CLSS public abstract interface java.io.Serializable diff --git a/ide/web.webkit.debugging/nbproject/org-netbeans-modules-web-webkit-debugging.sig b/ide/web.webkit.debugging/nbproject/org-netbeans-modules-web-webkit-debugging.sig index 41a5195c1be1..40c9d010e28e 100644 --- a/ide/web.webkit.debugging/nbproject/org-netbeans-modules-web-webkit-debugging.sig +++ b/ide/web.webkit.debugging/nbproject/org-netbeans-modules-web-webkit-debugging.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.78 +#Version 1.79 CLSS public abstract interface java.io.Serializable diff --git a/ide/xml.axi/nbproject/org-netbeans-modules-xml-axi.sig b/ide/xml.axi/nbproject/org-netbeans-modules-xml-axi.sig index 8b783c1fe086..ffaf7c6edf68 100644 --- a/ide/xml.axi/nbproject/org-netbeans-modules-xml-axi.sig +++ b/ide/xml.axi/nbproject/org-netbeans-modules-xml-axi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58 +#Version 1.59 CLSS public abstract interface java.beans.PropertyChangeListener intf java.util.EventListener diff --git a/ide/xml.catalog.ui/nbproject/org-netbeans-modules-xml-catalog-ui.sig b/ide/xml.catalog.ui/nbproject/org-netbeans-modules-xml-catalog-ui.sig index f6fee3698d3c..0af0032c3b36 100644 --- a/ide/xml.catalog.ui/nbproject/org-netbeans-modules-xml-catalog-ui.sig +++ b/ide/xml.catalog.ui/nbproject/org-netbeans-modules-xml-catalog-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.28.0 +#Version 2.29.0 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/ide/xml.catalog/nbproject/org-netbeans-modules-xml-catalog.sig b/ide/xml.catalog/nbproject/org-netbeans-modules-xml-catalog.sig index 612d229b573d..e600a9bf605f 100644 --- a/ide/xml.catalog/nbproject/org-netbeans-modules-xml-catalog.sig +++ b/ide/xml.catalog/nbproject/org-netbeans-modules-xml-catalog.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.29.0 +#Version 3.30.0 CLSS public java.lang.Object cons public init() diff --git a/ide/xml.core/nbproject/org-netbeans-modules-xml-core.sig b/ide/xml.core/nbproject/org-netbeans-modules-xml-core.sig index 0db755cb0831..bce62a1559f4 100644 --- a/ide/xml.core/nbproject/org-netbeans-modules-xml-core.sig +++ b/ide/xml.core/nbproject/org-netbeans-modules-xml-core.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.68.0 +#Version 1.69.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/xml.jaxb.api/nbproject/org-netbeans-modules-xml-jaxb-api.sig b/ide/xml.jaxb.api/nbproject/org-netbeans-modules-xml-jaxb-api.sig index 936f427690ed..a3f32d95fed7 100644 --- a/ide/xml.jaxb.api/nbproject/org-netbeans-modules-xml-jaxb-api.sig +++ b/ide/xml.jaxb.api/nbproject/org-netbeans-modules-xml-jaxb-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.51 +#Version 1.52 CLSS public java.awt.datatransfer.DataFlavor cons public init() diff --git a/ide/xml.lexer/nbproject/org-netbeans-modules-xml-lexer.sig b/ide/xml.lexer/nbproject/org-netbeans-modules-xml-lexer.sig index a73893d7c0f1..a92563d3116a 100644 --- a/ide/xml.lexer/nbproject/org-netbeans-modules-xml-lexer.sig +++ b/ide/xml.lexer/nbproject/org-netbeans-modules-xml-lexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55 +#Version 1.56 CLSS public abstract interface java.io.Serializable diff --git a/ide/xml.multiview/nbproject/org-netbeans-modules-xml-multiview.sig b/ide/xml.multiview/nbproject/org-netbeans-modules-xml-multiview.sig index 11a2e0faa0f4..e61aae40cfba 100644 --- a/ide/xml.multiview/nbproject/org-netbeans-modules-xml-multiview.sig +++ b/ide/xml.multiview/nbproject/org-netbeans-modules-xml-multiview.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.63.0 +#Version 1.64.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/xml.retriever/nbproject/org-netbeans-modules-xml-retriever.sig b/ide/xml.retriever/nbproject/org-netbeans-modules-xml-retriever.sig index f5e25205ace1..e220bb702b1f 100644 --- a/ide/xml.retriever/nbproject/org-netbeans-modules-xml-retriever.sig +++ b/ide/xml.retriever/nbproject/org-netbeans-modules-xml-retriever.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56 +#Version 1.57 CLSS public abstract interface java.io.Serializable diff --git a/ide/xml.schema.completion/nbproject/org-netbeans-modules-xml-schema-completion.sig b/ide/xml.schema.completion/nbproject/org-netbeans-modules-xml-schema-completion.sig index 801c8d32295e..e28713b3021c 100644 --- a/ide/xml.schema.completion/nbproject/org-netbeans-modules-xml-schema-completion.sig +++ b/ide/xml.schema.completion/nbproject/org-netbeans-modules-xml-schema-completion.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56 +#Version 1.57 CLSS public abstract interface java.io.Serializable diff --git a/ide/xml.schema.model/nbproject/org-netbeans-modules-xml-schema-model.sig b/ide/xml.schema.model/nbproject/org-netbeans-modules-xml-schema-model.sig index e2056d714af8..804e63fa0241 100644 --- a/ide/xml.schema.model/nbproject/org-netbeans-modules-xml-schema-model.sig +++ b/ide/xml.schema.model/nbproject/org-netbeans-modules-xml-schema-model.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57.0 +#Version 1.58.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/xml.tax/nbproject/org-netbeans-modules-xml-tax.sig b/ide/xml.tax/nbproject/org-netbeans-modules-xml-tax.sig index 092fad5e33db..3f57d03d2b1e 100644 --- a/ide/xml.tax/nbproject/org-netbeans-modules-xml-tax.sig +++ b/ide/xml.tax/nbproject/org-netbeans-modules-xml-tax.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.69.0 +#Version 1.70.0 CLSS public abstract interface java.beans.BeanInfo fld public final static int ICON_COLOR_16x16 = 1 diff --git a/ide/xml.text.obsolete90/nbproject/org-netbeans-modules-xml-text-obsolete90.sig b/ide/xml.text.obsolete90/nbproject/org-netbeans-modules-xml-text-obsolete90.sig index a481b1a86add..c37718212875 100644 --- a/ide/xml.text.obsolete90/nbproject/org-netbeans-modules-xml-text-obsolete90.sig +++ b/ide/xml.text.obsolete90/nbproject/org-netbeans-modules-xml-text-obsolete90.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.25.0 +#Version 1.26.0 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/ide/xml.text/nbproject/org-netbeans-modules-xml-text.sig b/ide/xml.text/nbproject/org-netbeans-modules-xml-text.sig index 3df12dd6e2ab..38d930ca2f14 100644 --- a/ide/xml.text/nbproject/org-netbeans-modules-xml-text.sig +++ b/ide/xml.text/nbproject/org-netbeans-modules-xml-text.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.84.0 +#Version 1.85.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/xml.tools/nbproject/org-netbeans-modules-xml-tools.sig b/ide/xml.tools/nbproject/org-netbeans-modules-xml-tools.sig index a81955fa6549..12417e8f5425 100644 --- a/ide/xml.tools/nbproject/org-netbeans-modules-xml-tools.sig +++ b/ide/xml.tools/nbproject/org-netbeans-modules-xml-tools.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.68 +#Version 1.69 CLSS public abstract java.awt.Component cons protected init() diff --git a/ide/xml.wsdl.model/nbproject/org-netbeans-modules-xml-wsdl-model.sig b/ide/xml.wsdl.model/nbproject/org-netbeans-modules-xml-wsdl-model.sig index 86692d42b5a1..96d1c9f82f88 100644 --- a/ide/xml.wsdl.model/nbproject/org-netbeans-modules-xml-wsdl-model.sig +++ b/ide/xml.wsdl.model/nbproject/org-netbeans-modules-xml-wsdl-model.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58.0 +#Version 1.59.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/xml.xam/nbproject/org-netbeans-modules-xml-xam.sig b/ide/xml.xam/nbproject/org-netbeans-modules-xml-xam.sig index 5526f085e27a..7606d1fd3abc 100644 --- a/ide/xml.xam/nbproject/org-netbeans-modules-xml-xam.sig +++ b/ide/xml.xam/nbproject/org-netbeans-modules-xml-xam.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57.0 +#Version 1.58.0 CLSS public abstract interface java.io.Serializable diff --git a/ide/xml.xdm/nbproject/org-netbeans-modules-xml-xdm.sig b/ide/xml.xdm/nbproject/org-netbeans-modules-xml-xdm.sig index 92afec3553c1..48228882d19a 100644 --- a/ide/xml.xdm/nbproject/org-netbeans-modules-xml-xdm.sig +++ b/ide/xml.xdm/nbproject/org-netbeans-modules-xml-xdm.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.59.0 +#Version 1.60.0 CLSS public abstract interface java.beans.PropertyChangeListener intf java.util.EventListener diff --git a/ide/xml/nbproject/org-netbeans-modules-xml.sig b/ide/xml/nbproject/org-netbeans-modules-xml.sig index d9b3a596b4ae..78d81983471b 100644 --- a/ide/xml/nbproject/org-netbeans-modules-xml.sig +++ b/ide/xml/nbproject/org-netbeans-modules-xml.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58 +#Version 1.59 CLSS public abstract java.awt.Component cons protected init() diff --git a/java/ant.freeform/nbproject/org-netbeans-modules-ant-freeform.sig b/java/ant.freeform/nbproject/org-netbeans-modules-ant-freeform.sig index 6dd89a8379cf..42cb1ba13163 100644 --- a/java/ant.freeform/nbproject/org-netbeans-modules-ant-freeform.sig +++ b/java/ant.freeform/nbproject/org-netbeans-modules-ant-freeform.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.71 +#Version 1.72 CLSS public java.lang.Object cons public init() diff --git a/java/api.debugger.jpda/nbproject/org-netbeans-api-debugger-jpda.sig b/java/api.debugger.jpda/nbproject/org-netbeans-api-debugger-jpda.sig index 841a064b8d65..75a35b73dcff 100644 --- a/java/api.debugger.jpda/nbproject/org-netbeans-api-debugger-jpda.sig +++ b/java/api.debugger.jpda/nbproject/org-netbeans-api-debugger-jpda.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.35 +#Version 3.36 CLSS public abstract interface java.io.Serializable diff --git a/java/api.java/nbproject/org-netbeans-api-java.sig b/java/api.java/nbproject/org-netbeans-api-java.sig index eabd5aff07bb..301eee651b07 100644 --- a/java/api.java/nbproject/org-netbeans-api-java.sig +++ b/java/api.java/nbproject/org-netbeans-api-java.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.92 +#Version 1.93 CLSS public abstract interface java.io.Serializable diff --git a/java/api.maven/nbproject/org-netbeans-api-maven.sig b/java/api.maven/nbproject/org-netbeans-api-maven.sig index eb4b0436558a..6a5c47171781 100644 --- a/java/api.maven/nbproject/org-netbeans-api-maven.sig +++ b/java/api.maven/nbproject/org-netbeans-api-maven.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.31 +#Version 1.32 CLSS public java.lang.Object cons public init() diff --git a/java/classfile/nbproject/org-netbeans-modules-classfile.sig b/java/classfile/nbproject/org-netbeans-modules-classfile.sig index a9a67f4468fb..79393fce82e6 100644 --- a/java/classfile/nbproject/org-netbeans-modules-classfile.sig +++ b/java/classfile/nbproject/org-netbeans-modules-classfile.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.77 +#Version 1.78 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/java/dbschema/nbproject/org-netbeans-modules-dbschema.sig b/java/dbschema/nbproject/org-netbeans-modules-dbschema.sig index f94eefad5e70..7b6c0322f9aa 100644 --- a/java/dbschema/nbproject/org-netbeans-modules-dbschema.sig +++ b/java/dbschema/nbproject/org-netbeans-modules-dbschema.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.66.0 +#Version 1.67.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/java/debugger.jpda.js/nbproject/org-netbeans-modules-debugger-jpda-js.sig b/java/debugger.jpda.js/nbproject/org-netbeans-modules-debugger-jpda-js.sig index ae382c73ef15..fc7721ae28bf 100644 --- a/java/debugger.jpda.js/nbproject/org-netbeans-modules-debugger-jpda-js.sig +++ b/java/debugger.jpda.js/nbproject/org-netbeans-modules-debugger-jpda-js.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.35 +#Version 1.36 CLSS public abstract interface java.beans.PropertyChangeListener intf java.util.EventListener diff --git a/java/debugger.jpda.projects/nbproject/org-netbeans-modules-debugger-jpda-projects.sig b/java/debugger.jpda.projects/nbproject/org-netbeans-modules-debugger-jpda-projects.sig index 55d7d40ea82d..4b78fc03c41f 100644 --- a/java/debugger.jpda.projects/nbproject/org-netbeans-modules-debugger-jpda-projects.sig +++ b/java/debugger.jpda.projects/nbproject/org-netbeans-modules-debugger-jpda-projects.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.65 +#Version 1.66 CLSS public abstract interface !annotation java.lang.FunctionalInterface anno 0 java.lang.annotation.Documented() diff --git a/java/debugger.jpda.truffle/nbproject/org-netbeans-modules-debugger-jpda-truffle.sig b/java/debugger.jpda.truffle/nbproject/org-netbeans-modules-debugger-jpda-truffle.sig index 5acc591f1cb6..d24e61131738 100644 --- a/java/debugger.jpda.truffle/nbproject/org-netbeans-modules-debugger-jpda-truffle.sig +++ b/java/debugger.jpda.truffle/nbproject/org-netbeans-modules-debugger-jpda-truffle.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.22 +#Version 1.23 CLSS public java.lang.Object cons public init() diff --git a/java/debugger.jpda.ui/nbproject/org-netbeans-modules-debugger-jpda-ui.sig b/java/debugger.jpda.ui/nbproject/org-netbeans-modules-debugger-jpda-ui.sig index 402229efc015..eb16fcc10a25 100644 --- a/java/debugger.jpda.ui/nbproject/org-netbeans-modules-debugger-jpda-ui.sig +++ b/java/debugger.jpda.ui/nbproject/org-netbeans-modules-debugger-jpda-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.79 +#Version 1.80 CLSS public abstract java.awt.Component cons protected init() diff --git a/java/debugger.jpda/nbproject/org-netbeans-modules-debugger-jpda.sig b/java/debugger.jpda/nbproject/org-netbeans-modules-debugger-jpda.sig index b9e4f7f67c2e..db2c31c51a61 100644 --- a/java/debugger.jpda/nbproject/org-netbeans-modules-debugger-jpda.sig +++ b/java/debugger.jpda/nbproject/org-netbeans-modules-debugger-jpda.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.134.0 +#Version 1.135.0 CLSS public abstract interface com.sun.source.tree.TreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object> meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.tree.TreeVisitor%1}) diff --git a/java/gradle.java/nbproject/org-netbeans-modules-gradle-java.sig b/java/gradle.java/nbproject/org-netbeans-modules-gradle-java.sig index 910cc57d30fd..8a845ac30ba1 100644 --- a/java/gradle.java/nbproject/org-netbeans-modules-gradle-java.sig +++ b/java/gradle.java/nbproject/org-netbeans-modules-gradle-java.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.27.0 +#Version 1.28.0 CLSS public abstract interface java.io.Serializable diff --git a/java/i18n/nbproject/org-netbeans-modules-i18n.sig b/java/i18n/nbproject/org-netbeans-modules-i18n.sig index ceb2263806e9..75254c36babc 100644 --- a/java/i18n/nbproject/org-netbeans-modules-i18n.sig +++ b/java/i18n/nbproject/org-netbeans-modules-i18n.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.78 +#Version 1.79 CLSS public abstract java.awt.Component cons protected init() diff --git a/java/j2ee.core.utilities/nbproject/org-netbeans-modules-j2ee-core-utilities.sig b/java/j2ee.core.utilities/nbproject/org-netbeans-modules-j2ee-core-utilities.sig index 8b8592e0bfb4..ab632f39c9d6 100644 --- a/java/j2ee.core.utilities/nbproject/org-netbeans-modules-j2ee-core-utilities.sig +++ b/java/j2ee.core.utilities/nbproject/org-netbeans-modules-j2ee-core-utilities.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.59 +#Version 1.60 CLSS public java.lang.Object cons public init() diff --git a/java/j2ee.eclipselink/nbproject/org-netbeans-modules-j2ee-eclipselink.sig b/java/j2ee.eclipselink/nbproject/org-netbeans-modules-j2ee-eclipselink.sig index b7e534db4673..a15c1774c7f2 100644 --- a/java/j2ee.eclipselink/nbproject/org-netbeans-modules-j2ee-eclipselink.sig +++ b/java/j2ee.eclipselink/nbproject/org-netbeans-modules-j2ee-eclipselink.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57 +#Version 1.58 CLSS public java.beans.PropertyChangeEvent cons public init(java.lang.Object,java.lang.String,java.lang.Object,java.lang.Object) diff --git a/java/j2ee.jpa.verification/nbproject/org-netbeans-modules-j2ee-jpa-verification.sig b/java/j2ee.jpa.verification/nbproject/org-netbeans-modules-j2ee-jpa-verification.sig index 01e5c96eb3f3..16f74af9a7f6 100644 --- a/java/j2ee.jpa.verification/nbproject/org-netbeans-modules-j2ee-jpa-verification.sig +++ b/java/j2ee.jpa.verification/nbproject/org-netbeans-modules-j2ee-jpa-verification.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.60 +#Version 1.61 CLSS public java.lang.Object cons public init() diff --git a/java/j2ee.metadata.model.support/nbproject/org-netbeans-modules-j2ee-metadata-model-support.sig b/java/j2ee.metadata.model.support/nbproject/org-netbeans-modules-j2ee-metadata-model-support.sig index be4ab7979132..bba950e5b081 100644 --- a/java/j2ee.metadata.model.support/nbproject/org-netbeans-modules-j2ee-metadata-model-support.sig +++ b/java/j2ee.metadata.model.support/nbproject/org-netbeans-modules-j2ee-metadata-model-support.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56 +#Version 1.57 CLSS public java.lang.Object cons public init() diff --git a/java/j2ee.metadata/nbproject/org-netbeans-modules-j2ee-metadata.sig b/java/j2ee.metadata/nbproject/org-netbeans-modules-j2ee-metadata.sig index f3ba85a5c9fb..5b3953bd28dc 100644 --- a/java/j2ee.metadata/nbproject/org-netbeans-modules-j2ee-metadata.sig +++ b/java/j2ee.metadata/nbproject/org-netbeans-modules-j2ee-metadata.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57 +#Version 1.58 CLSS public java.io.IOException cons public init() diff --git a/java/j2ee.persistence/nbproject/org-netbeans-modules-j2ee-persistence.sig b/java/j2ee.persistence/nbproject/org-netbeans-modules-j2ee-persistence.sig index 83fbc8bc64e4..e9ec3104d972 100644 --- a/java/j2ee.persistence/nbproject/org-netbeans-modules-j2ee-persistence.sig +++ b/java/j2ee.persistence/nbproject/org-netbeans-modules-j2ee-persistence.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.80.0 +#Version 1.81.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/java/j2ee.persistenceapi/nbproject/org-netbeans-modules-j2ee-persistenceapi.sig b/java/j2ee.persistenceapi/nbproject/org-netbeans-modules-j2ee-persistenceapi.sig index 23c0141e76e8..d48e2ec4d6a7 100644 --- a/java/j2ee.persistenceapi/nbproject/org-netbeans-modules-j2ee-persistenceapi.sig +++ b/java/j2ee.persistenceapi/nbproject/org-netbeans-modules-j2ee-persistenceapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.61.0 +#Version 1.62.0 CLSS public java.lang.Object cons public init() diff --git a/java/java.api.common/nbproject/org-netbeans-modules-java-api-common.sig b/java/java.api.common/nbproject/org-netbeans-modules-java-api-common.sig index e2e4370f8d56..79d17b392b9a 100644 --- a/java/java.api.common/nbproject/org-netbeans-modules-java-api-common.sig +++ b/java/java.api.common/nbproject/org-netbeans-modules-java-api-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.148 +#Version 1.149 CLSS public abstract java.awt.Component cons protected init() diff --git a/java/java.editor.lib/nbproject/org-netbeans-modules-java-editor-lib.sig b/java/java.editor.lib/nbproject/org-netbeans-modules-java-editor-lib.sig index 8f5e7a9ea29b..cb36db687fae 100644 --- a/java/java.editor.lib/nbproject/org-netbeans-modules-java-editor-lib.sig +++ b/java/java.editor.lib/nbproject/org-netbeans-modules-java-editor-lib.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55.0 +#Version 1.56.0 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/java/java.file.launcher/nbproject/org-netbeans-modules-java-file-launcher.sig b/java/java.file.launcher/nbproject/org-netbeans-modules-java-file-launcher.sig index d817c8eb0def..8ef63aa04ce5 100644 --- a/java/java.file.launcher/nbproject/org-netbeans-modules-java-file-launcher.sig +++ b/java/java.file.launcher/nbproject/org-netbeans-modules-java-file-launcher.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.2 +#Version 1.3 CLSS public java.lang.Object cons public init() @@ -30,8 +30,10 @@ meth public abstract org.netbeans.modules.java.file.launcher.spi.SingleFileOptio CLSS public abstract interface static org.netbeans.modules.java.file.launcher.spi.SingleFileOptionsQueryImplementation$Result outer org.netbeans.modules.java.file.launcher.spi.SingleFileOptionsQueryImplementation meth public abstract java.lang.String getOptions() + anno 0 org.netbeans.api.annotations.common.NonNull() meth public abstract void addChangeListener(javax.swing.event.ChangeListener) meth public abstract void removeChangeListener(javax.swing.event.ChangeListener) +meth public boolean registerRoot() meth public java.net.URI getWorkDirectory() anno 0 org.netbeans.api.annotations.common.NonNull() diff --git a/java/java.freeform/nbproject/org-netbeans-modules-java-freeform.sig b/java/java.freeform/nbproject/org-netbeans-modules-java-freeform.sig index 75cb291a3a60..106990ec88fe 100644 --- a/java/java.freeform/nbproject/org-netbeans-modules-java-freeform.sig +++ b/java/java.freeform/nbproject/org-netbeans-modules-java-freeform.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.68 +#Version 1.69 CLSS public java.lang.Object cons public init() diff --git a/java/java.graph/nbproject/org-netbeans-modules-java-graph.sig b/java/java.graph/nbproject/org-netbeans-modules-java-graph.sig index 902d6a29684a..0b8914ac8de6 100644 --- a/java/java.graph/nbproject/org-netbeans-modules-java-graph.sig +++ b/java/java.graph/nbproject/org-netbeans-modules-java-graph.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.26 +#Version 1.27 CLSS public java.lang.Object cons public init() diff --git a/java/java.hints.declarative.test/nbproject/org-netbeans-modules-java-hints-declarative-test.sig b/java/java.hints.declarative.test/nbproject/org-netbeans-modules-java-hints-declarative-test.sig index fcc335951bd9..0767b80dbb6a 100644 --- a/java/java.hints.declarative.test/nbproject/org-netbeans-modules-java-hints-declarative-test.sig +++ b/java/java.hints.declarative.test/nbproject/org-netbeans-modules-java-hints-declarative-test.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.41.0 +#Version 1.42.0 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/java/java.hints.legacy.spi/nbproject/org-netbeans-modules-java-hints-legacy-spi.sig b/java/java.hints.legacy.spi/nbproject/org-netbeans-modules-java-hints-legacy-spi.sig index f7a503682dc8..74582c83139f 100644 --- a/java/java.hints.legacy.spi/nbproject/org-netbeans-modules-java-hints-legacy-spi.sig +++ b/java/java.hints.legacy.spi/nbproject/org-netbeans-modules-java-hints-legacy-spi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.42.0 +#Version 1.43.0 CLSS public abstract interface java.io.Serializable diff --git a/java/java.hints.test/nbproject/org-netbeans-modules-java-hints-test.sig b/java/java.hints.test/nbproject/org-netbeans-modules-java-hints-test.sig index e6620b74160b..b8a0b50151b1 100644 --- a/java/java.hints.test/nbproject/org-netbeans-modules-java-hints-test.sig +++ b/java/java.hints.test/nbproject/org-netbeans-modules-java-hints-test.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.44.0 +#Version 1.45.0 CLSS public java.lang.Object cons public init() diff --git a/java/java.hints/nbproject/org-netbeans-modules-java-hints.sig b/java/java.hints/nbproject/org-netbeans-modules-java-hints.sig index e82e016119b6..bcc24492c07c 100644 --- a/java/java.hints/nbproject/org-netbeans-modules-java-hints.sig +++ b/java/java.hints/nbproject/org-netbeans-modules-java-hints.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.108.0 +#Version 1.109.0 CLSS public java.lang.Object cons public init() diff --git a/java/java.j2sedeploy/nbproject/org-netbeans-modules-java-j2sedeploy.sig b/java/java.j2sedeploy/nbproject/org-netbeans-modules-java-j2sedeploy.sig index 5ad24100f9df..8434fbaf779e 100644 --- a/java/java.j2sedeploy/nbproject/org-netbeans-modules-java-j2sedeploy.sig +++ b/java/java.j2sedeploy/nbproject/org-netbeans-modules-java-j2sedeploy.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.37 +#Version 1.38 CLSS public java.lang.Object cons public init() diff --git a/java/java.j2seplatform/nbproject/org-netbeans-modules-java-j2seplatform.sig b/java/java.j2seplatform/nbproject/org-netbeans-modules-java-j2seplatform.sig index 6626c07e356f..a619dab0cbbb 100644 --- a/java/java.j2seplatform/nbproject/org-netbeans-modules-java-j2seplatform.sig +++ b/java/java.j2seplatform/nbproject/org-netbeans-modules-java-j2seplatform.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.68 +#Version 1.69 CLSS public java.lang.Object cons public init() diff --git a/java/java.j2seproject/nbproject/org-netbeans-modules-java-j2seproject.sig b/java/java.j2seproject/nbproject/org-netbeans-modules-java-j2seproject.sig index 2bf854dba4a3..b3391f7369d0 100644 --- a/java/java.j2seproject/nbproject/org-netbeans-modules-java-j2seproject.sig +++ b/java/java.j2seproject/nbproject/org-netbeans-modules-java-j2seproject.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.112.0 +#Version 1.113.0 CLSS public abstract interface java.io.Serializable diff --git a/java/java.lexer/nbproject/org-netbeans-modules-java-lexer.sig b/java/java.lexer/nbproject/org-netbeans-modules-java-lexer.sig index ffddc40cadd6..681ff67bce30 100644 --- a/java/java.lexer/nbproject/org-netbeans-modules-java-lexer.sig +++ b/java/java.lexer/nbproject/org-netbeans-modules-java-lexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.61 +#Version 1.62 CLSS public abstract interface java.io.Serializable @@ -8,8 +8,10 @@ meth public abstract int compareTo({java.lang.Comparable%0}) CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>> cons protected init(java.lang.String,int) +innr public final static EnumDesc intf java.io.Serializable intf java.lang.Comparable<{java.lang.Enum%0}> +intf java.lang.constant.Constable meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected final void finalize() meth public final boolean equals(java.lang.Object) @@ -18,6 +20,7 @@ meth public final int hashCode() meth public final int ordinal() meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass() meth public final java.lang.String name() +meth public final java.util.Optional> describeConstable() meth public java.lang.String toString() meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String) supr java.lang.Object @@ -26,6 +29,7 @@ CLSS public java.lang.Object cons public init() meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected void finalize() throws java.lang.Throwable + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9") meth public boolean equals(java.lang.Object) meth public final java.lang.Class getClass() meth public final void notify() @@ -36,6 +40,9 @@ meth public final void wait(long,int) throws java.lang.InterruptedException meth public int hashCode() meth public java.lang.String toString() +CLSS public abstract interface java.lang.constant.Constable +meth public abstract java.util.Optional describeConstable() + CLSS public final !enum org.netbeans.api.java.lexer.JavaStringTokenId fld public final static org.netbeans.api.java.lexer.JavaStringTokenId BACKSLASH fld public final static org.netbeans.api.java.lexer.JavaStringTokenId BACKSPACE @@ -126,6 +133,7 @@ fld public final static org.netbeans.api.java.lexer.JavaTokenId INTERFACE fld public final static org.netbeans.api.java.lexer.JavaTokenId INT_LITERAL fld public final static org.netbeans.api.java.lexer.JavaTokenId INVALID_COMMENT_END fld public final static org.netbeans.api.java.lexer.JavaTokenId JAVADOC_COMMENT +fld public final static org.netbeans.api.java.lexer.JavaTokenId JAVADOC_COMMENT_LINE_RUN fld public final static org.netbeans.api.java.lexer.JavaTokenId LBRACE fld public final static org.netbeans.api.java.lexer.JavaTokenId LBRACKET fld public final static org.netbeans.api.java.lexer.JavaTokenId LINE_COMMENT diff --git a/java/java.lsp.server/nbproject/org-netbeans-modules-java-lsp-server.sig b/java/java.lsp.server/nbproject/org-netbeans-modules-java-lsp-server.sig index 280f4e93188e..61764ece91ae 100644 --- a/java/java.lsp.server/nbproject/org-netbeans-modules-java-lsp-server.sig +++ b/java/java.lsp.server/nbproject/org-netbeans-modules-java-lsp-server.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.8.0 +#Version 2.9.0 CLSS public java.lang.Object cons public init() diff --git a/java/java.nativeimage.debugger/nbproject/org-netbeans-modules-java-nativeimage-debugger.sig b/java/java.nativeimage.debugger/nbproject/org-netbeans-modules-java-nativeimage-debugger.sig index d5549a383182..892bb919c92d 100644 --- a/java/java.nativeimage.debugger/nbproject/org-netbeans-modules-java-nativeimage-debugger.sig +++ b/java/java.nativeimage.debugger/nbproject/org-netbeans-modules-java-nativeimage-debugger.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.15 +#Version 0.16 CLSS public java.lang.Object cons public init() diff --git a/java/java.platform.ui/nbproject/org-netbeans-modules-java-platform-ui.sig b/java/java.platform.ui/nbproject/org-netbeans-modules-java-platform-ui.sig index f44688e670e1..f722c7fe23f7 100644 --- a/java/java.platform.ui/nbproject/org-netbeans-modules-java-platform-ui.sig +++ b/java/java.platform.ui/nbproject/org-netbeans-modules-java-platform-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.67 +#Version 1.68 CLSS public java.lang.Object cons public init() diff --git a/java/java.platform/nbproject/org-netbeans-modules-java-platform.sig b/java/java.platform/nbproject/org-netbeans-modules-java-platform.sig index 3c94509a871b..febc7ed8b68a 100644 --- a/java/java.platform/nbproject/org-netbeans-modules-java-platform.sig +++ b/java/java.platform/nbproject/org-netbeans-modules-java-platform.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.67 +#Version 1.68 CLSS public java.lang.Object cons public init() diff --git a/java/java.preprocessorbridge/nbproject/org-netbeans-modules-java-preprocessorbridge.sig b/java/java.preprocessorbridge/nbproject/org-netbeans-modules-java-preprocessorbridge.sig index 7cc155b34a53..771f4ef8fba8 100644 --- a/java/java.preprocessorbridge/nbproject/org-netbeans-modules-java-preprocessorbridge.sig +++ b/java/java.preprocessorbridge/nbproject/org-netbeans-modules-java-preprocessorbridge.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.74.0 +#Version 1.75.0 CLSS public abstract interface java.io.Serializable diff --git a/java/java.project.ui/nbproject/org-netbeans-modules-java-project-ui.sig b/java/java.project.ui/nbproject/org-netbeans-modules-java-project-ui.sig index e6479709f995..24bfd2c5d9ea 100644 --- a/java/java.project.ui/nbproject/org-netbeans-modules-java-project-ui.sig +++ b/java/java.project.ui/nbproject/org-netbeans-modules-java-project-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.100 +#Version 1.101 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/java/java.project/nbproject/org-netbeans-modules-java-project.sig b/java/java.project/nbproject/org-netbeans-modules-java-project.sig index 7a5c65ddb290..0724da5c32a3 100644 --- a/java/java.project/nbproject/org-netbeans-modules-java-project.sig +++ b/java/java.project/nbproject/org-netbeans-modules-java-project.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.97 +#Version 1.98 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/java/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig b/java/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig index 125e97a224a5..e741958a3ec8 100644 --- a/java/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig +++ b/java/java.source.base/nbproject/org-netbeans-modules-java-source-base.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.68.0 +#Version 2.71.0 CLSS public abstract interface com.sun.source.tree.TreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object> meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.tree.TreeVisitor%1}) @@ -170,13 +170,17 @@ meth public abstract int compareTo({java.lang.Comparable%0}) CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) - anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE]) + anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE]) intf java.lang.annotation.Annotation +meth public abstract !hasdefault boolean forRemoval() +meth public abstract !hasdefault java.lang.String since() CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>> cons protected init(java.lang.String,int) +innr public final static EnumDesc intf java.io.Serializable intf java.lang.Comparable<{java.lang.Enum%0}> +intf java.lang.constant.Constable meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected final void finalize() meth public final boolean equals(java.lang.Object) @@ -185,6 +189,7 @@ meth public final int hashCode() meth public final int ordinal() meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass() meth public final java.lang.String name() +meth public final java.util.Optional> describeConstable() meth public java.lang.String toString() meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String) supr java.lang.Object @@ -201,6 +206,7 @@ CLSS public java.lang.Object cons public init() meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected void finalize() throws java.lang.Throwable + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9") meth public boolean equals(java.lang.Object) meth public final java.lang.Class getClass() meth public final void notify() @@ -259,6 +265,9 @@ CLSS public abstract interface !annotation java.lang.annotation.Target intf java.lang.annotation.Annotation meth public abstract java.lang.annotation.ElementType[] value() +CLSS public abstract interface java.lang.constant.Constable +meth public abstract java.util.Optional describeConstable() + CLSS public abstract interface java.util.EventListener CLSS public java.util.EventObject @@ -706,7 +715,7 @@ meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapTryResources() meth public org.netbeans.api.java.source.CodeStyle$WrapStyle wrapWhileStatement() meth public static org.netbeans.api.java.source.CodeStyle getDefault(javax.swing.text.Document) meth public static org.netbeans.api.java.source.CodeStyle getDefault(org.netbeans.api.project.Project) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public static org.netbeans.api.java.source.CodeStyle getDefault(org.openide.filesystems.FileObject) supr java.lang.Object hfds preferences @@ -818,13 +827,13 @@ meth public static org.netbeans.api.java.source.Comment$Style[] values() supr java.lang.Enum CLSS public final org.netbeans.api.java.source.CommentCollector - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public static org.netbeans.api.java.source.CommentCollector getInstance() - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public void collect(org.netbeans.api.java.source.WorkingCopy) throws java.io.IOException - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public void collect(org.netbeans.api.lexer.TokenSequence,org.netbeans.api.java.source.CompilationInfo) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") supr java.lang.Object hfds instance @@ -872,12 +881,12 @@ meth public org.netbeans.api.java.source.ClasspathInfo getClasspathInfo() meth public org.netbeans.api.java.source.ElementUtilities getElementUtilities() anno 0 org.netbeans.api.annotations.common.NonNull() meth public org.netbeans.api.java.source.JavaSource getJavaSource() - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") anno 0 org.netbeans.api.annotations.common.NullUnknown() meth public org.netbeans.api.java.source.JavaSource$Phase getPhase() anno 0 org.netbeans.api.annotations.common.NonNull() meth public org.netbeans.api.java.source.PositionConverter getPositionConverter() - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public org.netbeans.api.java.source.TreeUtilities getTreeUtilities() anno 0 org.netbeans.api.annotations.common.NonNull() meth public org.netbeans.api.java.source.TypeUtilities getTypeUtilities() @@ -975,6 +984,7 @@ meth public java.lang.Iterable getLo meth public java.lang.Iterable getLocalVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor) meth public java.lang.Iterable getMembers(javax.lang.model.type.TypeMirror,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor) meth public java.lang.Iterable getGlobalTypes(org.netbeans.api.java.source.ElementUtilities$ElementAcceptor) +meth public java.util.Collection getLinkedRecordElements(javax.lang.model.element.Element) meth public java.util.List findOverridableMethods(javax.lang.model.element.TypeElement) meth public java.util.List findUnimplementedMethods(javax.lang.model.element.TypeElement) meth public java.util.List findUnimplementedMethods(javax.lang.model.element.TypeElement,boolean) @@ -1241,7 +1251,7 @@ meth public static java.lang.String[] getJVMSignature(org.netbeans.api.java.sour anno 0 org.netbeans.api.annotations.common.NonNull() anno 1 org.netbeans.api.annotations.common.NonNull() meth public static java.net.URL getJavadoc(javax.lang.model.element.Element,org.netbeans.api.java.source.ClasspathInfo) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public static java.net.URL getPreferredJavadoc(javax.lang.model.element.Element) anno 0 org.netbeans.api.annotations.common.CheckForNull() anno 1 org.netbeans.api.annotations.common.NonNull() @@ -1263,18 +1273,18 @@ meth public static java.util.Set getDependentRoots(java.net.URL,bo anno 0 org.netbeans.api.annotations.common.NonNull() anno 1 org.netbeans.api.annotations.common.NonNull() meth public static javax.lang.model.element.TypeElement getEnclosingTypeElement(javax.lang.model.element.Element) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public static javax.lang.model.element.TypeElement getOutermostEnclosingTypeElement(javax.lang.model.element.Element) meth public static javax.lang.model.type.TypeMirror getBound(javax.lang.model.type.WildcardType) meth public static javax.lang.model.type.TypeMirror resolveCapturedType(org.netbeans.api.java.source.CompilationInfo,javax.lang.model.type.TypeMirror) meth public static javax.lang.model.type.WildcardType resolveCapturedType(javax.lang.model.type.TypeMirror) meth public static org.netbeans.api.lexer.TokenSequence getJavaTokenSequence(org.netbeans.api.lexer.TokenHierarchy,int) meth public static org.openide.filesystems.FileObject getFile(javax.lang.model.element.Element,org.netbeans.api.java.source.ClasspathInfo) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public static org.openide.filesystems.FileObject getFile(org.netbeans.api.java.source.ElementHandle,org.netbeans.api.java.source.ClasspathInfo) meth public static void forceSource(org.netbeans.api.java.source.CompilationController,org.openide.filesystems.FileObject) meth public static void waitScanFinished() throws java.lang.InterruptedException - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") supr java.lang.Object hfds LOG hcls CaseInsensitiveMatch,CaseSensitiveMatch,Match @@ -1295,6 +1305,8 @@ meth public com.sun.source.doctree.CommentTree Comment(java.lang.String) meth public com.sun.source.doctree.DeprecatedTree Deprecated(java.util.List) meth public com.sun.source.doctree.DocCommentTree DocComment(java.util.List,java.util.List) meth public com.sun.source.doctree.DocCommentTree DocComment(java.util.List,java.util.List,java.util.List) +meth public com.sun.source.doctree.DocCommentTree MarkdownDocComment(java.util.List,java.util.List) +meth public com.sun.source.doctree.DocCommentTree MarkdownDocComment(java.util.List,java.util.List,java.util.List) meth public com.sun.source.doctree.DocRootTree DocRoot() meth public com.sun.source.doctree.EndElementTree EndElement(java.lang.CharSequence) meth public com.sun.source.doctree.EntityTree Entity(java.lang.CharSequence) @@ -1305,6 +1317,7 @@ meth public com.sun.source.doctree.LinkTree LinkPlain(com.sun.source.doctree.Ref meth public com.sun.source.doctree.LiteralTree Code(com.sun.source.doctree.TextTree) meth public com.sun.source.doctree.LiteralTree DocLiteral(com.sun.source.doctree.TextTree) meth public com.sun.source.doctree.ParamTree Param(boolean,com.sun.source.doctree.IdentifierTree,java.util.List) +meth public com.sun.source.doctree.RawTextTree RawText(java.lang.String) meth public com.sun.source.doctree.ReferenceTree Reference(com.sun.source.tree.ExpressionTree,java.lang.CharSequence,java.util.List) anno 1 org.netbeans.api.annotations.common.NullAllowed() anno 2 org.netbeans.api.annotations.common.NullAllowed() @@ -1445,7 +1458,7 @@ meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersT meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,java.util.List,java.util.List,java.util.List,com.sun.source.tree.BlockTree,com.sun.source.tree.ExpressionTree,boolean) meth public com.sun.source.tree.MethodTree Method(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,java.util.List,java.util.List,java.util.List,java.lang.String,com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.MethodTree Method(javax.lang.model.element.ExecutableElement,com.sun.source.tree.BlockTree) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public com.sun.source.tree.MethodTree addMethodParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.VariableTree) meth public com.sun.source.tree.MethodTree addMethodThrows(com.sun.source.tree.MethodTree,com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.MethodTree addMethodTypeParameter(com.sun.source.tree.MethodTree,com.sun.source.tree.TypeParameterTree) @@ -1513,7 +1526,7 @@ meth public com.sun.source.tree.SynchronizedTree Synchronized(com.sun.source.tre meth public com.sun.source.tree.ThrowTree Throw(com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.Tree BindingPattern(com.sun.source.tree.VariableTree) meth public com.sun.source.tree.Tree BindingPattern(java.lang.CharSequence,com.sun.source.tree.Tree) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public com.sun.source.tree.Tree SwitchExpression(com.sun.source.tree.ExpressionTree,java.util.List) meth public com.sun.source.tree.Tree Type(java.lang.String) anno 0 org.netbeans.api.annotations.common.NonNull() @@ -1536,6 +1549,7 @@ meth public com.sun.source.tree.TypeParameterTree removeTypeParameterBound(com.s meth public com.sun.source.tree.UnaryTree Unary(com.sun.source.tree.Tree$Kind,com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.UnionTypeTree UnionType(java.util.List) meth public com.sun.source.tree.UsesTree Uses(com.sun.source.tree.ExpressionTree) +meth public com.sun.source.tree.VariableTree RecordComponent(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree) meth public com.sun.source.tree.VariableTree Variable(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.VariableTree Variable(javax.lang.model.element.VariableElement,com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.WhileLoopTree WhileLoop(com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree) @@ -1573,20 +1587,20 @@ fld public final static java.util.Set CLASS_TREE_ meth public !varargs boolean hasError(com.sun.source.tree.Tree,java.lang.String[]) anno 1 org.netbeans.api.annotations.common.NonNull() meth public boolean isAccessible(com.sun.source.tree.Scope,javax.lang.model.element.Element,javax.lang.model.type.TypeMirror) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public boolean isAnnotation(com.sun.source.tree.ClassTree) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public boolean isClass(com.sun.source.tree.ClassTree) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public boolean isCompileTimeConstantExpression(com.sun.source.util.TreePath) meth public boolean isEndOfCompoundVariableDeclaration(com.sun.source.tree.Tree) anno 1 org.netbeans.api.annotations.common.NonNull() meth public boolean isEnum(com.sun.source.tree.ClassTree) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public boolean isEnumConstant(com.sun.source.tree.VariableTree) meth public boolean isExpressionStatement(com.sun.source.tree.ExpressionTree) meth public boolean isInterface(com.sun.source.tree.ClassTree) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public boolean isModuleInfo(com.sun.source.tree.CompilationUnitTree) meth public boolean isPackageInfo(com.sun.source.tree.CompilationUnitTree) meth public boolean isPartOfCompoundVariableDeclaration(com.sun.source.tree.Tree) diff --git a/java/java.source.compat8/nbproject/org-netbeans-modules-java-source-compat8.sig b/java/java.source.compat8/nbproject/org-netbeans-modules-java-source-compat8.sig index c4fa19a58938..9dca6e3b14ee 100644 --- a/java/java.source.compat8/nbproject/org-netbeans-modules-java-source-compat8.sig +++ b/java/java.source.compat8/nbproject/org-netbeans-modules-java-source-compat8.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.28 +#Version 9.29 CLSS public java.lang.Object cons public init() diff --git a/java/java.source.queries/nbproject/org-netbeans-modules-java-source-queries.sig b/java/java.source.queries/nbproject/org-netbeans-modules-java-source-queries.sig index c05d0131d14a..9944223f3a3f 100644 --- a/java/java.source.queries/nbproject/org-netbeans-modules-java-source-queries.sig +++ b/java/java.source.queries/nbproject/org-netbeans-modules-java-source-queries.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.43 +#Version 1.44 CLSS public abstract interface java.io.Serializable diff --git a/java/java.source/nbproject/org-netbeans-modules-java-source.sig b/java/java.source/nbproject/org-netbeans-modules-java-source.sig index bbe26a0f4afe..23c517d6c3bb 100644 --- a/java/java.source/nbproject/org-netbeans-modules-java-source.sig +++ b/java/java.source/nbproject/org-netbeans-modules-java-source.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.190.0 +#Version 0.191.0 CLSS public abstract interface com.sun.source.tree.TreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object> meth public abstract {com.sun.source.tree.TreeVisitor%0} visitAnnotatedType(com.sun.source.tree.AnnotatedTypeTree,{com.sun.source.tree.TreeVisitor%1}) @@ -989,6 +989,7 @@ meth public java.lang.Iterable getLo meth public java.lang.Iterable getLocalVars(com.sun.source.tree.Scope,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor) meth public java.lang.Iterable getMembers(javax.lang.model.type.TypeMirror,org.netbeans.api.java.source.ElementUtilities$ElementAcceptor) meth public java.lang.Iterable getGlobalTypes(org.netbeans.api.java.source.ElementUtilities$ElementAcceptor) +meth public java.util.Collection getLinkedRecordElements(javax.lang.model.element.Element) meth public java.util.List findOverridableMethods(javax.lang.model.element.TypeElement) meth public java.util.List findUnimplementedMethods(javax.lang.model.element.TypeElement) meth public java.util.List findUnimplementedMethods(javax.lang.model.element.TypeElement,boolean) @@ -1309,6 +1310,8 @@ meth public com.sun.source.doctree.CommentTree Comment(java.lang.String) meth public com.sun.source.doctree.DeprecatedTree Deprecated(java.util.List) meth public com.sun.source.doctree.DocCommentTree DocComment(java.util.List,java.util.List) meth public com.sun.source.doctree.DocCommentTree DocComment(java.util.List,java.util.List,java.util.List) +meth public com.sun.source.doctree.DocCommentTree MarkdownDocComment(java.util.List,java.util.List) +meth public com.sun.source.doctree.DocCommentTree MarkdownDocComment(java.util.List,java.util.List,java.util.List) meth public com.sun.source.doctree.DocRootTree DocRoot() meth public com.sun.source.doctree.EndElementTree EndElement(java.lang.CharSequence) meth public com.sun.source.doctree.EntityTree Entity(java.lang.CharSequence) @@ -1319,6 +1322,7 @@ meth public com.sun.source.doctree.LinkTree LinkPlain(com.sun.source.doctree.Ref meth public com.sun.source.doctree.LiteralTree Code(com.sun.source.doctree.TextTree) meth public com.sun.source.doctree.LiteralTree DocLiteral(com.sun.source.doctree.TextTree) meth public com.sun.source.doctree.ParamTree Param(boolean,com.sun.source.doctree.IdentifierTree,java.util.List) +meth public com.sun.source.doctree.RawTextTree RawText(java.lang.String) meth public com.sun.source.doctree.ReferenceTree Reference(com.sun.source.tree.ExpressionTree,java.lang.CharSequence,java.util.List) anno 1 org.netbeans.api.annotations.common.NullAllowed() anno 2 org.netbeans.api.annotations.common.NullAllowed() @@ -1550,6 +1554,7 @@ meth public com.sun.source.tree.TypeParameterTree removeTypeParameterBound(com.s meth public com.sun.source.tree.UnaryTree Unary(com.sun.source.tree.Tree$Kind,com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.UnionTypeTree UnionType(java.util.List) meth public com.sun.source.tree.UsesTree Uses(com.sun.source.tree.ExpressionTree) +meth public com.sun.source.tree.VariableTree RecordComponent(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree) meth public com.sun.source.tree.VariableTree Variable(com.sun.source.tree.ModifiersTree,java.lang.CharSequence,com.sun.source.tree.Tree,com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.VariableTree Variable(javax.lang.model.element.VariableElement,com.sun.source.tree.ExpressionTree) meth public com.sun.source.tree.WhileLoopTree WhileLoop(com.sun.source.tree.ExpressionTree,com.sun.source.tree.StatementTree) diff --git a/java/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig b/java/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig index f0e254d95d05..e00fc3223e90 100644 --- a/java/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig +++ b/java/java.sourceui/nbproject/org-netbeans-modules-java-sourceui.sig @@ -1,16 +1,19 @@ #Signature file v4.1 -#Version 1.73.0 +#Version 1.74.0 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) - anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE]) + anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE]) intf java.lang.annotation.Annotation +meth public abstract !hasdefault boolean forRemoval() +meth public abstract !hasdefault java.lang.String since() CLSS public java.lang.Object cons public init() meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected void finalize() throws java.lang.Throwable + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9") meth public boolean equals(java.lang.Object) meth public final java.lang.Class getClass() meth public final void notify() @@ -48,9 +51,9 @@ intf java.lang.annotation.Annotation meth public abstract java.lang.annotation.ElementType[] value() CLSS public final org.netbeans.api.java.source.ui.DialogBinding - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public static org.netbeans.api.java.source.JavaSource bindComponentToFile(org.openide.filesystems.FileObject,int,int,javax.swing.text.JTextComponent) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") supr java.lang.Object CLSS public final org.netbeans.api.java.source.ui.ElementHeaders @@ -90,7 +93,7 @@ meth public java.util.concurrent.Future getTextAsync() meth public javax.swing.Action getGotoSourceAction() meth public org.netbeans.api.java.source.ui.ElementJavadoc resolveLink(java.lang.String) supr java.lang.Object -hfds API,APINOTE_TAG,ASSOCIATE_JDOC,HTML_TAGS,IMPLNOTE_TAG,IMPLSPEC_TAG,LANGS,MARKUPTAG_MANDATORY_ATTRIBUTE,RP,cancel,className,content,cpInfo,docRoot,docURL,fileObject,goToSource,handle,imports,linkCounter,links,packageName +hfds API,APINOTE_TAG,ASSOCIATE_JDOC,HTML_TAGS,IMPLNOTE_TAG,IMPLSPEC_TAG,LANGS,MARKUPTAG_MANDATORY_ATTRIBUTE,REPLACEMENT,RP,cancel,className,content,cpInfo,docRoot,docURL,fileObject,goToSource,handle,imports,linkCounter,links,packageName hcls JavaDocSnippetLinkTagFileObject,SourceLineCharterMapperToHtmlTag CLSS public final org.netbeans.api.java.source.ui.ElementOpen diff --git a/java/java.testrunner.ant/nbproject/org-netbeans-modules-java-testrunner-ant.sig b/java/java.testrunner.ant/nbproject/org-netbeans-modules-java-testrunner-ant.sig index 3a6289375225..d1f0a825d1a0 100644 --- a/java/java.testrunner.ant/nbproject/org-netbeans-modules-java-testrunner-ant.sig +++ b/java/java.testrunner.ant/nbproject/org-netbeans-modules-java-testrunner-ant.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.27 +#Version 1.28 CLSS public java.lang.Object cons public init() diff --git a/java/java.testrunner.ui/nbproject/org-netbeans-modules-java-testrunner-ui.sig b/java/java.testrunner.ui/nbproject/org-netbeans-modules-java-testrunner-ui.sig index 219df7b8feb9..1f2e6af25c6d 100644 --- a/java/java.testrunner.ui/nbproject/org-netbeans-modules-java-testrunner-ui.sig +++ b/java/java.testrunner.ui/nbproject/org-netbeans-modules-java-testrunner-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.29 +#Version 1.30 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/java/java.testrunner/nbproject/org-netbeans-modules-java-testrunner.sig b/java/java.testrunner/nbproject/org-netbeans-modules-java-testrunner.sig index 1cca7f2b5d94..4070f45e670c 100644 --- a/java/java.testrunner/nbproject/org-netbeans-modules-java-testrunner.sig +++ b/java/java.testrunner/nbproject/org-netbeans-modules-java-testrunner.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.45 +#Version 1.46 CLSS public java.lang.Object cons public init() diff --git a/java/javaee.injection/nbproject/org-netbeans-modules-javaee-injection.sig b/java/javaee.injection/nbproject/org-netbeans-modules-javaee-injection.sig index 387a2577844b..933988871ce6 100644 --- a/java/javaee.injection/nbproject/org-netbeans-modules-javaee-injection.sig +++ b/java/javaee.injection/nbproject/org-netbeans-modules-javaee-injection.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.31 +#Version 1.32 CLSS public java.lang.Object cons public init() diff --git a/java/jellytools.java/nbproject/org-netbeans-modules-jellytools-java.sig b/java/jellytools.java/nbproject/org-netbeans-modules-jellytools-java.sig index b439a348f235..adf755bf099b 100644 --- a/java/jellytools.java/nbproject/org-netbeans-modules-jellytools-java.sig +++ b/java/jellytools.java/nbproject/org-netbeans-modules-jellytools-java.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.55 +#Version 3.56 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/java/junit.ui/nbproject/org-netbeans-modules-junit-ui.sig b/java/junit.ui/nbproject/org-netbeans-modules-junit-ui.sig index 57a13046f2e5..aa290ac829f9 100644 --- a/java/junit.ui/nbproject/org-netbeans-modules-junit-ui.sig +++ b/java/junit.ui/nbproject/org-netbeans-modules-junit-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.32 +#Version 1.33 CLSS public java.beans.FeatureDescriptor cons public init() diff --git a/java/junit/nbproject/org-netbeans-modules-junit.sig b/java/junit/nbproject/org-netbeans-modules-junit.sig index adf434ca979e..2b9b56ed2213 100644 --- a/java/junit/nbproject/org-netbeans-modules-junit.sig +++ b/java/junit/nbproject/org-netbeans-modules-junit.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.99 +#Version 2.100 CLSS public abstract interface java.io.Serializable diff --git a/java/lib.nbjshell/nbproject/org-netbeans-lib-nbjshell.sig b/java/lib.nbjshell/nbproject/org-netbeans-lib-nbjshell.sig index 0e685aaf586c..6dab402c2248 100644 --- a/java/lib.nbjshell/nbproject/org-netbeans-lib-nbjshell.sig +++ b/java/lib.nbjshell/nbproject/org-netbeans-lib-nbjshell.sig @@ -1,3 +1,3 @@ #Signature file v4.1 -#Version 1.27 +#Version 1.28 diff --git a/java/libs.cglib/nbproject/org-netbeans-libs-cglib.sig b/java/libs.cglib/nbproject/org-netbeans-libs-cglib.sig index 5bc4388b3a9f..0efa090feab5 100644 --- a/java/libs.cglib/nbproject/org-netbeans-libs-cglib.sig +++ b/java/libs.cglib/nbproject/org-netbeans-libs-cglib.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.51 +#Version 1.52 CLSS public abstract interface java.io.Serializable diff --git a/java/libs.corba.omgapi/nbproject/org-netbeans-modules-libs-corba-omgapi.sig b/java/libs.corba.omgapi/nbproject/org-netbeans-modules-libs-corba-omgapi.sig index c984eb5604f8..e8550c874659 100644 --- a/java/libs.corba.omgapi/nbproject/org-netbeans-modules-libs-corba-omgapi.sig +++ b/java/libs.corba.omgapi/nbproject/org-netbeans-modules-libs-corba-omgapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.20 +#Version 1.21 CLSS public com.sun.corba.ee.org.omg.CORBA.GetPropertyAction cons public init(java.lang.String) diff --git a/java/libs.javacapi/nbproject/org-netbeans-libs-javacapi.sig b/java/libs.javacapi/nbproject/org-netbeans-libs-javacapi.sig index f3dda70e51fd..4601208bd9ee 100644 --- a/java/libs.javacapi/nbproject/org-netbeans-libs-javacapi.sig +++ b/java/libs.javacapi/nbproject/org-netbeans-libs-javacapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 8.49.0 +#Version 8.50.0 CLSS public abstract interface com.sun.source.doctree.AttributeTree innr public final static !enum ValueKind diff --git a/java/maven.embedder/nbproject/org-netbeans-modules-maven-embedder.sig b/java/maven.embedder/nbproject/org-netbeans-modules-maven-embedder.sig index baaffa58fc1a..f097527d5490 100644 --- a/java/maven.embedder/nbproject/org-netbeans-modules-maven-embedder.sig +++ b/java/maven.embedder/nbproject/org-netbeans-modules-maven-embedder.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.80 +#Version 2.81 CLSS public abstract interface !annotation com.google.common.annotations.GwtCompatible anno 0 com.google.common.annotations.GwtCompatible(boolean emulated=false, boolean serializable=false) @@ -1408,12 +1408,6 @@ CLSS public abstract interface !annotation javax.annotation.Nonnull intf java.lang.annotation.Annotation meth public abstract !hasdefault javax.annotation.meta.When when() -CLSS public abstract interface !annotation javax.inject.Inject - anno 0 java.lang.annotation.Documented() - anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) - anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[METHOD, CONSTRUCTOR, FIELD]) -intf java.lang.annotation.Annotation - CLSS public abstract interface !annotation javax.inject.Named anno 0 java.lang.annotation.Documented() anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) @@ -13416,293 +13410,6 @@ meth public void transferSucceeded(org.eclipse.aether.transfer.TransferEvent) supr java.lang.Object hfds POM_MAX,activeListener,contrib,contribStack,handle,length,pomCount,pomcontrib -CLSS public abstract interface org.slf4j.ILoggerFactory -meth public abstract org.slf4j.Logger getLogger(java.lang.String) - -CLSS public abstract interface org.slf4j.IMarkerFactory -meth public abstract boolean detachMarker(java.lang.String) -meth public abstract boolean exists(java.lang.String) -meth public abstract org.slf4j.Marker getDetachedMarker(java.lang.String) -meth public abstract org.slf4j.Marker getMarker(java.lang.String) - -CLSS public abstract interface org.slf4j.Logger -fld public final static java.lang.String ROOT_LOGGER_NAME = "ROOT" -meth public abstract !varargs void debug(java.lang.String,java.lang.Object[]) -meth public abstract !varargs void debug(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public abstract !varargs void error(java.lang.String,java.lang.Object[]) -meth public abstract !varargs void error(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public abstract !varargs void info(java.lang.String,java.lang.Object[]) -meth public abstract !varargs void info(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public abstract !varargs void trace(java.lang.String,java.lang.Object[]) -meth public abstract !varargs void trace(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public abstract !varargs void warn(java.lang.String,java.lang.Object[]) -meth public abstract !varargs void warn(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public abstract boolean isDebugEnabled() -meth public abstract boolean isDebugEnabled(org.slf4j.Marker) -meth public abstract boolean isErrorEnabled() -meth public abstract boolean isErrorEnabled(org.slf4j.Marker) -meth public abstract boolean isInfoEnabled() -meth public abstract boolean isInfoEnabled(org.slf4j.Marker) -meth public abstract boolean isTraceEnabled() -meth public abstract boolean isTraceEnabled(org.slf4j.Marker) -meth public abstract boolean isWarnEnabled() -meth public abstract boolean isWarnEnabled(org.slf4j.Marker) -meth public abstract java.lang.String getName() -meth public abstract void debug(java.lang.String) -meth public abstract void debug(java.lang.String,java.lang.Object) -meth public abstract void debug(java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void debug(java.lang.String,java.lang.Throwable) -meth public abstract void debug(org.slf4j.Marker,java.lang.String) -meth public abstract void debug(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public abstract void debug(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void debug(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -meth public abstract void error(java.lang.String) -meth public abstract void error(java.lang.String,java.lang.Object) -meth public abstract void error(java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void error(java.lang.String,java.lang.Throwable) -meth public abstract void error(org.slf4j.Marker,java.lang.String) -meth public abstract void error(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public abstract void error(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void error(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -meth public abstract void info(java.lang.String) -meth public abstract void info(java.lang.String,java.lang.Object) -meth public abstract void info(java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void info(java.lang.String,java.lang.Throwable) -meth public abstract void info(org.slf4j.Marker,java.lang.String) -meth public abstract void info(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public abstract void info(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void info(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -meth public abstract void trace(java.lang.String) -meth public abstract void trace(java.lang.String,java.lang.Object) -meth public abstract void trace(java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void trace(java.lang.String,java.lang.Throwable) -meth public abstract void trace(org.slf4j.Marker,java.lang.String) -meth public abstract void trace(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public abstract void trace(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void trace(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -meth public abstract void warn(java.lang.String) -meth public abstract void warn(java.lang.String,java.lang.Object) -meth public abstract void warn(java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void warn(java.lang.String,java.lang.Throwable) -meth public abstract void warn(org.slf4j.Marker,java.lang.String) -meth public abstract void warn(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public abstract void warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public abstract void warn(org.slf4j.Marker,java.lang.String,java.lang.Throwable) - -CLSS public final org.slf4j.LoggerFactory -meth public static org.slf4j.ILoggerFactory getILoggerFactory() -meth public static org.slf4j.Logger getLogger(java.lang.Class) -meth public static org.slf4j.Logger getLogger(java.lang.String) -supr java.lang.Object -hfds API_COMPATIBILITY_LIST,CODES_PREFIX,DETECT_LOGGER_NAME_MISMATCH,DETECT_LOGGER_NAME_MISMATCH_PROPERTY,FAILED_INITIALIZATION,INITIALIZATION_STATE,JAVA_VENDOR_PROPERTY,LOGGER_NAME_MISMATCH_URL,MULTIPLE_BINDINGS_URL,NOP_FALLBACK_FACTORY,NOP_FALLBACK_INITIALIZATION,NO_STATICLOGGERBINDER_URL,NULL_LF_URL,ONGOING_INITIALIZATION,REPLAY_URL,STATIC_LOGGER_BINDER_PATH,SUBSTITUTE_LOGGER_URL,SUBST_FACTORY,SUCCESSFUL_INITIALIZATION,UNINITIALIZED,UNSUCCESSFUL_INIT_MSG,UNSUCCESSFUL_INIT_URL,VERSION_MISMATCH - -CLSS public org.slf4j.MDC -innr public static MDCCloseable -meth public static java.lang.String get(java.lang.String) -meth public static java.util.Map getCopyOfContextMap() -meth public static org.slf4j.MDC$MDCCloseable putCloseable(java.lang.String,java.lang.String) -meth public static org.slf4j.spi.MDCAdapter getMDCAdapter() -meth public static void clear() -meth public static void put(java.lang.String,java.lang.String) -meth public static void remove(java.lang.String) -meth public static void setContextMap(java.util.Map) -supr java.lang.Object -hfds NO_STATIC_MDC_BINDER_URL,NULL_MDCA_URL,mdcAdapter - -CLSS public static org.slf4j.MDC$MDCCloseable - outer org.slf4j.MDC -intf java.io.Closeable -meth public void close() -supr java.lang.Object -hfds key - -CLSS public abstract interface org.slf4j.Marker -fld public final static java.lang.String ANY_MARKER = "*" -fld public final static java.lang.String ANY_NON_NULL_MARKER = "+" -intf java.io.Serializable -meth public abstract boolean contains(java.lang.String) -meth public abstract boolean contains(org.slf4j.Marker) -meth public abstract boolean equals(java.lang.Object) -meth public abstract boolean hasChildren() -meth public abstract boolean hasReferences() -meth public abstract boolean remove(org.slf4j.Marker) -meth public abstract int hashCode() -meth public abstract java.lang.String getName() -meth public abstract java.util.Iterator iterator() -meth public abstract void add(org.slf4j.Marker) - -CLSS public org.slf4j.MarkerFactory -meth public static org.slf4j.IMarkerFactory getIMarkerFactory() -meth public static org.slf4j.Marker getDetachedMarker(java.lang.String) -meth public static org.slf4j.Marker getMarker(java.lang.String) -supr java.lang.Object -hfds MARKER_FACTORY - -CLSS public org.slf4j.MavenSlf4jFriend -cons public init() -meth public static void reset() -supr java.lang.Object - -CLSS public abstract org.slf4j.helpers.MarkerIgnoringBase -cons public init() -fld protected java.lang.String name -intf java.io.Serializable -intf org.slf4j.Logger -meth protected java.lang.Object readResolve() throws java.io.ObjectStreamException -meth public !varargs void debug(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public !varargs void error(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public !varargs void info(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public !varargs void trace(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public !varargs void warn(org.slf4j.Marker,java.lang.String,java.lang.Object[]) -meth public boolean isDebugEnabled(org.slf4j.Marker) -meth public boolean isErrorEnabled(org.slf4j.Marker) -meth public boolean isInfoEnabled(org.slf4j.Marker) -meth public boolean isTraceEnabled(org.slf4j.Marker) -meth public boolean isWarnEnabled(org.slf4j.Marker) -meth public java.lang.String getName() -meth public java.lang.String toString() -meth public void debug(org.slf4j.Marker,java.lang.String) -meth public void debug(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public void debug(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public void debug(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -meth public void error(org.slf4j.Marker,java.lang.String) -meth public void error(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public void error(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public void error(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -meth public void info(org.slf4j.Marker,java.lang.String) -meth public void info(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public void info(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public void info(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -meth public void trace(org.slf4j.Marker,java.lang.String) -meth public void trace(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public void trace(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public void trace(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -meth public void warn(org.slf4j.Marker,java.lang.String) -meth public void warn(org.slf4j.Marker,java.lang.String,java.lang.Object) -meth public void warn(org.slf4j.Marker,java.lang.String,java.lang.Object,java.lang.Object) -meth public void warn(org.slf4j.Marker,java.lang.String,java.lang.Throwable) -supr java.lang.Object -hfds serialVersionUID - -CLSS public org.slf4j.impl.MavenSimpleLogger -meth protected java.lang.String getLocation(java.lang.StackTraceElement) -meth protected java.lang.String renderLevel(int) -meth protected void writeThrowable(java.lang.Throwable,java.io.PrintStream) -supr org.slf4j.impl.SimpleLogger - -CLSS public org.slf4j.impl.MavenSimpleLoggerFactory -cons public init() -meth public org.slf4j.Logger getLogger(java.lang.String) -supr org.slf4j.impl.SimpleLoggerFactory - -CLSS public org.slf4j.impl.MavenSlf4jSimpleFriend -cons public init() -meth public static void init() -supr java.lang.Object - -CLSS public org.slf4j.impl.SimpleLogger -fld protected final static int LOG_LEVEL_DEBUG = 10 -fld protected final static int LOG_LEVEL_ERROR = 40 -fld protected final static int LOG_LEVEL_INFO = 20 -fld protected final static int LOG_LEVEL_OFF = 50 -fld protected final static int LOG_LEVEL_TRACE = 0 -fld protected final static int LOG_LEVEL_WARN = 30 -fld protected int currentLogLevel -fld public final static java.lang.String CACHE_OUTPUT_STREAM_STRING_KEY = "org.slf4j.simpleLogger.cacheOutputStream" -fld public final static java.lang.String DATE_TIME_FORMAT_KEY = "org.slf4j.simpleLogger.dateTimeFormat" -fld public final static java.lang.String DEFAULT_LOG_LEVEL_KEY = "org.slf4j.simpleLogger.defaultLogLevel" -fld public final static java.lang.String LEVEL_IN_BRACKETS_KEY = "org.slf4j.simpleLogger.levelInBrackets" -fld public final static java.lang.String LOG_FILE_KEY = "org.slf4j.simpleLogger.logFile" -fld public final static java.lang.String LOG_KEY_PREFIX = "org.slf4j.simpleLogger.log." -fld public final static java.lang.String SHOW_DATE_TIME_KEY = "org.slf4j.simpleLogger.showDateTime" -fld public final static java.lang.String SHOW_LOG_NAME_KEY = "org.slf4j.simpleLogger.showLogName" -fld public final static java.lang.String SHOW_SHORT_LOG_NAME_KEY = "org.slf4j.simpleLogger.showShortLogName" -fld public final static java.lang.String SHOW_THREAD_ID_KEY = "org.slf4j.simpleLogger.showThreadId" -fld public final static java.lang.String SHOW_THREAD_NAME_KEY = "org.slf4j.simpleLogger.showThreadName" -fld public final static java.lang.String SYSTEM_PREFIX = "org.slf4j.simpleLogger." -fld public final static java.lang.String WARN_LEVEL_STRING_KEY = "org.slf4j.simpleLogger.warnLevelString" -meth protected boolean isLevelEnabled(int) -meth protected java.lang.String renderLevel(int) -meth protected void writeThrowable(java.lang.Throwable,java.io.PrintStream) -meth public !varargs void debug(java.lang.String,java.lang.Object[]) -meth public !varargs void error(java.lang.String,java.lang.Object[]) -meth public !varargs void info(java.lang.String,java.lang.Object[]) -meth public !varargs void trace(java.lang.String,java.lang.Object[]) -meth public !varargs void warn(java.lang.String,java.lang.Object[]) -meth public boolean isDebugEnabled() -meth public boolean isErrorEnabled() -meth public boolean isInfoEnabled() -meth public boolean isTraceEnabled() -meth public boolean isWarnEnabled() -meth public void debug(java.lang.String) -meth public void debug(java.lang.String,java.lang.Object) -meth public void debug(java.lang.String,java.lang.Object,java.lang.Object) -meth public void debug(java.lang.String,java.lang.Throwable) -meth public void error(java.lang.String) -meth public void error(java.lang.String,java.lang.Object) -meth public void error(java.lang.String,java.lang.Object,java.lang.Object) -meth public void error(java.lang.String,java.lang.Throwable) -meth public void info(java.lang.String) -meth public void info(java.lang.String,java.lang.Object) -meth public void info(java.lang.String,java.lang.Object,java.lang.Object) -meth public void info(java.lang.String,java.lang.Throwable) -meth public void log(org.slf4j.event.LoggingEvent) -meth public void trace(java.lang.String) -meth public void trace(java.lang.String,java.lang.Object) -meth public void trace(java.lang.String,java.lang.Object,java.lang.Object) -meth public void trace(java.lang.String,java.lang.Throwable) -meth public void warn(java.lang.String) -meth public void warn(java.lang.String,java.lang.Object) -meth public void warn(java.lang.String,java.lang.Object,java.lang.Object) -meth public void warn(java.lang.String,java.lang.Throwable) -supr org.slf4j.helpers.MarkerIgnoringBase -hfds CONFIG_PARAMS,INITIALIZED,START_TIME,TID_PREFIX,serialVersionUID,shortLogName - -CLSS public org.slf4j.impl.SimpleLoggerConfiguration -cons public init() -supr java.lang.Object -hfds CACHE_OUTPUT_STREAM_DEFAULT,CONFIGURATION_FILE,DATE_TIME_FORMAT_STR_DEFAULT,DEFAULT_LOG_LEVEL_DEFAULT,LEVEL_IN_BRACKETS_DEFAULT,LOG_FILE_DEFAULT,SHOW_DATE_TIME_DEFAULT,SHOW_LOG_NAME_DEFAULT,SHOW_SHORT_LOG_NAME_DEFAULT,SHOW_THREAD_ID_DEFAULT,SHOW_THREAD_NAME_DEFAULT,WARN_LEVELS_STRING_DEFAULT,cacheOutputStream,dateFormatter,dateTimeFormatStr,defaultLogLevel,levelInBrackets,logFile,outputChoice,properties,showDateTime,showLogName,showShortLogName,showThreadId,showThreadName,warnLevelString - -CLSS public org.slf4j.impl.SimpleLoggerFactory -cons public init() -intf org.slf4j.ILoggerFactory -meth public org.slf4j.Logger getLogger(java.lang.String) -supr java.lang.Object -hfds loggerMap - -CLSS public final org.slf4j.impl.StaticLoggerBinder -fld public static java.lang.String REQUESTED_API_VERSION -intf org.slf4j.spi.LoggerFactoryBinder -meth public java.lang.String getLoggerFactoryClassStr() -meth public org.slf4j.ILoggerFactory getLoggerFactory() -meth public static org.slf4j.impl.StaticLoggerBinder getSingleton() -supr java.lang.Object -hfds LOGGER_FACTORY_CLASS_STR,SINGLETON,loggerFactory - -CLSS public org.slf4j.impl.StaticMDCBinder -fld public final static org.slf4j.impl.StaticMDCBinder SINGLETON -meth public final static org.slf4j.impl.StaticMDCBinder getSingleton() -meth public java.lang.String getMDCAdapterClassStr() -meth public org.slf4j.spi.MDCAdapter getMDCA() -supr java.lang.Object - -CLSS public org.slf4j.impl.StaticMarkerBinder -fld public final static org.slf4j.impl.StaticMarkerBinder SINGLETON -intf org.slf4j.spi.MarkerFactoryBinder -meth public java.lang.String getMarkerFactoryClassStr() -meth public org.slf4j.IMarkerFactory getMarkerFactory() -meth public static org.slf4j.impl.StaticMarkerBinder getSingleton() -supr java.lang.Object -hfds markerFactory - -CLSS public abstract interface org.slf4j.spi.LoggerFactoryBinder -meth public abstract java.lang.String getLoggerFactoryClassStr() -meth public abstract org.slf4j.ILoggerFactory getLoggerFactory() - -CLSS public abstract interface org.slf4j.spi.MarkerFactoryBinder -meth public abstract java.lang.String getMarkerFactoryClassStr() -meth public abstract org.slf4j.IMarkerFactory getMarkerFactory() - CLSS public org.sonatype.plexus.components.cipher.Base64 cons public init() meth public byte[] decode(byte[]) diff --git a/java/maven.grammar/nbproject/org-netbeans-modules-maven-grammar.sig b/java/maven.grammar/nbproject/org-netbeans-modules-maven-grammar.sig index 802d9fbcc1dc..e1e62b8c9e94 100644 --- a/java/maven.grammar/nbproject/org-netbeans-modules-maven-grammar.sig +++ b/java/maven.grammar/nbproject/org-netbeans-modules-maven-grammar.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.72.0 +#Version 1.73.0 CLSS public java.lang.Object cons public init() diff --git a/java/maven.indexer.ui/nbproject/org-netbeans-modules-maven-indexer-ui.sig b/java/maven.indexer.ui/nbproject/org-netbeans-modules-maven-indexer-ui.sig index 955ce8026539..08206dba9cb0 100644 --- a/java/maven.indexer.ui/nbproject/org-netbeans-modules-maven-indexer-ui.sig +++ b/java/maven.indexer.ui/nbproject/org-netbeans-modules-maven-indexer-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.59 +#Version 2.60 CLSS public java.lang.Object cons public init() diff --git a/java/maven.indexer/nbproject/org-netbeans-modules-maven-indexer.sig b/java/maven.indexer/nbproject/org-netbeans-modules-maven-indexer.sig index e366f451f3d3..27c0357ad314 100644 --- a/java/maven.indexer/nbproject/org-netbeans-modules-maven-indexer.sig +++ b/java/maven.indexer/nbproject/org-netbeans-modules-maven-indexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.65 +#Version 2.66 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable @@ -3646,6 +3646,7 @@ cons public init() fld protected boolean calibrateSizeByDeletes fld protected int maxMergeDocs fld protected int mergeFactor +fld protected int targetSearchConcurrency fld protected long maxMergeSize fld protected long maxMergeSizeForForcedMerge fld protected long minMergeSize @@ -3660,6 +3661,7 @@ meth protected long sizeDocs(org.apache.lucene.index.SegmentCommitInfo,org.apach meth public boolean getCalibrateSizeByDeletes() meth public int getMaxMergeDocs() meth public int getMergeFactor() +meth public int getTargetSearchConcurrency() meth public java.lang.String toString() meth public org.apache.lucene.index.MergePolicy$MergeSpecification findForcedDeletesMerges(org.apache.lucene.index.SegmentInfos,org.apache.lucene.index.MergePolicy$MergeContext) throws java.io.IOException meth public org.apache.lucene.index.MergePolicy$MergeSpecification findForcedMerges(org.apache.lucene.index.SegmentInfos,int,java.util.Map,org.apache.lucene.index.MergePolicy$MergeContext) throws java.io.IOException @@ -3667,6 +3669,7 @@ meth public org.apache.lucene.index.MergePolicy$MergeSpecification findMerges(or meth public void setCalibrateSizeByDeletes(boolean) meth public void setMaxMergeDocs(int) meth public void setMergeFactor(int) +meth public void setTargetSearchConcurrency(int) supr org.apache.lucene.index.MergePolicy hcls SegmentInfoAndLevel @@ -3754,7 +3757,7 @@ meth public long totalBytesSize() meth public org.apache.lucene.index.CodecReader wrapForMerge(org.apache.lucene.index.CodecReader) throws java.io.IOException meth public org.apache.lucene.index.MergePolicy$OneMergeProgress getMergeProgress() meth public org.apache.lucene.index.SegmentCommitInfo getMergeInfo() -meth public org.apache.lucene.index.Sorter$DocMap reorder(org.apache.lucene.index.CodecReader,org.apache.lucene.store.Directory) throws java.io.IOException +meth public org.apache.lucene.index.Sorter$DocMap reorder(org.apache.lucene.index.CodecReader,org.apache.lucene.store.Directory,java.util.concurrent.Executor) throws java.io.IOException meth public org.apache.lucene.store.MergeInfo getStoreMergeInfo() meth public void checkAborted() throws org.apache.lucene.index.MergePolicy$MergeAbortedException meth public void mergeFinished(boolean,boolean) throws java.io.IOException @@ -3998,7 +4001,7 @@ meth public org.apache.lucene.util.BytesRef next() throws java.io.IOException meth public org.apache.lucene.util.BytesRef term() meth public void seekExact(long) supr org.apache.lucene.index.BaseTermsEnum -hfds INDEX_COMPARATOR,current,currentSubs,lastSeek,lastSeekExact,lastSeekScratch,numSubs,numTop,queue,subDocs,subs,top +hfds current,currentSubs,lastSeek,lastSeekExact,lastSeekScratch,numSubs,numTop,queue,subDocs,subs,top hcls TermMergeQueue,TermsEnumWithSlice CLSS public final org.apache.lucene.index.NoDeletionPolicy @@ -4756,6 +4759,7 @@ meth public double getForceMergeDeletesPctAllowed() meth public double getMaxMergedSegmentMB() meth public double getSegmentsPerTier() meth public int getMaxMergeAtOnce() +meth public int getTargetSearchConcurrency() meth public java.lang.String toString() meth public org.apache.lucene.index.MergePolicy$MergeSpecification findForcedDeletesMerges(org.apache.lucene.index.SegmentInfos,org.apache.lucene.index.MergePolicy$MergeContext) throws java.io.IOException meth public org.apache.lucene.index.MergePolicy$MergeSpecification findForcedMerges(org.apache.lucene.index.SegmentInfos,int,java.util.Map,org.apache.lucene.index.MergePolicy$MergeContext) throws java.io.IOException @@ -4766,8 +4770,9 @@ meth public org.apache.lucene.index.TieredMergePolicy setForceMergeDeletesPctAll meth public org.apache.lucene.index.TieredMergePolicy setMaxMergeAtOnce(int) meth public org.apache.lucene.index.TieredMergePolicy setMaxMergedSegmentMB(double) meth public org.apache.lucene.index.TieredMergePolicy setSegmentsPerTier(double) +meth public org.apache.lucene.index.TieredMergePolicy setTargetSearchConcurrency(int) supr org.apache.lucene.index.MergePolicy -hfds deletesPctAllowed,floorSegmentBytes,forceMergeDeletesPctAllowed,maxMergeAtOnce,maxMergedSegmentBytes,segsPerTier +hfds deletesPctAllowed,floorSegmentBytes,forceMergeDeletesPctAllowed,maxMergeAtOnce,maxMergedSegmentBytes,segsPerTier,targetSearchConcurrency hcls MERGE_TYPE,SegmentSizeAndDocs CLSS protected abstract static org.apache.lucene.index.TieredMergePolicy$MergeScore @@ -4998,6 +5003,7 @@ cons public init() meth public abstract int score(org.apache.lucene.search.LeafCollector,org.apache.lucene.util.Bits,int,int) throws java.io.IOException meth public abstract long cost() meth public void score(org.apache.lucene.search.LeafCollector,org.apache.lucene.util.Bits) throws java.io.IOException + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") supr java.lang.Object CLSS public org.apache.lucene.search.ByteVectorSimilarityQuery @@ -5245,6 +5251,7 @@ meth public abstract java.lang.String toString() meth public abstract org.apache.lucene.search.DoubleValues getValues(org.apache.lucene.index.LeafReaderContext,org.apache.lucene.search.DoubleValues) throws java.io.IOException meth public abstract org.apache.lucene.search.DoubleValuesSource rewrite(org.apache.lucene.search.IndexSearcher) throws java.io.IOException meth public final org.apache.lucene.search.LongValuesSource toLongValuesSource() +meth public final org.apache.lucene.search.LongValuesSource toSortableLongDoubleValuesSource() meth public org.apache.lucene.search.Explanation explain(org.apache.lucene.index.LeafReaderContext,int,org.apache.lucene.search.Explanation) throws java.io.IOException meth public org.apache.lucene.search.SortField getSortField(boolean) meth public static org.apache.lucene.search.DoubleValues fromScorer(org.apache.lucene.search.Scorable) @@ -5258,7 +5265,7 @@ meth public static org.apache.lucene.search.DoubleValuesSource fromIntField(java meth public static org.apache.lucene.search.DoubleValuesSource fromLongField(java.lang.String) meth public static org.apache.lucene.search.DoubleValuesSource fromQuery(org.apache.lucene.search.Query) supr java.lang.Object -hcls ConstantValuesSource,DoubleValuesComparatorSource,DoubleValuesHolder,DoubleValuesSortField,FieldValuesSource,LongDoubleValuesSource,QueryDoubleValuesSource,WeightDoubleValuesSource +hcls ConstantValuesSource,DoubleValuesComparatorSource,DoubleValuesHolder,DoubleValuesSortField,FieldValuesSource,LongDoubleValuesSource,QueryDoubleValuesSource,SortableLongDoubleValuesSource,WeightDoubleValuesSource CLSS public final org.apache.lucene.search.ExactPhraseMatcher cons public init(org.apache.lucene.search.PhraseQuery$PostingsAndFreq[],org.apache.lucene.search.ScoreMode,org.apache.lucene.search.similarities.Similarity$SimScorer,float) @@ -5568,6 +5575,7 @@ innr public static TooManyNestedClauses meth protected org.apache.lucene.search.Explanation explain(org.apache.lucene.search.Weight,int) throws java.io.IOException meth protected org.apache.lucene.search.IndexSearcher$LeafSlice[] slices(java.util.List) meth protected void search(java.util.List,org.apache.lucene.search.Weight,org.apache.lucene.search.Collector) throws java.io.IOException +meth protected void searchLeaf(org.apache.lucene.index.LeafReaderContext,org.apache.lucene.search.Weight,org.apache.lucene.search.Collector) throws java.io.IOException meth public <%0 extends org.apache.lucene.search.Collector, %1 extends java.lang.Object> {%%1} search(org.apache.lucene.search.Query,org.apache.lucene.search.CollectorManager<{%%0},{%%1}>) throws java.io.IOException meth public boolean timedOut() meth public final org.apache.lucene.search.IndexSearcher$LeafSlice[] getSlices() @@ -6696,7 +6704,7 @@ cons public init(java.util.concurrent.Executor) meth public <%0 extends java.lang.Object> java.util.List<{%%0}> invokeAll(java.util.Collection>) throws java.io.IOException meth public java.lang.String toString() supr java.lang.Object -hfds executor,numberOfRunningTasksInCurrentThread +hfds executor hcls TaskGroup CLSS public org.apache.lucene.search.TermInSetQuery @@ -6716,6 +6724,7 @@ meth public long getTermsCount() throws java.io.IOException meth public long ramBytesUsed() meth public org.apache.lucene.index.PrefixCodedTerms getTermData() anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") +meth public org.apache.lucene.util.BytesRefIterator getBytesRefIterator() meth public void visit(org.apache.lucene.search.QueryVisitor) supr org.apache.lucene.search.MultiTermQuery hfds BASE_RAM_BYTES_USED,field,termData,termDataHashCode @@ -6946,7 +6955,7 @@ meth public final org.apache.lucene.search.Query rewrite(org.apache.lucene.index meth public int getSize() meth public int hashCode() supr org.apache.lucene.search.MultiTermQuery$RewriteMethod<{org.apache.lucene.search.TopTermsRewrite%0}> -hfds scoreTermSortByTermComp,size +hfds size hcls ScoreTerm CLSS public org.apache.lucene.search.TotalHitCountCollector @@ -7970,10 +7979,13 @@ cons public init(java.nio.file.Path,org.apache.lucene.store.LockFactory,long) th fld public final static boolean UNMAP_SUPPORTED fld public final static java.lang.String ENABLE_MEMORY_SEGMENTS_SYSPROP = "org.apache.lucene.store.MMapDirectory.enableMemorySegments" fld public final static java.lang.String ENABLE_UNMAP_HACK_SYSPROP = "org.apache.lucene.store.MMapDirectory.enableUnmapHack" +fld public final static java.lang.String SHARED_ARENA_MAX_PERMITS_SYSPROP = "org.apache.lucene.store.MMapDirectory.sharedArenaMaxPermits" fld public final static java.lang.String UNMAP_NOT_SUPPORTED_REASON fld public final static java.util.function.BiPredicate ALL_FILES fld public final static java.util.function.BiPredicate BASED_ON_LOAD_IO_CONTEXT fld public final static java.util.function.BiPredicate NO_FILES +fld public final static java.util.function.Function> GROUP_BY_SEGMENT +fld public final static java.util.function.Function> NO_GROUPING fld public final static long DEFAULT_MAX_CHUNK_SIZE meth public boolean getPreload() anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") @@ -7982,13 +7994,14 @@ meth public boolean getUseUnmap() meth public final long getMaxChunkSize() meth public org.apache.lucene.store.IndexInput openInput(java.lang.String,org.apache.lucene.store.IOContext) throws java.io.IOException meth public static boolean supportsMadvise() +meth public void setGroupingFunction(java.util.function.Function>) meth public void setPreload(boolean) anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public void setPreload(java.util.function.BiPredicate) meth public void setUseUnmap(boolean) anno 0 java.lang.Deprecated(boolean forRemoval=true, java.lang.String since="") supr org.apache.lucene.store.FSDirectory -hfds LOG,PROVIDER,chunkSizePower,preload +hfds LOG,PROVIDER,attachment,chunkSizePower,groupingFunction,preload hcls MMapIndexInputProvider CLSS public org.apache.lucene.store.MergeInfo @@ -8321,11 +8334,12 @@ meth protected final void checkUnpositioned(org.apache.lucene.search.DocIdSetIte meth public abstract boolean getAndSet(int) meth public abstract int approximateCardinality() meth public abstract int cardinality() -meth public abstract int nextSetBit(int) +meth public abstract int nextSetBit(int,int) meth public abstract int prevSetBit(int) meth public abstract void clear(int) meth public abstract void clear(int,int) meth public abstract void set(int) +meth public int nextSetBit(int) meth public static org.apache.lucene.util.BitSet of(org.apache.lucene.search.DocIdSetIterator,int) throws java.io.IOException meth public void clear() meth public void or(org.apache.lucene.search.DocIdSetIterator) throws java.io.IOException @@ -8828,6 +8842,7 @@ meth public int cardinality() meth public int hashCode() meth public int length() meth public int nextSetBit(int) +meth public int nextSetBit(int,int) meth public int prevSetBit(int) meth public long ramBytesUsed() meth public long[] getBits() @@ -9678,6 +9693,7 @@ meth public int approximateCardinality() meth public int cardinality() meth public int length() meth public int nextSetBit(int) +meth public int nextSetBit(int,int) meth public int prevSetBit(int) meth public java.lang.String toString() meth public long ramBytesUsed() @@ -9826,6 +9842,7 @@ meth public abstract {org.apache.lucene.util.Unwrappable%0} unwrap() meth public static <%0 extends java.lang.Object> {%%0} unwrapAll({%%0}) CLSS public final org.apache.lucene.util.VectorUtil +meth public static boolean isUnitVector(float[]) meth public static float cosine(byte[],byte[]) meth public static float cosine(float[],float[]) meth public static float dotProduct(float[],float[]) @@ -9842,7 +9859,7 @@ meth public static int squareDistance(byte[],byte[]) meth public static int xorBitCount(byte[],byte[]) meth public static void add(float[],float[]) supr java.lang.Object -hfds IMPL +hfds EPSILON,IMPL,XOR_BIT_COUNT_STRIDE_AS_INT CLSS public final org.apache.lucene.util.Version fld public final int bugfix @@ -9865,6 +9882,8 @@ fld public final static org.apache.lucene.util.Version LUCENE_8_11_2 anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") fld public final static org.apache.lucene.util.Version LUCENE_8_11_3 anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") +fld public final static org.apache.lucene.util.Version LUCENE_8_11_4 + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") fld public final static org.apache.lucene.util.Version LUCENE_8_12_0 anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") fld public final static org.apache.lucene.util.Version LUCENE_8_1_0 @@ -9912,6 +9931,8 @@ fld public final static org.apache.lucene.util.Version LUCENE_9_10_0 fld public final static org.apache.lucene.util.Version LUCENE_9_11_0 anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") fld public final static org.apache.lucene.util.Version LUCENE_9_11_1 + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") +fld public final static org.apache.lucene.util.Version LUCENE_9_12_0 fld public final static org.apache.lucene.util.Version LUCENE_9_1_0 anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") fld public final static org.apache.lucene.util.Version LUCENE_9_2_0 diff --git a/java/maven.model/nbproject/org-netbeans-modules-maven-model.sig b/java/maven.model/nbproject/org-netbeans-modules-maven-model.sig index a5acdaf8a16e..7d8bd0286371 100644 --- a/java/maven.model/nbproject/org-netbeans-modules-maven-model.sig +++ b/java/maven.model/nbproject/org-netbeans-modules-maven-model.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.69 +#Version 1.70 CLSS public abstract interface java.io.Serializable diff --git a/java/maven/nbproject/org-netbeans-modules-maven.sig b/java/maven/nbproject/org-netbeans-modules-maven.sig index 761bd59e3469..f835922732fb 100644 --- a/java/maven/nbproject/org-netbeans-modules-maven.sig +++ b/java/maven/nbproject/org-netbeans-modules-maven.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.164.0 +#Version 2.165.0 CLSS public abstract java.awt.Component cons protected init() @@ -1267,6 +1267,9 @@ meth public java.lang.String toString() meth public java.net.URI getEarAppDirectory() meth public java.net.URI getWebAppDirectory() meth public java.net.URI[] getResources(boolean) +meth public java.util.concurrent.CompletableFuture getFreshProject() + anno 0 org.netbeans.api.annotations.common.NonNull() +meth public long getLoadTimestamp() meth public org.apache.maven.model.Model getRawModel() throws org.apache.maven.model.building.ModelBuildingException meth public org.apache.maven.project.MavenProject getEvaluatedProject(org.netbeans.api.project.ProjectActionContext) anno 0 org.netbeans.api.annotations.common.NonNull() diff --git a/java/projectimport.eclipse.core/nbproject/org-netbeans-modules-projectimport-eclipse-core.sig b/java/projectimport.eclipse.core/nbproject/org-netbeans-modules-projectimport-eclipse-core.sig index 5bea53017d2a..349731db8b6e 100644 --- a/java/projectimport.eclipse.core/nbproject/org-netbeans-modules-projectimport-eclipse-core.sig +++ b/java/projectimport.eclipse.core/nbproject/org-netbeans-modules-projectimport-eclipse-core.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.55 +#Version 2.56 CLSS public abstract interface java.io.Serializable diff --git a/java/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig b/java/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig index d3a2c7a6f210..07b4febf4e20 100644 --- a/java/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig +++ b/java/refactoring.java/nbproject/org-netbeans-modules-refactoring-java.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.87.0 +#Version 1.88.0 CLSS public abstract interface com.sun.source.doctree.DocTreeVisitor<%0 extends java.lang.Object, %1 extends java.lang.Object> meth public abstract {com.sun.source.doctree.DocTreeVisitor%0} visitAttribute(com.sun.source.doctree.AttributeTree,{com.sun.source.doctree.DocTreeVisitor%1}) @@ -204,8 +204,10 @@ meth public abstract int compareTo({java.lang.Comparable%0}) CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>> cons protected init(java.lang.String,int) +innr public final static EnumDesc intf java.io.Serializable intf java.lang.Comparable<{java.lang.Enum%0}> +intf java.lang.constant.Constable meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected final void finalize() meth public final boolean equals(java.lang.Object) @@ -214,6 +216,7 @@ meth public final int hashCode() meth public final int ordinal() meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass() meth public final java.lang.String name() +meth public final java.util.Optional> describeConstable() meth public java.lang.String toString() meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String) supr java.lang.Object @@ -230,6 +233,7 @@ CLSS public java.lang.Object cons public init() meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException meth protected void finalize() throws java.lang.Throwable + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="9") meth public boolean equals(java.lang.Object) meth public final java.lang.Class getClass() meth public final void notify() @@ -262,6 +266,9 @@ meth public void printStackTrace(java.io.PrintWriter) meth public void setStackTrace(java.lang.StackTraceElement[]) supr java.lang.Object +CLSS public abstract interface java.lang.constant.Constable +meth public abstract java.util.Optional describeConstable() + CLSS public abstract interface org.netbeans.api.java.source.CancellableTask<%0 extends java.lang.Object> intf org.netbeans.api.java.source.Task<{org.netbeans.api.java.source.CancellableTask%0}> meth public abstract void cancel() @@ -508,7 +515,7 @@ meth public static boolean isRefactorable(org.openide.filesystems.FileObject) meth public static com.sun.source.util.TreePath findEnclosingClass(org.netbeans.api.java.source.CompilationInfo,com.sun.source.util.TreePath,boolean,boolean,boolean,boolean,boolean) meth public static java.util.Collection getOverriddenMethods(javax.lang.model.element.ExecutableElement,org.netbeans.api.java.source.CompilationInfo) meth public static java.util.Collection getOverridingMethods(javax.lang.model.element.ExecutableElement,org.netbeans.api.java.source.CompilationInfo) - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") meth public static java.util.Collection getOverridingMethods(javax.lang.model.element.ExecutableElement,org.netbeans.api.java.source.CompilationInfo,java.util.concurrent.atomic.AtomicBoolean) meth public static java.util.Collection getSuperTypes(javax.lang.model.element.TypeElement,org.netbeans.api.java.source.CompilationInfo,boolean) meth public static java.util.Collection getInvocationsOf(org.netbeans.api.java.source.ElementHandle,org.netbeans.api.java.source.CompilationController) throws java.io.IOException @@ -675,7 +682,7 @@ CLSS public abstract org.netbeans.modules.refactoring.java.spi.JavaRefactoringPl cons public init() fld protected final java.util.concurrent.atomic.AtomicBoolean cancelRequested fld protected volatile boolean cancelRequest - anno 0 java.lang.Deprecated() + anno 0 java.lang.Deprecated(boolean forRemoval=false, java.lang.String since="") innr protected TransformTask innr protected final static !enum Phase intf org.netbeans.modules.refactoring.spi.RefactoringPlugin diff --git a/java/selenium2.java/nbproject/org-netbeans-modules-selenium2-java.sig b/java/selenium2.java/nbproject/org-netbeans-modules-selenium2-java.sig index c92981721fd4..c1f3e9c82b4d 100644 --- a/java/selenium2.java/nbproject/org-netbeans-modules-selenium2-java.sig +++ b/java/selenium2.java/nbproject/org-netbeans-modules-selenium2-java.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.27 +#Version 1.28 CLSS public java.lang.Object cons public init() diff --git a/java/spi.debugger.jpda.ui/nbproject/org-netbeans-spi-debugger-jpda-ui.sig b/java/spi.debugger.jpda.ui/nbproject/org-netbeans-spi-debugger-jpda-ui.sig index 138416edaac7..d208c8576f2f 100644 --- a/java/spi.debugger.jpda.ui/nbproject/org-netbeans-spi-debugger-jpda-ui.sig +++ b/java/spi.debugger.jpda.ui/nbproject/org-netbeans-spi-debugger-jpda-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.28 +#Version 3.29 CLSS public java.lang.Object cons public init() diff --git a/java/spi.java.hints/nbproject/org-netbeans-spi-java-hints.sig b/java/spi.java.hints/nbproject/org-netbeans-spi-java-hints.sig index 7091fc2b9dd9..4292c4860de5 100644 --- a/java/spi.java.hints/nbproject/org-netbeans-spi-java-hints.sig +++ b/java/spi.java.hints/nbproject/org-netbeans-spi-java-hints.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.59.0 +#Version 1.60.0 CLSS public abstract interface java.io.Serializable diff --git a/java/spring.beans/nbproject/org-netbeans-modules-spring-beans.sig b/java/spring.beans/nbproject/org-netbeans-modules-spring-beans.sig index 2dad3a1051c1..84a684cfd55a 100644 --- a/java/spring.beans/nbproject/org-netbeans-modules-spring-beans.sig +++ b/java/spring.beans/nbproject/org-netbeans-modules-spring-beans.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.65.0 +#Version 1.66.0 CLSS public java.lang.Object cons public init() diff --git a/java/testng/nbproject/org-netbeans-modules-testng.sig b/java/testng/nbproject/org-netbeans-modules-testng.sig index 7fbb48cf2cce..2ac60720926a 100644 --- a/java/testng/nbproject/org-netbeans-modules-testng.sig +++ b/java/testng/nbproject/org-netbeans-modules-testng.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.45 +#Version 2.46 CLSS public abstract interface java.io.Serializable diff --git a/java/websvc.jaxws21/nbproject/org-netbeans-modules-websvc-jaxws21.sig b/java/websvc.jaxws21/nbproject/org-netbeans-modules-websvc-jaxws21.sig index d40e4c44dc7d..705ef071c075 100644 --- a/java/websvc.jaxws21/nbproject/org-netbeans-modules-websvc-jaxws21.sig +++ b/java/websvc.jaxws21/nbproject/org-netbeans-modules-websvc-jaxws21.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57 +#Version 1.58 CLSS public abstract com.sun.codemodel.CodeWriter cons public init() diff --git a/java/websvc.jaxws21api/nbproject/org-netbeans-modules-websvc-jaxws21api.sig b/java/websvc.jaxws21api/nbproject/org-netbeans-modules-websvc-jaxws21api.sig index b1d62a4e550d..278ffe686f38 100644 --- a/java/websvc.jaxws21api/nbproject/org-netbeans-modules-websvc-jaxws21api.sig +++ b/java/websvc.jaxws21api/nbproject/org-netbeans-modules-websvc-jaxws21api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.57 +#Version 1.58 CLSS public abstract interface java.io.Serializable diff --git a/java/websvc.saas.codegen.java/nbproject/org-netbeans-modules-websvc-saas-codegen-java.sig b/java/websvc.saas.codegen.java/nbproject/org-netbeans-modules-websvc-saas-codegen-java.sig index b77182f456cd..a3c9f434db1b 100644 --- a/java/websvc.saas.codegen.java/nbproject/org-netbeans-modules-websvc-saas-codegen-java.sig +++ b/java/websvc.saas.codegen.java/nbproject/org-netbeans-modules-websvc-saas-codegen-java.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55 +#Version 1.56 CLSS public java.lang.Object cons public init() diff --git a/java/whitelist/nbproject/org-netbeans-modules-whitelist.sig b/java/whitelist/nbproject/org-netbeans-modules-whitelist.sig index b56a00e891c1..454c99347576 100644 --- a/java/whitelist/nbproject/org-netbeans-modules-whitelist.sig +++ b/java/whitelist/nbproject/org-netbeans-modules-whitelist.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.48 +#Version 1.49 CLSS public abstract interface java.io.Serializable diff --git a/java/xml.jaxb/nbproject/org-netbeans-modules-xml-jaxb.sig b/java/xml.jaxb/nbproject/org-netbeans-modules-xml-jaxb.sig index e1215e9bd28c..8e94526d3ceb 100644 --- a/java/xml.jaxb/nbproject/org-netbeans-modules-xml-jaxb.sig +++ b/java/xml.jaxb/nbproject/org-netbeans-modules-xml-jaxb.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55 +#Version 1.56 CLSS public abstract interface org.netbeans.modules.xml.jaxb.spi.JAXBWizModuleConstants fld public final static java.lang.String CATALOG_FILE = "jaxb.catalog.file" diff --git a/javafx/javafx2.editor/nbproject/org-netbeans-modules-javafx2-editor.sig b/javafx/javafx2.editor/nbproject/org-netbeans-modules-javafx2-editor.sig index 01fd420139bc..c8d8e1f9c7a0 100644 --- a/javafx/javafx2.editor/nbproject/org-netbeans-modules-javafx2-editor.sig +++ b/javafx/javafx2.editor/nbproject/org-netbeans-modules-javafx2-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.46.0 +#Version 1.47.0 CLSS public java.lang.Object cons public init() diff --git a/javafx/javafx2.platform/nbproject/org-netbeans-modules-javafx2-platform.sig b/javafx/javafx2.platform/nbproject/org-netbeans-modules-javafx2-platform.sig index 8065d0a556d7..0384d03e7ef9 100644 --- a/javafx/javafx2.platform/nbproject/org-netbeans-modules-javafx2-platform.sig +++ b/javafx/javafx2.platform/nbproject/org-netbeans-modules-javafx2-platform.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.51 +#Version 1.52 CLSS public abstract interface java.io.Serializable diff --git a/javafx/javafx2.project/nbproject/org-netbeans-modules-javafx2-project.sig b/javafx/javafx2.project/nbproject/org-netbeans-modules-javafx2-project.sig index de02cf036c1f..89ea2708570b 100644 --- a/javafx/javafx2.project/nbproject/org-netbeans-modules-javafx2-project.sig +++ b/javafx/javafx2.project/nbproject/org-netbeans-modules-javafx2-project.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55 +#Version 1.56 CLSS public java.lang.Object cons public init() diff --git a/php/languages.neon/nbproject/org-netbeans-modules-languages-neon.sig b/php/languages.neon/nbproject/org-netbeans-modules-languages-neon.sig index 1ebe26378a23..5cfeea51bc4a 100644 --- a/php/languages.neon/nbproject/org-netbeans-modules-languages-neon.sig +++ b/php/languages.neon/nbproject/org-netbeans-modules-languages-neon.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.47 +#Version 1.48 CLSS public abstract interface java.lang.annotation.Annotation meth public abstract boolean equals(java.lang.Object) diff --git a/php/libs.javacup/nbproject/org-netbeans-libs-javacup.sig b/php/libs.javacup/nbproject/org-netbeans-libs-javacup.sig index e47630131202..3c478db9433d 100644 --- a/php/libs.javacup/nbproject/org-netbeans-libs-javacup.sig +++ b/php/libs.javacup/nbproject/org-netbeans-libs-javacup.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.49.0 +#Version 1.50.0 CLSS public abstract interface java.io.Serializable diff --git a/php/php.api.annotation/nbproject/org-netbeans-modules-php-api-annotation.sig b/php/php.api.annotation/nbproject/org-netbeans-modules-php-api-annotation.sig index fc875c14f2ff..730fa754edde 100644 --- a/php/php.api.annotation/nbproject/org-netbeans-modules-php-api-annotation.sig +++ b/php/php.api.annotation/nbproject/org-netbeans-modules-php-api-annotation.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.43 +#Version 0.44 CLSS public java.lang.Object cons public init() diff --git a/php/php.api.documentation/nbproject/org-netbeans-modules-php-api-documentation.sig b/php/php.api.documentation/nbproject/org-netbeans-modules-php-api-documentation.sig index 15a4e25996fa..4fc522849828 100644 --- a/php/php.api.documentation/nbproject/org-netbeans-modules-php-api-documentation.sig +++ b/php/php.api.documentation/nbproject/org-netbeans-modules-php-api-documentation.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.38 +#Version 0.39 CLSS public java.lang.Object cons public init() diff --git a/php/php.api.editor/nbproject/org-netbeans-modules-php-api-editor.sig b/php/php.api.editor/nbproject/org-netbeans-modules-php-api-editor.sig index 6f8ce1180c5c..9fd6b5abd365 100644 --- a/php/php.api.editor/nbproject/org-netbeans-modules-php-api-editor.sig +++ b/php/php.api.editor/nbproject/org-netbeans-modules-php-api-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.52 +#Version 0.53 CLSS public java.lang.Object cons public init() diff --git a/php/php.api.executable/nbproject/org-netbeans-modules-php-api-executable.sig b/php/php.api.executable/nbproject/org-netbeans-modules-php-api-executable.sig index 12be632775a0..7d3738d9cba0 100644 --- a/php/php.api.executable/nbproject/org-netbeans-modules-php-api-executable.sig +++ b/php/php.api.executable/nbproject/org-netbeans-modules-php-api-executable.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.55 +#Version 0.56 CLSS public abstract interface java.io.Serializable diff --git a/php/php.api.framework/nbproject/org-netbeans-modules-php-api-framework.sig b/php/php.api.framework/nbproject/org-netbeans-modules-php-api-framework.sig index ec252a9a405d..26b11bc63253 100644 --- a/php/php.api.framework/nbproject/org-netbeans-modules-php-api-framework.sig +++ b/php/php.api.framework/nbproject/org-netbeans-modules-php-api-framework.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.50 +#Version 0.51 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/php/php.api.phpmodule/nbproject/org-netbeans-modules-php-api-phpmodule.sig b/php/php.api.phpmodule/nbproject/org-netbeans-modules-php-api-phpmodule.sig index 360d93a87f6c..78380431742f 100644 --- a/php/php.api.phpmodule/nbproject/org-netbeans-modules-php-api-phpmodule.sig +++ b/php/php.api.phpmodule/nbproject/org-netbeans-modules-php-api-phpmodule.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.97 +#Version 2.98 CLSS public abstract interface java.io.Serializable diff --git a/php/php.api.templates/nbproject/org-netbeans-modules-php-api-templates.sig b/php/php.api.templates/nbproject/org-netbeans-modules-php-api-templates.sig index 7c1caaa0ea38..6647493342bb 100644 --- a/php/php.api.templates/nbproject/org-netbeans-modules-php-api-templates.sig +++ b/php/php.api.templates/nbproject/org-netbeans-modules-php-api-templates.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.34 +#Version 0.35 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/php/php.api.testing/nbproject/org-netbeans-modules-php-api-testing.sig b/php/php.api.testing/nbproject/org-netbeans-modules-php-api-testing.sig index e8c3997bc94c..8b1e64e5c0db 100644 --- a/php/php.api.testing/nbproject/org-netbeans-modules-php-api-testing.sig +++ b/php/php.api.testing/nbproject/org-netbeans-modules-php-api-testing.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.44 +#Version 0.45 CLSS public abstract interface java.io.Serializable diff --git a/php/php.composer/nbproject/org-netbeans-modules-php-composer.sig b/php/php.composer/nbproject/org-netbeans-modules-php-composer.sig index 97fbeee36ce0..a3d16a4267e1 100644 --- a/php/php.composer/nbproject/org-netbeans-modules-php-composer.sig +++ b/php/php.composer/nbproject/org-netbeans-modules-php-composer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.55 +#Version 0.56 CLSS public java.lang.Object cons public init() diff --git a/php/php.editor/nbproject/org-netbeans-modules-php-editor.sig b/php/php.editor/nbproject/org-netbeans-modules-php-editor.sig index bc23a1cb4dcf..34c6de7b28b6 100644 --- a/php/php.editor/nbproject/org-netbeans-modules-php-editor.sig +++ b/php/php.editor/nbproject/org-netbeans-modules-php-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.40.0 +#Version 2.41.0 CLSS public abstract interface java.beans.PropertyChangeListener intf java.util.EventListener diff --git a/php/php.project/nbproject/org-netbeans-modules-php-project.sig b/php/php.project/nbproject/org-netbeans-modules-php-project.sig index 0d67c947d499..f39656c87ce0 100644 --- a/php/php.project/nbproject/org-netbeans-modules-php-project.sig +++ b/php/php.project/nbproject/org-netbeans-modules-php-project.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.168 +#Version 2.169 CLSS public abstract interface java.beans.PropertyChangeListener intf java.util.EventListener diff --git a/platform/api.annotations.common/nbproject/org-netbeans-api-annotations-common.sig b/platform/api.annotations.common/nbproject/org-netbeans-api-annotations-common.sig index b5153983b774..dbc68d3bf375 100644 --- a/platform/api.annotations.common/nbproject/org-netbeans-api-annotations-common.sig +++ b/platform/api.annotations.common/nbproject/org-netbeans-api-annotations-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.53 +#Version 1.54 CLSS public abstract interface java.io.Serializable diff --git a/platform/api.dashboard/nbproject/org-netbeans-api-dashboard.sig b/platform/api.dashboard/nbproject/org-netbeans-api-dashboard.sig index adabc55bcd3f..cd6f46962851 100644 --- a/platform/api.dashboard/nbproject/org-netbeans-api-dashboard.sig +++ b/platform/api.dashboard/nbproject/org-netbeans-api-dashboard.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.2 +#Version 0.3 CLSS public abstract interface java.io.Serializable diff --git a/platform/api.htmlui/nbproject/org-netbeans-api-htmlui.sig b/platform/api.htmlui/nbproject/org-netbeans-api-htmlui.sig index e98ebf818cd8..1ea96a80bf39 100644 --- a/platform/api.htmlui/nbproject/org-netbeans-api-htmlui.sig +++ b/platform/api.htmlui/nbproject/org-netbeans-api-htmlui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.33 +#Version 1.34 CLSS public abstract interface !annotation java.lang.FunctionalInterface anno 0 java.lang.annotation.Documented() diff --git a/platform/api.intent/nbproject/org-netbeans-api-intent.sig b/platform/api.intent/nbproject/org-netbeans-api-intent.sig index 227dc2792357..7e29bcf5e43e 100644 --- a/platform/api.intent/nbproject/org-netbeans-api-intent.sig +++ b/platform/api.intent/nbproject/org-netbeans-api-intent.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.27 +#Version 1.28 CLSS public abstract interface java.io.Serializable diff --git a/platform/api.io/nbproject/org-netbeans-api-io.sig b/platform/api.io/nbproject/org-netbeans-api-io.sig index 5de4436768c2..261108a90db8 100644 --- a/platform/api.io/nbproject/org-netbeans-api-io.sig +++ b/platform/api.io/nbproject/org-netbeans-api-io.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.28 +#Version 1.29 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/platform/api.progress.compat8/nbproject/org-netbeans-api-progress-compat8.sig b/platform/api.progress.compat8/nbproject/org-netbeans-api-progress-compat8.sig index b3928a2d8edf..4a7eb37d40f9 100644 --- a/platform/api.progress.compat8/nbproject/org-netbeans-api-progress-compat8.sig +++ b/platform/api.progress.compat8/nbproject/org-netbeans-api-progress-compat8.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.72 +#Version 1.73 CLSS public java.lang.Object cons public init() diff --git a/platform/api.progress.nb/nbproject/org-netbeans-api-progress-nb.sig b/platform/api.progress.nb/nbproject/org-netbeans-api-progress-nb.sig index 371c45f36899..3927a265eb59 100644 --- a/platform/api.progress.nb/nbproject/org-netbeans-api-progress-nb.sig +++ b/platform/api.progress.nb/nbproject/org-netbeans-api-progress-nb.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.73 +#Version 1.74 CLSS public abstract interface java.lang.AutoCloseable meth public abstract void close() throws java.lang.Exception diff --git a/platform/api.progress/nbproject/org-netbeans-api-progress.sig b/platform/api.progress/nbproject/org-netbeans-api-progress.sig index 2029cc8cd68c..d7db752557d3 100644 --- a/platform/api.progress/nbproject/org-netbeans-api-progress.sig +++ b/platform/api.progress/nbproject/org-netbeans-api-progress.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.73 +#Version 1.74 CLSS public abstract interface java.lang.AutoCloseable meth public abstract void close() throws java.lang.Exception diff --git a/platform/api.scripting/nbproject/org-netbeans-api-scripting.sig b/platform/api.scripting/nbproject/org-netbeans-api-scripting.sig index 4ca35e70be0b..4d46dbbbf2c3 100644 --- a/platform/api.scripting/nbproject/org-netbeans-api-scripting.sig +++ b/platform/api.scripting/nbproject/org-netbeans-api-scripting.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.22 +#Version 1.23 CLSS public java.lang.Object cons public init() diff --git a/platform/api.search/nbproject/org-netbeans-api-search.sig b/platform/api.search/nbproject/org-netbeans-api-search.sig index 05ae5cb1c68d..4db9c48ce4c5 100644 --- a/platform/api.search/nbproject/org-netbeans-api-search.sig +++ b/platform/api.search/nbproject/org-netbeans-api-search.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.46 +#Version 1.47 CLSS public abstract interface java.io.Serializable diff --git a/platform/api.templates/nbproject/org-netbeans-api-templates.sig b/platform/api.templates/nbproject/org-netbeans-api-templates.sig index 66fa568627df..c82ec3cca19f 100644 --- a/platform/api.templates/nbproject/org-netbeans-api-templates.sig +++ b/platform/api.templates/nbproject/org-netbeans-api-templates.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.33 +#Version 1.34 CLSS public abstract interface java.io.Serializable diff --git a/platform/api.visual/nbproject/org-netbeans-api-visual.sig b/platform/api.visual/nbproject/org-netbeans-api-visual.sig index 960b612ab08c..7836b9908701 100644 --- a/platform/api.visual/nbproject/org-netbeans-api-visual.sig +++ b/platform/api.visual/nbproject/org-netbeans-api-visual.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.73 +#Version 2.74 CLSS public abstract interface java.io.Serializable diff --git a/platform/autoupdate.services/nbproject/org-netbeans-modules-autoupdate-services.sig b/platform/autoupdate.services/nbproject/org-netbeans-modules-autoupdate-services.sig index d7ef05b0ec1c..003fa4bb5b33 100644 --- a/platform/autoupdate.services/nbproject/org-netbeans-modules-autoupdate-services.sig +++ b/platform/autoupdate.services/nbproject/org-netbeans-modules-autoupdate-services.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.81 +#Version 1.82 CLSS public abstract interface java.io.Serializable diff --git a/platform/autoupdate.ui/nbproject/org-netbeans-modules-autoupdate-ui.sig b/platform/autoupdate.ui/nbproject/org-netbeans-modules-autoupdate-ui.sig index 3040de40ad0c..5db6675e8fe6 100644 --- a/platform/autoupdate.ui/nbproject/org-netbeans-modules-autoupdate-ui.sig +++ b/platform/autoupdate.ui/nbproject/org-netbeans-modules-autoupdate-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.71 +#Version 1.72 CLSS public java.lang.Object cons public init() diff --git a/platform/core.multitabs/nbproject/org-netbeans-core-multitabs.sig b/platform/core.multitabs/nbproject/org-netbeans-core-multitabs.sig index d83810a8a7c5..86bad5f88b28 100644 --- a/platform/core.multitabs/nbproject/org-netbeans-core-multitabs.sig +++ b/platform/core.multitabs/nbproject/org-netbeans-core-multitabs.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.37.0 +#Version 1.38.0 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/core.multiview/nbproject/org-netbeans-core-multiview.sig b/platform/core.multiview/nbproject/org-netbeans-core-multiview.sig index 468adff9b9dc..8623435e62c1 100644 --- a/platform/core.multiview/nbproject/org-netbeans-core-multiview.sig +++ b/platform/core.multiview/nbproject/org-netbeans-core-multiview.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.69 +#Version 1.70 CLSS public abstract interface java.io.Serializable diff --git a/platform/core.netigso/nbproject/org-netbeans-core-netigso.sig b/platform/core.netigso/nbproject/org-netbeans-core-netigso.sig index f561a8c4454c..c5fe5584f430 100644 --- a/platform/core.netigso/nbproject/org-netbeans-core-netigso.sig +++ b/platform/core.netigso/nbproject/org-netbeans-core-netigso.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56 +#Version 1.57 CLSS public java.lang.Object cons public init() diff --git a/platform/core.network/nbproject/org-netbeans-core-network.sig b/platform/core.network/nbproject/org-netbeans-core-network.sig index 5e0c9e9bc099..53b5dfb0f505 100644 --- a/platform/core.network/nbproject/org-netbeans-core-network.sig +++ b/platform/core.network/nbproject/org-netbeans-core-network.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.37 +#Version 1.38 CLSS public abstract interface java.io.Serializable diff --git a/platform/core.startup.base/nbproject/org-netbeans-core-startup-base.sig b/platform/core.startup.base/nbproject/org-netbeans-core-startup-base.sig index 5d0a086eb8fb..bc2e121952cd 100644 --- a/platform/core.startup.base/nbproject/org-netbeans-core-startup-base.sig +++ b/platform/core.startup.base/nbproject/org-netbeans-core-startup-base.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.87.0 +#Version 1.88.0 CLSS public abstract interface java.io.Serializable diff --git a/platform/core.startup/nbproject/org-netbeans-core-startup.sig b/platform/core.startup/nbproject/org-netbeans-core-startup.sig index df822af68e4a..2f5e1159e848 100644 --- a/platform/core.startup/nbproject/org-netbeans-core-startup.sig +++ b/platform/core.startup/nbproject/org-netbeans-core-startup.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.88.0 +#Version 1.89.0 CLSS public abstract interface java.io.Serializable diff --git a/platform/core.windows/nbproject/org-netbeans-core-windows.sig b/platform/core.windows/nbproject/org-netbeans-core-windows.sig index 4cc994017c84..26e855b3e6c2 100644 --- a/platform/core.windows/nbproject/org-netbeans-core-windows.sig +++ b/platform/core.windows/nbproject/org-netbeans-core-windows.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.110 +#Version 2.111 CLSS public abstract java.awt.Component cons protected init() @@ -721,7 +721,7 @@ fld protected final org.netbeans.core.windows.options.LafOptionsPanelController meth protected boolean store() meth protected void load() supr javax.swing.JPanel -hfds COLOR_MODEL_CLASS_NAME,NO_RESTART_ON_LAF_CHANGE,buttonGroup1,checkMaximizeNativeLaF,comboLaf,defaultLookAndFeelIndex,isAquaLaF,lafs,lblLaf,lblRestart,panelLaF,panelLaFCombo,prefs,restartNotification +hfds COLOR_MODEL_CLASS_NAME,NO_RESTART_ON_LAF_CHANGE,checkMaximizeNativeLaF,comboLaf,defaultLookAndFeelIndex,lafs,lblRestart,panelLaFCombo,prefs,restartNotification,showAllLafs CLSS public org.netbeans.core.windows.options.TabsOptionsPanelController cons public init() diff --git a/platform/editor.mimelookup/nbproject/org-netbeans-modules-editor-mimelookup.sig b/platform/editor.mimelookup/nbproject/org-netbeans-modules-editor-mimelookup.sig index 3e5990736fcc..da524d4255a7 100644 --- a/platform/editor.mimelookup/nbproject/org-netbeans-modules-editor-mimelookup.sig +++ b/platform/editor.mimelookup/nbproject/org-netbeans-modules-editor-mimelookup.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.65 +#Version 1.66 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/platform/favorites/nbproject/org-netbeans-modules-favorites.sig b/platform/favorites/nbproject/org-netbeans-modules-favorites.sig index 034d8112bb20..567cb97662b1 100644 --- a/platform/favorites/nbproject/org-netbeans-modules-favorites.sig +++ b/platform/favorites/nbproject/org-netbeans-modules-favorites.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.71 +#Version 1.72 CLSS public java.lang.Object cons public init() diff --git a/platform/javahelp/nbproject/org-netbeans-modules-javahelp.sig b/platform/javahelp/nbproject/org-netbeans-modules-javahelp.sig index 039c1fc439f3..28fa08f78a1a 100644 --- a/platform/javahelp/nbproject/org-netbeans-modules-javahelp.sig +++ b/platform/javahelp/nbproject/org-netbeans-modules-javahelp.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.66 +#Version 2.67 CLSS public java.lang.Object cons public init() diff --git a/platform/keyring.fallback/nbproject/org-netbeans-modules-keyring-fallback.sig b/platform/keyring.fallback/nbproject/org-netbeans-modules-keyring-fallback.sig index 4b4019133438..1fe641cc889b 100644 --- a/platform/keyring.fallback/nbproject/org-netbeans-modules-keyring-fallback.sig +++ b/platform/keyring.fallback/nbproject/org-netbeans-modules-keyring-fallback.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.33 +#Version 1.34 CLSS public java.lang.Object cons public init() diff --git a/platform/keyring/nbproject/org-netbeans-modules-keyring.sig b/platform/keyring/nbproject/org-netbeans-modules-keyring.sig index 0e8c69005109..9ced69146d7a 100644 --- a/platform/keyring/nbproject/org-netbeans-modules-keyring.sig +++ b/platform/keyring/nbproject/org-netbeans-modules-keyring.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.49 +#Version 1.50 CLSS public java.lang.Object cons public init() diff --git a/platform/lib.uihandler/nbproject/org-netbeans-lib-uihandler.sig b/platform/lib.uihandler/nbproject/org-netbeans-lib-uihandler.sig index 8f9d8b854c9e..c6d705a3d532 100644 --- a/platform/lib.uihandler/nbproject/org-netbeans-lib-uihandler.sig +++ b/platform/lib.uihandler/nbproject/org-netbeans-lib-uihandler.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.70 +#Version 1.71 CLSS public abstract interface java.io.Serializable diff --git a/platform/libs.asm/nbproject/org-netbeans-libs-asm.sig b/platform/libs.asm/nbproject/org-netbeans-libs-asm.sig index 3b12520fb963..534fab7ff641 100644 --- a/platform/libs.asm/nbproject/org-netbeans-libs-asm.sig +++ b/platform/libs.asm/nbproject/org-netbeans-libs-asm.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 5.28 +#Version 5.29 CLSS public abstract interface java.io.Serializable @@ -84,10 +84,14 @@ fld public final java.lang.String type meth protected org.objectweb.asm.Attribute read(org.objectweb.asm.ClassReader,int,int,char[],int,org.objectweb.asm.Label[]) meth protected org.objectweb.asm.ByteVector write(org.objectweb.asm.ClassWriter,byte[],int,int,int) meth protected org.objectweb.asm.Label[] getLabels() + anno 0 java.lang.Deprecated() meth public boolean isCodeAttribute() meth public boolean isUnknown() +meth public static byte[] write(org.objectweb.asm.Attribute,org.objectweb.asm.ClassWriter,byte[],int,int,int) +meth public static org.objectweb.asm.Attribute read(org.objectweb.asm.Attribute,org.objectweb.asm.ClassReader,int,int,char[],int,org.objectweb.asm.Label[]) +meth public static org.objectweb.asm.Label readLabel(org.objectweb.asm.ClassReader,int,org.objectweb.asm.Label[]) supr java.lang.Object -hfds content,nextAttribute +hfds cachedContent,nextAttribute hcls Set CLSS public org.objectweb.asm.ByteVector @@ -117,6 +121,7 @@ fld public final static int SKIP_DEBUG = 2 fld public final static int SKIP_FRAMES = 4 meth protected org.objectweb.asm.Label readLabel(int,org.objectweb.asm.Label[]) meth protected void readBytecodeInstructionOffset(int) +meth public byte[] readBytes(int,int) meth public int getAccess() meth public int getItem(int) meth public int getItemCount() @@ -186,6 +191,7 @@ meth public final org.objectweb.asm.FieldVisitor visitField(int,java.lang.String meth public final org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]) meth public final org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String) meth public final org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String) +meth public final void setFlags(int) meth public final void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]) meth public final void visitAttribute(org.objectweb.asm.Attribute) meth public final void visitEnd() @@ -564,6 +570,7 @@ fld public final static int V20 = 64 fld public final static int V21 = 65 fld public final static int V22 = 66 fld public final static int V23 = 67 +fld public final static int V24 = 68 fld public final static int V9 = 53 fld public final static int V_PREVIEW = -65536 fld public final static java.lang.Integer DOUBLE diff --git a/platform/libs.batik.read/nbproject/org-netbeans-libs-batik-read.sig b/platform/libs.batik.read/nbproject/org-netbeans-libs-batik-read.sig index fe921165a946..2415c7078bd7 100644 --- a/platform/libs.batik.read/nbproject/org-netbeans-libs-batik-read.sig +++ b/platform/libs.batik.read/nbproject/org-netbeans-libs-batik-read.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.20.0 +#Version 1.21.0 CLSS public java.awt.Color cons public init(float,float,float) diff --git a/platform/libs.flatlaf/nbproject/org-netbeans-libs-flatlaf.sig b/platform/libs.flatlaf/nbproject/org-netbeans-libs-flatlaf.sig index 40f558256c62..6bc4be07bf1c 100644 --- a/platform/libs.flatlaf/nbproject/org-netbeans-libs-flatlaf.sig +++ b/platform/libs.flatlaf/nbproject/org-netbeans-libs-flatlaf.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.19 +#Version 1.20 CLSS public abstract interface com.formdev.flatlaf.FlatClientProperties fld public final static java.lang.String BUTTON_TYPE = "JButton.buttonType" @@ -100,6 +100,7 @@ fld public final static java.lang.String TEXT_FIELD_TRAILING_COMPONENT = "JTextF fld public final static java.lang.String TEXT_FIELD_TRAILING_ICON = "JTextField.trailingIcon" fld public final static java.lang.String TITLE_BAR_BACKGROUND = "JRootPane.titleBarBackground" fld public final static java.lang.String TITLE_BAR_FOREGROUND = "JRootPane.titleBarForeground" +fld public final static java.lang.String TITLE_BAR_HEIGHT = "JRootPane.titleBarHeight" fld public final static java.lang.String TITLE_BAR_SHOW_CLOSE = "JRootPane.titleBarShowClose" fld public final static java.lang.String TITLE_BAR_SHOW_ICON = "JRootPane.titleBarShowIcon" fld public final static java.lang.String TITLE_BAR_SHOW_ICONIFFY = "JRootPane.titleBarShowIconify" @@ -223,6 +224,7 @@ meth public static java.util.Map> getStyleab meth public static java.util.Map getGlobalExtraDefaults() meth public static java.util.function.Function getSystemColorGetter() meth public static javax.swing.UIDefaults$ActiveValue createActiveFontValue(float) +meth public static void disableWindowsD3Donscreen() meth public static void hideMnemonics() meth public static void initIconColors(javax.swing.UIDefaults,boolean) meth public static void installLafInfo(java.lang.String,java.lang.Class) @@ -296,6 +298,7 @@ fld public final static java.lang.String UPDATE_UI_ON_SYSTEM_FONT_CHANGE = "flat fld public final static java.lang.String USE_JETBRAINS_CUSTOM_DECORATIONS = "flatlaf.useJetBrainsCustomDecorations" anno 0 java.lang.Deprecated() fld public final static java.lang.String USE_NATIVE_LIBRARY = "flatlaf.useNativeLibrary" +fld public final static java.lang.String USE_ROUNDED_POPUP_BORDER = "flatlaf.useRoundedPopupBorder" fld public final static java.lang.String USE_SUB_MENU_SAFE_TRIANGLE = "flatlaf.useSubMenuSafeTriangle" fld public final static java.lang.String USE_TEXT_Y_CORRECTION = "flatlaf.useTextYCorrection" fld public final static java.lang.String USE_UBUNTU_FONT = "flatlaf.useUbuntuFont" diff --git a/platform/libs.javafx/nbproject/org-netbeans-libs-javafx.sig b/platform/libs.javafx/nbproject/org-netbeans-libs-javafx.sig index 457ab937b9d9..e05809a958d9 100644 --- a/platform/libs.javafx/nbproject/org-netbeans-libs-javafx.sig +++ b/platform/libs.javafx/nbproject/org-netbeans-libs-javafx.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.32 +#Version 2.33 CLSS public abstract interface !annotation com.sun.javafx.beans.IDProperty anno 0 java.lang.annotation.Documented() diff --git a/platform/libs.javax.inject/nbproject/org-netbeans-libs-javax-inject.sig b/platform/libs.javax.inject/nbproject/org-netbeans-libs-javax-inject.sig new file mode 100644 index 000000000000..7268a751720f --- /dev/null +++ b/platform/libs.javax.inject/nbproject/org-netbeans-libs-javax-inject.sig @@ -0,0 +1,63 @@ +#Signature file v4.1 +#Version 2.61 + +CLSS public abstract interface java.lang.annotation.Annotation +meth public abstract boolean equals(java.lang.Object) +meth public abstract int hashCode() +meth public abstract java.lang.Class annotationType() +meth public abstract java.lang.String toString() + +CLSS public abstract interface !annotation java.lang.annotation.Documented + anno 0 java.lang.annotation.Documented() + anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) + anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE]) +intf java.lang.annotation.Annotation + +CLSS public abstract interface !annotation java.lang.annotation.Retention + anno 0 java.lang.annotation.Documented() + anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) + anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE]) +intf java.lang.annotation.Annotation +meth public abstract java.lang.annotation.RetentionPolicy value() + +CLSS public abstract interface !annotation java.lang.annotation.Target + anno 0 java.lang.annotation.Documented() + anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) + anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE]) +intf java.lang.annotation.Annotation +meth public abstract java.lang.annotation.ElementType[] value() + +CLSS public abstract interface !annotation javax.inject.Inject + anno 0 java.lang.annotation.Documented() + anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) + anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[METHOD, CONSTRUCTOR, FIELD]) +intf java.lang.annotation.Annotation + +CLSS public abstract interface !annotation javax.inject.Named + anno 0 java.lang.annotation.Documented() + anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) + anno 0 javax.inject.Qualifier() +intf java.lang.annotation.Annotation +meth public abstract !hasdefault java.lang.String value() + +CLSS public abstract interface javax.inject.Provider<%0 extends java.lang.Object> +meth public abstract {javax.inject.Provider%0} get() + +CLSS public abstract interface !annotation javax.inject.Qualifier + anno 0 java.lang.annotation.Documented() + anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) + anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE]) +intf java.lang.annotation.Annotation + +CLSS public abstract interface !annotation javax.inject.Scope + anno 0 java.lang.annotation.Documented() + anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) + anno 0 java.lang.annotation.Target(java.lang.annotation.ElementType[] value=[ANNOTATION_TYPE]) +intf java.lang.annotation.Annotation + +CLSS public abstract interface !annotation javax.inject.Singleton + anno 0 java.lang.annotation.Documented() + anno 0 java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy value=RUNTIME) + anno 0 javax.inject.Scope() +intf java.lang.annotation.Annotation + diff --git a/platform/libs.jna.platform/nbproject/org-netbeans-libs-jna-platform.sig b/platform/libs.jna.platform/nbproject/org-netbeans-libs-jna-platform.sig index 15f394085f05..74a555ad09fe 100644 --- a/platform/libs.jna.platform/nbproject/org-netbeans-libs-jna-platform.sig +++ b/platform/libs.jna.platform/nbproject/org-netbeans-libs-jna-platform.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.20 +#Version 2.21 CLSS public abstract interface com.sun.jna.AltCallingConvention diff --git a/platform/libs.jna/nbproject/org-netbeans-libs-jna.sig b/platform/libs.jna/nbproject/org-netbeans-libs-jna.sig index 5e8ccd69c17d..c2f8f4172002 100644 --- a/platform/libs.jna/nbproject/org-netbeans-libs-jna.sig +++ b/platform/libs.jna/nbproject/org-netbeans-libs-jna.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.20 +#Version 2.21 CLSS public abstract interface com.sun.jna.AltCallingConvention diff --git a/platform/libs.jsr223/nbproject/org-netbeans-libs-jsr223.sig b/platform/libs.jsr223/nbproject/org-netbeans-libs-jsr223.sig index cc0a093248e5..316da8fd7039 100644 --- a/platform/libs.jsr223/nbproject/org-netbeans-libs-jsr223.sig +++ b/platform/libs.jsr223/nbproject/org-netbeans-libs-jsr223.sig @@ -1,3 +1,3 @@ #Signature file v4.1 -#Version 1.60 +#Version 1.61 diff --git a/platform/libs.junit4/nbproject/org-netbeans-libs-junit4.sig b/platform/libs.junit4/nbproject/org-netbeans-libs-junit4.sig index 0fb47ea8dbb6..592fbf533c6d 100644 --- a/platform/libs.junit4/nbproject/org-netbeans-libs-junit4.sig +++ b/platform/libs.junit4/nbproject/org-netbeans-libs-junit4.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.43 +#Version 1.44 CLSS public abstract interface java.io.Serializable diff --git a/platform/libs.junit5/nbproject/org-netbeans-libs-junit5.sig b/platform/libs.junit5/nbproject/org-netbeans-libs-junit5.sig index 2c326210b578..c4e09f26eee6 100644 --- a/platform/libs.junit5/nbproject/org-netbeans-libs-junit5.sig +++ b/platform/libs.junit5/nbproject/org-netbeans-libs-junit5.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.22 +#Version 1.23 CLSS public abstract interface java.io.Serializable diff --git a/platform/libs.testng/nbproject/org-netbeans-libs-testng.sig b/platform/libs.testng/nbproject/org-netbeans-libs-testng.sig index b95d40f394d5..816aaef07086 100644 --- a/platform/libs.testng/nbproject/org-netbeans-libs-testng.sig +++ b/platform/libs.testng/nbproject/org-netbeans-libs-testng.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.39 +#Version 1.40 CLSS public abstract interface java.io.Serializable diff --git a/platform/masterfs.ui/nbproject/org-netbeans-modules-masterfs-ui.sig b/platform/masterfs.ui/nbproject/org-netbeans-modules-masterfs-ui.sig index 9715614bf681..69a98954a9d4 100644 --- a/platform/masterfs.ui/nbproject/org-netbeans-modules-masterfs-ui.sig +++ b/platform/masterfs.ui/nbproject/org-netbeans-modules-masterfs-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.28.0 +#Version 2.29.0 CLSS public abstract interface java.io.Serializable diff --git a/platform/masterfs/nbproject/org-netbeans-modules-masterfs.sig b/platform/masterfs/nbproject/org-netbeans-modules-masterfs.sig index 998b833a80c9..c8ac6690c4eb 100644 --- a/platform/masterfs/nbproject/org-netbeans-modules-masterfs.sig +++ b/platform/masterfs/nbproject/org-netbeans-modules-masterfs.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.80.0 +#Version 2.81.0 CLSS public abstract interface java.io.Serializable diff --git a/platform/netbinox/nbproject/org-netbeans-modules-netbinox.sig b/platform/netbinox/nbproject/org-netbeans-modules-netbinox.sig index e956254f5733..95d697b6e92c 100644 --- a/platform/netbinox/nbproject/org-netbeans-modules-netbinox.sig +++ b/platform/netbinox/nbproject/org-netbeans-modules-netbinox.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.66 +#Version 1.67 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/platform/o.n.bootstrap/nbproject/org-netbeans-bootstrap.sig b/platform/o.n.bootstrap/nbproject/org-netbeans-bootstrap.sig index 11db9deb19cf..d946568e7644 100644 --- a/platform/o.n.bootstrap/nbproject/org-netbeans-bootstrap.sig +++ b/platform/o.n.bootstrap/nbproject/org-netbeans-bootstrap.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.104 +#Version 2.105 CLSS public java.awt.datatransfer.Clipboard cons public init(java.lang.String) @@ -450,7 +450,7 @@ meth public void flavorsChanged(java.awt.datatransfer.FlavorEvent) meth public void resultChanged(org.openide.util.LookupEvent) meth public void setContents(java.awt.datatransfer.Transferable,java.awt.datatransfer.ClipboardOwner) supr org.openide.util.datatransfer.ExClipboard -hfds FIRING,RP,anyWindowIsActivated,convertors,getContentsTask,last,lastWindowActivated,lastWindowDeactivated,lastWindowDeactivatedSource,log,result,setContentsTask,slowSystemClipboard,systemClipboard +hfds FIRING,RP,anyWindowIsActivated,convertors,getContentsTask,last,log,result,setContentsTask,slowSystemClipboard,systemClipboard hcls GetContents,LoggableTransferable,SetContents CLSS public org.netbeans.NbExecJavaStartTry diff --git a/platform/o.n.core/nbproject/org-netbeans-core.sig b/platform/o.n.core/nbproject/org-netbeans-core.sig index ff195def6a43..78138c4a6710 100644 --- a/platform/o.n.core/nbproject/org-netbeans-core.sig +++ b/platform/o.n.core/nbproject/org-netbeans-core.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.76 +#Version 3.77 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/o.n.swing.outline/nbproject/org-netbeans-swing-outline.sig b/platform/o.n.swing.outline/nbproject/org-netbeans-swing-outline.sig index 70459b3494a6..ddc1f8674943 100644 --- a/platform/o.n.swing.outline/nbproject/org-netbeans-swing-outline.sig +++ b/platform/o.n.swing.outline/nbproject/org-netbeans-swing-outline.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.59 +#Version 1.60 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/o.n.swing.plaf/nbproject/org-netbeans-swing-plaf.sig b/platform/o.n.swing.plaf/nbproject/org-netbeans-swing-plaf.sig index 4cabbea54a59..b52c34d2d174 100644 --- a/platform/o.n.swing.plaf/nbproject/org-netbeans-swing-plaf.sig +++ b/platform/o.n.swing.plaf/nbproject/org-netbeans-swing-plaf.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.67 +#Version 1.68 CLSS public java.lang.Object cons public init() diff --git a/platform/o.n.swing.tabcontrol/nbproject/org-netbeans-swing-tabcontrol.sig b/platform/o.n.swing.tabcontrol/nbproject/org-netbeans-swing-tabcontrol.sig index 3367b87f2de2..db32cede8429 100644 --- a/platform/o.n.swing.tabcontrol/nbproject/org-netbeans-swing-tabcontrol.sig +++ b/platform/o.n.swing.tabcontrol/nbproject/org-netbeans-swing-tabcontrol.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.82 +#Version 1.83 CLSS public abstract java.awt.AWTEvent cons public init(java.awt.Event) diff --git a/platform/openide.actions/nbproject/org-openide-actions.sig b/platform/openide.actions/nbproject/org-openide-actions.sig index 6afecc5aab69..86e7321b8198 100644 --- a/platform/openide.actions/nbproject/org-openide-actions.sig +++ b/platform/openide.actions/nbproject/org-openide-actions.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 6.64 +#Version 6.65 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/platform/openide.awt/nbproject/org-openide-awt.sig b/platform/openide.awt/nbproject/org-openide-awt.sig index 8137e7c1e210..74a1ab082231 100644 --- a/platform/openide.awt/nbproject/org-openide-awt.sig +++ b/platform/openide.awt/nbproject/org-openide-awt.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 7.93 +#Version 7.94 CLSS public java.awt.Canvas cons public init() diff --git a/platform/openide.compat/nbproject/org-openide-compat.sig b/platform/openide.compat/nbproject/org-openide-compat.sig index ab77ccdd7089..e212c63bb596 100644 --- a/platform/openide.compat/nbproject/org-openide-compat.sig +++ b/platform/openide.compat/nbproject/org-openide-compat.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 6.65 +#Version 6.66 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/openide.dialogs/nbproject/org-openide-dialogs.sig b/platform/openide.dialogs/nbproject/org-openide-dialogs.sig index 99ce294aeab7..a6b9424c27b1 100644 --- a/platform/openide.dialogs/nbproject/org-openide-dialogs.sig +++ b/platform/openide.dialogs/nbproject/org-openide-dialogs.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 7.72 +#Version 7.73 CLSS public abstract interface java.io.Serializable diff --git a/platform/openide.execution.compat8/nbproject/org-openide-execution-compat8.sig b/platform/openide.execution.compat8/nbproject/org-openide-execution-compat8.sig index 97319c3e84a8..da867807f8e5 100644 --- a/platform/openide.execution.compat8/nbproject/org-openide-execution-compat8.sig +++ b/platform/openide.execution.compat8/nbproject/org-openide-execution-compat8.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.27 +#Version 9.28 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/platform/openide.execution/nbproject/org-openide-execution.sig b/platform/openide.execution/nbproject/org-openide-execution.sig index 51ba5ae8edbb..be43e815a251 100644 --- a/platform/openide.execution/nbproject/org-openide-execution.sig +++ b/platform/openide.execution/nbproject/org-openide-execution.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.28 +#Version 9.29 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/platform/openide.explorer/nbproject/org-openide-explorer.sig b/platform/openide.explorer/nbproject/org-openide-explorer.sig index dae07c35555e..5480c9f6601e 100644 --- a/platform/openide.explorer/nbproject/org-openide-explorer.sig +++ b/platform/openide.explorer/nbproject/org-openide-explorer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 6.87 +#Version 6.88 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/openide.filesystems.compat8/nbproject/org-openide-filesystems-compat8.sig b/platform/openide.filesystems.compat8/nbproject/org-openide-filesystems-compat8.sig index 82a5ef4720e7..c0b2fb38f045 100644 --- a/platform/openide.filesystems.compat8/nbproject/org-openide-filesystems-compat8.sig +++ b/platform/openide.filesystems.compat8/nbproject/org-openide-filesystems-compat8.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.34 +#Version 9.35 CLSS public java.io.IOException cons public init() diff --git a/platform/openide.filesystems.nb/nbproject/org-openide-filesystems-nb.sig b/platform/openide.filesystems.nb/nbproject/org-openide-filesystems-nb.sig index a89ec53b3303..fdbee23c3503 100644 --- a/platform/openide.filesystems.nb/nbproject/org-openide-filesystems-nb.sig +++ b/platform/openide.filesystems.nb/nbproject/org-openide-filesystems-nb.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.35 +#Version 9.36 CLSS public java.io.IOException cons public init() diff --git a/platform/openide.filesystems/nbproject/org-openide-filesystems.sig b/platform/openide.filesystems/nbproject/org-openide-filesystems.sig index 7a3307a52bd5..f7ea8f54cd4a 100644 --- a/platform/openide.filesystems/nbproject/org-openide-filesystems.sig +++ b/platform/openide.filesystems/nbproject/org-openide-filesystems.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.38 +#Version 9.39 CLSS public java.io.IOException cons public init() diff --git a/platform/openide.io/nbproject/org-openide-io.sig b/platform/openide.io/nbproject/org-openide-io.sig index 98e201ac2dc5..afc7892ef215 100644 --- a/platform/openide.io/nbproject/org-openide-io.sig +++ b/platform/openide.io/nbproject/org-openide-io.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.74 +#Version 1.75 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/platform/openide.loaders/nbproject/org-openide-loaders.sig b/platform/openide.loaders/nbproject/org-openide-loaders.sig index e57c1c764de0..f4cbc2628ca7 100644 --- a/platform/openide.loaders/nbproject/org-openide-loaders.sig +++ b/platform/openide.loaders/nbproject/org-openide-loaders.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 7.95 +#Version 7.96 CLSS public java.awt.Canvas cons public init() diff --git a/platform/openide.modules/nbproject/org-openide-modules.sig b/platform/openide.modules/nbproject/org-openide-modules.sig index 42610489d5e2..bb689edf8924 100644 --- a/platform/openide.modules/nbproject/org-openide-modules.sig +++ b/platform/openide.modules/nbproject/org-openide-modules.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 7.73 +#Version 7.74 CLSS public abstract interface java.io.Externalizable intf java.io.Serializable diff --git a/platform/openide.nodes/nbproject/org-openide-nodes.sig b/platform/openide.nodes/nbproject/org-openide-nodes.sig index e472abf1ce61..265b212a4ba3 100644 --- a/platform/openide.nodes/nbproject/org-openide-nodes.sig +++ b/platform/openide.nodes/nbproject/org-openide-nodes.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 7.70 +#Version 7.71 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/openide.options/nbproject/org-openide-options.sig b/platform/openide.options/nbproject/org-openide-options.sig index d832806e0448..dd22357957ac 100644 --- a/platform/openide.options/nbproject/org-openide-options.sig +++ b/platform/openide.options/nbproject/org-openide-options.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 6.62 +#Version 6.63 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/openide.text/nbproject/org-openide-text.sig b/platform/openide.text/nbproject/org-openide-text.sig index 3ffc257ca416..6654d7952c51 100644 --- a/platform/openide.text/nbproject/org-openide-text.sig +++ b/platform/openide.text/nbproject/org-openide-text.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 6.93 +#Version 6.94 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/openide.util.lookup/nbproject/org-openide-util-lookup.sig b/platform/openide.util.lookup/nbproject/org-openide-util-lookup.sig index 88c8087a61e5..357c36d0c5fb 100644 --- a/platform/openide.util.lookup/nbproject/org-openide-util-lookup.sig +++ b/platform/openide.util.lookup/nbproject/org-openide-util-lookup.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 8.59 +#Version 8.60 CLSS public abstract interface java.io.Serializable diff --git a/platform/openide.util.ui/nbproject/org-openide-util-ui.sig b/platform/openide.util.ui/nbproject/org-openide-util-ui.sig index 162d87917f9d..c8f4ba61bddd 100644 --- a/platform/openide.util.ui/nbproject/org-openide-util-ui.sig +++ b/platform/openide.util.ui/nbproject/org-openide-util-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.34 +#Version 9.35 CLSS public java.awt.datatransfer.Clipboard cons public init(java.lang.String) diff --git a/platform/openide.util/nbproject/org-openide-util.sig b/platform/openide.util/nbproject/org-openide-util.sig index 819701ae7742..b33e32a0552b 100644 --- a/platform/openide.util/nbproject/org-openide-util.sig +++ b/platform/openide.util/nbproject/org-openide-util.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 9.33 +#Version 9.34 CLSS public abstract interface java.io.Closeable intf java.lang.AutoCloseable diff --git a/platform/openide.windows/nbproject/org-openide-windows.sig b/platform/openide.windows/nbproject/org-openide-windows.sig index 0a55514a3c30..46765ea9c1d4 100644 --- a/platform/openide.windows/nbproject/org-openide-windows.sig +++ b/platform/openide.windows/nbproject/org-openide-windows.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 6.102 +#Version 6.103 CLSS public abstract java.awt.Component cons protected init() diff --git a/platform/options.api/nbproject/org-netbeans-modules-options-api.sig b/platform/options.api/nbproject/org-netbeans-modules-options-api.sig index 73b3475108f6..e4558f8954ae 100644 --- a/platform/options.api/nbproject/org-netbeans-modules-options-api.sig +++ b/platform/options.api/nbproject/org-netbeans-modules-options-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.70 +#Version 1.71 CLSS public java.lang.Object cons public init() diff --git a/platform/options.keymap/nbproject/org-netbeans-modules-options-keymap.sig b/platform/options.keymap/nbproject/org-netbeans-modules-options-keymap.sig index 0fb57f14877c..ee385d1101bb 100644 --- a/platform/options.keymap/nbproject/org-netbeans-modules-options-keymap.sig +++ b/platform/options.keymap/nbproject/org-netbeans-modules-options-keymap.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.62 +#Version 1.63 CLSS public java.lang.Object cons public init() diff --git a/platform/print/nbproject/org-netbeans-modules-print.sig b/platform/print/nbproject/org-netbeans-modules-print.sig index 432eda37a7e7..cfcfde4c53f7 100644 --- a/platform/print/nbproject/org-netbeans-modules-print.sig +++ b/platform/print/nbproject/org-netbeans-modules-print.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 7.51 +#Version 7.52 CLSS public java.lang.Object cons public init() diff --git a/platform/queries/nbproject/org-netbeans-modules-queries.sig b/platform/queries/nbproject/org-netbeans-modules-queries.sig index 4948cdf58cf6..115bf1e775cf 100644 --- a/platform/queries/nbproject/org-netbeans-modules-queries.sig +++ b/platform/queries/nbproject/org-netbeans-modules-queries.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.68 +#Version 1.69 CLSS public abstract interface java.io.Serializable diff --git a/platform/sampler/nbproject/org-netbeans-modules-sampler.sig b/platform/sampler/nbproject/org-netbeans-modules-sampler.sig index f65e8ac1d87f..b660046aba2e 100644 --- a/platform/sampler/nbproject/org-netbeans-modules-sampler.sig +++ b/platform/sampler/nbproject/org-netbeans-modules-sampler.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.39 +#Version 1.40 CLSS public java.lang.Object cons public init() diff --git a/platform/sendopts/nbproject/org-netbeans-modules-sendopts.sig b/platform/sendopts/nbproject/org-netbeans-modules-sendopts.sig index 9677c57983ad..3744676b477b 100644 --- a/platform/sendopts/nbproject/org-netbeans-modules-sendopts.sig +++ b/platform/sendopts/nbproject/org-netbeans-modules-sendopts.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.61 +#Version 2.62 CLSS public abstract interface java.io.Serializable diff --git a/platform/settings/nbproject/org-netbeans-modules-settings.sig b/platform/settings/nbproject/org-netbeans-modules-settings.sig index 56a026bc6c76..aa96a01cf412 100644 --- a/platform/settings/nbproject/org-netbeans-modules-settings.sig +++ b/platform/settings/nbproject/org-netbeans-modules-settings.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.74 +#Version 1.75 CLSS public java.lang.Object cons public init() diff --git a/platform/spi.actions/nbproject/org-netbeans-modules-spi-actions.sig b/platform/spi.actions/nbproject/org-netbeans-modules-spi-actions.sig index ee80215ba40d..be12fd2f1da1 100644 --- a/platform/spi.actions/nbproject/org-netbeans-modules-spi-actions.sig +++ b/platform/spi.actions/nbproject/org-netbeans-modules-spi-actions.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.53 +#Version 1.54 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/platform/spi.quicksearch/nbproject/org-netbeans-spi-quicksearch.sig b/platform/spi.quicksearch/nbproject/org-netbeans-spi-quicksearch.sig index 3440c76c7ea9..5dff2c078372 100644 --- a/platform/spi.quicksearch/nbproject/org-netbeans-spi-quicksearch.sig +++ b/platform/spi.quicksearch/nbproject/org-netbeans-spi-quicksearch.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.52 +#Version 1.53 CLSS public java.lang.Object cons public init() diff --git a/platform/uihandler/nbproject/org-netbeans-modules-uihandler.sig b/platform/uihandler/nbproject/org-netbeans-modules-uihandler.sig index 5c4642ffa488..e04fad792c80 100644 --- a/platform/uihandler/nbproject/org-netbeans-modules-uihandler.sig +++ b/platform/uihandler/nbproject/org-netbeans-modules-uihandler.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.60 +#Version 2.61 CLSS public java.lang.Object cons public init() diff --git a/profiler/lib.profiler.charts/nbproject/org-netbeans-lib-profiler-charts.sig b/profiler/lib.profiler.charts/nbproject/org-netbeans-lib-profiler-charts.sig index 0da1f785e98f..aebf0fcd7c0a 100644 --- a/profiler/lib.profiler.charts/nbproject/org-netbeans-lib-profiler-charts.sig +++ b/profiler/lib.profiler.charts/nbproject/org-netbeans-lib-profiler-charts.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55 +#Version 1.56 CLSS public abstract java.awt.Component cons protected init() diff --git a/profiler/lib.profiler.common/nbproject/org-netbeans-lib-profiler-common.sig b/profiler/lib.profiler.common/nbproject/org-netbeans-lib-profiler-common.sig index 82942e617df5..927e3d566f91 100644 --- a/profiler/lib.profiler.common/nbproject/org-netbeans-lib-profiler-common.sig +++ b/profiler/lib.profiler.common/nbproject/org-netbeans-lib-profiler-common.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.72 +#Version 1.73 CLSS public java.lang.Object cons public init() diff --git a/profiler/lib.profiler.ui/nbproject/org-netbeans-lib-profiler-ui.sig b/profiler/lib.profiler.ui/nbproject/org-netbeans-lib-profiler-ui.sig index d3307ccadbbf..a9a57349b5f3 100644 --- a/profiler/lib.profiler.ui/nbproject/org-netbeans-lib-profiler-ui.sig +++ b/profiler/lib.profiler.ui/nbproject/org-netbeans-lib-profiler-ui.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.171 +#Version 1.172 CLSS public abstract java.awt.Component cons protected init() diff --git a/profiler/lib.profiler/nbproject/org-netbeans-lib-profiler.sig b/profiler/lib.profiler/nbproject/org-netbeans-lib-profiler.sig index 5fb168067200..75128037323e 100644 --- a/profiler/lib.profiler/nbproject/org-netbeans-lib-profiler.sig +++ b/profiler/lib.profiler/nbproject/org-netbeans-lib-profiler.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.134 +#Version 1.135 CLSS public abstract interface java.io.Serializable diff --git a/profiler/profiler.api/nbproject/org-netbeans-modules-profiler-api.sig b/profiler/profiler.api/nbproject/org-netbeans-modules-profiler-api.sig index ea0a1fecd2af..d5d08bb11db8 100644 --- a/profiler/profiler.api/nbproject/org-netbeans-modules-profiler-api.sig +++ b/profiler/profiler.api/nbproject/org-netbeans-modules-profiler-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.75 +#Version 1.76 CLSS public abstract interface java.io.Serializable diff --git a/profiler/profiler.attach/nbproject/org-netbeans-modules-profiler-attach.sig b/profiler/profiler.attach/nbproject/org-netbeans-modules-profiler-attach.sig index 4a5d4ae1ed65..391d23cf0e71 100644 --- a/profiler/profiler.attach/nbproject/org-netbeans-modules-profiler-attach.sig +++ b/profiler/profiler.attach/nbproject/org-netbeans-modules-profiler-attach.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.46 +#Version 2.47 CLSS public java.lang.Object cons public init() diff --git a/profiler/profiler.heapwalker/nbproject/org-netbeans-modules-profiler-heapwalker.sig b/profiler/profiler.heapwalker/nbproject/org-netbeans-modules-profiler-heapwalker.sig index 92d55a2b6afa..c91e212874e3 100644 --- a/profiler/profiler.heapwalker/nbproject/org-netbeans-modules-profiler-heapwalker.sig +++ b/profiler/profiler.heapwalker/nbproject/org-netbeans-modules-profiler-heapwalker.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.137 +#Version 1.138 CLSS public abstract java.awt.Component cons protected init() diff --git a/profiler/profiler.nbimpl/nbproject/org-netbeans-modules-profiler-nbimpl.sig b/profiler/profiler.nbimpl/nbproject/org-netbeans-modules-profiler-nbimpl.sig index 290c958fadd2..49cf4a7c21cd 100644 --- a/profiler/profiler.nbimpl/nbproject/org-netbeans-modules-profiler-nbimpl.sig +++ b/profiler/profiler.nbimpl/nbproject/org-netbeans-modules-profiler-nbimpl.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.50 +#Version 1.51 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/profiler/profiler.oql/nbproject/org-netbeans-modules-profiler-oql.sig b/profiler/profiler.oql/nbproject/org-netbeans-modules-profiler-oql.sig index 702f9c9fd7be..4c2cb425c2c7 100644 --- a/profiler/profiler.oql/nbproject/org-netbeans-modules-profiler-oql.sig +++ b/profiler/profiler.oql/nbproject/org-netbeans-modules-profiler-oql.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.43 +#Version 2.44 CLSS public abstract interface java.io.Serializable diff --git a/profiler/profiler.ppoints/nbproject/org-netbeans-modules-profiler-ppoints.sig b/profiler/profiler.ppoints/nbproject/org-netbeans-modules-profiler-ppoints.sig index 4d8f86c76f5d..f4dd0abb52e8 100644 --- a/profiler/profiler.ppoints/nbproject/org-netbeans-modules-profiler-ppoints.sig +++ b/profiler/profiler.ppoints/nbproject/org-netbeans-modules-profiler-ppoints.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.49 +#Version 1.50 CLSS public abstract java.awt.Component cons protected init() diff --git a/profiler/profiler.projectsupport/nbproject/org-netbeans-modules-profiler-projectsupport.sig b/profiler/profiler.projectsupport/nbproject/org-netbeans-modules-profiler-projectsupport.sig index d87fc6fc1058..180c34059617 100644 --- a/profiler/profiler.projectsupport/nbproject/org-netbeans-modules-profiler-projectsupport.sig +++ b/profiler/profiler.projectsupport/nbproject/org-netbeans-modules-profiler-projectsupport.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.58 +#Version 1.59 CLSS public java.lang.Object cons public init() diff --git a/profiler/profiler.snaptracer/nbproject/org-netbeans-modules-profiler-snaptracer.sig b/profiler/profiler.snaptracer/nbproject/org-netbeans-modules-profiler-snaptracer.sig index 13eb61e3989a..989664bf9404 100644 --- a/profiler/profiler.snaptracer/nbproject/org-netbeans-modules-profiler-snaptracer.sig +++ b/profiler/profiler.snaptracer/nbproject/org-netbeans-modules-profiler-snaptracer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.49 +#Version 1.50 CLSS public abstract interface java.awt.event.ActionListener intf java.util.EventListener diff --git a/profiler/profiler.utilities/nbproject/org-netbeans-modules-profiler-utilities.sig b/profiler/profiler.utilities/nbproject/org-netbeans-modules-profiler-utilities.sig index 5dde2eb3e7fb..e695d440e3ba 100644 --- a/profiler/profiler.utilities/nbproject/org-netbeans-modules-profiler-utilities.sig +++ b/profiler/profiler.utilities/nbproject/org-netbeans-modules-profiler-utilities.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.62 +#Version 1.63 CLSS public java.lang.Object cons public init() diff --git a/profiler/profiler/nbproject/org-netbeans-modules-profiler.sig b/profiler/profiler/nbproject/org-netbeans-modules-profiler.sig index 2940a79830a9..27645e3f1909 100644 --- a/profiler/profiler/nbproject/org-netbeans-modules-profiler.sig +++ b/profiler/profiler/nbproject/org-netbeans-modules-profiler.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.54 +#Version 3.55 CLSS public abstract java.awt.Component cons protected init() diff --git a/webcommon/api.knockout/nbproject/org-netbeans-api-knockout.sig b/webcommon/api.knockout/nbproject/org-netbeans-api-knockout.sig index ee7e2082b774..d0c320177069 100644 --- a/webcommon/api.knockout/nbproject/org-netbeans-api-knockout.sig +++ b/webcommon/api.knockout/nbproject/org-netbeans-api-knockout.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.26 +#Version 1.27 CLSS public java.lang.Object cons public init() diff --git a/webcommon/cordova.platforms/nbproject/org-netbeans-modules-cordova-platforms.sig b/webcommon/cordova.platforms/nbproject/org-netbeans-modules-cordova-platforms.sig index f167df7ecc6b..a77ba31160ff 100644 --- a/webcommon/cordova.platforms/nbproject/org-netbeans-modules-cordova-platforms.sig +++ b/webcommon/cordova.platforms/nbproject/org-netbeans-modules-cordova-platforms.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.61 +#Version 1.62 CLSS public java.lang.Object cons public init() diff --git a/webcommon/html.knockout/nbproject/org-netbeans-modules-html-knockout.sig b/webcommon/html.knockout/nbproject/org-netbeans-modules-html-knockout.sig index c2ae44db8d19..cd7b552339ac 100644 --- a/webcommon/html.knockout/nbproject/org-netbeans-modules-html-knockout.sig +++ b/webcommon/html.knockout/nbproject/org-netbeans-modules-html-knockout.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.35 +#Version 1.36 CLSS public abstract interface java.io.Serializable diff --git a/webcommon/javascript.nodejs/nbproject/org-netbeans-modules-javascript-nodejs.sig b/webcommon/javascript.nodejs/nbproject/org-netbeans-modules-javascript-nodejs.sig index 890ae0f217b8..2148b5c09dea 100644 --- a/webcommon/javascript.nodejs/nbproject/org-netbeans-modules-javascript-nodejs.sig +++ b/webcommon/javascript.nodejs/nbproject/org-netbeans-modules-javascript-nodejs.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.54 +#Version 0.55 CLSS public java.lang.Object cons public init() diff --git a/webcommon/javascript.v8debug/nbproject/org-netbeans-modules-javascript-v8debug.sig b/webcommon/javascript.v8debug/nbproject/org-netbeans-modules-javascript-v8debug.sig index fd33cb42946a..d96520d5a95c 100644 --- a/webcommon/javascript.v8debug/nbproject/org-netbeans-modules-javascript-v8debug.sig +++ b/webcommon/javascript.v8debug/nbproject/org-netbeans-modules-javascript-v8debug.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.35.0 +#Version 1.36.0 CLSS public java.lang.Object cons public init() diff --git a/webcommon/javascript2.doc/nbproject/org-netbeans-modules-javascript2-doc.sig b/webcommon/javascript2.doc/nbproject/org-netbeans-modules-javascript2-doc.sig index 7eeca5fa5f89..e20f1278f8e2 100644 --- a/webcommon/javascript2.doc/nbproject/org-netbeans-modules-javascript2-doc.sig +++ b/webcommon/javascript2.doc/nbproject/org-netbeans-modules-javascript2-doc.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.25 +#Version 1.26 CLSS public abstract interface java.io.Serializable diff --git a/webcommon/javascript2.editor/nbproject/org-netbeans-modules-javascript2-editor.sig b/webcommon/javascript2.editor/nbproject/org-netbeans-modules-javascript2-editor.sig index 1505f275d76e..383e8c3b6841 100644 --- a/webcommon/javascript2.editor/nbproject/org-netbeans-modules-javascript2-editor.sig +++ b/webcommon/javascript2.editor/nbproject/org-netbeans-modules-javascript2-editor.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.100 +#Version 0.101 CLSS public abstract interface java.io.Serializable diff --git a/webcommon/javascript2.json/nbproject/org-netbeans-modules-javascript2-json.sig b/webcommon/javascript2.json/nbproject/org-netbeans-modules-javascript2-json.sig index 348c5c718fd9..7844d2489c44 100644 --- a/webcommon/javascript2.json/nbproject/org-netbeans-modules-javascript2-json.sig +++ b/webcommon/javascript2.json/nbproject/org-netbeans-modules-javascript2-json.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.28 +#Version 1.29 CLSS public abstract interface !annotation java.lang.Deprecated anno 0 java.lang.annotation.Documented() diff --git a/webcommon/javascript2.knockout/nbproject/org-netbeans-modules-javascript2-knockout.sig b/webcommon/javascript2.knockout/nbproject/org-netbeans-modules-javascript2-knockout.sig index 96b34b7a9aa0..d525d184b75a 100644 --- a/webcommon/javascript2.knockout/nbproject/org-netbeans-modules-javascript2-knockout.sig +++ b/webcommon/javascript2.knockout/nbproject/org-netbeans-modules-javascript2-knockout.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.35 +#Version 1.36 CLSS public java.lang.Object cons public init() diff --git a/webcommon/javascript2.lexer/nbproject/org-netbeans-modules-javascript2-lexer.sig b/webcommon/javascript2.lexer/nbproject/org-netbeans-modules-javascript2-lexer.sig index de2600c3e9fc..5f3b967cfc38 100644 --- a/webcommon/javascript2.lexer/nbproject/org-netbeans-modules-javascript2-lexer.sig +++ b/webcommon/javascript2.lexer/nbproject/org-netbeans-modules-javascript2-lexer.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.31 +#Version 1.32 CLSS public abstract interface java.io.Serializable diff --git a/webcommon/javascript2.model/nbproject/org-netbeans-modules-javascript2-model.sig b/webcommon/javascript2.model/nbproject/org-netbeans-modules-javascript2-model.sig index 393a93105525..8235aaa8b081 100644 --- a/webcommon/javascript2.model/nbproject/org-netbeans-modules-javascript2-model.sig +++ b/webcommon/javascript2.model/nbproject/org-netbeans-modules-javascript2-model.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.31 +#Version 1.32 CLSS public abstract com.oracle.js.parser.ir.visitor.NodeVisitor<%0 extends com.oracle.js.parser.ir.LexicalContext> cons public init({com.oracle.js.parser.ir.visitor.NodeVisitor%0}) diff --git a/webcommon/javascript2.nodejs/nbproject/org-netbeans-modules-javascript2-nodejs.sig b/webcommon/javascript2.nodejs/nbproject/org-netbeans-modules-javascript2-nodejs.sig index 8e6fba1d7d49..3ef48cbd72da 100644 --- a/webcommon/javascript2.nodejs/nbproject/org-netbeans-modules-javascript2-nodejs.sig +++ b/webcommon/javascript2.nodejs/nbproject/org-netbeans-modules-javascript2-nodejs.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.37 +#Version 0.38 CLSS public abstract interface org.netbeans.modules.javascript2.nodejs.spi.NodeJsSupport meth public abstract boolean isSupportEnabled() diff --git a/webcommon/javascript2.types/nbproject/org-netbeans-modules-javascript2-types.sig b/webcommon/javascript2.types/nbproject/org-netbeans-modules-javascript2-types.sig index 124418c630a5..b6085740eb0b 100644 --- a/webcommon/javascript2.types/nbproject/org-netbeans-modules-javascript2-types.sig +++ b/webcommon/javascript2.types/nbproject/org-netbeans-modules-javascript2-types.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.25 +#Version 1.26 CLSS public java.lang.Object cons public init() diff --git a/webcommon/lib.v8debug/nbproject/org-netbeans-lib-v8debug.sig b/webcommon/lib.v8debug/nbproject/org-netbeans-lib-v8debug.sig index e93b93067764..884800ee6ef0 100644 --- a/webcommon/lib.v8debug/nbproject/org-netbeans-lib-v8debug.sig +++ b/webcommon/lib.v8debug/nbproject/org-netbeans-lib-v8debug.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.41 +#Version 1.42 CLSS public abstract interface java.io.Serializable diff --git a/webcommon/libs.graaljs/nbproject/org-netbeans-libs-graaljs.sig b/webcommon/libs.graaljs/nbproject/org-netbeans-libs-graaljs.sig index 44ed6041d68e..f74560653a99 100644 --- a/webcommon/libs.graaljs/nbproject/org-netbeans-libs-graaljs.sig +++ b/webcommon/libs.graaljs/nbproject/org-netbeans-libs-graaljs.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.26 +#Version 1.27 CLSS public abstract com.oracle.js.parser.AbstractParser cons protected init(com.oracle.js.parser.Source,com.oracle.js.parser.ErrorManager,boolean,int) diff --git a/webcommon/libs.jstestdriver/nbproject/org-netbeans-libs-jstestdriver.sig b/webcommon/libs.jstestdriver/nbproject/org-netbeans-libs-jstestdriver.sig index ba079980466a..7e6537725bb6 100644 --- a/webcommon/libs.jstestdriver/nbproject/org-netbeans-libs-jstestdriver.sig +++ b/webcommon/libs.jstestdriver/nbproject/org-netbeans-libs-jstestdriver.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.35 +#Version 1.36 CLSS public abstract interface java.io.Serializable diff --git a/webcommon/libs.nashorn/nbproject/org-netbeans-libs-nashorn.sig b/webcommon/libs.nashorn/nbproject/org-netbeans-libs-nashorn.sig index 04c1171bd649..2dca51366923 100644 --- a/webcommon/libs.nashorn/nbproject/org-netbeans-libs-nashorn.sig +++ b/webcommon/libs.nashorn/nbproject/org-netbeans-libs-nashorn.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 3.6 +#Version 3.7 CLSS public abstract com.oracle.js.parser.AbstractParser cons protected init(com.oracle.js.parser.Source,com.oracle.js.parser.ErrorManager,boolean,int) diff --git a/webcommon/libs.plist/nbproject/org-netbeans-libs-plist.sig b/webcommon/libs.plist/nbproject/org-netbeans-libs-plist.sig index 0aa33a403c7e..bfd19dc84aab 100644 --- a/webcommon/libs.plist/nbproject/org-netbeans-libs-plist.sig +++ b/webcommon/libs.plist/nbproject/org-netbeans-libs-plist.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.32 +#Version 1.33 CLSS public final com.dd.plist.ASCIIPropertyListParser fld public final static char ARRAY_BEGIN_TOKEN = '(' diff --git a/webcommon/netserver/nbproject/org-netbeans-modules-netserver.sig b/webcommon/netserver/nbproject/org-netbeans-modules-netserver.sig index ec985775dee0..ea9785b9d323 100644 --- a/webcommon/netserver/nbproject/org-netbeans-modules-netserver.sig +++ b/webcommon/netserver/nbproject/org-netbeans-modules-netserver.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.38 +#Version 1.39 CLSS public abstract interface java.io.Serializable diff --git a/webcommon/selenium2.webclient/nbproject/org-netbeans-modules-selenium2-webclient.sig b/webcommon/selenium2.webclient/nbproject/org-netbeans-modules-selenium2-webclient.sig index 99b8fa03c6f7..40c4a9e9bf56 100644 --- a/webcommon/selenium2.webclient/nbproject/org-netbeans-modules-selenium2-webclient.sig +++ b/webcommon/selenium2.webclient/nbproject/org-netbeans-modules-selenium2-webclient.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.32 +#Version 1.33 CLSS public java.lang.Object cons public init() diff --git a/webcommon/web.clientproject.api/nbproject/org-netbeans-modules-web-clientproject-api.sig b/webcommon/web.clientproject.api/nbproject/org-netbeans-modules-web-clientproject-api.sig index 4a8370b88d54..95cefd69d95d 100644 --- a/webcommon/web.clientproject.api/nbproject/org-netbeans-modules-web-clientproject-api.sig +++ b/webcommon/web.clientproject.api/nbproject/org-netbeans-modules-web-clientproject-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.129 +#Version 1.130 CLSS public java.io.IOException cons public init() diff --git a/webcommon/web.clientproject/nbproject/org-netbeans-modules-web-clientproject.sig b/webcommon/web.clientproject/nbproject/org-netbeans-modules-web-clientproject.sig index 2b1812e89bd6..c17bde978d37 100644 --- a/webcommon/web.clientproject/nbproject/org-netbeans-modules-web-clientproject.sig +++ b/webcommon/web.clientproject/nbproject/org-netbeans-modules-web-clientproject.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.112 +#Version 1.113 CLSS public java.lang.Object cons public init() diff --git a/websvccommon/websvc.jaxwsmodelapi/nbproject/org-netbeans-modules-websvc-jaxwsmodelapi.sig b/websvccommon/websvc.jaxwsmodelapi/nbproject/org-netbeans-modules-websvc-jaxwsmodelapi.sig index 3d489ee0fa25..fe5de9a99f6d 100644 --- a/websvccommon/websvc.jaxwsmodelapi/nbproject/org-netbeans-modules-websvc-jaxwsmodelapi.sig +++ b/websvccommon/websvc.jaxwsmodelapi/nbproject/org-netbeans-modules-websvc-jaxwsmodelapi.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.52 +#Version 1.53 CLSS public abstract interface java.awt.datatransfer.Transferable meth public abstract boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor) diff --git a/websvccommon/websvc.saas.api/nbproject/org-netbeans-modules-websvc-saas-api.sig b/websvccommon/websvc.saas.api/nbproject/org-netbeans-modules-websvc-saas-api.sig index 3bb9881d3487..194cf18a7eb9 100644 --- a/websvccommon/websvc.saas.api/nbproject/org-netbeans-modules-websvc-saas-api.sig +++ b/websvccommon/websvc.saas.api/nbproject/org-netbeans-modules-websvc-saas-api.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.56 +#Version 1.57 CLSS public abstract interface java.awt.datatransfer.Transferable meth public abstract boolean isDataFlavorSupported(java.awt.datatransfer.DataFlavor) diff --git a/websvccommon/websvc.saas.codegen/nbproject/org-netbeans-modules-websvc-saas-codegen.sig b/websvccommon/websvc.saas.codegen/nbproject/org-netbeans-modules-websvc-saas-codegen.sig index 65dd0ac35fa2..8b5beeae49b2 100644 --- a/websvccommon/websvc.saas.codegen/nbproject/org-netbeans-modules-websvc-saas-codegen.sig +++ b/websvccommon/websvc.saas.codegen/nbproject/org-netbeans-modules-websvc-saas-codegen.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 1.55 +#Version 1.56 CLSS public abstract java.awt.Component cons protected init() From a3f691c733b8a0c483554d42268186e61ee0d028 Mon Sep 17 00:00:00 2001 From: Junichi Yamamoto Date: Fri, 13 Dec 2024 13:50:44 +0900 Subject: [PATCH 70/94] Prevent NPE - Do not return `null` in `getOccurrences()` - See GH-8028 --- .../modules/php/editor/csl/OccurrencesFinderImpl.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImpl.java b/php/php.editor/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImpl.java index 12f817823d00..066d610920c0 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImpl.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImpl.java @@ -68,7 +68,8 @@ public void setCaretPosition(int position) { @Override public Map getOccurrences() { - return range2Attribs; + // must not return null + return Collections.unmodifiableMap(range2Attribs); } @Override @@ -99,9 +100,11 @@ public void run(Result result, SchedulerEvent event) { return; } - if (!node.getBoolean(MarkOccurencesSettings.KEEP_MARKS, true) || localRange2Attribs.size() > 0) { - //store the occurrences if not empty, return null in getOccurrences() otherwise + if (!node.getBoolean(MarkOccurencesSettings.KEEP_MARKS, true) || !localRange2Attribs.isEmpty()) { + //store the occurrences if not empty range2Attribs = localRange2Attribs; + } else { + range2Attribs = Collections.emptyMap(); } } From 5f252ddb04a1d9ee1c987a42a24e14e67bcaed10 Mon Sep 17 00:00:00 2001 From: Martin Balin Date: Fri, 13 Dec 2024 12:58:08 +0100 Subject: [PATCH 71/94] Fix nanoid and revert default VSIX version --- java/java.lsp.server/vscode/package-lock.json | 27 ++++++++++++------- java/java.lsp.server/vscode/package.json | 2 +- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/java/java.lsp.server/vscode/package-lock.json b/java/java.lsp.server/vscode/package-lock.json index 9385b1c6cb25..c07ec49c132f 100644 --- a/java/java.lsp.server/vscode/package-lock.json +++ b/java/java.lsp.server/vscode/package-lock.json @@ -1,12 +1,12 @@ { "name": "apache-netbeans-java", - "version": "99.99.9", + "version": "0.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "apache-netbeans-java", - "version": "99.99.9", + "version": "0.1.0", "license": "Apache 2.0", "dependencies": { "@vscode/debugadapter": "1.55.1", @@ -1210,7 +1210,7 @@ "log-symbols": "4.1.0", "minimatch": "4.2.1", "ms": "2.1.3", - "nanoid": "3.3.1", + "nanoid": "3.3.8", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -1255,10 +1255,17 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -2454,7 +2461,7 @@ "log-symbols": "4.1.0", "minimatch": "4.2.1", "ms": "2.1.3", - "nanoid": "3.3.1", + "nanoid": "3.3.8", "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", @@ -2485,9 +2492,9 @@ "dev": true }, "nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "dev": true }, "neo-async": { diff --git a/java/java.lsp.server/vscode/package.json b/java/java.lsp.server/vscode/package.json index 89a105f37e1f..abf47e931061 100644 --- a/java/java.lsp.server/vscode/package.json +++ b/java/java.lsp.server/vscode/package.json @@ -4,7 +4,7 @@ "description": "Apache NetBeans Language Server Extension for Visual Studio Code", "author": "Apache NetBeans", "license": "Apache 2.0", - "version": "99.99.9", + "version": "0.1.0", "preview": false, "repository": { "type": "git", From 1291b91168f7560e40cd6059aa7e445436d81b99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sun, 17 Nov 2024 00:17:47 +0100 Subject: [PATCH 72/94] Fix LayerBuilder#absolutizeResource for default package and fix textmate unittests --- .github/workflows/main.yml | 3 +++ .../CreateRegistrationProcessorTest.java | 8 ++------ .../nbproject/project.properties | 1 - .../filesystems/annotations/LayerBuilder.java | 9 ++++++++- .../annotations/LayerBuilderTest.java | 19 +++++++++++++++++++ 5 files changed, 32 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4ae29bf906cc..15959adf6afd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -757,6 +757,9 @@ jobs: - name: ide/team.commons run: ant $OPTS -f ide/team.commons test + - name: ide/textmate.lexer + run: ant $OPTS -f ide/textmate.lexer test + - name: ide/terminal.nb run: ant $OPTS -f ide/terminal.nb test diff --git a/ide/textmate.lexer/test/unit/src/org/netbeans/modules/textmate/lexer/CreateRegistrationProcessorTest.java b/ide/textmate.lexer/test/unit/src/org/netbeans/modules/textmate/lexer/CreateRegistrationProcessorTest.java index 89c32126dce5..4cbc268c93a7 100644 --- a/ide/textmate.lexer/test/unit/src/org/netbeans/modules/textmate/lexer/CreateRegistrationProcessorTest.java +++ b/ide/textmate.lexer/test/unit/src/org/netbeans/modules/textmate/lexer/CreateRegistrationProcessorTest.java @@ -74,9 +74,7 @@ public void testGrammarOK() throws Exception { content.append((char) read); } - assertEquals("\n" + - "\n" + + assertEquals("\n" + "\n" + " \n" + " \n" + @@ -122,9 +120,7 @@ public void testInjectionGrammarOK() throws Exception { content.append((char) read); } - assertEquals("\n" + - "\n" + + assertEquals("\n" + "\n" + " \n" + " \n" + diff --git a/platform/openide.filesystems/nbproject/project.properties b/platform/openide.filesystems/nbproject/project.properties index c886c67b028f..5cb94cb60350 100644 --- a/platform/openide.filesystems/nbproject/project.properties +++ b/platform/openide.filesystems/nbproject/project.properties @@ -30,7 +30,6 @@ test.config.stableBTD.excludes=\ **/FileUtilTest.class,\ **/FsMimeResolverTest.class,\ **/JarFileSystemTest.class,\ - **/LayerBuilderTest.class,\ **/LayerGenerationExceptionTest.class,\ **/LocalFileSystemTest.class,\ **/MemoryFileSystemTest.class,\ diff --git a/platform/openide.filesystems/src/org/openide/filesystems/annotations/LayerBuilder.java b/platform/openide.filesystems/src/org/openide/filesystems/annotations/LayerBuilder.java index 6ed92686a9f4..3dd3f57a197c 100644 --- a/platform/openide.filesystems/src/org/openide/filesystems/annotations/LayerBuilder.java +++ b/platform/openide.filesystems/src/org/openide/filesystems/annotations/LayerBuilder.java @@ -372,7 +372,14 @@ public static String absolutizeResource(Element originatingElement, String resou return resource.substring(1); } else { try { - return new URI(null, findPackage(originatingElement).replace('.', '/') + "/", null).resolve(new URI(null, resource, null)).getPath(); + String packagePath = findPackage(originatingElement).replace('.', '/'); + String pathPrefix; + if(packagePath.isEmpty()) { + pathPrefix = ""; + } else { + pathPrefix = packagePath + "/"; + } + return new URI(null, pathPrefix, null).resolve(new URI(null, resource, null)).getPath(); } catch (URISyntaxException x) { throw new LayerGenerationException(x.toString(), originatingElement); } diff --git a/platform/openide.filesystems/test/unit/src/org/openide/filesystems/annotations/LayerBuilderTest.java b/platform/openide.filesystems/test/unit/src/org/openide/filesystems/annotations/LayerBuilderTest.java index 915c6e86d5ab..f35df95ac31b 100644 --- a/platform/openide.filesystems/test/unit/src/org/openide/filesystems/annotations/LayerBuilderTest.java +++ b/platform/openide.filesystems/test/unit/src/org/openide/filesystems/annotations/LayerBuilderTest.java @@ -28,6 +28,7 @@ import java.lang.reflect.Array; import java.util.Collections; import java.util.List; +import java.util.Locale; import java.util.Set; import javax.annotation.processing.Processor; import javax.annotation.processing.RoundEnvironment; @@ -42,6 +43,7 @@ import javax.lang.model.element.TypeElement; import javax.lang.model.type.TypeMirror; import javax.tools.Diagnostic; +import org.junit.Assume; import org.netbeans.junit.NbTestCase; import org.openide.filesystems.FileObject; import org.openide.filesystems.XMLFileSystem; @@ -271,6 +273,7 @@ public void testBundleKeyDefinedUsingMessages() throws Exception { * @throws Exception */ public void testWarningsFromProcessors() throws Exception { + Assume.assumeTrue("Warnings are locale specific and only configured for english locales", Locale.getDefault().getLanguage().equals("en")); AnnotationProcessorTestUtils.makeSource(src, "p.C", "@" + A.class.getCanonicalName() + "(displayName=\"#k\") @org.openide.util.NbBundle.Messages(\"k=v\") public class C {}"); File j = TestFileUtils.writeZipFile(new File(getWorkDir(), "cp.jar"), "other/x1:x1"); TestFileUtils.writeFile(new File(src, "p/resources/x2"), "x2"); @@ -330,6 +333,22 @@ public void testAbsolutizeAndValidateResourcesExistent() throws Exception { assertEquals("p/resources/x2", f.getAttribute("r2")); } + public void testAbsolutizeAndValidateResourcesExistentDefaultPackage() throws Exception { + AnnotationProcessorTestUtils.makeSource(src, "C", "@" + V.class.getCanonicalName() + "(r1=\"other/x1\", r2=\"x2\") public class C {}"); + File j = TestFileUtils.writeZipFile(new File(getWorkDir(), "cp.jar"), "other/x1:x1"); + TestFileUtils.writeFile(new File(src, "x2"), "x2"); + ByteArrayOutputStream err = new ByteArrayOutputStream(); + boolean status = AnnotationProcessorTestUtils.runJavac(src, null, dest, new File[] {j, BaseUtilities.toFile(LayerBuilderTest.class.getProtectionDomain().getCodeSource().getLocation().toURI())}, err); + String msgs = err.toString(); + assertTrue(msgs, status); + assertTrue(msgs, msgs.contains("r1=x1")); + assertTrue(msgs, msgs.contains("r2=x2")); + FileObject f = new XMLFileSystem(BaseUtilities.toURI(new File(dest, "META-INF/generated-layer.xml")).toURL()).findResource("f"); + assertNotNull(f); + assertEquals("other/x1", f.getAttribute("r1")); + assertEquals("x2", f.getAttribute("r2")); + } + public void testValidateResourceNonexistent() throws Exception { AnnotationProcessorTestUtils.makeSource(src, "p.C", "@" + V.class.getCanonicalName() + "(r1=\"other/x1\", r2=\"resourcez/x2\") public class C {}"); File j = TestFileUtils.writeZipFile(new File(getWorkDir(), "cp.jar"), "other/x1:x1"); From cd519cda445832eff3bec871696813f3d91f1d90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sun, 17 Nov 2024 15:34:50 +0100 Subject: [PATCH 73/94] Update textmate4eclipse, jcodings, joni --- ide/libs.jcodings/external/binaries-list | 2 +- ...icense.txt => jcodings-1.0.58-license.txt} | 2 +- ide/libs.jcodings/manifest.mf | 4 +- .../nbproject/org-netbeans-libs-jcodings.sig | 1175 ++++++++++++++++- .../nbproject/project.properties | 2 +- ide/libs.jcodings/nbproject/project.xml | 4 +- .../lsp/client/options/LanguageStorage.java | 23 +- ide/textmate.lexer/external/binaries-list | 4 +- ....11-license.txt => joni-2.2.1-license.txt} | 2 +- ... org.eclipse.tm4e.core-0.14.0-license.txt} | 2 +- .../nbproject/project.properties | 8 +- ide/textmate.lexer/nbproject/project.xml | 12 +- .../lexer/CreateRegistrationProcessor.java | 50 +- .../lexer/FileObjectGrammarSource.java | 46 + .../modules/textmate/lexer/TextmateLexer.java | 13 +- .../textmate/lexer/TextmateTokenId.java | 16 +- .../textmate/lexer/TextmateLexerTest.java | 2 +- 17 files changed, 1251 insertions(+), 116 deletions(-) rename ide/libs.jcodings/external/{jcodings-1.0.18-license.txt => jcodings-1.0.58-license.txt} (98%) rename ide/textmate.lexer/external/{joni-2.1.11-license.txt => joni-2.2.1-license.txt} (98%) rename ide/textmate.lexer/external/{org.eclipse.tm4e.core-0.4.1-pack1-license.txt => org.eclipse.tm4e.core-0.14.0-license.txt} (99%) create mode 100644 ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/FileObjectGrammarSource.java diff --git a/ide/libs.jcodings/external/binaries-list b/ide/libs.jcodings/external/binaries-list index 28eb07983f1a..c68c1f83d115 100644 --- a/ide/libs.jcodings/external/binaries-list +++ b/ide/libs.jcodings/external/binaries-list @@ -14,4 +14,4 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -E2C76A19F00128BB1806207E2989139BFB45F49D org.jruby.jcodings:jcodings:1.0.18 +DCE27159DC0382E5F7518D4F3E499FC8396357ED org.jruby.jcodings:jcodings:1.0.58 diff --git a/ide/libs.jcodings/external/jcodings-1.0.18-license.txt b/ide/libs.jcodings/external/jcodings-1.0.58-license.txt similarity index 98% rename from ide/libs.jcodings/external/jcodings-1.0.18-license.txt rename to ide/libs.jcodings/external/jcodings-1.0.58-license.txt index 3fa443795e4b..3162da3e1c79 100644 --- a/ide/libs.jcodings/external/jcodings-1.0.18-license.txt +++ b/ide/libs.jcodings/external/jcodings-1.0.58-license.txt @@ -1,5 +1,5 @@ Name: jcodings -Version: 1.0.18 +Version: 1.0.58 Description: Java-based codings helper classes for Joni and JRuby License: MIT-nocopyright Origin: https://github.com/jruby/jcodings diff --git a/ide/libs.jcodings/manifest.mf b/ide/libs.jcodings/manifest.mf index 8fb7f790be31..7f53e5b47dab 100644 --- a/ide/libs.jcodings/manifest.mf +++ b/ide/libs.jcodings/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 -OpenIDE-Module: org.netbeans.libs.jcodings/1 +OpenIDE-Module: org.netbeans.libs.jcodings/2 OpenIDE-Module-Localizing-Bundle: org/netbeans/libs/jcodings/Bundle.properties -OpenIDE-Module-Specification-Version: 0.16 +OpenIDE-Module-Specification-Version: 1.0.58 diff --git a/ide/libs.jcodings/nbproject/org-netbeans-libs-jcodings.sig b/ide/libs.jcodings/nbproject/org-netbeans-libs-jcodings.sig index 6c89225f9e55..6a41a3dfbca0 100644 --- a/ide/libs.jcodings/nbproject/org-netbeans-libs-jcodings.sig +++ b/ide/libs.jcodings/nbproject/org-netbeans-libs-jcodings.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 0.15 +#Version 1.0.58 CLSS public abstract interface java.io.Serializable @@ -81,6 +81,37 @@ meth public void printStackTrace(java.io.PrintWriter) meth public void setStackTrace(java.lang.StackTraceElement[]) supr java.lang.Object +CLSS public abstract java.nio.charset.Charset +cons protected init(java.lang.String,java.lang.String[]) +intf java.lang.Comparable +meth public abstract boolean contains(java.nio.charset.Charset) +meth public abstract java.nio.charset.CharsetDecoder newDecoder() +meth public abstract java.nio.charset.CharsetEncoder newEncoder() +meth public boolean canEncode() +meth public final boolean equals(java.lang.Object) +meth public final boolean isRegistered() +meth public final int compareTo(java.nio.charset.Charset) +meth public final int hashCode() +meth public final java.lang.String name() +meth public final java.lang.String toString() +meth public final java.nio.ByteBuffer encode(java.lang.String) +meth public final java.nio.ByteBuffer encode(java.nio.CharBuffer) +meth public final java.nio.CharBuffer decode(java.nio.ByteBuffer) +meth public final java.util.Set aliases() +meth public java.lang.String displayName() +meth public java.lang.String displayName(java.util.Locale) +meth public static boolean isSupported(java.lang.String) +meth public static java.nio.charset.Charset defaultCharset() +meth public static java.nio.charset.Charset forName(java.lang.String) +meth public static java.util.SortedMap availableCharsets() +supr java.lang.Object + +CLSS public abstract java.nio.charset.spi.CharsetProvider +cons protected init() +meth public abstract java.nio.charset.Charset charsetForName(java.lang.String) +meth public abstract java.util.Iterator charsets() +supr java.lang.Object + CLSS public abstract interface java.util.Iterator<%0 extends java.lang.Object> meth public abstract boolean hasNext() meth public abstract {java.util.Iterator%0} next() @@ -97,13 +128,14 @@ meth public boolean isReverseMatchAllowed(byte[],int,int) meth public int leftAdjustCharHead(byte[],int,int,int) supr org.jcodings.MultiByteEncoding -CLSS public org.jcodings.CaseFoldCodeItem -cons public init(int,int,int[]) +CLSS public final org.jcodings.CaseFoldCodeItem fld public final int byteLen -fld public final int codeLen fld public final int[] code +fld public final static org.jcodings.CaseFoldCodeItem[] EMPTY_FOLD_CODES +meth public static org.jcodings.CaseFoldCodeItem create(int,int) +meth public static org.jcodings.CaseFoldCodeItem create(int,int,int) +meth public static org.jcodings.CaseFoldCodeItem create(int,int,int,int) supr java.lang.Object -hfds ENC_MAX_COMP_CASE_FOLD_CODE_LEN CLSS public abstract org.jcodings.CaseFoldMapEncoding cons protected init(java.lang.String,short[],byte[],int[][]) @@ -118,7 +150,7 @@ meth public void applyAllCaseFold(int,org.jcodings.ApplyAllCaseFoldFunction,java supr org.jcodings.SingleByteEncoding hfds SS -CLSS public org.jcodings.CodeRange +CLSS public final org.jcodings.CodeRange cons public init() meth public static boolean isInCodeRange(int[],int) meth public static boolean isInCodeRange(int[],int,int) @@ -129,15 +161,39 @@ fld public final static boolean USE_CRNL_AS_LINE_TERMINATOR = false fld public final static boolean USE_UNICODE_ALL_LINE_TERMINATORS = false fld public final static boolean USE_UNICODE_CASE_FOLD_TURKISH_AZERI = false fld public final static boolean USE_UNICODE_PROPERTIES = true -fld public final static boolean VANILLA = false +fld public final static int CASE_ASCII_ONLY = 4194304 +fld public final static int CASE_DOWNCASE = 16384 +fld public final static int CASE_DOWN_SPECIAL = 131072 +fld public final static int CASE_FOLD = 524288 +fld public final static int CASE_FOLD_LITHUANIAN = 2097152 +fld public final static int CASE_FOLD_TURKISH_AZERI = 1048576 +fld public final static int CASE_IS_TITLECASE = 8388608 +fld public final static int CASE_MODIFIED = 262144 +fld public final static int CASE_SPECIALS = 8617984 +fld public final static int CASE_SPECIAL_OFFSET = 3 +fld public final static int CASE_TITLECASE = 32768 +fld public final static int CASE_UPCASE = 8192 +fld public final static int CASE_UP_SPECIAL = 65536 +fld public final static int CodePointMask = 7 +fld public final static int CodePointMaskWidth = 3 fld public final static int ENC_CASE_FOLD_DEFAULT = 1073741824 fld public final static int ENC_CASE_FOLD_MIN = 1073741824 -fld public final static int ENC_CASE_FOLD_TURKISH_AZERI = 1048576 fld public final static int ENC_CODE_TO_MBC_MAXLEN = 7 fld public final static int ENC_GET_CASE_FOLD_CODES_MAX_NUM = 13 fld public final static int ENC_MAX_COMP_CASE_FOLD_CODE_LEN = 3 fld public final static int ENC_MBC_CASE_FOLD_MAXLEN = 18 fld public final static int INTERNAL_ENC_CASE_FOLD_MULTI_CHAR = 1073741824 +fld public final static int SpecialIndexMask = 8184 +fld public final static int SpecialIndexShift = 3 +fld public final static int SpecialIndexWidth = 10 +fld public final static int SpecialsLengthOffset = 25 +fld public final static int UNICODE_EMOJI_VERSION_MAJOR = 13 +fld public final static int UNICODE_EMOJI_VERSION_MINOR = 1 +fld public final static int UNICODE_VERSION_MAJOR = 13 +fld public final static int UNICODE_VERSION_MINOR = 0 +fld public final static int UNICODE_VERSION_TEENY = 0 +fld public final static java.lang.String UNICODE_EMOJI_VERSION_STRING = "13.1" +fld public final static java.lang.String UNICODE_VERSION_STRING = "13.0.0" CLSS public abstract org.jcodings.Encoding cons protected init(java.lang.String,int,int) @@ -154,6 +210,7 @@ meth protected final void setName(java.lang.String) meth public abstract boolean isCodeCType(int,int) meth public abstract boolean isNewLine(byte[],int,int) meth public abstract boolean isReverseMatchAllowed(byte[],int,int) +meth public abstract int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public abstract int codeToMbc(int,byte[],int) meth public abstract int codeToMbcLength(int) meth public abstract int leftAdjustCharHead(byte[],int,int,int) @@ -198,7 +255,9 @@ meth public final int getIndex() meth public final int hashCode() meth public final int maxLength() meth public final int maxLengthDistance() + anno 0 java.lang.Deprecated() meth public final int mbcodeStartPosition() + anno 0 java.lang.Deprecated() meth public final int minLength() meth public final int prevCharHead(byte[],int,int,int) meth public final int rightAdjustCharHead(byte[],int,int,int) @@ -221,10 +280,11 @@ meth public static byte asciiToUpper(int) meth public static int digitVal(int) meth public static int odigitVal(int) meth public static org.jcodings.Encoding load(java.lang.String) +meth public static org.jcodings.Encoding load(java.lang.String,java.lang.String) supr java.lang.Object -hfds charset,count,hashCode,index,isAsciiCompatible,isDummy,isFixedWidth,isSingleByte,name +hfds charset,count,hashCode,index,isAsciiCompatible,isDummy,isFixedWidth,isSingleByte,name,stringName -CLSS public org.jcodings.EncodingDB +CLSS public final org.jcodings.EncodingDB cons public init() innr public final static Entry meth public final static org.jcodings.util.CaseInsensitiveBytesHash getAliases() @@ -259,6 +319,7 @@ supr org.jcodings.MultiByteEncoding CLSS public abstract org.jcodings.ISOEncoding cons protected init(java.lang.String,short[],byte[],int[][]) cons protected init(java.lang.String,short[],byte[],int[][],boolean) +fld public static int SHARP_s meth public boolean isCodeCType(int,int) meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) meth public java.lang.String getCharsetName() @@ -276,7 +337,6 @@ fld protected final int[] TransZero fld protected final int[][] Trans fld protected final static int A = -1 fld protected final static int F = -2 -fld protected final static org.jcodings.CaseFoldCodeItem[] EMPTY_FOLD_CODES meth protected final boolean isCodeCTypeInternal(int,int) meth protected final boolean mb2IsCodeCType(int,int) meth protected final boolean mb4IsCodeCType(int,int) @@ -296,12 +356,14 @@ meth protected final int safeLengthForUptoTwo(byte[],int,int) meth protected final org.jcodings.CaseFoldCodeItem[] asciiCaseFoldCodesByString(int,byte[],int,int) meth protected final void asciiApplyAllCaseFold(int,org.jcodings.ApplyAllCaseFoldFunction,java.lang.Object) meth public boolean isNewLine(byte[],int,int) +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public int length(byte) meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) meth public int propertyNameToCType(byte[],int,int) meth public int strCodeAt(byte[],int,int,int) meth public int strLength(byte[],int,int) meth public org.jcodings.CaseFoldCodeItem[] caseFoldCodesByString(int,byte[],int,int) +meth public static boolean isInRange(int,int,int) meth public void applyAllCaseFold(int,org.jcodings.ApplyAllCaseFoldFunction,java.lang.Object) supr org.jcodings.Encoding @@ -321,10 +383,8 @@ supr java.lang.Object CLSS public abstract org.jcodings.SingleByteEncoding cons protected init(java.lang.String,short[],byte[]) -cons protected init(java.lang.String,short[],byte[],int) fld protected final byte[] LowerCaseTable -fld protected final static org.jcodings.CaseFoldCodeItem[] EMPTY_FOLD_CODES -fld protected int codeSize +fld public final static int MAX_BYTE = 255 meth protected final boolean isCodeCTypeInternal(int,int) meth protected final int asciiMbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) meth protected final org.jcodings.CaseFoldCodeItem[] asciiCaseFoldCodesByString(int,byte[],int,int) @@ -335,6 +395,7 @@ meth public final int codeToMbc(int,byte[],int) meth public final int leftAdjustCharHead(byte[],int,int,int) meth public final int strLength(byte[],int,int) meth public final int[] ctypeCodeRange(int,org.jcodings.IntHolder) +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public int codeToMbcLength(int) meth public int length(byte) meth public int length(byte[],int,int) @@ -375,7 +436,6 @@ fld public final static int BIT_WORD = 4096 fld public final static int BIT_XDIGIT = 2048 fld public final static int BLANK = 2 fld public final static int CNTRL = 3 -fld public final static int D = 260 fld public final static int DIGIT = 4 fld public final static int GRAPH = 5 fld public final static int LOWER = 6 @@ -383,11 +443,8 @@ fld public final static int MAX_STD_CTYPE = 14 fld public final static int NEWLINE = 0 fld public final static int PRINT = 7 fld public final static int PUNCT = 8 -fld public final static int S = 265 fld public final static int SPACE = 9 -fld public final static int SPECIAL_MASK = 256 fld public final static int UPPER = 10 -fld public final static int W = 268 fld public final static int WORD = 12 fld public final static int XDIGIT = 11 @@ -400,24 +457,68 @@ supr java.lang.Object CLSS public org.jcodings.exception.CharacterPropertyException cons public init(java.lang.String) + anno 0 java.lang.Deprecated() cons public init(java.lang.String,byte[],int,int) + anno 0 java.lang.Deprecated() cons public init(java.lang.String,java.lang.String) + anno 0 java.lang.Deprecated() +cons public init(org.jcodings.exception.EncodingError) +cons public init(org.jcodings.exception.EncodingError,byte[],int,int) +cons public init(org.jcodings.exception.EncodingError,java.lang.String) supr org.jcodings.exception.EncodingException +CLSS public final !enum org.jcodings.exception.EncodingError +fld public final static org.jcodings.exception.EncodingError ERR_COULD_NOT_REPLICATE +fld public final static org.jcodings.exception.EncodingError ERR_ENCODING_ALIAS_ALREADY_REGISTERED +fld public final static org.jcodings.exception.EncodingError ERR_ENCODING_ALREADY_REGISTERED +fld public final static org.jcodings.exception.EncodingError ERR_ENCODING_CLASS_DEF_NOT_FOUND +fld public final static org.jcodings.exception.EncodingError ERR_ENCODING_LOAD_ERROR +fld public final static org.jcodings.exception.EncodingError ERR_ENCODING_REPLICA_ALREADY_REGISTERED +fld public final static org.jcodings.exception.EncodingError ERR_INVALID_CHAR_PROPERTY_NAME +fld public final static org.jcodings.exception.EncodingError ERR_INVALID_CODE_POINT_VALUE +fld public final static org.jcodings.exception.EncodingError ERR_NO_SUCH_ENCODNG +fld public final static org.jcodings.exception.EncodingError ERR_TOO_BIG_WIDE_CHAR_VALUE +fld public final static org.jcodings.exception.EncodingError ERR_TOO_LONG_WIDE_CHAR_VALUE +fld public final static org.jcodings.exception.EncodingError ERR_TRANSCODER_ALREADY_REGISTERED +fld public final static org.jcodings.exception.EncodingError ERR_TRANSCODER_CLASS_DEF_NOT_FOUND +fld public final static org.jcodings.exception.EncodingError ERR_TRANSCODER_LOAD_ERROR +fld public final static org.jcodings.exception.EncodingError ERR_TYPE_BUG +meth public int getCode() +meth public java.lang.String getMessage() +meth public static org.jcodings.exception.EncodingError fromCode(int) +meth public static org.jcodings.exception.EncodingError valueOf(java.lang.String) +meth public static org.jcodings.exception.EncodingError[] values() +supr java.lang.Enum +hfds CODE_TO_ERROR,code,message + CLSS public org.jcodings.exception.EncodingException cons public init(java.lang.String) + anno 0 java.lang.Deprecated() cons public init(java.lang.String,byte[],int,int) + anno 0 java.lang.Deprecated() cons public init(java.lang.String,java.lang.String) + anno 0 java.lang.Deprecated() +cons public init(org.jcodings.exception.EncodingError) +cons public init(org.jcodings.exception.EncodingError,byte[],int,int) +cons public init(org.jcodings.exception.EncodingError,java.lang.String) +meth public org.jcodings.exception.EncodingError getError() supr org.jcodings.exception.JCodingsException +hfds error CLSS public abstract interface org.jcodings.exception.ErrorCodes fld public final static int ERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE = -110 fld public final static int ERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE = -111 fld public final static int ERR_CONTROL_CODE_SYNTAX = -109 +fld public final static int ERR_COULD_NOT_REPLICATE = -1006 fld public final static int ERR_DEFAULT_ENCODING_IS_NOT_SET = -21 fld public final static int ERR_EMPTY_CHAR_CLASS = -102 fld public final static int ERR_EMPTY_GROUP_NAME = -214 fld public final static int ERR_EMPTY_RANGE_IN_CHAR_CLASS = -203 +fld public final static int ERR_ENCODING_ALIAS_ALREADY_REGISTERED = -1003 +fld public final static int ERR_ENCODING_ALREADY_REGISTERED = -1002 +fld public final static int ERR_ENCODING_CLASS_DEF_NOT_FOUND = -1000 +fld public final static int ERR_ENCODING_LOAD_ERROR = -1001 +fld public final static int ERR_ENCODING_REPLICA_ALREADY_REGISTERED = -1004 fld public final static int ERR_END_PATTERN_AT_CONTROL = -106 fld public final static int ERR_END_PATTERN_AT_ESCAPE = -104 fld public final static int ERR_END_PATTERN_AT_LEFT_BRACE = -100 @@ -447,6 +548,7 @@ fld public final static int ERR_MULTIPLEX_DEFINITION_NAME_CALL = -220 fld public final static int ERR_NESTED_REPEAT_OPERATOR = -115 fld public final static int ERR_NEVER_ENDING_RECURSION = -221 fld public final static int ERR_NOT_SUPPORTED_ENCODING_COMBINATION = -402 +fld public final static int ERR_NO_SUCH_ENCODNG = -1005 fld public final static int ERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED = -209 fld public final static int ERR_PARSER_BUG = -11 fld public final static int ERR_PREMATURE_END_OF_CHAR_CLASS = -103 @@ -463,6 +565,9 @@ fld public final static int ERR_TOO_MANY_CAPTURE_GROUPS = -224 fld public final static int ERR_TOO_MANY_MULTI_BYTE_RANGES = -205 fld public final static int ERR_TOO_SHORT_DIGITS = -210 fld public final static int ERR_TOO_SHORT_MULTI_BYTE_STRING = -206 +fld public final static int ERR_TRANSCODER_ALREADY_REGISTERED = -1007 +fld public final static int ERR_TRANSCODER_CLASS_DEF_NOT_FOUND = -1008 +fld public final static int ERR_TRANSCODER_LOAD_ERROR = -1009 fld public final static int ERR_TYPE_BUG = -6 fld public final static int ERR_UNDEFINED_BYTECODE = -13 fld public final static int ERR_UNDEFINED_GROUP_OPTION = -119 @@ -494,10 +599,6 @@ fld public final static java.lang.String ERR_TRANSCODER_CLASS_DEF_NOT_FOUND = "t fld public final static java.lang.String ERR_TRANSCODER_LOAD_ERROR = "problem loading transcoder <%n>" fld public final static java.lang.String ERR_TYPE_BUG = "undefined type (bug)" -CLSS public org.jcodings.exception.IllegalCharacterException -fld public final static org.jcodings.exception.IllegalCharacterException INSTANCE -supr org.jcodings.exception.EncodingException - CLSS public org.jcodings.exception.InternalException cons public init(java.lang.String) cons public init(java.lang.String,byte[],int,int) @@ -542,7 +643,7 @@ meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) meth public int mbcToCode(byte[],int,int) meth public int[] ctypeCodeRange(int,org.jcodings.IntHolder) supr org.jcodings.CanBeTrailTableEncoding -hfds BIG5Trans,BIG5_CAN_BE_TRAIL_TABLE,transIndex +hfds BIG5Trans,BIG5_CAN_BE_TRAIL_TABLE,TransBase CLSS public final org.jcodings.specific.Big5HKSCSEncoding cons protected init() @@ -556,6 +657,22 @@ fld public final static org.jcodings.specific.Big5UAOEncoding INSTANCE supr org.jcodings.specific.BaseBIG5Encoding hfds Big5UAOEncLen +CLSS public final org.jcodings.specific.CESU8Encoding +cons protected init() +fld public final static org.jcodings.specific.CESU8Encoding INSTANCE +meth public boolean isNewLine(byte[],int,int) +meth public boolean isReverseMatchAllowed(byte[],int,int) +meth public int codeToMbc(int,byte[],int) +meth public int codeToMbcLength(int) +meth public int leftAdjustCharHead(byte[],int,int,int) +meth public int length(byte[],int,int) +meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) +meth public int mbcToCode(byte[],int,int) +meth public int[] ctypeCodeRange(int,org.jcodings.IntHolder) +meth public java.lang.String getCharsetName() +supr org.jcodings.unicode.UnicodeEncoding +hfds CESU8EncLen,CESU8Trans,INVALID_CODE_FE,INVALID_CODE_FF,USE_INVALID_CODE_SCHEME,VALID_CODE_LIMIT + CLSS public final org.jcodings.specific.CP949Encoding cons protected init() fld public final static org.jcodings.specific.CP949Encoding INSTANCE @@ -673,6 +790,7 @@ hfds GBK,GBKEncLen,GBKTrans,GBK_CAN_BE_TRAIL_TABLE CLSS public final org.jcodings.specific.ISO8859_10Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_10Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding hfds ISO8859_10CaseFoldMap,ISO8859_10CtypeTable,ISO8859_10ToLowerCaseTable @@ -689,30 +807,35 @@ hfds ISO8859_11CtypeTable CLSS public final org.jcodings.specific.ISO8859_13Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_13Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding hfds ISO8859_13CaseFoldMap,ISO8859_13CtypeTable,ISO8859_13ToLowerCaseTable CLSS public final org.jcodings.specific.ISO8859_14Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_14Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding hfds ISO8859_14CaseFoldMap,ISO8859_14CtypeTable,ISO8859_14ToLowerCaseTable CLSS public final org.jcodings.specific.ISO8859_15Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_15Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding hfds ISO8859_15CaseFoldMap,ISO8859_15CtypeTable,ISO8859_15ToLowerCaseTable CLSS public final org.jcodings.specific.ISO8859_16Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_16Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding hfds ISO8859_16CaseFoldMap,ISO8859_16CtypeTable,ISO8859_16ToLowerCaseTable CLSS public final org.jcodings.specific.ISO8859_1Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_1Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public org.jcodings.CaseFoldCodeItem[] caseFoldCodesByString(int,byte[],int,int) meth public void applyAllCaseFold(int,org.jcodings.ApplyAllCaseFoldFunction,java.lang.Object) supr org.jcodings.ISOEncoding @@ -721,18 +844,21 @@ hfds ISO8859_1CaseFoldMap,ISO8859_1CtypeTable,ISO8859_1ToLowerCaseTable,ISO8859_ CLSS public final org.jcodings.specific.ISO8859_2Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_2Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding hfds ISO8859_2CaseFoldMap,ISO8859_2CtypeTable,ISO8859_2ToLowerCaseTable CLSS public final org.jcodings.specific.ISO8859_3Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_3Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding -hfds ISO8859_3CaseFoldMap,ISO8859_3CtypeTable,ISO8859_3ToLowerCaseTable +hfds DOTLESS_i,ISO8859_3CaseFoldMap,ISO8859_3CtypeTable,ISO8859_3ToLowerCaseTable,I_WITH_DOT_ABOVE CLSS public final org.jcodings.specific.ISO8859_4Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_4Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding hfds ISO8859_4CaseFoldMap,ISO8859_4CtypeTable,ISO8859_4ToLowerCaseTable @@ -740,6 +866,7 @@ CLSS public final org.jcodings.specific.ISO8859_5Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_5Encoding INSTANCE meth public final byte[] toLowerCaseTable() +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) supr org.jcodings.ISOEncoding hfds ISO8859_5CaseFoldMap,ISO8859_5CtypeTable,ISO8859_5ToLowerCaseTable @@ -758,6 +885,7 @@ CLSS public final org.jcodings.specific.ISO8859_7Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_7Encoding INSTANCE meth public final byte[] toLowerCaseTable() +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) supr org.jcodings.ISOEncoding hfds ISO8859_7CaseFoldMap,ISO8859_7CtypeTable,ISO8859_7ToLowerCaseTable @@ -775,8 +903,9 @@ hfds ISO8859_8CtypeTable CLSS public final org.jcodings.specific.ISO8859_9Encoding cons protected init() fld public final static org.jcodings.specific.ISO8859_9Encoding INSTANCE +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) supr org.jcodings.ISOEncoding -hfds ISO8859_9CaseFoldMap,ISO8859_9CtypeTable,ISO8859_9ToLowerCaseTable +hfds DOTLESS_i,ISO8859_9CaseFoldMap,ISO8859_9CtypeTable,ISO8859_9ToLowerCaseTable,I_WITH_DOT_ABOVE CLSS public final org.jcodings.specific.KOI8Encoding cons protected init() @@ -940,6 +1069,7 @@ CLSS public final org.jcodings.specific.Windows_1250Encoding cons protected init() fld public final static org.jcodings.specific.Windows_1250Encoding INSTANCE meth public boolean isCodeCType(int,int) +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) supr org.jcodings.CaseFoldMapEncoding hfds CP1250_CaseFoldMap,CP1250_CtypeTable,CP1250_ToLowerCaseTable @@ -948,6 +1078,7 @@ CLSS public final org.jcodings.specific.Windows_1251Encoding cons protected init() fld public final static org.jcodings.specific.Windows_1251Encoding INSTANCE meth public boolean isCodeCType(int,int) +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) supr org.jcodings.CaseFoldMapEncoding hfds CP1251_CaseFoldMap,CP1251_CtypeTable,CP1251_ToLowerCaseTable @@ -956,10 +1087,38 @@ CLSS public final org.jcodings.specific.Windows_1252Encoding cons protected init() fld public final static org.jcodings.specific.Windows_1252Encoding INSTANCE meth public boolean isCodeCType(int,int) +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) supr org.jcodings.CaseFoldMapEncoding hfds CP1252_CaseFoldMap,CP1252_CtypeTable,CP1252_ToLowerCaseTable +CLSS public final org.jcodings.specific.Windows_1253Encoding +cons protected init() +fld public final static org.jcodings.specific.Windows_1253Encoding INSTANCE +meth public boolean isCodeCType(int,int) +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) +meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) +supr org.jcodings.CaseFoldMapEncoding +hfds CP1253_CaseFoldMap,CP1253_CtypeTable,CP1253_ToLowerCaseTable + +CLSS public final org.jcodings.specific.Windows_1254Encoding +cons protected init() +fld public final static org.jcodings.specific.Windows_1254Encoding INSTANCE +meth public boolean isCodeCType(int,int) +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) +meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) +supr org.jcodings.CaseFoldMapEncoding +hfds CP1254_CaseFoldMap,CP1254_CtypeTable,CP1254_ToLowerCaseTable,DOTLESS_i,I_WITH_DOT_ABOVE + +CLSS public final org.jcodings.specific.Windows_1257Encoding +cons protected init() +fld public final static org.jcodings.specific.Windows_1257Encoding INSTANCE +meth public boolean isCodeCType(int,int) +meth public int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) +meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) +supr org.jcodings.CaseFoldMapEncoding +hfds CP1257_CaseFoldMap,CP1257_CtypeTable,CP1257_ToLowerCaseTable,DOTLESS_i,I_WITH_DOT_ABOVE + CLSS public final org.jcodings.specific.Windows_31JEncoding cons protected init() fld public final static org.jcodings.specific.Windows_31JEncoding INSTANCE @@ -974,6 +1133,21 @@ meth public int[] ctypeCodeRange(int,org.jcodings.IntHolder) meth public java.lang.String getCharsetName() supr org.jcodings.CanBeTrailTableEncoding +CLSS public org.jcodings.spi.Charsets +cons public init() +meth public java.nio.charset.Charset charsetForName(java.lang.String) +meth public java.util.Iterator charsets() +supr java.nio.charset.spi.CharsetProvider +hfds charsets + +CLSS public org.jcodings.spi.ISO_8859_16 +fld public final static org.jcodings.spi.ISO_8859_16 INSTANCE +meth public boolean contains(java.nio.charset.Charset) +meth public java.nio.charset.CharsetDecoder newDecoder() +meth public java.nio.charset.CharsetEncoder newEncoder() +supr java.nio.charset.Charset +hcls Decoder,Encoder + CLSS public final !enum org.jcodings.transcode.AsciiCompatibility fld public final static org.jcodings.transcode.AsciiCompatibility CONVERTER fld public final static org.jcodings.transcode.AsciiCompatibility DECODER @@ -1120,6 +1294,7 @@ meth public static int funSoCp5022xEncoder(byte[],byte[],int,int,byte[],int,int) meth public static int funSoEscapeXmlAttrQuote(byte[],byte[],int,int,byte[],int,int) meth public static int funSoEucjp2Sjis(byte[],byte[],int,int,byte[],int,int) meth public static int funSoEucjpToStatelessIso2022jp(byte[],byte[],int,int,byte[],int,int) +meth public static int funSoFromCESU8(byte[],byte[],int,int,byte[],int,int) meth public static int funSoFromGB18030(byte[],byte[],int,int,byte[],int,int) meth public static int funSoFromUTF16(byte[],byte[],int,int,byte[],int,int) meth public static int funSoFromUTF16BE(byte[],byte[],int,int,byte[],int,int) @@ -1134,6 +1309,7 @@ meth public static int funSoIso2022jpKddiDecoder(byte[],byte[],int,int,byte[],in meth public static int funSoIso2022jpKddiEncoder(byte[],byte[],int,int,byte[],int,int) meth public static int funSoSjis2Eucjp(byte[],byte[],int,int,byte[],int,int) meth public static int funSoStatelessIso2022jpToEucjp(byte[],byte[],int,int,byte[],int,int) +meth public static int funSoToCESU8(byte[],byte[],int,int,byte[],int,int) meth public static int funSoToGB18030(byte[],byte[],int,int,byte[],int,int) meth public static int funSoToUTF16(byte[],byte[],int,int,byte[],int,int) meth public static int funSoToUTF16BE(byte[],byte[],int,int,byte[],int,int) @@ -1248,6 +1424,7 @@ meth public static int decoratorNames(int,byte[][]) meth public static int searchPath(byte[],byte[],org.jcodings.transcode.TranscoderDB$SearchPathCallback) meth public static org.jcodings.transcode.EConv alloc(int) meth public static org.jcodings.transcode.EConv open(byte[],byte[],int) +meth public static org.jcodings.transcode.EConv open(java.lang.String,java.lang.String,int) meth public static org.jcodings.transcode.TranscoderDB$Entry getEntry(byte[],byte[]) supr java.lang.Object hcls SearchPathQueue @@ -1500,6 +1677,31 @@ fld public final static org.jcodings.transcode.Transcoder INSTANCE meth public int startToOutput(byte[],byte[],int,int,byte[],int,int) supr org.jcodings.transcode.Transcoder +CLSS public org.jcodings.transcode.specific.From_CESU_8_Transcoder +cons protected init() +fld public final static int FOURbt = 6 +fld public final static int FUNii = 11 +fld public final static int FUNio = 14 +fld public final static int FUNsi = 13 +fld public final static int FUNsio = 19 +fld public final static int FUNso = 15 +fld public final static int GB4bt = 18 +fld public final static int INVALID = 7 +fld public final static int LAST = 28 +fld public final static int NOMAP = 1 +fld public final static int NOMAP_RESUME_1 = 29 +fld public final static int ONEbt = 2 +fld public final static int STR1 = 17 +fld public final static int THREEbt = 5 +fld public final static int TWObt = 3 +fld public final static int UNDEF = 9 +fld public final static int ZERObt = 10 +fld public final static int ZeroXResume_1 = 30 +fld public final static int ZeroXResume_2 = 31 +fld public final static org.jcodings.transcode.Transcoder INSTANCE +meth public int startToOutput(byte[],byte[],int,int,byte[],int,int) +supr org.jcodings.transcode.Transcoder + CLSS public org.jcodings.transcode.specific.From_GB18030_Transcoder cons protected init() fld public final static int FOURbt = 6 @@ -1879,6 +2081,31 @@ fld public final static org.jcodings.transcode.Transcoder INSTANCE meth public int startToOutput(byte[],byte[],int,int,byte[],int,int) supr org.jcodings.transcode.Transcoder +CLSS public org.jcodings.transcode.specific.To_CESU_8_Transcoder +cons protected init() +fld public final static int FOURbt = 6 +fld public final static int FUNii = 11 +fld public final static int FUNio = 14 +fld public final static int FUNsi = 13 +fld public final static int FUNsio = 19 +fld public final static int FUNso = 15 +fld public final static int GB4bt = 18 +fld public final static int INVALID = 7 +fld public final static int LAST = 28 +fld public final static int NOMAP = 1 +fld public final static int NOMAP_RESUME_1 = 29 +fld public final static int ONEbt = 2 +fld public final static int STR1 = 17 +fld public final static int THREEbt = 5 +fld public final static int TWObt = 3 +fld public final static int UNDEF = 9 +fld public final static int ZERObt = 10 +fld public final static int ZeroXResume_1 = 30 +fld public final static int ZeroXResume_2 = 31 +fld public final static org.jcodings.transcode.Transcoder INSTANCE +meth public int startToOutput(byte[],byte[],int,int,byte[],int,int) +supr org.jcodings.transcode.Transcoder + CLSS public org.jcodings.transcode.specific.To_GB18030_Transcoder cons protected init() fld public final static int FOURbt = 6 @@ -2098,36 +2325,901 @@ meth public final boolean isReverseMatchAllowed(byte[],int,int) meth public final int codeToMbcLength(int) meth public final int leftAdjustCharHead(byte[],int,int,int) meth public final int length(byte) -meth public final int length(byte[],int,int) meth public final int strCodeAt(byte[],int,int,int) meth public final int strLength(byte[],int,int) meth public final int[] ctypeCodeRange(int,org.jcodings.IntHolder) +meth public int length(byte[],int,int) supr org.jcodings.unicode.UnicodeEncoding +CLSS public final !enum org.jcodings.unicode.UnicodeCodeRange +fld public final static org.jcodings.unicode.UnicodeCodeRange ADLAM +fld public final static org.jcodings.unicode.UnicodeCodeRange ADLM +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_10_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_11_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_12_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_12_1 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_13_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_1_1 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_2_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_2_1 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_3_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_3_1 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_3_2 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_4_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_4_1 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_5_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_5_1 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_5_2 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_6_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_6_1 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_6_2 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_6_3 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_7_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_8_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGE_9_0 +fld public final static org.jcodings.unicode.UnicodeCodeRange AGHB +fld public final static org.jcodings.unicode.UnicodeCodeRange AHEX +fld public final static org.jcodings.unicode.UnicodeCodeRange AHOM +fld public final static org.jcodings.unicode.UnicodeCodeRange ALNUM +fld public final static org.jcodings.unicode.UnicodeCodeRange ALPHA +fld public final static org.jcodings.unicode.UnicodeCodeRange ALPHABETIC +fld public final static org.jcodings.unicode.UnicodeCodeRange ANATOLIANHIEROGLYPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange ANY +fld public final static org.jcodings.unicode.UnicodeCodeRange ARAB +fld public final static org.jcodings.unicode.UnicodeCodeRange ARABIC +fld public final static org.jcodings.unicode.UnicodeCodeRange ARMENIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange ARMI +fld public final static org.jcodings.unicode.UnicodeCodeRange ARMN +fld public final static org.jcodings.unicode.UnicodeCodeRange ASCII +fld public final static org.jcodings.unicode.UnicodeCodeRange ASCIIHEXDIGIT +fld public final static org.jcodings.unicode.UnicodeCodeRange ASSIGNED +fld public final static org.jcodings.unicode.UnicodeCodeRange AVESTAN +fld public final static org.jcodings.unicode.UnicodeCodeRange AVST +fld public final static org.jcodings.unicode.UnicodeCodeRange BALI +fld public final static org.jcodings.unicode.UnicodeCodeRange BALINESE +fld public final static org.jcodings.unicode.UnicodeCodeRange BAMU +fld public final static org.jcodings.unicode.UnicodeCodeRange BAMUM +fld public final static org.jcodings.unicode.UnicodeCodeRange BASS +fld public final static org.jcodings.unicode.UnicodeCodeRange BASSAVAH +fld public final static org.jcodings.unicode.UnicodeCodeRange BATAK +fld public final static org.jcodings.unicode.UnicodeCodeRange BATK +fld public final static org.jcodings.unicode.UnicodeCodeRange BENG +fld public final static org.jcodings.unicode.UnicodeCodeRange BENGALI +fld public final static org.jcodings.unicode.UnicodeCodeRange BHAIKSUKI +fld public final static org.jcodings.unicode.UnicodeCodeRange BHKS +fld public final static org.jcodings.unicode.UnicodeCodeRange BIDIC +fld public final static org.jcodings.unicode.UnicodeCodeRange BIDICONTROL +fld public final static org.jcodings.unicode.UnicodeCodeRange BLANK +fld public final static org.jcodings.unicode.UnicodeCodeRange BOPO +fld public final static org.jcodings.unicode.UnicodeCodeRange BOPOMOFO +fld public final static org.jcodings.unicode.UnicodeCodeRange BRAH +fld public final static org.jcodings.unicode.UnicodeCodeRange BRAHMI +fld public final static org.jcodings.unicode.UnicodeCodeRange BRAI +fld public final static org.jcodings.unicode.UnicodeCodeRange BRAILLE +fld public final static org.jcodings.unicode.UnicodeCodeRange BUGI +fld public final static org.jcodings.unicode.UnicodeCodeRange BUGINESE +fld public final static org.jcodings.unicode.UnicodeCodeRange BUHD +fld public final static org.jcodings.unicode.UnicodeCodeRange BUHID +fld public final static org.jcodings.unicode.UnicodeCodeRange C +fld public final static org.jcodings.unicode.UnicodeCodeRange CAKM +fld public final static org.jcodings.unicode.UnicodeCodeRange CANADIANABORIGINAL +fld public final static org.jcodings.unicode.UnicodeCodeRange CANS +fld public final static org.jcodings.unicode.UnicodeCodeRange CARI +fld public final static org.jcodings.unicode.UnicodeCodeRange CARIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange CASED +fld public final static org.jcodings.unicode.UnicodeCodeRange CASEDLETTER +fld public final static org.jcodings.unicode.UnicodeCodeRange CASEIGNORABLE +fld public final static org.jcodings.unicode.UnicodeCodeRange CAUCASIANALBANIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange CC +fld public final static org.jcodings.unicode.UnicodeCodeRange CF +fld public final static org.jcodings.unicode.UnicodeCodeRange CHAKMA +fld public final static org.jcodings.unicode.UnicodeCodeRange CHAM +fld public final static org.jcodings.unicode.UnicodeCodeRange CHANGESWHENCASEFOLDED +fld public final static org.jcodings.unicode.UnicodeCodeRange CHANGESWHENCASEMAPPED +fld public final static org.jcodings.unicode.UnicodeCodeRange CHANGESWHENLOWERCASED +fld public final static org.jcodings.unicode.UnicodeCodeRange CHANGESWHENTITLECASED +fld public final static org.jcodings.unicode.UnicodeCodeRange CHANGESWHENUPPERCASED +fld public final static org.jcodings.unicode.UnicodeCodeRange CHER +fld public final static org.jcodings.unicode.UnicodeCodeRange CHEROKEE +fld public final static org.jcodings.unicode.UnicodeCodeRange CHORASMIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange CHRS +fld public final static org.jcodings.unicode.UnicodeCodeRange CI +fld public final static org.jcodings.unicode.UnicodeCodeRange CLOSEPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange CN +fld public final static org.jcodings.unicode.UnicodeCodeRange CNTRL +fld public final static org.jcodings.unicode.UnicodeCodeRange CO +fld public final static org.jcodings.unicode.UnicodeCodeRange COMBININGMARK +fld public final static org.jcodings.unicode.UnicodeCodeRange COMMON +fld public final static org.jcodings.unicode.UnicodeCodeRange CONNECTORPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange CONTROL +fld public final static org.jcodings.unicode.UnicodeCodeRange COPT +fld public final static org.jcodings.unicode.UnicodeCodeRange COPTIC +fld public final static org.jcodings.unicode.UnicodeCodeRange CPRT +fld public final static org.jcodings.unicode.UnicodeCodeRange CS +fld public final static org.jcodings.unicode.UnicodeCodeRange CUNEIFORM +fld public final static org.jcodings.unicode.UnicodeCodeRange CURRENCYSYMBOL +fld public final static org.jcodings.unicode.UnicodeCodeRange CWCF +fld public final static org.jcodings.unicode.UnicodeCodeRange CWCM +fld public final static org.jcodings.unicode.UnicodeCodeRange CWL +fld public final static org.jcodings.unicode.UnicodeCodeRange CWT +fld public final static org.jcodings.unicode.UnicodeCodeRange CWU +fld public final static org.jcodings.unicode.UnicodeCodeRange CYPRIOT +fld public final static org.jcodings.unicode.UnicodeCodeRange CYRILLIC +fld public final static org.jcodings.unicode.UnicodeCodeRange CYRL +fld public final static org.jcodings.unicode.UnicodeCodeRange DASH +fld public final static org.jcodings.unicode.UnicodeCodeRange DASHPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange DECIMALNUMBER +fld public final static org.jcodings.unicode.UnicodeCodeRange DEFAULTIGNORABLECODEPOINT +fld public final static org.jcodings.unicode.UnicodeCodeRange DEP +fld public final static org.jcodings.unicode.UnicodeCodeRange DEPRECATED +fld public final static org.jcodings.unicode.UnicodeCodeRange DESERET +fld public final static org.jcodings.unicode.UnicodeCodeRange DEVA +fld public final static org.jcodings.unicode.UnicodeCodeRange DEVANAGARI +fld public final static org.jcodings.unicode.UnicodeCodeRange DI +fld public final static org.jcodings.unicode.UnicodeCodeRange DIA +fld public final static org.jcodings.unicode.UnicodeCodeRange DIACRITIC +fld public final static org.jcodings.unicode.UnicodeCodeRange DIAK +fld public final static org.jcodings.unicode.UnicodeCodeRange DIGIT +fld public final static org.jcodings.unicode.UnicodeCodeRange DIVESAKURU +fld public final static org.jcodings.unicode.UnicodeCodeRange DOGR +fld public final static org.jcodings.unicode.UnicodeCodeRange DOGRA +fld public final static org.jcodings.unicode.UnicodeCodeRange DSRT +fld public final static org.jcodings.unicode.UnicodeCodeRange DUPL +fld public final static org.jcodings.unicode.UnicodeCodeRange DUPLOYAN +fld public final static org.jcodings.unicode.UnicodeCodeRange EBASE +fld public final static org.jcodings.unicode.UnicodeCodeRange ECOMP +fld public final static org.jcodings.unicode.UnicodeCodeRange EGYP +fld public final static org.jcodings.unicode.UnicodeCodeRange EGYPTIANHIEROGLYPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange ELBA +fld public final static org.jcodings.unicode.UnicodeCodeRange ELBASAN +fld public final static org.jcodings.unicode.UnicodeCodeRange ELYM +fld public final static org.jcodings.unicode.UnicodeCodeRange ELYMAIC +fld public final static org.jcodings.unicode.UnicodeCodeRange EMOD +fld public final static org.jcodings.unicode.UnicodeCodeRange EMOJI +fld public final static org.jcodings.unicode.UnicodeCodeRange EMOJICOMPONENT +fld public final static org.jcodings.unicode.UnicodeCodeRange EMOJIMODIFIER +fld public final static org.jcodings.unicode.UnicodeCodeRange EMOJIMODIFIERBASE +fld public final static org.jcodings.unicode.UnicodeCodeRange EMOJIPRESENTATION +fld public final static org.jcodings.unicode.UnicodeCodeRange ENCLOSINGMARK +fld public final static org.jcodings.unicode.UnicodeCodeRange EPRES +fld public final static org.jcodings.unicode.UnicodeCodeRange ETHI +fld public final static org.jcodings.unicode.UnicodeCodeRange ETHIOPIC +fld public final static org.jcodings.unicode.UnicodeCodeRange EXT +fld public final static org.jcodings.unicode.UnicodeCodeRange EXTENDEDPICTOGRAPHIC +fld public final static org.jcodings.unicode.UnicodeCodeRange EXTENDER +fld public final static org.jcodings.unicode.UnicodeCodeRange EXTPICT +fld public final static org.jcodings.unicode.UnicodeCodeRange FINALPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange FORMAT +fld public final static org.jcodings.unicode.UnicodeCodeRange GEOR +fld public final static org.jcodings.unicode.UnicodeCodeRange GEORGIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange GLAG +fld public final static org.jcodings.unicode.UnicodeCodeRange GLAGOLITIC +fld public final static org.jcodings.unicode.UnicodeCodeRange GONG +fld public final static org.jcodings.unicode.UnicodeCodeRange GONM +fld public final static org.jcodings.unicode.UnicodeCodeRange GOTH +fld public final static org.jcodings.unicode.UnicodeCodeRange GOTHIC +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAN +fld public final static org.jcodings.unicode.UnicodeCodeRange GRANTHA +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPH +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMEBASE +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_CONTROL +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_CR +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_EXTEND +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_L +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_LF +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_LV +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_LVT +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_PREPEND +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_REGIONALINDICATOR +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_SPACINGMARK +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_T +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_V +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMECLUSTERBREAK_ZWJ +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMEEXTEND +fld public final static org.jcodings.unicode.UnicodeCodeRange GRAPHEMELINK +fld public final static org.jcodings.unicode.UnicodeCodeRange GRBASE +fld public final static org.jcodings.unicode.UnicodeCodeRange GREEK +fld public final static org.jcodings.unicode.UnicodeCodeRange GREK +fld public final static org.jcodings.unicode.UnicodeCodeRange GREXT +fld public final static org.jcodings.unicode.UnicodeCodeRange GRLINK +fld public final static org.jcodings.unicode.UnicodeCodeRange GUJARATI +fld public final static org.jcodings.unicode.UnicodeCodeRange GUJR +fld public final static org.jcodings.unicode.UnicodeCodeRange GUNJALAGONDI +fld public final static org.jcodings.unicode.UnicodeCodeRange GURMUKHI +fld public final static org.jcodings.unicode.UnicodeCodeRange GURU +fld public final static org.jcodings.unicode.UnicodeCodeRange HAN +fld public final static org.jcodings.unicode.UnicodeCodeRange HANG +fld public final static org.jcodings.unicode.UnicodeCodeRange HANGUL +fld public final static org.jcodings.unicode.UnicodeCodeRange HANI +fld public final static org.jcodings.unicode.UnicodeCodeRange HANIFIROHINGYA +fld public final static org.jcodings.unicode.UnicodeCodeRange HANO +fld public final static org.jcodings.unicode.UnicodeCodeRange HANUNOO +fld public final static org.jcodings.unicode.UnicodeCodeRange HATR +fld public final static org.jcodings.unicode.UnicodeCodeRange HATRAN +fld public final static org.jcodings.unicode.UnicodeCodeRange HEBR +fld public final static org.jcodings.unicode.UnicodeCodeRange HEBREW +fld public final static org.jcodings.unicode.UnicodeCodeRange HEX +fld public final static org.jcodings.unicode.UnicodeCodeRange HEXDIGIT +fld public final static org.jcodings.unicode.UnicodeCodeRange HIRA +fld public final static org.jcodings.unicode.UnicodeCodeRange HIRAGANA +fld public final static org.jcodings.unicode.UnicodeCodeRange HLUW +fld public final static org.jcodings.unicode.UnicodeCodeRange HMNG +fld public final static org.jcodings.unicode.UnicodeCodeRange HMNP +fld public final static org.jcodings.unicode.UnicodeCodeRange HUNG +fld public final static org.jcodings.unicode.UnicodeCodeRange HYPHEN +fld public final static org.jcodings.unicode.UnicodeCodeRange IDC +fld public final static org.jcodings.unicode.UnicodeCodeRange IDCONTINUE +fld public final static org.jcodings.unicode.UnicodeCodeRange IDEO +fld public final static org.jcodings.unicode.UnicodeCodeRange IDEOGRAPHIC +fld public final static org.jcodings.unicode.UnicodeCodeRange IDS +fld public final static org.jcodings.unicode.UnicodeCodeRange IDSB +fld public final static org.jcodings.unicode.UnicodeCodeRange IDSBINARYOPERATOR +fld public final static org.jcodings.unicode.UnicodeCodeRange IDST +fld public final static org.jcodings.unicode.UnicodeCodeRange IDSTART +fld public final static org.jcodings.unicode.UnicodeCodeRange IDSTRINARYOPERATOR +fld public final static org.jcodings.unicode.UnicodeCodeRange IMPERIALARAMAIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INADLAM +fld public final static org.jcodings.unicode.UnicodeCodeRange INAEGEANNUMBERS +fld public final static org.jcodings.unicode.UnicodeCodeRange INAHOM +fld public final static org.jcodings.unicode.UnicodeCodeRange INALCHEMICALSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INALPHABETICPRESENTATIONFORMS +fld public final static org.jcodings.unicode.UnicodeCodeRange INANATOLIANHIEROGLYPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange INANCIENTGREEKMUSICALNOTATION +fld public final static org.jcodings.unicode.UnicodeCodeRange INANCIENTGREEKNUMBERS +fld public final static org.jcodings.unicode.UnicodeCodeRange INANCIENTSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INARABIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INARABICEXTENDEDA +fld public final static org.jcodings.unicode.UnicodeCodeRange INARABICMATHEMATICALALPHABETICSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INARABICPRESENTATIONFORMSA +fld public final static org.jcodings.unicode.UnicodeCodeRange INARABICPRESENTATIONFORMSB +fld public final static org.jcodings.unicode.UnicodeCodeRange INARABICSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INARMENIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INARROWS +fld public final static org.jcodings.unicode.UnicodeCodeRange INAVESTAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INBALINESE +fld public final static org.jcodings.unicode.UnicodeCodeRange INBAMUM +fld public final static org.jcodings.unicode.UnicodeCodeRange INBAMUMSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INBASICLATIN +fld public final static org.jcodings.unicode.UnicodeCodeRange INBASSAVAH +fld public final static org.jcodings.unicode.UnicodeCodeRange INBATAK +fld public final static org.jcodings.unicode.UnicodeCodeRange INBENGALI +fld public final static org.jcodings.unicode.UnicodeCodeRange INBHAIKSUKI +fld public final static org.jcodings.unicode.UnicodeCodeRange INBLOCKELEMENTS +fld public final static org.jcodings.unicode.UnicodeCodeRange INBOPOMOFO +fld public final static org.jcodings.unicode.UnicodeCodeRange INBOPOMOFOEXTENDED +fld public final static org.jcodings.unicode.UnicodeCodeRange INBOXDRAWING +fld public final static org.jcodings.unicode.UnicodeCodeRange INBRAHMI +fld public final static org.jcodings.unicode.UnicodeCodeRange INBRAILLEPATTERNS +fld public final static org.jcodings.unicode.UnicodeCodeRange INBUGINESE +fld public final static org.jcodings.unicode.UnicodeCodeRange INBUHID +fld public final static org.jcodings.unicode.UnicodeCodeRange INBYZANTINEMUSICALSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCARIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INCAUCASIANALBANIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INCHAKMA +fld public final static org.jcodings.unicode.UnicodeCodeRange INCHAM +fld public final static org.jcodings.unicode.UnicodeCodeRange INCHEROKEE +fld public final static org.jcodings.unicode.UnicodeCodeRange INCHEROKEESUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INCHESSSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCHORASMIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKCOMPATIBILITY +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKCOMPATIBILITYFORMS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKCOMPATIBILITYIDEOGRAPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKCOMPATIBILITYIDEOGRAPHSSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKRADICALSSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKSTROKES +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKSYMBOLSANDPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKUNIFIEDIDEOGRAPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKUNIFIEDIDEOGRAPHSEXTENSIONA +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKUNIFIEDIDEOGRAPHSEXTENSIONB +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKUNIFIEDIDEOGRAPHSEXTENSIONC +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKUNIFIEDIDEOGRAPHSEXTENSIOND +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKUNIFIEDIDEOGRAPHSEXTENSIONE +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKUNIFIEDIDEOGRAPHSEXTENSIONF +fld public final static org.jcodings.unicode.UnicodeCodeRange INCJKUNIFIEDIDEOGRAPHSEXTENSIONG +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOMBININGDIACRITICALMARKS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOMBININGDIACRITICALMARKSEXTENDED +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOMBININGDIACRITICALMARKSFORSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOMBININGDIACRITICALMARKSSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOMBININGHALFMARKS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOMMONINDICNUMBERFORMS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCONTROLPICTURES +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOPTIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOPTICEPACTNUMBERS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCOUNTINGRODNUMERALS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCUNEIFORM +fld public final static org.jcodings.unicode.UnicodeCodeRange INCUNEIFORMNUMBERSANDPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange INCURRENCYSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INCYPRIOTSYLLABARY +fld public final static org.jcodings.unicode.UnicodeCodeRange INCYRILLIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INCYRILLICEXTENDEDA +fld public final static org.jcodings.unicode.UnicodeCodeRange INCYRILLICEXTENDEDB +fld public final static org.jcodings.unicode.UnicodeCodeRange INCYRILLICEXTENDEDC +fld public final static org.jcodings.unicode.UnicodeCodeRange INCYRILLICSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INDESERET +fld public final static org.jcodings.unicode.UnicodeCodeRange INDEVANAGARI +fld public final static org.jcodings.unicode.UnicodeCodeRange INDEVANAGARIEXTENDED +fld public final static org.jcodings.unicode.UnicodeCodeRange INDINGBATS +fld public final static org.jcodings.unicode.UnicodeCodeRange INDIVESAKURU +fld public final static org.jcodings.unicode.UnicodeCodeRange INDOGRA +fld public final static org.jcodings.unicode.UnicodeCodeRange INDOMINOTILES +fld public final static org.jcodings.unicode.UnicodeCodeRange INDUPLOYAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INEARLYDYNASTICCUNEIFORM +fld public final static org.jcodings.unicode.UnicodeCodeRange INEGYPTIANHIEROGLYPHFORMATCONTROLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INEGYPTIANHIEROGLYPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange INELBASAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INELYMAIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INEMOTICONS +fld public final static org.jcodings.unicode.UnicodeCodeRange INENCLOSEDALPHANUMERICS +fld public final static org.jcodings.unicode.UnicodeCodeRange INENCLOSEDALPHANUMERICSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INENCLOSEDCJKLETTERSANDMONTHS +fld public final static org.jcodings.unicode.UnicodeCodeRange INENCLOSEDIDEOGRAPHICSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INETHIOPIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INETHIOPICEXTENDED +fld public final static org.jcodings.unicode.UnicodeCodeRange INETHIOPICEXTENDEDA +fld public final static org.jcodings.unicode.UnicodeCodeRange INETHIOPICSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INGENERALPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange INGEOMETRICSHAPES +fld public final static org.jcodings.unicode.UnicodeCodeRange INGEOMETRICSHAPESEXTENDED +fld public final static org.jcodings.unicode.UnicodeCodeRange INGEORGIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INGEORGIANEXTENDED +fld public final static org.jcodings.unicode.UnicodeCodeRange INGEORGIANSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INGLAGOLITIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INGLAGOLITICSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INGOTHIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INGRANTHA +fld public final static org.jcodings.unicode.UnicodeCodeRange INGREEKANDCOPTIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INGREEKEXTENDED +fld public final static org.jcodings.unicode.UnicodeCodeRange INGUJARATI +fld public final static org.jcodings.unicode.UnicodeCodeRange INGUNJALAGONDI +fld public final static org.jcodings.unicode.UnicodeCodeRange INGURMUKHI +fld public final static org.jcodings.unicode.UnicodeCodeRange INHALFWIDTHANDFULLWIDTHFORMS +fld public final static org.jcodings.unicode.UnicodeCodeRange INHANGULCOMPATIBILITYJAMO +fld public final static org.jcodings.unicode.UnicodeCodeRange INHANGULJAMO +fld public final static org.jcodings.unicode.UnicodeCodeRange INHANGULJAMOEXTENDEDA +fld public final static org.jcodings.unicode.UnicodeCodeRange INHANGULJAMOEXTENDEDB +fld public final static org.jcodings.unicode.UnicodeCodeRange INHANGULSYLLABLES +fld public final static org.jcodings.unicode.UnicodeCodeRange INHANIFIROHINGYA +fld public final static org.jcodings.unicode.UnicodeCodeRange INHANUNOO +fld public final static org.jcodings.unicode.UnicodeCodeRange INHATRAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INHEBREW +fld public final static org.jcodings.unicode.UnicodeCodeRange INHERITED +fld public final static org.jcodings.unicode.UnicodeCodeRange INHIGHPRIVATEUSESURROGATES +fld public final static org.jcodings.unicode.UnicodeCodeRange INHIGHSURROGATES +fld public final static org.jcodings.unicode.UnicodeCodeRange INHIRAGANA +fld public final static org.jcodings.unicode.UnicodeCodeRange INIDEOGRAPHICDESCRIPTIONCHARACTERS +fld public final static org.jcodings.unicode.UnicodeCodeRange INIDEOGRAPHICSYMBOLSANDPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange INIMPERIALARAMAIC +fld public final static org.jcodings.unicode.UnicodeCodeRange ININDICSIYAQNUMBERS +fld public final static org.jcodings.unicode.UnicodeCodeRange ININSCRIPTIONALPAHLAVI +fld public final static org.jcodings.unicode.UnicodeCodeRange ININSCRIPTIONALPARTHIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INIPAEXTENSIONS +fld public final static org.jcodings.unicode.UnicodeCodeRange INITIALPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange INJAVANESE +fld public final static org.jcodings.unicode.UnicodeCodeRange INKAITHI +fld public final static org.jcodings.unicode.UnicodeCodeRange INKANAEXTENDEDA +fld public final static org.jcodings.unicode.UnicodeCodeRange INKANASUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INKANBUN +fld public final static org.jcodings.unicode.UnicodeCodeRange INKANGXIRADICALS +fld public final static org.jcodings.unicode.UnicodeCodeRange INKANNADA +fld public final static org.jcodings.unicode.UnicodeCodeRange INKATAKANA +fld public final static org.jcodings.unicode.UnicodeCodeRange INKATAKANAPHONETICEXTENSIONS +fld public final static org.jcodings.unicode.UnicodeCodeRange INKAYAHLI +fld public final static org.jcodings.unicode.UnicodeCodeRange INKHAROSHTHI +fld public final static org.jcodings.unicode.UnicodeCodeRange INKHITANSMALLSCRIPT +fld public final static org.jcodings.unicode.UnicodeCodeRange INKHMER +fld public final static org.jcodings.unicode.UnicodeCodeRange INKHMERSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INKHOJKI +fld public final static org.jcodings.unicode.UnicodeCodeRange INKHUDAWADI +fld public final static org.jcodings.unicode.UnicodeCodeRange INLAO +fld public final static org.jcodings.unicode.UnicodeCodeRange INLATIN1SUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INLATINEXTENDEDA +fld public final static org.jcodings.unicode.UnicodeCodeRange INLATINEXTENDEDADDITIONAL +fld public final static org.jcodings.unicode.UnicodeCodeRange INLATINEXTENDEDB +fld public final static org.jcodings.unicode.UnicodeCodeRange INLATINEXTENDEDC +fld public final static org.jcodings.unicode.UnicodeCodeRange INLATINEXTENDEDD +fld public final static org.jcodings.unicode.UnicodeCodeRange INLATINEXTENDEDE +fld public final static org.jcodings.unicode.UnicodeCodeRange INLEPCHA +fld public final static org.jcodings.unicode.UnicodeCodeRange INLETTERLIKESYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INLIMBU +fld public final static org.jcodings.unicode.UnicodeCodeRange INLINEARA +fld public final static org.jcodings.unicode.UnicodeCodeRange INLINEARBIDEOGRAMS +fld public final static org.jcodings.unicode.UnicodeCodeRange INLINEARBSYLLABARY +fld public final static org.jcodings.unicode.UnicodeCodeRange INLISU +fld public final static org.jcodings.unicode.UnicodeCodeRange INLISUSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INLOWSURROGATES +fld public final static org.jcodings.unicode.UnicodeCodeRange INLYCIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INLYDIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INMAHAJANI +fld public final static org.jcodings.unicode.UnicodeCodeRange INMAHJONGTILES +fld public final static org.jcodings.unicode.UnicodeCodeRange INMAKASAR +fld public final static org.jcodings.unicode.UnicodeCodeRange INMALAYALAM +fld public final static org.jcodings.unicode.UnicodeCodeRange INMANDAIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INMANICHAEAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INMARCHEN +fld public final static org.jcodings.unicode.UnicodeCodeRange INMASARAMGONDI +fld public final static org.jcodings.unicode.UnicodeCodeRange INMATHEMATICALALPHANUMERICSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMATHEMATICALOPERATORS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMAYANNUMERALS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMEDEFAIDRIN +fld public final static org.jcodings.unicode.UnicodeCodeRange INMEETEIMAYEK +fld public final static org.jcodings.unicode.UnicodeCodeRange INMEETEIMAYEKEXTENSIONS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMENDEKIKAKUI +fld public final static org.jcodings.unicode.UnicodeCodeRange INMEROITICCURSIVE +fld public final static org.jcodings.unicode.UnicodeCodeRange INMEROITICHIEROGLYPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMIAO +fld public final static org.jcodings.unicode.UnicodeCodeRange INMISCELLANEOUSMATHEMATICALSYMBOLSA +fld public final static org.jcodings.unicode.UnicodeCodeRange INMISCELLANEOUSMATHEMATICALSYMBOLSB +fld public final static org.jcodings.unicode.UnicodeCodeRange INMISCELLANEOUSSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMISCELLANEOUSSYMBOLSANDARROWS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMISCELLANEOUSSYMBOLSANDPICTOGRAPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMISCELLANEOUSTECHNICAL +fld public final static org.jcodings.unicode.UnicodeCodeRange INMODI +fld public final static org.jcodings.unicode.UnicodeCodeRange INMODIFIERTONELETTERS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMONGOLIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INMONGOLIANSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INMRO +fld public final static org.jcodings.unicode.UnicodeCodeRange INMULTANI +fld public final static org.jcodings.unicode.UnicodeCodeRange INMUSICALSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INMYANMAR +fld public final static org.jcodings.unicode.UnicodeCodeRange INMYANMAREXTENDEDA +fld public final static org.jcodings.unicode.UnicodeCodeRange INMYANMAREXTENDEDB +fld public final static org.jcodings.unicode.UnicodeCodeRange INNABATAEAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INNANDINAGARI +fld public final static org.jcodings.unicode.UnicodeCodeRange INNEWA +fld public final static org.jcodings.unicode.UnicodeCodeRange INNEWTAILUE +fld public final static org.jcodings.unicode.UnicodeCodeRange INNKO +fld public final static org.jcodings.unicode.UnicodeCodeRange INNOBLOCK +fld public final static org.jcodings.unicode.UnicodeCodeRange INNUMBERFORMS +fld public final static org.jcodings.unicode.UnicodeCodeRange INNUSHU +fld public final static org.jcodings.unicode.UnicodeCodeRange INNYIAKENGPUACHUEHMONG +fld public final static org.jcodings.unicode.UnicodeCodeRange INOGHAM +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLCHIKI +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLDHUNGARIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLDITALIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLDNORTHARABIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLDPERMIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLDPERSIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLDSOGDIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLDSOUTHARABIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INOLDTURKIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INOPTICALCHARACTERRECOGNITION +fld public final static org.jcodings.unicode.UnicodeCodeRange INORIYA +fld public final static org.jcodings.unicode.UnicodeCodeRange INORNAMENTALDINGBATS +fld public final static org.jcodings.unicode.UnicodeCodeRange INOSAGE +fld public final static org.jcodings.unicode.UnicodeCodeRange INOSMANYA +fld public final static org.jcodings.unicode.UnicodeCodeRange INOTTOMANSIYAQNUMBERS +fld public final static org.jcodings.unicode.UnicodeCodeRange INPAHAWHHMONG +fld public final static org.jcodings.unicode.UnicodeCodeRange INPALMYRENE +fld public final static org.jcodings.unicode.UnicodeCodeRange INPAUCINHAU +fld public final static org.jcodings.unicode.UnicodeCodeRange INPHAGSPA +fld public final static org.jcodings.unicode.UnicodeCodeRange INPHAISTOSDISC +fld public final static org.jcodings.unicode.UnicodeCodeRange INPHOENICIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INPHONETICEXTENSIONS +fld public final static org.jcodings.unicode.UnicodeCodeRange INPHONETICEXTENSIONSSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INPLAYINGCARDS +fld public final static org.jcodings.unicode.UnicodeCodeRange INPRIVATEUSEAREA +fld public final static org.jcodings.unicode.UnicodeCodeRange INPSALTERPAHLAVI +fld public final static org.jcodings.unicode.UnicodeCodeRange INREJANG +fld public final static org.jcodings.unicode.UnicodeCodeRange INRUMINUMERALSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INRUNIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INSAMARITAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INSAURASHTRA +fld public final static org.jcodings.unicode.UnicodeCodeRange INSCRIPTIONALPAHLAVI +fld public final static org.jcodings.unicode.UnicodeCodeRange INSCRIPTIONALPARTHIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INSHARADA +fld public final static org.jcodings.unicode.UnicodeCodeRange INSHAVIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INSHORTHANDFORMATCONTROLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INSIDDHAM +fld public final static org.jcodings.unicode.UnicodeCodeRange INSINHALA +fld public final static org.jcodings.unicode.UnicodeCodeRange INSINHALAARCHAICNUMBERS +fld public final static org.jcodings.unicode.UnicodeCodeRange INSMALLFORMVARIANTS +fld public final static org.jcodings.unicode.UnicodeCodeRange INSMALLKANAEXTENSION +fld public final static org.jcodings.unicode.UnicodeCodeRange INSOGDIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INSORASOMPENG +fld public final static org.jcodings.unicode.UnicodeCodeRange INSOYOMBO +fld public final static org.jcodings.unicode.UnicodeCodeRange INSPACINGMODIFIERLETTERS +fld public final static org.jcodings.unicode.UnicodeCodeRange INSPECIALS +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUNDANESE +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUNDANESESUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPERSCRIPTSANDSUBSCRIPTS +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPPLEMENTALARROWSA +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPPLEMENTALARROWSB +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPPLEMENTALARROWSC +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPPLEMENTALMATHEMATICALOPERATORS +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPPLEMENTALPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPPLEMENTALSYMBOLSANDPICTOGRAPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPPLEMENTARYPRIVATEUSEAREAA +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUPPLEMENTARYPRIVATEUSEAREAB +fld public final static org.jcodings.unicode.UnicodeCodeRange INSUTTONSIGNWRITING +fld public final static org.jcodings.unicode.UnicodeCodeRange INSYLOTINAGRI +fld public final static org.jcodings.unicode.UnicodeCodeRange INSYMBOLSANDPICTOGRAPHSEXTENDEDA +fld public final static org.jcodings.unicode.UnicodeCodeRange INSYMBOLSFORLEGACYCOMPUTING +fld public final static org.jcodings.unicode.UnicodeCodeRange INSYRIAC +fld public final static org.jcodings.unicode.UnicodeCodeRange INSYRIACSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAGALOG +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAGBANWA +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAGS +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAILE +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAITHAM +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAIVIET +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAIXUANJINGSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAKRI +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAMIL +fld public final static org.jcodings.unicode.UnicodeCodeRange INTAMILSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INTANGUT +fld public final static org.jcodings.unicode.UnicodeCodeRange INTANGUTCOMPONENTS +fld public final static org.jcodings.unicode.UnicodeCodeRange INTANGUTSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INTELUGU +fld public final static org.jcodings.unicode.UnicodeCodeRange INTHAANA +fld public final static org.jcodings.unicode.UnicodeCodeRange INTHAI +fld public final static org.jcodings.unicode.UnicodeCodeRange INTIBETAN +fld public final static org.jcodings.unicode.UnicodeCodeRange INTIFINAGH +fld public final static org.jcodings.unicode.UnicodeCodeRange INTIRHUTA +fld public final static org.jcodings.unicode.UnicodeCodeRange INTRANSPORTANDMAPSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INUGARITIC +fld public final static org.jcodings.unicode.UnicodeCodeRange INUNIFIEDCANADIANABORIGINALSYLLABICS +fld public final static org.jcodings.unicode.UnicodeCodeRange INUNIFIEDCANADIANABORIGINALSYLLABICSEXTENDED +fld public final static org.jcodings.unicode.UnicodeCodeRange INVAI +fld public final static org.jcodings.unicode.UnicodeCodeRange INVARIATIONSELECTORS +fld public final static org.jcodings.unicode.UnicodeCodeRange INVARIATIONSELECTORSSUPPLEMENT +fld public final static org.jcodings.unicode.UnicodeCodeRange INVEDICEXTENSIONS +fld public final static org.jcodings.unicode.UnicodeCodeRange INVERTICALFORMS +fld public final static org.jcodings.unicode.UnicodeCodeRange INWANCHO +fld public final static org.jcodings.unicode.UnicodeCodeRange INWARANGCITI +fld public final static org.jcodings.unicode.UnicodeCodeRange INYEZIDI +fld public final static org.jcodings.unicode.UnicodeCodeRange INYIJINGHEXAGRAMSYMBOLS +fld public final static org.jcodings.unicode.UnicodeCodeRange INYIRADICALS +fld public final static org.jcodings.unicode.UnicodeCodeRange INYISYLLABLES +fld public final static org.jcodings.unicode.UnicodeCodeRange INZANABAZARSQUARE +fld public final static org.jcodings.unicode.UnicodeCodeRange ITAL +fld public final static org.jcodings.unicode.UnicodeCodeRange JAVA +fld public final static org.jcodings.unicode.UnicodeCodeRange JAVANESE +fld public final static org.jcodings.unicode.UnicodeCodeRange JOINC +fld public final static org.jcodings.unicode.UnicodeCodeRange JOINCONTROL +fld public final static org.jcodings.unicode.UnicodeCodeRange KAITHI +fld public final static org.jcodings.unicode.UnicodeCodeRange KALI +fld public final static org.jcodings.unicode.UnicodeCodeRange KANA +fld public final static org.jcodings.unicode.UnicodeCodeRange KANNADA +fld public final static org.jcodings.unicode.UnicodeCodeRange KATAKANA +fld public final static org.jcodings.unicode.UnicodeCodeRange KAYAHLI +fld public final static org.jcodings.unicode.UnicodeCodeRange KHAR +fld public final static org.jcodings.unicode.UnicodeCodeRange KHAROSHTHI +fld public final static org.jcodings.unicode.UnicodeCodeRange KHITANSMALLSCRIPT +fld public final static org.jcodings.unicode.UnicodeCodeRange KHMER +fld public final static org.jcodings.unicode.UnicodeCodeRange KHMR +fld public final static org.jcodings.unicode.UnicodeCodeRange KHOJ +fld public final static org.jcodings.unicode.UnicodeCodeRange KHOJKI +fld public final static org.jcodings.unicode.UnicodeCodeRange KHUDAWADI +fld public final static org.jcodings.unicode.UnicodeCodeRange KITS +fld public final static org.jcodings.unicode.UnicodeCodeRange KNDA +fld public final static org.jcodings.unicode.UnicodeCodeRange KTHI +fld public final static org.jcodings.unicode.UnicodeCodeRange L +fld public final static org.jcodings.unicode.UnicodeCodeRange LANA +fld public final static org.jcodings.unicode.UnicodeCodeRange LAO +fld public final static org.jcodings.unicode.UnicodeCodeRange LAOO +fld public final static org.jcodings.unicode.UnicodeCodeRange LATIN +fld public final static org.jcodings.unicode.UnicodeCodeRange LATN +fld public final static org.jcodings.unicode.UnicodeCodeRange LC +fld public final static org.jcodings.unicode.UnicodeCodeRange LEPC +fld public final static org.jcodings.unicode.UnicodeCodeRange LEPCHA +fld public final static org.jcodings.unicode.UnicodeCodeRange LETTER +fld public final static org.jcodings.unicode.UnicodeCodeRange LETTERNUMBER +fld public final static org.jcodings.unicode.UnicodeCodeRange LIMB +fld public final static org.jcodings.unicode.UnicodeCodeRange LIMBU +fld public final static org.jcodings.unicode.UnicodeCodeRange LINA +fld public final static org.jcodings.unicode.UnicodeCodeRange LINB +fld public final static org.jcodings.unicode.UnicodeCodeRange LINEARA +fld public final static org.jcodings.unicode.UnicodeCodeRange LINEARB +fld public final static org.jcodings.unicode.UnicodeCodeRange LINESEPARATOR +fld public final static org.jcodings.unicode.UnicodeCodeRange LISU +fld public final static org.jcodings.unicode.UnicodeCodeRange LL +fld public final static org.jcodings.unicode.UnicodeCodeRange LM +fld public final static org.jcodings.unicode.UnicodeCodeRange LO +fld public final static org.jcodings.unicode.UnicodeCodeRange LOE +fld public final static org.jcodings.unicode.UnicodeCodeRange LOGICALORDEREXCEPTION +fld public final static org.jcodings.unicode.UnicodeCodeRange LOWER +fld public final static org.jcodings.unicode.UnicodeCodeRange LOWERCASE +fld public final static org.jcodings.unicode.UnicodeCodeRange LOWERCASELETTER +fld public final static org.jcodings.unicode.UnicodeCodeRange LT +fld public final static org.jcodings.unicode.UnicodeCodeRange LU +fld public final static org.jcodings.unicode.UnicodeCodeRange LYCI +fld public final static org.jcodings.unicode.UnicodeCodeRange LYCIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange LYDI +fld public final static org.jcodings.unicode.UnicodeCodeRange LYDIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange M +fld public final static org.jcodings.unicode.UnicodeCodeRange MAHAJANI +fld public final static org.jcodings.unicode.UnicodeCodeRange MAHJ +fld public final static org.jcodings.unicode.UnicodeCodeRange MAKA +fld public final static org.jcodings.unicode.UnicodeCodeRange MAKASAR +fld public final static org.jcodings.unicode.UnicodeCodeRange MALAYALAM +fld public final static org.jcodings.unicode.UnicodeCodeRange MAND +fld public final static org.jcodings.unicode.UnicodeCodeRange MANDAIC +fld public final static org.jcodings.unicode.UnicodeCodeRange MANI +fld public final static org.jcodings.unicode.UnicodeCodeRange MANICHAEAN +fld public final static org.jcodings.unicode.UnicodeCodeRange MARC +fld public final static org.jcodings.unicode.UnicodeCodeRange MARCHEN +fld public final static org.jcodings.unicode.UnicodeCodeRange MARK +fld public final static org.jcodings.unicode.UnicodeCodeRange MASARAMGONDI +fld public final static org.jcodings.unicode.UnicodeCodeRange MATH +fld public final static org.jcodings.unicode.UnicodeCodeRange MATHSYMBOL +fld public final static org.jcodings.unicode.UnicodeCodeRange MC +fld public final static org.jcodings.unicode.UnicodeCodeRange ME +fld public final static org.jcodings.unicode.UnicodeCodeRange MEDEFAIDRIN +fld public final static org.jcodings.unicode.UnicodeCodeRange MEDF +fld public final static org.jcodings.unicode.UnicodeCodeRange MEETEIMAYEK +fld public final static org.jcodings.unicode.UnicodeCodeRange MEND +fld public final static org.jcodings.unicode.UnicodeCodeRange MENDEKIKAKUI +fld public final static org.jcodings.unicode.UnicodeCodeRange MERC +fld public final static org.jcodings.unicode.UnicodeCodeRange MERO +fld public final static org.jcodings.unicode.UnicodeCodeRange MEROITICCURSIVE +fld public final static org.jcodings.unicode.UnicodeCodeRange MEROITICHIEROGLYPHS +fld public final static org.jcodings.unicode.UnicodeCodeRange MIAO +fld public final static org.jcodings.unicode.UnicodeCodeRange MLYM +fld public final static org.jcodings.unicode.UnicodeCodeRange MN +fld public final static org.jcodings.unicode.UnicodeCodeRange MODI +fld public final static org.jcodings.unicode.UnicodeCodeRange MODIFIERLETTER +fld public final static org.jcodings.unicode.UnicodeCodeRange MODIFIERSYMBOL +fld public final static org.jcodings.unicode.UnicodeCodeRange MONG +fld public final static org.jcodings.unicode.UnicodeCodeRange MONGOLIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange MRO +fld public final static org.jcodings.unicode.UnicodeCodeRange MROO +fld public final static org.jcodings.unicode.UnicodeCodeRange MTEI +fld public final static org.jcodings.unicode.UnicodeCodeRange MULT +fld public final static org.jcodings.unicode.UnicodeCodeRange MULTANI +fld public final static org.jcodings.unicode.UnicodeCodeRange MYANMAR +fld public final static org.jcodings.unicode.UnicodeCodeRange MYMR +fld public final static org.jcodings.unicode.UnicodeCodeRange N +fld public final static org.jcodings.unicode.UnicodeCodeRange NABATAEAN +fld public final static org.jcodings.unicode.UnicodeCodeRange NAND +fld public final static org.jcodings.unicode.UnicodeCodeRange NANDINAGARI +fld public final static org.jcodings.unicode.UnicodeCodeRange NARB +fld public final static org.jcodings.unicode.UnicodeCodeRange NBAT +fld public final static org.jcodings.unicode.UnicodeCodeRange NCHAR +fld public final static org.jcodings.unicode.UnicodeCodeRange ND +fld public final static org.jcodings.unicode.UnicodeCodeRange NEWA +fld public final static org.jcodings.unicode.UnicodeCodeRange NEWLINE +fld public final static org.jcodings.unicode.UnicodeCodeRange NEWTAILUE +fld public final static org.jcodings.unicode.UnicodeCodeRange NKO +fld public final static org.jcodings.unicode.UnicodeCodeRange NKOO +fld public final static org.jcodings.unicode.UnicodeCodeRange NL +fld public final static org.jcodings.unicode.UnicodeCodeRange NO +fld public final static org.jcodings.unicode.UnicodeCodeRange NONCHARACTERCODEPOINT +fld public final static org.jcodings.unicode.UnicodeCodeRange NONSPACINGMARK +fld public final static org.jcodings.unicode.UnicodeCodeRange NSHU +fld public final static org.jcodings.unicode.UnicodeCodeRange NUMBER +fld public final static org.jcodings.unicode.UnicodeCodeRange NUSHU +fld public final static org.jcodings.unicode.UnicodeCodeRange NYIAKENGPUACHUEHMONG +fld public final static org.jcodings.unicode.UnicodeCodeRange OALPHA +fld public final static org.jcodings.unicode.UnicodeCodeRange ODI +fld public final static org.jcodings.unicode.UnicodeCodeRange OGAM +fld public final static org.jcodings.unicode.UnicodeCodeRange OGHAM +fld public final static org.jcodings.unicode.UnicodeCodeRange OGREXT +fld public final static org.jcodings.unicode.UnicodeCodeRange OIDC +fld public final static org.jcodings.unicode.UnicodeCodeRange OIDS +fld public final static org.jcodings.unicode.UnicodeCodeRange OLCHIKI +fld public final static org.jcodings.unicode.UnicodeCodeRange OLCK +fld public final static org.jcodings.unicode.UnicodeCodeRange OLDHUNGARIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange OLDITALIC +fld public final static org.jcodings.unicode.UnicodeCodeRange OLDNORTHARABIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange OLDPERMIC +fld public final static org.jcodings.unicode.UnicodeCodeRange OLDPERSIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange OLDSOGDIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange OLDSOUTHARABIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange OLDTURKIC +fld public final static org.jcodings.unicode.UnicodeCodeRange OLOWER +fld public final static org.jcodings.unicode.UnicodeCodeRange OMATH +fld public final static org.jcodings.unicode.UnicodeCodeRange OPENPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange ORIYA +fld public final static org.jcodings.unicode.UnicodeCodeRange ORKH +fld public final static org.jcodings.unicode.UnicodeCodeRange ORYA +fld public final static org.jcodings.unicode.UnicodeCodeRange OSAGE +fld public final static org.jcodings.unicode.UnicodeCodeRange OSGE +fld public final static org.jcodings.unicode.UnicodeCodeRange OSMA +fld public final static org.jcodings.unicode.UnicodeCodeRange OSMANYA +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHER +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERALPHABETIC +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERDEFAULTIGNORABLECODEPOINT +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERGRAPHEMEEXTEND +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERIDCONTINUE +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERIDSTART +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERLETTER +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERLOWERCASE +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERMATH +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERNUMBER +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERSYMBOL +fld public final static org.jcodings.unicode.UnicodeCodeRange OTHERUPPERCASE +fld public final static org.jcodings.unicode.UnicodeCodeRange OUPPER +fld public final static org.jcodings.unicode.UnicodeCodeRange P +fld public final static org.jcodings.unicode.UnicodeCodeRange PAHAWHHMONG +fld public final static org.jcodings.unicode.UnicodeCodeRange PALM +fld public final static org.jcodings.unicode.UnicodeCodeRange PALMYRENE +fld public final static org.jcodings.unicode.UnicodeCodeRange PARAGRAPHSEPARATOR +fld public final static org.jcodings.unicode.UnicodeCodeRange PATSYN +fld public final static org.jcodings.unicode.UnicodeCodeRange PATTERNSYNTAX +fld public final static org.jcodings.unicode.UnicodeCodeRange PATTERNWHITESPACE +fld public final static org.jcodings.unicode.UnicodeCodeRange PATWS +fld public final static org.jcodings.unicode.UnicodeCodeRange PAUC +fld public final static org.jcodings.unicode.UnicodeCodeRange PAUCINHAU +fld public final static org.jcodings.unicode.UnicodeCodeRange PC +fld public final static org.jcodings.unicode.UnicodeCodeRange PCM +fld public final static org.jcodings.unicode.UnicodeCodeRange PD +fld public final static org.jcodings.unicode.UnicodeCodeRange PE +fld public final static org.jcodings.unicode.UnicodeCodeRange PERM +fld public final static org.jcodings.unicode.UnicodeCodeRange PF +fld public final static org.jcodings.unicode.UnicodeCodeRange PHAG +fld public final static org.jcodings.unicode.UnicodeCodeRange PHAGSPA +fld public final static org.jcodings.unicode.UnicodeCodeRange PHLI +fld public final static org.jcodings.unicode.UnicodeCodeRange PHLP +fld public final static org.jcodings.unicode.UnicodeCodeRange PHNX +fld public final static org.jcodings.unicode.UnicodeCodeRange PHOENICIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange PI +fld public final static org.jcodings.unicode.UnicodeCodeRange PLRD +fld public final static org.jcodings.unicode.UnicodeCodeRange PO +fld public final static org.jcodings.unicode.UnicodeCodeRange PREPENDEDCONCATENATIONMARK +fld public final static org.jcodings.unicode.UnicodeCodeRange PRINT +fld public final static org.jcodings.unicode.UnicodeCodeRange PRIVATEUSE +fld public final static org.jcodings.unicode.UnicodeCodeRange PRTI +fld public final static org.jcodings.unicode.UnicodeCodeRange PS +fld public final static org.jcodings.unicode.UnicodeCodeRange PSALTERPAHLAVI +fld public final static org.jcodings.unicode.UnicodeCodeRange PUNCT +fld public final static org.jcodings.unicode.UnicodeCodeRange PUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange QAAC +fld public final static org.jcodings.unicode.UnicodeCodeRange QAAI +fld public final static org.jcodings.unicode.UnicodeCodeRange QMARK +fld public final static org.jcodings.unicode.UnicodeCodeRange QUOTATIONMARK +fld public final static org.jcodings.unicode.UnicodeCodeRange RADICAL +fld public final static org.jcodings.unicode.UnicodeCodeRange REGIONALINDICATOR +fld public final static org.jcodings.unicode.UnicodeCodeRange REJANG +fld public final static org.jcodings.unicode.UnicodeCodeRange RI +fld public final static org.jcodings.unicode.UnicodeCodeRange RJNG +fld public final static org.jcodings.unicode.UnicodeCodeRange ROHG +fld public final static org.jcodings.unicode.UnicodeCodeRange RUNIC +fld public final static org.jcodings.unicode.UnicodeCodeRange RUNR +fld public final static org.jcodings.unicode.UnicodeCodeRange S +fld public final static org.jcodings.unicode.UnicodeCodeRange SAMARITAN +fld public final static org.jcodings.unicode.UnicodeCodeRange SAMR +fld public final static org.jcodings.unicode.UnicodeCodeRange SARB +fld public final static org.jcodings.unicode.UnicodeCodeRange SAUR +fld public final static org.jcodings.unicode.UnicodeCodeRange SAURASHTRA +fld public final static org.jcodings.unicode.UnicodeCodeRange SC +fld public final static org.jcodings.unicode.UnicodeCodeRange SD +fld public final static org.jcodings.unicode.UnicodeCodeRange SENTENCETERMINAL +fld public final static org.jcodings.unicode.UnicodeCodeRange SEPARATOR +fld public final static org.jcodings.unicode.UnicodeCodeRange SGNW +fld public final static org.jcodings.unicode.UnicodeCodeRange SHARADA +fld public final static org.jcodings.unicode.UnicodeCodeRange SHAVIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange SHAW +fld public final static org.jcodings.unicode.UnicodeCodeRange SHRD +fld public final static org.jcodings.unicode.UnicodeCodeRange SIDD +fld public final static org.jcodings.unicode.UnicodeCodeRange SIDDHAM +fld public final static org.jcodings.unicode.UnicodeCodeRange SIGNWRITING +fld public final static org.jcodings.unicode.UnicodeCodeRange SIND +fld public final static org.jcodings.unicode.UnicodeCodeRange SINH +fld public final static org.jcodings.unicode.UnicodeCodeRange SINHALA +fld public final static org.jcodings.unicode.UnicodeCodeRange SK +fld public final static org.jcodings.unicode.UnicodeCodeRange SM +fld public final static org.jcodings.unicode.UnicodeCodeRange SO +fld public final static org.jcodings.unicode.UnicodeCodeRange SOFTDOTTED +fld public final static org.jcodings.unicode.UnicodeCodeRange SOGD +fld public final static org.jcodings.unicode.UnicodeCodeRange SOGDIAN +fld public final static org.jcodings.unicode.UnicodeCodeRange SOGO +fld public final static org.jcodings.unicode.UnicodeCodeRange SORA +fld public final static org.jcodings.unicode.UnicodeCodeRange SORASOMPENG +fld public final static org.jcodings.unicode.UnicodeCodeRange SOYO +fld public final static org.jcodings.unicode.UnicodeCodeRange SOYOMBO +fld public final static org.jcodings.unicode.UnicodeCodeRange SPACE +fld public final static org.jcodings.unicode.UnicodeCodeRange SPACESEPARATOR +fld public final static org.jcodings.unicode.UnicodeCodeRange SPACINGMARK +fld public final static org.jcodings.unicode.UnicodeCodeRange STERM +fld public final static org.jcodings.unicode.UnicodeCodeRange SUND +fld public final static org.jcodings.unicode.UnicodeCodeRange SUNDANESE +fld public final static org.jcodings.unicode.UnicodeCodeRange SURROGATE +fld public final static org.jcodings.unicode.UnicodeCodeRange SYLO +fld public final static org.jcodings.unicode.UnicodeCodeRange SYLOTINAGRI +fld public final static org.jcodings.unicode.UnicodeCodeRange SYMBOL +fld public final static org.jcodings.unicode.UnicodeCodeRange SYRC +fld public final static org.jcodings.unicode.UnicodeCodeRange SYRIAC +fld public final static org.jcodings.unicode.UnicodeCodeRange TAGALOG +fld public final static org.jcodings.unicode.UnicodeCodeRange TAGB +fld public final static org.jcodings.unicode.UnicodeCodeRange TAGBANWA +fld public final static org.jcodings.unicode.UnicodeCodeRange TAILE +fld public final static org.jcodings.unicode.UnicodeCodeRange TAITHAM +fld public final static org.jcodings.unicode.UnicodeCodeRange TAIVIET +fld public final static org.jcodings.unicode.UnicodeCodeRange TAKR +fld public final static org.jcodings.unicode.UnicodeCodeRange TAKRI +fld public final static org.jcodings.unicode.UnicodeCodeRange TALE +fld public final static org.jcodings.unicode.UnicodeCodeRange TALU +fld public final static org.jcodings.unicode.UnicodeCodeRange TAMIL +fld public final static org.jcodings.unicode.UnicodeCodeRange TAML +fld public final static org.jcodings.unicode.UnicodeCodeRange TANG +fld public final static org.jcodings.unicode.UnicodeCodeRange TANGUT +fld public final static org.jcodings.unicode.UnicodeCodeRange TAVT +fld public final static org.jcodings.unicode.UnicodeCodeRange TELU +fld public final static org.jcodings.unicode.UnicodeCodeRange TELUGU +fld public final static org.jcodings.unicode.UnicodeCodeRange TERM +fld public final static org.jcodings.unicode.UnicodeCodeRange TERMINALPUNCTUATION +fld public final static org.jcodings.unicode.UnicodeCodeRange TFNG +fld public final static org.jcodings.unicode.UnicodeCodeRange TGLG +fld public final static org.jcodings.unicode.UnicodeCodeRange THAA +fld public final static org.jcodings.unicode.UnicodeCodeRange THAANA +fld public final static org.jcodings.unicode.UnicodeCodeRange THAI +fld public final static org.jcodings.unicode.UnicodeCodeRange TIBETAN +fld public final static org.jcodings.unicode.UnicodeCodeRange TIBT +fld public final static org.jcodings.unicode.UnicodeCodeRange TIFINAGH +fld public final static org.jcodings.unicode.UnicodeCodeRange TIRH +fld public final static org.jcodings.unicode.UnicodeCodeRange TIRHUTA +fld public final static org.jcodings.unicode.UnicodeCodeRange TITLECASELETTER +fld public final static org.jcodings.unicode.UnicodeCodeRange UGAR +fld public final static org.jcodings.unicode.UnicodeCodeRange UGARITIC +fld public final static org.jcodings.unicode.UnicodeCodeRange UIDEO +fld public final static org.jcodings.unicode.UnicodeCodeRange UNASSIGNED +fld public final static org.jcodings.unicode.UnicodeCodeRange UNIFIEDIDEOGRAPH +fld public final static org.jcodings.unicode.UnicodeCodeRange UNKNOWN +fld public final static org.jcodings.unicode.UnicodeCodeRange UPPER +fld public final static org.jcodings.unicode.UnicodeCodeRange UPPERCASE +fld public final static org.jcodings.unicode.UnicodeCodeRange UPPERCASELETTER +fld public final static org.jcodings.unicode.UnicodeCodeRange VAI +fld public final static org.jcodings.unicode.UnicodeCodeRange VAII +fld public final static org.jcodings.unicode.UnicodeCodeRange VARIATIONSELECTOR +fld public final static org.jcodings.unicode.UnicodeCodeRange VS +fld public final static org.jcodings.unicode.UnicodeCodeRange WANCHO +fld public final static org.jcodings.unicode.UnicodeCodeRange WARA +fld public final static org.jcodings.unicode.UnicodeCodeRange WARANGCITI +fld public final static org.jcodings.unicode.UnicodeCodeRange WCHO +fld public final static org.jcodings.unicode.UnicodeCodeRange WHITESPACE +fld public final static org.jcodings.unicode.UnicodeCodeRange WORD +fld public final static org.jcodings.unicode.UnicodeCodeRange WSPACE +fld public final static org.jcodings.unicode.UnicodeCodeRange XDIGIT +fld public final static org.jcodings.unicode.UnicodeCodeRange XIDC +fld public final static org.jcodings.unicode.UnicodeCodeRange XIDCONTINUE +fld public final static org.jcodings.unicode.UnicodeCodeRange XIDS +fld public final static org.jcodings.unicode.UnicodeCodeRange XIDSTART +fld public final static org.jcodings.unicode.UnicodeCodeRange XPEO +fld public final static org.jcodings.unicode.UnicodeCodeRange XPOSIXPUNCT +fld public final static org.jcodings.unicode.UnicodeCodeRange XSUX +fld public final static org.jcodings.unicode.UnicodeCodeRange YEZI +fld public final static org.jcodings.unicode.UnicodeCodeRange YEZIDI +fld public final static org.jcodings.unicode.UnicodeCodeRange YI +fld public final static org.jcodings.unicode.UnicodeCodeRange YIII +fld public final static org.jcodings.unicode.UnicodeCodeRange Z +fld public final static org.jcodings.unicode.UnicodeCodeRange ZANABAZARSQUARE +fld public final static org.jcodings.unicode.UnicodeCodeRange ZANB +fld public final static org.jcodings.unicode.UnicodeCodeRange ZINH +fld public final static org.jcodings.unicode.UnicodeCodeRange ZL +fld public final static org.jcodings.unicode.UnicodeCodeRange ZP +fld public final static org.jcodings.unicode.UnicodeCodeRange ZS +fld public final static org.jcodings.unicode.UnicodeCodeRange ZYYY +fld public final static org.jcodings.unicode.UnicodeCodeRange ZZZZ +meth public boolean contains(int) +meth public int getCType() +meth public static org.jcodings.unicode.UnicodeCodeRange valueOf(java.lang.String) +meth public static org.jcodings.unicode.UnicodeCodeRange[] values() +supr java.lang.Enum +hfds CodeRangeTable,MAX_WORD_LENGTH,name,range,table + CLSS public abstract org.jcodings.unicode.UnicodeEncoding cons protected init(java.lang.String,int,int,int[]) cons protected init(java.lang.String,int,int,int[],int[][]) meth protected final int[] ctypeCodeRange(int) meth public boolean isCodeCType(int,int) +meth public final int caseMap(org.jcodings.IntHolder,byte[],org.jcodings.IntHolder,int,byte[],int,int) meth public int mbcCaseFold(int,byte[],org.jcodings.IntHolder,int,byte[]) meth public int propertyNameToCType(byte[],int,int) meth public java.lang.String getCharsetName() meth public org.jcodings.CaseFoldCodeItem[] caseFoldCodesByString(int,byte[],int,int) +meth public static boolean isInCodeRange(org.jcodings.unicode.UnicodeCodeRange,int) meth public void applyAllCaseFold(int,org.jcodings.ApplyAllCaseFoldFunction,java.lang.Object) supr org.jcodings.MultiByteEncoding -hfds PROPERTY_NAME_MAX_SIZE,UNICODE_ISO_8859_1_CTypeTable -hcls CTypeName,CaseFold,CaseFold11,CaseFold12,CaseFold13,CodeRangeEntry - -CLSS public org.jcodings.unicode.UnicodeProperties -cons public init() -supr java.lang.Object -hfds CodeRangeTable +hfds CASE_MAPPING_SLACK,DOTLESS_i,DOT_ABOVE,I_WITH_DOT_ABOVE,PROPERTY_NAME_MAX_SIZE,UNICODE_ISO_8859_1_CTypeTable +hcls CTypeName,CaseFold,CaseMappingSpecials,CaseUnfold11,CaseUnfold12,CaseUnfold13,CodeList CLSS public org.jcodings.util.ArrayReader cons public init() meth public static byte[] readByteArray(java.lang.String) meth public static int[] readIntArray(java.lang.String) meth public static int[][] readNestedIntArray(java.lang.String) +meth public static java.io.DataInputStream openStream(java.lang.String) supr java.lang.Object CLSS public final org.jcodings.util.BytesHash<%0 extends java.lang.Object> @@ -2281,6 +3373,23 @@ cons public init() cons public init(int,org.jcodings.util.Hash$HashEntry<{org.jcodings.util.IntHash$IntHashEntry%0}>,{org.jcodings.util.IntHash$IntHashEntry%0},org.jcodings.util.Hash$HashEntry<{org.jcodings.util.IntHash$IntHashEntry%0}>) supr org.jcodings.util.Hash$HashEntry<{org.jcodings.util.IntHash$IntHashEntry%0}> +CLSS public org.jcodings.util.Macros +cons public init() +fld public final static int MBCLEN_INVALID = -1 +meth public static boolean MBCLEN_CHARFOUND_P(int) +meth public static boolean MBCLEN_INVALID_P(int) +meth public static boolean MBCLEN_NEEDMORE_P(int) +meth public static boolean UNICODE_VALID_CODEPOINT_P(int) +meth public static boolean UTF16_IS_SURROGATE(int) +meth public static boolean UTF16_IS_SURROGATE_FIRST(int) +meth public static boolean UTF16_IS_SURROGATE_SECOND(int) +meth public static int CONSTRUCT_MBCLEN_CHARFOUND(int) +meth public static int CONSTRUCT_MBCLEN_INVALID() +meth public static int CONSTRUCT_MBCLEN_NEEDMORE(int) +meth public static int MBCLEN_CHARFOUND_LEN(int) +meth public static int MBCLEN_NEEDMORE_LEN(int) +supr java.lang.Object + CLSS public final org.jcodings.util.ObjHash<%0 extends java.lang.Object, %1 extends java.lang.Object> cons public init() innr public final static ObjHashEntry diff --git a/ide/libs.jcodings/nbproject/project.properties b/ide/libs.jcodings/nbproject/project.properties index 0c9d0122b91c..f80076409c2b 100644 --- a/ide/libs.jcodings/nbproject/project.properties +++ b/ide/libs.jcodings/nbproject/project.properties @@ -16,4 +16,4 @@ # under the License. is.autoload=true -release.external/jcodings-1.0.18.jar=modules/ext/jcodings-1.0.18.jar +release.external/jcodings-1.0.58.jar=modules/ext/jcodings-1.0.58.jar diff --git a/ide/libs.jcodings/nbproject/project.xml b/ide/libs.jcodings/nbproject/project.xml index 09be4f9ca4c5..e1c5da03822e 100644 --- a/ide/libs.jcodings/nbproject/project.xml +++ b/ide/libs.jcodings/nbproject/project.xml @@ -29,8 +29,8 @@ org.jcodings - ext/jcodings-1.0.18.jar - external/jcodings-1.0.18.jar + ext/jcodings-1.0.58.jar + external/jcodings-1.0.58.jar diff --git a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java index 41bdfd612e00..3b90e4591f5e 100644 --- a/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java +++ b/ide/lsp.client/src/org/netbeans/modules/lsp/client/options/LanguageStorage.java @@ -27,15 +27,14 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Arrays; -import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import java.util.stream.Collectors; import javax.swing.event.ChangeEvent; -import org.eclipse.tm4e.core.registry.IRegistryOptions; -import org.eclipse.tm4e.core.registry.Registry; +import org.eclipse.tm4e.core.internal.grammar.raw.RawGrammarReader; +import org.eclipse.tm4e.core.registry.IGrammarSource; import org.netbeans.modules.textmate.lexer.TextmateTokenId; import org.netbeans.spi.navigator.NavigatorPanel; import org.openide.filesystems.FileObject; @@ -214,23 +213,9 @@ static void store(List languages) { } private static String findScope(File grammar) throws Exception { - IRegistryOptions opts = new IRegistryOptions() { - @Override - public String getFilePath(String scopeName) { - return null; - } - @Override - public InputStream getInputStream(String scopeName) throws IOException { - return null; - } - @Override - public Collection getInjections(String scopeName) { - return null; - } - }; - return new Registry(opts).loadGrammarFromPathSync(grammar).getScopeName(); + return RawGrammarReader.readGrammar(IGrammarSource.fromFile(grammar.toPath())).getScopeName(); } - + public static class LanguageDescription { public String id; diff --git a/ide/textmate.lexer/external/binaries-list b/ide/textmate.lexer/external/binaries-list index 4bb066bdd8f1..3f05e3f7a506 100644 --- a/ide/textmate.lexer/external/binaries-list +++ b/ide/textmate.lexer/external/binaries-list @@ -14,5 +14,5 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -655CC3ABA1BC9DBDD653F28937BEC16F3E9C4CEC org.jruby.joni:joni:2.1.11 -109763C0803F3EAC2372B4E4A9A0D7BED9CAB5BC eu.doppel-helix.netbeans.lib.tm4e:org.eclipse.tm4e.core:0.4.1-pack1 +23D2F2EFF7FA0CDA465D86EC9D8BAB53E496D9E6 org.jruby.joni:joni:2.2.1 +9234380A35AD5C0A707E850D24031AAA158D283A https://download.eclipse.org/tm4e/releases/0.14.0/plugins/org.eclipse.tm4e.core_0.14.0.202410282056.jar org.eclipse.tm4e.core-0.14.0.jar diff --git a/ide/textmate.lexer/external/joni-2.1.11-license.txt b/ide/textmate.lexer/external/joni-2.2.1-license.txt similarity index 98% rename from ide/textmate.lexer/external/joni-2.1.11-license.txt rename to ide/textmate.lexer/external/joni-2.2.1-license.txt index 0ab411de803f..27f51ee66c8b 100644 --- a/ide/textmate.lexer/external/joni-2.1.11-license.txt +++ b/ide/textmate.lexer/external/joni-2.2.1-license.txt @@ -1,5 +1,5 @@ Name: jcodings -Version: 2.1.11 +Version: 2.2.1 License: MIT-jruby Description: Needed by TextMate support for Eclipse Origin: https://github.com/jruby/joni diff --git a/ide/textmate.lexer/external/org.eclipse.tm4e.core-0.4.1-pack1-license.txt b/ide/textmate.lexer/external/org.eclipse.tm4e.core-0.14.0-license.txt similarity index 99% rename from ide/textmate.lexer/external/org.eclipse.tm4e.core-0.4.1-pack1-license.txt rename to ide/textmate.lexer/external/org.eclipse.tm4e.core-0.14.0-license.txt index 829fc5bfbef1..914da8b25c61 100644 --- a/ide/textmate.lexer/external/org.eclipse.tm4e.core-0.4.1-pack1-license.txt +++ b/ide/textmate.lexer/external/org.eclipse.tm4e.core-0.14.0-license.txt @@ -1,5 +1,5 @@ Name: TextMate support for Eclipse -Version: 0.4.1-pack1 +Version: 0.14.0 License: EPL-v20 Description: Used to interpret TextMate grammars Origin: https://github.com/eclipse/tm4e diff --git a/ide/textmate.lexer/nbproject/project.properties b/ide/textmate.lexer/nbproject/project.properties index f539f425d971..4449fcfd502c 100644 --- a/ide/textmate.lexer/nbproject/project.properties +++ b/ide/textmate.lexer/nbproject/project.properties @@ -15,10 +15,10 @@ # specific language governing permissions and limitations # under the License. is.autoload=true -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -release.external/joni-2.1.11.jar=modules/ext/joni-2.1.11.jar -release.external/org.eclipse.tm4e.core-0.4.1-pack1.jar=modules/ext/org.eclipse.tm4e.core-0.4.1-pack1.jar -spec.version.base=1.27.0 +release.external/joni-2.2.1.jar=modules/ext/joni-2.2.1.jar +release.external/org.eclipse.tm4e.core-0.14.0.jar=modules/ext/org.eclipse.tm4e.core-0.14.0.jar +spec.version.base=1.28.0 diff --git a/ide/textmate.lexer/nbproject/project.xml b/ide/textmate.lexer/nbproject/project.xml index 974264dbe390..84402d672b2e 100644 --- a/ide/textmate.lexer/nbproject/project.xml +++ b/ide/textmate.lexer/nbproject/project.xml @@ -42,8 +42,8 @@ org.netbeans.libs.jcodings - 1 - 0.1 + 2 + 1.0.58 @@ -200,12 +200,12 @@ org.netbeans.modules.textmate.lexer.api - ext/joni-2.1.11.jar - external/joni-2.1.11.jar + ext/joni-2.2.1.jar + external/joni-2.2.1.jar - ext/org.eclipse.tm4e.core-0.4.1-pack1.jar - external/org.eclipse.tm4e.core-0.4.1-pack1.jar + ext/org.eclipse.tm4e.core-0.14.0.jar + external/org.eclipse.tm4e.core-0.14.0.jar diff --git a/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/CreateRegistrationProcessor.java b/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/CreateRegistrationProcessor.java index ca3014252020..e0617d2e6a1b 100644 --- a/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/CreateRegistrationProcessor.java +++ b/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/CreateRegistrationProcessor.java @@ -21,7 +21,9 @@ import java.io.IOException; import java.io.InputStream; -import java.util.Collection; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.StandardCharsets; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -37,8 +39,8 @@ import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.Name; import javax.lang.model.element.TypeElement; -import org.eclipse.tm4e.core.registry.IRegistryOptions; -import org.eclipse.tm4e.core.registry.Registry; +import org.eclipse.tm4e.core.internal.grammar.raw.RawGrammarReader; +import org.eclipse.tm4e.core.registry.IGrammarSource; import org.openide.filesystems.annotations.LayerBuilder; import org.openide.filesystems.annotations.LayerGeneratingProcessor; import org.openide.filesystems.annotations.LayerGenerationException; @@ -141,22 +143,21 @@ private void process(Element toRegister, AnnotationMirror mimeRegistration) thro LayerBuilder layer = layer(toRegister); javax.tools.FileObject file = layer.validateResource(grammar, toRegister, null, null, false); - try (InputStream in = file.openInputStream()) { - IRegistryOptions opts = new IRegistryOptions() { + try (InputStream in = file.openInputStream(); + InputStreamReader isr = new InputStreamReader(in, StandardCharsets.UTF_8)) { + String finalGrammar = grammar; + IGrammarSource referencedGrammar = new IGrammarSource() { @Override - public String getFilePath(String scopeName) { - return null; - } - @Override - public InputStream getInputStream(String scopeName) throws IOException { - return null; + public String getFilePath() { + return finalGrammar; } + @Override - public Collection getInjections(String scopeName) { - return null; + public Reader getReader() throws IOException { + return isr; } }; - String scopeName = new Registry(opts).loadGrammarFromPathSync(grammar, in).getScopeName(); + String scopeName = RawGrammarReader.readGrammar(referencedGrammar).getScopeName(); String simpleName = grammar.lastIndexOf('/') != (-1) ? grammar.substring(grammar.lastIndexOf('/') + 1) : grammar; layer.file("Editors" + mimeType + "/" + simpleName) .url("nbresloc:/" + grammar) @@ -191,22 +192,21 @@ private void processInjection(Element toRegister, AnnotationMirror injectionRegi if (injectTo != null && grammar != null) { LayerBuilder layer = layer(toRegister); javax.tools.FileObject file = layer.validateResource(grammar, toRegister, null, null, false); - try (InputStream in = file.openInputStream()) { - IRegistryOptions opts = new IRegistryOptions() { + try (InputStream in = file.openInputStream(); + InputStreamReader isr = new InputStreamReader(in, StandardCharsets.UTF_8)) { + String finalGrammar = grammar; + IGrammarSource referencedGrammar = new IGrammarSource() { @Override - public String getFilePath(String scopeName) { - return null; - } - @Override - public InputStream getInputStream(String scopeName) throws IOException { - return null; + public String getFilePath() { + return finalGrammar; } + @Override - public Collection getInjections(String scopeName) { - return null; + public Reader getReader() throws IOException { + return isr; } }; - String scopeName = new Registry(opts).loadGrammarFromPathSync(grammar, in).getScopeName(); + String scopeName = RawGrammarReader.readGrammar(referencedGrammar).getScopeName(); String simpleName = grammar.lastIndexOf('/') != (-1) ? grammar.substring(grammar.lastIndexOf('/') + 1) : grammar; layer.file("Editors" + "/" + simpleName) .url("nbresloc:/" + grammar) diff --git a/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/FileObjectGrammarSource.java b/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/FileObjectGrammarSource.java new file mode 100644 index 000000000000..2d7db78df749 --- /dev/null +++ b/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/FileObjectGrammarSource.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.textmate.lexer; + +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.StandardCharsets; +import org.eclipse.tm4e.core.registry.IGrammarSource; +import org.openide.filesystems.FileObject; + +public class FileObjectGrammarSource implements IGrammarSource { + + private final FileObject fileObject; + + public FileObjectGrammarSource(FileObject fileObject) { + this.fileObject = fileObject; + } + + @Override + public String getFilePath() { + return fileObject.getPath(); + } + + @Override + public Reader getReader() throws IOException { + return new InputStreamReader(fileObject.getInputStream(), StandardCharsets.UTF_8); + } + +} diff --git a/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/TextmateLexer.java b/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/TextmateLexer.java index ea833d513c98..b832e20b45d5 100644 --- a/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/TextmateLexer.java +++ b/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/TextmateLexer.java @@ -18,14 +18,15 @@ */ package org.netbeans.modules.textmate.lexer; +import java.time.Duration; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.eclipse.tm4e.core.grammar.IGrammar; +import org.eclipse.tm4e.core.grammar.IStateStack; import org.eclipse.tm4e.core.grammar.IToken; import org.eclipse.tm4e.core.grammar.ITokenizeLineResult; -import org.eclipse.tm4e.core.grammar.StackElement; import org.netbeans.api.lexer.Token; import org.netbeans.spi.lexer.Lexer; import org.netbeans.spi.lexer.LexerInput; @@ -42,7 +43,7 @@ public class TextmateLexer implements Lexer{ private int currentOffset; private List lineTokens; private int currentIdx; - private StackElement state; + private IStateStack state; private boolean forceReadLine; public TextmateLexer(LexerInput li, Object state, TokenFactory factory, IGrammar grammar) { @@ -58,7 +59,7 @@ public TextmateLexer(LexerInput li, Object state, TokenFactory this.state = istate.state; this.forceReadLine = true; } else { - this.state = (StackElement) state; + this.state = (IStateStack) state; } } @@ -72,7 +73,7 @@ public Token nextToken() { if (li.readLength() != 0) { lineLen = li.readText().length(); currentOffset = 0; - ITokenizeLineResult tokenized = grammar.tokenizeLine(li.readText().toString(), state); + ITokenizeLineResult tokenized = grammar.tokenizeLine(li.readText().toString(), state, Duration.ofMinutes(1)); lineTokens = new ArrayList<>(Arrays.asList(tokenized.getTokens())); currentIdx = 0; state = tokenized.getRuleStack(); @@ -124,9 +125,9 @@ private static final class IntralineState { private int currentOffset; private List lineTokens; private int currentIdx; - private StackElement state; + private IStateStack state; - public IntralineState(int lineLen, int currentOffset, List lineTokens, int currentIdx, StackElement state) { + public IntralineState(int lineLen, int currentOffset, List lineTokens, int currentIdx, IStateStack state) { this.lineLen = lineLen; this.currentOffset = currentOffset; this.lineTokens = lineTokens; diff --git a/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/TextmateTokenId.java b/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/TextmateTokenId.java index be297b0a102e..195e748f2c09 100644 --- a/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/TextmateTokenId.java +++ b/ide/textmate.lexer/src/org/netbeans/modules/textmate/lexer/TextmateTokenId.java @@ -18,10 +18,9 @@ */ package org.netbeans.modules.textmate.lexer; -import java.io.IOException; -import java.io.InputStream; import java.lang.ref.Reference; import java.lang.ref.WeakReference; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -33,6 +32,7 @@ import java.util.logging.Level; import java.util.logging.Logger; import org.eclipse.tm4e.core.grammar.IGrammar; +import org.eclipse.tm4e.core.registry.IGrammarSource; import org.eclipse.tm4e.core.registry.IRegistryOptions; import org.eclipse.tm4e.core.registry.Registry; import org.netbeans.api.editor.mimelookup.MimePath; @@ -160,19 +160,13 @@ public LanguageHierarchyImpl(String mimeType, String scope) throws Exception { this.mimeType = mimeType; IRegistryOptions opts = new IRegistryOptions() { @Override - public String getFilePath(String scopeName) { + public IGrammarSource getGrammarSource(String scopeName) { synchronized (LanguageHierarchyImpl.class) { FileObject file = scope2File.get(scopeName); - return file != null ? file.getNameExt() : null; - } - } - @Override - public InputStream getInputStream(String scopeName) throws IOException { - synchronized (LanguageHierarchyImpl.class) { - FileObject file = scope2File.get(scopeName); - return file != null ? file.getInputStream(): null; + return file != null ? new FileObjectGrammarSource(file) : null; } } + @Override public Collection getInjections(String scopeName) { synchronized (LanguageHierarchyImpl.class) { diff --git a/ide/textmate.lexer/test/unit/src/org/netbeans/modules/textmate/lexer/TextmateLexerTest.java b/ide/textmate.lexer/test/unit/src/org/netbeans/modules/textmate/lexer/TextmateLexerTest.java index 2cb2b7c1b61a..647b73ef7a34 100644 --- a/ide/textmate.lexer/test/unit/src/org/netbeans/modules/textmate/lexer/TextmateLexerTest.java +++ b/ide/textmate.lexer/test/unit/src/org/netbeans/modules/textmate/lexer/TextmateLexerTest.java @@ -203,7 +203,7 @@ public void testUTF8() throws Exception { assertTokenProperties(ts, "test", "ident.test"); LexerTestUtilities.assertNextTokenEquals(ts, TextmateTokenId.TEXTMATE, " "); assertTokenProperties(ts, "test"); - LexerTestUtilities.assertNextTokenEquals(ts, TextmateTokenId.TEXTMATE, "\n"); + LexerTestUtilities.assertNextTokenEquals(ts, TextmateTokenId.UNTOKENIZED, "\n"); assertFalse(ts.moveNext()); } From f8ade9fa86fe53f1249747cf9acb5313201f57f0 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sat, 14 Dec 2024 16:38:46 +0100 Subject: [PATCH 74/94] Update issue template post NB24 release --- .github/ISSUE_TEMPLATE/netbeans_bug_report.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/netbeans_bug_report.yml b/.github/ISSUE_TEMPLATE/netbeans_bug_report.yml index b2090ff924fd..60249dae2af6 100644 --- a/.github/ISSUE_TEMPLATE/netbeans_bug_report.yml +++ b/.github/ISSUE_TEMPLATE/netbeans_bug_report.yml @@ -27,8 +27,8 @@ body: Latest releases are always available from https://netbeans.apache.org/download/ multiple: false options: - - "Apache NetBeans 23" - - "Apache NetBeans 24 release candidate" + - "Apache NetBeans 24" +# - "Apache NetBeans 25 release candidate" - "Apache NetBeans latest daily build" validations: required: true @@ -73,6 +73,7 @@ body: multiple: false options: - "No / Don't know" + - "Apache NetBeans 24" - "Apache NetBeans 23" - "Apache NetBeans 22" - "Apache NetBeans 21" From c00581381a55f57a409537b5ef60079f3afd38d5 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 16 Dec 2024 14:39:32 +0100 Subject: [PATCH 75/94] Downgrade CI jobs to JDK 23 CI has to wait for the PRs which handle the JDK SM removal. --- .github/workflows/main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4ae29bf906cc..800ed68dabda 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -428,11 +428,11 @@ jobs: run: ant -quiet -Dcluster.config=$CLUSTER_CONFIG test -Dtest.includes=NoTestsJustBuild # 13-14 min for javadoc; JDK version must be synced with nb-javac - - name: Set up JDK 24-ea for javadoc + - name: Set up JDK 23 for javadoc if: env.test_javadoc == 'true' && success() uses: actions/setup-java@v4 with: - java-version: 24-ea + java-version: 23 distribution: ${{ env.DEFAULT_JAVA_DISTRIBUTION }} - name: Build javadoc @@ -833,7 +833,7 @@ jobs: timeout-minutes: 50 strategy: matrix: - java: [ '17', '21', '24-ea' ] + java: [ '17', '21', '23' ] exclude: - java: ${{ github.event_name == 'pull_request' && 'nothing' || '21' }} fail-fast: false @@ -1493,7 +1493,7 @@ jobs: timeout-minutes: 60 strategy: matrix: - java: [ '17', '21', '24-ea' ] + java: [ '17', '21', '23' ] exclude: - java: ${{ github.event_name == 'pull_request' && 'nothing' || '21' }} fail-fast: false From 34fa23b73d231c6d4ac9ed99d3ddf27eeef57711 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 16 Dec 2024 15:19:50 +0100 Subject: [PATCH 76/94] CI: Lock native binaries builds to ubuntu 22 gh supports the last two LTS versions, ubuntu 22 would be still supported for 2 years from today. --- .../native-binary-build-dlight.nativeexecution.yml | 6 +++--- .github/workflows/native-binary-build-launcher.yml | 6 +++--- .github/workflows/native-binary-build-lib.profiler.yml | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/native-binary-build-dlight.nativeexecution.yml b/.github/workflows/native-binary-build-dlight.nativeexecution.yml index 2afaa8726c0a..efce7019b17d 100644 --- a/.github/workflows/native-binary-build-dlight.nativeexecution.yml +++ b/.github/workflows/native-binary-build-dlight.nativeexecution.yml @@ -72,7 +72,7 @@ jobs: source: name: Build Source Zip - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: @@ -104,7 +104,7 @@ jobs: build-linux: name: Build on Linux - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: source steps: @@ -227,7 +227,7 @@ jobs: build-zip-with-build-artifacts: name: Package Native Execution Libraries - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 # Only run when the platform specific builds are finished needs: [build-linux, build-macos-x64, build-macos-arm] diff --git a/.github/workflows/native-binary-build-launcher.yml b/.github/workflows/native-binary-build-launcher.yml index c0bd965708dc..ed8adfe9deb4 100644 --- a/.github/workflows/native-binary-build-launcher.yml +++ b/.github/workflows/native-binary-build-launcher.yml @@ -61,7 +61,7 @@ jobs: source: name: Package Sources - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: @@ -96,7 +96,7 @@ jobs: build-linux: name: Build with MinGW - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: source steps: @@ -160,7 +160,7 @@ jobs: build-zip-with-build-artifacts: name: Package Binaries - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 # Only run when the platform specific builds are finished needs: [build-linux] diff --git a/.github/workflows/native-binary-build-lib.profiler.yml b/.github/workflows/native-binary-build-lib.profiler.yml index e17a41ace275..d0ac913f5437 100644 --- a/.github/workflows/native-binary-build-lib.profiler.yml +++ b/.github/workflows/native-binary-build-lib.profiler.yml @@ -81,7 +81,7 @@ jobs: source: name: Build source zip - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: @@ -128,7 +128,7 @@ jobs: build-linux: name: Build on Linux - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: source steps: @@ -302,7 +302,7 @@ jobs: build-zip-with-build-artifacts: name: Package Profiler Libraries - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 # Only run when the platform specific builds are finished needs: [build-linux, build-windows, build-macos] From d19a7e29dfecede77210c56619ed82565b9a0aed Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Mon, 16 Dec 2024 16:45:38 +0100 Subject: [PATCH 77/94] Disable dependabot dependabot task is failing and it wasn't used anyway --- .asf.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.asf.yaml b/.asf.yaml index b8b865456ee3..7619a83ef9c0 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -29,6 +29,8 @@ github: wiki: false issues: true projects: true + dependabot_alerts: false + dependabot_updates: false enabled_merge_buttons: squash: false merge: true From d68c38508d8b8e4e711d66cdececb8b7d597a9d2 Mon Sep 17 00:00:00 2001 From: Michael Bien Date: Sun, 15 Dec 2024 21:25:13 +0100 Subject: [PATCH 78/94] Log JDK boot modules on startup. could be useful while inspecting user logs since it would identify headless JDKs or JREs with non-standard module lists. --- .../org/netbeans/core/startup/TopLogging.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/platform/core.startup/src/org/netbeans/core/startup/TopLogging.java b/platform/core.startup/src/org/netbeans/core/startup/TopLogging.java index b52bdbe6d24a..8c81e05e8de3 100644 --- a/platform/core.startup/src/org/netbeans/core/startup/TopLogging.java +++ b/platform/core.startup/src/org/netbeans/core/startup/TopLogging.java @@ -32,16 +32,19 @@ import java.io.Reader; import java.io.UnsupportedEncodingException; import java.lang.Thread.UncaughtExceptionHandler; +import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.text.DateFormat; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Properties; +import java.util.Set; import java.util.StringTokenizer; import java.util.logging.Handler; import java.util.logging.Level; @@ -51,6 +54,7 @@ import java.util.logging.StreamHandler; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import org.netbeans.TopSecurityManager; import org.netbeans.core.startup.logging.NbLogging; import org.openide.filesystems.FileUtil; @@ -294,6 +298,7 @@ private void printSystemInfo(PrintStream ps) { } ps.println(" Application Classpath = " + cp); // NOI18N ps.println(" Startup Classpath = " + System.getProperty("netbeans.dynamic.classpath", "unknown")); // NOI18N + ps.println(" Java Boot Modules = " + createJavaBootModuleList()); ps.println("-------------------------------------------------------------------------------"); // NOI18N } @@ -309,6 +314,32 @@ private static String createBootClassPath() { return sb.toString(); } + private List createJavaBootModuleList() { + // TODO JDK 11 equivalent +// return ModuleLayer.boot().modules().stream() +// .map(Module::getName) +// .sorted() +// .collect(Collectors.toList()); + try { + Class ml_class = Class.forName("java.lang.ModuleLayer"); + Method mod_getName = Class.forName("java.lang.Module").getMethod("getName"); + @SuppressWarnings("unchecked") + Set mods = (Set)ml_class.getDeclaredMethod("modules").invoke( + ml_class.getDeclaredMethod("boot").invoke(null) + ); + return mods.stream().map(mod -> { + try { + return (String) mod_getName.invoke(mod); + } catch (ReflectiveOperationException ex) { + return "unknown"; // outer try would fail first + } + }) + .sorted().collect(Collectors.toList()); + } catch (ReflectiveOperationException ex) { + return Collections.emptyList(); + } + } + /** Scans path list for something that can be added to classpath. * @param extensions null or path list * @param sb buffer to put results to From ba044829bec634691d73f6c2541fe88e76df9220 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 17 Dec 2024 09:59:44 +0100 Subject: [PATCH 79/94] Improving stability of Java code completion (sealed) tests. --- .../JavaCompletionTask121FeaturesTest.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java index 5237ac4e88f7..9d9d3d65c6e3 100644 --- a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java +++ b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask121FeaturesTest.java @@ -19,9 +19,14 @@ package org.netbeans.modules.java.completion; +import java.util.concurrent.CountDownLatch; import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.api.java.classpath.GlobalPathRegistry; +import org.netbeans.api.java.source.ClassIndexListener; +import org.netbeans.api.java.source.ClasspathInfo; +import org.netbeans.api.java.source.RootsEvent; import org.netbeans.api.java.source.SourceUtils; +import org.netbeans.api.java.source.TypesEvent; import org.netbeans.modules.java.source.parsing.JavacParser; import org.netbeans.modules.parsing.api.indexing.IndexingManager; import org.netbeans.spi.java.classpath.support.ClassPathSupport; @@ -171,8 +176,27 @@ public void testNonSealedTypeSwitch1() throws Exception { protected void afterTestSetup() throws Exception { if (getName().startsWith("testSealed")) { classPathRegistered = ClassPathSupport.createClassPath(getWorkDir().toURI().toURL()); + CountDownLatch started = new CountDownLatch(1); + ClasspathInfo info = ClasspathInfo.create(ClassPath.EMPTY, ClassPath.EMPTY, classPathRegistered); + ClassIndexListener listener = new ClassIndexListener() { + @Override + public void typesAdded(TypesEvent event) {} + @Override + public void typesRemoved(TypesEvent event) {} + @Override + public void typesChanged(TypesEvent event) {} + @Override + public void rootsAdded(RootsEvent event) { + started.countDown(); + } + @Override + public void rootsRemoved(RootsEvent event) {} + }; + info.getClassIndex().addClassIndexListener(listener); GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, new ClassPath[] {classPathRegistered}); IndexingManager.getDefault().refreshAllIndices(true, true, getWorkDir()); + started.await(); + info.getClassIndex().removeClassIndexListener(listener); SourceUtils.waitScanFinished(); } } From f5cd319f913856e747edd04d694b6f4358a4a0b9 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Tue, 17 Dec 2024 19:18:52 +0100 Subject: [PATCH 80/94] Prevent too many logs in Java code completion tests, by mbien. --- .../modules/java/completion/CompletionTestBaseBase.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBaseBase.java b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBaseBase.java index a25e9cf0b5a5..589b00dd5ff8 100644 --- a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBaseBase.java +++ b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/CompletionTestBaseBase.java @@ -67,6 +67,9 @@ public class CompletionTestBaseBase extends NbTestCase { JavaCompletionTaskBasicTest.class.getClassLoader().setDefaultAssertionStatus(true); SourceUtilsTestUtil2.disableArtificalParameterNames(); System.setProperty("org.netbeans.modules.java.source.parsing.JavacParser.no_parameter_names", "true"); + // bump tresholds to avoid context dumps from "excessive indexing" warnings + System.setProperty("org.netbeans.modules.parsing.impl.indexing.LogContext$EventType.PATH.treshold", "100"); + System.setProperty("org.netbeans.modules.parsing.impl.indexing.LogContext$EventType.MANAGER.treshold", "100"); } static final int FINISH_OUTTIME = 5 * 60 * 1000; From 94c111af7608adf8650bde6f1dd5924378963c1c Mon Sep 17 00:00:00 2001 From: Junichi Yamamoto Date: Wed, 18 Dec 2024 12:49:27 +0900 Subject: [PATCH 81/94] Prevent NPE - Add `null` check because it may be `null` when the mark occurrences feature is canceled --- .../modules/php/editor/csl/OccurrencesFinderImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImpl.java b/php/php.editor/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImpl.java index 066d610920c0..1907f3794e33 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImpl.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImpl.java @@ -69,7 +69,9 @@ public void setCaretPosition(int position) { @Override public Map getOccurrences() { // must not return null - return Collections.unmodifiableMap(range2Attribs); + return range2Attribs != null + ? Collections.unmodifiableMap(range2Attribs) + : Collections.emptyMap(); } @Override From 2a5566fa81deda71acead65db5dc8d0562fa0c6e Mon Sep 17 00:00:00 2001 From: Junichi Yamamoto Date: Wed, 18 Dec 2024 13:00:54 +0900 Subject: [PATCH 82/94] Prevent NPE - See the changes in GH-8028 --- .../javascript2/editor/navigation/JsonOccurrencesFinder.java | 4 +++- .../javascript2/editor/navigation/OccurrencesFinderImpl.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/navigation/JsonOccurrencesFinder.java b/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/navigation/JsonOccurrencesFinder.java index b8f7e666e544..56150ac66e5e 100644 --- a/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/navigation/JsonOccurrencesFinder.java +++ b/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/navigation/JsonOccurrencesFinder.java @@ -59,7 +59,9 @@ public void setCaretPosition(int position) { @Override public Map getOccurrences() { - return range2Attribs; + return range2Attribs != null + ? Collections.unmodifiableMap(range2Attribs) + : Collections.emptyMap(); } @Override diff --git a/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/navigation/OccurrencesFinderImpl.java b/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/navigation/OccurrencesFinderImpl.java index b26a6a3b6c45..512db9486ea3 100644 --- a/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/navigation/OccurrencesFinderImpl.java +++ b/webcommon/javascript2.editor/src/org/netbeans/modules/javascript2/editor/navigation/OccurrencesFinderImpl.java @@ -59,7 +59,9 @@ public void setCaretPosition(int position) { @Override public Map getOccurrences() { - return range2Attribs; + return range2Attribs != null + ? Collections.unmodifiableMap(range2Attribs) + : Collections.emptyMap(); } @Override From 40bae1af2279a038afbc2ce873ac0ffb7d5249d4 Mon Sep 17 00:00:00 2001 From: Dusan Petrovic Date: Thu, 21 Nov 2024 14:24:43 +0100 Subject: [PATCH 83/94] Action for running tests in parallel --- .../micronaut/nbproject/project.properties | 2 +- .../resources/micronaut-actions-maven.xml | 14 + extide/gradle/apichanges.xml | 12 + extide/gradle/nbproject/project.properties | 2 +- .../modules/gradle/ActionProviderImpl.java | 5 +- .../gradle/actions/declarative-actions.xml | 3 + ide/projectapi/apichanges.xml | 21 ++ ide/projectapi/manifest.mf | 2 +- .../api/project/ContainedProjectFilter.java | 65 ++++ .../netbeans/spi/project/ActionProvider.java | 7 + .../org/netbeans/spi/project/NestedClass.java | 147 ++++++++ .../netbeans/spi/project/SingleMethod.java | 65 +++- java/gradle.java/apichanges.xml | 12 + java/gradle.java/nbproject/project.properties | 2 +- java/gradle.java/nbproject/project.xml | 4 +- .../gradle/java/GradleJavaTokenProvider.java | 11 +- .../gradle/java/JavaActionProvider.java | 1 + .../gradle/java/ProjectsTokenProvider.java | 95 +++++ .../modules/gradle/java/action-mapping.xml | 3 + java/gradle.test/manifest.mf | 2 +- java/gradle.test/nbproject/project.xml | 2 +- .../test/GradleTestProgressListener.java | 78 +++- .../integration/maven-actions-override.xml | 1 - .../nbproject/project.properties | 2 +- java/java.lsp.server/nbproject/project.xml | 2 +- .../debugging/launch/NbLaunchDelegate.java | 71 +++- .../launch/NbLaunchRequestHandler.java | 4 +- .../java/lsp/server/progress/ModuleInfo.java | 46 +++ .../server/progress/TestProgressHandler.java | 76 +++- .../lsp/server/protocol/TestSuiteInfo.java | 89 ++++- .../server/protocol/WorkspaceServiceImpl.java | 35 +- .../launch/NbLaunchDelegateTest.java | 18 +- .../progress/TestProgressHandlerTest.java | 9 +- java/java.lsp.server/vscode/src/extension.ts | 61 ++- java/java.lsp.server/vscode/src/protocol.ts | 2 + .../java.lsp.server/vscode/src/testAdapter.ts | 197 +++++++++- java/java.source.base/apichanges.xml | 12 + .../nbproject/project.properties | 2 +- java/java.source.base/nbproject/project.xml | 2 +- .../netbeans/api/java/source/SourceUtils.java | 14 +- java/maven.junit/manifest.mf | 2 +- java/maven.junit/nbproject/project.xml | 2 +- .../junit/JUnitOutputListenerProvider.java | 351 +++++++++++------- java/maven/apichanges.xml | 15 + .../modules/maven/event/NbEventSpy.java | 6 + .../nbproject/org-netbeans-modules-maven.sig | 29 +- java/maven/nbproject/project.properties | 2 +- java/maven/nbproject/project.xml | 4 +- .../modules/maven/ActionProviderImpl.java | 9 +- .../modules/maven/api/execute/RunConfig.java | 22 ++ .../maven/execute/AbstractOutputHandler.java | 28 +- .../modules/maven/execute/BeanRunConfig.java | 36 +- .../execute/CommandLineOutputHandler.java | 34 +- .../execute/DefaultReplaceTokenProvider.java | 29 +- .../execute/MavenCommandLineExecutor.java | 26 +- .../execute/MavenCommandLineOptions.java | 50 +++ .../modules/maven/execute/ModelRunConfig.java | 5 + .../modules/maven/execute/cmd/ExecMojo.java | 34 ++ .../maven/execute/defaultActionMappings.xml | 17 + .../execute/model/NetbeansActionMapping.java | 43 ++- .../jdom/NetbeansBuildActionJDOMWriter.java | 1 + .../xpp3/NetbeansBuildActionXpp3Reader.java | 14 + .../xpp3/NetbeansBuildActionXpp3Writer.java | 11 + .../queries/MavenArtifactsImplementation.java | 1 + .../maven/debug/DebuggerCheckerTest.java | 19 +- 65 files changed, 1679 insertions(+), 309 deletions(-) create mode 100644 ide/projectapi/src/org/netbeans/api/project/ContainedProjectFilter.java create mode 100644 ide/projectapi/src/org/netbeans/spi/project/NestedClass.java create mode 100644 java/gradle.java/src/org/netbeans/modules/gradle/java/ProjectsTokenProvider.java create mode 100644 java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/progress/ModuleInfo.java create mode 100644 java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineOptions.java diff --git a/enterprise/micronaut/nbproject/project.properties b/enterprise/micronaut/nbproject/project.properties index f35467d14f60..38d65c0a0fa8 100644 --- a/enterprise/micronaut/nbproject/project.properties +++ b/enterprise/micronaut/nbproject/project.properties @@ -19,7 +19,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial release.external/spring-boot-configuration-metadata-2.4.4.jar=modules/ext/spring-boot-configuration-metadata-2.4.4.jar release.external/android-json-0.0.20131108.vaadin1.jar=modules/ext/android-json-0.0.20131108.vaadin1.jar -spec.version.base=1.16.0 +spec.version.base=1.17.0 requires.nb.javac=true test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test.unit.cp.extra=${tools.jar} diff --git a/enterprise/micronaut/src/org/netbeans/modules/micronaut/resources/micronaut-actions-maven.xml b/enterprise/micronaut/src/org/netbeans/modules/micronaut/resources/micronaut-actions-maven.xml index 3b9d7ce3fbff..59bff1291680 100644 --- a/enterprise/micronaut/src/org/netbeans/modules/micronaut/resources/micronaut-actions-maven.xml +++ b/enterprise/micronaut/src/org/netbeans/modules/micronaut/resources/micronaut-actions-maven.xml @@ -35,6 +35,20 @@ native-image + + test.single + + * + + + io.micronaut.maven:micronaut-maven-plugin:start-testresources-service + process-test-classes + surefire:test + + + ${packageClassName} + + diff --git a/extide/gradle/apichanges.xml b/extide/gradle/apichanges.xml index 867fd993607c..0c66b4e8b646 100644 --- a/extide/gradle/apichanges.xml +++ b/extide/gradle/apichanges.xml @@ -83,6 +83,18 @@ is the proper place. + + + Added action for running tests in parallel + + + + + + Added action for running tests in parallel with ability to specify the projects on which + the action will be applied. + + LoadOptions object replaces growing number of argumetns to project load APIs. Access to current Lookup added. diff --git a/extide/gradle/nbproject/project.properties b/extide/gradle/nbproject/project.properties index ae784ba78a58..dafc8d6be29e 100644 --- a/extide/gradle/nbproject/project.properties +++ b/extide/gradle/nbproject/project.properties @@ -25,7 +25,7 @@ javadoc.apichanges=${basedir}/apichanges.xml nbm.module.author=Laszlo Kishalmi source.reference.netbeans-gradle-tooling.jar=netbeans-gradle-tooling/src/main/groovy -spec.version.base=2.44.0 +spec.version.base=2.45.0 test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test-unit-sys-prop.java.awt.headless=true diff --git a/extide/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java b/extide/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java index 37c98e43b348..78d36ee4dd27 100644 --- a/extide/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java +++ b/extide/gradle/src/org/netbeans/modules/gradle/ActionProviderImpl.java @@ -26,7 +26,6 @@ import org.netbeans.modules.gradle.api.execute.RunUtils; import org.netbeans.modules.gradle.actions.ActionToTaskUtils; import org.netbeans.modules.gradle.execute.GradleExecutorOptionsPanel; -import org.netbeans.modules.gradle.spi.actions.GradleActionsProvider; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -189,6 +188,7 @@ public boolean isActionEnabled(String command, Lookup context) throws IllegalArg "# {0} - artifactId", "TXT_ApplyCodeChanges=Apply Code Changes ({0})", "# {0} - artifactId", "TXT_Profile=Profile ({0})", "# {0} - artifactId", "TXT_Test=Test ({0})", + "# {0} - artifactId", "TXT_Test_Parallel=Test In Parallel ({0})", "# {0} - artifactId", "TXT_Build=Build ({0})", "# {0} - artifactId", "TXT_Delete=Delete ({0})", }) @@ -215,6 +215,9 @@ static String taskName(Project project, String action, Lookup lkp) { case ActionProvider.COMMAND_TEST: title = TXT_Test(prjLabel); break; + case ActionProvider.COMMAND_TEST_PARALLEL: + title = TXT_Test_Parallel(prjLabel); + break; case ActionProvider.COMMAND_RUN_SINGLE: title = TXT_Run(dobjName); break; diff --git a/extide/gradle/test/unit/src/org/netbeans/modules/gradle/actions/declarative-actions.xml b/extide/gradle/test/unit/src/org/netbeans/modules/gradle/actions/declarative-actions.xml index 321cf0acb93d..5b7eaa0e5ccc 100644 --- a/extide/gradle/test/unit/src/org/netbeans/modules/gradle/actions/declarative-actions.xml +++ b/extide/gradle/test/unit/src/org/netbeans/modules/gradle/actions/declarative-actions.xml @@ -49,6 +49,9 @@ + + --parallel --rerun-tasks ${taskWithProjects} + cleanTest test --tests "${selectedClass}" diff --git a/ide/projectapi/apichanges.xml b/ide/projectapi/apichanges.xml index dec21c0f8cd0..c47f195f203c 100644 --- a/ide/projectapi/apichanges.xml +++ b/ide/projectapi/apichanges.xml @@ -83,6 +83,27 @@ is the proper place. + + + Added action for running tests in parallel + + + + + +

+ ActionProvider.COMMAND_TEST_PARALLEL was introduced in order to + allow running tests in parallel. + ContainedProjectFilter was added and + it can be used to pass list of projects the project action should apply to. + NestedClass was added in order to support + nested classes. +

+
+ + + +
Added ProjectActionContext that can pass action-like environment to project queries diff --git a/ide/projectapi/manifest.mf b/ide/projectapi/manifest.mf index 7fefbde717a1..bf89633c6a95 100644 --- a/ide/projectapi/manifest.mf +++ b/ide/projectapi/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.projectapi/1 -OpenIDE-Module-Specification-Version: 1.98 +OpenIDE-Module-Specification-Version: 1.99 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/projectapi/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/projectapi/layer.xml OpenIDE-Module-Needs: org.netbeans.spi.project.ProjectManagerImplementation diff --git a/ide/projectapi/src/org/netbeans/api/project/ContainedProjectFilter.java b/ide/projectapi/src/org/netbeans/api/project/ContainedProjectFilter.java new file mode 100644 index 000000000000..2680ec2c3efa --- /dev/null +++ b/ide/projectapi/src/org/netbeans/api/project/ContainedProjectFilter.java @@ -0,0 +1,65 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.api.project; + +import java.util.Collections; +import java.util.List; +import java.util.Optional; + +/** + * Provides list of projects the project action should apply to + * + *

+ * An action that processes multiple projects might use ContainedProjectFilter + * to operate only on a specific subset of projects. + * The use of ContainedProjectFilter is optional and determined + * by the requirements of individual actions. + * Actions employing this class must document their specific filtering logic + * and behavior. + *

+ * + * @author Dusan Petrovic + * + * @since 1.99 + */ +public final class ContainedProjectFilter { + + private final List projectsToProcess; + + private ContainedProjectFilter(List projectsToProcess) { + this.projectsToProcess = projectsToProcess; + } + + /** + * Static factory method to create an instance of ContainedProjectFilter. + * + * @param projectsToProcess the list of projects to include in the filter + * @return an Optional containing ContainedProjectFilter, or Optional.empty() if the list is null or empty + */ + public static Optional of(List projectsToProcess) { + if (projectsToProcess == null || projectsToProcess.isEmpty()) { + return Optional.empty(); + } + return Optional.of(new ContainedProjectFilter(projectsToProcess)); + } + + public List getProjectsToProcess() { + return Collections.unmodifiableList(projectsToProcess); + } +} diff --git a/ide/projectapi/src/org/netbeans/spi/project/ActionProvider.java b/ide/projectapi/src/org/netbeans/spi/project/ActionProvider.java index 65098b8435c7..106a3e1f9783 100644 --- a/ide/projectapi/src/org/netbeans/spi/project/ActionProvider.java +++ b/ide/projectapi/src/org/netbeans/spi/project/ActionProvider.java @@ -83,6 +83,13 @@ public interface ActionProvider { */ String COMMAND_TEST_SINGLE = "test.single"; // NOI18N + /** + * Standard command for running tests in parallel on given projects sub-modules + * + * @since 1.99 + */ + String COMMAND_TEST_PARALLEL = "test.parallel"; // NOI18N + /** * Standard command for running the project in debugger */ diff --git a/ide/projectapi/src/org/netbeans/spi/project/NestedClass.java b/ide/projectapi/src/org/netbeans/spi/project/NestedClass.java new file mode 100644 index 000000000000..5df90f2a7104 --- /dev/null +++ b/ide/projectapi/src/org/netbeans/spi/project/NestedClass.java @@ -0,0 +1,147 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.spi.project; + +import java.util.Objects; +import org.openide.filesystems.FileObject; + +/** + * Structure representing an identification of a nested class in a file. + * + *

+ * NestedClass can be used to represent nested classes within parent class + * Example: + * If we have following structure: ParentClass (parent-of) ChildClass1 (parent-of) ChildClass2, + * for ChildClass1 className field would contain "ChildClass1" and topLevelClassName would contain "ParentClass", + * for ChildClass2 className field would contain "ChildClass1.ChildClass2" and topLevelClassName would contain "ParentClass" + *

+ * + * @author Dusan Petrovic + * + * @since 1.99 + */ +public final class NestedClass { + + private final FileObject file; + private final String className; + private final String topLevelClassName; + + /** + * Creates a new instance holding the specified identification + * of a nested class. + * + * @param className name of a class inside the file + * @param topLevelClassName top level name of a class inside the file + * @param file file to be kept in the object + * @exception java.lang.IllegalArgumentException + * if the file or class name is {@code null} + * @since 1.99 + */ + public NestedClass(String className, String topLevelClassName, FileObject file) { + super(); + if (className == null) { + throw new IllegalArgumentException("className is "); + } + if (topLevelClassName == null) { + throw new IllegalArgumentException("topLevelClassName is "); + } + if (file == null) { + throw new IllegalArgumentException("file is "); + } + this.className = className; + this.topLevelClassName = topLevelClassName; + this.file = file; + } + + /** + * Returns the file identification. + * + * @return file held by this object + * @since 1.99 + */ + public FileObject getFile() { + return file; + } + + /** + * Returns name of a nested class within a file. + * + * @return class name held by this object + * @since 1.99 + */ + public String getClassName() { + return className; + } + + /** + * Returns name of a top level class within a file. + * + * @return top level class name held by this object + * @since 1.99 + */ + public String getTopLevelClassName() { + return topLevelClassName; + } + + /** + * Returns fully qualified name. + * + * @param packageName name of the package where the class is + * + * @return fully qualified name held by this object + * @since 1.99 + */ + public String getFQN(String packageName) { + return String.join(".", packageName, topLevelClassName, className); + } + + /** + * Returns fully qualified name. + * + * @param packageName name of the package where the class is + * @param nestedClassSeparator separator for the nested classes + * + * @return fully qualified name held by this object + * @since 1.99 + */ + public String getFQN(String packageName, String nestedClassSeparator) { + return String.join(".", packageName, String.join(nestedClassSeparator, topLevelClassName, className.replace(".", nestedClassSeparator))); + } + + @Override + public int hashCode() { + int hash = 3; + hash = 41 * hash + Objects.hashCode(this.className); + hash = 41 * hash + Objects.hashCode(this.topLevelClassName); + hash = 41 * hash + Objects.hashCode(this.file); + return hash; + } + + @Override + public boolean equals(Object obj) { + if ((obj == null) || (obj.getClass() != NestedClass.class)) { + return false; + } + if (this == obj) { + return true; + } + final NestedClass other = (NestedClass) obj; + return other.file.equals(file) && other.className.equals(className) && other.topLevelClassName.equals(topLevelClassName); + } +} diff --git a/ide/projectapi/src/org/netbeans/spi/project/SingleMethod.java b/ide/projectapi/src/org/netbeans/spi/project/SingleMethod.java index e459a28ca9eb..ca2874deb02e 100644 --- a/ide/projectapi/src/org/netbeans/spi/project/SingleMethod.java +++ b/ide/projectapi/src/org/netbeans/spi/project/SingleMethod.java @@ -19,6 +19,7 @@ package org.netbeans.spi.project; +import java.util.Objects; import org.openide.filesystems.FileObject; /** @@ -29,9 +30,26 @@ */ public final class SingleMethod { - private FileObject file; - private String methodName; + private final FileObject file; + private final String methodName; + private final NestedClass nestedClass; + /** + * Creates a new instance holding the specified identification + * of a method/function in a file. + * + * @param nestedClass nested class containing the method + * @param file file to be kept in the object + * @param methodName name of a method inside the file + * + * @since 1.99 + */ + private SingleMethod(NestedClass nestedClass, FileObject file, String methodName) { + this.methodName = methodName; + this.file = file; + this.nestedClass = nestedClass; + } + /** * Creates a new instance holding the specified identification * of a method/function in a file. @@ -43,15 +61,39 @@ public final class SingleMethod { * @since 1.19 */ public SingleMethod(FileObject file, String methodName) { - super(); - if (file == null) { - throw new IllegalArgumentException("file is "); - } - if (methodName == null) { - throw new IllegalArgumentException("methodName is "); + this(null, nonNull(file, "file"), nonNull(methodName, "methodName")); + } + + /** + * Creates a new instance holding the specified identification + * of a method/function in nested class in a file. + * + * @param methodName name of a method inside the file + * @param nestedClass nested class containing the method + * + * @exception java.lang.IllegalArgumentException + * if the nested class name is {@code null} + * @since 1.99 + */ + public SingleMethod(String methodName, NestedClass nestedClass) { + this(nonNull(nestedClass, "nestedClass"), nonNull(nestedClass.getFile(), "file"), nonNull(methodName, "methodName")); + } + + private static T nonNull(T value, String paramName) { + if (value == null) { + throw new IllegalArgumentException(paramName + " is "); } - this.file = file; - this.methodName = methodName; + return value; + } + + /** + * Returns the nested class containing the method. + * + * @return nested class containing the method + * @since 1.99 + */ + public NestedClass getNestedClass() { + return nestedClass; } /** @@ -94,7 +136,7 @@ public boolean equals(Object obj) { return false; } SingleMethod other = (SingleMethod) obj; - return other.file.equals(file) && other.methodName.equals(methodName); + return other.file.equals(file) && other.methodName.equals(methodName) && Objects.equals(other.nestedClass, nestedClass); } @Override @@ -102,6 +144,7 @@ public int hashCode() { int hash = 7; hash = 29 * hash + this.file.hashCode(); hash = 29 * hash + this.methodName.hashCode(); + hash = 29 * hash + Objects.hashCode(this.nestedClass); return hash; } } diff --git a/java/gradle.java/apichanges.xml b/java/gradle.java/apichanges.xml index 55a1019a9685..fc7e3f311fdd 100644 --- a/java/gradle.java/apichanges.xml +++ b/java/gradle.java/apichanges.xml @@ -83,6 +83,18 @@ is the proper place. + + + Added action for running tests in parallel + + + + + + Added action for running tests in parallel with ability to specify the projects on which + the action will be applied. + + Support for per-language output directories diff --git a/java/gradle.java/nbproject/project.properties b/java/gradle.java/nbproject/project.properties index fb6f49f0b16b..fd605b84f415 100644 --- a/java/gradle.java/nbproject/project.properties +++ b/java/gradle.java/nbproject/project.properties @@ -25,5 +25,5 @@ javadoc.apichanges=${basedir}/apichanges.xml test-unit-sys-prop.test.netbeans.dest.dir=${netbeans.dest.dir} test-unit-sys-prop.java.awt.headless=true test.use.jdk.javac=true -spec.version.base=1.29.0 +spec.version.base=1.30.0 diff --git a/java/gradle.java/nbproject/project.xml b/java/gradle.java/nbproject/project.xml index 0c9f70e8e166..e02a778936ad 100644 --- a/java/gradle.java/nbproject/project.xml +++ b/java/gradle.java/nbproject/project.xml @@ -171,7 +171,7 @@ - 2.73 + 2.74
@@ -188,7 +188,7 @@ 1 - 1.57.1 + 1.99 diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java index 3e2723d802fd..84435b7fbc65 100644 --- a/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java +++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/GradleJavaTokenProvider.java @@ -34,6 +34,7 @@ import org.netbeans.api.java.source.ClasspathInfo; import org.netbeans.api.java.source.SourceUtils; import org.netbeans.api.project.Project; +import org.netbeans.spi.project.NestedClass; import org.netbeans.spi.project.SingleMethod; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; @@ -84,8 +85,9 @@ public Map createReplacements(String action, Lookup context) { private void processSelectedPackageAndClass(final Map map, Lookup context) { FileObject fo = RunUtils.extractFileObjectfromLookup(context); + NestedClass nestedClass = context.lookup(NestedClass.class); GradleJavaProject gjp = GradleJavaProject.get(project); - String className = evaluateClassName(gjp, fo); + String className = evaluateClassName(gjp, fo, nestedClass); if (className != null) { map.put(SELECTED_CLASS, className); int dot = className.lastIndexOf('.'); @@ -104,7 +106,8 @@ private void processSelectedMethod(final Map map, Lookup context FileObject fo = method != null ? method.getFile() : RunUtils.extractFileObjectfromLookup(context); if ((fo != null) && fo.isData()) { GradleJavaProject gjp = GradleJavaProject.get(project); - String className = evaluateClassName(gjp, fo); + NestedClass nestedClass = method != null ? method.getNestedClass() : context.lookup(NestedClass.class); + String className = evaluateClassName(gjp, fo, nestedClass); String selectedMethod = method != null ? className + '.' + method.getMethodName() : className; map.put(SELECTED_METHOD, selectedMethod); } @@ -133,7 +136,7 @@ private void processSourceSets(final Map map, Lookup context) { } } - private String evaluateClassName(GradleJavaProject gjp, FileObject fo) { + private String evaluateClassName(GradleJavaProject gjp, FileObject fo, NestedClass nestedClass) { String ret = null; if ((gjp != null) && (fo != null)) { File f = FileUtil.toFile(fo); @@ -145,7 +148,7 @@ private String evaluateClassName(GradleJavaProject gjp, FileObject fo) { ret = relPath.replace('/', '.'); ret = ret + '*'; } else { - ret = SourceUtils.classNameFor(ClasspathInfo.create(fo), relPath); + ret = SourceUtils.classNameFor(ClasspathInfo.create(fo), relPath, nestedClass); } } } diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/JavaActionProvider.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/JavaActionProvider.java index 2d4045b3d55b..d3dda0ff6d39 100644 --- a/java/gradle.java/src/org/netbeans/modules/gradle/java/JavaActionProvider.java +++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/JavaActionProvider.java @@ -72,6 +72,7 @@ public class JavaActionProvider extends DefaultGradleActionsProvider { COMMAND_RUN, COMMAND_DEBUG, COMMAND_TEST, + COMMAND_TEST_PARALLEL, COMMAND_TEST_SINGLE, COMMAND_DEBUG_TEST_SINGLE, COMMAND_RUN_SINGLE_METHOD, diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/ProjectsTokenProvider.java b/java/gradle.java/src/org/netbeans/modules/gradle/java/ProjectsTokenProvider.java new file mode 100644 index 000000000000..612db9ad03da --- /dev/null +++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/ProjectsTokenProvider.java @@ -0,0 +1,95 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.gradle.java; + +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import org.netbeans.api.project.Project; +import org.netbeans.modules.gradle.api.NbGradleProject; +import org.netbeans.modules.gradle.spi.actions.ReplaceTokenProvider; +import org.netbeans.spi.project.ActionProvider; +import org.netbeans.api.project.ContainedProjectFilter; +import org.netbeans.spi.project.ProjectServiceProvider; +import org.openide.util.Lookup; + +/** + * + * @author Dusan Petrovic + */ +@ProjectServiceProvider( + service = ReplaceTokenProvider.class, + projectType = NbGradleProject.GRADLE_PROJECT_TYPE +) +public class ProjectsTokenProvider implements ReplaceTokenProvider { + + private static final String TASK_WITH_PROJECTS = "taskWithProjects"; //NOI18N + private static final Set SUPPORTED = Collections.unmodifiableSet(new HashSet<>(Arrays.asList( + TASK_WITH_PROJECTS + ))); + + @Override + public Set getSupportedTokens() { + return SUPPORTED; + } + + @Override + public Map createReplacements(String action, Lookup context) { + String taskName = getTaskForAction(action); + if (taskName == null) { + return new HashMap<>(); + } + return getProjectsWithTaskReplacement(taskName, context); + } + + private String getTaskForAction(String action) { + return switch (action) { + case ActionProvider.COMMAND_TEST_PARALLEL -> "test"; //NOI18N + default -> null; + }; + } + + private Map getProjectsWithTaskReplacement(String taskName, Lookup context) { + ContainedProjectFilter parameters = context.lookup(ContainedProjectFilter.class); + List projects = parameters == null ? null : parameters.getProjectsToProcess(); + if (projects == null || projects.isEmpty()) { + return Map.of(TASK_WITH_PROJECTS, taskName); + } + StringBuilder resultTask = new StringBuilder(); + List projectReplacements = createProjectsReplacement(projects); + for (String project : projectReplacements) { + resultTask.append(project) + .append(":") //NOI18N + .append(taskName) + .append(" ");//NOI18N + } + return Map.of(TASK_WITH_PROJECTS, resultTask.toString().trim()); + } + + private List createProjectsReplacement(List projects) { + return projects + .stream() + .map(prj -> prj.getProjectDirectory().getName()) + .toList(); + } +} diff --git a/java/gradle.java/src/org/netbeans/modules/gradle/java/action-mapping.xml b/java/gradle.java/src/org/netbeans/modules/gradle/java/action-mapping.xml index af720a333f82..97fadb9fee99 100644 --- a/java/gradle.java/src/org/netbeans/modules/gradle/java/action-mapping.xml +++ b/java/gradle.java/src/org/netbeans/modules/gradle/java/action-mapping.xml @@ -21,6 +21,9 @@ --> + + --parallel --rerun-tasks ${taskWithProjects} + "${cleanTestTaskName}" "${testTaskName}" --tests "${selectedClass}" diff --git a/java/gradle.test/manifest.mf b/java/gradle.test/manifest.mf index 1dafb59394bd..2e5175701464 100644 --- a/java/gradle.test/manifest.mf +++ b/java/gradle.test/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 AutoUpdate-Show-In-Client: false OpenIDE-Module: org.netbeans.modules.gradle.test OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/gradle/test/Bundle.properties -OpenIDE-Module-Specification-Version: 1.23 +OpenIDE-Module-Specification-Version: 1.24 diff --git a/java/gradle.test/nbproject/project.xml b/java/gradle.test/nbproject/project.xml index 6bbce2d0cc20..efe3ef690ebb 100644 --- a/java/gradle.test/nbproject/project.xml +++ b/java/gradle.test/nbproject/project.xml @@ -90,7 +90,7 @@ - 2.4.1.2.25.8.1 + 2.74 diff --git a/java/gradle.test/src/org/netbeans/modules/gradle/test/GradleTestProgressListener.java b/java/gradle.test/src/org/netbeans/modules/gradle/test/GradleTestProgressListener.java index a3e70dc76c52..a45f9d20176d 100644 --- a/java/gradle.test/src/org/netbeans/modules/gradle/test/GradleTestProgressListener.java +++ b/java/gradle.test/src/org/netbeans/modules/gradle/test/GradleTestProgressListener.java @@ -47,6 +47,7 @@ import org.gradle.tooling.events.test.TestStartEvent; import org.gradle.tooling.events.test.TestSuccessResult; import org.netbeans.api.project.Project; +import org.netbeans.api.project.ProjectUtils; import org.netbeans.modules.gsf.testrunner.api.CommonUtils; import org.netbeans.modules.gsf.testrunner.api.CoreManager; import org.netbeans.modules.gsf.testrunner.api.Report; @@ -62,13 +63,13 @@ * * @author Laszlo Kishalmi */ -@ProjectServiceProvider(service = GradleProgressListenerProvider.class, projectType = NbGradleProject.GRADLE_PLUGIN_TYPE + "/java") +@ProjectServiceProvider(service = GradleProgressListenerProvider.class, projectType = NbGradleProject.GRADLE_PROJECT_TYPE ) public final class GradleTestProgressListener implements ProgressListener, GradleProgressListenerProvider { private final Project project; - TestSession session; + private final Map sessions = new ConcurrentHashMap<>(); - Map runningTests = new ConcurrentHashMap<>(); + private Map> runningTests = new ConcurrentHashMap<>(); public GradleTestProgressListener(Project project) { this.project = project; @@ -131,17 +132,22 @@ private void processTestProgress(TestProgressEvent evt) { } private void processTestOutput(TestOutputEvent evt) { + TestSession session = sessions.get(getSessionKey(evt.getDescriptor())); + assert session != null; + if (session == null) { + throw new IllegalArgumentException("TestSession is null"); + } TestOutputDescriptor desc = evt.getDescriptor(); OperationDescriptor parent = desc.getParent(); CoreManager manager = getManager(); String msg = desc.getMessage(); if (msg != null && msg.endsWith("\n")) { msg = msg.substring(0, msg.length() - 1); - if (manager != null) { + if (manager != null && session != null) { manager.displayOutput(session, msg, desc.getDestination().equals(Destination.StdErr)); } if (parent instanceof JvmTestOperationDescriptor) { - Testcase tc = runningTests.get(getTestOpKey((JvmTestOperationDescriptor) parent)); + Testcase tc = runningTests.get(session).get(getTestOpKey((JvmTestOperationDescriptor) parent)); if (tc != null) { tc.addOutputLines(Arrays.asList(msg.split("\\R"))); } @@ -151,8 +157,12 @@ private void processTestOutput(TestOutputEvent evt) { private void sessionStart(TestStartEvent evt) { - session = new TestSession(evt.getDisplayName(), project, TestSession.SessionType.TEST); - runningTests.clear(); + String key = getSessionKey(evt.getDescriptor()); + TestSession session; + synchronized (this) { + session = sessions.computeIfAbsent(key, name -> new TestSession(name, getProject(key), TestSession.SessionType.TEST)); + runningTests.put(session, new ConcurrentHashMap<>()); + } CoreManager manager = getManager(); if (manager != null) { manager.registerNodeFactory(); @@ -161,7 +171,12 @@ private void sessionStart(TestStartEvent evt) { } private void sessionFinish(TestFinishEvent evt) { - runningTests.clear(); + TestSession session; + synchronized (this) { + session = sessions.remove(getSessionKey(evt.getDescriptor())); + assert session != null; + runningTests.remove(session); + } CoreManager manager = getManager(); if (manager != null) { manager.sessionFinished(session); @@ -172,6 +187,8 @@ private void suiteStart(TestStartEvent evt, JvmTestOperationDescriptor op) { } private void suiteFinish(TestFinishEvent evt, JvmTestOperationDescriptor op) { + TestSession session = sessions.get(getSessionKey(evt.getDescriptor())); + assert session != null; TestOperationResult result = evt.getResult(); TestSuite currentSuite = session.getCurrentSuite(); String suiteName = GradleTestSuite.suiteName(op); @@ -186,6 +203,7 @@ private void suiteFinish(TestFinishEvent evt, JvmTestOperationDescriptor op) { } private void caseStart(TestStartEvent evt, JvmTestOperationDescriptor op) { + TestSession session = sessions.get(getSessionKey(evt.getDescriptor())); assert session != null; assert op.getParent() != null; TestSuite currentSuite = session.getCurrentSuite(); @@ -198,12 +216,19 @@ private void caseStart(TestStartEvent evt, JvmTestOperationDescriptor op) { } } Testcase tc = new GradleTestcase(op, session); - runningTests.put(getTestOpKey(op), tc); - session.addTestCase(tc); + synchronized (this) { + runningTests.get(session).put(getTestOpKey(op), tc); + session.addTestCase(tc); + } } - private void caseFinish(TestFinishEvent evt, JvmTestOperationDescriptor op) { - Testcase tc = runningTests.get(getTestOpKey(op)); + private void caseFinish(TestFinishEvent evt, JvmTestOperationDescriptor op) { + Testcase tc; + synchronized (this) { + TestSession session = sessions.get(getSessionKey(evt.getDescriptor())); + assert session != null; + tc = runningTests.get(session).remove(getTestOpKey(op)); + } if (tc != null) { TestOperationResult result = evt.getResult(); long time = result.getEndTime() - result.getStartTime(); @@ -241,11 +266,38 @@ private void caseFinish(TestFinishEvent evt, JvmTestOperationDescriptor op) { } } - runningTests.remove(getTestOpKey(op)); } } + private static final String GRADLE_TEST_RUN = "Gradle Test Run :"; // NOI18N + private static String TEST = ":test"; + + private Project getProject(String key) { + if (key != null && key.startsWith(GRADLE_TEST_RUN)) { + key = key.substring(GRADLE_TEST_RUN.length()); + if (key.endsWith(TEST)) { + key = key.substring(0, key.length() - TEST.length()).trim(); + if (!key.isEmpty()) { + for (Project containedPrj : ProjectUtils.getContainedProjects(project, true)) { + if (key.equals(containedPrj.getProjectDirectory().getName())) { + return containedPrj; + } + } + } + } + } + return project; + } + + private static String getSessionKey(OperationDescriptor op) { + String id = ""; + for (OperationDescriptor descriptor = op; descriptor != null; descriptor = descriptor.getParent()) { + id = descriptor.getName(); + } + return id; + } + private static JvmTestOperationDescriptor getSuiteOpDesc(JvmTestOperationDescriptor op, String className) { for (JvmTestOperationDescriptor descriptor = op; descriptor != null; descriptor = (JvmTestOperationDescriptor) descriptor.getParent()) { if (className == null || className.equals(descriptor.getClassName())) { diff --git a/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/maven-actions-override.xml b/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/maven-actions-override.xml index 3ba325ab656d..eacae56a62c9 100644 --- a/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/maven-actions-override.xml +++ b/java/java.lsp.server/nbcode/integration/src/org/netbeans/modules/nbcode/integration/maven-actions-override.xml @@ -55,7 +55,6 @@ ${packageClassName} - run diff --git a/java/java.lsp.server/nbproject/project.properties b/java/java.lsp.server/nbproject/project.properties index 628f2f91a172..1a84ddf386cd 100644 --- a/java/java.lsp.server/nbproject/project.properties +++ b/java/java.lsp.server/nbproject/project.properties @@ -17,7 +17,7 @@ javac.source=1.8 javac.compilerargs=-Xlint -Xlint:-serial -spec.version.base=2.10.0 +spec.version.base=2.11.0 javadoc.arch=${basedir}/arch.xml requires.nb.javac=true lsp.build.dir=vscode/nbcode diff --git a/java/java.lsp.server/nbproject/project.xml b/java/java.lsp.server/nbproject/project.xml index b2357086f913..fffc512714b3 100644 --- a/java/java.lsp.server/nbproject/project.xml +++ b/java/java.lsp.server/nbproject/project.xml @@ -519,7 +519,7 @@ 1 - 1.85 + 1.99 diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java index 25f96af67529..01d92d5c82a3 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegate.java @@ -30,6 +30,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.Optional; import java.util.concurrent.CancellationException; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; @@ -76,6 +77,8 @@ import org.netbeans.modules.nativeimage.api.debug.StartDebugParameters; import org.netbeans.spi.project.ActionProgress; import org.netbeans.spi.project.ActionProvider; +import org.netbeans.api.project.ContainedProjectFilter; +import org.netbeans.spi.project.NestedClass; import org.netbeans.spi.project.ProjectConfiguration; import org.netbeans.spi.project.ProjectConfigurationProvider; import org.netbeans.spi.project.SingleMethod; @@ -124,16 +127,29 @@ protected void notifyFinished(DebugAdapterContext ctx, boolean success) { } public final CompletableFuture nbLaunch(FileObject toRun, boolean preferProjActions, @NullAllowed File nativeImageFile, - @NullAllowed String method, Map launchArguments, DebugAdapterContext context, - boolean debug, boolean testRun, Consumer consoleMessages) { + @NullAllowed String method, @NullAllowed String nestedClassName, Map launchArguments, DebugAdapterContext context, + boolean debug, boolean testRun, Consumer consoleMessages, + boolean testInParallel) { CompletableFuture launchFuture = new CompletableFuture<>(); NbProcessConsole ioContext = new NbProcessConsole(consoleMessages); + NestedClass nestedClass; + if (nestedClassName != null) { + int topLevelClassSeparatorIdx = nestedClassName.indexOf("."); + String topLevelClassName = nestedClassName.substring(0, topLevelClassSeparatorIdx); + String nestedName = nestedClassName.substring(topLevelClassSeparatorIdx + 1); + nestedClass = new NestedClass(nestedName, topLevelClassName, toRun); + } else { + nestedClass = null; + } SingleMethod singleMethod; if (method != null) { - singleMethod = new SingleMethod(toRun, method); + singleMethod = nestedClass != null ? + new SingleMethod(method, nestedClass) + : new SingleMethod(toRun, method); } else { singleMethod = null; } + ActionProgress progress = new ActionProgress() { private final AtomicInteger count = new AtomicInteger(0); private final AtomicBoolean finalSuccess = new AtomicBoolean(true); @@ -154,6 +170,13 @@ public void finished(boolean success) { }; if (nativeImageFile == null) { Project prj = FileOwnerQuery.getOwner(toRun); + ContainedProjectFilter projectFilter; + if (testInParallel) { + projectFilter = getProjectFilter(prj, launchArguments); + } else { + projectFilter = null; + } + class W extends Writer { @Override public void write(char[] cbuf, int off, int len) throws IOException { @@ -176,7 +199,7 @@ public void close() throws IOException { } } W writer = new W(); - CompletableFuture> commandFuture = findTargetWithPossibleRebuild(prj, preferProjActions, toRun, singleMethod, debug, testRun, ioContext); + CompletableFuture> commandFuture = findTargetWithPossibleRebuild(prj, preferProjActions, toRun, singleMethod, nestedClass, debug, testRun, ioContext, testInParallel, projectFilter); commandFuture.thenAccept((providerAndCommand) -> { ExplicitProcessParameters params = createExplicitProcessParameters(launchArguments); OperationContext ctx = OperationContext.find(Lookup.getDefault()); @@ -224,7 +247,7 @@ public void progressHandleCreated(ProgressOperationEvent e) { } Lookup lookup = new ProxyLookup( - createTargetLookup(prj, singleMethod, toRun), + createTargetLookup(prj, singleMethod, nestedClass, toRun, projectFilter), Lookups.fixed(runContext.toArray(new Object[runContext.size()])) ); // the execution Lookup is fully populated now. If the Project supports Configurations, @@ -357,6 +380,7 @@ public void propertyChange(PropertyChangeEvent evt) { private static ExplicitProcessParameters createExplicitProcessParameters(Map launchArguments) { List args = argsToStringList(launchArguments.get("args")); List vmArgs = argsToStringList(launchArguments.get("vmArgs")); + String cwd = Objects.toString(launchArguments.get("cwd"), null); Object envObj = launchArguments.get("env"); Map env = envObj != null ? (Map) envObj : Collections.emptyMap(); @@ -486,8 +510,8 @@ static List argsToStringList(Object o) { } } - private static CompletableFuture> findTargetWithPossibleRebuild(Project proj, boolean preferProjActions, FileObject toRun, SingleMethod singleMethod, boolean debug, boolean testRun, NbProcessConsole ioContext) throws IllegalArgumentException { - Pair providerAndCommand = findTarget(proj, preferProjActions, toRun, singleMethod, debug, testRun); + private static CompletableFuture> findTargetWithPossibleRebuild(Project proj, boolean preferProjActions, FileObject toRun, SingleMethod singleMethod, NestedClass nestedClass, boolean debug, boolean testRun, NbProcessConsole ioContext, boolean testInParallel, ContainedProjectFilter projectFilter) throws IllegalArgumentException { + Pair providerAndCommand = findTarget(proj, preferProjActions, toRun, singleMethod, nestedClass, debug, testRun, testInParallel, projectFilter); if (providerAndCommand != null) { return CompletableFuture.completedFuture(providerAndCommand); } @@ -503,7 +527,7 @@ protected void started() { @Override public void finished(boolean success) { if (success) { - Pair providerAndCommand = findTarget(proj, preferProjActions, toRun, singleMethod, debug, testRun); + Pair providerAndCommand = findTarget(proj, preferProjActions, toRun, singleMethod, nestedClass, debug, testRun, testInParallel, projectFilter); if (providerAndCommand != null) { afterBuild.complete(providerAndCommand); return; @@ -536,7 +560,7 @@ public void finished(boolean success) { return afterBuild; } - protected static @CheckForNull Pair findTarget(Project prj, boolean preferProjActions, FileObject toRun, SingleMethod singleMethod, boolean debug, boolean testRun) { + protected static @CheckForNull Pair findTarget(Project prj, boolean preferProjActions, FileObject toRun, SingleMethod singleMethod, NestedClass nestedClass, boolean debug, boolean testRun, boolean testInParallel, ContainedProjectFilter projectFilter) { ClassPath sourceCP = ClassPath.getClassPath(toRun, ClassPath.SOURCE); FileObject fileRoot = sourceCP != null ? sourceCP.findOwnerRoot(toRun) : null; boolean mainSource; @@ -548,11 +572,14 @@ public void finished(boolean success) { ActionProvider provider = null; String command = null; Collection actionProviders = findActionProviders(prj); - Lookup testLookup = createTargetLookup(preferProjActions ? prj : null, singleMethod, toRun); + Lookup testLookup = createTargetLookup(preferProjActions ? prj : null, singleMethod, nestedClass, toRun, projectFilter); String[] actions; - if (!mainSource && singleMethod != null) { + + if (testInParallel) { + actions = new String[] {ActionProvider.COMMAND_TEST_PARALLEL, ActionProvider.COMMAND_RUN}; + } else if (!mainSource && singleMethod != null) { actions = debug ? new String[] {SingleMethod.COMMAND_DEBUG_SINGLE_METHOD} - : new String[] {SingleMethod.COMMAND_RUN_SINGLE_METHOD}; + : new String[] {SingleMethod.COMMAND_RUN_SINGLE_METHOD}; } else { if (preferProjActions && prj != null) { actions = debug ? mainSource ? new String[] {ActionProvider.COMMAND_DEBUG} @@ -562,7 +589,7 @@ public void finished(boolean success) { if (debug && !mainSource) { // We are calling COMMAND_DEBUG_TEST_SINGLE instead of a missing COMMAND_DEBUG_TEST // This is why we need to add the file to the lookup - testLookup = createTargetLookup(null, singleMethod, toRun); + testLookup = createTargetLookup(null, singleMethod, nestedClass, toRun, projectFilter); } } else { actions = debug ? mainSource ? new String[] {ActionProvider.COMMAND_DEBUG_SINGLE} @@ -623,7 +650,7 @@ public void invokeAction(String command, Lookup context) throws IllegalArgumentE return Pair.of(provider, command); } - static Lookup createTargetLookup(Project prj, SingleMethod singleMethod, FileObject toRun) { + static Lookup createTargetLookup(Project prj, SingleMethod singleMethod, NestedClass nestedClass, FileObject toRun, ContainedProjectFilter projectFilter) { List arr = new ArrayList<>(); if (prj != null) { arr.add(Lookups.singleton(prj)); @@ -632,11 +659,27 @@ static Lookup createTargetLookup(Project prj, SingleMethod singleMethod, FileObj Lookup methodLookup = Lookups.singleton(singleMethod); arr.add(methodLookup); } + if (nestedClass != null) { + Lookup nestedClassLookup = Lookups.singleton(nestedClass); + arr.add(nestedClassLookup); + } + if (projectFilter != null) { + Lookup projectLookup = Lookups.singleton(projectFilter); + arr.add(projectLookup); + } if (toRun != null) { arr.add(toRun.getLookup()); } return new ProxyLookup(arr.toArray(new Lookup[0])); } + + static ContainedProjectFilter getProjectFilter(Project prj, Map launchArguments) { + List projectsArg = argsToStringList(launchArguments.get("projects")); + List projects = ProjectUtils.getContainedProjects(prj, false).stream() + .filter(project -> projectsArg.contains(project.getProjectDirectory().getName())) + .toList(); + return ContainedProjectFilter.of(projects).orElse(null); + } static Collection findActionProviders(Project prj) { Collection actionProviders = new ArrayList<>(); diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java index 0b1a26d3875d..8d96ac88be89 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchRequestHandler.java @@ -245,7 +245,9 @@ public CompletableFuture launch(Map launchArguments, Debug context.setSourcePaths((String[]) launchArguments.get("sourcePaths")); } String singleMethod = (String)launchArguments.get("methodName"); - activeLaunchHandler.nbLaunch(file, preferProjActions, nativeImageFile, singleMethod, launchArguments, context, !noDebug, testRun, new OutputListener(context)).thenRun(() -> { + String nestedClass = (String)launchArguments.get("nestedClass"); + boolean testInParallel = (Boolean) launchArguments.getOrDefault("testInParallel", Boolean.FALSE); + activeLaunchHandler.nbLaunch(file, preferProjActions, nativeImageFile, singleMethod, nestedClass, launchArguments, context, !noDebug, testRun, new OutputListener(context), testInParallel).thenRun(() -> { activeLaunchHandler.postLaunch(launchArguments, context); resultFuture.complete(null); }).exceptionally(e -> { diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/progress/ModuleInfo.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/progress/ModuleInfo.java new file mode 100644 index 000000000000..ac423a4dd199 --- /dev/null +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/progress/ModuleInfo.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.java.lsp.server.progress; + +import java.util.List; + +/** + * + * @author Dusan Petrovic + * + * @since 2.11.0 + */ +public final class ModuleInfo { + + private final String moduleName; + private final List testRoots; + + public ModuleInfo(String moduleName, List testRoots) { + this.moduleName = moduleName; + this.testRoots = testRoots; + } + + public String getModuleName() { + return moduleName; + } + + public List getTestRoots() { + return testRoots; + } +} diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandler.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandler.java index 1330c0f366f6..deb6d8b54e80 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandler.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandler.java @@ -18,15 +18,25 @@ */ package org.netbeans.modules.java.lsp.server.progress; +import java.net.URL; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; import org.eclipse.lsp4j.debug.OutputEventArguments; import org.eclipse.lsp4j.debug.services.IDebugProtocolClient; import org.netbeans.api.extexecution.print.LineConvertors; +import org.netbeans.api.java.project.JavaProjectConstants; +import org.netbeans.api.java.queries.UnitTestForSourceQuery; +import org.netbeans.api.project.Project; +import org.netbeans.api.project.ProjectUtils; +import org.netbeans.api.project.SourceGroup; import org.netbeans.modules.gsf.testrunner.api.Report; import org.netbeans.modules.gsf.testrunner.api.Status; import org.netbeans.modules.gsf.testrunner.api.TestSession; @@ -38,13 +48,15 @@ import org.netbeans.modules.java.lsp.server.protocol.TestProgressParams; import org.netbeans.modules.java.lsp.server.protocol.TestSuiteInfo; import org.openide.filesystems.FileObject; +import org.openide.filesystems.URLMapper; /** * * @author Dusan Balek */ -public final class TestProgressHandler implements TestResultDisplayHandler.Spi { - +public final class TestProgressHandler implements TestResultDisplayHandler.Spi { + private static final Logger LOG = Logger.getLogger(TestProgressHandler.class.getName()); + private final NbCodeLanguageClient lspClient; private final IDebugProtocolClient debugClient; private final String uri; @@ -56,31 +68,41 @@ public TestProgressHandler(NbCodeLanguageClient lspClient, IDebugProtocolClient } @Override - public TestProgressHandler create(TestSession session) { - return this; + public ModuleInfo create(TestSession session) { + return getModuleInfo(session); } @Override - public void displayOutput(TestProgressHandler token, String text, boolean error) { + public void displayOutput(ModuleInfo token, String text, boolean error) { if (text != null) { OutputEventArguments output = new OutputEventArguments(); output.setOutput(text.trim() + "\n"); debugClient.output(output); } } + + private String firstModulePath(ModuleInfo token) { + List paths = token.getTestRoots(); + if (paths == null || paths.isEmpty()) { + return null; + } else if (paths.size() > 1) { + LOG.log(Level.WARNING, "Mutliple test roots are not yet supported for module {0}", token.getModuleName()); + } + return paths.iterator().next(); + } @Override - public void displaySuiteRunning(TestProgressHandler token, String suiteName) { - lspClient.notifyTestProgress(new TestProgressParams(uri, new TestSuiteInfo(suiteName, TestSuiteInfo.State.Started))); + public void displaySuiteRunning(ModuleInfo token, String suiteName) { + lspClient.notifyTestProgress(new TestProgressParams(uri, new TestSuiteInfo(suiteName, TestSuiteInfo.State.Started).setModuleName(token.getModuleName()).setModulePath(firstModulePath(token)))); } @Override - public void displaySuiteRunning(TestProgressHandler token, TestSuite suite) { - lspClient.notifyTestProgress(new TestProgressParams(uri, new TestSuiteInfo(suite.getName(), TestSuiteInfo.State.Started))); + public void displaySuiteRunning(ModuleInfo token, TestSuite suite) { + lspClient.notifyTestProgress(new TestProgressParams(uri, new TestSuiteInfo(suite.getName(), TestSuiteInfo.State.Started).setModuleName(token.getModuleName()).setModulePath(firstModulePath(token)))); } @Override - public void displayReport(TestProgressHandler token, Report report) { + public void displayReport(ModuleInfo token, Report report) { Map fileLocations = new HashMap<>(); Map testCases = new LinkedHashMap<>(); String className = report.getSuiteClassName(); @@ -108,20 +130,21 @@ public void displayReport(TestProgressHandler token, Report report) { } String state = statusToState(report.getStatus()); FileObject fo = fileLocations.size() == 1 ? fileLocations.values().iterator().next() : null; - lspClient.notifyTestProgress(new TestProgressParams(uri, new TestSuiteInfo(report.getSuiteClassName(), + + lspClient.notifyTestProgress(new TestProgressParams(uri, new TestSuiteInfo(report.getSuiteClassName(), token.getModuleName(), firstModulePath(token), fo != null ? Utils.toUri(fo) : null, null, state, new ArrayList<>(testCases.values())))); } @Override - public void displayMessage(TestProgressHandler token, String message) { + public void displayMessage(ModuleInfo token, String message) { } @Override - public void displayMessageSessionFinished(TestProgressHandler token, String message) { + public void displayMessageSessionFinished(ModuleInfo token, String message) { } @Override - public int getTotalTests(TestProgressHandler token) { + public int getTotalTests(ModuleInfo token) { return 0; } @@ -144,4 +167,29 @@ private String statusToState(Status status) { throw new IllegalStateException("Unexpected testsuite status: " + status); } } + + private static ModuleInfo getModuleInfo(TestSession session) { + Project project = session.getProject(); + String moduleName = project != null ? ProjectUtils.getInformation(project).getDisplayName() : null; + List testPaths = getModuleTestPaths(project); + return new ModuleInfo(moduleName, testPaths); + } + + private static List getModuleTestPaths(Project project) { + if (project == null) { + return null; + } + SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); + Set paths = new LinkedHashSet<>(); + for (SourceGroup sourceGroup : sourceGroups) { + URL[] urls = UnitTestForSourceQuery.findUnitTests(sourceGroup.getRootFolder()); + for (URL u : urls) { + FileObject f = URLMapper.findFileObject(u); + if (f != null) { + paths.add(f.getPath()); + } + } + } + return paths.isEmpty() ? null : new ArrayList<>(paths); + } } diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestSuiteInfo.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestSuiteInfo.java index 6258caf36d08..2907ca89ee62 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestSuiteInfo.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/TestSuiteInfo.java @@ -39,6 +39,16 @@ public final class TestSuiteInfo { @NonNull private String name; + /** + * The optional module name to be displayed by the Test Explorer. + */ + private String moduleName; + + /** + * The optional module path used by the Test Explorer. + */ + private String modulePath; + /** * The file containing this suite (if known). */ @@ -70,8 +80,10 @@ public TestSuiteInfo(@NonNull final String name, @NonNull final String state) { this.state = Preconditions.checkNotNull(state, "state"); } - public TestSuiteInfo(@NonNull final String name, final String file, final Range range, @NonNull final String state, final List tests) { + public TestSuiteInfo(@NonNull final String name, final String moduleName, final String modulePath, final String file, final Range range, @NonNull final String state, final List tests) { this(name, state); + this.moduleName = moduleName; + this.modulePath = modulePath; this.file = file; this.range = range; this.tests = tests; @@ -89,8 +101,41 @@ public String getName() { /** * The test suite name to be displayed by the Test Explorer. */ - public void setSuiteName(@NonNull final String name) { + public TestSuiteInfo setSuiteName(@NonNull final String name) { this.name = Preconditions.checkNotNull(name, "name"); + return this; + } + + /** + * The optional module name to be displayed by the Test Explorer. + */ + @Pure + public String getModuleName() { + return moduleName; + } + + /** + * The optional module name to be displayed by the Test Explorer. + */ + public TestSuiteInfo setModuleName(final String moduleName) { + this.moduleName = moduleName; + return this; + } + + /** + * The optional module path used by the Test Explorer. + */ + @Pure + public String getModulePath() { + return modulePath; + } + + /** + * The optional module path used by the Test Explorer. + */ + public TestSuiteInfo setModulePath(final String modulePath) { + this.modulePath = modulePath; + return this; } /** @@ -104,8 +149,9 @@ public String getFile() { /** * The file containing this suite (if known). */ - public void setFile(final String file) { + public TestSuiteInfo setFile(final String file) { this.file = file; + return this; } /** @@ -119,8 +165,9 @@ public Range getRange() { /** * The range within the specified file where the suite definition is located (if known). */ - public void setRange(final Range range) { + public TestSuiteInfo setRange(final Range range) { this.range = range; + return this; } /** @@ -137,8 +184,9 @@ public String getState() { * The state of the tests suite. Can be one of the following values: * "loaded" | "started" | "passed" | "failed" | "skipped" | "errored" */ - public void setState(@NonNull final String state) { + public TestSuiteInfo setState(@NonNull final String state) { this.state = Preconditions.checkNotNull(state, "state"); + return this; } /** @@ -152,8 +200,9 @@ public List getTests() { /** * The test cases of the test suite. */ - public void setTests(List tests) { + public TestSuiteInfo setTests(List tests) { this.tests = tests; + return this; } @Override @@ -161,6 +210,8 @@ public void setTests(List tests) { public String toString() { ToStringBuilder b = new ToStringBuilder(this); b.add("name", name); + b.add("moduleName", moduleName); + b.add("modulePath", modulePath); b.add("file", file); b.add("range", range); b.add("state", state); @@ -173,6 +224,8 @@ public String toString() { public int hashCode() { int hash = 7; hash = 67 * hash + Objects.hashCode(this.name); + hash = 67 * hash + Objects.hashCode(this.moduleName); + hash = 67 * hash + Objects.hashCode(this.modulePath); hash = 67 * hash + Objects.hashCode(this.file); hash = 67 * hash + Objects.hashCode(this.range); hash = 67 * hash + Objects.hashCode(this.state); @@ -196,6 +249,12 @@ public boolean equals(Object obj) { if (!Objects.equals(this.name, other.name)) { return false; } + if (!Objects.equals(this.moduleName, other.moduleName)) { + return false; + } + if (!Objects.equals(this.modulePath, other.modulePath)) { + return false; + } if (!Objects.equals(this.file, other.file)) { return false; } @@ -279,8 +338,9 @@ public String getId() { /** * The test case ID. */ - public void setId(@NonNull final String id) { + public TestCaseInfo setId(@NonNull final String id) { this.id = Preconditions.checkNotNull(id, "id"); + return this; } /** @@ -295,8 +355,9 @@ public String getName() { /** * The name to be displayed by the Test Explorer for this test case. */ - public void setName(@NonNull final String name) { + public TestCaseInfo setName(@NonNull final String name) { this.name = Preconditions.checkNotNull(name, "name"); + return this; } /** @@ -310,8 +371,9 @@ public String getFile() { /** * The file containing this test case (if known). */ - public void setFile(final String file) { + public TestCaseInfo setFile(final String file) { this.file = file; + return this; } /** @@ -325,8 +387,9 @@ public Range getRange() { /** * The range within the specified file where the test case definition is located (if known). */ - public void setRange(final Range range) { + public TestCaseInfo setRange(final Range range) { this.range = range; + return this; } /** @@ -343,8 +406,9 @@ public String getState() { * The state of the test case. Can be one of the following values: * "loaded" | "started" | "passed" | "failed" | "skipped" | "errored" */ - public void setState(@NonNull final String state) { + public TestCaseInfo setState(@NonNull final String state) { this.state = Preconditions.checkNotNull(state, "state"); + return this; } /** @@ -358,8 +422,9 @@ public List getStackTrace() { /** * Stack trace for a test failure. */ - public void setStackTrace(final List stackTrace) { + public TestCaseInfo setStackTrace(final List stackTrace) { this.stackTrace = stackTrace; + return this; } @Override diff --git a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java index 6e0755bfb6e6..c9650cad89e4 100644 --- a/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java +++ b/java/java.lsp.server/src/org/netbeans/modules/java/lsp/server/protocol/WorkspaceServiceImpl.java @@ -43,6 +43,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Locale; @@ -124,6 +125,7 @@ import org.netbeans.modules.java.lsp.server.Utils; import org.netbeans.modules.java.lsp.server.debugging.attach.AttachConfigurations; import org.netbeans.modules.java.lsp.server.debugging.attach.AttachNativeConfigurations; +import org.netbeans.modules.java.lsp.server.progress.ModuleInfo; import org.netbeans.modules.java.lsp.server.project.LspProjectInfo; import org.netbeans.modules.java.lsp.server.singlesourcefile.SingleFileOptionsQueryImpl; import org.netbeans.modules.java.source.ElementHandleAccessor; @@ -401,11 +403,15 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { LOG.log(Level.INFO, "Project {2}: {0} test roots opened in {1}ms", new Object[] { testRoots.size(), (System.currentTimeMillis() - t), file}); BiFunction, Collection> f = (fo, methods) -> { String url = Utils.toUri(fo); + Project owner = FileOwnerQuery.getOwner(fo); + String moduleName = owner != null ? ProjectUtils.getInformation(owner).getDisplayName(): null; + List paths = getModuleTestPaths(owner); + String modulePath = firstModulePath(paths, moduleName); Map suite2infos = new LinkedHashMap<>(); for (TestMethodController.TestMethod testMethod : methods) { TestSuiteInfo suite = suite2infos.computeIfAbsent(testMethod.getTestClassName(), name -> { Position pos = testMethod.getTestClassPosition() != null ? Utils.createPosition(fo, testMethod.getTestClassPosition().getOffset()) : null; - return new TestSuiteInfo(name, url, pos != null ? new Range(pos, pos) : null, TestSuiteInfo.State.Loaded, new ArrayList<>()); + return new TestSuiteInfo(name, moduleName, modulePath, url, pos != null ? new Range(pos, pos) : null, TestSuiteInfo.State.Loaded, new ArrayList<>()); }); String id = testMethod.getTestClassName() + ':' + testMethod.method().getMethodName(); Position startPos = testMethod.start() != null ? Utils.createPosition(fo, testMethod.start().getOffset()) : null; @@ -805,6 +811,33 @@ public CompletableFuture executeCommand(ExecuteCommandParams params) { throw new UnsupportedOperationException("Command not supported: " + params.getCommand()); } + private String firstModulePath(List paths, String moduleName) { + if (paths == null || paths.isEmpty()) { + return null; + } else if (paths.size() > 1) { + LOG.log(Level.WARNING, "Mutliple test roots are not yet supported for module {0}", moduleName); + } + return paths.iterator().next(); + } + + private static List getModuleTestPaths(Project project) { + if (project == null) { + return null; + } + SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); + Set paths = new LinkedHashSet<>(); + for (SourceGroup sourceGroup : sourceGroups) { + URL[] urls = UnitTestForSourceQuery.findUnitTests(sourceGroup.getRootFolder()); + for (URL u : urls) { + FileObject f = URLMapper.findFileObject(u); + if (f != null) { + paths.add(f.getPath()); + } + } + } + return paths.isEmpty() ? null : new ArrayList<>(paths); + } + private class ProjectInfoWorker { final URL[] locations; final boolean projectStructure; diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegateTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegateTest.java index 2035554950f8..64dd84b44272 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegateTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/debugging/launch/NbLaunchDelegateTest.java @@ -25,6 +25,7 @@ import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectManager; import org.netbeans.spi.project.ActionProvider; +import org.netbeans.spi.project.NestedClass; import org.netbeans.spi.project.ProjectFactory; import org.netbeans.spi.project.ProjectState; import org.netbeans.spi.project.SingleMethod; @@ -43,7 +44,7 @@ public NbLaunchDelegateTest() { @Test public void testFileObjectsLookup() throws Exception { FileObject fo = FileUtil.createMemoryFileSystem().getRoot().createData("test.txt"); - Lookup lkp = NbLaunchDelegate.createTargetLookup(null, null, fo); + Lookup lkp = NbLaunchDelegate.createTargetLookup(null, null, null, fo, null); assertEquals(fo, lkp.lookup(FileObject.class)); DataObject obj = lkp.lookup(DataObject.class); @@ -56,8 +57,10 @@ public void testFileObjectsLookup() throws Exception { @Test public void testFileObjectsLookupWithSingleMethod() throws Exception { FileObject fo = FileUtil.createMemoryFileSystem().getRoot().createData("test-with-method.txt"); - SingleMethod m = new SingleMethod(fo, "main"); - Lookup lkp = NbLaunchDelegate.createTargetLookup(null, m, fo); + NestedClass nc = new NestedClass("ChildClass", "ParentClass", fo); + SingleMethod m = new SingleMethod("main", nc); + + Lookup lkp = NbLaunchDelegate.createTargetLookup(null, m, nc, fo, null); assertEquals(fo, lkp.lookup(FileObject.class)); DataObject obj = lkp.lookup(DataObject.class); @@ -76,7 +79,7 @@ public void testFindsMavenProject() throws Exception { assertNotNull("Project dir recognized", prj); SingleMethod m = new SingleMethod(xml, "main"); - Lookup lkp = NbLaunchDelegate.createTargetLookup(prj, null, null); + Lookup lkp = NbLaunchDelegate.createTargetLookup(prj, null, null, null, null); assertNull("No file object", lkp.lookup(FileObject.class)); DataObject obj = lkp.lookup(DataObject.class); assertNull("No DataObject ", obj); @@ -91,8 +94,9 @@ public void testFindsWithFileObjectAndDataObject() throws Exception { Project prj = ProjectManager.getDefault().findProject(dir); assertNotNull("Project dir recognized", prj); - SingleMethod m = new SingleMethod(xml, "main"); - Lookup lkp = NbLaunchDelegate.createTargetLookup(prj, m, xml); + NestedClass nc = new NestedClass("ChildClass", "ParentClass", xml); + SingleMethod m = new SingleMethod("main", nc); + Lookup lkp = NbLaunchDelegate.createTargetLookup(prj, m, nc, xml, null); assertEquals("File object is available", xml, lkp.lookup(FileObject.class)); DataObject obj = lkp.lookup(DataObject.class); assertNotNull("DataObject is available", obj); @@ -108,7 +112,7 @@ public void testFindsWithFileObjectAndDataObjectNoMethod() throws Exception { Project prj = ProjectManager.getDefault().findProject(dir); assertNotNull("Project dir recognized", prj); - Lookup lkp = NbLaunchDelegate.createTargetLookup(prj, null, xml); + Lookup lkp = NbLaunchDelegate.createTargetLookup(prj, null, null, xml, null); assertEquals("File object is available", xml, lkp.lookup(FileObject.class)); DataObject obj = lkp.lookup(DataObject.class); assertNotNull("DataObject is available", obj); diff --git a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandlerTest.java b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandlerTest.java index 660bb64fae40..765934b950b3 100644 --- a/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandlerTest.java +++ b/java/java.lsp.server/test/unit/src/org/netbeans/modules/java/lsp/server/progress/TestProgressHandlerTest.java @@ -32,6 +32,7 @@ import org.junit.Test; import org.netbeans.api.extexecution.print.LineConvertors; import org.netbeans.api.project.Project; +import org.netbeans.api.project.ProjectUtils; import org.netbeans.junit.NbTestCase; import org.netbeans.modules.gsf.testrunner.api.Report; import org.netbeans.modules.gsf.testrunner.api.Status; @@ -79,8 +80,6 @@ public void testProgress() { assertNotNull(fo); List msgs = new ArrayList<>(); MockLanguageClient mlc = new MockLanguageClient(msgs); - TestProgressHandler progressHandler = new TestProgressHandler(mlc, new IDebugProtocolClient() {}, fo.toURI().toString()); - progressHandler.displaySuiteRunning(progressHandler, "TestSuiteName"); FileObject projectDir = fo; Project project = new Project() { @Override @@ -98,6 +97,10 @@ public FileObject find(String filename) { }); } }; + TestProgressHandler progressHandler = new TestProgressHandler(mlc, new IDebugProtocolClient() {}, fo.toURI().toString()); + String moduleName = ProjectUtils.getInformation(project).getDisplayName(); + final ModuleInfo moduleInfo = new ModuleInfo(moduleName, List.of(project.getProjectDirectory().getPath())); + progressHandler.displaySuiteRunning(moduleInfo, "TestSuiteName"); Report report = new Report("TestSuiteName", project); TestSession session = new TestSession("TestSession", project, TestSession.SessionType.TEST); Testcase[] tests = new Testcase[] { @@ -117,7 +120,7 @@ public FileObject find(String filename) { report.setTotalTests(2); report.setPassed(1); report.setFailures(1); - progressHandler.displayReport(progressHandler, report); + progressHandler.displayReport(moduleInfo, report); assertEquals("Two messages", 2, msgs.size()); assertEquals(fo.toURI().toString(), msgs.get(0).getUri()); TestSuiteInfo suite = msgs.get(0).getSuite(); diff --git a/java/java.lsp.server/vscode/src/extension.ts b/java/java.lsp.server/vscode/src/extension.ts index 779e3e0cdd6a..dbd6de6b40e1 100644 --- a/java/java.lsp.server/vscode/src/extension.ts +++ b/java/java.lsp.server/vscode/src/extension.ts @@ -70,11 +70,11 @@ import { shouldHideGuideFor } from './panels/guidesUtil'; const API_VERSION : string = "1.0"; export const COMMAND_PREFIX : string = "nbls"; const DATABASE: string = 'Database'; -const listeners = new Map(); +export const listeners = new Map(); export let client: Promise; export let clientRuntimeJDK : string | null = null; export const MINIMAL_JDK_VERSION = 17; - +export const TEST_PROGRESS_EVENT: string = "testProgress"; let testAdapter: NbTestAdapter | undefined; let nbProcess : ChildProcess | null = null; let debugPort: number = -1; @@ -458,7 +458,10 @@ class LineBufferingPseudoterminal implements vscode.Pseudoterminal { pty: this, }); } - this.terminal.show(true); + // Prevent 'stealing' of the focus when running tests in parallel + if (!testAdapter?.testInParallelProfileExist()) { + this.terminal.show(true); + } } /** @@ -882,7 +885,7 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { }); } - const runDebug = async (noDebug: boolean, testRun: boolean, uri: any, methodName?: string, launchConfiguration?: string, project : boolean = false, ) => { + const runDebug = async (noDebug: boolean, testRun: boolean, uri: any, methodName?: string, nestedClass?: string, launchConfiguration?: string, project : boolean = false, testInParallel : boolean = false, projects: string[] | undefined = undefined) => { const docUri = contextUri(uri); if (docUri) { // attempt to find the active configuration in the vsode launch settings; undefined if no config is there. @@ -894,6 +897,9 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { if (methodName) { debugConfig['methodName'] = methodName; } + if (nestedClass) { + debugConfig['nestedClass'] = nestedClass; + } if (launchConfiguration == '') { if (debugConfig['launchConfiguration']) { delete debugConfig['launchConfiguration']; @@ -914,8 +920,13 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { const debugOptions : vscode.DebugSessionOptions = { noDebug: noDebug, } - - + if (testInParallel) { + debugConfig['testInParallel'] = testInParallel; + } + if (projects?.length) { + debugConfig['projects'] = projects; + } + const ret = await vscode.debug.startDebugging(workspaceFolder, debugConfig, debugOptions); return ret ? new Promise((resolve) => { const listener = vscode.debug.onDidTerminateDebugSession(() => { @@ -925,30 +936,38 @@ export function activate(context: ExtensionContext): VSNetBeansAPI { }) : ret; } }; - - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.run.test', async (uri, methodName?, launchConfiguration?) => { - await runDebug(true, true, uri, methodName, launchConfiguration); + + context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.run.test.parallel', async (projects?) => { + testAdapter?.runTestsWithParallelParallel(projects); + })); + + context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.run.test.parallel.createProfile', async (projects?) => { + testAdapter?.registerRunInParallelProfile(projects); + })); + + context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.run.test', async (uri, methodName?, nestedClass?, launchConfiguration?, testInParallel?, projects?) => { + await runDebug(true, true, uri, methodName, nestedClass, launchConfiguration, false, testInParallel, projects); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.debug.test', async (uri, methodName?, launchConfiguration?) => { - await runDebug(false, true, uri, methodName, launchConfiguration); + context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.debug.test', async (uri, methodName?, nestedClass?, launchConfiguration?) => { + await runDebug(false, true, uri, methodName, nestedClass, launchConfiguration); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.run.single', async (uri, methodName?, launchConfiguration?) => { - await runDebug(true, false, uri, methodName, launchConfiguration); + context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.run.single', async (uri, methodName?, nestedClass?, launchConfiguration?) => { + await runDebug(true, false, uri, methodName, nestedClass, launchConfiguration); })); - context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.debug.single', async (uri, methodName?, launchConfiguration?) => { - await runDebug(false, false, uri, methodName, launchConfiguration); + context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.debug.single', async (uri, methodName?, nestedClass?, launchConfiguration?) => { + await runDebug(false, false, uri, methodName, nestedClass, launchConfiguration); })); context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.project.run', async (node, launchConfiguration?) => { - return runDebug(true, false, contextUri(node)?.toString() || '', undefined, launchConfiguration, true); + return runDebug(true, false, contextUri(node)?.toString() || '', undefined, undefined, launchConfiguration, true); })); context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.project.debug', async (node, launchConfiguration?) => { - return runDebug(false, false, contextUri(node)?.toString() || '', undefined, launchConfiguration, true); + return runDebug(false, false, contextUri(node)?.toString() || '', undefined, undefined, launchConfiguration, true); })); context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.project.test', async (node, launchConfiguration?) => { - return runDebug(true, true, contextUri(node)?.toString() || '', undefined, launchConfiguration, true); + return runDebug(true, true, contextUri(node)?.toString() || '', undefined, undefined, launchConfiguration, true); })); context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.package.test', async (uri, launchConfiguration?) => { - await runDebug(true, true, uri, undefined, launchConfiguration); + await runDebug(true, true, uri, undefined, undefined, launchConfiguration); })); context.subscriptions.push(commands.registerCommand(COMMAND_PREFIX + '.open.stacktrace', async (uri, methodName, fileName, line) => { const location: string | undefined = uri ? await commands.executeCommand(COMMAND_PREFIX + '.resolve.stacktrace.location', uri, methodName, fileName) : undefined; @@ -1598,6 +1617,10 @@ function doActivateWithJDK(specifiedJDK: string | null, context: ExtensionContex return data; }); c.onNotification(TestProgressNotification.type, param => { + const testProgressListeners = listeners.get(TEST_PROGRESS_EVENT); + testProgressListeners?.forEach(listener => { + commands.executeCommand(listener, param.suite); + }) if (testAdapter) { testAdapter.testProgress(param.suite); } diff --git a/java/java.lsp.server/vscode/src/protocol.ts b/java/java.lsp.server/vscode/src/protocol.ts index 0a1856f0ed40..39682b671474 100644 --- a/java/java.lsp.server/vscode/src/protocol.ts +++ b/java/java.lsp.server/vscode/src/protocol.ts @@ -158,6 +158,8 @@ export interface TestProgressParams { export interface TestSuite { name: string; + moduleName?: string; + modulePath?: string; file?: string; range?: Range; state: 'loaded' | 'started' | 'passed' | 'failed' | 'skipped' | 'errored'; diff --git a/java/java.lsp.server/vscode/src/testAdapter.ts b/java/java.lsp.server/vscode/src/testAdapter.ts index fb5563e94021..976de6647226 100644 --- a/java/java.lsp.server/vscode/src/testAdapter.ts +++ b/java/java.lsp.server/vscode/src/testAdapter.ts @@ -18,10 +18,12 @@ */ 'use strict'; -import { commands, debug, tests, workspace, CancellationToken, TestController, TestItem, TestRunProfileKind, TestRunRequest, Uri, TestRun, TestMessage, Location, Position, MarkdownString } from "vscode"; +import { commands, debug, tests, workspace, CancellationToken, TestController, TestItem, TestRunProfileKind, TestRunRequest, Uri, TestRun, TestMessage, Location, Position, MarkdownString, TestRunProfile, CancellationTokenSource } from "vscode"; import * as path from 'path'; import { asRange, TestCase, TestSuite } from "./protocol"; -import { COMMAND_PREFIX } from "./extension"; +import { COMMAND_PREFIX, listeners, TEST_PROGRESS_EVENT } from "./extension"; + +type SuiteState = 'enqueued' | 'started' | 'passed' | 'failed' | 'skipped' | 'errored'; export class NbTestAdapter { @@ -30,6 +32,8 @@ export class NbTestAdapter { private currentRun: TestRun | undefined; private itemsToRun: Set | undefined; private started: boolean = false; + private suiteStates: Map; + private parallelRunProfile: TestRunProfile | undefined; constructor() { this.testController = tests.createTestController('apacheNetBeansController', 'Apache NetBeans'); @@ -38,6 +42,24 @@ export class NbTestAdapter { this.testController.createRunProfile('Debug Tests', TestRunProfileKind.Debug, runHandler); this.disposables.push(this.testController); this.load(); + this.suiteStates = new Map(); + } + + public registerRunInParallelProfile(projects: string[]) { + const runHandler = (request: TestRunRequest, cancellation: CancellationToken) => this.run(request, cancellation, true, projects); + this.parallelRunProfile = this.testController.createRunProfile("Run Tests In Parallel", TestRunProfileKind.Run, runHandler, true); + this.testController.items.replace([]); + this.load(); + } + + public testInParallelProfileExist(): boolean { + return this.parallelRunProfile ? true : false; + } + + public runTestsWithParallelParallel(projects?: string[]) { + if (this.parallelRunProfile) { + this.run(new TestRunRequest(undefined, undefined, this.parallelRunProfile), new CancellationTokenSource().token, true, projects); + } } async load(): Promise { @@ -51,9 +73,11 @@ export class NbTestAdapter { } } - async run(request: TestRunRequest, cancellation: CancellationToken): Promise { + async run(request: TestRunRequest, cancellation: CancellationToken, testInParallel: boolean = false, projects?: string[]): Promise { if (!this.currentRun) { - commands.executeCommand('workbench.debug.action.focusRepl'); + if (!testInParallel) { + commands.executeCommand('workbench.debug.action.focusRepl'); + } cancellation.onCancellationRequested(() => this.cancel()); this.currentRun = this.testController.createTestRun(request); this.itemsToRun = new Set(); @@ -63,9 +87,23 @@ export class NbTestAdapter { for (let item of include) { if (item.uri) { this.set(item, 'enqueued'); + item.parent?.children.forEach(child => { + if (child.id?.includes(item.id)) { + this.set(child, 'enqueued'); + } + }) const idx = item.id.indexOf(':'); + const isNestedClass = item.id.includes('$'); + const topLevelClassName = item.id.lastIndexOf('.'); + let nestedClass: string | undefined; + if (isNestedClass && topLevelClassName > 0) { + nestedClass = idx < 0 + ? item.id.slice(topLevelClassName + 1) + : item.id.substring(topLevelClassName + 1, idx); + nestedClass = nestedClass.replace('$', '.'); + } if (!cancellation.isCancellationRequested) { - await commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ? COMMAND_PREFIX + '.debug.single' : COMMAND_PREFIX + '.run.single', item.uri.toString(), idx < 0 ? undefined : item.id.slice(idx + 1)); + await commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ? COMMAND_PREFIX + '.debug.single' : COMMAND_PREFIX + '.run.single', item.uri.toString(), idx < 0 ? undefined : item.id.slice(idx + 1), nestedClass); } } } @@ -73,12 +111,20 @@ export class NbTestAdapter { this.testController.items.forEach(item => this.set(item, 'enqueued')); for (let workspaceFolder of workspace.workspaceFolders || []) { if (!cancellation.isCancellationRequested) { - await commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ? COMMAND_PREFIX + '.debug.test': COMMAND_PREFIX + '.run.test', workspaceFolder.uri.toString()); + if (testInParallel) { + await commands.executeCommand(COMMAND_PREFIX + '.run.test', workspaceFolder.uri.toString(), undefined, undefined, undefined, true, projects); + } else { + await commands.executeCommand(request.profile?.kind === TestRunProfileKind.Debug ? COMMAND_PREFIX + '.debug.test': COMMAND_PREFIX + '.run.test', workspaceFolder.uri.toString()); + } } } } if (this.started) { this.itemsToRun.forEach(item => this.set(item, 'skipped')); + } + // TBD - message + else { + this.itemsToRun.forEach(item => this.set(item, 'failed', new TestMessage('Build failure'), false, true)); } this.itemsToRun = undefined; this.currentRun.end(); @@ -86,30 +132,79 @@ export class NbTestAdapter { } } - set(item: TestItem, state: 'enqueued' | 'started' | 'passed' | 'failed' | 'skipped' | 'errored', message?: TestMessage | readonly TestMessage[], noPassDown? : boolean): void { + set(item: TestItem, state: SuiteState, message?: TestMessage | readonly TestMessage[], noPassDown? : boolean, dispatchBuildFailEvent?: boolean): void { if (this.currentRun) { switch (state) { case 'enqueued': + this.dispatchTestEvent(state, item); this.itemsToRun?.add(item); this.currentRun.enqueued(item); break; + case 'skipped': + this.dispatchTestEvent(state, item); case 'started': case 'passed': - case 'skipped': this.itemsToRun?.delete(item); this.currentRun[state](item); break; case 'failed': case 'errored': + if (dispatchBuildFailEvent) { + this.dispatchTestEvent(state, item); + } this.itemsToRun?.delete(item); this.currentRun[state](item, message || new TestMessage("")); break; } + this.suiteStates.set(item, state); if (!noPassDown) { - item.children.forEach(child => this.set(child, state, message, noPassDown)); + item.children.forEach(child => this.set(child, state, message, noPassDown, dispatchBuildFailEvent)); } } } + + dispatchTestEvent(state: SuiteState, testItem: TestItem): void { + if (testItem.parent && testItem.children.size > 0) { + this.dispatchEvent({ + name: testItem.id, + moduleName: testItem.parent.id, + modulePath: testItem.parent.uri?.path, + state, + }); + } else if (testItem.children.size === 0) { + const testSuite = testItem.parent; + if (testSuite) { + const testSuiteEvent: any = { + name: testSuite.id, + moduleName: testSuite.parent?.id, + modulePath: testSuite.parent?.uri?.path, + state, + tests: [] + } + testSuite?.children.forEach(suite => { + if (suite.id === testItem.id) { + const idx = suite.id.indexOf(':'); + if (idx >= 0) { + const name = suite.id.slice(idx + 1); + testSuiteEvent.tests?.push({ + id: suite.id, + name, + state + }) + } + } + }) + this.dispatchEvent(testSuiteEvent); + } + } + } + + dispatchEvent(event: any): void { + const testProgressListeners = listeners.get(TEST_PROGRESS_EVENT); + testProgressListeners?.forEach(listener => { + commands.executeCommand(listener, event); + }) + } cancel(): void { debug.stopDebugging(); @@ -130,7 +225,9 @@ export class NbTestAdapter { } testProgress(suite: TestSuite): void { - const currentSuite = this.testController.items.get(suite.name); + const currentModule = this.testController.items.get(this.getModuleItemId(suite.moduleName)); + const currentSuite = currentModule?.children.get(suite.name); + switch (suite.state) { case 'loaded': this.updateTests(suite); @@ -147,7 +244,7 @@ export class NbTestAdapter { case 'skipped': if (suite.tests) { this.updateTests(suite, true); - if (currentSuite) { + if (currentSuite && currentModule) { const suiteMessages: TestMessage[] = []; suite.tests?.forEach(test => { if (this.currentRun) { @@ -198,19 +295,42 @@ export class NbTestAdapter { } else { this.set(currentSuite, suite.state, undefined, true); } + this.set(currentModule, this.calculateStateFor(currentModule), undefined, true); } } break; } } + calculateStateFor(testItem: TestItem): 'passed' | 'failed' | 'skipped' | 'errored' { + let passed: number = 0; + testItem.children.forEach(item => { + const state = this.suiteStates.get(item); + if (state === 'enqueued' || state === 'failed') return state; + if (state === 'passed') passed++; + }) + if (passed > 0) return 'passed'; + return 'skipped'; + } + updateTests(suite: TestSuite, testExecution?: boolean): void { - let currentSuite = this.testController.items.get(suite.name); + const moduleName = this.getModuleItemId(suite.moduleName); + let currentModule = this.testController.items.get(moduleName); + if (!currentModule) { + const parsedName = this.parseModuleName(moduleName); + currentModule = this.testController.createTestItem(moduleName, this.getNameWithIcon(parsedName, 'module'), this.getModulePath(suite)); + this.testController.items.add(currentModule); + } + + const suiteChildren: TestItem[] = [] + let currentSuite = currentModule.children.get(suite.name); const suiteUri = suite.file ? Uri.parse(suite.file) : undefined; if (!currentSuite || suiteUri && currentSuite.uri?.toString() !== suiteUri.toString()) { - currentSuite = this.testController.createTestItem(suite.name, suite.name, suiteUri); - this.testController.items.add(currentSuite); + currentSuite = this.testController.createTestItem(suite.name, this.getNameWithIcon(suite.name, 'class'), suiteUri); + suiteChildren.push(currentSuite); } + currentModule.children.forEach(suite => suiteChildren.push(suite)); + const suiteRange = asRange(suite.range); if (!testExecution && suiteRange && suiteRange !== currentSuite.range) { currentSuite.range = suiteRange; @@ -222,7 +342,7 @@ export class NbTestAdapter { const testUri = test.file ? Uri.parse(test.file) : undefined; if (currentTest) { if (testUri && currentTest.uri?.toString() !== testUri?.toString()) { - currentTest = this.testController.createTestItem(test.id, test.name, testUri); + currentTest = this.testController.createTestItem(test.id, this.getNameWithIcon(test.name, 'method'), testUri); currentSuite?.children.add(currentTest); } const testRange = asRange(test.range); @@ -246,10 +366,10 @@ export class NbTestAdapter { parentTests.set(parent.test, arr = []); children.push(parent.test); } - arr.push(this.testController.createTestItem(test.id, parent.label)); + arr.push(this.testController.createTestItem(test.id, this.getNameWithIcon(parent.label, 'method'))); } } else { - currentTest = this.testController.createTestItem(test.id, test.name, testUri); + currentTest = this.testController.createTestItem(test.id, this.getNameWithIcon(test.name, 'method'), testUri); currentTest.range = asRange(test.range); children.push(currentTest); currentSuite?.children.add(currentTest); @@ -265,14 +385,53 @@ export class NbTestAdapter { }); } else { currentSuite.children.replace(children); + currentModule.children.replace(suiteChildren); } } + getModuleItemId(moduleName?: string): string { + return moduleName?.replace(":", "-") || ""; + } + + parseModuleName(moduleName: string): string { + if (!this.parallelRunProfile) { + return moduleName.replace(":", "-"); + } + const index = moduleName.indexOf(":"); + if (index !== -1) { + return moduleName.slice(index + 1); + } + const parts = moduleName.split("-"); + return parts[parts.length - 1]; + } + + getModulePath(suite: TestSuite): Uri { + return Uri.parse(suite.modulePath || ""); + } + + getNameWithIcon(itemName: string, itemType: 'module' | 'class' | 'method'): string { + switch (itemType) { + case 'module': + return `$(project) ${itemName}`; + case 'class': + return `$(symbol-class) ${itemName}`; + case 'method': + return `$(symbol-method) ${itemName}`; + default: + return itemName; + } + } + + getNameWithoutIcon(itemName: string): string { + return itemName.replace(/^\$\([^)]+\)\s*/, ""); + } + subTestName(item: TestItem, test: TestCase): string | undefined { if (test.id.startsWith(item.id)) { let label = test.name; - if (label.startsWith(item.label)) { - label = label.slice(item.label.length).trim(); + const nameWithoutIcon = this.getNameWithoutIcon(item.label); + if (label.startsWith(nameWithoutIcon)) { + label = label.slice(nameWithoutIcon.length).trim(); } return label; } else { diff --git a/java/java.source.base/apichanges.xml b/java/java.source.base/apichanges.xml index d473ad581c23..236e7eca85bc 100644 --- a/java/java.source.base/apichanges.xml +++ b/java/java.source.base/apichanges.xml @@ -25,6 +25,18 @@ Java Source API + + + SourceUtils.classNameFor nested classes support + + + + + + SourceUtils.classNameFor support for nested classes. + + + Adding SourceUtils.classNameFor diff --git a/java/java.source.base/nbproject/project.properties b/java/java.source.base/nbproject/project.properties index 9e2b1ca15845..31ef685fd842 100644 --- a/java/java.source.base/nbproject/project.properties +++ b/java/java.source.base/nbproject/project.properties @@ -23,7 +23,7 @@ javadoc.name=Java Source Base javadoc.title=Java Source Base javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml -spec.version.base=2.73.0 +spec.version.base=2.74.0 test.qa-functional.cp.extra=${refactoring.java.dir}/modules/ext/nb-javac-api.jar test.unit.run.cp.extra=${o.n.core.dir}/core/core.jar:\ ${o.n.core.dir}/lib/boot.jar:\ diff --git a/java/java.source.base/nbproject/project.xml b/java/java.source.base/nbproject/project.xml index 7cc5ba6e5f51..9162fc869a8d 100644 --- a/java/java.source.base/nbproject/project.xml +++ b/java/java.source.base/nbproject/project.xml @@ -231,7 +231,7 @@ 1 - 1.13 + 1.99 diff --git a/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java b/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java index b61c1a075a78..b0a5a20889f0 100644 --- a/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java +++ b/java/java.source.base/src/org/netbeans/api/java/source/SourceUtils.java @@ -114,6 +114,7 @@ import org.netbeans.modules.parsing.api.indexing.IndexingManager; import org.netbeans.modules.parsing.spi.indexing.support.QuerySupport; import org.netbeans.spi.java.classpath.support.ClassPathSupport; +import org.netbeans.spi.project.NestedClass; import org.openide.filesystems.FileObject; import org.openide.filesystems.FileUtil; @@ -1477,14 +1478,21 @@ public static void forceSource(CompilationController cc, FileObject file) { * * @param info the ClasspathInfo used to resolve * @param relativePath input source file path relative to the corresponding source root + * @param nestedClass nested class which name is searched * @return class name for the corresponding input source file - * @since 2.73 + * @since 2.74 */ - public static String classNameFor(ClasspathInfo info, String relativePath) { + public static String classNameFor(ClasspathInfo info, String relativePath, NestedClass nestedClass) { ClassPath cachedCP = ClasspathInfoAccessor.getINSTANCE().getCachedClassPath(info, PathKind.COMPILE); int idx = relativePath.indexOf('.'); String rel = idx < 0 ? relativePath : relativePath.substring(0, idx); String className = rel.replace('/', '.'); + int lastDotIndex = className.lastIndexOf('.'); + String fqnForNestedClass = null; + if (lastDotIndex > -1 && nestedClass != null) { + String packageName = className.substring(0, lastDotIndex); + fqnForNestedClass = nestedClass.getFQN(packageName, "$"); + } FileObject rsFile = cachedCP.findResource(rel + '.' + FileObjects.RS); if (rsFile != null) { List lines = new ArrayList<>(); @@ -1493,6 +1501,8 @@ public static String classNameFor(ClasspathInfo info, String relativePath) { while ((line = in.readLine())!=null) { if (className.equals(line)) { return className; + } else if (fqnForNestedClass != null && fqnForNestedClass.equals(line)) { + return line; } lines.add(line); } diff --git a/java/maven.junit/manifest.mf b/java/maven.junit/manifest.mf index 0617eb31f4a6..d154e282e116 100644 --- a/java/maven.junit/manifest.mf +++ b/java/maven.junit/manifest.mf @@ -2,4 +2,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.maven.junit/1 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/maven/junit/Bundle.properties AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.61 +OpenIDE-Module-Specification-Version: 1.62 diff --git a/java/maven.junit/nbproject/project.xml b/java/maven.junit/nbproject/project.xml index 9a35f1acff6d..9d92e0b37134 100644 --- a/java/maven.junit/nbproject/project.xml +++ b/java/maven.junit/nbproject/project.xml @@ -48,7 +48,7 @@ - 1.0 + 2.74 diff --git a/java/maven.junit/src/org/netbeans/modules/maven/junit/JUnitOutputListenerProvider.java b/java/maven.junit/src/org/netbeans/modules/maven/junit/JUnitOutputListenerProvider.java index 7d9487b5a39d..ab23a1ca6ae1 100644 --- a/java/maven.junit/src/org/netbeans/modules/maven/junit/JUnitOutputListenerProvider.java +++ b/java/maven.junit/src/org/netbeans/modules/maven/junit/JUnitOutputListenerProvider.java @@ -24,11 +24,13 @@ import java.text.ParseException; import java.util.ArrayList; import java.util.Collection; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.StringTokenizer; import java.util.logging.Level; @@ -83,13 +85,11 @@ public class JUnitOutputListenerProvider implements OutputProcessor { private static final String TESTTYPE_UNIT = "UNIT"; //NOI81N private static final String TESTTYPE_INTEGRATION = "INTEGRATION"; //NOI81N - private TestSession session; private String testType; private String reportNameSuffix; private final Pattern runningPattern; private final Pattern outDirPattern2; private final Pattern outDirPattern; - private File outputDir; private String runningTestClass; private final Set usedNames; private final long startTimeStamp; @@ -97,8 +97,10 @@ public class JUnitOutputListenerProvider implements OutputProcessor { private static final Logger LOG = Logger.getLogger(JUnitOutputListenerProvider.class.getName()); private final RunConfig config; private boolean surefireRunningInParallel = false; - private ArrayList runningTestClasses; - private ArrayList runningTestClassesInParallel; + private final Map> runningTestClass2outputDirs = new HashMap<>(); + private final ArrayList runningTestClassesInParallel = new ArrayList<>(); + private final Map project2outputDirs = new HashMap<>(); + private final Map outputDir2sessions = new HashMap<>(); private static final String GROUP_FILE_NAME = "dir"; @@ -109,23 +111,21 @@ public JUnitOutputListenerProvider(RunConfig config) { this.config = config; usedNames = new HashSet<>(); startTimeStamp = System.currentTimeMillis(); - runningTestClasses = new ArrayList<>(); - runningTestClassesInParallel = new ArrayList<>(); surefireRunningInParallel = isSurefireRunningInParallel(); } private boolean isSurefireRunningInParallel() { // http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html // http://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html - String parallel = PluginPropertyUtils.getPluginProperty(config.getMavenProject(), + String parallel = config.getProperties().containsKey("parallel") ? config.getProperties().get("parallel") : PluginPropertyUtils.getPluginProperty(config.getMavenProject(), Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_SUREFIRE, "parallel", "test", "parallel"); //NOI18N if (parallel != null) { return true; } - String forkMode = PluginPropertyUtils.getPluginProperty(config.getMavenProject(), + String forkMode = config.getProperties().containsKey("forkMode") ? config.getProperties().get("forkMode") : PluginPropertyUtils.getPluginProperty(config.getMavenProject(), Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_SUREFIRE, "forkMode", "test", "forkMode"); //NOI18N if ("perthread".equals(forkMode)) { - String threadCount = PluginPropertyUtils.getPluginProperty(config.getMavenProject(), + String threadCount = config.getProperties().containsKey("threadCount") ? config.getProperties().get("threadCount") : PluginPropertyUtils.getPluginProperty(config.getMavenProject(), Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_SUREFIRE, "threadCount", "test", "threadCount"); if (threadCount != null) { if (Integer.parseInt(threadCount) > 1) { @@ -133,7 +133,7 @@ private boolean isSurefireRunningInParallel() { } } } - String forkCount = PluginPropertyUtils.getPluginProperty(config.getMavenProject(), + String forkCount = config.getProperties().containsKey("forkCount") ? config.getProperties().get("forkCount") : PluginPropertyUtils.getPluginProperty(config.getMavenProject(), Constants.GROUP_APACHE_PLUGINS, Constants.PLUGIN_SUREFIRE, "forkCount", "test", "forkCount"); if (forkCount != null) { int index = forkCount.indexOf("C"); @@ -167,22 +167,20 @@ private boolean isSurefireRunningInParallel() { public @Override void processLine(String line, OutputVisitor visitor) { Matcher match = outDirPattern.matcher(line); if (match.matches()) { - outputDir = new File(match.group(GROUP_FILE_NAME)); - if (session == null) { - createSession(outputDir); - } + File outputDir = new File(match.group(GROUP_FILE_NAME)); + LOG.log(Level.FINER, "Line matches reports directory: {0}", outputDir); + createSession(outputDir); return; } match = outDirPattern2.matcher(line); if (match.matches()) { - outputDir = new File(match.group(GROUP_FILE_NAME)); - if (session == null) { - createSession(outputDir); - } + File outputDir = new File(match.group(GROUP_FILE_NAME)); + LOG.log(Level.FINER, "Line matches reports directory: {0}", outputDir); + createSession(outputDir); return; } - - if (session == null) { + + if (outputDir2sessions.isEmpty()) { return; } match = runningPattern.matcher(line); @@ -190,12 +188,18 @@ private boolean isSurefireRunningInParallel() { if (surefireRunningInParallel) { // make sure results are displayed in case of a failure runningTestClassesInParallel.add(match.group(1)); + if (LOG.isLoggable(Level.FINE)) { + LOG.log(Level.FINE, "Got running test: line {0}, class: {1}. Parallel run: {2}", new Object[] { line, match.group(1), + runningTestClassesInParallel.toString() }); + } } else { - if (runningTestClass != null && outputDir != null) { + if (runningTestClass != null) { + LOG.log(Level.FINE, "Got running test SINGLE: line {0}, class: {1}", new Object[] { line, match.group(1) }); // match.group(1) should be the FQN of a running test class but let's check to be on the safe side // If the matcher matches it means that we have a new test class running, // if not it probably means that this is user's text, e.g. "Running my cool test", so we can safely ignore it if (!isFullJavaId(match.group(1))) { + LOG.log(Level.FINE, "Not full java id match!"); return; } // tests are running sequentially, so update Test Results Window @@ -207,10 +211,10 @@ private boolean isSurefireRunningInParallel() { match = testSuiteStatsPattern.matcher(line); if (match.matches() && surefireRunningInParallel) { runningTestClass = match.group(6); - if (runningTestClass != null && outputDir != null && !runningTestClasses.contains(runningTestClass)) { - // When using reuseForks=true and a forkCount value larger than one, - // the same output is produced many times, so show it only once in Test Results window - runningTestClasses.add(runningTestClass); + if (LOG.isLoggable(Level.FINE)) { + LOG.log(Level.FINE, "Got test statistics: {0}, running classes: {1}", new Object[] { match.group(6), runningTestClassesInParallel.toString() }); + } + if (runningTestClass != null) { // runningTestClass should be the FQN of a running test class but let's check to be on the safe side // If the matcher matches it means that we have a new test class running, // if not it probably means that this is user's text, e.g. "Running my cool test", so we can safely ignore it @@ -222,12 +226,15 @@ private boolean isSurefireRunningInParallel() { runningTestClassesInParallel.remove(runningTestClass); // runningTestClass might be the last one so make it null to avoid appearing twice when sequenceEnd() is called runningTestClass = null; + if (LOG.isLoggable(Level.FINE)) { + LOG.log(Level.FINE, "Statistics done for {0}. Cleaning runnintTestClass, stillRunning: {1}", new Object[] { match.group(6), runningTestClassesInParallel.toString() }); + } } } } private static final String SECONDS_REGEX = "s(?:ec(?:ond)?(?:s|\\(s\\))?)?"; //NOI18N - private static final String TESTSUITE_STATS_REGEX = "Tests run: +([0-9]+), +Failures: +([0-9]+), +Errors: +([0-9]+), +Skipped: +([0-9]+), +Time elapsed: +(.+)" + SECONDS_REGEX + " - in (.*)"; + private static final String TESTSUITE_STATS_REGEX = "Tests run: +([0-9]+), +Failures: +([0-9]+), +Errors: +([0-9]+), +Skipped: +([0-9]+), +Time elapsed: +(.+)" + SECONDS_REGEX + " *(?: * <+ FAILURE! *)?-+ in (.*)"; private static final Pattern testSuiteStatsPattern = Pattern.compile(TESTSUITE_STATS_REGEX); static boolean isTestSuiteStats(String line) { @@ -250,7 +257,6 @@ static boolean isFullJavaId(String possibleNewRunningTestClass) { } public @Override void sequenceStart(String sequenceId, OutputVisitor visitor) { - session = null; reportNameSuffix = null; testType = null; String reportsDirectory = null; @@ -280,6 +286,7 @@ static boolean isFullJavaId(String possibleNewRunningTestClass) { testType = TESTTYPE_INTEGRATION; //NOI81N } if (null != reportsDirectory) { + File outputDir = null; File absoluteFile = new File(reportsDirectory); // configuration might be "target/directory", which is relative // to the maven project or an absolute path @@ -309,6 +316,7 @@ static boolean isFullJavaId(String possibleNewRunningTestClass) { } if (null != outputDir) { createSession(outputDir); + project2outputDirs.put(visitor.getContext().getCurrentProject(), outputDir); } } } @@ -388,59 +396,63 @@ private CoreManager getManagerProvider() { } private void createSession(File nonNormalizedFile) { - if (session == null) { + if (!outputDir2sessions.containsKey(nonNormalizedFile)) { File fil = FileUtil.normalizeFile(nonNormalizedFile); - Project prj = FileOwnerQuery.getOwner(Utilities.toURI(fil)); - if (prj != null) { - NbMavenProject mvnprj = prj.getLookup().lookup(NbMavenProject.class); - if (mvnprj != null) { + Project prj = FileOwnerQuery.getOwner(Utilities.toURI(fil)); + LOG.log(Level.FINE, "Creating session for project {0}", prj); + if (prj != null) { + NbMavenProject mvnprj = prj.getLookup().lookup(NbMavenProject.class); + if (mvnprj != null) { + LOG.log(Level.FINE, "Maven project instance: {0}", mvnprj); File projectFile = FileUtil.toFile(prj.getProjectDirectory()); if (projectFile != null) { UnitTestsUsage.getInstance().logUnitTestUsage(Utilities.toURI(projectFile), getJUnitVersion(config.getMavenProject())); } - TestSession.SessionType type = TestSession.SessionType.TEST; - String action = config.getActionName(); - if (action != null) { //custom - if (action.contains("debug")) { //NOI81N - type = TestSession.SessionType.DEBUG; - } - } - final TestSession.SessionType fType = type; + TestSession.SessionType type = TestSession.SessionType.TEST; + String action = config.getActionName(); + if (action != null) { //custom + if (action.contains("debug")) { //NOI81N + type = TestSession.SessionType.DEBUG; + } + } + final TestSession.SessionType fType = type; CoreManager junitManager = getManagerProvider(); if (junitManager != null) { junitManager.registerNodeFactory(); } - session = new TestSession(createSessionName(mvnprj.getMavenProject().getId()), prj, TestSession.SessionType.TEST); - session.setRerunHandler(new RerunHandler() { - public @Override - void rerun() { - RunUtils.executeMaven(config); - } + TestSession session = new TestSession(createSessionName(mvnprj.getMavenProject().getId()), prj, TestSession.SessionType.TEST); + outputDir2sessions.put(nonNormalizedFile, session); + LOG.log(Level.FINE, "Created session: {0}", session); + session.setRerunHandler(new RerunHandler() { + public @Override + void rerun() { + RunUtils.executeMaven(config); + } - public @Override - void rerun(Set tests) { - RunConfig brc = RunUtils.cloneRunConfig(config); - StringBuilder tst = new StringBuilder(); - Map> methods = new HashMap<>(); + public @Override + void rerun(Set tests) { + RunConfig brc = RunUtils.cloneRunConfig(config); + StringBuilder tst = new StringBuilder(); + Map> methods = new HashMap<>(); //#222776 calculate the approximate space the failed tests will occupy on the cmd line. //important on windows which places a limit on the length. int windowslimitcount = 0; - for (Testcase tc : tests) { - //TODO just when is the classname null?? - if (tc.getClassName() != null) { - Collection lst = methods.get(tc.getClassName()); - if (lst == null) { - lst = new ArrayList<>(); - methods.put(tc.getClassName(), lst); + for (Testcase tc : tests) { + //TODO just when is the classname null?? + if (tc.getClassName() != null) { + Collection lst = methods.get(tc.getClassName()); + if (lst == null) { + lst = new ArrayList<>(); + methods.put(tc.getClassName(), lst); windowslimitcount = windowslimitcount + tc.getClassName().length() + 1; // + 1 for , - } - lst.add(tc.getName()); + } + lst.add(tc.getName()); windowslimitcount = windowslimitcount + tc.getName().length() + 1; // + 1 for # or + - } - } + } + } boolean exceedsWindowsLimit = Utilities.isWindows() && windowslimitcount > 6000; //just be conservative here, the limit is more (8000+) - for (Map.Entry> ent : methods.entrySet()) { - tst.append(","); + for (Map.Entry> ent : methods.entrySet()) { + tst.append(","); if (exceedsWindowsLimit) { String clazzName = ent.getKey(); int lastDot = ent.getKey().lastIndexOf("."); @@ -452,58 +464,60 @@ void rerun(Set tests) { tst.append(ent.getKey()); } - //#name only in surefire > 2.7.2 and junit > 4.0 or testng - // bug works with the setting also for junit 3.x - tst.append("#"); - boolean first = true; - for (String meth : ent.getValue()) { - if (!first) { - tst.append("+"); - } - first = false; - tst.append(meth); - } - } - if (tst.length() > 0) { - brc.setProperty("test", tst.substring(1)); - } - RunUtils.executeMaven(brc); - } + //#name only in surefire > 2.7.2 and junit > 4.0 or testng + // bug works with the setting also for junit 3.x + tst.append("#"); + boolean first = true; + for (String meth : ent.getValue()) { + if (!first) { + tst.append("+"); + } + first = false; + tst.append(meth); + } + } + if (tst.length() > 0) { + brc.setProperty("test", tst.substring(1)); + } + RunUtils.executeMaven(brc); + } - public @Override - boolean enabled(RerunType type) { - //debug should now properly update debug port in runconfig... - if (fType.equals(TestSession.SessionType.TEST) || fType.equals(TestSession.SessionType.DEBUG)) { - if (RerunType.ALL.equals(type)) { - return true; - } - if (RerunType.CUSTOM.equals(type)) { - if (usingTestNG(config.getMavenProject())) { //#214334 test for testng has to come first, as itself depends on junit - return usingSurefire28(config.getMavenProject()); - } else if (usingJUnit4(config.getMavenProject())) { //#214334 - return usingSurefire2121(config.getMavenProject()); - } else if (getJUnitVersion(config.getMavenProject()).equals("JUNIT5")){ + public @Override + boolean enabled(RerunType type) { + //debug should now properly update debug port in runconfig... + if (fType.equals(TestSession.SessionType.TEST) || fType.equals(TestSession.SessionType.DEBUG)) { + if (RerunType.ALL.equals(type)) { + return true; + } + if (RerunType.CUSTOM.equals(type)) { + if (usingTestNG(config.getMavenProject())) { //#214334 test for testng has to come first, as itself depends on junit + return usingSurefire28(config.getMavenProject()); + } else if (usingJUnit4(config.getMavenProject())) { //#214334 + return usingSurefire2121(config.getMavenProject()); + } else if (getJUnitVersion(config.getMavenProject()).equals("JUNIT5")){ return usingSurefire2220(config.getMavenProject()); } - } - } - return false; - } + } + } + return false; + } - public @Override - void addChangeListener(ChangeListener listener) { - } + public @Override + void addChangeListener(ChangeListener listener) { + } - public @Override - void removeChangeListener(ChangeListener listener) { - } - }); - if (junitManager != null) { + public @Override + void removeChangeListener(ChangeListener listener) { + } + }); + if (junitManager != null) { junitManager.testStarted(session); } - } - } - } + } + } + } else { + LOG.log(Level.FINE, "Session for directory {0} already opened", nonNormalizedFile); + } } private boolean usingSurefire219(MavenProject prj) { @@ -570,22 +584,21 @@ private boolean usingJUnit4(MavenProject prj) { // SUREFIRE-724 } public @Override void sequenceEnd(String sequenceId, OutputVisitor visitor) { - if (session == null) { + if (outputDir2sessions.isEmpty()) { return; } - if (runningTestClass != null && outputDir != null) { + if (runningTestClass != null) { generateTest(); } - CoreManager junitManager = getManagerProvider(); - if (junitManager != null) { - junitManager.sessionFinished(session); + File outputDir = project2outputDirs.remove(visitor.getContext().getCurrentProject()); + TestSession session = outputDir != null ? outputDir2sessions.remove(outputDir) : null; + if (session != null) { + CoreManager junitManager = getManagerProvider(); + if (junitManager != null) { + junitManager.sessionFinished(session); + } } runningTestClass = null; - outputDir = null; - session = null; - surefireRunningInParallel = false; - runningTestClasses = null; - runningTestClassesInParallel = null; } private static final Pattern COMPARISON_PATTERN = Pattern.compile(".*expected:<(.*)> but was:<(.*)>$"); //NOI18N @@ -620,37 +633,63 @@ static Trouble constructTrouble(@NonNull String type, @NullAllowed String messag } public @Override void sequenceFail(String sequenceId, OutputVisitor visitor) { + LOG.log(Level.FINE, "Got sequenceFail: {0}, line {1}", new Object[] { visitor.getContext().getCurrentProject(), visitor.getLine() }); // try to get the failed test class. How can this be solved if it is not the first one in the list? if(surefireRunningInParallel) { - if(runningTestClassesInParallel.isEmpty()) { - // no test case is currently running, so do nothing (is this a more serious failure?) - return; + String saveRunningTestClass = runningTestClass; + + Project currentProject = visitor.getContext().getCurrentProject(); + for (String s : runningTestClassesInParallel) { + File outputDir = locateOutputDirAndWait(s, false); + // match the output dir to the project + if (outputDir != null) { + Project outputOwner = FileOwnerQuery.getOwner(FileUtil.toFileObject(outputDir)); + if (outputOwner == currentProject) { + LOG.log(Level.FINE, "Found unfinished test {0} in {1}, trying to finish", new Object[] { s, currentProject }); + runningTestClass = s; + if (Objects.equals(saveRunningTestClass, s)) { + saveRunningTestClass = null; + } + generateTest(); + } + } } - runningTestClass = runningTestClassesInParallel.get(0); + runningTestClass = saveRunningTestClass; } sequenceEnd(sequenceId, visitor); } + + private File locateOutputDirAndWait(String candidateClass, boolean consume) { + String suffix = reportNameSuffix == null ? "" : "-" + reportNameSuffix; + File outputDir = locateOutputDir(candidateClass, suffix, consume); + if (outputDir == null && surefireRunningInParallel) { + // try waiting a bit to give time for the result file to be created + try { + Thread.sleep(500); + } catch (InterruptedException ex) { + Exceptions.printStackTrace(ex); + } + outputDir = locateOutputDir(candidateClass, suffix, consume); + } + return outputDir; + } private void generateTest() { - String suffix = reportNameSuffix; - if (suffix == null) { - suffix = ""; - } else { - //#204480 - suffix = "-" + suffix; + LOG.log(Level.FINE, "generateTest called for class {0}, ", new Object[] { runningTestClass }); + File outputDir = locateOutputDirAndWait(runningTestClass, true); + if (outputDir == null) { + LOG.log(Level.WARNING, "Output directory is not created"); } - File report = new File(outputDir, "TEST-" + runningTestClass + suffix + ".xml"); - if (!report.isFile() || report.lastModified() < startTimeStamp) { //#219097 ignore results from previous invokation. - if(surefireRunningInParallel) { // try waiting a bit to give time for the result file to be created - try { - Thread.sleep(500); - } catch (InterruptedException ex) { - Exceptions.printStackTrace(ex); - } - } - if (!report.isFile() || report.lastModified() < startTimeStamp) { // and now try again - return; - } + String suffix = reportNameSuffix == null ? "" : "-" + reportNameSuffix; + File report = outputDir != null ? new File(outputDir, "TEST-" + runningTestClass + suffix + ".xml") : null; + if (LOG.isLoggable(Level.FINE)) { + LOG.log(Level.FINE, "Reading report file {0}, class {1}, timestamp {2}", new Object[] { report, runningTestClass, report == null ? -1 : + new Date(report.lastModified()) }); + } + TestSession session = outputDir != null ? outputDir2sessions.get(outputDir) : null; + if (outputDir == null || report == null || session == null) { + LOG.log(Level.FINE, "No session for outdir {0}", outputDir); + return; } if (report.length() > 50 * 1024 * 1024) { LOG.log(Level.INFO, "Skipping report file as size is too big (> 50MB): {0}", report.getPath()); @@ -662,6 +701,7 @@ private void generateTest() { try { document = builder.build(report); } catch (Exception x) { + LOG.log(Level.WARNING, "Exception reading from file {0}", report); try { // maybe the report file was not created yet, try waiting a bit and then try again Thread.sleep(500); document = builder.build(report); @@ -672,6 +712,7 @@ private void generateTest() { } } if(document == null) { + LOG.log(Level.WARNING, "No document read from dir {0}", outputDir); return; } Element testSuite = document.getRootElement(); @@ -680,7 +721,7 @@ private void generateTest() { session.addSuite(suite); CoreManager junitManager = getManagerProvider(); if (junitManager != null) { - junitManager.displaySuiteRunning(session, suite.getName()); + junitManager.displaySuiteRunning(session, suite); } File output = new File(outputDir, runningTestClass + suffix + "-output.txt"); @@ -770,6 +811,30 @@ private void generateTest() { } } + private File locateOutputDir(String runningTestClass, String suffix, boolean consume) { + Set outputDirs = runningTestClass2outputDirs.computeIfAbsent(runningTestClass, t -> new HashSet<>()); + LOG.log(Level.FINE, "trying output dirs for class {0}: {1}, sessions: {2}", new Object[] { runningTestClass, outputDirs, outputDir2sessions.keySet() }); + for (File outputDir : outputDir2sessions.keySet()) { + if (!outputDirs.contains(outputDir)) { + // When using reuseForks=true and a forkCount value larger than one, + // the same output is produced many times, so show it only once in Test Results window + File report = new File(outputDir, "TEST-" + runningTestClass + suffix + ".xml"); + if (report.isFile() && report.lastModified() >= startTimeStamp) { //#219097 ignore results from previous invokation. + LOG.log(Level.FINE, "Adding output dir {0} for report {1}", new Object[] { outputDir, report }); + if (consume) { + outputDirs.add(outputDir); + } + return outputDir; + } else { + LOG.log(Level.FINE, "Report file {0} exists, but is old; ignoring", report); + } + } else { + LOG.log(Level.FINE, "Output dir already created, not reporting again: {0}", outputDir.getAbsolutePath()); + } + } + return null; + } + private void logText(String text, Testcase test, boolean failure) { StringTokenizer tokens = new StringTokenizer(text, "\n"); //NOI18N List lines = new ArrayList<>(); @@ -778,7 +843,7 @@ private void logText(String text, Testcase test, boolean failure) { } CoreManager junitManager = getManagerProvider(); if (junitManager != null) { - junitManager.displayOutput(session, text, failure); + junitManager.displayOutput(test.getSession(), text, failure); } test.addOutputLines(lines); } diff --git a/java/maven/apichanges.xml b/java/maven/apichanges.xml index 11adec3ab584..5f1baf0f3f68 100644 --- a/java/maven/apichanges.xml +++ b/java/maven/apichanges.xml @@ -83,6 +83,21 @@ is the proper place. + + + RunConfig provides access to Maven options + + + + + +

+ RunConfig now provides access to Maven options / flags. Client can decide which + options / flags will be passed to command line. +

+
+ +
Enable using PluginConfigPathParams with null valued pathItemName diff --git a/java/maven/mavensrc/org/netbeans/modules/maven/event/NbEventSpy.java b/java/maven/mavensrc/org/netbeans/modules/maven/event/NbEventSpy.java index a823be8e846f..8cb23750ed94 100644 --- a/java/maven/mavensrc/org/netbeans/modules/maven/event/NbEventSpy.java +++ b/java/maven/mavensrc/org/netbeans/modules/maven/event/NbEventSpy.java @@ -199,6 +199,12 @@ public void onEvent(Object event) throws Exception { } } } + MavenProject mp = ex.getProject(); + if (mp != null) { + if (mp.getFile() != null) { //file is null in superpom + mojo.put("prjFile", mp.getFile().getParentFile().getAbsolutePath()); + } + } root.put("mojo", mojo); } if (ExecutionEvent.Type.MojoFailed.equals(ex.getType()) && ex.getException() != null) { diff --git a/java/maven/nbproject/org-netbeans-modules-maven.sig b/java/maven/nbproject/org-netbeans-modules-maven.sig index f835922732fb..f5723dccd7a4 100644 --- a/java/maven/nbproject/org-netbeans-modules-maven.sig +++ b/java/maven/nbproject/org-netbeans-modules-maven.sig @@ -1,5 +1,5 @@ #Signature file v4.1 -#Version 2.165.0 +#Version 2.167.0 CLSS public abstract java.awt.Component cons protected init() @@ -1764,6 +1764,8 @@ meth public abstract java.lang.String getExecutionName() meth public abstract java.lang.String getTaskDisplayName() meth public abstract java.util.List getActivatedProfiles() meth public abstract java.util.List getGoals() +meth public abstract java.util.Map getOptions() + anno 0 org.netbeans.api.annotations.common.NonNull() meth public abstract java.util.Map getProperties() anno 0 org.netbeans.api.annotations.common.NonNull() meth public abstract java.util.Map getInternalProperties() @@ -1773,6 +1775,8 @@ meth public abstract org.netbeans.api.project.Project getProject() meth public abstract org.netbeans.modules.maven.api.execute.RunConfig getPreExecution() meth public abstract org.netbeans.modules.maven.api.execute.RunConfig$ReactorStyle getReactorStyle() meth public abstract org.openide.filesystems.FileObject getSelectedFileObject() +meth public abstract void addOptions(java.util.Map) + anno 1 org.netbeans.api.annotations.common.NonNull() meth public abstract void addProperties(java.util.Map) anno 1 org.netbeans.api.annotations.common.NonNull() meth public abstract void setActivatedProfiles(java.util.List) @@ -1781,6 +1785,9 @@ meth public abstract void setInternalProperty(java.lang.String,java.lang.Object) anno 1 org.netbeans.api.annotations.common.NonNull() anno 2 org.netbeans.api.annotations.common.NullAllowed() meth public abstract void setOffline(java.lang.Boolean) +meth public abstract void setOption(java.lang.String,java.lang.String) + anno 1 org.netbeans.api.annotations.common.NonNull() + anno 2 org.netbeans.api.annotations.common.NullAllowed() meth public abstract void setPreExecution(org.netbeans.modules.maven.api.execute.RunConfig) meth public abstract void setProperty(java.lang.String,java.lang.String) anno 1 org.netbeans.api.annotations.common.NonNull() @@ -1964,6 +1971,7 @@ cons protected init(org.netbeans.api.project.Project,org.netbeans.api.progress.P fld protected final static java.lang.String PRJ_EXECUTE = "project-execute" fld protected final static java.lang.String SESSION_EXECUTE = "session-execute" fld protected java.util.HashMap> processors +fld protected java.util.HashMap id2count fld protected java.util.Set toFinishProcessors fld protected java.util.Set currentProcessors fld protected org.netbeans.modules.maven.api.output.OutputVisitor visitor @@ -2066,16 +2074,19 @@ meth public final void setShowError(boolean) meth public final void setTaskDisplayName(java.lang.String) meth public final void setUpdateSnapshots(boolean) meth public java.lang.String getActionName() +meth public java.util.Map getOptions() meth public org.netbeans.modules.maven.api.execute.RunConfig getPreExecution() meth public org.openide.filesystems.FileObject getSelectedFileObject() meth public org.openide.util.Lookup getActionContext() +meth public void addOptions(java.util.Map) meth public void reassignMavenProjectFromParent() meth public void setActionContext(org.openide.util.Lookup) meth public void setActionName(java.lang.String) meth public void setFileObject(org.openide.filesystems.FileObject) +meth public void setOption(java.lang.String,java.lang.String) meth public void setPreExecution(org.netbeans.modules.maven.api.execute.RunConfig) supr java.lang.Object -hfds actionContext,actionName,activate,executionDirectory,executionName,goals,interactive,internalProperties,mp,offline,parent,preexecution,project,projectDirectory,properties,reactor,recursive,selectedFO,showDebug,showError,taskName,updateSnapshots +hfds actionContext,actionName,activate,executionDirectory,executionName,goals,interactive,internalProperties,mp,offline,options,parent,preexecution,project,projectDirectory,properties,reactor,recursive,selectedFO,showDebug,showError,taskName,updateSnapshots CLSS public org.netbeans.modules.maven.execute.CommandLineOutputHandler cons public init(org.openide.windows.InputOutput,org.netbeans.api.project.Project,org.netbeans.api.progress.ProgressHandle,org.netbeans.modules.maven.api.execute.RunConfig,boolean) @@ -2119,7 +2130,7 @@ meth public java.lang.String convert(java.lang.String,org.openide.util.Lookup) meth public java.util.Map createReplacements(java.lang.String,org.openide.util.Lookup) meth public static java.util.Map readVariables() supr java.lang.Object -hfds ABSOLUTE_PATH,ARTIFACTID,CLASSNAME,CLASSNAME_EXT,CLASSPATHSCOPE,GROUPID,PACK_CLASSNAME,VARIABLE_PREFIX,project +hfds ABSOLUTE_PATH,ARTIFACTID,CLASSNAME,CLASSNAME_EXT,CLASSPATHSCOPE,GROUPID,PACK_CLASSNAME,PROJECTS,VARIABLE_PREFIX,project CLSS public org.netbeans.modules.maven.execute.MavenCommandLineExecutor cons public init(org.netbeans.modules.maven.api.execute.RunConfig,org.openide.windows.InputOutput,org.netbeans.modules.maven.execute.AbstractMavenExecutor$TabContext) @@ -2137,6 +2148,12 @@ cons public init() meth public org.openide.execution.ExecutorTask execute(org.netbeans.modules.maven.api.execute.RunConfig,org.openide.windows.InputOutput,org.netbeans.modules.maven.execute.AbstractMavenExecutor$TabContext) supr java.lang.Object +CLSS public org.netbeans.modules.maven.execute.MavenCommandLineOptions +cons public init() +meth public static boolean optionRequiresValue(java.lang.String) +supr java.lang.Object +hfds OPTIONS_WITH_VALUES + CLSS public abstract interface org.netbeans.modules.maven.execute.MavenExecutor intf java.lang.Runnable meth public abstract org.openide.windows.InputOutput getInputOutput() @@ -2276,13 +2293,16 @@ meth public java.lang.String getReactor() meth public java.util.List getActivatedProfiles() meth public java.util.List getGoals() meth public java.util.List getPackagings() +meth public java.util.Map getOptions() meth public java.util.Map getProperties() meth public void addActivatedProfile(java.lang.String) meth public void addGoal(java.lang.String) +meth public void addOption(java.lang.String,java.lang.String) meth public void addPackaging(java.lang.String) meth public void addProperty(java.lang.String,java.lang.String) meth public void removeActivatedProfile(java.lang.String) meth public void removeGoal(java.lang.String) +meth public void removeOption(java.lang.String) meth public void removePackaging(java.lang.String) meth public void setActionName(java.lang.String) meth public void setActivatedProfiles(java.util.List) @@ -2290,13 +2310,14 @@ meth public void setBasedir(java.lang.String) meth public void setDisplayName(java.lang.String) meth public void setGoals(java.util.List) meth public void setModelEncoding(java.lang.String) +meth public void setOptions(java.util.Map) meth public void setPackagings(java.util.List) meth public void setPreAction(java.lang.String) meth public void setProperties(java.util.Map) meth public void setReactor(java.lang.String) meth public void setRecursive(boolean) supr java.lang.Object -hfds actionName,activatedProfiles,basedir,displayName,goals,modelEncoding,packagings,preAction,properties,reactor,recursive +hfds actionName,activatedProfiles,basedir,displayName,goals,modelEncoding,options,packagings,preAction,properties,reactor,recursive CLSS public org.netbeans.modules.maven.execute.model.NetbeansActionProfile cons public init() diff --git a/java/maven/nbproject/project.properties b/java/maven/nbproject/project.properties index 08d443c50876..eb74ba81e6bc 100644 --- a/java/maven/nbproject/project.properties +++ b/java/maven/nbproject/project.properties @@ -21,7 +21,7 @@ javadoc.apichanges=${basedir}/apichanges.xml javadoc.arch=${basedir}/arch.xml javahelp.hs=maven.hs extra.module.files=maven-nblib/ -spec.version.base=2.166.0 +spec.version.base=2.167.0 # The CPExtender test fails in library processing (not randomly) since NetBeans 8.2; disabling. test.excludes=**/CPExtenderTest.class diff --git a/java/maven/nbproject/project.xml b/java/maven/nbproject/project.xml index 6490c0d6a501..aaba984bda35 100644 --- a/java/maven/nbproject/project.xml +++ b/java/maven/nbproject/project.xml @@ -201,7 +201,7 @@ - 2.73 + 2.74
@@ -324,7 +324,7 @@ 1 - 1.89 + 1.99 diff --git a/java/maven/src/org/netbeans/modules/maven/ActionProviderImpl.java b/java/maven/src/org/netbeans/modules/maven/ActionProviderImpl.java index 617801f26ecb..1ebff0ee4680 100644 --- a/java/maven/src/org/netbeans/modules/maven/ActionProviderImpl.java +++ b/java/maven/src/org/netbeans/modules/maven/ActionProviderImpl.java @@ -132,6 +132,7 @@ public class ActionProviderImpl implements ActionProvider { "javadoc", //NOI18N COMMAND_TEST, COMMAND_TEST_SINGLE, + COMMAND_TEST_PARALLEL, SingleMethod.COMMAND_RUN_SINGLE_METHOD, SingleMethod.COMMAND_DEBUG_SINGLE_METHOD, @@ -394,7 +395,8 @@ private boolean checkCompilerPlugin(final String action) { action.equals(ActionProvider.COMMAND_PROFILE) || action.equals(ActionProvider.COMMAND_REBUILD) || action.equals(ActionProvider.COMMAND_RUN) || - action.equals(ActionProvider.COMMAND_TEST)) + action.equals(ActionProvider.COMMAND_TEST) || + action.equals(ActionProvider.COMMAND_TEST_PARALLEL)) { if (!ModuleInfoUtils.checkModuleInfoAndCompilerFit(proj)) { if (NbPreferences.forModule(ActionProviderImpl.class).getBoolean(SHOW_COMPILER_TOO_OLD_WARNING, true)) { @@ -432,6 +434,7 @@ public static Map replacements(Project proj, String action, Looku "# {0} - artifactId", "TXT_ApplyCodeChanges=Apply Code Changes ({0})", "# {0} - artifactId", "TXT_Profile=Profile ({0})", "# {0} - artifactId", "TXT_Test=Test ({0})", + "# {0} - artifactId", "TXT_Test_Parallel=Test In Parallel ({0})", "# {0} - artifactId", "TXT_Build=Build ({0})", "# {0} - action name", "# {1} - project name", "TXT_CustomNamed={0} ({1})" }) @@ -457,6 +460,8 @@ private static void setupTaskName(String action, RunConfig config, Lookup lkp) { title = TXT_Profile(prjLabel); } else if (ActionProvider.COMMAND_TEST.equals(action)) { title = TXT_Test(prjLabel); + } else if (ActionProvider.COMMAND_TEST_PARALLEL.equals(action)) { + title = TXT_Test_Parallel(prjLabel); } else if (action.startsWith(ActionProvider.COMMAND_RUN_SINGLE)) { title = TXT_Run(dobjName); } else if (action.startsWith(ActionProvider.COMMAND_DEBUG_SINGLE) || ActionProvider.COMMAND_DEBUG_TEST_SINGLE.equals(action)) { @@ -607,8 +612,10 @@ private ModelRunConfig createCustomRunConfig(M2ConfigProvider conf) { acts.addAll(conf.getActiveConfiguration().getActivatedProfiles()); rc.setActivatedProfiles(acts); Map props = new HashMap<>(rc.getProperties()); + Map options = new HashMap<>(rc.getOptions()); props.putAll(conf.getActiveConfiguration().getProperties()); rc.addProperties(props); + rc.addOptions(options); rc.setTaskDisplayName(TXT_Build(proj.getLookup().lookup(NbMavenProject.class).getMavenProject().getArtifactId())); return rc; } diff --git a/java/maven/src/org/netbeans/modules/maven/api/execute/RunConfig.java b/java/maven/src/org/netbeans/modules/maven/api/execute/RunConfig.java index 5c8cd8de01fa..d6622fb26655 100644 --- a/java/maven/src/org/netbeans/modules/maven/api/execute/RunConfig.java +++ b/java/maven/src/org/netbeans/modules/maven/api/execute/RunConfig.java @@ -79,6 +79,28 @@ public interface RunConfig { String getActionName(); + /** + * Options/switches passed to maven. + * @return a read-only copy of the current maven options + * @since 2.167 + */ + @NonNull Map getOptions(); + + /** + * Sets option that will be passed to maven. + * @param key a key that represents option/switch name + * @param value a value of the option/switch + * @since 2.167 + */ + void setOption(@NonNull String key, @NullAllowed String value); + + /** + * Adds options/switches that will be passed to maven. + * @param options options/switches that will be added + * @since 2.167 + */ + void addOptions(@NonNull Map options); + /** * Properties to be used in execution. * @return a read-only copy of the current properties (possibly inherited from the parent) diff --git a/java/maven/src/org/netbeans/modules/maven/execute/AbstractOutputHandler.java b/java/maven/src/org/netbeans/modules/maven/execute/AbstractOutputHandler.java index 439e869f6177..1be25db72795 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/AbstractOutputHandler.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/AbstractOutputHandler.java @@ -27,6 +27,7 @@ import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.concurrent.atomic.AtomicInteger; import org.netbeans.api.progress.ProgressHandle; import org.netbeans.modules.maven.api.execute.RunConfig; import org.netbeans.modules.maven.api.output.ContextOutputProcessorFactory; @@ -60,6 +61,7 @@ public enum Level {DEBUG, INFO, WARNING, ERROR, FATAL} protected static final String SESSION_EXECUTE = "session-execute"; //NOI18N protected HashMap> processors; + protected HashMap id2count; protected Set currentProcessors; protected Set toFinishProcessors; protected OutputVisitor visitor; @@ -70,6 +72,7 @@ public enum Level {DEBUG, INFO, WARNING, ERROR, FATAL} protected AbstractOutputHandler(Project proj, final ProgressHandle hand, RunConfig config, OutputVisitor visitor) { processors = new HashMap>(); + id2count = new HashMap<>(); currentProcessors = new HashSet(); this.visitor = visitor; toFinishProcessors = new HashSet(); @@ -175,9 +178,12 @@ protected final void initProcessorList(Project proj, RunConfig config) { protected final void processStart(String id, OutputWriter writer) { checkSleepiness(); - Set set = processors.get(id); - if (set != null) { - currentProcessors.addAll(set); + AtomicInteger count = id2count.computeIfAbsent(id, s -> new AtomicInteger()); + if (count.getAndIncrement() == 0) { + Set set = processors.get(id); + if (set != null) { + currentProcessors.addAll(set); + } } visitor.resetVisitor(); for (OutputProcessor proc : currentProcessors) { @@ -226,12 +232,16 @@ protected final void processEnd(String id, OutputWriter writer) { writer.println(visitor.getLine()); } } - Set set = processors.get(id); - if (set != null) { - //TODO a bulletproof way would be to keep a list of currently started - // sections and compare to the list of getRegisteredOutputSequences fo each of the - // processors in set.. - currentProcessors.removeAll(set); + AtomicInteger count = id2count.getOrDefault(id, new AtomicInteger(1)); + if (count.decrementAndGet() == 0) { + Set set = processors.get(id); + if (set != null) { + //TODO a bulletproof way would be to keep a list of currently started + // sections and compare to the list of getRegisteredOutputSequences fo each of the + // processors in set.. + currentProcessors.removeAll(set); + } + id2count.remove(id); } } diff --git a/java/maven/src/org/netbeans/modules/maven/execute/BeanRunConfig.java b/java/maven/src/org/netbeans/modules/maven/execute/BeanRunConfig.java index 0b73d4422564..1262d057923a 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/BeanRunConfig.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/BeanRunConfig.java @@ -28,7 +28,6 @@ import java.util.Map; import java.util.Properties; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.PlexusContainerException; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; import org.netbeans.api.project.Project; @@ -55,6 +54,7 @@ public class BeanRunConfig implements RunConfig { private List goals; private String executionName; private Map properties; + private Map options; private Map internalProperties; //for these delegate to default options for defaults. private boolean showDebug = MavenSettings.getDefault().isShowDebug(); @@ -398,5 +398,39 @@ public final ReactorStyle getReactorStyle() { public final void setReactorStyle(ReactorStyle style) { reactor = style; } + + @Override + public Map getOptions() { + if (options == null) { + return parent != null ? parent.getOptions(): Collections.emptyMap(); + } + return Collections.unmodifiableMap(new LinkedHashMap(options)); + } + + @Override + public void setOption(String key, String value) { + if (options == null) { + options = new LinkedHashMap(); + if (parent != null) { + options.putAll(parent.getOptions()); + } + } + if (value != null) { + options.put(key, value); + } else { + options.remove(key); + } + } + + @Override + public void addOptions(Map args) { + if (options == null) { + options = new LinkedHashMap(); + if (parent != null) { + options.putAll(parent.getOptions()); + } + } + options.putAll(args); + } } diff --git a/java/maven/src/org/netbeans/modules/maven/execute/CommandLineOutputHandler.java b/java/maven/src/org/netbeans/modules/maven/execute/CommandLineOutputHandler.java index 3bc178dd0809..79b030709637 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/CommandLineOutputHandler.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/CommandLineOutputHandler.java @@ -468,7 +468,11 @@ private void processExecEvent(ExecutionEventObject obj) { assert prjNode != null; ExecProject p = (ExecProject) prjNode.getStartEvent(); handle.progress(p.gav.artifactId + " " + tag); - CommandLineOutputHandler.this.processStart(getEventId(SEC_MOJO_EXEC, tag), stdOut); + if (contextImpl != null) { + Project pr = exec.findProject(); + contextImpl.setCurrentProject(pr); + CommandLineOutputHandler.this.processStart(getEventId(SEC_MOJO_EXEC, tag), stdOut); + } } if (ExecutionEvent.Type.MojoSucceeded.equals(obj.type)) { if (MavenSettings.getDefault().isCollapseSuccessFolds()) { @@ -479,7 +483,11 @@ private void processExecEvent(ExecutionEventObject obj) { mergeClasspath(exec, mavencoreurls); trimTree(exec); String tag = goalPrefixFromArtifactId(exec.plugin.artifactId) + ":" + exec.goal; - CommandLineOutputHandler.this.processEnd(getEventId(SEC_MOJO_EXEC, tag), stdOut); + if (contextImpl != null) { + Project pr = exec.findProject(); + contextImpl.setCurrentProject(pr); + CommandLineOutputHandler.this.processEnd(getEventId(SEC_MOJO_EXEC, tag), stdOut); + } } else if (ExecutionEvent.Type.MojoFailed.equals(obj.type)) { currentTreeNode.finishFold(); @@ -487,7 +495,11 @@ else if (ExecutionEvent.Type.MojoFailed.equals(obj.type)) { mergeClasspath(exec, mavencoreurls); trimTree(exec); String tag = goalPrefixFromArtifactId(exec.plugin.artifactId) + ":" + exec.goal; - CommandLineOutputHandler.this.processFail(getEventId(SEC_MOJO_EXEC, tag), stdOut); + if (contextImpl != null) { + Project pr = exec.findProject(); + contextImpl.setCurrentProject(pr); + CommandLineOutputHandler.this.processFail(getEventId(SEC_MOJO_EXEC, tag), stdOut); + } } else if (ExecutionEvent.Type.ProjectStarted.equals(obj.type)) { growTree(obj); @@ -496,7 +508,7 @@ else if (ExecutionEvent.Type.ProjectStarted.equals(obj.type)) { ExecProject pr = (ExecProject)obj; Project project = pr.findProject(); contextImpl.setCurrentProject(project); - CommandLineOutputHandler.this.processStart(getEventId(PRJ_EXECUTE, null), stdOut); + CommandLineOutputHandler.this.processStart(getEventId(PRJ_EXECUTE, null), stdOut); } } else if (ExecutionEvent.Type.ProjectSkipped.equals(obj.type)) { @@ -510,12 +522,22 @@ else if (ExecutionEvent.Type.ProjectSucceeded.equals(obj.type)) { } currentTreeNode.finishFold(); trimTree(obj); - CommandLineOutputHandler.this.processEnd(getEventId(PRJ_EXECUTE, null), stdOut); + if (contextImpl != null) { + ExecProject pr = (ExecProject)obj; + Project project = pr.findProject(); + contextImpl.setCurrentProject(project); + CommandLineOutputHandler.this.processEnd(getEventId(PRJ_EXECUTE, null), stdOut); + } } else if (ExecutionEvent.Type.ProjectFailed.equals(obj.type)) { currentTreeNode.finishFold(); trimTree(obj); - CommandLineOutputHandler.this.processEnd(getEventId(PRJ_EXECUTE, null), stdOut); + if (contextImpl != null) { + ExecProject pr = (ExecProject)obj; + Project project = pr.findProject(); + contextImpl.setCurrentProject(project); + CommandLineOutputHandler.this.processEnd(getEventId(PRJ_EXECUTE, null), stdOut); + } } else if (ExecutionEvent.Type.ForkStarted.equals(obj.type)) { growTree(obj); } else if (ExecutionEvent.Type.ForkedProjectStarted.equals(obj.type)) { diff --git a/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java b/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java index c8ba46e7b3e0..e6c05cbf9ab8 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/DefaultReplaceTokenProvider.java @@ -48,6 +48,8 @@ import org.netbeans.modules.maven.spi.actions.ActionConvertor; import org.netbeans.modules.maven.spi.actions.ReplaceTokenProvider; import org.netbeans.spi.project.ActionProvider; +import org.netbeans.api.project.ContainedProjectFilter; +import org.netbeans.spi.project.NestedClass; import org.netbeans.spi.project.ProjectServiceProvider; import org.netbeans.spi.project.SingleMethod; import org.netbeans.spi.project.support.ant.EditableProperties; @@ -72,6 +74,7 @@ public class DefaultReplaceTokenProvider implements ReplaceTokenProvider, Action static final String CLASSNAME = "className";//NOI18N static final String CLASSNAME_EXT = "classNameWithExtension";//NOI18N static final String PACK_CLASSNAME = "packageClassName";//NOI18N + static final String PROJECTS = "projects";//NOI18N static final String ABSOLUTE_PATH = "absolutePathName"; public static final String METHOD_NAME = "nb.single.run.methodName"; //NOI18N private static final String VARIABLE_PREFIX = "var."; //NOI18N @@ -100,7 +103,10 @@ private static FileObject[] extractFileObjectsfromLookup(Lookup lookup) { } @Override public Map createReplacements(String actionName, Lookup lookup) { + NestedClass nestedClass = lookup.lookup(NestedClass.class); FileObject[] fos = extractFileObjectsfromLookup(lookup); + List projects = extractProjectsFromLookup(lookup); + SourceGroup group = findGroup(ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA), fos); HashMap replaceMap = new HashMap(); // read environment variables in the IDE and prefix them with "env." just in case someone uses it as variable in the action mappings @@ -138,7 +144,8 @@ private static FileObject[] extractFileObjectsfromLookup(Lookup lookup) { if (!isTest && !(ActionProvider.COMMAND_TEST_SINGLE.equals(actionName) || ActionProvider.COMMAND_DEBUG_TEST_SINGLE.equals(actionName) || ActionProvider.COMMAND_PROFILE_TEST_SINGLE.equals(actionName) || - ActionProvider.COMMAND_TEST.equals(actionName))) { + ActionProvider.COMMAND_TEST.equals(actionName) || + ActionProvider.COMMAND_TEST_PARALLEL.equals(actionName))) { // Execution can not have more files separated by commas. Only test can. break; } else { @@ -162,7 +169,7 @@ private static FileObject[] extractFileObjectsfromLookup(Lookup lookup) { classname.append(pkg); // ? classnameExt.append(pkg); // ?? } else { // XXX do we need to limit to text/x-java? What about files of other type? - String cn = SourceUtils.classNameFor(ClasspathInfo.create(file), rel); + String cn = SourceUtils.classNameFor(ClasspathInfo.create(file), rel, nestedClass); int idx = cn.lastIndexOf('.'); String n = idx < 0 ? cn : cn.substring(idx + 1); if (uniqueClassNames.add(cn)) { @@ -229,6 +236,10 @@ private static FileObject[] extractFileObjectsfromLookup(Lookup lookup) { if (classnameExt.length() > 0) { //#213671 replaceMap.put(CLASSNAME_EXT, classnameExt.toString()); } + if (projects != null && !projects.isEmpty()) { + List projectReplacements = createProjectsReplacement(projects); + replaceMap.put(PROJECTS, String.join(",", projectReplacements)); + } Collection methods = lookup.lookupAll(SingleMethod.class); if (methods.size() == 1) { @@ -246,7 +257,19 @@ private static FileObject[] extractFileObjectsfromLookup(Lookup lookup) { } return replaceMap; } - + + private List extractProjectsFromLookup(Lookup lookup) { + ContainedProjectFilter projectFilter = lookup.lookup(ContainedProjectFilter.class); + return projectFilter == null ? null : projectFilter.getProjectsToProcess(); + } + + private List createProjectsReplacement(List projects) { + return projects + .stream() + .map(prj -> prj.getProjectDirectory().getName()) + .toList(); + } + private void addSelectedFiles(boolean testRoots, FileObject[] candidates, HashSet test) { NbMavenProjectImpl prj = project.getLookup().lookup(NbMavenProjectImpl.class); if (prj != null) { diff --git a/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.java b/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.java index a2a439e13221..c45f4928a618 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineExecutor.java @@ -71,7 +71,9 @@ import org.netbeans.modules.maven.options.MavenSettings; import org.netbeans.modules.maven.runjar.MavenExecuteUtils; import org.netbeans.spi.project.ui.support.BuildExecutionSupport; +import org.openide.DialogDisplayer; import org.openide.LifecycleManager; +import org.openide.NotifyDescriptor; import org.openide.awt.HtmlBrowser; import org.openide.awt.NotificationDisplayer; import org.openide.execution.ExecutionEngine; @@ -428,6 +430,9 @@ public boolean cancel() { return true; } + @NbBundle.Messages({ + "MSG_MissingValue=Option: {0} requires value to be present" + }) private static List createMavenExecutionCommand(RunConfig config, Constructor base) { List toRet = new ArrayList<>(base.construct()); @@ -445,10 +450,29 @@ private static List createMavenExecutionCommand(RunConfig config, Constr LOGGER.log(Level.FINE, "Could not canonicalize " + basedir, x); } } - + //#164234 //if maven.bat file is in space containing path, we need to quote with simple quotes. String quote = "\""; + + for (Map.Entry entry : config.getOptions().entrySet()) { + String key = entry.getKey(); + String value = quote2apos(entry.getValue()); + if (MavenCommandLineOptions.optionRequiresValue(key)) { + if (value.isEmpty()) { + DialogDisplayer.getDefault().notifyLater(new NotifyDescriptor.Message(Bundle.MSG_MissingValue(key), NotifyDescriptor.WARNING_MESSAGE)); + continue; + } else if (value.equals("${" + key + "}")) { //NOI18N + continue; + } + } + toRet.add("--" + key); + if (value != null && !value.isBlank()) { + String s = (Utilities.isWindows() && value.contains(" ") ? quote + value + quote : value); + toRet.add(value); + } + } + // the command line parameters with space in them need to be quoted and escaped to arrive // correctly to the java runtime on windows for (Map.Entry entry : config.getProperties().entrySet()) { diff --git a/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineOptions.java b/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineOptions.java new file mode 100644 index 000000000000..96b86b65d73e --- /dev/null +++ b/java/maven/src/org/netbeans/modules/maven/execute/MavenCommandLineOptions.java @@ -0,0 +1,50 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.maven.execute; + +import java.util.Set; + +/** + * + * @author Dusan Petrovic + */ +public class MavenCommandLineOptions { + + private static final Set OPTIONS_WITH_VALUES = Set.of( + "activate-profiles", + "builder", + "color", + "define", + "encrypt-master-password", + "encrypt-password", + "file", + "global-settings", + "global-toolchains", + "log-file", + "projects", + "resume-from", + "settings", + "threads", + "toolchains" + ); + + public static boolean optionRequiresValue(String option) { + return OPTIONS_WITH_VALUES.contains(option); + } +} diff --git a/java/maven/src/org/netbeans/modules/maven/execute/ModelRunConfig.java b/java/maven/src/org/netbeans/modules/maven/execute/ModelRunConfig.java index 0ed52f2690c8..94d1b831dbdd 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/ModelRunConfig.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/ModelRunConfig.java @@ -79,6 +79,11 @@ public ModelRunConfig(Project proj, NetbeansActionMapping mod, String actionName } setProperty(key, value); } + for (Map.Entry entry : model.getOptions().entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + setOption(key, value); + } setGoals(model.getGoals()); setExecutionDirectory(ActionToGoalUtils.resolveProjectExecutionBasedir(mod, proj)); setRecursive(mod.isRecursive()); diff --git a/java/maven/src/org/netbeans/modules/maven/execute/cmd/ExecMojo.java b/java/maven/src/org/netbeans/modules/maven/execute/cmd/ExecMojo.java index 87676d6d5584..f78ea02db5c7 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/cmd/ExecMojo.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/cmd/ExecMojo.java @@ -19,6 +19,8 @@ package org.netbeans.modules.maven.execute.cmd; +import java.io.File; +import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.nio.charset.StandardCharsets; @@ -31,6 +33,11 @@ import org.codehaus.plexus.util.Base64; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import org.netbeans.api.annotations.common.CheckForNull; +import org.netbeans.api.project.Project; +import org.netbeans.api.project.ProjectManager; +import org.openide.filesystems.FileObject; +import org.openide.filesystems.FileUtil; import org.openide.util.Exceptions; /** @@ -46,6 +53,7 @@ public class ExecMojo extends ExecutionEventObject { private InputLocation location; private URL[] classpathURLs; private String implementationClass; + private File currentProjectLocation; public ExecMojo(String goal, GAV plugin, String phase, String executionId, ExecutionEvent.Type type) { @@ -101,6 +109,12 @@ public static ExecMojo create(JSONObject obj, ExecutionEvent.Type t) { toRet.setClasspathURLs(urlList.toArray(new URL[0])); } toRet.setImplementationClass((String) mojo.get("impl")); + File prjFile = null; + String file = (String) mojo.get("prjFile"); + if (file != null) { + prjFile = FileUtil.normalizeFile(new File(file)); + } + toRet.setCurrentProjectLocation(prjFile); return toRet; } @@ -155,4 +169,24 @@ public String getImplementationClass() { void setImplementationClass(String implementationClass) { this.implementationClass = implementationClass; } + + public @CheckForNull Project findProject() { + if (currentProjectLocation != null) { + FileObject fo = FileUtil.toFileObject(currentProjectLocation); + if (fo != null) { + try { + return ProjectManager.getDefault().findProject(fo); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } catch (IllegalArgumentException ex) { + Exceptions.printStackTrace(ex); + } + } + } + return null; + } + + void setCurrentProjectLocation(File currentProjectLocation) { + this.currentProjectLocation = currentProjectLocation; + } } diff --git a/java/maven/src/org/netbeans/modules/maven/execute/defaultActionMappings.xml b/java/maven/src/org/netbeans/modules/maven/execute/defaultActionMappings.xml index ba06e9b1bbae..d493332788e4 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/defaultActionMappings.xml +++ b/java/maven/src/org/netbeans/modules/maven/execute/defaultActionMappings.xml @@ -78,6 +78,23 @@ test + + test.parallel + + * + + + 0.5C + ${projects} + + + + test + + + classes + + test.single diff --git a/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionMapping.java b/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionMapping.java index a1a0082a8b00..a152b4b511d9 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionMapping.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/model/NetbeansActionMapping.java @@ -68,6 +68,11 @@ public class NetbeansActionMapping implements java.io.Serializable { */ private Map properties; + /** + * Field options. + */ + private Map options; + /** * Field activatedProfiles. */ @@ -78,7 +83,7 @@ public class NetbeansActionMapping implements java.io.Serializable { private String preAction; private String reactor; - + //-----------/ //- Methods -/ //-----------/ @@ -149,6 +154,17 @@ public void addProperty(String key, String value) getProperties().put( key, value ); } //-- void addProperty(String, String) + /** + * Method addOptions. + * + * @param key + * @param value + */ + public void addOption(String key, String value) + { + getOptions().put( key, value ); + } + /** * Get the actionName field. * @@ -223,6 +239,16 @@ public Map getProperties() return this.properties; } + + public Map getOptions() + { + if ( this.options == null ) + { + this.options = new LinkedHashMap(); + } + + return this.options; + } /** * Get the recursive field. @@ -264,6 +290,16 @@ public void removePackaging(String string) getPackagings().remove( string ); } //-- void removePackaging(String) + /** + * Method removeOption. + * + * @param string + */ + public void removeOption(String string) + { + getOptions().remove( string ); + } + /** * Set the actionName field. * @@ -319,6 +355,11 @@ public void setProperties(Map properties) { this.properties = properties; } + + public void setOptions(Map options) + { + this.options = options; + } /** * Set the recursive field. diff --git a/java/maven/src/org/netbeans/modules/maven/execute/model/io/jdom/NetbeansBuildActionJDOMWriter.java b/java/maven/src/org/netbeans/modules/maven/execute/model/io/jdom/NetbeansBuildActionJDOMWriter.java index 6c8a93da0aa5..07429ad72e69 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/model/io/jdom/NetbeansBuildActionJDOMWriter.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/model/io/jdom/NetbeansBuildActionJDOMWriter.java @@ -401,6 +401,7 @@ protected void updateNetbeansActionMapping(NetbeansActionMapping value, String x findAndReplaceSimpleLists(innerCount, root, value.getPackagings(), "packagings", "packaging"); findAndReplaceSimpleLists(innerCount, root, value.getGoals(), "goals", "goal"); findAndReplaceProperties(innerCount, root, "properties", value.getProperties()); + findAndReplaceProperties(innerCount, root, "options", value.getOptions()); findAndReplaceSimpleLists(innerCount, root, value.getActivatedProfiles(), "activatedProfiles", "activatedProfile"); } //-- void updateNetbeansActionMapping(NetbeansActionMapping, String, Counter, Element) diff --git a/java/maven/src/org/netbeans/modules/maven/execute/model/io/xpp3/NetbeansBuildActionXpp3Reader.java b/java/maven/src/org/netbeans/modules/maven/execute/model/io/xpp3/NetbeansBuildActionXpp3Reader.java index 84a1feb28249..704de28db811 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/model/io/xpp3/NetbeansBuildActionXpp3Reader.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/model/io/xpp3/NetbeansBuildActionXpp3Reader.java @@ -402,6 +402,20 @@ else if ( parser.getName().equals( "properties" ) ) netbeansActionMapping.addProperty( key, value ); } } + else if ( parser.getName().equals( "options" ) ) + { + if ( parsed.contains( "options" ) ) + { + throw new XmlPullParserException( "Duplicated tag: '" + parser.getName() + "'", parser, null ); + } + parsed.add( "options" ); + while ( parser.nextTag() == XmlPullParser.START_TAG ) + { + String key = parser.getName(); + String value = parser.nextText().trim(); + netbeansActionMapping.addOption(key, value ); + } + } else if ( parser.getName().equals( "activatedProfiles" ) ) { if ( parsed.contains( "activatedProfiles" ) ) diff --git a/java/maven/src/org/netbeans/modules/maven/execute/model/io/xpp3/NetbeansBuildActionXpp3Writer.java b/java/maven/src/org/netbeans/modules/maven/execute/model/io/xpp3/NetbeansBuildActionXpp3Writer.java index 13dc7bb0a2de..a32cecc313ed 100644 --- a/java/maven/src/org/netbeans/modules/maven/execute/model/io/xpp3/NetbeansBuildActionXpp3Writer.java +++ b/java/maven/src/org/netbeans/modules/maven/execute/model/io/xpp3/NetbeansBuildActionXpp3Writer.java @@ -179,6 +179,17 @@ private void writeNetbeansActionMapping(NetbeansActionMapping netbeansActionMapp } serializer.endTag( NAMESPACE, "properties" ); } + if ( netbeansActionMapping.getOptions()!= null && netbeansActionMapping.getOptions().size() > 0 ) + { + serializer.startTag( NAMESPACE, "options" ); + for ( Iterator iter = netbeansActionMapping.getOptions().keySet().iterator(); iter.hasNext(); ) + { + String key = (String) iter.next(); + String value = (String) netbeansActionMapping.getOptions().get( key ); + serializer.startTag( NAMESPACE, "" + key + "" ).text( value ).endTag( NAMESPACE, "" + key + "" ); + } + serializer.endTag( NAMESPACE, "options" ); + } if ( netbeansActionMapping.getActivatedProfiles() != null && netbeansActionMapping.getActivatedProfiles().size() > 0 ) { serializer.startTag( NAMESPACE, "activatedProfiles" ); diff --git a/java/maven/src/org/netbeans/modules/maven/queries/MavenArtifactsImplementation.java b/java/maven/src/org/netbeans/modules/maven/queries/MavenArtifactsImplementation.java index b791b1b141d7..056176a01c0d 100644 --- a/java/maven/src/org/netbeans/modules/maven/queries/MavenArtifactsImplementation.java +++ b/java/maven/src/org/netbeans/modules/maven/queries/MavenArtifactsImplementation.java @@ -81,6 +81,7 @@ public Res evaluate(ProjectArtifactsQuery.Filter query) { case ActionProvider.COMMAND_RUN_SINGLE: case ActionProvider.COMMAND_DEBUG_SINGLE: case ActionProvider.COMMAND_TEST: + case ActionProvider.COMMAND_TEST_PARALLEL: case ActionProvider.COMMAND_TEST_SINGLE: case ActionProvider.COMMAND_DEBUG_STEP_INTO: break; diff --git a/java/maven/test/unit/src/org/netbeans/modules/maven/debug/DebuggerCheckerTest.java b/java/maven/test/unit/src/org/netbeans/modules/maven/debug/DebuggerCheckerTest.java index 09a0da2b21ee..1a36731a9a4d 100644 --- a/java/maven/test/unit/src/org/netbeans/modules/maven/debug/DebuggerCheckerTest.java +++ b/java/maven/test/unit/src/org/netbeans/modules/maven/debug/DebuggerCheckerTest.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import static junit.framework.TestCase.fail; import org.apache.maven.project.MavenProject; import org.netbeans.api.project.Project; import org.netbeans.junit.NbTestCase; @@ -57,7 +58,8 @@ public void testDebugAttachTrue() { private static final class MockConfig implements RunConfig, Project { private Map props = new HashMap<>(); - + private Map options = new HashMap<>(); + @Override public File getExecutionDirectory() { fail(); @@ -215,6 +217,21 @@ public Lookup getLookup() { fail(); return null; } + + @Override + public Map getOptions() { + return Collections.unmodifiableMap(options); + } + + @Override + public void setOption(String key, String value) { + options.put(key, value); + } + + @Override + public void addOptions(Map properties) { + fail(); + } } } From d0f037dc18d9c45852ec19f054e5a89f9db49e8b Mon Sep 17 00:00:00 2001 From: Junichi Yamamoto Date: Thu, 19 Dec 2024 14:54:20 +0900 Subject: [PATCH 84/94] PHP 8.3 Support: Arbitrary static variable initializers (Part 1) - https://github.com/apache/netbeans/issues/6701 - https://github.com/apache/netbeans/issues/8073 - https://wiki.php.net/rfc/arbitrary_static_variable_initializers - Fix the grammar file (parser) - Add unit tests for the parser Example: ```php class Example { private int $field = 1; public function method(): int { return 1; } public function run(int $param1) : void { static $example1 = rand(); static $example2 = $param1; static $example3 = $this->field; static $example4 = $this->method(); static $example5 = new class() {}; static $example6 = new stdClass(...[0]); static $example6 = new stdClass($param1); static $example7 = new (Test); static $example8 = new static; static $example9 = $param1 <= 100 ? run($param1 + 1) : "Test $param1"; static $example10 = rand(), $example11 = rand(); } } $variable = 1; static $example1 = rand(); static $example2 = $variable; ``` --- .../php/editor/parser/ASTPHP5Parser.java | 112 ++- .../php/editor/parser/ASTPHP5Symbols.java | 2 +- .../editor/parser/EncodedActionTable10.java | 4 +- .../editor/parser/EncodedActionTable11.java | 4 +- .../editor/parser/EncodedActionTable12.java | 4 +- .../editor/parser/EncodedActionTable13.java | 4 +- .../editor/parser/EncodedActionTable14.java | 4 +- .../editor/parser/EncodedActionTable15.java | 4 +- .../editor/parser/EncodedActionTable16.java | 4 +- .../editor/parser/EncodedActionTable17.java | 4 +- .../editor/parser/EncodedActionTable18.java | 4 +- .../editor/parser/EncodedActionTable19.java | 4 +- .../editor/parser/EncodedActionTable20.java | 302 +++++- .../editor/parser/EncodedActionTable21.java | 895 +++++++++++++++++ .../editor/parser/EncodedActionTable3.java | 6 +- .../editor/parser/EncodedActionTable4.java | 4 +- .../editor/parser/EncodedActionTable5.java | 4 +- .../editor/parser/EncodedActionTable6.java | 4 +- .../editor/parser/EncodedActionTable7.java | 4 +- .../editor/parser/EncodedActionTable8.java | 4 +- .../editor/parser/EncodedActionTable9.java | 4 +- ...rbitraryStaticVariableInitializers_01.pass | 907 ++++++++++++++++++ ...arbitraryStaticVariableInitializers_01.php | 45 + ...ryStaticVariableInitializers_01.php.errors | 1 + .../php/editor/parser/ASTPHP5ParserTest.java | 4 + .../php/editor/parser/PhpParserErrorTest.java | 4 + php/php.editor/tools/ASTPHP5Parser.cup | 4 +- 27 files changed, 2227 insertions(+), 119 deletions(-) create mode 100644 php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java create mode 100644 php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php83/arbitraryStaticVariableInitializers_01.pass create mode 100644 php/php.editor/test/unit/data/testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php create mode 100644 php/php.editor/test/unit/data/testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php.errors diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java index ed1e4c928b14..31b63ff225e4 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Parser.java @@ -19,7 +19,7 @@ //---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 -// Tue May 14 21:41:03 NOVT 2024 +// Thu Dec 19 14:22:13 JST 2024 //---------------------------------------------------- package org.netbeans.modules.php.editor.parser; @@ -30,7 +30,7 @@ import org.openide.util.Pair; /** CUP v0.11a beta 20060608 generated parser. - * @version Tue May 14 21:41:03 NOVT 2024 + * @version Thu Dec 19 14:22:13 JST 2024 */ @org.netbeans.api.annotations.common.SuppressWarnings({"EI_EXPOSE_REP", "MS_PKGPROTECT", "BC_BAD_CAST_TO_CONCRETE_COLLECTION"}) public class ASTPHP5Parser extends java_cup.runtime.lr_parser { @@ -2343,59 +2343,45 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\324\u038f\327\u038e\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\002\001\001\000\002\001\001\000\032" + - "\004\346\074\336\075\u0625\077\335\101\352\167\354\177" + - "\333\200\337\307\344\311\334\312\341\315\356\001\001" + - "\000\002\001\001\000\034\004\346\074\336\076\u0627\077" + - "\u024a\100\u024b\101\352\167\354\177\333\200\337\307\344" + - "\311\334\312\341\315\356\001\001\000\002\001\001\000" + - "\004\150\u0629\001\001\000\002\001\001\000\024\043\u062b" + - "\046\u0221\047\u0223\210\u0225\272\u0224\274\u021f\323\135\324" + - "\u0220\333\u0222\001\001\000\002\001\001\000\004\255\u062d" + - "\001\001\000\002\001\001\000\004\017\u062f\001\001\000" + - "\156\004\125\016\u038c\020\u038a\021\144\066\151\067\133" + - "\070\013\071\064\074\042\102\132\106\110\110\166\113" + - "\130\114\101\115\124\116\213\123\136\124\211\125\117" + - "\126\226\137\222\147\023\151\057\167\054\170\041\171" + - "\146\172\131\173\100\174\060\175\066\177\172\200\051" + - "\216\016\217\070\220\046\231\203\232\076\233\040\234" + - "\010\235\175\256\105\260\163\261\021\263\157\266\043" + - "\277\221\300\216\302\031\303\075\304\074\316\165\323" + - "\135\324\u038f\327\u038e\001\001\000\002\001\001\000\136" + - "\004\125\050\u0632\051\u020f\052\u01fb\053\u0203\066\u0211\067" + - "\133\070\013\071\064\074\042\102\132\106\u01ad\115\124" + - "\116\213\123\136\124\211\125\117\126\226\137\222\147" + - "\023\150\u0201\167\054\170\041\171\146\172\131\173\100" + - "\174\060\175\066\177\172\200\051\202\u019c\203\u01fc\220" + - "\u01ff\256\105\260\163\261\021\263\157\266\043\277\221" + - "\300\216\302\031\303\075\304\074\316\165\323\135\324" + - "\u01ab\001\001\000\002\001\001\000\002\001\001\000\002" + - "\001\001\000\002\001\001\000\004\104\u0638\001\001\000" + - "\010\177\u0635\200\337\325\u063a\001\001\000\002\001\001" + - "\000\002\001\001\000\002\001\001\000\136\004\125\050" + - "\u063c\051\u020f\052\u01fb\053\u0203\066\u0211\067\133\070\013" + - "\071\064\074\042\102\132\106\u01ad\115\124\116\213\123" + - "\136\124\211\125\117\126\226\137\222\147\023\150\u0201" + - "\167\054\170\041\171\146\172\131\173\100\174\060\175" + - "\066\177\172\200\051\202\u019c\203\u01fc\220\u01ff\256\105" + - "\260\163\261\021\263\157\266\043\277\221\300\216\302" + - "\031\303\075\304\074\316\165\323\135\324\u01ab\001\001" + - "\000\002\001\001\000\002\001\001\000\002\001\001\000" + - "\002\001\001\000\056\070\013\071\064\123\u026a\124\211" + - "\125\117\126\226\137\222\170\041\173\u0266\174\060\177" + - "\172\200\051\220\u0643\256\u0642\261\021\263\157\266\043" + - "\300\u0267\302\031\303\075\304\074\316\165\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\120" + "\004\125\066\151\067\133\070\013\071\064\074\042\102" + - "\132\106\u0645\115\124\116\213\123\136\124\211\125\117" + + "\132\106\u0625\115\124\116\213\123\136\124\211\125\117" + "\126\226\137\222\147\023\167\054\170\041\171\146\172" + "\131\173\100\174\060\175\066\177\172\200\051\220\046" + "\256\105\260\163\261\021\263\157\266\043\277\221\300" + "\216\302\031\303\075\304\074\316\165\323\135\324\u01ab" + - "\001\001\000\002\001\001\000\002\001\001\000\004\055" + - "\u0649\001\001\000\002\001\001\000\002\001\001\000\006" + - "\145\u0543\266\u0542\001\001\000\002\001\001\000\136\004" + - "\125\050\u064d\051\u020f\052\u01fb\053\u0203\066\u0211\067\133" + + "\001\001\000\002\001\001\000\120\004\125\066\151\067" + + "\133\070\013\071\064\074\042\102\132\106\u0627\115\124" + + "\116\213\123\136\124\211\125\117\126\226\137\222\147" + + "\023\167\054\170\041\171\146\172\131\173\100\174\060" + + "\175\066\177\172\200\051\220\046\256\105\260\163\261" + + "\021\263\157\266\043\277\221\300\216\302\031\303\075" + + "\304\074\316\165\323\135\324\u01ab\001\001\000\002\001" + + "\001\000\004\150\u0629\001\001\000\002\001\001\000\024" + + "\043\u062b\046\u0221\047\u0223\210\u0225\272\u0224\274\u021f\323" + + "\135\324\u0220\333\u0222\001\001\000\002\001\001\000\004" + + "\255\u062d\001\001\000\002\001\001\000\004\017\u062f\001" + + "\001\000\156\004\125\016\u038c\020\u038a\021\144\066\151" + + "\067\133\070\013\071\064\074\042\102\132\106\110\110" + + "\166\113\130\114\101\115\124\116\213\123\136\124\211" + + "\125\117\126\226\137\222\147\023\151\057\167\054\170" + + "\041\171\146\172\131\173\100\174\060\175\066\177\172" + + "\200\051\216\016\217\070\220\046\231\203\232\076\233" + + "\040\234\010\235\175\256\105\260\163\261\021\263\157" + + "\266\043\277\221\300\216\302\031\303\075\304\074\316" + + "\165\323\135\324\u038f\327\u038e\001\001\000\002\001\001" + + "\000\136\004\125\050\u0632\051\u020f\052\u01fb\053\u0203\066" + + "\u0211\067\133\070\013\071\064\074\042\102\132\106\u01ad" + + "\115\124\116\213\123\136\124\211\125\117\126\226\137" + + "\222\147\023\150\u0201\167\054\170\041\171\146\172\131" + + "\173\100\174\060\175\066\177\172\200\051\202\u019c\203" + + "\u01fc\220\u01ff\256\105\260\163\261\021\263\157\266\043" + + "\277\221\300\216\302\031\303\075\304\074\316\165\323" + + "\135\324\u01ab\001\001\000\002\001\001\000\002\001\001" + + "\000\002\001\001\000\002\001\001\000\004\104\u0638\001" + + "\001\000\010\177\u0635\200\337\325\u063a\001\001\000\002" + + "\001\001\000\002\001\001\000\002\001\001\000\136\004" + + "\125\050\u063c\051\u020f\052\u01fb\053\u0203\066\u0211\067\133" + "\070\013\071\064\074\042\102\132\106\u01ad\115\124\116" + "\213\123\136\124\211\125\117\126\226\137\222\147\023" + "\150\u0201\167\054\170\041\171\146\172\131\173\100\174" + @@ -2403,7 +2389,29 @@ public class ASTPHP5Parser extends java_cup.runtime.lr_parser { "\256\105\260\163\261\021\263\157\266\043\277\221\300" + "\216\302\031\303\075\304\074\316\165\323\135\324\u01ab" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + - "\001\000\002\001\001\000\002\001\001" }); + "\001\000\002\001\001\000\056\070\013\071\064\123\u026a" + + "\124\211\125\117\126\226\137\222\170\041\173\u0266\174" + + "\060\177\172\200\051\220\u0643\256\u0642\261\021\263\157" + + "\266\043\300\u0267\302\031\303\075\304\074\316\165\001" + + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + + "\000\120\004\125\066\151\067\133\070\013\071\064\074" + + "\042\102\132\106\u0645\115\124\116\213\123\136\124\211" + + "\125\117\126\226\137\222\147\023\167\054\170\041\171" + + "\146\172\131\173\100\174\060\175\066\177\172\200\051" + + "\220\046\256\105\260\163\261\021\263\157\266\043\277" + + "\221\300\216\302\031\303\075\304\074\316\165\323\135" + + "\324\u01ab\001\001\000\002\001\001\000\002\001\001\000" + + "\004\055\u0649\001\001\000\002\001\001\000\002\001\001" + + "\000\006\145\u0543\266\u0542\001\001\000\002\001\001\000" + + "\136\004\125\050\u064d\051\u020f\052\u01fb\053\u0203\066\u0211" + + "\067\133\070\013\071\064\074\042\102\132\106\u01ad\115" + + "\124\116\213\123\136\124\211\125\117\126\226\137\222" + + "\147\023\150\u0201\167\054\170\041\171\146\172\131\173" + + "\100\174\060\175\066\177\172\200\051\202\u019c\203\u01fc" + + "\220\u01ff\256\105\260\163\261\021\263\157\266\043\277" + + "\221\300\216\302\031\303\075\304\074\316\165\323\135" + + "\324\u01ab\001\001\000\002\001\001\000\002\001\001\000" + + "\002\001\001\000\002\001\001\000\002\001\001" }); /** Access to reduce_goto table. */ public short[][] reduce_table() {return _reduce_table;} @@ -8361,7 +8369,7 @@ public final java_cup.runtime.Symbol fakeMethod300to399( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 325: // static_var_list ::= static_var_list T_COMMA T_VARIABLE T_EQUAL static_scalar + case 325: // static_var_list ::= static_var_list T_COMMA T_VARIABLE T_EQUAL expr { List RESULT =null; int listleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-4)).left; @@ -8401,7 +8409,7 @@ public final java_cup.runtime.Symbol fakeMethod300to399( return CUP$ASTPHP5Parser$result; /*. . . . . . . . . . . . . . . . . . . .*/ - case 327: // static_var_list ::= T_VARIABLE T_EQUAL static_scalar_with_class_instance + case 327: // static_var_list ::= T_VARIABLE T_EQUAL expr { List RESULT =null; int varleft = ((java_cup.runtime.Symbol)CUP$ASTPHP5Parser$stack.elementAt(CUP$ASTPHP5Parser$top-2)).left; diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java index f14f2512ccf4..192250177e94 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Symbols.java @@ -19,7 +19,7 @@ //---------------------------------------------------- // The following code was generated by CUP v0.11a beta 20060608 -// Tue May 14 21:41:03 NOVT 2024 +// Thu Dec 19 14:22:13 JST 2024 //---------------------------------------------------- package org.netbeans.modules.php.editor.parser; diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java index 8a513df358d6..da85798ee0ab 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable10.java @@ -29,8 +29,6 @@ public String getTableData() { protected EncodedActionTable10() { sb = new StringBuilder(); sb.append("\uff62"); - sb.append("\015"); - sb.append("\uff62"); sb.append("\016"); sb.append("\uff62"); sb.append("\017"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable10() { sb.append("\175"); sb.append("\u01c8"); sb.append("\176"); + sb.append("\u01b8"); + sb.append("\201"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java index f5dc561555a8..c1d74cf40f55 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable11.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable11() { sb = new StringBuilder(); - sb.append("\u01b8"); - sb.append("\201"); sb.append("\u01bd"); sb.append("\215"); sb.append("\ufe21"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable11() { sb.append("\112"); sb.append("\u0437"); sb.append("\121"); + sb.append("\u0439"); + sb.append("\222"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java index a359dbb05f7d..ad5a65bcdcd1 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable12.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable12() { sb = new StringBuilder(); - sb.append("\u0439"); - sb.append("\222"); sb.append("\333"); sb.append("\253"); sb.append("\240"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable12() { sb.append("\166"); sb.append("\u01c0"); sb.append("\167"); + sb.append("\u01d0"); + sb.append("\170"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java index 2428a26996e2..81d505b48359 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable13.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable13() { sb = new StringBuilder(); - sb.append("\u01d0"); - sb.append("\170"); sb.append("\u01cb"); sb.append("\171"); sb.append("\u01c6"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable13() { sb.append("\125"); sb.append("\115"); sb.append("\126"); + sb.append("\130"); + sb.append("\127"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java index 96b100ef6739..1d6d31faca5b 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable14.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable14() { sb = new StringBuilder(); - sb.append("\130"); - sb.append("\127"); sb.append("\ufcfd"); sb.append("\133"); sb.append("\020"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable14() { sb.append("\236"); sb.append("\uff02"); sb.append("\240"); + sb.append("\uff02"); + sb.append("\247"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java index 63dbcf7c2867..d67f6ad31cc9 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable15.java @@ -29,8 +29,6 @@ public String getTableData() { protected EncodedActionTable15() { sb = new StringBuilder(); sb.append("\uff02"); - sb.append("\247"); - sb.append("\uff02"); sb.append("\250"); sb.append("\uff02"); sb.append("\252"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable15() { sb.append("\027"); sb.append("\uff7c"); sb.append("\032"); + sb.append("\uff7c"); + sb.append("\034"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java index 2d2ec806374e..8eee50d10f23 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable16.java @@ -29,8 +29,6 @@ public String getTableData() { protected EncodedActionTable16() { sb = new StringBuilder(); sb.append("\uff7c"); - sb.append("\034"); - sb.append("\uff7c"); sb.append("\036"); sb.append("\uff7c"); sb.append("\041"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable16() { sb.append("\052"); sb.append("\056"); sb.append("\054"); + sb.append("\026"); + sb.append("\056"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java index af2dcf7a4e36..a0bbdddace09 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable17.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable17() { sb = new StringBuilder(); - sb.append("\026"); - sb.append("\056"); sb.append("\u038e"); sb.append("\057"); sb.append("\016"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable17() { sb.append("\066"); sb.append("\uff3d"); sb.append("\074"); + sb.append("\uff3d"); + sb.append("\075"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java index 3e6c6875369b..04fd741f0f75 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable18.java @@ -29,8 +29,6 @@ public String getTableData() { protected EncodedActionTable18() { sb = new StringBuilder(); sb.append("\uff3d"); - sb.append("\075"); - sb.append("\uff3d"); sb.append("\077"); sb.append("\uff3d"); sb.append("\100"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable18() { sb.append("\212"); sb.append("\062"); sb.append("\213"); + sb.append("\073"); + sb.append("\214"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java index 5c3d34d50cb9..ec70a63c60f7 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable19.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable19() { sb = new StringBuilder(); - sb.append("\073"); - sb.append("\214"); sb.append("\113"); sb.append("\216"); sb.append("\100"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable19() { sb.append("\122"); sb.append("\013"); sb.append("\123"); + sb.append("\064"); + sb.append("\124"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java index d814868d2b57..08b259c70557 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable20.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable20() { sb = new StringBuilder(); - sb.append("\064"); - sb.append("\124"); sb.append("\123"); sb.append("\125"); sb.append("\115"); @@ -1138,19 +1136,41 @@ protected EncodedActionTable20() { sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\070"); + sb.append("\170"); + sb.append("\004"); + sb.append("\201"); sb.append("\006"); sb.append("\155"); sb.append("\007"); sb.append("\174"); sb.append("\010"); - sb.append("\351"); + sb.append("\u01a9"); + sb.append("\011"); + sb.append("\203"); + sb.append("\012"); + sb.append("\074"); sb.append("\015"); - sb.append("\356"); + sb.append("\031"); sb.append("\016"); - sb.append("\350"); + sb.append("\070"); + sb.append("\032"); + sb.append("\105"); + sb.append("\036"); + sb.append("\124"); + sb.append("\044"); + sb.append("\221"); + sb.append("\045"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\207"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\050"); sb.append("\075"); - sb.append("\343"); + sb.append("\165"); sb.append("\077"); sb.append("\122"); sb.append("\100"); @@ -1171,22 +1191,64 @@ protected EncodedActionTable20() { sb.append("\045"); sb.append("\121"); sb.append("\157"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\064"); + sb.append("\124"); + sb.append("\123"); + sb.append("\125"); + sb.append("\115"); + sb.append("\126"); + sb.append("\130"); + sb.append("\133"); + sb.append("\020"); sb.append("\172"); - sb.append("\354"); + sb.append("\103"); sb.append("\173"); - sb.append("\344"); + sb.append("\175"); sb.append("\177"); - sb.append("\341"); + sb.append("\127"); sb.append("\200"); - sb.append("\346"); + sb.append("\066"); + sb.append("\202"); + sb.append("\053"); + sb.append("\203"); + sb.append("\117"); + sb.append("\204"); + sb.append("\206"); + sb.append("\205"); + sb.append("\153"); + sb.append("\206"); + sb.append("\215"); + sb.append("\207"); + sb.append("\150"); + sb.append("\210"); + sb.append("\141"); + sb.append("\211"); + sb.append("\154"); + sb.append("\212"); + sb.append("\062"); + sb.append("\213"); + sb.append("\073"); sb.append("\214"); - sb.append("\352"); + sb.append("\113"); + sb.append("\216"); + sb.append("\100"); sb.append("\222"); - sb.append("\333"); + sb.append("\u01aa"); sb.append("\230"); - sb.append("\360"); + sb.append("\u01ad"); + sb.append("\233"); + sb.append("\151"); + sb.append("\234"); + sb.append("\015"); + sb.append("\235"); + sb.append("\072"); sb.append("\236"); sb.append("\057"); + sb.append("\247"); + sb.append("\021"); sb.append("\253"); sb.append("\146"); sb.append("\254"); @@ -1196,27 +1258,109 @@ protected EncodedActionTable20() { sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01cc"); sb.append("\127"); sb.append("\ufebc"); + sb.append("\130"); + sb.append("\u01c3"); + sb.append("\131"); + sb.append("\u01d4"); + sb.append("\132"); + sb.append("\u01bb"); + sb.append("\150"); + sb.append("\u01be"); sb.append("\151"); sb.append("\ufebc"); + sb.append("\152"); + sb.append("\u01ba"); + sb.append("\153"); + sb.append("\u01ce"); + sb.append("\154"); + sb.append("\u01bc"); + sb.append("\155"); + sb.append("\u01c5"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d3"); + sb.append("\160"); + sb.append("\u01c7"); + sb.append("\161"); + sb.append("\u01b7"); + sb.append("\162"); + sb.append("\u01c4"); + sb.append("\163"); + sb.append("\u01d1"); + sb.append("\164"); + sb.append("\u01cf"); + sb.append("\165"); + sb.append("\u01c2"); + sb.append("\166"); + sb.append("\u01c0"); + sb.append("\167"); + sb.append("\u01d0"); + sb.append("\170"); + sb.append("\u01cb"); + sb.append("\171"); + sb.append("\u01c6"); + sb.append("\172"); + sb.append("\u01d5"); + sb.append("\173"); + sb.append("\u01c1"); + sb.append("\174"); + sb.append("\u01ca"); + sb.append("\175"); + sb.append("\u01c8"); + sb.append("\176"); + sb.append("\u01b8"); + sb.append("\201"); + sb.append("\u01bd"); + sb.append("\242"); + sb.append("\u01bf"); + sb.append("\245"); + sb.append("\u01b9"); + sb.append("\251"); + sb.append("\u01d2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\072"); + sb.append("\170"); + sb.append("\004"); + sb.append("\201"); sb.append("\006"); sb.append("\155"); sb.append("\007"); sb.append("\174"); sb.append("\010"); - sb.append("\351"); + sb.append("\u01a9"); + sb.append("\011"); + sb.append("\203"); + sb.append("\012"); + sb.append("\074"); sb.append("\015"); - sb.append("\356"); + sb.append("\031"); sb.append("\016"); - sb.append("\350"); + sb.append("\070"); + sb.append("\032"); + sb.append("\105"); + sb.append("\036"); + sb.append("\124"); + sb.append("\044"); + sb.append("\221"); + sb.append("\045"); + sb.append("\u01ab"); + sb.append("\054"); + sb.append("\026"); + sb.append("\062"); + sb.append("\207"); + sb.append("\063"); + sb.append("\010"); + sb.append("\074"); + sb.append("\050"); sb.append("\075"); - sb.append("\343"); + sb.append("\165"); sb.append("\077"); sb.append("\122"); sb.append("\100"); @@ -1237,24 +1381,64 @@ protected EncodedActionTable20() { sb.append("\045"); sb.append("\121"); sb.append("\157"); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\064"); + sb.append("\124"); + sb.append("\123"); + sb.append("\125"); + sb.append("\115"); + sb.append("\126"); + sb.append("\130"); + sb.append("\133"); + sb.append("\020"); sb.append("\172"); - sb.append("\354"); + sb.append("\103"); sb.append("\173"); - sb.append("\344"); + sb.append("\175"); sb.append("\177"); - sb.append("\341"); + sb.append("\127"); sb.append("\200"); - sb.append("\346"); + sb.append("\066"); + sb.append("\202"); + sb.append("\053"); + sb.append("\203"); + sb.append("\117"); + sb.append("\204"); + sb.append("\206"); + sb.append("\205"); + sb.append("\153"); + sb.append("\206"); + sb.append("\215"); + sb.append("\207"); + sb.append("\150"); + sb.append("\210"); + sb.append("\141"); + sb.append("\211"); + sb.append("\154"); + sb.append("\212"); + sb.append("\062"); + sb.append("\213"); + sb.append("\073"); sb.append("\214"); - sb.append("\352"); + sb.append("\113"); sb.append("\216"); - sb.append("\u024d"); + sb.append("\100"); sb.append("\222"); - sb.append("\333"); + sb.append("\u01aa"); sb.append("\230"); - sb.append("\360"); + sb.append("\u01ad"); + sb.append("\233"); + sb.append("\151"); + sb.append("\234"); + sb.append("\015"); + sb.append("\235"); + sb.append("\072"); sb.append("\236"); sb.append("\057"); + sb.append("\247"); + sb.append("\021"); sb.append("\253"); sb.append("\146"); sb.append("\254"); @@ -1264,11 +1448,71 @@ protected EncodedActionTable20() { sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\006"); + sb.append("\102"); + sb.append("\031"); + sb.append("\u01cc"); sb.append("\127"); sb.append("\ufeba"); + sb.append("\130"); + sb.append("\u01c3"); + sb.append("\131"); + sb.append("\u01d4"); + sb.append("\132"); + sb.append("\u01bb"); + sb.append("\150"); + sb.append("\u01be"); sb.append("\151"); sb.append("\ufeba"); + sb.append("\152"); + sb.append("\u01ba"); + sb.append("\153"); + sb.append("\u01ce"); + sb.append("\154"); + sb.append("\u01bc"); + sb.append("\155"); + sb.append("\u01c5"); + sb.append("\156"); + sb.append("\u01cd"); + sb.append("\157"); + sb.append("\u01d3"); + sb.append("\160"); + sb.append("\u01c7"); + sb.append("\161"); + sb.append("\u01b7"); + sb.append("\162"); + sb.append("\u01c4"); + sb.append("\163"); + sb.append("\u01d1"); + sb.append("\164"); + sb.append("\u01cf"); + sb.append("\165"); + sb.append("\u01c2"); + sb.append("\166"); + sb.append("\u01c0"); + sb.append("\167"); + sb.append("\u01d0"); + sb.append("\170"); + sb.append("\u01cb"); + sb.append("\171"); + sb.append("\u01c6"); + sb.append("\172"); + sb.append("\u01d5"); + sb.append("\173"); + sb.append("\u01c1"); + sb.append("\174"); + sb.append("\u01ca"); + sb.append("\175"); + sb.append("\u01c8"); + sb.append("\176"); + sb.append("\u01b8"); + sb.append("\201"); + sb.append("\u01bd"); + sb.append("\242"); + sb.append("\u01bf"); + sb.append("\245"); + sb.append("\u01b9"); + sb.append("\251"); + sb.append("\u01d2"); sb.append("\001"); sb.append("\002"); sb.append("\000"); diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java new file mode 100644 index 000000000000..9fb67e9f6ba3 --- /dev/null +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable21.java @@ -0,0 +1,895 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.php.editor.parser; + +/** + * Class generated by Parser Cutter + */ +public class EncodedActionTable21 { + protected final StringBuilder sb; + public String getTableData() { + return sb.toString(); + } + protected EncodedActionTable21() { + sb = new StringBuilder(); + sb.append("\122"); + sb.append("\013"); + sb.append("\123"); + sb.append("\065"); + sb.append("\124"); + sb.append("\124"); + sb.append("\125"); + sb.append("\116"); + sb.append("\126"); + sb.append("\131"); + sb.append("\133"); + sb.append("\020"); + sb.append("\172"); + sb.append("\104"); + sb.append("\173"); + sb.append("\176"); + sb.append("\177"); + sb.append("\130"); + sb.append("\200"); + sb.append("\067"); + sb.append("\202"); + sb.append("\054"); + sb.append("\203"); + sb.append("\120"); + sb.append("\204"); + sb.append("\207"); + sb.append("\205"); + sb.append("\154"); + sb.append("\206"); + sb.append("\216"); + sb.append("\207"); + sb.append("\151"); + sb.append("\210"); + sb.append("\142"); + sb.append("\211"); + sb.append("\155"); + sb.append("\212"); + sb.append("\063"); + sb.append("\213"); + sb.append("\074"); + sb.append("\214"); + sb.append("\114"); + sb.append("\216"); + sb.append("\101"); + sb.append("\222"); + sb.append("\u01ab"); + sb.append("\230"); + sb.append("\u01ae"); + sb.append("\233"); + sb.append("\152"); + sb.append("\234"); + sb.append("\015"); + sb.append("\235"); + sb.append("\073"); + sb.append("\236"); + sb.append("\060"); + sb.append("\247"); + sb.append("\021"); + sb.append("\253"); + sb.append("\147"); + sb.append("\254"); + sb.append("\064"); + sb.append("\255"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufd4d"); + sb.append("\151"); + sb.append("\ufd4d"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufebf"); + sb.append("\151"); + sb.append("\ufebf"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\100"); + sb.append("\031"); + sb.append("\u01cd"); + sb.append("\112"); + sb.append("\u065c"); + sb.append("\130"); + sb.append("\u01c4"); + sb.append("\131"); + sb.append("\u01d5"); + sb.append("\132"); + sb.append("\u01bc"); + sb.append("\150"); + sb.append("\u01bf"); + sb.append("\152"); + sb.append("\u01bb"); + sb.append("\153"); + sb.append("\u01cf"); + sb.append("\154"); + sb.append("\u01bd"); + sb.append("\155"); + sb.append("\u01c6"); + sb.append("\156"); + sb.append("\u01ce"); + sb.append("\157"); + sb.append("\u01d4"); + sb.append("\160"); + sb.append("\u01c8"); + sb.append("\161"); + sb.append("\u01b8"); + sb.append("\162"); + sb.append("\u01c5"); + sb.append("\163"); + sb.append("\u01d2"); + sb.append("\164"); + sb.append("\u01d0"); + sb.append("\165"); + sb.append("\u01c3"); + sb.append("\166"); + sb.append("\u01c1"); + sb.append("\167"); + sb.append("\u01d1"); + sb.append("\170"); + sb.append("\u01cc"); + sb.append("\171"); + sb.append("\u01c7"); + sb.append("\172"); + sb.append("\u01d6"); + sb.append("\173"); + sb.append("\u01c2"); + sb.append("\174"); + sb.append("\u01cb"); + sb.append("\175"); + sb.append("\u01c9"); + sb.append("\176"); + sb.append("\u01b9"); + sb.append("\201"); + sb.append("\u01be"); + sb.append("\242"); + sb.append("\u01c0"); + sb.append("\245"); + sb.append("\u01ba"); + sb.append("\251"); + sb.append("\u01d3"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufebe"); + sb.append("\151"); + sb.append("\ufebe"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\012"); + sb.append("\u0655"); + sb.append("\233"); + sb.append("\u0656"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\322"); + sb.append("\002"); + sb.append("\uff67"); + sb.append("\003"); + sb.append("\uff67"); + sb.append("\004"); + sb.append("\uff67"); + sb.append("\005"); + sb.append("\uff67"); + sb.append("\006"); + sb.append("\uff67"); + sb.append("\007"); + sb.append("\uff67"); + sb.append("\010"); + sb.append("\uff67"); + sb.append("\011"); + sb.append("\uff67"); + sb.append("\012"); + sb.append("\uff67"); + sb.append("\014"); + sb.append("\uff67"); + sb.append("\015"); + sb.append("\uff67"); + sb.append("\016"); + sb.append("\uff67"); + sb.append("\017"); + sb.append("\uff67"); + sb.append("\020"); + sb.append("\uff67"); + sb.append("\021"); + sb.append("\uff67"); + sb.append("\022"); + sb.append("\uff67"); + sb.append("\023"); + sb.append("\uff67"); + sb.append("\024"); + sb.append("\uff67"); + sb.append("\025"); + sb.append("\uff67"); + sb.append("\026"); + sb.append("\uff67"); + sb.append("\027"); + sb.append("\uff67"); + sb.append("\030"); + sb.append("\uff67"); + sb.append("\032"); + sb.append("\uff67"); + sb.append("\034"); + sb.append("\uff67"); + sb.append("\035"); + sb.append("\uff67"); + sb.append("\036"); + sb.append("\uff67"); + sb.append("\037"); + sb.append("\uff67"); + sb.append("\040"); + sb.append("\uff67"); + sb.append("\041"); + sb.append("\uff67"); + sb.append("\042"); + sb.append("\uff67"); + sb.append("\043"); + sb.append("\uff67"); + sb.append("\044"); + sb.append("\uff67"); + sb.append("\045"); + sb.append("\uff67"); + sb.append("\046"); + sb.append("\uff67"); + sb.append("\047"); + sb.append("\uff67"); + sb.append("\050"); + sb.append("\uff67"); + sb.append("\051"); + sb.append("\uff67"); + sb.append("\052"); + sb.append("\uff67"); + sb.append("\054"); + sb.append("\uff67"); + sb.append("\056"); + sb.append("\uff67"); + sb.append("\057"); + sb.append("\uff67"); + sb.append("\061"); + sb.append("\uff67"); + sb.append("\062"); + sb.append("\uff67"); + sb.append("\063"); + sb.append("\uff67"); + sb.append("\064"); + sb.append("\uff67"); + sb.append("\065"); + sb.append("\uff67"); + sb.append("\066"); + sb.append("\uff67"); + sb.append("\074"); + sb.append("\uff67"); + sb.append("\075"); + sb.append("\uff67"); + sb.append("\077"); + sb.append("\uff67"); + sb.append("\100"); + sb.append("\uff67"); + sb.append("\101"); + sb.append("\uff67"); + sb.append("\102"); + sb.append("\uff67"); + sb.append("\103"); + sb.append("\uff67"); + sb.append("\104"); + sb.append("\uff67"); + sb.append("\105"); + sb.append("\uff67"); + sb.append("\111"); + sb.append("\uff67"); + sb.append("\112"); + sb.append("\uff67"); + sb.append("\114"); + sb.append("\uff67"); + sb.append("\115"); + sb.append("\uff67"); + sb.append("\116"); + sb.append("\uff67"); + sb.append("\120"); + sb.append("\uff67"); + sb.append("\121"); + sb.append("\uff67"); + sb.append("\122"); + sb.append("\uff67"); + sb.append("\123"); + sb.append("\uff67"); + sb.append("\124"); + sb.append("\uff67"); + sb.append("\125"); + sb.append("\uff67"); + sb.append("\126"); + sb.append("\uff67"); + sb.append("\133"); + sb.append("\uff67"); + sb.append("\151"); + sb.append("\uff67"); + sb.append("\172"); + sb.append("\uff67"); + sb.append("\173"); + sb.append("\uff67"); + sb.append("\177"); + sb.append("\uff67"); + sb.append("\200"); + sb.append("\uff67"); + sb.append("\202"); + sb.append("\uff67"); + sb.append("\203"); + sb.append("\uff67"); + sb.append("\204"); + sb.append("\uff67"); + sb.append("\205"); + sb.append("\uff67"); + sb.append("\206"); + sb.append("\uff67"); + sb.append("\207"); + sb.append("\uff67"); + sb.append("\210"); + sb.append("\uff67"); + sb.append("\211"); + sb.append("\uff67"); + sb.append("\212"); + sb.append("\uff67"); + sb.append("\213"); + sb.append("\uff67"); + sb.append("\214"); + sb.append("\uff67"); + sb.append("\216"); + sb.append("\uff67"); + sb.append("\217"); + sb.append("\uff67"); + sb.append("\220"); + sb.append("\uff67"); + sb.append("\221"); + sb.append("\uff67"); + sb.append("\222"); + sb.append("\uff67"); + sb.append("\223"); + sb.append("\uff67"); + sb.append("\224"); + sb.append("\uff67"); + sb.append("\230"); + sb.append("\uff67"); + sb.append("\233"); + sb.append("\uff67"); + sb.append("\234"); + sb.append("\uff67"); + sb.append("\235"); + sb.append("\uff67"); + sb.append("\236"); + sb.append("\uff67"); + sb.append("\240"); + sb.append("\uff67"); + sb.append("\247"); + sb.append("\uff67"); + sb.append("\250"); + sb.append("\uff67"); + sb.append("\252"); + sb.append("\uff67"); + sb.append("\253"); + sb.append("\uff67"); + sb.append("\254"); + sb.append("\uff67"); + sb.append("\255"); + sb.append("\uff67"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\006"); + sb.append("\127"); + sb.append("\ufec2"); + sb.append("\151"); + sb.append("\ufec2"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\014"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\u0555"); + sb.append("\107"); + sb.append("\u0554"); + sb.append("\110"); + sb.append("\u0552"); + sb.append("\234"); + sb.append("\u0661"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\116"); + sb.append("\031"); + sb.append("\ufd70"); + sb.append("\033"); + sb.append("\ufd70"); + sb.append("\073"); + sb.append("\ufd70"); + sb.append("\112"); + sb.append("\ufd70"); + sb.append("\127"); + sb.append("\ufd70"); + sb.append("\130"); + sb.append("\ufd70"); + sb.append("\131"); + sb.append("\ufd70"); + sb.append("\132"); + sb.append("\ufd70"); + sb.append("\150"); + sb.append("\ufd70"); + sb.append("\151"); + sb.append("\ufd70"); + sb.append("\152"); + sb.append("\ufd70"); + sb.append("\153"); + sb.append("\ufd70"); + sb.append("\154"); + sb.append("\ufd70"); + sb.append("\155"); + sb.append("\ufd70"); + sb.append("\156"); + sb.append("\ufd70"); + sb.append("\157"); + sb.append("\ufd70"); + sb.append("\160"); + sb.append("\ufd70"); + sb.append("\161"); + sb.append("\ufd70"); + sb.append("\162"); + sb.append("\ufd70"); + sb.append("\163"); + sb.append("\ufd70"); + sb.append("\164"); + sb.append("\ufd70"); + sb.append("\165"); + sb.append("\ufd70"); + sb.append("\166"); + sb.append("\ufd70"); + sb.append("\167"); + sb.append("\ufd70"); + sb.append("\170"); + sb.append("\ufd70"); + sb.append("\171"); + sb.append("\ufd70"); + sb.append("\172"); + sb.append("\ufd70"); + sb.append("\173"); + sb.append("\ufd70"); + sb.append("\174"); + sb.append("\ufd70"); + sb.append("\175"); + sb.append("\ufd70"); + sb.append("\176"); + sb.append("\ufd70"); + sb.append("\201"); + sb.append("\ufd70"); + sb.append("\215"); + sb.append("\ufd70"); + sb.append("\231"); + sb.append("\ufd70"); + sb.append("\232"); + sb.append("\ufd70"); + sb.append("\242"); + sb.append("\ufd70"); + sb.append("\245"); + sb.append("\ufd70"); + sb.append("\251"); + sb.append("\ufd70"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\344"); + sb.append("\003"); + sb.append("\u021c"); + sb.append("\004"); + sb.append("\u0219"); + sb.append("\005"); + sb.append("\u01a7"); + sb.append("\006"); + sb.append("\156"); + sb.append("\007"); + sb.append("\175"); + sb.append("\010"); + sb.append("\u021d"); + sb.append("\011"); + sb.append("\204"); + sb.append("\012"); + sb.append("\075"); + sb.append("\015"); + sb.append("\031"); + sb.append("\016"); + sb.append("\071"); + sb.append("\017"); + sb.append("\u0193"); + sb.append("\020"); + sb.append("\u0190"); + sb.append("\021"); + sb.append("\u016b"); + sb.append("\022"); + sb.append("\u0171"); + sb.append("\023"); + sb.append("\u0165"); + sb.append("\024"); + sb.append("\u0186"); + sb.append("\025"); + sb.append("\u0183"); + sb.append("\026"); + sb.append("\u016d"); + sb.append("\027"); + sb.append("\u01a8"); + sb.append("\030"); + sb.append("\u018c"); + sb.append("\031"); + sb.append("\u0170"); + sb.append("\032"); + sb.append("\u020b"); + sb.append("\033"); + sb.append("\u0167"); + sb.append("\034"); + sb.append("\u0196"); + sb.append("\035"); + sb.append("\u0182"); + sb.append("\036"); + sb.append("\u0210"); + sb.append("\037"); + sb.append("\u0158"); + sb.append("\040"); + sb.append("\u0175"); + sb.append("\041"); + sb.append("\u0172"); + sb.append("\042"); + sb.append("\u0191"); + sb.append("\043"); + sb.append("\u017d"); + sb.append("\044"); + sb.append("\u021e"); + sb.append("\045"); + sb.append("\u01fb"); + sb.append("\046"); + sb.append("\u0198"); + sb.append("\047"); + sb.append("\u019a"); + sb.append("\050"); + sb.append("\u015a"); + sb.append("\052"); + sb.append("\u0168"); + sb.append("\053"); + sb.append("\u01a4"); + sb.append("\054"); + sb.append("\u01fd"); + sb.append("\055"); + sb.append("\u0174"); + sb.append("\056"); + sb.append("\u0161"); + sb.append("\057"); + sb.append("\u0159"); + sb.append("\060"); + sb.append("\u01a5"); + sb.append("\061"); + sb.append("\u017f"); + sb.append("\062"); + sb.append("\u021b"); + sb.append("\063"); + sb.append("\u01f7"); + sb.append("\065"); + sb.append("\u01fe"); + sb.append("\066"); + sb.append("\u019c"); + sb.append("\067"); + sb.append("\u0160"); + sb.append("\070"); + sb.append("\u0184"); + sb.append("\074"); + sb.append("\u0205"); + sb.append("\075"); + sb.append("\u0218"); + sb.append("\076"); + sb.append("\u015e"); + sb.append("\077"); + sb.append("\u020e"); + sb.append("\100"); + sb.append("\u01f8"); + sb.append("\101"); + sb.append("\u021a"); + sb.append("\102"); + sb.append("\u01ff"); + sb.append("\103"); + sb.append("\u0213"); + sb.append("\104"); + sb.append("\u020d"); + sb.append("\105"); + sb.append("\141"); + sb.append("\114"); + sb.append("\u0180"); + sb.append("\115"); + sb.append("\u0212"); + sb.append("\116"); + sb.append("\u0202"); + sb.append("\121"); + sb.append("\u0217"); + sb.append("\122"); + sb.append("\u01f9"); + sb.append("\123"); + sb.append("\u0207"); + sb.append("\124"); + sb.append("\u020f"); + sb.append("\125"); + sb.append("\u020c"); + sb.append("\126"); + sb.append("\u0211"); + sb.append("\130"); + sb.append("\u019f"); + sb.append("\131"); + sb.append("\u01a0"); + sb.append("\132"); + sb.append("\u019b"); + sb.append("\133"); + sb.append("\u01fa"); + sb.append("\156"); + sb.append("\u0203"); + sb.append("\172"); + sb.append("\104"); + sb.append("\173"); + sb.append("\176"); + sb.append("\177"); + sb.append("\130"); + sb.append("\200"); + sb.append("\067"); + sb.append("\202"); + sb.append("\054"); + sb.append("\203"); + sb.append("\120"); + sb.append("\204"); + sb.append("\207"); + sb.append("\205"); + sb.append("\154"); + sb.append("\206"); + sb.append("\216"); + sb.append("\207"); + sb.append("\151"); + sb.append("\210"); + sb.append("\142"); + sb.append("\211"); + sb.append("\155"); + sb.append("\212"); + sb.append("\063"); + sb.append("\213"); + sb.append("\074"); + sb.append("\214"); + sb.append("\114"); + sb.append("\216"); + sb.append("\u020a"); + sb.append("\217"); + sb.append("\u017a"); + sb.append("\220"); + sb.append("\u017b"); + sb.append("\221"); + sb.append("\u018e"); + sb.append("\222"); + sb.append("\u01fc"); + sb.append("\223"); + sb.append("\u0176"); + sb.append("\224"); + sb.append("\u015d"); + sb.append("\225"); + sb.append("\u018b"); + sb.append("\226"); + sb.append("\u018a"); + sb.append("\227"); + sb.append("\u0199"); + sb.append("\230"); + sb.append("\u01ae"); + sb.append("\231"); + sb.append("\ufece"); + sb.append("\233"); + sb.append("\152"); + sb.append("\234"); + sb.append("\015"); + sb.append("\235"); + sb.append("\073"); + sb.append("\236"); + sb.append("\060"); + sb.append("\240"); + sb.append("\u018f"); + sb.append("\241"); + sb.append("\u0189"); + sb.append("\244"); + sb.append("\u0209"); + sb.append("\247"); + sb.append("\021"); + sb.append("\250"); + sb.append("\u0157"); + sb.append("\253"); + sb.append("\147"); + sb.append("\254"); + sb.append("\064"); + sb.append("\255"); + sb.append("\055"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\231"); + sb.append("\u0664"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\172"); + sb.append("\031"); + sb.append("\ufdea"); + sb.append("\033"); + sb.append("\ufdea"); + sb.append("\071"); + sb.append("\ufdea"); + sb.append("\072"); + sb.append("\ufdea"); + sb.append("\073"); + sb.append("\ufdea"); + sb.append("\111"); + sb.append("\ufdea"); + sb.append("\112"); + sb.append("\ufdea"); + sb.append("\113"); + sb.append("\ufdea"); + sb.append("\127"); + sb.append("\ufdea"); + sb.append("\130"); + sb.append("\ufdea"); + sb.append("\131"); + sb.append("\ufdea"); + sb.append("\132"); + sb.append("\ufdea"); + sb.append("\134"); + sb.append("\ufdea"); + sb.append("\135"); + sb.append("\ufdea"); + sb.append("\136"); + sb.append("\ufdea"); + sb.append("\137"); + sb.append("\ufdea"); + sb.append("\140"); + sb.append("\ufdea"); + sb.append("\141"); + sb.append("\ufdea"); + sb.append("\142"); + sb.append("\ufdea"); + sb.append("\143"); + sb.append("\ufdea"); + sb.append("\144"); + sb.append("\ufdea"); + sb.append("\145"); + sb.append("\ufdea"); + sb.append("\146"); + sb.append("\ufdea"); + sb.append("\147"); + sb.append("\ufdea"); + sb.append("\150"); + sb.append("\ufdea"); + sb.append("\151"); + sb.append("\ufdea"); + sb.append("\152"); + sb.append("\ufdea"); + sb.append("\153"); + sb.append("\ufdea"); + sb.append("\154"); + sb.append("\ufdea"); + sb.append("\155"); + sb.append("\ufdea"); + sb.append("\156"); + sb.append("\ufdea"); + sb.append("\157"); + sb.append("\ufdea"); + sb.append("\160"); + sb.append("\ufdea"); + sb.append("\161"); + sb.append("\ufdea"); + sb.append("\162"); + sb.append("\ufdea"); + sb.append("\163"); + sb.append("\ufdea"); + sb.append("\164"); + sb.append("\ufdea"); + sb.append("\165"); + sb.append("\ufdea"); + sb.append("\166"); + sb.append("\ufdea"); + sb.append("\167"); + sb.append("\ufdea"); + sb.append("\170"); + sb.append("\ufdea"); + sb.append("\171"); + sb.append("\ufdea"); + sb.append("\172"); + sb.append("\ufdea"); + sb.append("\173"); + sb.append("\ufdea"); + sb.append("\174"); + sb.append("\ufdea"); + sb.append("\175"); + sb.append("\ufdea"); + sb.append("\176"); + sb.append("\ufdea"); + sb.append("\201"); + sb.append("\ufdea"); + sb.append("\202"); + sb.append("\ufdea"); + sb.append("\203"); + sb.append("\ufdea"); + sb.append("\214"); + sb.append("\ufdea"); + sb.append("\215"); + sb.append("\ufdea"); + sb.append("\230"); + sb.append("\ufdea"); + sb.append("\231"); + sb.append("\ufdea"); + sb.append("\232"); + sb.append("\ufdea"); + sb.append("\242"); + sb.append("\ufdea"); + sb.append("\243"); + sb.append("\ufdea"); + sb.append("\245"); + sb.append("\ufdea"); + sb.append("\246"); + sb.append("\ufdea"); + sb.append("\251"); + sb.append("\ufdea"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\012"); + sb.append("\065"); + sb.append("\uff2b"); + sb.append("\223"); + sb.append("\uff2b"); + sb.append("\224"); + sb.append("\uff2b"); + sb.append("\250"); + sb.append("\uff2b"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\010"); + sb.append("\uff26"); + sb.append("\001"); + sb.append("\002"); + sb.append("\000"); + sb.append("\004"); + sb.append("\002"); + sb.append("\000"); + sb.append("\001"); + sb.append("\002"); + sb.append(""); + } +} \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java index b57ec7d8515d..6775e0225821 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable3.java @@ -4288,11 +4288,9 @@ protected EncodedActionTable3() { sb.append("\001"); sb.append("\002"); sb.append("\000"); - sb.append("\010"); + sb.append("\006"); sb.append("\127"); sb.append("\ufd8d"); - sb.append("\151"); - sb.append("\ufd8d"); sb.append("\231"); sb.append("\ufd8d"); sb.append("\001"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable3() { sb.append("\156"); sb.append("\ufef2"); sb.append("\230"); + sb.append("\ufef2"); + sb.append("\244"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java index ff9907172591..7381787e3b9b 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable4.java @@ -29,8 +29,6 @@ public String getTableData() { protected EncodedActionTable4() { sb = new StringBuilder(); sb.append("\ufef2"); - sb.append("\244"); - sb.append("\ufef2"); sb.append("\251"); sb.append("\ufef2"); sb.append("\253"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable4() { sb.append("\150"); sb.append("\ufd36"); sb.append("\151"); + sb.append("\ufd36"); + sb.append("\152"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java index b0fd325d9784..ef75c2f77e80 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable5.java @@ -29,8 +29,6 @@ public String getTableData() { protected EncodedActionTable5() { sb = new StringBuilder(); sb.append("\ufd36"); - sb.append("\152"); - sb.append("\ufd36"); sb.append("\153"); sb.append("\ufd36"); sb.append("\154"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable5() { sb.append("\052"); sb.append("\u0167"); sb.append("\053"); + sb.append("\u01a3"); + sb.append("\054"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java index 65b7aa33f268..6a0bc2a680ee 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable6.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable6() { sb = new StringBuilder(); - sb.append("\u01a3"); - sb.append("\054"); sb.append("\u01f9"); sb.append("\055"); sb.append("\u0173"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable6() { sb.append("\012"); sb.append("\074"); sb.append("\111"); + sb.append("\u0277"); + sb.append("\121"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java index 0ff40c5c7958..b7801dcec2ac 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable7.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable7() { sb = new StringBuilder(); - sb.append("\u0277"); - sb.append("\121"); sb.append("\u0276"); sb.append("\233"); sb.append("\151"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable7() { sb.append("\102"); sb.append("\040"); sb.append("\103"); + sb.append("\143"); + sb.append("\104"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java index a3d0611267ee..8a13229e2491 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable8.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable8() { sb = new StringBuilder(); - sb.append("\143"); - sb.append("\104"); sb.append("\116"); sb.append("\105"); sb.append("\140"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable8() { sb.append("\012"); sb.append("\074"); sb.append("\015"); + sb.append("\031"); + sb.append("\016"); } } \ No newline at end of file diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java index 94e071775cd5..2674ce02ca38 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/EncodedActionTable9.java @@ -28,8 +28,6 @@ public String getTableData() { } protected EncodedActionTable9() { sb = new StringBuilder(); - sb.append("\031"); - sb.append("\016"); sb.append("\070"); sb.append("\032"); sb.append("\105"); @@ -4528,5 +4526,7 @@ protected EncodedActionTable9() { sb.append("\012"); sb.append("\uff62"); sb.append("\014"); + sb.append("\uff62"); + sb.append("\015"); } } \ No newline at end of file diff --git a/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php83/arbitraryStaticVariableInitializers_01.pass b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php83/arbitraryStaticVariableInitializers_01.pass new file mode 100644 index 000000000000..bac6cb847d67 --- /dev/null +++ b/php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest/parser/php83/arbitraryStaticVariableInitializers_01.pass @@ -0,0 +1,907 @@ + + + + class + + + Example + + + { + + + private + + + int + + + $field + + + = + + + 1 + + + ; + + + public + + + function + + + method + + + ( + + + ) + + + : + + + int + + + { + + + return + + + 1 + + + ; + + + } + + + public + + + function + + + run + + + ( + + + int + + + $param1 + + + ) + + + : + + + void + + + { + + + static + + + $example1 + + + = + + + rand + + + ( + + + ) + + + ; + + + static + + + $example2 + + + = + + + $param1 + + + ; + + + static + + + $example3 + + + = + + + $this + + + -> + + + field + + + ; + + + static + + + $example4 + + + = + + + $this + + + -> + + + method + + + ( + + + ) + + + ; + + + static + + + $example5 + + + = + + + new + + + class + + + ( + + + ) + + + { + + + } + + + ; + + + static + + + $example6 + + + = + + + new + + + stdClass + + + ( + + + ... + + + [ + + + 0 + + + ] + + + ) + + + ; + + + static + + + $example6 + + + = + + + new + + + stdClass + + + ( + + + $param1 + + + ) + + + ; + + + static + + + $example7 + + + = + + + new + + + ( + + + Test + + + ) + + + ; + + + static + + + $example8 + + + = + + + new + + + static + + + ; + + + static + + + $example9 + + + = + + + $param1 + + + <= + + + 100 + + + ? + + + run + + + ( + + + $param1 + + + + + + + 1 + + + ) + + + : + + + " + + + Test + + + $param1 + + + " + + + ; + + + static + + + $example10 + + + = + + + rand + + + ( + + + ) + + + , + + + $example11 + + + = + + + rand + + + ( + + + ) + + + ; + + + } + + + } + + + $variable + + + = + + + 1 + + + ; + + + static + + + $example1 + + + = + + + rand + + + ( + + + ) + + + ; + + + static + + + $example2 + + + = + + + $variable + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/php/php.editor/test/unit/data/testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php b/php/php.editor/test/unit/data/testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php new file mode 100644 index 000000000000..9f8b8f6e44a0 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php @@ -0,0 +1,45 @@ +field; + static $example4 = $this->method(); + static $example5 = new class() {}; + static $example6 = new stdClass(...[0]); + static $example6 = new stdClass($param1); + static $example7 = new (Test); + static $example8 = new static; + static $example9 = $param1 <= 100 ? run($param1 + 1) : "Test $param1"; + static $example10 = rand(), $example11 = rand(); + } +} + +$variable = 1; +static $example1 = rand(); +static $example2 = $variable; diff --git a/php/php.editor/test/unit/data/testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php.errors b/php/php.editor/test/unit/data/testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php.errors new file mode 100644 index 000000000000..8b137891791f --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php.errors @@ -0,0 +1 @@ + diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java index b08041e58506..18795622486e 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/ASTPHP5ParserTest.java @@ -1531,6 +1531,10 @@ public void testIssueGH6075_01() throws Exception { } // PHP 8.3 + public void testArbitraryStaticVariableInitializers_01() throws Exception { + performTest("parser/php83/arbitraryStaticVariableInitializers_01"); + } + public void testDynamicClassConstantFetch_01() throws Exception { performTest("parser/php83/dynamicClassConstantFetch_01"); } diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java index 24f1fb0ff561..563bec9417ce 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/PhpParserErrorTest.java @@ -1449,6 +1449,10 @@ public void testIssueGH5933_01() throws Exception { } // PHP 8.3 + public void testArbitraryStaticVariableInitializers_01() throws Exception { + checkErrors("testfiles/parser/php83/arbitraryStaticVariableInitializers_01.php"); + } + public void testDynamicClassConstantFetch_01() throws Exception { checkErrors("testfiles/parser/php83/dynamicClassConstantFetch_01.php"); } diff --git a/php/php.editor/tools/ASTPHP5Parser.cup b/php/php.editor/tools/ASTPHP5Parser.cup index 7ed74f027982..d7cde1f693c1 100644 --- a/php/php.editor/tools/ASTPHP5Parser.cup +++ b/php/php.editor/tools/ASTPHP5Parser.cup @@ -2886,7 +2886,7 @@ static_var_list:list T_COMMA T_VARIABLE:var RESULT = list; :} -| static_var_list:list T_COMMA T_VARIABLE:var T_EQUAL static_scalar:expr +| static_var_list:list T_COMMA T_VARIABLE:var T_EQUAL expr:expr {: Variable v = new Variable(varleft, varright, var); Assignment assignment = new Assignment(varleft, exprright, v, Assignment.Type.EQUAL, expr); @@ -2902,7 +2902,7 @@ static_var_list:list T_COMMA T_VARIABLE:var RESULT = list; :} -| T_VARIABLE:var T_EQUAL static_scalar_with_class_instance:expr +| T_VARIABLE:var T_EQUAL expr:expr {: Variable v = new Variable(varleft, varright, var); Assignment assignment = new Assignment(varleft, exprright, v, Assignment.Type.EQUAL, expr); From abf6cebdf11bfc976365c1f3a8748a9b02cebb02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 14 Dec 2024 10:12:59 +0100 Subject: [PATCH 85/94] Fix parsing of @keyframes rules Before 23ed11129c5eee8d6806af906fbac9c1b5c34daf "CSS: Improve handling of generic-at-rules (for example used by tailwind)" the CSS parser returned the body of generic @-rules as a plain list of tokens. That changed and the @keyframes rule needs to be special cased. There was already a special case for the @-webkit-keyframes variant, which is identical to the final variant and differs only in the introducing rule name. The vendored variants @-moz-keyframes and @-o-keyframes are also supported. Closes: #8052 --- ide/css.lib/nbproject/project.properties | 2 +- .../src/org/netbeans/modules/css/lib/Css3.g | 5 +- .../netbeans/modules/css/lib/Css3Lexer.java | 6144 ++--- .../netbeans/modules/css/lib/Css3Parser.java | 20425 ++++++++-------- .../modules/css/lib/api/CssTokenId.java | 2 + .../modules/css/lib/Css3ParserTest.java | 151 + 6 files changed, 13582 insertions(+), 13147 deletions(-) diff --git a/ide/css.lib/nbproject/project.properties b/ide/css.lib/nbproject/project.properties index 75b05fa84f9d..263c877ee596 100644 --- a/ide/css.lib/nbproject/project.properties +++ b/ide/css.lib/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. -javac.source=1.8 +javac.release=17 javac.compilerargs=-Xlint -Xlint:-serial is.autoload=true diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g index d6f983d82984..8117dc39862f 100644 --- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g +++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g @@ -731,7 +731,7 @@ moz_document_function //http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariCSSRef/Articles/OtherStandardCSS3Features.html#//apple_ref/doc/uid/TP40007601-SW1 webkitKeyframes : - WEBKIT_KEYFRAMES_SYM ws? atRuleId ws? + ( WEBKIT_KEYFRAMES_SYM | KEYFRAMES_SYM | {tokenNameEquals("@-moz-keyframes")}? AT_IDENT | {tokenNameEquals("@-o-keyframes")}? AT_IDENT ) ws? atRuleId ws? LBRACE ws? ( webkitKeyframesBlock ws? )* RBRACE @@ -1261,7 +1261,7 @@ cp_variable_declaration cp_variable : //every token which might possibly begin with the at sign - {isLessSource()}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) + {isLessSource()}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD | KEYFRAMES_SYM ) | {isScssSource()}? ( SASS_VAR | IDENT DOT SASS_VAR ) ; @@ -2003,6 +2003,7 @@ FONT_FACE_SYM : '@FONT-FACE'; SUPPORTS_SYM : '@SUPPORTS'; LAYER_SYM : '@LAYER'; CONTAINER_SYM : '@CONTAINER'; +KEYFRAMES_SYM : '@KEYFRAMES'; TOPLEFTCORNER_SYM :'@TOP-LEFT-CORNER'; TOPLEFT_SYM :'@TOP-LEFT'; diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java index 1a816c7731a3..2aec9ec641b8 100644 --- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java +++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Lexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.5.3 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2024-10-07 20:25:38 +// $ANTLR 3.5.3 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2024-12-16 18:39:34 /* * Licensed to the Apache Software Foundation (ASF) under one @@ -86,105 +86,106 @@ public class Css3Lexer extends Lexer { public static final int INVALID=56; public static final int J=57; public static final int K=58; - public static final int L=59; - public static final int LAYER_SYM=60; - public static final int LBRACE=61; - public static final int LBRACKET=62; - public static final int LEFTBOTTOM_SYM=63; - public static final int LEFTMIDDLE_SYM=64; - public static final int LEFTTOP_SYM=65; - public static final int LENGTH=66; - public static final int LESS=67; - public static final int LESS_AND=68; - public static final int LESS_JS_STRING=69; - public static final int LESS_OR_EQ=70; - public static final int LESS_REST=71; - public static final int LINE_COMMENT=72; - public static final int LPAREN=73; - public static final int M=74; - public static final int MEDIA_SYM=75; - public static final int MINUS=76; - public static final int MOZ_DOCUMENT_SYM=77; - public static final int MOZ_DOMAIN=78; - public static final int MOZ_REGEXP=79; - public static final int MOZ_URL_PREFIX=80; - public static final int N=81; - public static final int NAME=82; - public static final int NAMESPACE_SYM=83; - public static final int NL=84; - public static final int NMCHAR=85; - public static final int NMSTART=86; - public static final int NONASCII=87; - public static final int NOT=88; - public static final int NUMBER=89; - public static final int O=90; - public static final int OPEQ=91; - public static final int P=92; - public static final int PAGE_SYM=93; - public static final int PERCENTAGE=94; - public static final int PERCENTAGE_SYMBOL=95; - public static final int PIPE=96; - public static final int PLUS=97; - public static final int Q=98; - public static final int R=99; - public static final int RBRACE=100; - public static final int RBRACKET=101; - public static final int REM=102; - public static final int RESOLUTION=103; - public static final int RIGHTBOTTOM_SYM=104; - public static final int RIGHTMIDDLE_SYM=105; - public static final int RIGHTTOP_SYM=106; - public static final int RPAREN=107; - public static final int S=108; - public static final int SASS_AT_ROOT=109; - public static final int SASS_CONTENT=110; - public static final int SASS_DEBUG=111; - public static final int SASS_DEFAULT=112; - public static final int SASS_EACH=113; - public static final int SASS_ELSE=114; - public static final int SASS_ELSEIF=115; - public static final int SASS_ERROR=116; - public static final int SASS_EXTEND=117; - public static final int SASS_EXTEND_ONLY_SELECTOR=118; - public static final int SASS_FOR=119; - public static final int SASS_FORWARD=120; - public static final int SASS_FUNCTION=121; - public static final int SASS_GLOBAL=122; - public static final int SASS_IF=123; - public static final int SASS_INCLUDE=124; - public static final int SASS_MIXIN=125; - public static final int SASS_OPTIONAL=126; - public static final int SASS_RETURN=127; - public static final int SASS_USE=128; - public static final int SASS_VAR=129; - public static final int SASS_WARN=130; - public static final int SASS_WHILE=131; - public static final int SEMI=132; - public static final int SOLIDUS=133; - public static final int STAR=134; - public static final int STRING=135; - public static final int SUPPORTS_SYM=136; - public static final int T=137; - public static final int TILDE=138; - public static final int TIME=139; - public static final int TOPCENTER_SYM=140; - public static final int TOPLEFTCORNER_SYM=141; - public static final int TOPLEFT_SYM=142; - public static final int TOPRIGHTCORNER_SYM=143; - public static final int TOPRIGHT_SYM=144; - public static final int U=145; - public static final int UNICODE=146; - public static final int URANGE=147; - public static final int URI=148; - public static final int URL=149; - public static final int V=150; - public static final int VARIABLE=151; - public static final int W=152; - public static final int WEBKIT_KEYFRAMES_SYM=153; - public static final int WS=154; - public static final int X=155; - public static final int Y=156; - public static final int Z=157; + public static final int KEYFRAMES_SYM=59; + public static final int L=60; + public static final int LAYER_SYM=61; + public static final int LBRACE=62; + public static final int LBRACKET=63; + public static final int LEFTBOTTOM_SYM=64; + public static final int LEFTMIDDLE_SYM=65; + public static final int LEFTTOP_SYM=66; + public static final int LENGTH=67; + public static final int LESS=68; + public static final int LESS_AND=69; + public static final int LESS_JS_STRING=70; + public static final int LESS_OR_EQ=71; + public static final int LESS_REST=72; + public static final int LINE_COMMENT=73; + public static final int LPAREN=74; + public static final int M=75; + public static final int MEDIA_SYM=76; + public static final int MINUS=77; + public static final int MOZ_DOCUMENT_SYM=78; + public static final int MOZ_DOMAIN=79; + public static final int MOZ_REGEXP=80; + public static final int MOZ_URL_PREFIX=81; + public static final int N=82; + public static final int NAME=83; + public static final int NAMESPACE_SYM=84; + public static final int NL=85; + public static final int NMCHAR=86; + public static final int NMSTART=87; + public static final int NONASCII=88; + public static final int NOT=89; + public static final int NUMBER=90; + public static final int O=91; + public static final int OPEQ=92; + public static final int P=93; + public static final int PAGE_SYM=94; + public static final int PERCENTAGE=95; + public static final int PERCENTAGE_SYMBOL=96; + public static final int PIPE=97; + public static final int PLUS=98; + public static final int Q=99; + public static final int R=100; + public static final int RBRACE=101; + public static final int RBRACKET=102; + public static final int REM=103; + public static final int RESOLUTION=104; + public static final int RIGHTBOTTOM_SYM=105; + public static final int RIGHTMIDDLE_SYM=106; + public static final int RIGHTTOP_SYM=107; + public static final int RPAREN=108; + public static final int S=109; + public static final int SASS_AT_ROOT=110; + public static final int SASS_CONTENT=111; + public static final int SASS_DEBUG=112; + public static final int SASS_DEFAULT=113; + public static final int SASS_EACH=114; + public static final int SASS_ELSE=115; + public static final int SASS_ELSEIF=116; + public static final int SASS_ERROR=117; + public static final int SASS_EXTEND=118; + public static final int SASS_EXTEND_ONLY_SELECTOR=119; + public static final int SASS_FOR=120; + public static final int SASS_FORWARD=121; + public static final int SASS_FUNCTION=122; + public static final int SASS_GLOBAL=123; + public static final int SASS_IF=124; + public static final int SASS_INCLUDE=125; + public static final int SASS_MIXIN=126; + public static final int SASS_OPTIONAL=127; + public static final int SASS_RETURN=128; + public static final int SASS_USE=129; + public static final int SASS_VAR=130; + public static final int SASS_WARN=131; + public static final int SASS_WHILE=132; + public static final int SEMI=133; + public static final int SOLIDUS=134; + public static final int STAR=135; + public static final int STRING=136; + public static final int SUPPORTS_SYM=137; + public static final int T=138; + public static final int TILDE=139; + public static final int TIME=140; + public static final int TOPCENTER_SYM=141; + public static final int TOPLEFTCORNER_SYM=142; + public static final int TOPLEFT_SYM=143; + public static final int TOPRIGHTCORNER_SYM=144; + public static final int TOPRIGHT_SYM=145; + public static final int U=146; + public static final int UNICODE=147; + public static final int URANGE=148; + public static final int URI=149; + public static final int URL=150; + public static final int V=151; + public static final int VARIABLE=152; + public static final int W=153; + public static final int WEBKIT_KEYFRAMES_SYM=154; + public static final int WS=155; + public static final int X=156; + public static final int Y=157; + public static final int Z=158; protected boolean isLessSource() { return false; @@ -7038,13 +7039,34 @@ public final void mCONTAINER_SYM() throws RecognitionException { } // $ANTLR end "CONTAINER_SYM" + // $ANTLR start "KEYFRAMES_SYM" + public final void mKEYFRAMES_SYM() throws RecognitionException { + try { + int _type = KEYFRAMES_SYM; + int _channel = DEFAULT_TOKEN_CHANNEL; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2006:21: ( '@KEYFRAMES' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2006:23: '@KEYFRAMES' + { + match("@KEYFRAMES"); if (state.failed) return; + + } + + state.type = _type; + state.channel = _channel; + } + finally { + // do for sure before leaving + } + } + // $ANTLR end "KEYFRAMES_SYM" + // $ANTLR start "TOPLEFTCORNER_SYM" public final void mTOPLEFTCORNER_SYM() throws RecognitionException { try { int _type = TOPLEFTCORNER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2007:23: ( '@TOP-LEFT-CORNER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2007:24: '@TOP-LEFT-CORNER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2008:23: ( '@TOP-LEFT-CORNER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2008:24: '@TOP-LEFT-CORNER' { match("@TOP-LEFT-CORNER"); if (state.failed) return; @@ -7064,8 +7086,8 @@ public final void mTOPLEFT_SYM() throws RecognitionException { try { int _type = TOPLEFT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2008:23: ( '@TOP-LEFT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2008:24: '@TOP-LEFT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2009:23: ( '@TOP-LEFT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2009:24: '@TOP-LEFT' { match("@TOP-LEFT"); if (state.failed) return; @@ -7085,8 +7107,8 @@ public final void mTOPCENTER_SYM() throws RecognitionException { try { int _type = TOPCENTER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2009:23: ( '@TOP-CENTER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2009:24: '@TOP-CENTER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2010:23: ( '@TOP-CENTER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2010:24: '@TOP-CENTER' { match("@TOP-CENTER"); if (state.failed) return; @@ -7106,8 +7128,8 @@ public final void mTOPRIGHT_SYM() throws RecognitionException { try { int _type = TOPRIGHT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2010:23: ( '@TOP-RIGHT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2010:24: '@TOP-RIGHT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2011:23: ( '@TOP-RIGHT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2011:24: '@TOP-RIGHT' { match("@TOP-RIGHT"); if (state.failed) return; @@ -7127,8 +7149,8 @@ public final void mTOPRIGHTCORNER_SYM() throws RecognitionException { try { int _type = TOPRIGHTCORNER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2011:23: ( '@TOP-RIGHT-CORNER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2011:24: '@TOP-RIGHT-CORNER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2012:23: ( '@TOP-RIGHT-CORNER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2012:24: '@TOP-RIGHT-CORNER' { match("@TOP-RIGHT-CORNER"); if (state.failed) return; @@ -7148,8 +7170,8 @@ public final void mBOTTOMLEFTCORNER_SYM() throws RecognitionException { try { int _type = BOTTOMLEFTCORNER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2012:23: ( '@BOTTOM-LEFT-CORNER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2012:24: '@BOTTOM-LEFT-CORNER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2013:23: ( '@BOTTOM-LEFT-CORNER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2013:24: '@BOTTOM-LEFT-CORNER' { match("@BOTTOM-LEFT-CORNER"); if (state.failed) return; @@ -7169,8 +7191,8 @@ public final void mBOTTOMLEFT_SYM() throws RecognitionException { try { int _type = BOTTOMLEFT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2013:23: ( '@BOTTOM-LEFT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2013:24: '@BOTTOM-LEFT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2014:23: ( '@BOTTOM-LEFT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2014:24: '@BOTTOM-LEFT' { match("@BOTTOM-LEFT"); if (state.failed) return; @@ -7190,8 +7212,8 @@ public final void mBOTTOMCENTER_SYM() throws RecognitionException { try { int _type = BOTTOMCENTER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2014:23: ( '@BOTTOM-CENTER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2014:24: '@BOTTOM-CENTER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2015:23: ( '@BOTTOM-CENTER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2015:24: '@BOTTOM-CENTER' { match("@BOTTOM-CENTER"); if (state.failed) return; @@ -7211,8 +7233,8 @@ public final void mBOTTOMRIGHT_SYM() throws RecognitionException { try { int _type = BOTTOMRIGHT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2015:23: ( '@BOTTOM-RIGHT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2015:24: '@BOTTOM-RIGHT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2016:23: ( '@BOTTOM-RIGHT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2016:24: '@BOTTOM-RIGHT' { match("@BOTTOM-RIGHT"); if (state.failed) return; @@ -7232,8 +7254,8 @@ public final void mBOTTOMRIGHTCORNER_SYM() throws RecognitionException { try { int _type = BOTTOMRIGHTCORNER_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2016:23: ( '@BOTTOM-RIGHT-CORNER' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2016:24: '@BOTTOM-RIGHT-CORNER' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2017:23: ( '@BOTTOM-RIGHT-CORNER' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2017:24: '@BOTTOM-RIGHT-CORNER' { match("@BOTTOM-RIGHT-CORNER"); if (state.failed) return; @@ -7253,8 +7275,8 @@ public final void mLEFTTOP_SYM() throws RecognitionException { try { int _type = LEFTTOP_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2017:23: ( '@LEFT-TOP' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2017:24: '@LEFT-TOP' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2018:23: ( '@LEFT-TOP' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2018:24: '@LEFT-TOP' { match("@LEFT-TOP"); if (state.failed) return; @@ -7274,8 +7296,8 @@ public final void mLEFTMIDDLE_SYM() throws RecognitionException { try { int _type = LEFTMIDDLE_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2018:23: ( '@LEFT-MIDDLE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2018:24: '@LEFT-MIDDLE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2019:23: ( '@LEFT-MIDDLE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2019:24: '@LEFT-MIDDLE' { match("@LEFT-MIDDLE"); if (state.failed) return; @@ -7295,8 +7317,8 @@ public final void mLEFTBOTTOM_SYM() throws RecognitionException { try { int _type = LEFTBOTTOM_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2019:23: ( '@LEFT-BOTTOM' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2019:24: '@LEFT-BOTTOM' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2020:23: ( '@LEFT-BOTTOM' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2020:24: '@LEFT-BOTTOM' { match("@LEFT-BOTTOM"); if (state.failed) return; @@ -7316,8 +7338,8 @@ public final void mRIGHTTOP_SYM() throws RecognitionException { try { int _type = RIGHTTOP_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2020:23: ( '@RIGHT-TOP' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2020:24: '@RIGHT-TOP' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2021:23: ( '@RIGHT-TOP' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2021:24: '@RIGHT-TOP' { match("@RIGHT-TOP"); if (state.failed) return; @@ -7337,8 +7359,8 @@ public final void mRIGHTMIDDLE_SYM() throws RecognitionException { try { int _type = RIGHTMIDDLE_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2021:23: ( '@RIGHT-MIDDLE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2021:24: '@RIGHT-MIDDLE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2022:23: ( '@RIGHT-MIDDLE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2022:24: '@RIGHT-MIDDLE' { match("@RIGHT-MIDDLE"); if (state.failed) return; @@ -7358,8 +7380,8 @@ public final void mRIGHTBOTTOM_SYM() throws RecognitionException { try { int _type = RIGHTBOTTOM_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2022:23: ( '@RIGHT-BOTTOM' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2022:24: '@RIGHT-BOTTOM' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2023:23: ( '@RIGHT-BOTTOM' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2023:24: '@RIGHT-BOTTOM' { match("@RIGHT-BOTTOM"); if (state.failed) return; @@ -7379,8 +7401,8 @@ public final void mMOZ_DOCUMENT_SYM() throws RecognitionException { try { int _type = MOZ_DOCUMENT_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2024:23: ( '@-MOZ-DOCUMENT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2024:25: '@-MOZ-DOCUMENT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2025:23: ( '@-MOZ-DOCUMENT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2025:25: '@-MOZ-DOCUMENT' { match("@-MOZ-DOCUMENT"); if (state.failed) return; @@ -7400,8 +7422,8 @@ public final void mWEBKIT_KEYFRAMES_SYM() throws RecognitionException { try { int _type = WEBKIT_KEYFRAMES_SYM; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2025:23: ( '@-WEBKIT-KEYFRAMES' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2025:25: '@-WEBKIT-KEYFRAMES' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2026:23: ( '@-WEBKIT-KEYFRAMES' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2026:25: '@-WEBKIT-KEYFRAMES' { match("@-WEBKIT-KEYFRAMES"); if (state.failed) return; @@ -7421,8 +7443,8 @@ public final void mSASS_CONTENT() throws RecognitionException { try { int _type = SASS_CONTENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2028:21: ( '@CONTENT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2028:23: '@CONTENT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2029:21: ( '@CONTENT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2029:23: '@CONTENT' { match("@CONTENT"); if (state.failed) return; @@ -7442,8 +7464,8 @@ public final void mSASS_MIXIN() throws RecognitionException { try { int _type = SASS_MIXIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2029:21: ( '@MIXIN' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2029:23: '@MIXIN' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2030:21: ( '@MIXIN' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2030:23: '@MIXIN' { match("@MIXIN"); if (state.failed) return; @@ -7463,8 +7485,8 @@ public final void mSASS_INCLUDE() throws RecognitionException { try { int _type = SASS_INCLUDE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2030:21: ( '@INCLUDE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2030:23: '@INCLUDE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2031:21: ( '@INCLUDE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2031:23: '@INCLUDE' { match("@INCLUDE"); if (state.failed) return; @@ -7484,8 +7506,8 @@ public final void mSASS_EXTEND() throws RecognitionException { try { int _type = SASS_EXTEND; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2031:21: ( '@EXTEND' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2031:23: '@EXTEND' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2032:21: ( '@EXTEND' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2032:23: '@EXTEND' { match("@EXTEND"); if (state.failed) return; @@ -7505,8 +7527,8 @@ public final void mSASS_DEBUG() throws RecognitionException { try { int _type = SASS_DEBUG; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2032:21: ( '@DEBUG' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2032:23: '@DEBUG' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2033:21: ( '@DEBUG' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2033:23: '@DEBUG' { match("@DEBUG"); if (state.failed) return; @@ -7526,8 +7548,8 @@ public final void mSASS_ERROR() throws RecognitionException { try { int _type = SASS_ERROR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2033:21: ( '@ERROR' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2033:23: '@ERROR' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2034:21: ( '@ERROR' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2034:23: '@ERROR' { match("@ERROR"); if (state.failed) return; @@ -7547,8 +7569,8 @@ public final void mSASS_WARN() throws RecognitionException { try { int _type = SASS_WARN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2034:21: ( '@WARN' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2034:23: '@WARN' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2035:21: ( '@WARN' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2035:23: '@WARN' { match("@WARN"); if (state.failed) return; @@ -7568,8 +7590,8 @@ public final void mSASS_IF() throws RecognitionException { try { int _type = SASS_IF; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2035:21: ( '@IF' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2035:23: '@IF' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2036:21: ( '@IF' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2036:23: '@IF' { match("@IF"); if (state.failed) return; @@ -7589,8 +7611,8 @@ public final void mSASS_ELSE() throws RecognitionException { try { int _type = SASS_ELSE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2036:21: ( '@ELSE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2036:23: '@ELSE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2037:21: ( '@ELSE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2037:23: '@ELSE' { match("@ELSE"); if (state.failed) return; @@ -7610,8 +7632,8 @@ public final void mSASS_ELSEIF() throws RecognitionException { try { int _type = SASS_ELSEIF; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2037:21: ( '@ELSEIF' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2037:23: '@ELSEIF' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2038:21: ( '@ELSEIF' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2038:23: '@ELSEIF' { match("@ELSEIF"); if (state.failed) return; @@ -7631,8 +7653,8 @@ public final void mSASS_FOR() throws RecognitionException { try { int _type = SASS_FOR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2038:21: ( '@FOR' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2038:23: '@FOR' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2039:21: ( '@FOR' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2039:23: '@FOR' { match("@FOR"); if (state.failed) return; @@ -7652,8 +7674,8 @@ public final void mSASS_FUNCTION() throws RecognitionException { try { int _type = SASS_FUNCTION; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2039:21: ( '@FUNCTION' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2039:23: '@FUNCTION' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2040:21: ( '@FUNCTION' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2040:23: '@FUNCTION' { match("@FUNCTION"); if (state.failed) return; @@ -7673,8 +7695,8 @@ public final void mSASS_RETURN() throws RecognitionException { try { int _type = SASS_RETURN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2040:21: ( '@RETURN' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2040:23: '@RETURN' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2041:21: ( '@RETURN' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2041:23: '@RETURN' { match("@RETURN"); if (state.failed) return; @@ -7694,8 +7716,8 @@ public final void mSASS_USE() throws RecognitionException { try { int _type = SASS_USE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2041:21: ( '@USE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2041:23: '@USE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2042:21: ( '@USE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2042:23: '@USE' { match("@USE"); if (state.failed) return; @@ -7715,8 +7737,8 @@ public final void mSASS_FORWARD() throws RecognitionException { try { int _type = SASS_FORWARD; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2042:21: ( '@FORWARD' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2042:23: '@FORWARD' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2043:21: ( '@FORWARD' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2043:23: '@FORWARD' { match("@FORWARD"); if (state.failed) return; @@ -7736,8 +7758,8 @@ public final void mSASS_EACH() throws RecognitionException { try { int _type = SASS_EACH; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:21: ( '@EACH' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2044:23: '@EACH' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2045:21: ( '@EACH' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2045:23: '@EACH' { match("@EACH"); if (state.failed) return; @@ -7757,8 +7779,8 @@ public final void mSASS_WHILE() throws RecognitionException { try { int _type = SASS_WHILE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2045:21: ( '@WHILE' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2045:23: '@WHILE' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:21: ( '@WHILE' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:23: '@WHILE' { match("@WHILE"); if (state.failed) return; @@ -7778,8 +7800,8 @@ public final void mSASS_AT_ROOT() throws RecognitionException { try { int _type = SASS_AT_ROOT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:21: ( '@AT-ROOT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2046:23: '@AT-ROOT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2047:21: ( '@AT-ROOT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2047:23: '@AT-ROOT' { match("@AT-ROOT"); if (state.failed) return; @@ -7799,8 +7821,8 @@ public final void mAT_SIGN() throws RecognitionException { try { int _type = AT_SIGN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2048:21: ( '@' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2048:23: '@' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:21: ( '@' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:23: '@' { match('@'); if (state.failed) return; } @@ -7819,10 +7841,10 @@ public final void mAT_IDENT() throws RecognitionException { try { int _type = AT_IDENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:14: ( ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:14: ( ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) ( NMCHAR )+ { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:16: ( AT_SIGN | ( AT_SIGN AT_SIGN ) ) int alt178=2; int LA178_0 = input.LA(1); if ( (LA178_0=='@') ) { @@ -7858,17 +7880,17 @@ else if ( (LA178_1=='@') ) { switch (alt178) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:17: AT_SIGN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:17: AT_SIGN { mAT_SIGN(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:27: ( AT_SIGN AT_SIGN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:27: ( AT_SIGN AT_SIGN ) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:27: ( AT_SIGN AT_SIGN ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:28: AT_SIGN AT_SIGN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:27: ( AT_SIGN AT_SIGN ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:28: AT_SIGN AT_SIGN { mAT_SIGN(); if (state.failed) return; @@ -7881,7 +7903,7 @@ else if ( (LA178_1=='@') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:46: ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:46: ( NMCHAR )+ int cnt179=0; loop179: while (true) { @@ -7893,7 +7915,7 @@ else if ( (LA178_1=='@') ) { switch (alt179) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2049:46: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2050:46: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -7925,11 +7947,11 @@ public final void mSASS_VAR() throws RecognitionException { try { int _type = SASS_VAR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2051:21: ( '$' ( NMCHAR )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2051:23: '$' ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:21: ( '$' ( NMCHAR )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:23: '$' ( NMCHAR )+ { match('$'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2051:27: ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:27: ( NMCHAR )+ int cnt180=0; loop180: while (true) { @@ -7941,7 +7963,7 @@ public final void mSASS_VAR() throws RecognitionException { switch (alt180) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2051:27: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:27: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -7973,8 +7995,8 @@ public final void mSASS_DEFAULT() throws RecognitionException { try { int _type = SASS_DEFAULT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:21: ( '!DEFAULT' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2052:23: '!DEFAULT' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2053:21: ( '!DEFAULT' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2053:23: '!DEFAULT' { match("!DEFAULT"); if (state.failed) return; @@ -7994,8 +8016,8 @@ public final void mSASS_OPTIONAL() throws RecognitionException { try { int _type = SASS_OPTIONAL; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2053:21: ( '!OPTIONAL' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2053:23: '!OPTIONAL' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2054:21: ( '!OPTIONAL' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2054:23: '!OPTIONAL' { match("!OPTIONAL"); if (state.failed) return; @@ -8015,8 +8037,8 @@ public final void mSASS_GLOBAL() throws RecognitionException { try { int _type = SASS_GLOBAL; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2054:21: ( '!GLOBAL' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2054:23: '!GLOBAL' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2055:21: ( '!GLOBAL' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2055:23: '!GLOBAL' { match("!GLOBAL"); if (state.failed) return; @@ -8036,12 +8058,12 @@ public final void mSASS_EXTEND_ONLY_SELECTOR() throws RecognitionException { try { int _type = SASS_EXTEND_ONLY_SELECTOR; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2057:21: ( PERCENTAGE_SYMBOL ( NMCHAR )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2057:23: PERCENTAGE_SYMBOL ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2058:21: ( PERCENTAGE_SYMBOL ( NMCHAR )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2058:23: PERCENTAGE_SYMBOL ( NMCHAR )+ { mPERCENTAGE_SYMBOL(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2057:41: ( NMCHAR )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2058:41: ( NMCHAR )+ int cnt181=0; loop181: while (true) { @@ -8053,7 +8075,7 @@ public final void mSASS_EXTEND_ONLY_SELECTOR() throws RecognitionException { switch (alt181) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2057:41: NMCHAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2058:41: NMCHAR { mNMCHAR(); if (state.failed) return; @@ -8083,8 +8105,8 @@ public final void mSASS_EXTEND_ONLY_SELECTOR() throws RecognitionException { // $ANTLR start "EMS" public final void mEMS() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2069:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2069:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2070:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2070:26: { } @@ -8098,8 +8120,8 @@ public final void mEMS() throws RecognitionException { // $ANTLR start "EXS" public final void mEXS() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2070:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2070:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2071:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2071:26: { } @@ -8113,8 +8135,8 @@ public final void mEXS() throws RecognitionException { // $ANTLR start "LENGTH" public final void mLENGTH() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2071:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2071:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2072:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2072:26: { } @@ -8128,8 +8150,8 @@ public final void mLENGTH() throws RecognitionException { // $ANTLR start "REM" public final void mREM() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2072:18: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2072:19: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2073:18: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2073:19: { } @@ -8143,8 +8165,8 @@ public final void mREM() throws RecognitionException { // $ANTLR start "ANGLE" public final void mANGLE() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2073:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2073:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2074:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2074:26: { } @@ -8158,8 +8180,8 @@ public final void mANGLE() throws RecognitionException { // $ANTLR start "TIME" public final void mTIME() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2074:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2074:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2075:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2075:26: { } @@ -8173,8 +8195,8 @@ public final void mTIME() throws RecognitionException { // $ANTLR start "FREQ" public final void mFREQ() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2075:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2075:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:26: { } @@ -8188,8 +8210,8 @@ public final void mFREQ() throws RecognitionException { // $ANTLR start "DIMENSION" public final void mDIMENSION() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2076:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:26: { } @@ -8203,8 +8225,8 @@ public final void mDIMENSION() throws RecognitionException { // $ANTLR start "PERCENTAGE" public final void mPERCENTAGE() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2077:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2078:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2078:26: { } @@ -8218,8 +8240,8 @@ public final void mPERCENTAGE() throws RecognitionException { // $ANTLR start "RESOLUTION" public final void mRESOLUTION() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2078:25: () - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2078:26: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2079:25: () + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2079:26: { } @@ -8235,10 +8257,10 @@ public final void mNUMBER() throws RecognitionException { try { int _type = NUMBER; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:5: ( ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:5: ( ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2081:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:9: ( ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? | '.' ( '0' .. '9' )+ ) int alt186=2; int LA186_0 = input.LA(1); if ( ((LA186_0 >= '0' && LA186_0 <= '9')) ) { @@ -8257,9 +8279,9 @@ else if ( (LA186_0=='.') ) { switch (alt186) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:15: ( '0' .. '9' )+ ( '.' ( '0' .. '9' )+ )? { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:15: ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:15: ( '0' .. '9' )+ int cnt182=0; loop182: while (true) { @@ -8295,7 +8317,7 @@ else if ( (LA186_0=='.') ) { cnt182++; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:25: ( '.' ( '0' .. '9' )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:25: ( '.' ( '0' .. '9' )+ )? int alt184=2; int LA184_0 = input.LA(1); if ( (LA184_0=='.') ) { @@ -8303,10 +8325,10 @@ else if ( (LA186_0=='.') ) { } switch (alt184) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:26: '.' ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:26: '.' ( '0' .. '9' )+ { match('.'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2082:30: ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:30: ( '0' .. '9' )+ int cnt183=0; loop183: while (true) { @@ -8350,10 +8372,10 @@ else if ( (LA186_0=='.') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:15: '.' ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2084:15: '.' ( '0' .. '9' )+ { match('.'); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2083:19: ( '0' .. '9' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2084:19: ( '0' .. '9' )+ int cnt185=0; loop185: while (true) { @@ -8394,18 +8416,18 @@ else if ( (LA186_0=='.') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2085:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |) int alt193=13; alt193 = dfa193.predict(input); switch (alt193) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:15: ( D P ( I | C ) )=> D P ( I | C M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2087:15: ( D P ( I | C ) )=> D P ( I | C M ) { mD(); if (state.failed) return; mP(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2088:17: ( I | C M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2089:17: ( I | C M ) int alt187=2; switch ( input.LA(1) ) { case 'I': @@ -8657,14 +8679,14 @@ else if ( (LA187_5=='3') ) { } switch (alt187) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2089:22: I + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2090:22: I { mI(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2089:26: C M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2090:26: C M { mC(); if (state.failed) return; @@ -8679,11 +8701,11 @@ else if ( (LA187_5=='3') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:15: ( E ( M | X ) )=> E ( M | X ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:15: ( E ( M | X ) )=> E ( M | X ) { mE(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2095:17: ( M | X ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2096:17: ( M | X ) int alt188=2; switch ( input.LA(1) ) { case 'M': @@ -8859,7 +8881,7 @@ else if ( (LA188_7=='5'||LA188_7=='7') ) { } switch (alt188) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2096:23: M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2097:23: M { mM(); if (state.failed) return; @@ -8867,7 +8889,7 @@ else if ( (LA188_7=='5'||LA188_7=='7') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2097:23: X + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2098:23: X { mX(); if (state.failed) return; @@ -8880,11 +8902,11 @@ else if ( (LA188_7=='5'||LA188_7=='7') ) { } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:15: ( P ( X | T | C ) )=> P ( X | T | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2100:15: ( P ( X | T | C ) )=> P ( X | T | C ) { mP(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2101:17: ( X | T | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2102:17: ( X | T | C ) int alt189=3; switch ( input.LA(1) ) { case 'X': @@ -9184,21 +9206,21 @@ else if ( (LA189_6=='4') ) { } switch (alt189) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2102:23: X + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2103:23: X { mX(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2103:23: T + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:23: T { mT(); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2104:23: C + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2105:23: C { mC(); if (state.failed) return; @@ -9211,7 +9233,7 @@ else if ( (LA189_6=='4') ) { } break; case 4 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2107:15: ( C M )=> C M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2108:15: ( C M )=> C M { mC(); if (state.failed) return; @@ -9221,11 +9243,11 @@ else if ( (LA189_6=='4') ) { } break; case 5 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:15: ( M ( M | S ) )=> M ( M | S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2110:15: ( M ( M | S ) )=> M ( M | S ) { mM(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2111:17: ( M | S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2112:17: ( M | S ) int alt190=2; switch ( input.LA(1) ) { case 'M': @@ -9401,7 +9423,7 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } switch (alt190) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2112:23: M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2113:23: M { mM(); if (state.failed) return; @@ -9409,7 +9431,7 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2114:23: S + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2115:23: S { mS(); if (state.failed) return; @@ -9422,7 +9444,7 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } break; case 6 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2116:15: ( I N )=> I N + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2117:15: ( I N )=> I N { mI(); if (state.failed) return; @@ -9432,7 +9454,7 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } break; case 7 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:15: ( D E G )=> D E G + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2120:15: ( D E G )=> D E G { mD(); if (state.failed) return; @@ -9444,11 +9466,11 @@ else if ( (LA190_7=='5'||LA190_7=='7') ) { } break; case 8 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:15: ( R ( A | E ) )=> R ( A D | E M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2125:15: ( R ( A | E ) )=> R ( A D | E M ) { mR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2126:17: ( A D | E M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2127:17: ( A D | E M ) int alt191=2; switch ( input.LA(1) ) { case 'A': @@ -9691,7 +9713,7 @@ else if ( (LA191_5=='5') ) { } switch (alt191) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2127:20: A D + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2128:20: A D { mA(); if (state.failed) return; @@ -9701,7 +9723,7 @@ else if ( (LA191_5=='5') ) { } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2128:20: E M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2129:20: E M { mE(); if (state.failed) return; @@ -9716,7 +9738,7 @@ else if ( (LA191_5=='5') ) { } break; case 9 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2131:15: ( S )=> S + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2132:15: ( S )=> S { mS(); if (state.failed) return; @@ -9724,9 +9746,9 @@ else if ( (LA191_5=='5') ) { } break; case 10 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:15: ( ( K )? H Z )=> ( K )? H Z + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:15: ( ( K )? H Z )=> ( K )? H Z { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:17: ( K )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2135:17: ( K )? int alt192=2; int LA192_0 = input.LA(1); if ( (LA192_0=='K'||LA192_0=='k') ) { @@ -9791,7 +9813,7 @@ else if ( (LA192_4=='4'||LA192_4=='6') ) { } switch (alt192) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:17: K + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2135:17: K { mK(); if (state.failed) return; @@ -9808,7 +9830,7 @@ else if ( (LA192_4=='4'||LA192_4=='6') ) { } break; case 11 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2136:15: IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2137:15: IDENT { mIDENT(); if (state.failed) return; @@ -9816,7 +9838,7 @@ else if ( (LA192_4=='4'||LA192_4=='6') ) { } break; case 12 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2138:15: PERCENTAGE_SYMBOL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2139:15: PERCENTAGE_SYMBOL { mPERCENTAGE_SYMBOL(); if (state.failed) return; @@ -9824,7 +9846,7 @@ else if ( (LA192_4=='4'||LA192_4=='6') ) { } break; case 13 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2141:9: + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2142:9: { } break; @@ -9847,8 +9869,8 @@ public final void mURI() throws RecognitionException { try { int _type = URI; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2147:5: ( U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2147:9: U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2148:5: ( U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2148:9: U R L '(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' { mU(); if (state.failed) return; @@ -9857,7 +9879,7 @@ public final void mURI() throws RecognitionException { mL(); if (state.failed) return; match('('); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:13: ( ( WS )=> WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:13: ( ( WS )=> WS )? int alt194=2; int LA194_0 = input.LA(1); if ( (LA194_0=='\t'||LA194_0==' ') ) { @@ -9868,7 +9890,7 @@ public final void mURI() throws RecognitionException { } switch (alt194) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:14: ( WS )=> WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:14: ( WS )=> WS { mWS(); if (state.failed) return; @@ -9877,7 +9899,7 @@ public final void mURI() throws RecognitionException { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:25: ( URL | STRING ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:25: ( URL | STRING ) int alt195=2; int LA195_0 = input.LA(1); if ( (LA195_0=='\t'||(LA195_0 >= ' ' && LA195_0 <= '!')||(LA195_0 >= '#' && LA195_0 <= '&')||(LA195_0 >= ')' && LA195_0 <= ';')||LA195_0=='='||(LA195_0 >= '?' && LA195_0 <= '\\')||LA195_0=='_'||(LA195_0 >= 'a' && LA195_0 <= '~')||(LA195_0 >= '\u0080' && LA195_0 <= '\uFFFF')) ) { @@ -9896,14 +9918,14 @@ else if ( (LA195_0=='\"'||LA195_0=='\'') ) { switch (alt195) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:26: URL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:26: URL { mURL(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:30: STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:30: STRING { mSTRING(); if (state.failed) return; @@ -9912,7 +9934,7 @@ else if ( (LA195_0=='\"'||LA195_0=='\'') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:38: ( WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:38: ( WS )? int alt196=2; int LA196_0 = input.LA(1); if ( (LA196_0=='\t'||LA196_0==' ') ) { @@ -9920,7 +9942,7 @@ else if ( (LA195_0=='\"'||LA195_0=='\'') ) { } switch (alt196) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:38: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:38: WS { mWS(); if (state.failed) return; @@ -9944,7 +9966,7 @@ else if ( (LA195_0=='\"'||LA195_0=='\'') ) { // $ANTLR start "HEXCHAR_WILDCARD" public final void mHEXCHAR_WILDCARD() throws RecognitionException { try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2153:26: ( '?' | HEXCHAR ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2154:26: ( '?' | HEXCHAR ) // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g: { if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||input.LA(1)=='?'||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) { @@ -9971,8 +9993,8 @@ public final void mURANGE() throws RecognitionException { try { int _type = URANGE; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:7: ( ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:9: ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2156:7: ( ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2156:9: ( 'u' | 'U' ) PLUS ( HEXCHAR_WILDCARD )+ ( MINUS ( HEXCHAR_WILDCARD )+ )? { if ( input.LA(1)=='U'||input.LA(1)=='u' ) { input.consume(); @@ -9986,7 +10008,7 @@ public final void mURANGE() throws RecognitionException { } mPLUS(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:24: ( HEXCHAR_WILDCARD )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2156:24: ( HEXCHAR_WILDCARD )+ int cnt197=0; loop197: while (true) { @@ -10022,7 +10044,7 @@ public final void mURANGE() throws RecognitionException { cnt197++; } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:42: ( MINUS ( HEXCHAR_WILDCARD )+ )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2156:42: ( MINUS ( HEXCHAR_WILDCARD )+ )? int alt199=2; int LA199_0 = input.LA(1); if ( (LA199_0=='-') ) { @@ -10030,11 +10052,11 @@ public final void mURANGE() throws RecognitionException { } switch (alt199) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:43: MINUS ( HEXCHAR_WILDCARD )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2156:43: MINUS ( HEXCHAR_WILDCARD )+ { mMINUS(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2155:49: ( HEXCHAR_WILDCARD )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2156:49: ( HEXCHAR_WILDCARD )+ int cnt198=0; loop198: while (true) { @@ -10091,12 +10113,12 @@ public final void mMOZ_URL_PREFIX() throws RecognitionException { try { int _type = MOZ_URL_PREFIX; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2158:2: ( 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2159:2: 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2159:2: ( 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:2: 'URL-PREFIX(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' { match("URL-PREFIX("); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:13: ( ( WS )=> WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:13: ( ( WS )=> WS )? int alt200=2; int LA200_0 = input.LA(1); if ( (LA200_0=='\t'||LA200_0==' ') ) { @@ -10107,7 +10129,7 @@ public final void mMOZ_URL_PREFIX() throws RecognitionException { } switch (alt200) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:14: ( WS )=> WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:14: ( WS )=> WS { mWS(); if (state.failed) return; @@ -10116,7 +10138,7 @@ public final void mMOZ_URL_PREFIX() throws RecognitionException { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:25: ( URL | STRING ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:25: ( URL | STRING ) int alt201=2; int LA201_0 = input.LA(1); if ( (LA201_0=='\t'||(LA201_0 >= ' ' && LA201_0 <= '!')||(LA201_0 >= '#' && LA201_0 <= '&')||(LA201_0 >= ')' && LA201_0 <= ';')||LA201_0=='='||(LA201_0 >= '?' && LA201_0 <= '\\')||LA201_0=='_'||(LA201_0 >= 'a' && LA201_0 <= '~')||(LA201_0 >= '\u0080' && LA201_0 <= '\uFFFF')) ) { @@ -10135,14 +10157,14 @@ else if ( (LA201_0=='\"'||LA201_0=='\'') ) { switch (alt201) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:26: URL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:26: URL { mURL(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:30: STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:30: STRING { mSTRING(); if (state.failed) return; @@ -10151,7 +10173,7 @@ else if ( (LA201_0=='\"'||LA201_0=='\'') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:38: ( WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:38: ( WS )? int alt202=2; int LA202_0 = input.LA(1); if ( (LA202_0=='\t'||LA202_0==' ') ) { @@ -10159,7 +10181,7 @@ else if ( (LA201_0=='\"'||LA201_0=='\'') ) { } switch (alt202) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:38: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:38: WS { mWS(); if (state.failed) return; @@ -10185,12 +10207,12 @@ public final void mMOZ_DOMAIN() throws RecognitionException { try { int _type = MOZ_DOMAIN; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2166:2: ( 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2167:2: 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2167:2: ( 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:2: 'DOMAIN(' ( ( WS )=> WS )? ( URL | STRING ) ( WS )? ')' { match("DOMAIN("); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:13: ( ( WS )=> WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:13: ( ( WS )=> WS )? int alt203=2; int LA203_0 = input.LA(1); if ( (LA203_0=='\t'||LA203_0==' ') ) { @@ -10201,7 +10223,7 @@ public final void mMOZ_DOMAIN() throws RecognitionException { } switch (alt203) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:14: ( WS )=> WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:14: ( WS )=> WS { mWS(); if (state.failed) return; @@ -10210,7 +10232,7 @@ public final void mMOZ_DOMAIN() throws RecognitionException { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:25: ( URL | STRING ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:25: ( URL | STRING ) int alt204=2; int LA204_0 = input.LA(1); if ( (LA204_0=='\t'||(LA204_0 >= ' ' && LA204_0 <= '!')||(LA204_0 >= '#' && LA204_0 <= '&')||(LA204_0 >= ')' && LA204_0 <= ';')||LA204_0=='='||(LA204_0 >= '?' && LA204_0 <= '\\')||LA204_0=='_'||(LA204_0 >= 'a' && LA204_0 <= '~')||(LA204_0 >= '\u0080' && LA204_0 <= '\uFFFF')) ) { @@ -10229,14 +10251,14 @@ else if ( (LA204_0=='\"'||LA204_0=='\'') ) { switch (alt204) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:26: URL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:26: URL { mURL(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:30: STRING + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:30: STRING { mSTRING(); if (state.failed) return; @@ -10245,7 +10267,7 @@ else if ( (LA204_0=='\"'||LA204_0=='\'') ) { } - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:38: ( WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:38: ( WS )? int alt205=2; int LA205_0 = input.LA(1); if ( (LA205_0=='\t'||LA205_0==' ') ) { @@ -10253,7 +10275,7 @@ else if ( (LA204_0=='\"'||LA204_0=='\'') ) { } switch (alt205) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:38: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:38: WS { mWS(); if (state.failed) return; @@ -10279,12 +10301,12 @@ public final void mMOZ_REGEXP() throws RecognitionException { try { int _type = MOZ_REGEXP; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2174:2: ( 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2175:2: 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2175:2: ( 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:2: 'REGEXP(' ( ( WS )=> WS )? STRING ( WS )? ')' { match("REGEXP("); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:13: ( ( WS )=> WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2177:13: ( ( WS )=> WS )? int alt206=2; int LA206_0 = input.LA(1); if ( (LA206_0=='\t'||LA206_0==' ') && (synpred16_Css3())) { @@ -10292,7 +10314,7 @@ public final void mMOZ_REGEXP() throws RecognitionException { } switch (alt206) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:14: ( WS )=> WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2177:14: ( WS )=> WS { mWS(); if (state.failed) return; @@ -10303,7 +10325,7 @@ public final void mMOZ_REGEXP() throws RecognitionException { mSTRING(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:32: ( WS )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2177:32: ( WS )? int alt207=2; int LA207_0 = input.LA(1); if ( (LA207_0=='\t'||LA207_0==' ') ) { @@ -10311,7 +10333,7 @@ public final void mMOZ_REGEXP() throws RecognitionException { } switch (alt207) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:32: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2177:32: WS { mWS(); if (state.failed) return; @@ -10337,10 +10359,10 @@ public final void mWS() throws RecognitionException { try { int _type = WS; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2187:5: ( ( ' ' | '\\t' )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2188:5: ( ' ' | '\\t' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2188:5: ( ( ' ' | '\\t' )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2189:5: ( ' ' | '\\t' )+ { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2188:5: ( ' ' | '\\t' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2189:5: ( ' ' | '\\t' )+ int cnt208=0; loop208: while (true) { @@ -10392,10 +10414,10 @@ public final void mNL() throws RecognitionException { try { int _type = NL; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2192:5: ( ( '\\r' | '\\n' )+ ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2194:5: ( '\\r' | '\\n' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2193:5: ( ( '\\r' | '\\n' )+ ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2195:5: ( '\\r' | '\\n' )+ { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2194:5: ( '\\r' | '\\n' )+ + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2195:5: ( '\\r' | '\\n' )+ int cnt209=0; loop209: while (true) { @@ -10447,15 +10469,15 @@ public final void mCOMMENT() throws RecognitionException { try { int _type = COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2200:5: ( '/*' ( options {greedy=false; } : ( . )* ) '*/' ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:5: '/*' ( options {greedy=false; } : ( . )* ) '*/' + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:5: ( '/*' ( options {greedy=false; } : ( . )* ) '*/' ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2202:5: '/*' ( options {greedy=false; } : ( . )* ) '*/' { match("/*"); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:10: ( options {greedy=false; } : ( . )* ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:40: ( . )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2202:10: ( options {greedy=false; } : ( . )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2202:40: ( . )* { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:40: ( . )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2202:40: ( . )* loop210: while (true) { int alt210=2; @@ -10476,7 +10498,7 @@ else if ( ((LA210_0 >= '\u0000' && LA210_0 <= ')')||(LA210_0 >= '+' && LA210_0 < switch (alt210) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2201:40: . + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2202:40: . { matchAny(); if (state.failed) return; } @@ -10507,15 +10529,15 @@ public final void mLINE_COMMENT() throws RecognitionException { try { int _type = LINE_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2205:5: ( '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:5: '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:5: ( '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2207:5: '//' ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) { match("//"); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:9: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:39: (~ ( '\\r' | '\\n' ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2207:9: ( options {greedy=false; } : (~ ( '\\r' | '\\n' ) )* ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2207:39: (~ ( '\\r' | '\\n' ) )* { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2206:39: (~ ( '\\r' | '\\n' ) )* + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2207:39: (~ ( '\\r' | '\\n' ) )* loop211: while (true) { int alt211=2; @@ -10564,8 +10586,8 @@ public final void mLINE_COMMENT() throws RecognitionException { @Override public void mTokens() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:8: ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VARIABLE | IDENT | HASH_SYMBOL | HASH | IMPORTANT_SYM | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | SUPPORTS_SYM | LAYER_SYM | CONTAINER_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_ERROR | SASS_WARN | SASS_IF | SASS_ELSE | SASS_ELSEIF | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_USE | SASS_FORWARD | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | AT_SIGN | AT_IDENT | SASS_VAR | SASS_DEFAULT | SASS_OPTIONAL | SASS_GLOBAL | SASS_EXTEND_ONLY_SELECTOR | NUMBER | URI | URANGE | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP | WS | NL | COMMENT | LINE_COMMENT ) - int alt212=108; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:8: ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VARIABLE | IDENT | HASH_SYMBOL | HASH | IMPORTANT_SYM | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | SUPPORTS_SYM | LAYER_SYM | CONTAINER_SYM | KEYFRAMES_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_ERROR | SASS_WARN | SASS_IF | SASS_ELSE | SASS_ELSEIF | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_USE | SASS_FORWARD | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | AT_SIGN | AT_IDENT | SASS_VAR | SASS_DEFAULT | SASS_OPTIONAL | SASS_GLOBAL | SASS_EXTEND_ONLY_SELECTOR | NUMBER | URI | URANGE | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP | WS | NL | COMMENT | LINE_COMMENT ) + int alt212=109; alt212 = dfa212.predict(input); switch (alt212) { case 1 : @@ -10954,371 +10976,378 @@ public void mTokens() throws RecognitionException { } break; case 56 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:489: TOPLEFTCORNER_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:489: KEYFRAMES_SYM { - mTOPLEFTCORNER_SYM(); if (state.failed) return; + mKEYFRAMES_SYM(); if (state.failed) return; } break; case 57 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:507: TOPLEFT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:503: TOPLEFTCORNER_SYM { - mTOPLEFT_SYM(); if (state.failed) return; + mTOPLEFTCORNER_SYM(); if (state.failed) return; } break; case 58 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:519: TOPCENTER_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:521: TOPLEFT_SYM { - mTOPCENTER_SYM(); if (state.failed) return; + mTOPLEFT_SYM(); if (state.failed) return; } break; case 59 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:533: TOPRIGHT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:533: TOPCENTER_SYM { - mTOPRIGHT_SYM(); if (state.failed) return; + mTOPCENTER_SYM(); if (state.failed) return; } break; case 60 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:546: TOPRIGHTCORNER_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:547: TOPRIGHT_SYM { - mTOPRIGHTCORNER_SYM(); if (state.failed) return; + mTOPRIGHT_SYM(); if (state.failed) return; } break; case 61 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:565: BOTTOMLEFTCORNER_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:560: TOPRIGHTCORNER_SYM { - mBOTTOMLEFTCORNER_SYM(); if (state.failed) return; + mTOPRIGHTCORNER_SYM(); if (state.failed) return; } break; case 62 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:586: BOTTOMLEFT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:579: BOTTOMLEFTCORNER_SYM { - mBOTTOMLEFT_SYM(); if (state.failed) return; + mBOTTOMLEFTCORNER_SYM(); if (state.failed) return; } break; case 63 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:601: BOTTOMCENTER_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:600: BOTTOMLEFT_SYM { - mBOTTOMCENTER_SYM(); if (state.failed) return; + mBOTTOMLEFT_SYM(); if (state.failed) return; } break; case 64 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:618: BOTTOMRIGHT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:615: BOTTOMCENTER_SYM { - mBOTTOMRIGHT_SYM(); if (state.failed) return; + mBOTTOMCENTER_SYM(); if (state.failed) return; } break; case 65 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:634: BOTTOMRIGHTCORNER_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:632: BOTTOMRIGHT_SYM { - mBOTTOMRIGHTCORNER_SYM(); if (state.failed) return; + mBOTTOMRIGHT_SYM(); if (state.failed) return; } break; case 66 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:656: LEFTTOP_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:648: BOTTOMRIGHTCORNER_SYM { - mLEFTTOP_SYM(); if (state.failed) return; + mBOTTOMRIGHTCORNER_SYM(); if (state.failed) return; } break; case 67 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:668: LEFTMIDDLE_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:670: LEFTTOP_SYM { - mLEFTMIDDLE_SYM(); if (state.failed) return; + mLEFTTOP_SYM(); if (state.failed) return; } break; case 68 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:683: LEFTBOTTOM_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:682: LEFTMIDDLE_SYM { - mLEFTBOTTOM_SYM(); if (state.failed) return; + mLEFTMIDDLE_SYM(); if (state.failed) return; } break; case 69 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:698: RIGHTTOP_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:697: LEFTBOTTOM_SYM { - mRIGHTTOP_SYM(); if (state.failed) return; + mLEFTBOTTOM_SYM(); if (state.failed) return; } break; case 70 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:711: RIGHTMIDDLE_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:712: RIGHTTOP_SYM { - mRIGHTMIDDLE_SYM(); if (state.failed) return; + mRIGHTTOP_SYM(); if (state.failed) return; } break; case 71 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:727: RIGHTBOTTOM_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:725: RIGHTMIDDLE_SYM { - mRIGHTBOTTOM_SYM(); if (state.failed) return; + mRIGHTMIDDLE_SYM(); if (state.failed) return; } break; case 72 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:743: MOZ_DOCUMENT_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:741: RIGHTBOTTOM_SYM { - mMOZ_DOCUMENT_SYM(); if (state.failed) return; + mRIGHTBOTTOM_SYM(); if (state.failed) return; } break; case 73 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:760: WEBKIT_KEYFRAMES_SYM + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:757: MOZ_DOCUMENT_SYM { - mWEBKIT_KEYFRAMES_SYM(); if (state.failed) return; + mMOZ_DOCUMENT_SYM(); if (state.failed) return; } break; case 74 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:781: SASS_CONTENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:774: WEBKIT_KEYFRAMES_SYM { - mSASS_CONTENT(); if (state.failed) return; + mWEBKIT_KEYFRAMES_SYM(); if (state.failed) return; } break; case 75 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:794: SASS_MIXIN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:795: SASS_CONTENT { - mSASS_MIXIN(); if (state.failed) return; + mSASS_CONTENT(); if (state.failed) return; } break; case 76 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:805: SASS_INCLUDE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:808: SASS_MIXIN { - mSASS_INCLUDE(); if (state.failed) return; + mSASS_MIXIN(); if (state.failed) return; } break; case 77 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:818: SASS_EXTEND + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:819: SASS_INCLUDE { - mSASS_EXTEND(); if (state.failed) return; + mSASS_INCLUDE(); if (state.failed) return; } break; case 78 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:830: SASS_DEBUG + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:832: SASS_EXTEND { - mSASS_DEBUG(); if (state.failed) return; + mSASS_EXTEND(); if (state.failed) return; } break; case 79 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:841: SASS_ERROR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:844: SASS_DEBUG { - mSASS_ERROR(); if (state.failed) return; + mSASS_DEBUG(); if (state.failed) return; } break; case 80 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:852: SASS_WARN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:855: SASS_ERROR { - mSASS_WARN(); if (state.failed) return; + mSASS_ERROR(); if (state.failed) return; } break; case 81 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:862: SASS_IF + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:866: SASS_WARN { - mSASS_IF(); if (state.failed) return; + mSASS_WARN(); if (state.failed) return; } break; case 82 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:870: SASS_ELSE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:876: SASS_IF { - mSASS_ELSE(); if (state.failed) return; + mSASS_IF(); if (state.failed) return; } break; case 83 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:880: SASS_ELSEIF + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:884: SASS_ELSE { - mSASS_ELSEIF(); if (state.failed) return; + mSASS_ELSE(); if (state.failed) return; } break; case 84 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:892: SASS_FOR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:894: SASS_ELSEIF { - mSASS_FOR(); if (state.failed) return; + mSASS_ELSEIF(); if (state.failed) return; } break; case 85 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:901: SASS_FUNCTION + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:906: SASS_FOR { - mSASS_FUNCTION(); if (state.failed) return; + mSASS_FOR(); if (state.failed) return; } break; case 86 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:915: SASS_RETURN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:915: SASS_FUNCTION { - mSASS_RETURN(); if (state.failed) return; + mSASS_FUNCTION(); if (state.failed) return; } break; case 87 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:927: SASS_USE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:929: SASS_RETURN { - mSASS_USE(); if (state.failed) return; + mSASS_RETURN(); if (state.failed) return; } break; case 88 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:936: SASS_FORWARD + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:941: SASS_USE { - mSASS_FORWARD(); if (state.failed) return; + mSASS_USE(); if (state.failed) return; } break; case 89 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:949: SASS_EACH + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:950: SASS_FORWARD { - mSASS_EACH(); if (state.failed) return; + mSASS_FORWARD(); if (state.failed) return; } break; case 90 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:959: SASS_WHILE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:963: SASS_EACH { - mSASS_WHILE(); if (state.failed) return; + mSASS_EACH(); if (state.failed) return; } break; case 91 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:970: SASS_AT_ROOT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:973: SASS_WHILE { - mSASS_AT_ROOT(); if (state.failed) return; + mSASS_WHILE(); if (state.failed) return; } break; case 92 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:983: AT_SIGN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:984: SASS_AT_ROOT { - mAT_SIGN(); if (state.failed) return; + mSASS_AT_ROOT(); if (state.failed) return; } break; case 93 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:991: AT_IDENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:997: AT_SIGN { - mAT_IDENT(); if (state.failed) return; + mAT_SIGN(); if (state.failed) return; } break; case 94 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1000: SASS_VAR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1005: AT_IDENT { - mSASS_VAR(); if (state.failed) return; + mAT_IDENT(); if (state.failed) return; } break; case 95 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1009: SASS_DEFAULT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1014: SASS_VAR { - mSASS_DEFAULT(); if (state.failed) return; + mSASS_VAR(); if (state.failed) return; } break; case 96 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1022: SASS_OPTIONAL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1023: SASS_DEFAULT { - mSASS_OPTIONAL(); if (state.failed) return; + mSASS_DEFAULT(); if (state.failed) return; } break; case 97 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1036: SASS_GLOBAL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1036: SASS_OPTIONAL { - mSASS_GLOBAL(); if (state.failed) return; + mSASS_OPTIONAL(); if (state.failed) return; } break; case 98 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1048: SASS_EXTEND_ONLY_SELECTOR + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1050: SASS_GLOBAL { - mSASS_EXTEND_ONLY_SELECTOR(); if (state.failed) return; + mSASS_GLOBAL(); if (state.failed) return; } break; case 99 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1074: NUMBER + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1062: SASS_EXTEND_ONLY_SELECTOR { - mNUMBER(); if (state.failed) return; + mSASS_EXTEND_ONLY_SELECTOR(); if (state.failed) return; } break; case 100 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1081: URI + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1088: NUMBER { - mURI(); if (state.failed) return; + mNUMBER(); if (state.failed) return; } break; case 101 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1085: URANGE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1095: URI { - mURANGE(); if (state.failed) return; + mURI(); if (state.failed) return; } break; case 102 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1092: MOZ_URL_PREFIX + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1099: URANGE { - mMOZ_URL_PREFIX(); if (state.failed) return; + mURANGE(); if (state.failed) return; } break; case 103 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1107: MOZ_DOMAIN + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1106: MOZ_URL_PREFIX { - mMOZ_DOMAIN(); if (state.failed) return; + mMOZ_URL_PREFIX(); if (state.failed) return; } break; case 104 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1118: MOZ_REGEXP + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1121: MOZ_DOMAIN { - mMOZ_REGEXP(); if (state.failed) return; + mMOZ_DOMAIN(); if (state.failed) return; } break; case 105 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1129: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1132: MOZ_REGEXP { - mWS(); if (state.failed) return; + mMOZ_REGEXP(); if (state.failed) return; } break; case 106 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1132: NL + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1143: WS { - mNL(); if (state.failed) return; + mWS(); if (state.failed) return; } break; case 107 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1135: COMMENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1146: NL { - mCOMMENT(); if (state.failed) return; + mNL(); if (state.failed) return; } break; case 108 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1143: LINE_COMMENT + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1149: COMMENT + { + mCOMMENT(); if (state.failed) return; + + } + break; + case 109 : + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1:1157: LINE_COMMENT { mLINE_COMMENT(); if (state.failed) return; @@ -11354,14 +11383,14 @@ public final void synpred2_Css3_fragment() throws RecognitionException { // $ANTLR start synpred3_Css3 public final void synpred3_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:15: ( D P ( I | C ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:16: D P ( I | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2087:15: ( D P ( I | C ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2087:16: D P ( I | C ) { mD(); if (state.failed) return; mP(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:20: ( I | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2087:20: ( I | C ) int alt213=2; switch ( input.LA(1) ) { case 'I': @@ -11613,14 +11642,14 @@ else if ( (LA213_5=='3') ) { } switch (alt213) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:21: I + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2087:21: I { mI(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2086:23: C + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2087:23: C { mC(); if (state.failed) return; @@ -11636,12 +11665,12 @@ else if ( (LA213_5=='3') ) { // $ANTLR start synpred4_Css3 public final void synpred4_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:15: ( E ( M | X ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:16: E ( M | X ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:15: ( E ( M | X ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:16: E ( M | X ) { mE(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:18: ( M | X ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:18: ( M | X ) int alt214=2; switch ( input.LA(1) ) { case 'M': @@ -11817,14 +11846,14 @@ else if ( (LA214_7=='5'||LA214_7=='7') ) { } switch (alt214) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:19: M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:19: M { mM(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2093:21: X + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2094:21: X { mX(); if (state.failed) return; @@ -11840,12 +11869,12 @@ else if ( (LA214_7=='5'||LA214_7=='7') ) { // $ANTLR start synpred5_Css3 public final void synpred5_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:15: ( P ( X | T | C ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:16: P ( X | T | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2100:15: ( P ( X | T | C ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2100:16: P ( X | T | C ) { mP(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:17: ( X | T | C ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2100:17: ( X | T | C ) int alt215=3; switch ( input.LA(1) ) { case 'X': @@ -12145,21 +12174,21 @@ else if ( (LA215_6=='4') ) { } switch (alt215) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:18: X + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2100:18: X { mX(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:20: T + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2100:20: T { mT(); if (state.failed) return; } break; case 3 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2099:22: C + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2100:22: C { mC(); if (state.failed) return; @@ -12175,8 +12204,8 @@ else if ( (LA215_6=='4') ) { // $ANTLR start synpred6_Css3 public final void synpred6_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2107:15: ( C M ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2107:16: C M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2108:15: ( C M ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2108:16: C M { mC(); if (state.failed) return; @@ -12189,12 +12218,12 @@ public final void synpred6_Css3_fragment() throws RecognitionException { // $ANTLR start synpred7_Css3 public final void synpred7_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:15: ( M ( M | S ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:16: M ( M | S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2110:15: ( M ( M | S ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2110:16: M ( M | S ) { mM(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:18: ( M | S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2110:18: ( M | S ) int alt216=2; switch ( input.LA(1) ) { case 'M': @@ -12370,14 +12399,14 @@ else if ( (LA216_7=='5'||LA216_7=='7') ) { } switch (alt216) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:19: M + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2110:19: M { mM(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2109:21: S + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2110:21: S { mS(); if (state.failed) return; @@ -12393,8 +12422,8 @@ else if ( (LA216_7=='5'||LA216_7=='7') ) { // $ANTLR start synpred8_Css3 public final void synpred8_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2116:15: ( I N ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2116:16: I N + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2117:15: ( I N ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2117:16: I N { mI(); if (state.failed) return; @@ -12407,8 +12436,8 @@ public final void synpred8_Css3_fragment() throws RecognitionException { // $ANTLR start synpred9_Css3 public final void synpred9_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:15: ( D E G ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2119:16: D E G + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2120:15: ( D E G ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2120:16: D E G { mD(); if (state.failed) return; @@ -12423,12 +12452,12 @@ public final void synpred9_Css3_fragment() throws RecognitionException { // $ANTLR start synpred10_Css3 public final void synpred10_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:15: ( R ( A | E ) ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:16: R ( A | E ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2125:15: ( R ( A | E ) ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2125:16: R ( A | E ) { mR(); if (state.failed) return; - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:18: ( A | E ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2125:18: ( A | E ) int alt217=2; switch ( input.LA(1) ) { case 'A': @@ -12671,14 +12700,14 @@ else if ( (LA217_5=='5') ) { } switch (alt217) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:19: A + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2125:19: A { mA(); if (state.failed) return; } break; case 2 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2124:21: E + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2125:21: E { mE(); if (state.failed) return; @@ -12694,8 +12723,8 @@ else if ( (LA217_5=='5') ) { // $ANTLR start synpred11_Css3 public final void synpred11_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2131:15: ( S ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2131:16: S + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2132:15: ( S ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2132:16: S { mS(); if (state.failed) return; @@ -12706,10 +12735,10 @@ public final void synpred11_Css3_fragment() throws RecognitionException { // $ANTLR start synpred12_Css3 public final void synpred12_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:15: ( ( K )? H Z ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:16: ( K )? H Z + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:15: ( ( K )? H Z ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:16: ( K )? H Z { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:16: ( K )? + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:16: ( K )? int alt218=2; int LA218_0 = input.LA(1); if ( (LA218_0=='K'||LA218_0=='k') ) { @@ -12774,7 +12803,7 @@ else if ( (LA218_4=='4'||LA218_4=='6') ) { } switch (alt218) { case 1 : - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2133:16: K + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2134:16: K { mK(); if (state.failed) return; @@ -12794,8 +12823,8 @@ else if ( (LA218_4=='4'||LA218_4=='6') ) { // $ANTLR start synpred13_Css3 public final void synpred13_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:14: ( WS ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2149:15: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:14: ( WS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2150:15: WS { mWS(); if (state.failed) return; @@ -12806,8 +12835,8 @@ public final void synpred13_Css3_fragment() throws RecognitionException { // $ANTLR start synpred14_Css3 public final void synpred14_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:14: ( WS ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2160:15: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:14: ( WS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2161:15: WS { mWS(); if (state.failed) return; @@ -12818,8 +12847,8 @@ public final void synpred14_Css3_fragment() throws RecognitionException { // $ANTLR start synpred15_Css3 public final void synpred15_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:14: ( WS ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2168:15: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:14: ( WS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2169:15: WS { mWS(); if (state.failed) return; @@ -12830,8 +12859,8 @@ public final void synpred15_Css3_fragment() throws RecognitionException { // $ANTLR start synpred16_Css3 public final void synpred16_Css3_fragment() throws RecognitionException { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:14: ( WS ) - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2176:15: WS + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2177:14: ( WS ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:2177:15: WS { mWS(); if (state.failed) return; @@ -13166,71 +13195,71 @@ public final boolean synpred3_Css3() { "\1\3\7\uffff\1\4\4\uffff\1\5\7\uffff\1\6\30\uffff\1\12\4\uffff\1\1\22"+ "\uffff\1\7\113\uffff\1\10\u020c\uffff"; static final String DFA193_specialS = - "\2\uffff\1\u012d\6\uffff\1\u0176\12\uffff\1\u0177\5\uffff\1\71\16\uffff"+ - "\1\u0183\1\u0184\4\uffff\1\u01b6\1\u01ec\1\u00b1\1\u01be\1\u00b8\1\u00c8"+ - "\1\u01ee\1\107\1\u010e\1\u00d0\1\120\1\u0113\1\u012e\1\u017d\1\u0136\1"+ - "\u01d0\1\1\1\133\1\u01dd\1\150\1\u0164\1\u01f7\1\u016d\1\uffff\1\43\5"+ - "\uffff\1\u01a1\1\uffff\1\u0084\1\u00c1\1\u0096\1\u01b7\1\u00b2\1\u01bf"+ - "\1\u00b9\1\u00c9\1\106\1\u010f\1\u00d1\1\121\1\u0114\1\u012f\1\u0137\1"+ - "\u01cf\1\134\1\u01de\1\152\1\u0165\1\u016c\1\u0083\1\u0098\1\u014e\1\u0127"+ - "\1\uffff\1\u0158\6\uffff\1\u00e8\1\u012a\1\u00f7\1\u014d\1\u0159\1\u00e7"+ - "\1\u00f6\1\u00c7\1\u00cf\1\110\1\122\1\u0110\1\u0115\14\uffff\1\u00ca"+ - "\1\u00d2\1\111\1\123\1\u0111\1\u0116\1\u01d1\1\u01df\1\132\1\153\2\uffff"+ - "\1\u0185\1\u01d4\1\u01e0\1\135\1\147\1\u0166\1\u016e\1\u0167\1\u016f\1"+ - "\u0085\1\u0099\1\u0086\1\u009a\1\uffff\1\u0186\1\u0187\1\u00e3\2\uffff"+ - "\1\u00e4\2\uffff\1\u0107\1\u0108\1\u0080\2\uffff\1\u0081\2\uffff\1\u0124"+ - "\1\u0125\3\uffff\1\u01c0\1\u01c6\1\176\2\uffff\1\177\2\uffff\1\u014c\1"+ - "\u0156\2\uffff\1\u0138\1\u00e2\1\u0143\2\uffff\1\5\1\u0182\1\24\1\u0139"+ - "\1\u0144\1\4\1\23\1\u008b\1\u009f\4\uffff\1\u008d\1\u00a1\1\uffff\1\u00e5"+ - "\1\u00e6\3\uffff\1\u0119\1\u011a\2\uffff\1\u0194\1\u017a\1\u01a2\1\u0195"+ - "\1\u01a3\1\u014f\1\u0157\1\u0150\1\u015a\6\uffff\1\u00a9\1\u00aa\20\uffff"+ - "\1\0\2\uffff\1\u01b8\1\u00b3\1\u01c1\1\u00ba\1\u0130\1\u013a\1\u01d6\1"+ - "\140\1\u01e1\1\157\1\u0168\1\u0170\1\u008e\1\u0095\1\u01d7\1\141\1\u01e2"+ - "\1\160\1\u00cc\1\112\1\u01ca\1\u00d3\1\124\1\u01cb\7\uffff\1\u0148\1\u0149"+ - "\1\u00ce\3\uffff\1\u00db\1\67\1\u018f\2\uffff\1\u0105\1\u0106\3\uffff"+ - "\1\u0178\1\u0179\1\64\2\uffff\1\u011f\1\u0121\7\uffff\1\u01ed\1\u01ef"+ - "\2\uffff\1\u0092\1\u00a4\1\u0094\1\u00a5\5\uffff\1\u00d8\1\u00d9\2\uffff"+ - "\1\u00e0\1\uffff\1\u0180\1\u0181\7\uffff\1\u0151\1\uffff\1\u015b\1\uffff"+ - "\1\u00ec\1\u00f8\2\uffff\1\113\16\uffff\1\104\2\uffff\1\u01b9\1\u00b4"+ - "\1\u01c2\1\u00bb\1\u0131\1\u013b\1\u01d8\1\142\1\u01e5\1\161\1\u0169\1"+ - "\u0171\1\u0088\1\u009d\1\u01d9\1\146\1\u01e7\1\163\1\u00cd\1\114\1\62"+ - "\1\u00d4\1\125\1\63\4\uffff\1\u00ee\1\u00f9\1\u00ef\1\u00fa\1\172\1\174"+ - "\1\6\1\26\1\173\1\175\1\10\1\31\3\uffff\1\u01b5\1\u01ba\1\u010b\3\uffff"+ - "\1\u011d\1\u00bf\1\44\2\uffff\1\u0132\1\u013d\3\uffff\1\u01dc\1\u01eb"+ - "\1\u00ab\2\uffff\1\u017b\1\u017c\2\uffff\1\u01f6\4\uffff\1\73\1\75\1\13"+ - "\1\22\2\uffff\1\u018c\1\u018d\3\uffff\1\u0089\1\u00a0\2\uffff\1\u010c"+ - "\1\u010d\2\uffff\1\u0126\1\uffff\1\u0193\1\u01a5\2\uffff\1\u012b\1\u012c"+ - "\5\uffff\1\u0152\1\uffff\1\u015d\1\uffff\1\u00f1\1\u00fc\1\u0196\1\u01a6"+ - "\1\u0192\1\u01a7\2\uffff\1\u00dc\15\uffff\1\2\2\uffff\1\u01bb\1\u00b5"+ - "\1\u01c3\1\u00bc\1\u0133\1\u0141\1\u01ce\1\136\1\u01e8\1\155\1\u016a\1"+ - "\u0172\1\u0093\1\u00a6\1\u01db\1\131\1\u01ea\1\162\1\u00c6\1\116\1\u01cc"+ - "\1\u00d5\1\126\1\u01cd\4\uffff\1\u00f2\1\u00fe\1\u00f4\1\u0100\1\54\1"+ - "\56\1\14\1\32\1\55\1\57\1\15\1\34\3\uffff\1\60\1\61\1\u0160\3\uffff\1"+ - "\u0175\1\u010a\1\167\2\uffff\1\u01b1\1\u01b2\3\uffff\1\70\1\72\1\u0109"+ - "\2\uffff\1\u01f0\1\u01f2\2\uffff\1\77\4\uffff\1\u00c3\1\u00c4\1\3\1\36"+ - "\2\uffff\1\41\1\42\3\uffff\1\u008c\1\u009e\2\uffff\1\u0161\1\u0162\2\uffff"+ - "\1\u0188\1\uffff\1\u0198\1\u01a9\2\uffff\1\u0190\1\u0191\4\uffff\1\u0153"+ - "\1\uffff\1\u015e\1\uffff\1\u00f5\1\u0102\1\u019b\1\u01ad\1\u019c\1\u01a8"+ - "\2\uffff\1\u011e\13\uffff\1\u0082\2\uffff\1\u01bc\1\u00b6\1\u01c4\1\u00bd"+ - "\1\u0134\1\u0142\1\u01d5\1\137\1\u01e6\1\164\1\u0163\1\u0173\1\u008f\1"+ - "\u00a2\1\u01da\1\144\1\u01e3\1\151\1\u00cb\1\117\1\102\1\u00d6\1\127\1"+ - "\103\4\uffff\1\u00ed\1\u00fb\1\u00e9\1\u0104\1\u00ad\1\u00af\1\21\1\37"+ - "\1\u00ae\1\u00b0\1\17\1\25\2\uffff\1\u01c7\1\u01c8\1\u0118\2\uffff\1\u0120"+ - "\1\u00c2\1\53\1\uffff\1\u014a\1\u014b\2\uffff\1\u01f4\1\u01f5\1\u00c0"+ - "\1\uffff\1\u017e\1\u017f\2\uffff\1\u00da\3\uffff\1\100\1\101\1\7\1\33"+ - "\2\uffff\1\165\1\166\2\uffff\1\u0090\1\u0097\1\uffff\1\u011b\1\u011c\1"+ - "\uffff\1\u0128\1\uffff\1\u019f\1\u01ab\2\uffff\1\50\1\52\2\uffff\1\u0154"+ - "\1\uffff\1\u015f\1\uffff\1\u00ea\1\u00ff\1\u0199\1\u01ae\1\u019a\1\u01ac"+ - "\1\uffff\1\u00dd\1\u01bd\1\u00b7\1\u01c5\1\u00be\1\u0135\1\u013c\1\u01d2"+ - "\1\145\1\u01e4\1\156\1\u016b\1\u0174\1\u008a\1\u009b\1\u01d3\1\143\1\u01e9"+ - "\1\154\1\u00c5\1\115\1\u0112\1\u00d7\1\130\1\u0117\1\u00f3\1\u00fd\1\u00f0"+ - "\1\u0101\1\u013f\1\u0145\1\11\1\35\1\u0140\1\u0146\1\12\1\30\1\74\1\76"+ - "\1\u0189\1\u018e\1\u0123\1\u00ac\1\u01f1\1\u01f3\1\170\1\171\1\u0122\1"+ - "\47\1\51\1\uffff\1\105\2\uffff\1\u00de\1\u00df\1\16\1\27\1\uffff\1\45"+ - "\1\46\1\uffff\1\u0087\1\u00a3\1\u018a\1\u018b\1\u01c9\1\uffff\1\u01a0"+ - "\1\u01a4\1\uffff\1\u01b3\1\u01b4\1\u0155\1\u015c\1\u00eb\1\u0103\1\u019d"+ - "\1\u01af\1\u019e\1\u01aa\1\u0129\1\u00e1\1\u013e\1\u0147\1\20\1\40\1\u00a7"+ - "\1\u00a8\1\u0091\1\u009c\1\u0197\1\u01b0\1\65\1\66}>"; + "\2\uffff\1\u0174\6\uffff\1\u01a7\12\uffff\1\u01a8\5\uffff\1\133\16\uffff"+ + "\1\u01b3\1\u01b4\4\uffff\1\u01e0\1\u01f4\1\u00db\1\u01e8\1\u00e2\1\u00f1"+ + "\1\u01f7\1\160\1\u013a\1\u00fb\1\171\1\u013f\1\u015a\1\u0190\1\u0161\1"+ + "\12\1\16\1\u0085\1\30\1\u0091\1\u0194\1\3\1\u019c\1\uffff\1\47\5\uffff"+ + "\1\u01b0\1\uffff\1\u00b2\1\u00b1\1\u00c5\1\u01e1\1\u00dc\1\u01e9\1\u00e3"+ + "\1\u00f2\1\161\1\u013b\1\u00fc\1\172\1\u0140\1\u015b\1\u0162\1\11\1\u0084"+ + "\1\32\1\u0092\1\u0192\1\u019d\1\u00b3\1\u00ca\1\u0179\1\u014c\1\uffff"+ + "\1\u0182\6\uffff\1\u0117\1\u014f\1\u0126\1\u017a\1\u0183\1\u011a\1\u0127"+ + "\1\u00f3\1\u00fa\1\162\1\173\1\u013c\1\u0141\14\uffff\1\u00f4\1\u00fd"+ + "\1\163\1\174\1\u013d\1\u0142\1\10\1\27\1\u0086\1\u0096\2\uffff\1\u01b7"+ + "\1\17\1\34\1\u008b\1\u0098\1\u0193\1\u019b\1\u0195\1\u019e\1\u00b5\1\u00cb"+ + "\1\u00b6\1\u00c4\1\uffff\1\u01b5\1\u01b6\1\u0112\2\uffff\1\u0113\2\uffff"+ + "\1\u0134\1\u0135\1\u00af\2\uffff\1\u00b0\2\uffff\1\u0154\1\u0155\3\uffff"+ + "\1\u01f0\1\u01f1\1\u00a8\2\uffff\1\u00a9\2\uffff\1\u0177\1\u0178\2\uffff"+ + "\1\u0168\1\u010a\1\u016d\2\uffff\1\63\1\u0191\1\103\1\u0169\1\u016e\1"+ + "\64\1\102\1\u00b7\1\u00cc\4\uffff\1\u00bd\1\u00ce\1\uffff\1\u0114\1\u0115"+ + "\3\uffff\1\u0147\1\u0148\2\uffff\1\u01c1\1\u018b\1\u01cf\1\u01c0\1\u01d0"+ + "\1\u017b\1\u0184\1\u017c\1\u0185\6\uffff\1\u00d7\1\u00d8\20\uffff\1\61"+ + "\2\uffff\1\u01e2\1\u00dd\1\u01ea\1\u00e4\1\u015c\1\u0163\1\20\1\u0083"+ + "\1\35\1\u009a\1\u0196\1\u019f\1\u00c0\1\u00d2\1\21\1\u008c\1\41\1\u009c"+ + "\1\u00f5\1\157\1\4\1\u00fe\1\175\1\5\7\uffff\1\u018c\1\u018d\1\u0107\3"+ + "\uffff\1\u010c\1\147\1\u01dd\2\uffff\1\u0136\1\u0137\3\uffff\1\u01aa\1"+ + "\u01ab\1\144\2\uffff\1\u0150\1\u0151\7\uffff\1\45\1\46\2\uffff\1\u00c1"+ + "\1\u00d3\1\u00c3\1\u00d4\5\uffff\1\u0106\1\u0108\2\uffff\1\u0110\1\uffff"+ + "\1\u01ae\1\u01af\7\uffff\1\u017d\1\uffff\1\u0186\1\uffff\1\u011b\1\u0125"+ + "\2\uffff\1\u009f\16\uffff\1\u00a1\2\uffff\1\u01e3\1\u00de\1\u01eb\1\u00e5"+ + "\1\u015d\1\u0164\1\23\1\u008d\1\42\1\u009d\1\u0197\1\u01a0\1\u00be\1\u00d5"+ + "\1\24\1\u0090\1\43\1\u009e\1\u00f6\1\164\1\142\1\u00ff\1\176\1\143\4\uffff"+ + "\1\u011c\1\u012a\1\u011d\1\u012b\1\u00ab\1\u00ad\1\67\1\105\1\u00ac\1"+ + "\u00ae\1\62\1\110\3\uffff\1\u01f5\1\u01f6\1\u0145\3\uffff\1\u014e\1\u00ef"+ + "\1\125\2\uffff\1\u0175\1\u0176\3\uffff\1\52\1\53\1\u00ea\2\uffff\1\u01ac"+ + "\1\u01ad\2\uffff\1\60\4\uffff\1\154\1\155\1\70\1\111\2\uffff\1\u01bc\1"+ + "\u01bd\3\uffff\1\u00b4\1\u00cd\2\uffff\1\u0144\1\u0146\2\uffff\1\u0157"+ + "\1\uffff\1\u01c3\1\u01d1\2\uffff\1\u0172\1\u0173\5\uffff\1\u017e\1\uffff"+ + "\1\u0187\1\uffff\1\u011e\1\u012e\1\u01c4\1\u01ce\1\u01c5\1\u01d7\2\uffff"+ + "\1\u010b\15\uffff\1\120\2\uffff\1\u01e4\1\u00df\1\u01ec\1\u00e6\1\u015e"+ + "\1\u0165\1\13\1\u008f\1\44\1\u0095\1\u0198\1\u01a2\1\u00ba\1\u00d1\1\14"+ + "\1\u008a\1\33\1\u0093\1\u00f7\1\166\1\6\1\u0100\1\170\1\7\4\uffff\1\u0116"+ + "\1\u0130\1\u0120\1\u0131\1\134\1\136\1\72\1\112\1\135\1\137\1\74\1\101"+ + "\3\uffff\1\140\1\141\1\u01a5\3\uffff\1\u01a9\1\u0139\1\u00aa\2\uffff\1"+ + "\u01e7\1\u01ef\3\uffff\1\150\1\151\1\u0138\2\uffff\1\54\1\55\2\uffff\1"+ + "\156\4\uffff\1\u0104\1\u0105\1\75\1\113\2\uffff\1\121\1\122\3\uffff\1"+ + "\u00bf\1\u00c6\2\uffff\1\u01a4\1\u01a6\2\uffff\1\u01bb\1\uffff\1\u01c9"+ + "\1\u01d8\2\uffff\1\u01de\1\u01df\4\uffff\1\u017f\1\uffff\1\u0188\1\uffff"+ + "\1\u0123\1\u0133\1\u01cb\1\u01da\1\u01cc\1\u01db\2\uffff\1\u014d\13\uffff"+ + "\1\u00d6\2\uffff\1\u01e5\1\u00e0\1\u01ed\1\u00e7\1\u015f\1\u0166\1\15"+ + "\1\u008e\1\37\1\u0094\1\u019a\1\u01a3\1\u00bc\1\u00c7\1\25\1\u0088\1\40"+ + "\1\u0099\1\u00f8\1\167\1\u00a0\1\u0101\1\177\1\u00a2\4\uffff\1\u0118\1"+ + "\u0128\1\u0121\1\u012c\1\u00eb\1\u00ed\1\77\1\116\1\u00ec\1\u00ee\1\100"+ + "\1\117\2\uffff\1\0\1\1\1\u014a\2\uffff\1\u0152\1\u0103\1\132\1\uffff\1"+ + "\u018e\1\u018f\2\uffff\1\56\1\57\1\u00f0\1\uffff\1\u01b1\1\u01b2\2\uffff"+ + "\1\u0109\3\uffff\1\u0081\1\u0082\1\65\1\104\2\uffff\1\u00a4\1\u00a5\2"+ + "\uffff\1\u00b8\1\u00c9\1\uffff\1\u0149\1\u014b\1\uffff\1\u0158\1\uffff"+ + "\1\u01bf\1\u01dc\2\uffff\1\130\1\131\2\uffff\1\u0180\1\uffff\1\u018a\1"+ + "\uffff\1\u011f\1\u0132\1\u01c6\1\u01d5\1\u01cd\1\u01d9\1\uffff\1\u010d"+ + "\1\u01e6\1\u00e1\1\u01ee\1\u00e8\1\u0160\1\u0167\1\26\1\u0087\1\31\1\u0097"+ + "\1\u0199\1\u01a1\1\u00b9\1\u00d0\1\22\1\u0089\1\36\1\u009b\1\u00f9\1\165"+ + "\1\u013e\1\u0102\1\u0080\1\u0143\1\u0122\1\u012d\1\u0124\1\u0129\1\u016a"+ + "\1\u016f\1\71\1\107\1\u016b\1\u0170\1\76\1\115\1\152\1\153\1\u01b9\1\u01be"+ + "\1\u0156\1\u00e9\1\50\1\51\1\u00a6\1\u00a7\1\u0153\1\123\1\124\1\uffff"+ + "\1\u00a3\2\uffff\1\u010e\1\u010f\1\73\1\106\1\uffff\1\126\1\127\1\uffff"+ + "\1\u00bb\1\u00cf\1\u01b8\1\u01ba\1\2\1\uffff\1\u01ca\1\u01d6\1\uffff\1"+ + "\u01f2\1\u01f3\1\u0181\1\u0189\1\u0119\1\u012f\1\u01c2\1\u01d3\1\u01c7"+ + "\1\u01d2\1\u0159\1\u0111\1\u016c\1\u0171\1\66\1\114\1\u00d9\1\u00da\1"+ + "\u00c2\1\u00c8\1\u01c8\1\u01d4\1\145\1\146}>"; static final String[] DFA193_transitionS = { "\1\27\7\uffff\1\14\23\uffff\2\14\1\20\1\15\1\16\2\14\1\26\1\22\1\14\1"+ "\25\1\14\1\21\2\14\1\17\1\14\1\23\1\24\7\14\1\uffff\1\2\2\uffff\1\14"+ @@ -14142,7 +14171,7 @@ public DFA193(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "2085:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)"; + return "2086:9: ( ( D P ( I | C ) )=> D P ( I | C M ) | ( E ( M | X ) )=> E ( M | X ) | ( P ( X | T | C ) )=> P ( X | T | C ) | ( C M )=> C M | ( M ( M | S ) )=> M ( M | S ) | ( I N )=> I N | ( D E G )=> D E G | ( R ( A | E ) )=> R ( A D | E M ) | ( S )=> S | ( ( K )? H Z )=> ( K )? H Z | IDENT | PERCENTAGE_SYMBOL |)"; } @Override public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { @@ -14150,6040 +14179,6040 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA193_259 = input.LA(1); + int LA193_684 = input.LA(1); - int index193_259 = input.index(); + int index193_684 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_259); + input.seek(index193_684); if ( s>=0 ) return s; break; case 1 : - int LA193_63 = input.LA(1); + int LA193_685 = input.LA(1); + + int index193_685 = input.index(); + input.rewind(); s = -1; - if ( (LA193_63=='m') ) {s = 184;} - else if ( (LA193_63=='M') ) {s = 185;} - else if ( (LA193_63=='s') ) {s = 186;} - else if ( (LA193_63=='0') ) {s = 187;} - else if ( (LA193_63=='4'||LA193_63=='6') ) {s = 188;} - else if ( (LA193_63=='S') ) {s = 189;} - else if ( ((LA193_63 >= '\u0000' && LA193_63 <= '\t')||LA193_63=='\u000B'||(LA193_63 >= '\u000E' && LA193_63 <= '/')||(LA193_63 >= '1' && LA193_63 <= '3')||(LA193_63 >= '8' && LA193_63 <= 'L')||(LA193_63 >= 'N' && LA193_63 <= 'R')||(LA193_63 >= 'T' && LA193_63 <= 'l')||(LA193_63 >= 'n' && LA193_63 <= 'r')||(LA193_63 >= 't' && LA193_63 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_63=='5'||LA193_63=='7') ) {s = 190;} + if ( (synpred4_Css3()) ) {s = 162;} + else if ( (true) ) {s = 12;} + + input.seek(index193_685); if ( s>=0 ) return s; break; case 2 : - int LA193_508 = input.LA(1); + int LA193_812 = input.LA(1); - int index193_508 = input.index(); + int index193_812 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_508); + input.seek(index193_812); if ( s>=0 ) return s; break; case 3 : - int LA193_586 = input.LA(1); - - int index193_586 = input.index(); - input.rewind(); + int LA193_68 = input.LA(1); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} - else if ( (true) ) {s = 12;} - - input.seek(index193_586); + if ( (LA193_68=='n') ) {s = 192;} + else if ( (LA193_68=='N') ) {s = 193;} + else if ( ((LA193_68 >= '\u0000' && LA193_68 <= '\t')||LA193_68=='\u000B'||(LA193_68 >= '\u000E' && LA193_68 <= '/')||(LA193_68 >= '1' && LA193_68 <= '3')||LA193_68=='5'||(LA193_68 >= '7' && LA193_68 <= 'M')||(LA193_68 >= 'O' && LA193_68 <= 'm')||(LA193_68 >= 'o' && LA193_68 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_68=='0') ) {s = 194;} + else if ( (LA193_68=='4'||LA193_68=='6') ) {s = 195;} if ( s>=0 ) return s; break; case 4 : - int LA193_206 = input.LA(1); + int LA193_282 = input.LA(1); - int index193_206 = input.index(); + int index193_282 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_206); + input.seek(index193_282); if ( s>=0 ) return s; break; case 5 : - int LA193_201 = input.LA(1); + int LA193_285 = input.LA(1); - int index193_201 = input.index(); + int index193_285 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_201); + input.seek(index193_285); if ( s>=0 ) return s; break; case 6 : - int LA193_411 = input.LA(1); + int LA193_531 = input.LA(1); - int index193_411 = input.index(); + int index193_531 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_411); + input.seek(index193_531); if ( s>=0 ) return s; break; case 7 : - int LA193_711 = input.LA(1); + int LA193_534 = input.LA(1); - int index193_711 = input.index(); + int index193_534 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_711); + input.seek(index193_534); if ( s>=0 ) return s; break; case 8 : - int LA193_415 = input.LA(1); + int LA193_143 = input.LA(1); - int index193_415 = input.index(); + int index193_143 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_415); + input.seek(index193_143); if ( s>=0 ) return s; break; case 9 : - int LA193_777 = input.LA(1); + int LA193_94 = input.LA(1); - int index193_777 = input.index(); + int index193_94 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_777); + input.seek(index193_94); if ( s>=0 ) return s; break; case 10 : - int LA193_781 = input.LA(1); + int LA193_62 = input.LA(1); - int index193_781 = input.index(); + int index193_62 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_781); + input.seek(index193_62); if ( s>=0 ) return s; break; case 11 : - int LA193_452 = input.LA(1); + int LA193_517 = input.LA(1); - int index193_452 = input.index(); + int index193_517 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_452); + input.seek(index193_517); if ( s>=0 ) return s; break; case 12 : - int LA193_545 = input.LA(1); + int LA193_525 = input.LA(1); - int index193_545 = input.index(); + int index193_525 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_545); + input.seek(index193_525); if ( s>=0 ) return s; break; case 13 : - int LA193_549 = input.LA(1); + int LA193_648 = input.LA(1); - int index193_549 = input.index(); + int index193_648 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_549); + input.seek(index193_648); if ( s>=0 ) return s; break; case 14 : - int LA193_802 = input.LA(1); - - int index193_802 = input.index(); - input.rewind(); + int LA193_63 = input.LA(1); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} - else if ( (true) ) {s = 12;} - - input.seek(index193_802); + if ( (LA193_63=='m') ) {s = 184;} + else if ( (LA193_63=='M') ) {s = 185;} + else if ( (LA193_63=='s') ) {s = 186;} + else if ( (LA193_63=='0') ) {s = 187;} + else if ( (LA193_63=='4'||LA193_63=='6') ) {s = 188;} + else if ( (LA193_63=='S') ) {s = 189;} + else if ( ((LA193_63 >= '\u0000' && LA193_63 <= '\t')||LA193_63=='\u000B'||(LA193_63 >= '\u000E' && LA193_63 <= '/')||(LA193_63 >= '1' && LA193_63 <= '3')||(LA193_63 >= '8' && LA193_63 <= 'L')||(LA193_63 >= 'N' && LA193_63 <= 'R')||(LA193_63 >= 'T' && LA193_63 <= 'l')||(LA193_63 >= 'n' && LA193_63 <= 'r')||(LA193_63 >= 't' && LA193_63 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_63=='5'||LA193_63=='7') ) {s = 190;} if ( s>=0 ) return s; break; case 15 : - int LA193_680 = input.LA(1); + int LA193_150 = input.LA(1); - int index193_680 = input.index(); + int index193_150 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_680); + input.seek(index193_150); if ( s>=0 ) return s; break; case 16 : - int LA193_831 = input.LA(1); + int LA193_268 = input.LA(1); - int index193_831 = input.index(); + int index193_268 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_831); + input.seek(index193_268); if ( s>=0 ) return s; break; case 17 : - int LA193_676 = input.LA(1); + int LA193_276 = input.LA(1); - int index193_676 = input.index(); + int index193_276 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_676); + input.seek(index193_276); if ( s>=0 ) return s; break; case 18 : - int LA193_453 = input.LA(1); + int LA193_761 = input.LA(1); - int index193_453 = input.index(); + int index193_761 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_453); + input.seek(index193_761); if ( s>=0 ) return s; break; case 19 : - int LA193_207 = input.LA(1); + int LA193_383 = input.LA(1); - int index193_207 = input.index(); + int index193_383 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_207); + input.seek(index193_383); if ( s>=0 ) return s; break; case 20 : - int LA193_203 = input.LA(1); + int LA193_391 = input.LA(1); - int index193_203 = input.index(); + int index193_391 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_203); + input.seek(index193_391); if ( s>=0 ) return s; break; case 21 : - int LA193_681 = input.LA(1); + int LA193_656 = input.LA(1); - int index193_681 = input.index(); + int index193_656 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_681); + input.seek(index193_656); if ( s>=0 ) return s; break; case 22 : - int LA193_412 = input.LA(1); + int LA193_753 = input.LA(1); - int index193_412 = input.index(); + int index193_753 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_412); + input.seek(index193_753); if ( s>=0 ) return s; break; case 23 : - int LA193_803 = input.LA(1); + int LA193_144 = input.LA(1); - int index193_803 = input.index(); + int index193_144 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_803); + input.seek(index193_144); if ( s>=0 ) return s; break; case 24 : - int LA193_782 = input.LA(1); + int LA193_65 = input.LA(1); - int index193_782 = input.index(); + int index193_65 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_782); + input.seek(index193_65); if ( s>=0 ) return s; break; case 25 : - int LA193_416 = input.LA(1); + int LA193_755 = input.LA(1); - int index193_416 = input.index(); + int index193_755 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_416); + input.seek(index193_755); if ( s>=0 ) return s; break; case 26 : - int LA193_546 = input.LA(1); + int LA193_96 = input.LA(1); - int index193_546 = input.index(); + int index193_96 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_546); + input.seek(index193_96); if ( s>=0 ) return s; break; case 27 : - int LA193_712 = input.LA(1); + int LA193_527 = input.LA(1); - int index193_712 = input.index(); + int index193_527 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_712); + input.seek(index193_527); if ( s>=0 ) return s; break; case 28 : - int LA193_550 = input.LA(1); + int LA193_151 = input.LA(1); - int index193_550 = input.index(); + int index193_151 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_550); + input.seek(index193_151); if ( s>=0 ) return s; break; case 29 : - int LA193_778 = input.LA(1); + int LA193_270 = input.LA(1); - int index193_778 = input.index(); + int index193_270 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_778); + input.seek(index193_270); if ( s>=0 ) return s; break; case 30 : - int LA193_587 = input.LA(1); + int LA193_763 = input.LA(1); - int index193_587 = input.index(); + int index193_763 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_587); + input.seek(index193_763); if ( s>=0 ) return s; break; case 31 : - int LA193_677 = input.LA(1); + int LA193_650 = input.LA(1); - int index193_677 = input.index(); + int index193_650 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_677); + input.seek(index193_650); if ( s>=0 ) return s; break; case 32 : - int LA193_832 = input.LA(1); + int LA193_658 = input.LA(1); - int index193_832 = input.index(); + int index193_658 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_832); + input.seek(index193_658); if ( s>=0 ) return s; break; case 33 : - int LA193_590 = input.LA(1); + int LA193_278 = input.LA(1); - int index193_590 = input.index(); + int index193_278 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_590); + input.seek(index193_278); if ( s>=0 ) return s; break; case 34 : - int LA193_591 = input.LA(1); + int LA193_385 = input.LA(1); - int index193_591 = input.index(); + int index193_385 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_591); + input.seek(index193_385); if ( s>=0 ) return s; break; case 35 : - int LA193_71 = input.LA(1); + int LA193_393 = input.LA(1); + + int index193_393 = input.index(); + input.rewind(); s = -1; - if ( ((LA193_71 >= '\u0000' && LA193_71 <= '\t')||LA193_71=='\u000B'||(LA193_71 >= '\u000E' && LA193_71 <= '/')||(LA193_71 >= '1' && LA193_71 <= '3')||LA193_71=='5'||(LA193_71 >= '7' && LA193_71 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_71=='0') ) {s = 199;} - else if ( (LA193_71=='4'||LA193_71=='6') ) {s = 200;} + if ( (synpred7_Css3()) ) {s = 183;} + else if ( (true) ) {s = 12;} + + input.seek(index193_393); if ( s>=0 ) return s; break; case 36 : - int LA193_428 = input.LA(1); + int LA193_519 = input.LA(1); - int index193_428 = input.index(); + int index193_519 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_428); + input.seek(index193_519); if ( s>=0 ) return s; break; case 37 : - int LA193_805 = input.LA(1); + int LA193_323 = input.LA(1); - int index193_805 = input.index(); + int index193_323 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_805); + input.seek(index193_323); if ( s>=0 ) return s; break; case 38 : - int LA193_806 = input.LA(1); + int LA193_324 = input.LA(1); - int index193_806 = input.index(); + int index193_324 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_806); + input.seek(index193_324); if ( s>=0 ) return s; break; case 39 : - int LA193_794 = input.LA(1); - - int index193_794 = input.index(); - input.rewind(); + int LA193_71 = input.LA(1); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} - else if ( (true) ) {s = 12;} - - input.seek(index193_794); + if ( ((LA193_71 >= '\u0000' && LA193_71 <= '\t')||LA193_71=='\u000B'||(LA193_71 >= '\u000E' && LA193_71 <= '/')||(LA193_71 >= '1' && LA193_71 <= '3')||LA193_71=='5'||(LA193_71 >= '7' && LA193_71 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_71=='0') ) {s = 199;} + else if ( (LA193_71=='4'||LA193_71=='6') ) {s = 200;} if ( s>=0 ) return s; break; case 40 : - int LA193_731 = input.LA(1); + int LA193_789 = input.LA(1); - int index193_731 = input.index(); + int index193_789 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_731); + input.seek(index193_789); if ( s>=0 ) return s; break; case 41 : - int LA193_795 = input.LA(1); + int LA193_790 = input.LA(1); - int index193_795 = input.index(); + int index193_790 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_795); + input.seek(index193_790); if ( s>=0 ) return s; break; case 42 : - int LA193_732 = input.LA(1); + int LA193_436 = input.LA(1); - int index193_732 = input.index(); + int index193_436 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_732); + input.seek(index193_436); if ( s>=0 ) return s; break; case 43 : - int LA193_691 = input.LA(1); + int LA193_437 = input.LA(1); - int index193_691 = input.index(); + int index193_437 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_691); + input.seek(index193_437); if ( s>=0 ) return s; break; case 44 : - int LA193_543 = input.LA(1); + int LA193_575 = input.LA(1); - int index193_543 = input.index(); + int index193_575 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_543); + input.seek(index193_575); if ( s>=0 ) return s; break; case 45 : - int LA193_547 = input.LA(1); + int LA193_576 = input.LA(1); - int index193_547 = input.index(); + int index193_576 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_547); + input.seek(index193_576); if ( s>=0 ) return s; break; case 46 : - int LA193_544 = input.LA(1); + int LA193_697 = input.LA(1); - int index193_544 = input.index(); + int index193_697 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_544); + input.seek(index193_697); if ( s>=0 ) return s; break; case 47 : - int LA193_548 = input.LA(1); + int LA193_698 = input.LA(1); - int index193_548 = input.index(); + int index193_698 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_548); + input.seek(index193_698); if ( s>=0 ) return s; break; case 48 : - int LA193_554 = input.LA(1); + int LA193_445 = input.LA(1); - int index193_554 = input.index(); + int index193_445 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_554); + input.seek(index193_445); if ( s>=0 ) return s; break; case 49 : - int LA193_555 = input.LA(1); + int LA193_259 = input.LA(1); - int index193_555 = input.index(); + int index193_259 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_555); + input.seek(index193_259); if ( s>=0 ) return s; break; case 50 : - int LA193_397 = input.LA(1); + int LA193_415 = input.LA(1); - int index193_397 = input.index(); + int index193_415 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_397); + input.seek(index193_415); if ( s>=0 ) return s; break; case 51 : - int LA193_400 = input.LA(1); + int LA193_201 = input.LA(1); - int index193_400 = input.index(); + int index193_201 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_400); + input.seek(index193_201); if ( s>=0 ) return s; break; case 52 : - int LA193_311 = input.LA(1); + int LA193_206 = input.LA(1); - int index193_311 = input.index(); + int index193_206 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_311); + input.seek(index193_206); if ( s>=0 ) return s; break; case 53 : - int LA193_839 = input.LA(1); + int LA193_711 = input.LA(1); - int index193_839 = input.index(); + int index193_711 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_839); + input.seek(index193_711); if ( s>=0 ) return s; break; case 54 : - int LA193_840 = input.LA(1); + int LA193_831 = input.LA(1); - int index193_840 = input.index(); + int index193_831 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_840); + input.seek(index193_831); if ( s>=0 ) return s; break; case 55 : - int LA193_300 = input.LA(1); + int LA193_411 = input.LA(1); - int index193_300 = input.index(); + int index193_411 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_300); + input.seek(index193_411); if ( s>=0 ) return s; break; case 56 : - int LA193_570 = input.LA(1); + int LA193_452 = input.LA(1); - int index193_570 = input.index(); + int index193_452 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_570); + input.seek(index193_452); if ( s>=0 ) return s; break; case 57 : - int LA193_26 = input.LA(1); + int LA193_777 = input.LA(1); + + int index193_777 = input.index(); + input.rewind(); s = -1; - if ( (LA193_26=='p') ) {s = 107;} - else if ( (LA193_26=='P') ) {s = 108;} - else if ( ((LA193_26 >= '\u0000' && LA193_26 <= '\t')||LA193_26=='\u000B'||(LA193_26 >= '\u000E' && LA193_26 <= '/')||(LA193_26 >= '1' && LA193_26 <= '3')||(LA193_26 >= '8' && LA193_26 <= 'O')||(LA193_26 >= 'Q' && LA193_26 <= 'o')||(LA193_26 >= 'q' && LA193_26 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_26=='0') ) {s = 109;} - else if ( (LA193_26=='5'||LA193_26=='7') ) {s = 110;} - else if ( (LA193_26=='4'||LA193_26=='6') ) {s = 111;} + if ( (synpred10_Css3()) ) {s = 316;} + else if ( (true) ) {s = 12;} + + input.seek(index193_777); if ( s>=0 ) return s; break; case 58 : - int LA193_571 = input.LA(1); + int LA193_545 = input.LA(1); - int index193_571 = input.index(); + int index193_545 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_571); + input.seek(index193_545); if ( s>=0 ) return s; break; case 59 : - int LA193_450 = input.LA(1); + int LA193_802 = input.LA(1); - int index193_450 = input.index(); + int index193_802 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_450); + input.seek(index193_802); if ( s>=0 ) return s; break; case 60 : - int LA193_783 = input.LA(1); + int LA193_549 = input.LA(1); - int index193_783 = input.index(); + int index193_549 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_783); + input.seek(index193_549); if ( s>=0 ) return s; break; case 61 : - int LA193_451 = input.LA(1); + int LA193_586 = input.LA(1); - int index193_451 = input.index(); + int index193_586 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_451); + input.seek(index193_586); if ( s>=0 ) return s; break; case 62 : - int LA193_784 = input.LA(1); + int LA193_781 = input.LA(1); - int index193_784 = input.index(); + int index193_781 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_784); + input.seek(index193_781); if ( s>=0 ) return s; break; case 63 : - int LA193_579 = input.LA(1); + int LA193_676 = input.LA(1); - int index193_579 = input.index(); + int index193_676 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_579); + input.seek(index193_676); if ( s>=0 ) return s; break; case 64 : - int LA193_709 = input.LA(1); + int LA193_680 = input.LA(1); - int index193_709 = input.index(); + int index193_680 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_709); + input.seek(index193_680); if ( s>=0 ) return s; break; case 65 : - int LA193_710 = input.LA(1); + int LA193_550 = input.LA(1); - int index193_710 = input.index(); + int index193_550 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_710); + input.seek(index193_550); if ( s>=0 ) return s; break; case 66 : - int LA193_662 = input.LA(1); + int LA193_207 = input.LA(1); - int index193_662 = input.index(); + int index193_207 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_662); + input.seek(index193_207); if ( s>=0 ) return s; break; case 67 : - int LA193_665 = input.LA(1); + int LA193_203 = input.LA(1); - int index193_665 = input.index(); + int index193_203 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_665); + input.seek(index193_203); if ( s>=0 ) return s; break; case 68 : - int LA193_374 = input.LA(1); + int LA193_712 = input.LA(1); - int index193_374 = input.index(); + int index193_712 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_374); + input.seek(index193_712); if ( s>=0 ) return s; break; case 69 : - int LA193_797 = input.LA(1); + int LA193_412 = input.LA(1); - int index193_797 = input.index(); + int index193_412 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_797); + input.seek(index193_412); if ( s>=0 ) return s; break; case 70 : - int LA193_87 = input.LA(1); + int LA193_803 = input.LA(1); - int index193_87 = input.index(); + int index193_803 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_87); + input.seek(index193_803); if ( s>=0 ) return s; break; case 71 : - int LA193_54 = input.LA(1); + int LA193_778 = input.LA(1); - int index193_54 = input.index(); + int index193_778 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_54); + input.seek(index193_778); if ( s>=0 ) return s; break; case 72 : - int LA193_121 = input.LA(1); + int LA193_416 = input.LA(1); - int index193_121 = input.index(); + int index193_416 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_121); + input.seek(index193_416); if ( s>=0 ) return s; break; case 73 : - int LA193_139 = input.LA(1); + int LA193_453 = input.LA(1); - int index193_139 = input.index(); + int index193_453 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_139); + input.seek(index193_453); if ( s>=0 ) return s; break; case 74 : - int LA193_281 = input.LA(1); + int LA193_546 = input.LA(1); - int index193_281 = input.index(); + int index193_546 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_281); + input.seek(index193_546); if ( s>=0 ) return s; break; case 75 : - int LA193_359 = input.LA(1); + int LA193_587 = input.LA(1); - int index193_359 = input.index(); + int index193_587 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_359); + input.seek(index193_587); if ( s>=0 ) return s; break; case 76 : - int LA193_396 = input.LA(1); + int LA193_832 = input.LA(1); - int index193_396 = input.index(); + int index193_832 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_396); + input.seek(index193_832); if ( s>=0 ) return s; break; case 77 : - int LA193_766 = input.LA(1); + int LA193_782 = input.LA(1); - int index193_766 = input.index(); + int index193_782 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_766); + input.seek(index193_782); if ( s>=0 ) return s; break; case 78 : - int LA193_530 = input.LA(1); + int LA193_677 = input.LA(1); - int index193_530 = input.index(); + int index193_677 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_530); + input.seek(index193_677); if ( s>=0 ) return s; break; case 79 : - int LA193_661 = input.LA(1); + int LA193_681 = input.LA(1); - int index193_661 = input.index(); + int index193_681 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_661); + input.seek(index193_681); if ( s>=0 ) return s; break; case 80 : - int LA193_57 = input.LA(1); + int LA193_508 = input.LA(1); - int index193_57 = input.index(); + int index193_508 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_57); + input.seek(index193_508); if ( s>=0 ) return s; break; case 81 : - int LA193_90 = input.LA(1); + int LA193_590 = input.LA(1); - int index193_90 = input.index(); + int index193_590 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_90); + input.seek(index193_590); if ( s>=0 ) return s; break; case 82 : - int LA193_122 = input.LA(1); + int LA193_591 = input.LA(1); - int index193_122 = input.index(); + int index193_591 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_122); + input.seek(index193_591); if ( s>=0 ) return s; break; case 83 : - int LA193_140 = input.LA(1); + int LA193_794 = input.LA(1); - int index193_140 = input.index(); + int index193_794 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_140); + input.seek(index193_794); if ( s>=0 ) return s; break; case 84 : - int LA193_284 = input.LA(1); + int LA193_795 = input.LA(1); - int index193_284 = input.index(); + int index193_795 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_284); + input.seek(index193_795); if ( s>=0 ) return s; break; case 85 : - int LA193_399 = input.LA(1); + int LA193_428 = input.LA(1); - int index193_399 = input.index(); + int index193_428 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_399); + input.seek(index193_428); if ( s>=0 ) return s; break; case 86 : - int LA193_533 = input.LA(1); + int LA193_805 = input.LA(1); - int index193_533 = input.index(); + int index193_805 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_533); + input.seek(index193_805); if ( s>=0 ) return s; break; case 87 : - int LA193_664 = input.LA(1); + int LA193_806 = input.LA(1); - int index193_664 = input.index(); + int index193_806 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_664); + input.seek(index193_806); if ( s>=0 ) return s; break; case 88 : - int LA193_769 = input.LA(1); + int LA193_731 = input.LA(1); - int index193_769 = input.index(); + int index193_731 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_769); + input.seek(index193_731); if ( s>=0 ) return s; break; case 89 : - int LA193_526 = input.LA(1); + int LA193_732 = input.LA(1); - int index193_526 = input.index(); + int index193_732 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_526); + input.seek(index193_732); if ( s>=0 ) return s; break; case 90 : - int LA193_145 = input.LA(1); + int LA193_691 = input.LA(1); - int index193_145 = input.index(); + int index193_691 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_145); + input.seek(index193_691); if ( s>=0 ) return s; break; case 91 : - int LA193_64 = input.LA(1); - - int index193_64 = input.index(); - input.rewind(); + int LA193_26 = input.LA(1); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} - else if ( (true) ) {s = 12;} - - input.seek(index193_64); + if ( (LA193_26=='p') ) {s = 107;} + else if ( (LA193_26=='P') ) {s = 108;} + else if ( ((LA193_26 >= '\u0000' && LA193_26 <= '\t')||LA193_26=='\u000B'||(LA193_26 >= '\u000E' && LA193_26 <= '/')||(LA193_26 >= '1' && LA193_26 <= '3')||(LA193_26 >= '8' && LA193_26 <= 'O')||(LA193_26 >= 'Q' && LA193_26 <= 'o')||(LA193_26 >= 'q' && LA193_26 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_26=='0') ) {s = 109;} + else if ( (LA193_26=='5'||LA193_26=='7') ) {s = 110;} + else if ( (LA193_26=='4'||LA193_26=='6') ) {s = 111;} if ( s>=0 ) return s; break; case 92 : - int LA193_95 = input.LA(1); + int LA193_543 = input.LA(1); - int index193_95 = input.index(); + int index193_543 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_95); + input.seek(index193_543); if ( s>=0 ) return s; break; case 93 : - int LA193_152 = input.LA(1); + int LA193_547 = input.LA(1); - int index193_152 = input.index(); + int index193_547 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_152); + input.seek(index193_547); if ( s>=0 ) return s; break; case 94 : - int LA193_518 = input.LA(1); + int LA193_544 = input.LA(1); - int index193_518 = input.index(); + int index193_544 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_518); + input.seek(index193_544); if ( s>=0 ) return s; break; case 95 : - int LA193_649 = input.LA(1); + int LA193_548 = input.LA(1); - int index193_649 = input.index(); + int index193_548 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_649); + input.seek(index193_548); if ( s>=0 ) return s; break; case 96 : - int LA193_269 = input.LA(1); + int LA193_554 = input.LA(1); - int index193_269 = input.index(); + int index193_554 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_269); + input.seek(index193_554); if ( s>=0 ) return s; break; case 97 : - int LA193_277 = input.LA(1); + int LA193_555 = input.LA(1); - int index193_277 = input.index(); + int index193_555 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_277); + input.seek(index193_555); if ( s>=0 ) return s; break; case 98 : - int LA193_384 = input.LA(1); + int LA193_397 = input.LA(1); - int index193_384 = input.index(); + int index193_397 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_384); + input.seek(index193_397); if ( s>=0 ) return s; break; case 99 : - int LA193_762 = input.LA(1); + int LA193_400 = input.LA(1); - int index193_762 = input.index(); + int index193_400 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_762); + input.seek(index193_400); if ( s>=0 ) return s; break; case 100 : - int LA193_657 = input.LA(1); + int LA193_311 = input.LA(1); - int index193_657 = input.index(); + int index193_311 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_657); + input.seek(index193_311); if ( s>=0 ) return s; break; case 101 : - int LA193_754 = input.LA(1); + int LA193_839 = input.LA(1); - int index193_754 = input.index(); + int index193_839 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_754); + input.seek(index193_839); if ( s>=0 ) return s; break; case 102 : - int LA193_392 = input.LA(1); + int LA193_840 = input.LA(1); - int index193_392 = input.index(); + int index193_840 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_392); + input.seek(index193_840); if ( s>=0 ) return s; break; case 103 : - int LA193_153 = input.LA(1); + int LA193_300 = input.LA(1); - int index193_153 = input.index(); + int index193_300 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_153); + input.seek(index193_300); if ( s>=0 ) return s; break; case 104 : - int LA193_66 = input.LA(1); + int LA193_570 = input.LA(1); - int index193_66 = input.index(); + int index193_570 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_66); + input.seek(index193_570); if ( s>=0 ) return s; break; case 105 : - int LA193_659 = input.LA(1); + int LA193_571 = input.LA(1); - int index193_659 = input.index(); + int index193_571 = input.index(); input.rewind(); s = -1; if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_659); + input.seek(index193_571); if ( s>=0 ) return s; break; case 106 : - int LA193_97 = input.LA(1); + int LA193_783 = input.LA(1); - int index193_97 = input.index(); + int index193_783 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_97); + input.seek(index193_783); if ( s>=0 ) return s; break; case 107 : - int LA193_146 = input.LA(1); + int LA193_784 = input.LA(1); - int index193_146 = input.index(); + int index193_784 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_146); + input.seek(index193_784); if ( s>=0 ) return s; break; case 108 : - int LA193_764 = input.LA(1); + int LA193_450 = input.LA(1); - int index193_764 = input.index(); + int index193_450 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_764); + input.seek(index193_450); if ( s>=0 ) return s; break; case 109 : - int LA193_520 = input.LA(1); + int LA193_451 = input.LA(1); - int index193_520 = input.index(); + int index193_451 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_520); + input.seek(index193_451); if ( s>=0 ) return s; break; case 110 : - int LA193_756 = input.LA(1); + int LA193_579 = input.LA(1); - int index193_756 = input.index(); + int index193_579 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_756); + input.seek(index193_579); if ( s>=0 ) return s; break; case 111 : - int LA193_271 = input.LA(1); + int LA193_281 = input.LA(1); - int index193_271 = input.index(); + int index193_281 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_271); + input.seek(index193_281); if ( s>=0 ) return s; break; case 112 : - int LA193_279 = input.LA(1); + int LA193_54 = input.LA(1); - int index193_279 = input.index(); + int index193_54 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_279); + input.seek(index193_54); if ( s>=0 ) return s; break; case 113 : - int LA193_386 = input.LA(1); + int LA193_87 = input.LA(1); - int index193_386 = input.index(); + int index193_87 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_386); + input.seek(index193_87); if ( s>=0 ) return s; break; case 114 : - int LA193_528 = input.LA(1); + int LA193_121 = input.LA(1); - int index193_528 = input.index(); + int index193_121 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_528); + input.seek(index193_121); if ( s>=0 ) return s; break; case 115 : - int LA193_394 = input.LA(1); + int LA193_139 = input.LA(1); - int index193_394 = input.index(); + int index193_139 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_394); + input.seek(index193_139); if ( s>=0 ) return s; break; case 116 : - int LA193_651 = input.LA(1); + int LA193_396 = input.LA(1); - int index193_651 = input.index(); + int index193_396 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_651); + input.seek(index193_396); if ( s>=0 ) return s; break; case 117 : - int LA193_715 = input.LA(1); + int LA193_766 = input.LA(1); - int index193_715 = input.index(); + int index193_766 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_715); + input.seek(index193_766); if ( s>=0 ) return s; break; case 118 : - int LA193_716 = input.LA(1); + int LA193_530 = input.LA(1); - int index193_716 = input.index(); + int index193_530 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_716); + input.seek(index193_530); if ( s>=0 ) return s; break; case 119 : - int LA193_562 = input.LA(1); + int LA193_661 = input.LA(1); - int index193_562 = input.index(); + int index193_661 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_562); + input.seek(index193_661); if ( s>=0 ) return s; break; case 120 : - int LA193_791 = input.LA(1); + int LA193_533 = input.LA(1); - int index193_791 = input.index(); + int index193_533 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_791); + input.seek(index193_533); if ( s>=0 ) return s; break; case 121 : - int LA193_792 = input.LA(1); + int LA193_57 = input.LA(1); - int index193_792 = input.index(); + int index193_57 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_792); + input.seek(index193_57); if ( s>=0 ) return s; break; case 122 : - int LA193_409 = input.LA(1); + int LA193_90 = input.LA(1); - int index193_409 = input.index(); + int index193_90 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_409); + input.seek(index193_90); if ( s>=0 ) return s; break; case 123 : - int LA193_413 = input.LA(1); + int LA193_122 = input.LA(1); - int index193_413 = input.index(); + int index193_122 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_413); + input.seek(index193_122); if ( s>=0 ) return s; break; case 124 : - int LA193_410 = input.LA(1); + int LA193_140 = input.LA(1); - int index193_410 = input.index(); + int index193_140 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_410); + input.seek(index193_140); if ( s>=0 ) return s; break; case 125 : - int LA193_414 = input.LA(1); + int LA193_284 = input.LA(1); - int index193_414 = input.index(); + int index193_284 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_414); + input.seek(index193_284); if ( s>=0 ) return s; break; case 126 : - int LA193_186 = input.LA(1); + int LA193_399 = input.LA(1); - int index193_186 = input.index(); + int index193_399 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_186); + input.seek(index193_399); if ( s>=0 ) return s; break; case 127 : - int LA193_189 = input.LA(1); + int LA193_664 = input.LA(1); - int index193_189 = input.index(); + int index193_664 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_189); + input.seek(index193_664); if ( s>=0 ) return s; break; case 128 : - int LA193_173 = input.LA(1); + int LA193_769 = input.LA(1); - int index193_173 = input.index(); + int index193_769 = input.index(); input.rewind(); s = -1; if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_173); + input.seek(index193_769); if ( s>=0 ) return s; break; case 129 : - int LA193_176 = input.LA(1); + int LA193_709 = input.LA(1); - int index193_176 = input.index(); + int index193_709 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_176); + input.seek(index193_709); if ( s>=0 ) return s; break; case 130 : - int LA193_639 = input.LA(1); + int LA193_710 = input.LA(1); - int index193_639 = input.index(); + int index193_710 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_639); + input.seek(index193_710); if ( s>=0 ) return s; break; case 131 : - int LA193_100 = input.LA(1); + int LA193_269 = input.LA(1); - int index193_100 = input.index(); + int index193_269 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_100); + input.seek(index193_269); if ( s>=0 ) return s; break; case 132 : - int LA193_79 = input.LA(1); + int LA193_95 = input.LA(1); - int index193_79 = input.index(); + int index193_95 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_79); + input.seek(index193_95); if ( s>=0 ) return s; break; case 133 : - int LA193_158 = input.LA(1); + int LA193_64 = input.LA(1); - int index193_158 = input.index(); + int index193_64 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_158); + input.seek(index193_64); if ( s>=0 ) return s; break; case 134 : - int LA193_160 = input.LA(1); + int LA193_145 = input.LA(1); - int index193_160 = input.index(); + int index193_145 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_160); + input.seek(index193_145); if ( s>=0 ) return s; break; case 135 : - int LA193_808 = input.LA(1); + int LA193_754 = input.LA(1); - int index193_808 = input.index(); + int index193_754 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_808); + input.seek(index193_754); if ( s>=0 ) return s; break; case 136 : - int LA193_389 = input.LA(1); + int LA193_657 = input.LA(1); - int index193_389 = input.index(); + int index193_657 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_389); + input.seek(index193_657); if ( s>=0 ) return s; break; case 137 : - int LA193_461 = input.LA(1); + int LA193_762 = input.LA(1); - int index193_461 = input.index(); + int index193_762 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_461); + input.seek(index193_762); if ( s>=0 ) return s; break; case 138 : - int LA193_759 = input.LA(1); + int LA193_526 = input.LA(1); - int index193_759 = input.index(); + int index193_526 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_759); + input.seek(index193_526); if ( s>=0 ) return s; break; case 139 : - int LA193_208 = input.LA(1); + int LA193_152 = input.LA(1); - int index193_208 = input.index(); + int index193_152 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_208); + input.seek(index193_152); if ( s>=0 ) return s; break; case 140 : - int LA193_595 = input.LA(1); + int LA193_277 = input.LA(1); - int index193_595 = input.index(); + int index193_277 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_595); + input.seek(index193_277); if ( s>=0 ) return s; break; case 141 : - int LA193_214 = input.LA(1); + int LA193_384 = input.LA(1); - int index193_214 = input.index(); + int index193_384 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_214); + input.seek(index193_384); if ( s>=0 ) return s; break; case 142 : - int LA193_274 = input.LA(1); + int LA193_649 = input.LA(1); - int index193_274 = input.index(); + int index193_649 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_274); + input.seek(index193_649); if ( s>=0 ) return s; break; case 143 : - int LA193_654 = input.LA(1); + int LA193_518 = input.LA(1); - int index193_654 = input.index(); + int index193_518 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_654); + input.seek(index193_518); if ( s>=0 ) return s; break; case 144 : - int LA193_719 = input.LA(1); + int LA193_392 = input.LA(1); - int index193_719 = input.index(); + int index193_392 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_719); + input.seek(index193_392); if ( s>=0 ) return s; break; case 145 : - int LA193_835 = input.LA(1); + int LA193_66 = input.LA(1); - int index193_835 = input.index(); + int index193_66 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_835); + input.seek(index193_66); if ( s>=0 ) return s; break; case 146 : - int LA193_327 = input.LA(1); + int LA193_97 = input.LA(1); - int index193_327 = input.index(); + int index193_97 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_327); + input.seek(index193_97); if ( s>=0 ) return s; break; case 147 : - int LA193_523 = input.LA(1); + int LA193_528 = input.LA(1); - int index193_523 = input.index(); + int index193_528 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_523); + input.seek(index193_528); if ( s>=0 ) return s; break; case 148 : - int LA193_329 = input.LA(1); + int LA193_651 = input.LA(1); - int index193_329 = input.index(); + int index193_651 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_329); + input.seek(index193_651); if ( s>=0 ) return s; break; case 149 : - int LA193_275 = input.LA(1); + int LA193_520 = input.LA(1); - int index193_275 = input.index(); + int index193_520 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_275); + input.seek(index193_520); if ( s>=0 ) return s; break; case 150 : - int LA193_81 = input.LA(1); + int LA193_146 = input.LA(1); - int index193_81 = input.index(); + int index193_146 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_81); + input.seek(index193_146); if ( s>=0 ) return s; break; case 151 : - int LA193_720 = input.LA(1); + int LA193_756 = input.LA(1); - int index193_720 = input.index(); + int index193_756 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_720); + input.seek(index193_756); if ( s>=0 ) return s; break; case 152 : - int LA193_101 = input.LA(1); + int LA193_153 = input.LA(1); - int index193_101 = input.index(); + int index193_153 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_101); + input.seek(index193_153); if ( s>=0 ) return s; break; case 153 : - int LA193_159 = input.LA(1); + int LA193_659 = input.LA(1); - int index193_159 = input.index(); + int index193_659 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_159); + input.seek(index193_659); if ( s>=0 ) return s; break; case 154 : - int LA193_161 = input.LA(1); + int LA193_271 = input.LA(1); - int index193_161 = input.index(); + int index193_271 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_161); + input.seek(index193_271); if ( s>=0 ) return s; break; case 155 : - int LA193_760 = input.LA(1); + int LA193_764 = input.LA(1); - int index193_760 = input.index(); + int index193_764 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_760); + input.seek(index193_764); if ( s>=0 ) return s; break; case 156 : - int LA193_836 = input.LA(1); + int LA193_279 = input.LA(1); - int index193_836 = input.index(); + int index193_279 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_836); + input.seek(index193_279); if ( s>=0 ) return s; break; case 157 : - int LA193_390 = input.LA(1); + int LA193_386 = input.LA(1); - int index193_390 = input.index(); + int index193_386 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_390); + input.seek(index193_386); if ( s>=0 ) return s; break; case 158 : - int LA193_596 = input.LA(1); + int LA193_394 = input.LA(1); - int index193_596 = input.index(); + int index193_394 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_596); + input.seek(index193_394); if ( s>=0 ) return s; break; case 159 : - int LA193_209 = input.LA(1); + int LA193_359 = input.LA(1); - int index193_209 = input.index(); + int index193_359 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_209); + input.seek(index193_359); if ( s>=0 ) return s; break; case 160 : - int LA193_462 = input.LA(1); + int LA193_662 = input.LA(1); - int index193_462 = input.index(); + int index193_662 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_462); + input.seek(index193_662); if ( s>=0 ) return s; break; case 161 : - int LA193_215 = input.LA(1); + int LA193_374 = input.LA(1); - int index193_215 = input.index(); + int index193_374 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_215); + input.seek(index193_374); if ( s>=0 ) return s; break; case 162 : - int LA193_655 = input.LA(1); + int LA193_665 = input.LA(1); - int index193_655 = input.index(); + int index193_665 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_655); + input.seek(index193_665); if ( s>=0 ) return s; break; case 163 : - int LA193_809 = input.LA(1); + int LA193_797 = input.LA(1); - int index193_809 = input.index(); + int index193_797 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_809); + input.seek(index193_797); if ( s>=0 ) return s; break; case 164 : - int LA193_328 = input.LA(1); + int LA193_715 = input.LA(1); - int index193_328 = input.index(); + int index193_715 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_328); + input.seek(index193_715); if ( s>=0 ) return s; break; case 165 : - int LA193_330 = input.LA(1); + int LA193_716 = input.LA(1); - int index193_330 = input.index(); + int index193_716 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_330); + input.seek(index193_716); if ( s>=0 ) return s; break; case 166 : - int LA193_524 = input.LA(1); + int LA193_791 = input.LA(1); - int index193_524 = input.index(); + int index193_791 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_524); + input.seek(index193_791); if ( s>=0 ) return s; break; case 167 : - int LA193_833 = input.LA(1); + int LA193_792 = input.LA(1); - int index193_833 = input.index(); + int index193_792 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_833); + input.seek(index193_792); if ( s>=0 ) return s; break; case 168 : - int LA193_834 = input.LA(1); + int LA193_186 = input.LA(1); - int index193_834 = input.index(); + int index193_186 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_834); + input.seek(index193_186); if ( s>=0 ) return s; break; case 169 : - int LA193_241 = input.LA(1); + int LA193_189 = input.LA(1); - int index193_241 = input.index(); + int index193_189 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_241); + input.seek(index193_189); if ( s>=0 ) return s; break; case 170 : - int LA193_242 = input.LA(1); + int LA193_562 = input.LA(1); - int index193_242 = input.index(); + int index193_562 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_242); + input.seek(index193_562); if ( s>=0 ) return s; break; case 171 : - int LA193_438 = input.LA(1); + int LA193_409 = input.LA(1); - int index193_438 = input.index(); + int index193_409 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_438); + input.seek(index193_409); if ( s>=0 ) return s; break; case 172 : - int LA193_788 = input.LA(1); + int LA193_413 = input.LA(1); - int index193_788 = input.index(); + int index193_413 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_788); + input.seek(index193_413); if ( s>=0 ) return s; break; case 173 : - int LA193_674 = input.LA(1); + int LA193_410 = input.LA(1); - int index193_674 = input.index(); + int index193_410 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_674); + input.seek(index193_410); if ( s>=0 ) return s; break; case 174 : - int LA193_678 = input.LA(1); + int LA193_414 = input.LA(1); - int index193_678 = input.index(); + int index193_414 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_678); + input.seek(index193_414); if ( s>=0 ) return s; break; case 175 : - int LA193_675 = input.LA(1); + int LA193_173 = input.LA(1); - int index193_675 = input.index(); + int index193_173 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_675); + input.seek(index193_173); if ( s>=0 ) return s; break; case 176 : - int LA193_679 = input.LA(1); + int LA193_176 = input.LA(1); - int index193_679 = input.index(); + int index193_176 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_679); + input.seek(index193_176); if ( s>=0 ) return s; break; case 177 : - int LA193_49 = input.LA(1); - - int index193_49 = input.index(); - input.rewind(); + int LA193_80 = input.LA(1); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} - else if ( (true) ) {s = 12;} - - input.seek(index193_49); + if ( (LA193_80=='z') ) {s = 217;} + else if ( (LA193_80=='Z') ) {s = 218;} + else if ( ((LA193_80 >= '\u0000' && LA193_80 <= '\t')||LA193_80=='\u000B'||(LA193_80 >= '\u000E' && LA193_80 <= '/')||(LA193_80 >= '1' && LA193_80 <= '4')||LA193_80=='6'||(LA193_80 >= '8' && LA193_80 <= 'Y')||(LA193_80 >= '[' && LA193_80 <= 'y')||(LA193_80 >= '{' && LA193_80 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_80=='0') ) {s = 219;} + else if ( (LA193_80=='5'||LA193_80=='7') ) {s = 220;} if ( s>=0 ) return s; break; case 178 : - int LA193_83 = input.LA(1); + int LA193_79 = input.LA(1); - int index193_83 = input.index(); + int index193_79 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_83); + input.seek(index193_79); if ( s>=0 ) return s; break; case 179 : - int LA193_263 = input.LA(1); + int LA193_100 = input.LA(1); - int index193_263 = input.index(); + int index193_100 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_263); + input.seek(index193_100); if ( s>=0 ) return s; break; case 180 : - int LA193_378 = input.LA(1); + int LA193_461 = input.LA(1); - int index193_378 = input.index(); + int index193_461 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_378); + input.seek(index193_461); if ( s>=0 ) return s; break; case 181 : - int LA193_512 = input.LA(1); + int LA193_158 = input.LA(1); - int index193_512 = input.index(); + int index193_158 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_512); + input.seek(index193_158); if ( s>=0 ) return s; break; case 182 : - int LA193_643 = input.LA(1); + int LA193_160 = input.LA(1); - int index193_643 = input.index(); + int index193_160 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_643); + input.seek(index193_160); if ( s>=0 ) return s; break; case 183 : - int LA193_748 = input.LA(1); + int LA193_208 = input.LA(1); - int index193_748 = input.index(); + int index193_208 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_748); + input.seek(index193_208); if ( s>=0 ) return s; break; case 184 : - int LA193_51 = input.LA(1); + int LA193_719 = input.LA(1); - int index193_51 = input.index(); + int index193_719 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_51); + input.seek(index193_719); if ( s>=0 ) return s; break; case 185 : - int LA193_85 = input.LA(1); + int LA193_759 = input.LA(1); - int index193_85 = input.index(); + int index193_759 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_85); + input.seek(index193_759); if ( s>=0 ) return s; break; case 186 : - int LA193_265 = input.LA(1); + int LA193_523 = input.LA(1); - int index193_265 = input.index(); + int index193_523 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_265); + input.seek(index193_523); if ( s>=0 ) return s; break; case 187 : - int LA193_380 = input.LA(1); + int LA193_808 = input.LA(1); - int index193_380 = input.index(); + int index193_808 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_380); + input.seek(index193_808); if ( s>=0 ) return s; break; case 188 : - int LA193_514 = input.LA(1); + int LA193_654 = input.LA(1); - int index193_514 = input.index(); + int index193_654 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_514); + input.seek(index193_654); if ( s>=0 ) return s; break; case 189 : - int LA193_645 = input.LA(1); + int LA193_214 = input.LA(1); - int index193_645 = input.index(); + int index193_214 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_645); + input.seek(index193_214); if ( s>=0 ) return s; break; case 190 : - int LA193_750 = input.LA(1); + int LA193_389 = input.LA(1); - int index193_750 = input.index(); + int index193_389 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_750); + input.seek(index193_389); if ( s>=0 ) return s; break; case 191 : - int LA193_427 = input.LA(1); + int LA193_595 = input.LA(1); - int index193_427 = input.index(); + int index193_595 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_427); + input.seek(index193_595); if ( s>=0 ) return s; break; case 192 : - int LA193_699 = input.LA(1); + int LA193_274 = input.LA(1); - int index193_699 = input.index(); + int index193_274 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_699); + input.seek(index193_274); if ( s>=0 ) return s; break; case 193 : - int LA193_80 = input.LA(1); + int LA193_327 = input.LA(1); + + int index193_327 = input.index(); + input.rewind(); s = -1; - if ( (LA193_80=='z') ) {s = 217;} - else if ( (LA193_80=='Z') ) {s = 218;} - else if ( ((LA193_80 >= '\u0000' && LA193_80 <= '\t')||LA193_80=='\u000B'||(LA193_80 >= '\u000E' && LA193_80 <= '/')||(LA193_80 >= '1' && LA193_80 <= '4')||LA193_80=='6'||(LA193_80 >= '8' && LA193_80 <= 'Y')||(LA193_80 >= '[' && LA193_80 <= 'y')||(LA193_80 >= '{' && LA193_80 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_80=='0') ) {s = 219;} - else if ( (LA193_80=='5'||LA193_80=='7') ) {s = 220;} + if ( (synpred12_Css3()) ) {s = 216;} + else if ( (true) ) {s = 12;} + + input.seek(index193_327); if ( s>=0 ) return s; break; case 194 : - int LA193_690 = input.LA(1); + int LA193_835 = input.LA(1); - int index193_690 = input.index(); + int index193_835 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_690); + input.seek(index193_835); if ( s>=0 ) return s; break; case 195 : - int LA193_584 = input.LA(1); + int LA193_329 = input.LA(1); - int index193_584 = input.index(); + int index193_329 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_584); + input.seek(index193_329); if ( s>=0 ) return s; break; case 196 : - int LA193_585 = input.LA(1); + int LA193_161 = input.LA(1); - int index193_585 = input.index(); + int index193_161 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_585); + input.seek(index193_161); if ( s>=0 ) return s; break; case 197 : - int LA193_765 = input.LA(1); + int LA193_81 = input.LA(1); - int index193_765 = input.index(); + int index193_81 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_765); + input.seek(index193_81); if ( s>=0 ) return s; break; case 198 : - int LA193_529 = input.LA(1); + int LA193_596 = input.LA(1); - int index193_529 = input.index(); + int index193_596 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_529); + input.seek(index193_596); if ( s>=0 ) return s; break; case 199 : - int LA193_119 = input.LA(1); + int LA193_655 = input.LA(1); - int index193_119 = input.index(); + int index193_655 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_119); + input.seek(index193_655); if ( s>=0 ) return s; break; case 200 : - int LA193_52 = input.LA(1); + int LA193_836 = input.LA(1); - int index193_52 = input.index(); + int index193_836 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_52); + input.seek(index193_836); if ( s>=0 ) return s; break; case 201 : - int LA193_86 = input.LA(1); + int LA193_720 = input.LA(1); - int index193_86 = input.index(); + int index193_720 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_86); + input.seek(index193_720); if ( s>=0 ) return s; break; case 202 : - int LA193_137 = input.LA(1); + int LA193_101 = input.LA(1); - int index193_137 = input.index(); + int index193_101 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_137); + input.seek(index193_101); if ( s>=0 ) return s; break; case 203 : - int LA193_660 = input.LA(1); + int LA193_159 = input.LA(1); - int index193_660 = input.index(); + int index193_159 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_660); + input.seek(index193_159); if ( s>=0 ) return s; break; case 204 : - int LA193_280 = input.LA(1); + int LA193_209 = input.LA(1); - int index193_280 = input.index(); + int index193_209 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_280); + input.seek(index193_209); if ( s>=0 ) return s; break; case 205 : - int LA193_395 = input.LA(1); + int LA193_462 = input.LA(1); - int index193_395 = input.index(); + int index193_462 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_395); + input.seek(index193_462); if ( s>=0 ) return s; break; case 206 : - int LA193_295 = input.LA(1); + int LA193_215 = input.LA(1); - int index193_295 = input.index(); + int index193_215 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_295); + input.seek(index193_215); if ( s>=0 ) return s; break; case 207 : - int LA193_120 = input.LA(1); + int LA193_809 = input.LA(1); - int index193_120 = input.index(); + int index193_809 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_120); + input.seek(index193_809); if ( s>=0 ) return s; break; case 208 : - int LA193_56 = input.LA(1); + int LA193_760 = input.LA(1); - int index193_56 = input.index(); + int index193_760 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_56); + input.seek(index193_760); if ( s>=0 ) return s; break; case 209 : - int LA193_89 = input.LA(1); + int LA193_524 = input.LA(1); - int index193_89 = input.index(); + int index193_524 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_89); + input.seek(index193_524); if ( s>=0 ) return s; break; case 210 : - int LA193_138 = input.LA(1); + int LA193_275 = input.LA(1); - int index193_138 = input.index(); + int index193_275 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_138); + input.seek(index193_275); if ( s>=0 ) return s; break; case 211 : - int LA193_283 = input.LA(1); + int LA193_328 = input.LA(1); - int index193_283 = input.index(); + int index193_328 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_283); + input.seek(index193_328); if ( s>=0 ) return s; break; case 212 : - int LA193_398 = input.LA(1); + int LA193_330 = input.LA(1); - int index193_398 = input.index(); + int index193_330 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_398); + input.seek(index193_330); if ( s>=0 ) return s; break; case 213 : - int LA193_532 = input.LA(1); + int LA193_390 = input.LA(1); - int index193_532 = input.index(); + int index193_390 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_532); + input.seek(index193_390); if ( s>=0 ) return s; break; case 214 : - int LA193_663 = input.LA(1); + int LA193_639 = input.LA(1); - int index193_663 = input.index(); + int index193_639 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_663); + input.seek(index193_639); if ( s>=0 ) return s; break; case 215 : - int LA193_768 = input.LA(1); + int LA193_241 = input.LA(1); - int index193_768 = input.index(); + int index193_241 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_768); + input.seek(index193_241); if ( s>=0 ) return s; break; case 216 : - int LA193_336 = input.LA(1); + int LA193_242 = input.LA(1); - int index193_336 = input.index(); + int index193_242 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_336); + input.seek(index193_242); if ( s>=0 ) return s; break; case 217 : - int LA193_337 = input.LA(1); + int LA193_833 = input.LA(1); - int index193_337 = input.index(); + int index193_833 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_337); + input.seek(index193_833); if ( s>=0 ) return s; break; case 218 : - int LA193_705 = input.LA(1); + int LA193_834 = input.LA(1); - int index193_705 = input.index(); + int index193_834 = input.index(); input.rewind(); s = -1; if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_705); + input.seek(index193_834); if ( s>=0 ) return s; break; case 219 : - int LA193_299 = input.LA(1); + int LA193_49 = input.LA(1); - int index193_299 = input.index(); + int index193_49 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_299); + input.seek(index193_49); if ( s>=0 ) return s; break; case 220 : - int LA193_494 = input.LA(1); + int LA193_83 = input.LA(1); - int index193_494 = input.index(); + int index193_83 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_494); + input.seek(index193_83); if ( s>=0 ) return s; break; case 221 : - int LA193_746 = input.LA(1); + int LA193_263 = input.LA(1); - int index193_746 = input.index(); + int index193_263 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_746); + input.seek(index193_263); if ( s>=0 ) return s; break; case 222 : - int LA193_800 = input.LA(1); + int LA193_378 = input.LA(1); - int index193_800 = input.index(); + int index193_378 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_800); + input.seek(index193_378); if ( s>=0 ) return s; break; case 223 : - int LA193_801 = input.LA(1); + int LA193_512 = input.LA(1); - int index193_801 = input.index(); + int index193_512 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_801); + input.seek(index193_512); if ( s>=0 ) return s; break; case 224 : - int LA193_340 = input.LA(1); + int LA193_643 = input.LA(1); - int index193_340 = input.index(); + int index193_643 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_340); + input.seek(index193_643); if ( s>=0 ) return s; break; case 225 : - int LA193_828 = input.LA(1); + int LA193_748 = input.LA(1); - int index193_828 = input.index(); + int index193_748 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_828); + input.seek(index193_748); if ( s>=0 ) return s; break; case 226 : - int LA193_197 = input.LA(1); + int LA193_51 = input.LA(1); + + int index193_51 = input.index(); + input.rewind(); s = -1; - if ( ((LA193_197 >= '\u0000' && LA193_197 <= '\t')||LA193_197=='\u000B'||(LA193_197 >= '\u000E' && LA193_197 <= '/')||(LA193_197 >= '1' && LA193_197 <= '3')||LA193_197=='5'||(LA193_197 >= '7' && LA193_197 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_197=='0') ) {s = 317;} - else if ( (LA193_197=='4'||LA193_197=='6') ) {s = 318;} + if ( (synpred4_Css3()) ) {s = 162;} + else if ( (true) ) {s = 12;} + + input.seek(index193_51); if ( s>=0 ) return s; break; case 227 : - int LA193_165 = input.LA(1); + int LA193_85 = input.LA(1); - int index193_165 = input.index(); + int index193_85 = input.index(); input.rewind(); s = -1; if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_165); + input.seek(index193_85); if ( s>=0 ) return s; break; case 228 : - int LA193_168 = input.LA(1); + int LA193_265 = input.LA(1); - int index193_168 = input.index(); + int index193_265 = input.index(); input.rewind(); s = -1; if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_168); + input.seek(index193_265); if ( s>=0 ) return s; break; case 229 : - int LA193_217 = input.LA(1); + int LA193_380 = input.LA(1); - int index193_217 = input.index(); + int index193_380 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_217); + input.seek(index193_380); if ( s>=0 ) return s; break; case 230 : - int LA193_218 = input.LA(1); + int LA193_514 = input.LA(1); - int index193_218 = input.index(); + int index193_514 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_218); + input.seek(index193_514); if ( s>=0 ) return s; break; case 231 : - int LA193_117 = input.LA(1); + int LA193_645 = input.LA(1); - int index193_117 = input.index(); + int index193_645 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_117); + input.seek(index193_645); if ( s>=0 ) return s; break; case 232 : - int LA193_112 = input.LA(1); + int LA193_750 = input.LA(1); - int index193_112 = input.index(); + int index193_750 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_112); + input.seek(index193_750); if ( s>=0 ) return s; break; case 233 : - int LA193_672 = input.LA(1); + int LA193_788 = input.LA(1); - int index193_672 = input.index(); + int index193_788 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_672); + input.seek(index193_788); if ( s>=0 ) return s; break; case 234 : - int LA193_739 = input.LA(1); + int LA193_438 = input.LA(1); - int index193_739 = input.index(); + int index193_438 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_739); + input.seek(index193_438); if ( s>=0 ) return s; break; case 235 : - int LA193_821 = input.LA(1); + int LA193_674 = input.LA(1); - int index193_821 = input.index(); + int index193_674 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_821); + input.seek(index193_674); if ( s>=0 ) return s; break; case 236 : - int LA193_355 = input.LA(1); + int LA193_678 = input.LA(1); - int index193_355 = input.index(); + int index193_678 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_355); + input.seek(index193_678); if ( s>=0 ) return s; break; case 237 : - int LA193_670 = input.LA(1); + int LA193_675 = input.LA(1); - int index193_670 = input.index(); + int index193_675 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_670); + input.seek(index193_675); if ( s>=0 ) return s; break; case 238 : - int LA193_405 = input.LA(1); + int LA193_679 = input.LA(1); - int index193_405 = input.index(); + int index193_679 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_405); + input.seek(index193_679); if ( s>=0 ) return s; break; case 239 : - int LA193_407 = input.LA(1); + int LA193_427 = input.LA(1); - int index193_407 = input.index(); + int index193_427 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_407); + input.seek(index193_427); if ( s>=0 ) return s; break; case 240 : - int LA193_773 = input.LA(1); + int LA193_699 = input.LA(1); - int index193_773 = input.index(); + int index193_699 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_773); + input.seek(index193_699); if ( s>=0 ) return s; break; case 241 : - int LA193_486 = input.LA(1); + int LA193_52 = input.LA(1); - int index193_486 = input.index(); + int index193_52 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_486); + input.seek(index193_52); if ( s>=0 ) return s; break; case 242 : - int LA193_539 = input.LA(1); + int LA193_86 = input.LA(1); - int index193_539 = input.index(); + int index193_86 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_539); + input.seek(index193_86); if ( s>=0 ) return s; break; case 243 : - int LA193_771 = input.LA(1); + int LA193_119 = input.LA(1); - int index193_771 = input.index(); + int index193_119 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_771); + input.seek(index193_119); if ( s>=0 ) return s; break; case 244 : - int LA193_541 = input.LA(1); + int LA193_137 = input.LA(1); - int index193_541 = input.index(); + int index193_137 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_541); + input.seek(index193_137); if ( s>=0 ) return s; break; case 245 : - int LA193_619 = input.LA(1); + int LA193_280 = input.LA(1); - int index193_619 = input.index(); + int index193_280 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_619); + input.seek(index193_280); if ( s>=0 ) return s; break; case 246 : - int LA193_118 = input.LA(1); + int LA193_395 = input.LA(1); - int index193_118 = input.index(); + int index193_395 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_118); + input.seek(index193_395); if ( s>=0 ) return s; break; case 247 : - int LA193_114 = input.LA(1); + int LA193_529 = input.LA(1); - int index193_114 = input.index(); + int index193_529 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_114); + input.seek(index193_529); if ( s>=0 ) return s; break; case 248 : - int LA193_356 = input.LA(1); + int LA193_660 = input.LA(1); - int index193_356 = input.index(); + int index193_660 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_356); + input.seek(index193_660); if ( s>=0 ) return s; break; case 249 : - int LA193_406 = input.LA(1); + int LA193_765 = input.LA(1); - int index193_406 = input.index(); + int index193_765 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_406); + input.seek(index193_765); if ( s>=0 ) return s; break; case 250 : - int LA193_408 = input.LA(1); + int LA193_120 = input.LA(1); - int index193_408 = input.index(); + int index193_120 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_408); + input.seek(index193_120); if ( s>=0 ) return s; break; case 251 : - int LA193_671 = input.LA(1); + int LA193_56 = input.LA(1); - int index193_671 = input.index(); + int index193_56 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_671); + input.seek(index193_56); if ( s>=0 ) return s; break; case 252 : - int LA193_487 = input.LA(1); + int LA193_89 = input.LA(1); - int index193_487 = input.index(); + int index193_89 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_487); + input.seek(index193_89); if ( s>=0 ) return s; break; case 253 : - int LA193_772 = input.LA(1); + int LA193_138 = input.LA(1); - int index193_772 = input.index(); + int index193_138 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_772); + input.seek(index193_138); if ( s>=0 ) return s; break; case 254 : - int LA193_540 = input.LA(1); + int LA193_283 = input.LA(1); - int index193_540 = input.index(); + int index193_283 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_540); + input.seek(index193_283); if ( s>=0 ) return s; break; case 255 : - int LA193_740 = input.LA(1); + int LA193_398 = input.LA(1); - int index193_740 = input.index(); + int index193_398 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_740); + input.seek(index193_398); if ( s>=0 ) return s; break; case 256 : - int LA193_542 = input.LA(1); + int LA193_532 = input.LA(1); - int index193_542 = input.index(); + int index193_532 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_542); + input.seek(index193_532); if ( s>=0 ) return s; break; case 257 : - int LA193_774 = input.LA(1); + int LA193_663 = input.LA(1); - int index193_774 = input.index(); + int index193_663 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_774); + input.seek(index193_663); if ( s>=0 ) return s; break; case 258 : - int LA193_620 = input.LA(1); + int LA193_768 = input.LA(1); - int index193_620 = input.index(); + int index193_768 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_620); + input.seek(index193_768); if ( s>=0 ) return s; break; case 259 : - int LA193_822 = input.LA(1); + int LA193_690 = input.LA(1); - int index193_822 = input.index(); + int index193_690 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_822); + input.seek(index193_690); if ( s>=0 ) return s; break; case 260 : - int LA193_673 = input.LA(1); + int LA193_584 = input.LA(1); - int index193_673 = input.index(); + int index193_584 = input.index(); input.rewind(); s = -1; - if ( (synpred9_Css3()) ) {s = 240;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_673); + input.seek(index193_584); if ( s>=0 ) return s; break; case 261 : - int LA193_304 = input.LA(1); + int LA193_585 = input.LA(1); - int index193_304 = input.index(); + int index193_585 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_304); + input.seek(index193_585); if ( s>=0 ) return s; break; case 262 : - int LA193_305 = input.LA(1); + int LA193_336 = input.LA(1); - int index193_305 = input.index(); + int index193_336 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_305); + input.seek(index193_336); if ( s>=0 ) return s; break; case 263 : - int LA193_171 = input.LA(1); + int LA193_295 = input.LA(1); - int index193_171 = input.index(); + int index193_295 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_171); + input.seek(index193_295); if ( s>=0 ) return s; break; case 264 : - int LA193_172 = input.LA(1); + int LA193_337 = input.LA(1); - int index193_172 = input.index(); + int index193_337 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_172); + input.seek(index193_337); if ( s>=0 ) return s; break; case 265 : - int LA193_572 = input.LA(1); + int LA193_705 = input.LA(1); - int index193_572 = input.index(); + int index193_705 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_572); + input.seek(index193_705); if ( s>=0 ) return s; break; case 266 : - int LA193_561 = input.LA(1); - - int index193_561 = input.index(); - input.rewind(); + int LA193_197 = input.LA(1); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} - else if ( (true) ) {s = 12;} - - input.seek(index193_561); + if ( ((LA193_197 >= '\u0000' && LA193_197 <= '\t')||LA193_197=='\u000B'||(LA193_197 >= '\u000E' && LA193_197 <= '/')||(LA193_197 >= '1' && LA193_197 <= '3')||LA193_197=='5'||(LA193_197 >= '7' && LA193_197 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_197=='0') ) {s = 317;} + else if ( (LA193_197=='4'||LA193_197=='6') ) {s = 318;} if ( s>=0 ) return s; break; case 267 : - int LA193_422 = input.LA(1); + int LA193_494 = input.LA(1); - int index193_422 = input.index(); + int index193_494 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_422); + input.seek(index193_494); if ( s>=0 ) return s; break; case 268 : - int LA193_465 = input.LA(1); + int LA193_299 = input.LA(1); - int index193_465 = input.index(); + int index193_299 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_465); + input.seek(index193_299); if ( s>=0 ) return s; break; case 269 : - int LA193_466 = input.LA(1); + int LA193_746 = input.LA(1); - int index193_466 = input.index(); + int index193_746 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_466); + input.seek(index193_746); if ( s>=0 ) return s; break; case 270 : - int LA193_55 = input.LA(1); + int LA193_800 = input.LA(1); - int index193_55 = input.index(); + int index193_800 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_55); + input.seek(index193_800); if ( s>=0 ) return s; break; case 271 : - int LA193_88 = input.LA(1); + int LA193_801 = input.LA(1); - int index193_88 = input.index(); + int index193_801 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_88); + input.seek(index193_801); if ( s>=0 ) return s; break; case 272 : - int LA193_123 = input.LA(1); + int LA193_340 = input.LA(1); - int index193_123 = input.index(); + int index193_340 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_123); + input.seek(index193_340); if ( s>=0 ) return s; break; case 273 : - int LA193_141 = input.LA(1); + int LA193_828 = input.LA(1); - int index193_141 = input.index(); + int index193_828 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_141); + input.seek(index193_828); if ( s>=0 ) return s; break; case 274 : - int LA193_767 = input.LA(1); + int LA193_165 = input.LA(1); - int index193_767 = input.index(); + int index193_165 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_767); + input.seek(index193_165); if ( s>=0 ) return s; break; case 275 : - int LA193_58 = input.LA(1); + int LA193_168 = input.LA(1); - int index193_58 = input.index(); + int index193_168 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_58); + input.seek(index193_168); if ( s>=0 ) return s; break; case 276 : - int LA193_91 = input.LA(1); + int LA193_217 = input.LA(1); - int index193_91 = input.index(); + int index193_217 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_91); + input.seek(index193_217); if ( s>=0 ) return s; break; case 277 : - int LA193_124 = input.LA(1); + int LA193_218 = input.LA(1); - int index193_124 = input.index(); + int index193_218 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_124); + input.seek(index193_218); if ( s>=0 ) return s; break; case 278 : - int LA193_142 = input.LA(1); + int LA193_539 = input.LA(1); - int index193_142 = input.index(); + int index193_539 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_142); + input.seek(index193_539); if ( s>=0 ) return s; break; case 279 : - int LA193_770 = input.LA(1); + int LA193_112 = input.LA(1); - int index193_770 = input.index(); + int index193_112 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_770); + input.seek(index193_112); if ( s>=0 ) return s; break; case 280 : - int LA193_686 = input.LA(1); + int LA193_670 = input.LA(1); - int index193_686 = input.index(); + int index193_670 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_686); + input.seek(index193_670); if ( s>=0 ) return s; break; case 281 : - int LA193_222 = input.LA(1); + int LA193_821 = input.LA(1); - int index193_222 = input.index(); + int index193_821 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_222); + input.seek(index193_821); if ( s>=0 ) return s; break; case 282 : - int LA193_223 = input.LA(1); + int LA193_117 = input.LA(1); - int index193_223 = input.index(); + int index193_117 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_223); + input.seek(index193_117); if ( s>=0 ) return s; break; case 283 : - int LA193_722 = input.LA(1); + int LA193_355 = input.LA(1); - int index193_722 = input.index(); + int index193_355 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_722); + input.seek(index193_355); if ( s>=0 ) return s; break; case 284 : - int LA193_723 = input.LA(1); + int LA193_405 = input.LA(1); - int index193_723 = input.index(); + int index193_405 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_723); + input.seek(index193_405); if ( s>=0 ) return s; break; case 285 : - int LA193_426 = input.LA(1); + int LA193_407 = input.LA(1); - int index193_426 = input.index(); + int index193_407 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_426); + input.seek(index193_407); if ( s>=0 ) return s; break; case 286 : - int LA193_627 = input.LA(1); + int LA193_486 = input.LA(1); - int index193_627 = input.index(); + int index193_486 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_627); + input.seek(index193_486); if ( s>=0 ) return s; break; case 287 : - int LA193_314 = input.LA(1); + int LA193_739 = input.LA(1); - int index193_314 = input.index(); + int index193_739 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_314); + input.seek(index193_739); if ( s>=0 ) return s; break; case 288 : - int LA193_689 = input.LA(1); + int LA193_541 = input.LA(1); - int index193_689 = input.index(); + int index193_541 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_689); + input.seek(index193_541); if ( s>=0 ) return s; break; case 289 : - int LA193_315 = input.LA(1); + int LA193_672 = input.LA(1); - int index193_315 = input.index(); + int index193_672 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_315); + input.seek(index193_672); if ( s>=0 ) return s; break; case 290 : - int LA193_793 = input.LA(1); + int LA193_771 = input.LA(1); - int index193_793 = input.index(); + int index193_771 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_793); + input.seek(index193_771); if ( s>=0 ) return s; break; case 291 : - int LA193_787 = input.LA(1); + int LA193_619 = input.LA(1); - int index193_787 = input.index(); + int index193_619 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_787); + input.seek(index193_619); if ( s>=0 ) return s; break; case 292 : - int LA193_179 = input.LA(1); + int LA193_773 = input.LA(1); - int index193_179 = input.index(); + int index193_773 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_179); + input.seek(index193_773); if ( s>=0 ) return s; break; case 293 : - int LA193_180 = input.LA(1); + int LA193_356 = input.LA(1); - int index193_180 = input.index(); + int index193_356 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_180); + input.seek(index193_356); if ( s>=0 ) return s; break; case 294 : - int LA193_469 = input.LA(1); + int LA193_114 = input.LA(1); - int index193_469 = input.index(); + int index193_114 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_469); + input.seek(index193_114); if ( s>=0 ) return s; break; case 295 : - int LA193_103 = input.LA(1); - s = -1; - if ( (LA193_103=='i') ) {s = 222;} - else if ( (LA193_103=='I') ) {s = 223;} - else if ( ((LA193_103 >= '\u0000' && LA193_103 <= '\t')||LA193_103=='\u000B'||(LA193_103 >= '\u000E' && LA193_103 <= '/')||(LA193_103 >= '1' && LA193_103 <= '3')||LA193_103=='5'||(LA193_103 >= '7' && LA193_103 <= 'H')||(LA193_103 >= 'J' && LA193_103 <= 'h')||(LA193_103 >= 'j' && LA193_103 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_103=='0') ) {s = 224;} - else if ( (LA193_103=='4'||LA193_103=='6') ) {s = 225;} - if ( s>=0 ) return s; - break; - case 296 : - int LA193_725 = input.LA(1); + int LA193_118 = input.LA(1); - int index193_725 = input.index(); + int index193_118 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_725); + input.seek(index193_118); if ( s>=0 ) return s; break; - case 297 : - int LA193_827 = input.LA(1); + case 296 : + int LA193_671 = input.LA(1); - int index193_827 = input.index(); + int index193_671 = input.index(); input.rewind(); s = -1; if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_827); + input.seek(index193_671); + if ( s>=0 ) return s; + break; + case 297 : + int LA193_774 = input.LA(1); + + int index193_774 = input.index(); + input.rewind(); + s = -1; + if ( (synpred9_Css3()) ) {s = 240;} + else if ( (true) ) {s = 12;} + + input.seek(index193_774); if ( s>=0 ) return s; break; case 298 : - int LA193_113 = input.LA(1); + int LA193_406 = input.LA(1); + + int index193_406 = input.index(); + input.rewind(); s = -1; - if ( (LA193_113=='g') ) {s = 241;} - else if ( (LA193_113=='G') ) {s = 242;} - else if ( ((LA193_113 >= '\u0000' && LA193_113 <= '\t')||LA193_113=='\u000B'||(LA193_113 >= '\u000E' && LA193_113 <= '/')||(LA193_113 >= '1' && LA193_113 <= '3')||LA193_113=='5'||(LA193_113 >= '7' && LA193_113 <= 'F')||(LA193_113 >= 'H' && LA193_113 <= 'f')||(LA193_113 >= 'h' && LA193_113 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_113=='0') ) {s = 243;} - else if ( (LA193_113=='4'||LA193_113=='6') ) {s = 244;} + if ( (synpred9_Css3()) ) {s = 240;} + else if ( (true) ) {s = 12;} + + input.seek(index193_406); if ( s>=0 ) return s; break; case 299 : - int LA193_475 = input.LA(1); + int LA193_408 = input.LA(1); - int index193_475 = input.index(); + int index193_408 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_475); + input.seek(index193_408); if ( s>=0 ) return s; break; case 300 : - int LA193_476 = input.LA(1); + int LA193_673 = input.LA(1); - int index193_476 = input.index(); + int index193_673 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_476); + input.seek(index193_673); if ( s>=0 ) return s; break; case 301 : - int LA193_2 = input.LA(1); + int LA193_772 = input.LA(1); + + int index193_772 = input.index(); + input.rewind(); s = -1; - if ( (LA193_2=='p') ) {s = 30;} - else if ( (LA193_2=='0') ) {s = 31;} - else if ( (LA193_2=='4'||LA193_2=='6') ) {s = 32;} - else if ( (LA193_2=='P') ) {s = 33;} - else if ( (LA193_2=='m') ) {s = 34;} - else if ( (LA193_2=='5'||LA193_2=='7') ) {s = 35;} - else if ( (LA193_2=='M') ) {s = 36;} - else if ( (LA193_2=='i') ) {s = 37;} - else if ( (LA193_2=='I') ) {s = 38;} - else if ( (LA193_2=='r') ) {s = 39;} - else if ( (LA193_2=='R') ) {s = 40;} - else if ( (LA193_2=='s') ) {s = 41;} - else if ( (LA193_2=='S') ) {s = 42;} - else if ( (LA193_2=='k') ) {s = 43;} - else if ( (LA193_2=='K') ) {s = 44;} - else if ( (LA193_2=='h') ) {s = 45;} - else if ( (LA193_2=='H') ) {s = 46;} - else if ( ((LA193_2 >= '\u0000' && LA193_2 <= '\t')||LA193_2=='\u000B'||(LA193_2 >= '\u000E' && LA193_2 <= '/')||(LA193_2 >= '1' && LA193_2 <= '3')||(LA193_2 >= '8' && LA193_2 <= 'G')||LA193_2=='J'||LA193_2=='L'||(LA193_2 >= 'N' && LA193_2 <= 'O')||LA193_2=='Q'||(LA193_2 >= 'T' && LA193_2 <= 'g')||LA193_2=='j'||LA193_2=='l'||(LA193_2 >= 'n' && LA193_2 <= 'o')||LA193_2=='q'||(LA193_2 >= 't' && LA193_2 <= '\uFFFF')) ) {s = 12;} + if ( (synpred9_Css3()) ) {s = 240;} + else if ( (true) ) {s = 12;} + + input.seek(index193_772); if ( s>=0 ) return s; break; case 302 : - int LA193_59 = input.LA(1); + int LA193_487 = input.LA(1); - int index193_59 = input.index(); + int index193_487 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_59); + input.seek(index193_487); if ( s>=0 ) return s; break; case 303 : - int LA193_92 = input.LA(1); + int LA193_822 = input.LA(1); - int index193_92 = input.index(); + int index193_822 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_92); + input.seek(index193_822); if ( s>=0 ) return s; break; case 304 : - int LA193_266 = input.LA(1); + int LA193_540 = input.LA(1); - int index193_266 = input.index(); + int index193_540 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_266); + input.seek(index193_540); if ( s>=0 ) return s; break; case 305 : - int LA193_381 = input.LA(1); + int LA193_542 = input.LA(1); - int index193_381 = input.index(); + int index193_542 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_381); + input.seek(index193_542); if ( s>=0 ) return s; break; case 306 : - int LA193_431 = input.LA(1); + int LA193_740 = input.LA(1); - int index193_431 = input.index(); + int index193_740 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_431); + input.seek(index193_740); if ( s>=0 ) return s; break; case 307 : - int LA193_515 = input.LA(1); + int LA193_620 = input.LA(1); - int index193_515 = input.index(); + int index193_620 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_515); + input.seek(index193_620); if ( s>=0 ) return s; break; case 308 : - int LA193_646 = input.LA(1); + int LA193_171 = input.LA(1); - int index193_646 = input.index(); + int index193_171 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_646); + input.seek(index193_171); if ( s>=0 ) return s; break; case 309 : - int LA193_751 = input.LA(1); + int LA193_172 = input.LA(1); - int index193_751 = input.index(); + int index193_172 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_751); + input.seek(index193_172); if ( s>=0 ) return s; break; case 310 : - int LA193_61 = input.LA(1); + int LA193_304 = input.LA(1); - int index193_61 = input.index(); + int index193_304 = input.index(); input.rewind(); s = -1; if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_61); + input.seek(index193_304); if ( s>=0 ) return s; break; case 311 : - int LA193_93 = input.LA(1); + int LA193_305 = input.LA(1); - int index193_93 = input.index(); + int index193_305 = input.index(); input.rewind(); s = -1; if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_93); + input.seek(index193_305); if ( s>=0 ) return s; break; case 312 : - int LA193_196 = input.LA(1); + int LA193_572 = input.LA(1); - int index193_196 = input.index(); + int index193_572 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_196); + input.seek(index193_572); if ( s>=0 ) return s; break; case 313 : - int LA193_204 = input.LA(1); + int LA193_561 = input.LA(1); - int index193_204 = input.index(); + int index193_561 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_204); + input.seek(index193_561); if ( s>=0 ) return s; break; case 314 : - int LA193_267 = input.LA(1); + int LA193_55 = input.LA(1); - int index193_267 = input.index(); + int index193_55 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_267); + input.seek(index193_55); if ( s>=0 ) return s; break; case 315 : - int LA193_382 = input.LA(1); + int LA193_88 = input.LA(1); - int index193_382 = input.index(); + int index193_88 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_382); + input.seek(index193_88); if ( s>=0 ) return s; break; case 316 : - int LA193_752 = input.LA(1); + int LA193_123 = input.LA(1); - int index193_752 = input.index(); + int index193_123 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_752); + input.seek(index193_123); if ( s>=0 ) return s; break; case 317 : - int LA193_432 = input.LA(1); + int LA193_141 = input.LA(1); - int index193_432 = input.index(); + int index193_141 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_432); + input.seek(index193_141); if ( s>=0 ) return s; break; case 318 : - int LA193_829 = input.LA(1); + int LA193_767 = input.LA(1); - int index193_829 = input.index(); + int index193_767 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_829); + input.seek(index193_767); if ( s>=0 ) return s; break; case 319 : - int LA193_775 = input.LA(1); + int LA193_58 = input.LA(1); - int index193_775 = input.index(); + int index193_58 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_775); + input.seek(index193_58); if ( s>=0 ) return s; break; case 320 : - int LA193_779 = input.LA(1); + int LA193_91 = input.LA(1); - int index193_779 = input.index(); + int index193_91 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_779); + input.seek(index193_91); if ( s>=0 ) return s; break; case 321 : - int LA193_516 = input.LA(1); + int LA193_124 = input.LA(1); - int index193_516 = input.index(); + int index193_124 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_516); + input.seek(index193_124); if ( s>=0 ) return s; break; case 322 : - int LA193_647 = input.LA(1); + int LA193_142 = input.LA(1); - int index193_647 = input.index(); + int index193_142 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_647); + input.seek(index193_142); if ( s>=0 ) return s; break; case 323 : - int LA193_198 = input.LA(1); + int LA193_770 = input.LA(1); - int index193_198 = input.index(); + int index193_770 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_198); + input.seek(index193_770); if ( s>=0 ) return s; break; case 324 : - int LA193_205 = input.LA(1); + int LA193_465 = input.LA(1); - int index193_205 = input.index(); + int index193_465 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_205); + input.seek(index193_465); if ( s>=0 ) return s; break; case 325 : - int LA193_776 = input.LA(1); + int LA193_422 = input.LA(1); - int index193_776 = input.index(); + int index193_422 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_776); + input.seek(index193_422); if ( s>=0 ) return s; break; case 326 : - int LA193_780 = input.LA(1); + int LA193_466 = input.LA(1); - int index193_780 = input.index(); + int index193_466 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_780); + input.seek(index193_466); if ( s>=0 ) return s; break; case 327 : - int LA193_830 = input.LA(1); + int LA193_222 = input.LA(1); - int index193_830 = input.index(); + int index193_222 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_830); + input.seek(index193_222); if ( s>=0 ) return s; break; case 328 : - int LA193_293 = input.LA(1); + int LA193_223 = input.LA(1); - int index193_293 = input.index(); + int index193_223 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_293); + input.seek(index193_223); if ( s>=0 ) return s; break; case 329 : - int LA193_294 = input.LA(1); + int LA193_722 = input.LA(1); - int index193_294 = input.index(); + int index193_722 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_294); + input.seek(index193_722); if ( s>=0 ) return s; break; case 330 : - int LA193_693 = input.LA(1); + int LA193_686 = input.LA(1); - int index193_693 = input.index(); + int index193_686 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_693); + input.seek(index193_686); if ( s>=0 ) return s; break; case 331 : - int LA193_694 = input.LA(1); + int LA193_723 = input.LA(1); - int index193_694 = input.index(); + int index193_723 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_694); + input.seek(index193_723); if ( s>=0 ) return s; break; case 332 : - int LA193_192 = input.LA(1); - - int index193_192 = input.index(); - input.rewind(); + int LA193_103 = input.LA(1); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} - else if ( (true) ) {s = 12;} - - input.seek(index193_192); + if ( (LA193_103=='i') ) {s = 222;} + else if ( (LA193_103=='I') ) {s = 223;} + else if ( ((LA193_103 >= '\u0000' && LA193_103 <= '\t')||LA193_103=='\u000B'||(LA193_103 >= '\u000E' && LA193_103 <= '/')||(LA193_103 >= '1' && LA193_103 <= '3')||LA193_103=='5'||(LA193_103 >= '7' && LA193_103 <= 'H')||(LA193_103 >= 'J' && LA193_103 <= 'h')||(LA193_103 >= 'j' && LA193_103 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_103=='0') ) {s = 224;} + else if ( (LA193_103=='4'||LA193_103=='6') ) {s = 225;} if ( s>=0 ) return s; break; case 333 : - int LA193_115 = input.LA(1); + int LA193_627 = input.LA(1); - int index193_115 = input.index(); + int index193_627 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_115); + input.seek(index193_627); if ( s>=0 ) return s; break; case 334 : - int LA193_102 = input.LA(1); + int LA193_426 = input.LA(1); - int index193_102 = input.index(); + int index193_426 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_102); + input.seek(index193_426); if ( s>=0 ) return s; break; case 335 : - int LA193_231 = input.LA(1); - - int index193_231 = input.index(); - input.rewind(); + int LA193_113 = input.LA(1); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} - else if ( (true) ) {s = 12;} - - input.seek(index193_231); + if ( (LA193_113=='g') ) {s = 241;} + else if ( (LA193_113=='G') ) {s = 242;} + else if ( ((LA193_113 >= '\u0000' && LA193_113 <= '\t')||LA193_113=='\u000B'||(LA193_113 >= '\u000E' && LA193_113 <= '/')||(LA193_113 >= '1' && LA193_113 <= '3')||LA193_113=='5'||(LA193_113 >= '7' && LA193_113 <= 'F')||(LA193_113 >= 'H' && LA193_113 <= 'f')||(LA193_113 >= 'h' && LA193_113 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_113=='0') ) {s = 243;} + else if ( (LA193_113=='4'||LA193_113=='6') ) {s = 244;} if ( s>=0 ) return s; break; case 336 : - int LA193_233 = input.LA(1); + int LA193_314 = input.LA(1); - int index193_233 = input.index(); + int index193_314 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_233); + input.seek(index193_314); if ( s>=0 ) return s; break; case 337 : - int LA193_351 = input.LA(1); + int LA193_315 = input.LA(1); - int index193_351 = input.index(); + int index193_315 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_351); + input.seek(index193_315); if ( s>=0 ) return s; break; case 338 : - int LA193_482 = input.LA(1); + int LA193_689 = input.LA(1); - int index193_482 = input.index(); + int index193_689 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_482); + input.seek(index193_689); if ( s>=0 ) return s; break; case 339 : - int LA193_615 = input.LA(1); + int LA193_793 = input.LA(1); - int index193_615 = input.index(); + int index193_793 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_615); + input.seek(index193_793); if ( s>=0 ) return s; break; case 340 : - int LA193_735 = input.LA(1); + int LA193_179 = input.LA(1); - int index193_735 = input.index(); + int index193_179 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_735); + input.seek(index193_179); if ( s>=0 ) return s; break; case 341 : - int LA193_819 = input.LA(1); + int LA193_180 = input.LA(1); - int index193_819 = input.index(); + int index193_180 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_819); + input.seek(index193_180); if ( s>=0 ) return s; break; case 342 : - int LA193_193 = input.LA(1); + int LA193_787 = input.LA(1); - int index193_193 = input.index(); + int index193_787 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_193); + input.seek(index193_787); if ( s>=0 ) return s; break; case 343 : - int LA193_232 = input.LA(1); + int LA193_469 = input.LA(1); - int index193_232 = input.index(); + int index193_469 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_232); + input.seek(index193_469); if ( s>=0 ) return s; break; case 344 : - int LA193_105 = input.LA(1); + int LA193_725 = input.LA(1); - int index193_105 = input.index(); + int index193_725 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_105); + input.seek(index193_725); if ( s>=0 ) return s; break; case 345 : - int LA193_116 = input.LA(1); + int LA193_827 = input.LA(1); - int index193_116 = input.index(); + int index193_827 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred9_Css3()) ) {s = 240;} else if ( (true) ) {s = 12;} - input.seek(index193_116); + input.seek(index193_827); if ( s>=0 ) return s; break; case 346 : - int LA193_234 = input.LA(1); + int LA193_59 = input.LA(1); - int index193_234 = input.index(); + int index193_59 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_234); + input.seek(index193_59); if ( s>=0 ) return s; break; case 347 : - int LA193_353 = input.LA(1); + int LA193_92 = input.LA(1); - int index193_353 = input.index(); + int index193_92 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_353); + input.seek(index193_92); if ( s>=0 ) return s; break; case 348 : - int LA193_820 = input.LA(1); + int LA193_266 = input.LA(1); - int index193_820 = input.index(); + int index193_266 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_820); + input.seek(index193_266); if ( s>=0 ) return s; break; case 349 : - int LA193_484 = input.LA(1); + int LA193_381 = input.LA(1); - int index193_484 = input.index(); + int index193_381 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_484); + input.seek(index193_381); if ( s>=0 ) return s; break; case 350 : - int LA193_617 = input.LA(1); + int LA193_515 = input.LA(1); - int index193_617 = input.index(); + int index193_515 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_617); + input.seek(index193_515); if ( s>=0 ) return s; break; case 351 : - int LA193_737 = input.LA(1); + int LA193_646 = input.LA(1); - int index193_737 = input.index(); + int index193_646 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_737); + input.seek(index193_646); if ( s>=0 ) return s; break; case 352 : - int LA193_556 = input.LA(1); + int LA193_751 = input.LA(1); - int index193_556 = input.index(); + int index193_751 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_556); + input.seek(index193_751); if ( s>=0 ) return s; break; case 353 : - int LA193_599 = input.LA(1); + int LA193_61 = input.LA(1); - int index193_599 = input.index(); + int index193_61 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_599); + input.seek(index193_61); if ( s>=0 ) return s; break; case 354 : - int LA193_600 = input.LA(1); + int LA193_93 = input.LA(1); - int index193_600 = input.index(); + int index193_93 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_600); + input.seek(index193_93); if ( s>=0 ) return s; break; case 355 : - int LA193_652 = input.LA(1); + int LA193_267 = input.LA(1); - int index193_652 = input.index(); + int index193_267 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_652); + input.seek(index193_267); if ( s>=0 ) return s; break; case 356 : - int LA193_67 = input.LA(1); + int LA193_382 = input.LA(1); - int index193_67 = input.index(); + int index193_382 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_67); + input.seek(index193_382); if ( s>=0 ) return s; break; case 357 : - int LA193_98 = input.LA(1); + int LA193_516 = input.LA(1); - int index193_98 = input.index(); + int index193_516 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_98); + input.seek(index193_516); if ( s>=0 ) return s; break; case 358 : - int LA193_154 = input.LA(1); + int LA193_647 = input.LA(1); - int index193_154 = input.index(); + int index193_647 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_154); + input.seek(index193_647); if ( s>=0 ) return s; break; case 359 : - int LA193_156 = input.LA(1); + int LA193_752 = input.LA(1); - int index193_156 = input.index(); + int index193_752 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_156); + input.seek(index193_752); if ( s>=0 ) return s; break; case 360 : - int LA193_272 = input.LA(1); + int LA193_196 = input.LA(1); - int index193_272 = input.index(); + int index193_196 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_272); + input.seek(index193_196); if ( s>=0 ) return s; break; case 361 : - int LA193_387 = input.LA(1); + int LA193_204 = input.LA(1); - int index193_387 = input.index(); + int index193_204 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_387); + input.seek(index193_204); if ( s>=0 ) return s; break; case 362 : - int LA193_521 = input.LA(1); + int LA193_775 = input.LA(1); - int index193_521 = input.index(); + int index193_775 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_521); + input.seek(index193_775); if ( s>=0 ) return s; break; case 363 : - int LA193_757 = input.LA(1); + int LA193_779 = input.LA(1); - int index193_757 = input.index(); + int index193_779 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_757); + input.seek(index193_779); if ( s>=0 ) return s; break; case 364 : - int LA193_99 = input.LA(1); + int LA193_829 = input.LA(1); - int index193_99 = input.index(); + int index193_829 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_99); + input.seek(index193_829); if ( s>=0 ) return s; break; case 365 : - int LA193_69 = input.LA(1); + int LA193_198 = input.LA(1); - int index193_69 = input.index(); + int index193_198 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_69); + input.seek(index193_198); if ( s>=0 ) return s; break; case 366 : - int LA193_155 = input.LA(1); + int LA193_205 = input.LA(1); - int index193_155 = input.index(); + int index193_205 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_155); + input.seek(index193_205); if ( s>=0 ) return s; break; case 367 : - int LA193_157 = input.LA(1); + int LA193_776 = input.LA(1); - int index193_157 = input.index(); + int index193_776 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_157); + input.seek(index193_776); if ( s>=0 ) return s; break; case 368 : - int LA193_273 = input.LA(1); + int LA193_780 = input.LA(1); - int index193_273 = input.index(); + int index193_780 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_273); + input.seek(index193_780); if ( s>=0 ) return s; break; case 369 : - int LA193_388 = input.LA(1); + int LA193_830 = input.LA(1); - int index193_388 = input.index(); + int index193_830 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_388); + input.seek(index193_830); if ( s>=0 ) return s; break; case 370 : - int LA193_522 = input.LA(1); + int LA193_475 = input.LA(1); - int index193_522 = input.index(); + int index193_475 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_522); + input.seek(index193_475); if ( s>=0 ) return s; break; case 371 : - int LA193_653 = input.LA(1); + int LA193_476 = input.LA(1); - int index193_653 = input.index(); + int index193_476 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_653); + input.seek(index193_476); if ( s>=0 ) return s; break; case 372 : - int LA193_758 = input.LA(1); - - int index193_758 = input.index(); - input.rewind(); + int LA193_2 = input.LA(1); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} - else if ( (true) ) {s = 12;} - - input.seek(index193_758); + if ( (LA193_2=='p') ) {s = 30;} + else if ( (LA193_2=='0') ) {s = 31;} + else if ( (LA193_2=='4'||LA193_2=='6') ) {s = 32;} + else if ( (LA193_2=='P') ) {s = 33;} + else if ( (LA193_2=='m') ) {s = 34;} + else if ( (LA193_2=='5'||LA193_2=='7') ) {s = 35;} + else if ( (LA193_2=='M') ) {s = 36;} + else if ( (LA193_2=='i') ) {s = 37;} + else if ( (LA193_2=='I') ) {s = 38;} + else if ( (LA193_2=='r') ) {s = 39;} + else if ( (LA193_2=='R') ) {s = 40;} + else if ( (LA193_2=='s') ) {s = 41;} + else if ( (LA193_2=='S') ) {s = 42;} + else if ( (LA193_2=='k') ) {s = 43;} + else if ( (LA193_2=='K') ) {s = 44;} + else if ( (LA193_2=='h') ) {s = 45;} + else if ( (LA193_2=='H') ) {s = 46;} + else if ( ((LA193_2 >= '\u0000' && LA193_2 <= '\t')||LA193_2=='\u000B'||(LA193_2 >= '\u000E' && LA193_2 <= '/')||(LA193_2 >= '1' && LA193_2 <= '3')||(LA193_2 >= '8' && LA193_2 <= 'G')||LA193_2=='J'||LA193_2=='L'||(LA193_2 >= 'N' && LA193_2 <= 'O')||LA193_2=='Q'||(LA193_2 >= 'T' && LA193_2 <= 'g')||LA193_2=='j'||LA193_2=='l'||(LA193_2 >= 'n' && LA193_2 <= 'o')||LA193_2=='q'||(LA193_2 >= 't' && LA193_2 <= '\uFFFF')) ) {s = 12;} if ( s>=0 ) return s; break; case 373 : - int LA193_560 = input.LA(1); + int LA193_431 = input.LA(1); - int index193_560 = input.index(); + int index193_431 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_560); + input.seek(index193_431); if ( s>=0 ) return s; break; case 374 : - int LA193_9 = input.LA(1); + int LA193_432 = input.LA(1); - int index193_9 = input.index(); + int index193_432 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_9); + input.seek(index193_432); if ( s>=0 ) return s; break; case 375 : - int LA193_20 = input.LA(1); + int LA193_192 = input.LA(1); - int index193_20 = input.index(); + int index193_192 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_20); + input.seek(index193_192); if ( s>=0 ) return s; break; case 376 : - int LA193_309 = input.LA(1); + int LA193_193 = input.LA(1); - int index193_309 = input.index(); + int index193_193 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_309); + input.seek(index193_193); if ( s>=0 ) return s; break; case 377 : - int LA193_310 = input.LA(1); + int LA193_102 = input.LA(1); - int index193_310 = input.index(); + int index193_102 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_310); + input.seek(index193_102); if ( s>=0 ) return s; break; case 378 : - int LA193_227 = input.LA(1); + int LA193_115 = input.LA(1); + + int index193_115 = input.index(); + input.rewind(); s = -1; - if ( (LA193_227=='m') ) {s = 342;} - else if ( (LA193_227=='M') ) {s = 343;} - else if ( ((LA193_227 >= '\u0000' && LA193_227 <= '\t')||LA193_227=='\u000B'||(LA193_227 >= '\u000E' && LA193_227 <= '/')||(LA193_227 >= '1' && LA193_227 <= '3')||LA193_227=='5'||(LA193_227 >= '7' && LA193_227 <= 'L')||(LA193_227 >= 'N' && LA193_227 <= 'l')||(LA193_227 >= 'n' && LA193_227 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_227=='0') ) {s = 344;} - else if ( (LA193_227=='4'||LA193_227=='6') ) {s = 345;} + if ( (synpred3_Css3()) ) {s = 221;} + else if ( (true) ) {s = 12;} + + input.seek(index193_115); if ( s>=0 ) return s; break; case 379 : - int LA193_441 = input.LA(1); + int LA193_231 = input.LA(1); - int index193_441 = input.index(); + int index193_231 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_441); + input.seek(index193_231); if ( s>=0 ) return s; break; case 380 : - int LA193_442 = input.LA(1); + int LA193_233 = input.LA(1); - int index193_442 = input.index(); + int index193_233 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_442); + input.seek(index193_233); if ( s>=0 ) return s; break; case 381 : - int LA193_60 = input.LA(1); + int LA193_351 = input.LA(1); + + int index193_351 = input.index(); + input.rewind(); s = -1; - if ( (LA193_60=='m') ) {s = 179;} - else if ( (LA193_60=='M') ) {s = 180;} - else if ( ((LA193_60 >= '\u0000' && LA193_60 <= '\t')||LA193_60=='\u000B'||(LA193_60 >= '\u000E' && LA193_60 <= '/')||(LA193_60 >= '1' && LA193_60 <= '3')||LA193_60=='5'||(LA193_60 >= '7' && LA193_60 <= 'L')||(LA193_60 >= 'N' && LA193_60 <= 'l')||(LA193_60 >= 'n' && LA193_60 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_60=='0') ) {s = 181;} - else if ( (LA193_60=='4'||LA193_60=='6') ) {s = 182;} + if ( (synpred3_Css3()) ) {s = 221;} + else if ( (true) ) {s = 12;} + + input.seek(index193_351); if ( s>=0 ) return s; break; case 382 : - int LA193_701 = input.LA(1); + int LA193_482 = input.LA(1); - int index193_701 = input.index(); + int index193_482 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_701); + input.seek(index193_482); if ( s>=0 ) return s; break; case 383 : - int LA193_702 = input.LA(1); + int LA193_615 = input.LA(1); - int index193_702 = input.index(); + int index193_615 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_702); + input.seek(index193_615); if ( s>=0 ) return s; break; case 384 : - int LA193_342 = input.LA(1); + int LA193_735 = input.LA(1); - int index193_342 = input.index(); + int index193_735 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_342); + input.seek(index193_735); if ( s>=0 ) return s; break; case 385 : - int LA193_343 = input.LA(1); + int LA193_819 = input.LA(1); - int index193_343 = input.index(); + int index193_819 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_343); + input.seek(index193_819); if ( s>=0 ) return s; break; case 386 : - int LA193_202 = input.LA(1); + int LA193_105 = input.LA(1); + + int index193_105 = input.index(); + input.rewind(); s = -1; - if ( (LA193_202=='m') ) {s = 323;} - else if ( (LA193_202=='M') ) {s = 324;} - else if ( ((LA193_202 >= '\u0000' && LA193_202 <= '\t')||LA193_202=='\u000B'||(LA193_202 >= '\u000E' && LA193_202 <= '/')||(LA193_202 >= '1' && LA193_202 <= '3')||LA193_202=='5'||(LA193_202 >= '7' && LA193_202 <= 'L')||(LA193_202 >= 'N' && LA193_202 <= 'l')||(LA193_202 >= 'n' && LA193_202 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_202=='0') ) {s = 325;} - else if ( (LA193_202=='4'||LA193_202=='6') ) {s = 326;} + if ( (synpred3_Css3()) ) {s = 221;} + else if ( (true) ) {s = 12;} + + input.seek(index193_105); if ( s>=0 ) return s; break; case 387 : - int LA193_41 = input.LA(1); + int LA193_116 = input.LA(1); - int index193_41 = input.index(); + int index193_116 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_41); + input.seek(index193_116); if ( s>=0 ) return s; break; case 388 : - int LA193_42 = input.LA(1); + int LA193_232 = input.LA(1); - int index193_42 = input.index(); + int index193_232 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_42); + input.seek(index193_232); if ( s>=0 ) return s; break; case 389 : - int LA193_149 = input.LA(1); + int LA193_234 = input.LA(1); - int index193_149 = input.index(); + int index193_234 = input.index(); input.rewind(); s = -1; - if ( (synpred11_Css3()) ) {s = 75;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_149); + input.seek(index193_234); if ( s>=0 ) return s; break; case 390 : - int LA193_163 = input.LA(1); + int LA193_353 = input.LA(1); - int index193_163 = input.index(); + int index193_353 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_163); + input.seek(index193_353); if ( s>=0 ) return s; break; case 391 : - int LA193_164 = input.LA(1); + int LA193_484 = input.LA(1); - int index193_164 = input.index(); + int index193_484 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_164); + input.seek(index193_484); if ( s>=0 ) return s; break; case 392 : - int LA193_603 = input.LA(1); + int LA193_617 = input.LA(1); - int index193_603 = input.index(); + int index193_617 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_603); + input.seek(index193_617); if ( s>=0 ) return s; break; case 393 : - int LA193_785 = input.LA(1); + int LA193_820 = input.LA(1); - int index193_785 = input.index(); + int index193_820 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_785); + input.seek(index193_820); if ( s>=0 ) return s; break; case 394 : - int LA193_810 = input.LA(1); - - int index193_810 = input.index(); - input.rewind(); - s = -1; - if ( (synpred12_Css3()) ) {s = 216;} - else if ( (true) ) {s = 12;} - - input.seek(index193_810); - if ( s>=0 ) return s; - break; - case 395 : - int LA193_811 = input.LA(1); + int LA193_737 = input.LA(1); - int index193_811 = input.index(); + int index193_737 = input.index(); input.rewind(); s = -1; - if ( (synpred12_Css3()) ) {s = 216;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_811); + input.seek(index193_737); + if ( s>=0 ) return s; + break; + case 395 : + int LA193_227 = input.LA(1); + s = -1; + if ( (LA193_227=='m') ) {s = 342;} + else if ( (LA193_227=='M') ) {s = 343;} + else if ( ((LA193_227 >= '\u0000' && LA193_227 <= '\t')||LA193_227=='\u000B'||(LA193_227 >= '\u000E' && LA193_227 <= '/')||(LA193_227 >= '1' && LA193_227 <= '3')||LA193_227=='5'||(LA193_227 >= '7' && LA193_227 <= 'L')||(LA193_227 >= 'N' && LA193_227 <= 'l')||(LA193_227 >= 'n' && LA193_227 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_227=='0') ) {s = 344;} + else if ( (LA193_227=='4'||LA193_227=='6') ) {s = 345;} if ( s>=0 ) return s; break; case 396 : - int LA193_456 = input.LA(1); + int LA193_293 = input.LA(1); - int index193_456 = input.index(); + int index193_293 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_456); + input.seek(index193_293); if ( s>=0 ) return s; break; case 397 : - int LA193_457 = input.LA(1); + int LA193_294 = input.LA(1); - int index193_457 = input.index(); + int index193_294 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_457); + input.seek(index193_294); if ( s>=0 ) return s; break; case 398 : - int LA193_786 = input.LA(1); + int LA193_693 = input.LA(1); - int index193_786 = input.index(); + int index193_693 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_786); + input.seek(index193_693); if ( s>=0 ) return s; break; case 399 : - int LA193_301 = input.LA(1); + int LA193_694 = input.LA(1); - int index193_301 = input.index(); + int index193_694 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_301); + input.seek(index193_694); if ( s>=0 ) return s; break; case 400 : - int LA193_609 = input.LA(1); - - int index193_609 = input.index(); - input.rewind(); + int LA193_60 = input.LA(1); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} - else if ( (true) ) {s = 12;} - - input.seek(index193_609); + if ( (LA193_60=='m') ) {s = 179;} + else if ( (LA193_60=='M') ) {s = 180;} + else if ( ((LA193_60 >= '\u0000' && LA193_60 <= '\t')||LA193_60=='\u000B'||(LA193_60 >= '\u000E' && LA193_60 <= '/')||(LA193_60 >= '1' && LA193_60 <= '3')||LA193_60=='5'||(LA193_60 >= '7' && LA193_60 <= 'L')||(LA193_60 >= 'N' && LA193_60 <= 'l')||(LA193_60 >= 'n' && LA193_60 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_60=='0') ) {s = 181;} + else if ( (LA193_60=='4'||LA193_60=='6') ) {s = 182;} if ( s>=0 ) return s; break; case 401 : - int LA193_610 = input.LA(1); - - int index193_610 = input.index(); - input.rewind(); + int LA193_202 = input.LA(1); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} - else if ( (true) ) {s = 12;} - - input.seek(index193_610); + if ( (LA193_202=='m') ) {s = 323;} + else if ( (LA193_202=='M') ) {s = 324;} + else if ( ((LA193_202 >= '\u0000' && LA193_202 <= '\t')||LA193_202=='\u000B'||(LA193_202 >= '\u000E' && LA193_202 <= '/')||(LA193_202 >= '1' && LA193_202 <= '3')||LA193_202=='5'||(LA193_202 >= '7' && LA193_202 <= 'L')||(LA193_202 >= 'N' && LA193_202 <= 'l')||(LA193_202 >= 'n' && LA193_202 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_202=='0') ) {s = 325;} + else if ( (LA193_202=='4'||LA193_202=='6') ) {s = 326;} if ( s>=0 ) return s; break; case 402 : - int LA193_490 = input.LA(1); + int LA193_98 = input.LA(1); - int index193_490 = input.index(); + int index193_98 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_490); + input.seek(index193_98); if ( s>=0 ) return s; break; case 403 : - int LA193_471 = input.LA(1); + int LA193_154 = input.LA(1); - int index193_471 = input.index(); + int index193_154 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_471); + input.seek(index193_154); if ( s>=0 ) return s; break; case 404 : - int LA193_226 = input.LA(1); + int LA193_67 = input.LA(1); - int index193_226 = input.index(); + int index193_67 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_226); + input.seek(index193_67); if ( s>=0 ) return s; break; case 405 : - int LA193_229 = input.LA(1); + int LA193_156 = input.LA(1); - int index193_229 = input.index(); + int index193_156 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_229); + input.seek(index193_156); if ( s>=0 ) return s; break; case 406 : - int LA193_488 = input.LA(1); + int LA193_272 = input.LA(1); - int index193_488 = input.index(); + int index193_272 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_488); + input.seek(index193_272); if ( s>=0 ) return s; break; case 407 : - int LA193_837 = input.LA(1); + int LA193_387 = input.LA(1); - int index193_837 = input.index(); + int index193_387 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_837); + input.seek(index193_387); if ( s>=0 ) return s; break; case 408 : - int LA193_605 = input.LA(1); + int LA193_521 = input.LA(1); - int index193_605 = input.index(); + int index193_521 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_605); + input.seek(index193_521); if ( s>=0 ) return s; break; case 409 : - int LA193_741 = input.LA(1); + int LA193_757 = input.LA(1); - int index193_741 = input.index(); + int index193_757 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_741); + input.seek(index193_757); if ( s>=0 ) return s; break; case 410 : - int LA193_743 = input.LA(1); + int LA193_652 = input.LA(1); - int index193_743 = input.index(); + int index193_652 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_743); + input.seek(index193_652); if ( s>=0 ) return s; break; case 411 : - int LA193_621 = input.LA(1); + int LA193_155 = input.LA(1); - int index193_621 = input.index(); + int index193_155 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_621); + input.seek(index193_155); if ( s>=0 ) return s; break; case 412 : - int LA193_623 = input.LA(1); + int LA193_69 = input.LA(1); - int index193_623 = input.index(); + int index193_69 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_623); + input.seek(index193_69); if ( s>=0 ) return s; break; case 413 : - int LA193_823 = input.LA(1); + int LA193_99 = input.LA(1); - int index193_823 = input.index(); + int index193_99 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_823); + input.seek(index193_99); if ( s>=0 ) return s; break; case 414 : - int LA193_825 = input.LA(1); + int LA193_157 = input.LA(1); - int index193_825 = input.index(); + int index193_157 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_825); + input.seek(index193_157); if ( s>=0 ) return s; break; case 415 : - int LA193_727 = input.LA(1); + int LA193_273 = input.LA(1); - int index193_727 = input.index(); + int index193_273 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_727); + input.seek(index193_273); if ( s>=0 ) return s; break; case 416 : - int LA193_814 = input.LA(1); + int LA193_388 = input.LA(1); - int index193_814 = input.index(); + int index193_388 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_814); + input.seek(index193_388); if ( s>=0 ) return s; break; case 417 : - int LA193_77 = input.LA(1); + int LA193_758 = input.LA(1); + + int index193_758 = input.index(); + input.rewind(); s = -1; - if ( (LA193_77=='h') ) {s = 210;} - else if ( (LA193_77=='H') ) {s = 211;} - else if ( ((LA193_77 >= '\u0000' && LA193_77 <= '\t')||LA193_77=='\u000B'||(LA193_77 >= '\u000E' && LA193_77 <= '/')||(LA193_77 >= '1' && LA193_77 <= '3')||LA193_77=='5'||(LA193_77 >= '7' && LA193_77 <= 'G')||(LA193_77 >= 'I' && LA193_77 <= 'g')||(LA193_77 >= 'i' && LA193_77 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_77=='0') ) {s = 212;} - else if ( (LA193_77=='4'||LA193_77=='6') ) {s = 213;} + if ( (synpred8_Css3()) ) {s = 191;} + else if ( (true) ) {s = 12;} + + input.seek(index193_758); if ( s>=0 ) return s; break; case 418 : - int LA193_228 = input.LA(1); + int LA193_522 = input.LA(1); - int index193_228 = input.index(); + int index193_522 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_228); + input.seek(index193_522); if ( s>=0 ) return s; break; case 419 : - int LA193_230 = input.LA(1); + int LA193_653 = input.LA(1); - int index193_230 = input.index(); + int index193_653 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_230); + input.seek(index193_653); if ( s>=0 ) return s; break; case 420 : - int LA193_815 = input.LA(1); + int LA193_599 = input.LA(1); - int index193_815 = input.index(); + int index193_599 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_815); + input.seek(index193_599); if ( s>=0 ) return s; break; case 421 : - int LA193_472 = input.LA(1); + int LA193_556 = input.LA(1); - int index193_472 = input.index(); + int index193_556 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_472); + input.seek(index193_556); if ( s>=0 ) return s; break; case 422 : - int LA193_489 = input.LA(1); + int LA193_600 = input.LA(1); - int index193_489 = input.index(); + int index193_600 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_489); + input.seek(index193_600); if ( s>=0 ) return s; break; case 423 : - int LA193_491 = input.LA(1); + int LA193_9 = input.LA(1); - int index193_491 = input.index(); + int index193_9 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_491); + input.seek(index193_9); if ( s>=0 ) return s; break; case 424 : - int LA193_624 = input.LA(1); + int LA193_20 = input.LA(1); - int index193_624 = input.index(); + int index193_20 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_624); + input.seek(index193_20); if ( s>=0 ) return s; break; case 425 : - int LA193_606 = input.LA(1); + int LA193_560 = input.LA(1); - int index193_606 = input.index(); + int index193_560 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_606); + input.seek(index193_560); if ( s>=0 ) return s; break; case 426 : - int LA193_826 = input.LA(1); + int LA193_309 = input.LA(1); - int index193_826 = input.index(); + int index193_309 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_826); + input.seek(index193_309); if ( s>=0 ) return s; break; case 427 : - int LA193_728 = input.LA(1); + int LA193_310 = input.LA(1); - int index193_728 = input.index(); + int index193_310 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_728); + input.seek(index193_310); if ( s>=0 ) return s; break; case 428 : - int LA193_744 = input.LA(1); + int LA193_441 = input.LA(1); - int index193_744 = input.index(); + int index193_441 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_744); + input.seek(index193_441); if ( s>=0 ) return s; break; case 429 : - int LA193_622 = input.LA(1); + int LA193_442 = input.LA(1); - int index193_622 = input.index(); + int index193_442 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_622); + input.seek(index193_442); if ( s>=0 ) return s; break; case 430 : - int LA193_742 = input.LA(1); + int LA193_342 = input.LA(1); - int index193_742 = input.index(); + int index193_342 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_742); + input.seek(index193_342); if ( s>=0 ) return s; break; case 431 : - int LA193_824 = input.LA(1); + int LA193_343 = input.LA(1); - int index193_824 = input.index(); + int index193_343 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_824); + input.seek(index193_343); if ( s>=0 ) return s; break; case 432 : - int LA193_838 = input.LA(1); - - int index193_838 = input.index(); - input.rewind(); + int LA193_77 = input.LA(1); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} - else if ( (true) ) {s = 12;} - - input.seek(index193_838); + if ( (LA193_77=='h') ) {s = 210;} + else if ( (LA193_77=='H') ) {s = 211;} + else if ( ((LA193_77 >= '\u0000' && LA193_77 <= '\t')||LA193_77=='\u000B'||(LA193_77 >= '\u000E' && LA193_77 <= '/')||(LA193_77 >= '1' && LA193_77 <= '3')||LA193_77=='5'||(LA193_77 >= '7' && LA193_77 <= 'G')||(LA193_77 >= 'I' && LA193_77 <= 'g')||(LA193_77 >= 'i' && LA193_77 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_77=='0') ) {s = 212;} + else if ( (LA193_77=='4'||LA193_77=='6') ) {s = 213;} if ( s>=0 ) return s; break; case 433 : - int LA193_565 = input.LA(1); + int LA193_701 = input.LA(1); - int index193_565 = input.index(); + int index193_701 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_565); + input.seek(index193_701); if ( s>=0 ) return s; break; case 434 : - int LA193_566 = input.LA(1); + int LA193_702 = input.LA(1); - int index193_566 = input.index(); + int index193_702 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred8_Css3()) ) {s = 191;} else if ( (true) ) {s = 12;} - input.seek(index193_566); + input.seek(index193_702); if ( s>=0 ) return s; break; case 435 : - int LA193_817 = input.LA(1); + int LA193_41 = input.LA(1); - int index193_817 = input.index(); + int index193_41 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_817); + input.seek(index193_41); if ( s>=0 ) return s; break; case 436 : - int LA193_818 = input.LA(1); + int LA193_42 = input.LA(1); - int index193_818 = input.index(); + int index193_42 = input.index(); input.rewind(); s = -1; - if ( (synpred3_Css3()) ) {s = 221;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_818); + input.seek(index193_42); if ( s>=0 ) return s; break; case 437 : - int LA193_420 = input.LA(1); + int LA193_163 = input.LA(1); - int index193_420 = input.index(); + int index193_163 = input.index(); input.rewind(); s = -1; if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_420); + input.seek(index193_163); if ( s>=0 ) return s; break; case 438 : - int LA193_47 = input.LA(1); + int LA193_164 = input.LA(1); - int index193_47 = input.index(); + int index193_164 = input.index(); input.rewind(); s = -1; if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_47); + input.seek(index193_164); if ( s>=0 ) return s; break; case 439 : - int LA193_82 = input.LA(1); + int LA193_149 = input.LA(1); - int index193_82 = input.index(); + int index193_149 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred11_Css3()) ) {s = 75;} else if ( (true) ) {s = 12;} - input.seek(index193_82); + input.seek(index193_149); if ( s>=0 ) return s; break; case 440 : - int LA193_262 = input.LA(1); + int LA193_810 = input.LA(1); - int index193_262 = input.index(); + int index193_810 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_262); + input.seek(index193_810); if ( s>=0 ) return s; break; case 441 : - int LA193_377 = input.LA(1); + int LA193_785 = input.LA(1); - int index193_377 = input.index(); + int index193_785 = input.index(); input.rewind(); s = -1; if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_377); + input.seek(index193_785); if ( s>=0 ) return s; break; case 442 : - int LA193_421 = input.LA(1); + int LA193_811 = input.LA(1); - int index193_421 = input.index(); + int index193_811 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred12_Css3()) ) {s = 216;} else if ( (true) ) {s = 12;} - input.seek(index193_421); + input.seek(index193_811); if ( s>=0 ) return s; break; case 443 : - int LA193_511 = input.LA(1); + int LA193_603 = input.LA(1); - int index193_511 = input.index(); + int index193_603 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_511); + input.seek(index193_603); if ( s>=0 ) return s; break; case 444 : - int LA193_642 = input.LA(1); + int LA193_456 = input.LA(1); - int index193_642 = input.index(); + int index193_456 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_642); + input.seek(index193_456); if ( s>=0 ) return s; break; case 445 : - int LA193_747 = input.LA(1); + int LA193_457 = input.LA(1); - int index193_747 = input.index(); + int index193_457 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred10_Css3()) ) {s = 316;} else if ( (true) ) {s = 12;} - input.seek(index193_747); + input.seek(index193_457); if ( s>=0 ) return s; break; case 446 : - int LA193_50 = input.LA(1); + int LA193_786 = input.LA(1); - int index193_50 = input.index(); + int index193_786 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_50); + input.seek(index193_786); if ( s>=0 ) return s; break; case 447 : - int LA193_84 = input.LA(1); + int LA193_727 = input.LA(1); - int index193_84 = input.index(); + int index193_727 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_84); + input.seek(index193_727); if ( s>=0 ) return s; break; case 448 : - int LA193_184 = input.LA(1); + int LA193_229 = input.LA(1); - int index193_184 = input.index(); + int index193_229 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_184); + input.seek(index193_229); if ( s>=0 ) return s; break; case 449 : - int LA193_264 = input.LA(1); + int LA193_226 = input.LA(1); - int index193_264 = input.index(); + int index193_226 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_264); + input.seek(index193_226); if ( s>=0 ) return s; break; case 450 : - int LA193_379 = input.LA(1); + int LA193_823 = input.LA(1); - int index193_379 = input.index(); + int index193_823 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_379); + input.seek(index193_823); if ( s>=0 ) return s; break; case 451 : - int LA193_513 = input.LA(1); + int LA193_471 = input.LA(1); - int index193_513 = input.index(); + int index193_471 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_513); + input.seek(index193_471); if ( s>=0 ) return s; break; case 452 : - int LA193_644 = input.LA(1); + int LA193_488 = input.LA(1); - int index193_644 = input.index(); + int index193_488 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_644); + input.seek(index193_488); if ( s>=0 ) return s; break; case 453 : - int LA193_749 = input.LA(1); + int LA193_490 = input.LA(1); - int index193_749 = input.index(); + int index193_490 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_749); + input.seek(index193_490); if ( s>=0 ) return s; break; case 454 : - int LA193_185 = input.LA(1); + int LA193_741 = input.LA(1); - int index193_185 = input.index(); + int index193_741 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_185); + input.seek(index193_741); if ( s>=0 ) return s; break; case 455 : - int LA193_684 = input.LA(1); + int LA193_825 = input.LA(1); - int index193_684 = input.index(); + int index193_825 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_684); + input.seek(index193_825); if ( s>=0 ) return s; break; case 456 : - int LA193_685 = input.LA(1); + int LA193_837 = input.LA(1); - int index193_685 = input.index(); + int index193_837 = input.index(); input.rewind(); s = -1; - if ( (synpred4_Css3()) ) {s = 162;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_685); + input.seek(index193_837); if ( s>=0 ) return s; break; case 457 : - int LA193_812 = input.LA(1); + int LA193_605 = input.LA(1); - int index193_812 = input.index(); + int index193_605 = input.index(); input.rewind(); s = -1; if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_812); + input.seek(index193_605); if ( s>=0 ) return s; break; case 458 : - int LA193_282 = input.LA(1); + int LA193_814 = input.LA(1); - int index193_282 = input.index(); + int index193_814 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_282); + input.seek(index193_814); if ( s>=0 ) return s; break; case 459 : - int LA193_285 = input.LA(1); + int LA193_621 = input.LA(1); - int index193_285 = input.index(); + int index193_621 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_285); + input.seek(index193_621); if ( s>=0 ) return s; break; case 460 : - int LA193_531 = input.LA(1); + int LA193_623 = input.LA(1); - int index193_531 = input.index(); + int index193_623 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_531); + input.seek(index193_623); if ( s>=0 ) return s; break; case 461 : - int LA193_534 = input.LA(1); + int LA193_743 = input.LA(1); - int index193_534 = input.index(); + int index193_743 = input.index(); input.rewind(); s = -1; - if ( (synpred5_Css3()) ) {s = 170;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_534); + input.seek(index193_743); if ( s>=0 ) return s; break; case 462 : - int LA193_517 = input.LA(1); + int LA193_489 = input.LA(1); - int index193_517 = input.index(); + int index193_489 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_517); + input.seek(index193_489); if ( s>=0 ) return s; break; case 463 : - int LA193_94 = input.LA(1); + int LA193_228 = input.LA(1); - int index193_94 = input.index(); + int index193_228 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_94); + input.seek(index193_228); if ( s>=0 ) return s; break; case 464 : - int LA193_62 = input.LA(1); + int LA193_230 = input.LA(1); - int index193_62 = input.index(); + int index193_230 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_62); + input.seek(index193_230); if ( s>=0 ) return s; break; case 465 : - int LA193_143 = input.LA(1); + int LA193_472 = input.LA(1); - int index193_143 = input.index(); + int index193_472 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_143); + input.seek(index193_472); if ( s>=0 ) return s; break; case 466 : - int LA193_753 = input.LA(1); + int LA193_826 = input.LA(1); - int index193_753 = input.index(); + int index193_826 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_753); + input.seek(index193_826); if ( s>=0 ) return s; break; case 467 : - int LA193_761 = input.LA(1); + int LA193_824 = input.LA(1); - int index193_761 = input.index(); + int index193_824 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_761); + input.seek(index193_824); if ( s>=0 ) return s; break; case 468 : - int LA193_150 = input.LA(1); + int LA193_838 = input.LA(1); - int index193_150 = input.index(); + int index193_838 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_150); + input.seek(index193_838); if ( s>=0 ) return s; break; case 469 : - int LA193_648 = input.LA(1); + int LA193_742 = input.LA(1); - int index193_648 = input.index(); + int index193_742 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_648); + input.seek(index193_742); if ( s>=0 ) return s; break; case 470 : - int LA193_268 = input.LA(1); + int LA193_815 = input.LA(1); - int index193_268 = input.index(); + int index193_815 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_268); + input.seek(index193_815); if ( s>=0 ) return s; break; case 471 : - int LA193_276 = input.LA(1); + int LA193_491 = input.LA(1); - int index193_276 = input.index(); + int index193_491 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_276); + input.seek(index193_491); if ( s>=0 ) return s; break; case 472 : - int LA193_383 = input.LA(1); + int LA193_606 = input.LA(1); - int index193_383 = input.index(); + int index193_606 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_383); + input.seek(index193_606); if ( s>=0 ) return s; break; case 473 : - int LA193_391 = input.LA(1); + int LA193_744 = input.LA(1); - int index193_391 = input.index(); + int index193_744 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_391); + input.seek(index193_744); if ( s>=0 ) return s; break; case 474 : - int LA193_656 = input.LA(1); + int LA193_622 = input.LA(1); - int index193_656 = input.index(); + int index193_622 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_656); + input.seek(index193_622); if ( s>=0 ) return s; break; case 475 : - int LA193_525 = input.LA(1); + int LA193_624 = input.LA(1); - int index193_525 = input.index(); + int index193_624 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_525); + input.seek(index193_624); if ( s>=0 ) return s; break; case 476 : - int LA193_436 = input.LA(1); + int LA193_728 = input.LA(1); - int index193_436 = input.index(); + int index193_728 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_436); + input.seek(index193_728); if ( s>=0 ) return s; break; case 477 : - int LA193_65 = input.LA(1); + int LA193_301 = input.LA(1); - int index193_65 = input.index(); + int index193_301 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred5_Css3()) ) {s = 170;} else if ( (true) ) {s = 12;} - input.seek(index193_65); + input.seek(index193_301); if ( s>=0 ) return s; break; case 478 : - int LA193_96 = input.LA(1); + int LA193_609 = input.LA(1); - int index193_96 = input.index(); + int index193_609 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_96); + input.seek(index193_609); if ( s>=0 ) return s; break; case 479 : - int LA193_144 = input.LA(1); + int LA193_610 = input.LA(1); - int index193_144 = input.index(); + int index193_610 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_144); + input.seek(index193_610); if ( s>=0 ) return s; break; case 480 : - int LA193_151 = input.LA(1); + int LA193_47 = input.LA(1); - int index193_151 = input.index(); + int index193_47 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_151); + input.seek(index193_47); if ( s>=0 ) return s; break; case 481 : - int LA193_270 = input.LA(1); + int LA193_82 = input.LA(1); - int index193_270 = input.index(); + int index193_82 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_270); + input.seek(index193_82); if ( s>=0 ) return s; break; case 482 : - int LA193_278 = input.LA(1); + int LA193_262 = input.LA(1); - int index193_278 = input.index(); + int index193_262 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_278); + input.seek(index193_262); if ( s>=0 ) return s; break; case 483 : - int LA193_658 = input.LA(1); + int LA193_377 = input.LA(1); - int index193_658 = input.index(); + int index193_377 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_658); + input.seek(index193_377); if ( s>=0 ) return s; break; case 484 : - int LA193_755 = input.LA(1); + int LA193_511 = input.LA(1); - int index193_755 = input.index(); + int index193_511 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_755); + input.seek(index193_511); if ( s>=0 ) return s; break; case 485 : - int LA193_385 = input.LA(1); + int LA193_642 = input.LA(1); - int index193_385 = input.index(); + int index193_642 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_385); + input.seek(index193_642); if ( s>=0 ) return s; break; case 486 : - int LA193_650 = input.LA(1); + int LA193_747 = input.LA(1); - int index193_650 = input.index(); + int index193_747 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_650); + input.seek(index193_747); if ( s>=0 ) return s; break; case 487 : - int LA193_393 = input.LA(1); + int LA193_565 = input.LA(1); - int index193_393 = input.index(); + int index193_565 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_393); + input.seek(index193_565); if ( s>=0 ) return s; break; case 488 : - int LA193_519 = input.LA(1); + int LA193_50 = input.LA(1); - int index193_519 = input.index(); + int index193_50 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_519); + input.seek(index193_50); if ( s>=0 ) return s; break; case 489 : - int LA193_763 = input.LA(1); + int LA193_84 = input.LA(1); - int index193_763 = input.index(); + int index193_84 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_763); + input.seek(index193_84); if ( s>=0 ) return s; break; case 490 : - int LA193_527 = input.LA(1); + int LA193_264 = input.LA(1); - int index193_527 = input.index(); + int index193_264 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_527); + input.seek(index193_264); if ( s>=0 ) return s; break; case 491 : - int LA193_437 = input.LA(1); + int LA193_379 = input.LA(1); - int index193_437 = input.index(); + int index193_379 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_437); + input.seek(index193_379); if ( s>=0 ) return s; break; case 492 : - int LA193_48 = input.LA(1); + int LA193_513 = input.LA(1); + + int index193_513 = input.index(); + input.rewind(); s = -1; - if ( (LA193_48=='m') ) {s = 163;} - else if ( (LA193_48=='M') ) {s = 164;} - else if ( (LA193_48=='x') ) {s = 165;} - else if ( (LA193_48=='0') ) {s = 166;} - else if ( (LA193_48=='4'||LA193_48=='6') ) {s = 167;} - else if ( (LA193_48=='X') ) {s = 168;} - else if ( ((LA193_48 >= '\u0000' && LA193_48 <= '\t')||LA193_48=='\u000B'||(LA193_48 >= '\u000E' && LA193_48 <= '/')||(LA193_48 >= '1' && LA193_48 <= '3')||(LA193_48 >= '8' && LA193_48 <= 'L')||(LA193_48 >= 'N' && LA193_48 <= 'W')||(LA193_48 >= 'Y' && LA193_48 <= 'l')||(LA193_48 >= 'n' && LA193_48 <= 'w')||(LA193_48 >= 'y' && LA193_48 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_48=='5'||LA193_48=='7') ) {s = 169;} + if ( (synpred4_Css3()) ) {s = 162;} + else if ( (true) ) {s = 12;} + + input.seek(index193_513); if ( s>=0 ) return s; break; case 493 : - int LA193_323 = input.LA(1); + int LA193_644 = input.LA(1); - int index193_323 = input.index(); + int index193_644 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_323); + input.seek(index193_644); if ( s>=0 ) return s; break; case 494 : - int LA193_53 = input.LA(1); + int LA193_749 = input.LA(1); + + int index193_749 = input.index(); + input.rewind(); s = -1; - if ( (LA193_53=='x') ) {s = 171;} - else if ( (LA193_53=='X') ) {s = 172;} - else if ( (LA193_53=='t') ) {s = 173;} - else if ( (LA193_53=='0') ) {s = 174;} - else if ( (LA193_53=='5'||LA193_53=='7') ) {s = 175;} - else if ( (LA193_53=='T') ) {s = 176;} - else if ( ((LA193_53 >= '\u0000' && LA193_53 <= '\t')||LA193_53=='\u000B'||(LA193_53 >= '\u000E' && LA193_53 <= '/')||(LA193_53 >= '1' && LA193_53 <= '3')||(LA193_53 >= '8' && LA193_53 <= 'S')||(LA193_53 >= 'U' && LA193_53 <= 'W')||(LA193_53 >= 'Y' && LA193_53 <= 's')||(LA193_53 >= 'u' && LA193_53 <= 'w')||(LA193_53 >= 'y' && LA193_53 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_53=='4'||LA193_53=='6') ) {s = 177;} + if ( (synpred4_Css3()) ) {s = 162;} + else if ( (true) ) {s = 12;} + + input.seek(index193_749); if ( s>=0 ) return s; break; case 495 : - int LA193_324 = input.LA(1); + int LA193_566 = input.LA(1); - int index193_324 = input.index(); + int index193_566 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred6_Css3()) ) {s = 178;} else if ( (true) ) {s = 12;} - input.seek(index193_324); + input.seek(index193_566); if ( s>=0 ) return s; break; case 496 : - int LA193_575 = input.LA(1); + int LA193_184 = input.LA(1); - int index193_575 = input.index(); + int index193_184 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_575); + input.seek(index193_184); if ( s>=0 ) return s; break; case 497 : - int LA193_789 = input.LA(1); + int LA193_185 = input.LA(1); - int index193_789 = input.index(); + int index193_185 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred7_Css3()) ) {s = 183;} else if ( (true) ) {s = 12;} - input.seek(index193_789); + input.seek(index193_185); if ( s>=0 ) return s; break; case 498 : - int LA193_576 = input.LA(1); + int LA193_817 = input.LA(1); - int index193_576 = input.index(); + int index193_817 = input.index(); input.rewind(); s = -1; - if ( (synpred8_Css3()) ) {s = 191;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_576); + input.seek(index193_817); if ( s>=0 ) return s; break; case 499 : - int LA193_790 = input.LA(1); + int LA193_818 = input.LA(1); - int index193_790 = input.index(); + int index193_818 = input.index(); input.rewind(); s = -1; - if ( (synpred6_Css3()) ) {s = 178;} + if ( (synpred3_Css3()) ) {s = 221;} else if ( (true) ) {s = 12;} - input.seek(index193_790); + input.seek(index193_818); if ( s>=0 ) return s; break; case 500 : - int LA193_697 = input.LA(1); - - int index193_697 = input.index(); - input.rewind(); + int LA193_48 = input.LA(1); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} - else if ( (true) ) {s = 12;} - - input.seek(index193_697); + if ( (LA193_48=='m') ) {s = 163;} + else if ( (LA193_48=='M') ) {s = 164;} + else if ( (LA193_48=='x') ) {s = 165;} + else if ( (LA193_48=='0') ) {s = 166;} + else if ( (LA193_48=='4'||LA193_48=='6') ) {s = 167;} + else if ( (LA193_48=='X') ) {s = 168;} + else if ( ((LA193_48 >= '\u0000' && LA193_48 <= '\t')||LA193_48=='\u000B'||(LA193_48 >= '\u000E' && LA193_48 <= '/')||(LA193_48 >= '1' && LA193_48 <= '3')||(LA193_48 >= '8' && LA193_48 <= 'L')||(LA193_48 >= 'N' && LA193_48 <= 'W')||(LA193_48 >= 'Y' && LA193_48 <= 'l')||(LA193_48 >= 'n' && LA193_48 <= 'w')||(LA193_48 >= 'y' && LA193_48 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_48=='5'||LA193_48=='7') ) {s = 169;} if ( s>=0 ) return s; break; case 501 : - int LA193_698 = input.LA(1); + int LA193_420 = input.LA(1); - int index193_698 = input.index(); + int index193_420 = input.index(); input.rewind(); s = -1; - if ( (synpred7_Css3()) ) {s = 183;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_698); + input.seek(index193_420); if ( s>=0 ) return s; break; case 502 : - int LA193_445 = input.LA(1); + int LA193_421 = input.LA(1); - int index193_445 = input.index(); + int index193_421 = input.index(); input.rewind(); s = -1; - if ( (synpred10_Css3()) ) {s = 316;} + if ( (synpred4_Css3()) ) {s = 162;} else if ( (true) ) {s = 12;} - input.seek(index193_445); + input.seek(index193_421); if ( s>=0 ) return s; break; case 503 : - int LA193_68 = input.LA(1); + int LA193_53 = input.LA(1); s = -1; - if ( (LA193_68=='n') ) {s = 192;} - else if ( (LA193_68=='N') ) {s = 193;} - else if ( ((LA193_68 >= '\u0000' && LA193_68 <= '\t')||LA193_68=='\u000B'||(LA193_68 >= '\u000E' && LA193_68 <= '/')||(LA193_68 >= '1' && LA193_68 <= '3')||LA193_68=='5'||(LA193_68 >= '7' && LA193_68 <= 'M')||(LA193_68 >= 'O' && LA193_68 <= 'm')||(LA193_68 >= 'o' && LA193_68 <= '\uFFFF')) ) {s = 12;} - else if ( (LA193_68=='0') ) {s = 194;} - else if ( (LA193_68=='4'||LA193_68=='6') ) {s = 195;} + if ( (LA193_53=='x') ) {s = 171;} + else if ( (LA193_53=='X') ) {s = 172;} + else if ( (LA193_53=='t') ) {s = 173;} + else if ( (LA193_53=='0') ) {s = 174;} + else if ( (LA193_53=='5'||LA193_53=='7') ) {s = 175;} + else if ( (LA193_53=='T') ) {s = 176;} + else if ( ((LA193_53 >= '\u0000' && LA193_53 <= '\t')||LA193_53=='\u000B'||(LA193_53 >= '\u000E' && LA193_53 <= '/')||(LA193_53 >= '1' && LA193_53 <= '3')||(LA193_53 >= '8' && LA193_53 <= 'S')||(LA193_53 >= 'U' && LA193_53 <= 'W')||(LA193_53 >= 'Y' && LA193_53 <= 's')||(LA193_53 >= 'u' && LA193_53 <= 'w')||(LA193_53 >= 'y' && LA193_53 <= '\uFFFF')) ) {s = 12;} + else if ( (LA193_53=='4'||LA193_53=='6') ) {s = 177;} if ( s>=0 ) return s; break; } @@ -20196,200 +20225,202 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc } static final String DFA212_eotS = - "\1\uffff\1\72\1\76\1\100\1\102\1\104\2\uffff\1\110\1\112\4\uffff\1\114"+ - "\1\uffff\1\116\1\121\4\uffff\1\123\1\124\1\132\3\uffff\1\35\1\uffff\2"+ - "\35\1\uffff\1\146\1\uffff\2\35\3\uffff\22\73\42\uffff\3\35\2\uffff\5\35"+ - "\2\uffff\2\35\1\uffff\3\73\1\u009c\32\73\2\uffff\1\u00b9\2\35\1\uffff"+ - "\12\35\3\73\1\uffff\10\73\1\u00d4\21\73\1\u00e6\1\73\2\uffff\15\35\3\73"+ - "\1\u00f8\10\73\1\uffff\14\73\1\u0111\1\u0112\1\73\1\u0114\1\73\1\uffff"+ - "\1\73\15\35\1\uffff\2\73\1\uffff\1\u0125\1\u0126\11\73\1\u0130\12\73\1"+ - "\u013d\1\73\2\uffff\1\u013f\1\uffff\1\u0140\1\73\14\35\1\u014c\1\73\2"+ - "\uffff\11\73\1\uffff\10\73\1\u0161\2\73\1\u0164\1\uffff\1\u0165\2\uffff"+ - "\1\73\10\35\3\uffff\1\u016c\1\73\1\u016e\2\73\1\u0171\1\73\1\u0173\14"+ - "\73\1\uffff\2\73\2\uffff\1\u0184\5\35\1\uffff\1\73\1\uffff\2\73\1\uffff"+ - "\1\73\1\uffff\1\u018c\1\u018d\1\u018e\2\73\1\u0192\12\73\1\uffff\3\35"+ - "\1\u019e\1\73\1\u01a0\1\u01a1\3\uffff\3\73\1\uffff\1\73\1\u01a7\3\73\1"+ - "\u01ab\4\73\1\35\1\uffff\1\73\2\uffff\3\73\1\u01b5\1\73\1\uffff\3\73\1"+ - "\uffff\4\73\1\uffff\1\73\1\u01bf\1\u01c0\1\73\1\uffff\1\73\1\u01c4\7\73"+ - "\2\uffff\3\73\1\uffff\1\73\1\u01d1\1\u01d2\1\u01d3\2\73\1\u01d6\3\73\1"+ - "\u01da\1\73\3\uffff\1\u01dc\1\73\1\uffff\3\73\1\uffff\1\73\1\uffff\1\73"+ - "\1\u01e3\4\73\1\uffff\1\u01e8\3\73\1\uffff\2\73\1\u01ee\1\u01ef\1\73\2"+ - "\uffff\1\u01f1\1\uffff"; + "\1\uffff\1\73\1\77\1\101\1\103\1\105\2\uffff\1\111\1\113\4\uffff\1\115"+ + "\1\uffff\1\117\1\122\4\uffff\1\124\1\125\1\133\3\uffff\1\35\1\uffff\2"+ + "\35\1\uffff\1\147\1\uffff\2\35\3\uffff\23\74\42\uffff\3\35\2\uffff\5\35"+ + "\2\uffff\2\35\1\uffff\3\74\1\u009e\33\74\2\uffff\1\u00bc\2\35\1\uffff"+ + "\12\35\3\74\1\uffff\10\74\1\u00d7\22\74\1\u00ea\1\74\2\uffff\15\35\3\74"+ + "\1\u00fc\10\74\1\uffff\15\74\1\u0116\1\u0117\1\74\1\u0119\1\74\1\uffff"+ + "\1\74\15\35\1\uffff\2\74\1\uffff\1\u012a\1\u012b\11\74\1\u0135\13\74\1"+ + "\u0143\1\74\2\uffff\1\u0145\1\uffff\1\u0146\1\74\14\35\1\u0152\1\74\2"+ + "\uffff\11\74\1\uffff\11\74\1\u0168\2\74\1\u016b\1\uffff\1\u016c\2\uffff"+ + "\1\74\10\35\3\uffff\1\u0173\1\74\1\u0175\2\74\1\u0178\1\74\1\u017a\15"+ + "\74\1\uffff\2\74\2\uffff\1\u018c\5\35\1\uffff\1\74\1\uffff\2\74\1\uffff"+ + "\1\74\1\uffff\1\u0194\1\u0195\1\u0196\3\74\1\u019b\12\74\1\uffff\3\35"+ + "\1\u01a7\1\74\1\u01a9\1\u01aa\3\uffff\2\74\1\u01ad\1\74\1\uffff\1\74\1"+ + "\u01b1\3\74\1\u01b5\4\74\1\35\1\uffff\1\74\2\uffff\2\74\1\uffff\1\74\1"+ + "\u01bf\1\74\1\uffff\3\74\1\uffff\4\74\1\uffff\1\74\1\u01c9\1\u01ca\1\74"+ + "\1\uffff\1\74\1\u01ce\7\74\2\uffff\3\74\1\uffff\1\74\1\u01db\1\u01dc\1"+ + "\u01dd\2\74\1\u01e0\3\74\1\u01e4\1\74\3\uffff\1\u01e6\1\74\1\uffff\3\74"+ + "\1\uffff\1\74\1\uffff\1\74\1\u01ed\4\74\1\uffff\1\u01f2\3\74\1\uffff\2"+ + "\74\1\u01f8\1\u01f9\1\74\2\uffff\1\u01fb\1\uffff"; static final String DFA212_eofS = - "\u01f2\uffff"; + "\u01fc\uffff"; static final String DFA212_minS = "\1\11\1\55\1\41\1\55\2\75\1\uffff\1\55\2\75\4\uffff\1\74\1\uffff\1\72"+ "\1\52\4\uffff\1\56\1\55\1\11\3\uffff\1\117\1\uffff\2\53\1\0\1\55\1\uffff"+ "\1\117\1\105\2\uffff\1\55\1\145\1\106\1\101\1\105\1\101\1\110\1\117\1"+ - "\125\1\101\2\117\1\105\1\115\1\101\1\105\1\101\1\123\1\124\5\uffff\1\76"+ - "\34\uffff\1\124\2\114\1\0\1\uffff\1\114\1\122\1\60\1\122\1\65\2\uffff"+ + "\125\1\101\1\105\2\117\1\105\1\115\1\101\1\105\1\101\1\123\1\124\5\uffff"+ + "\1\76\34\uffff\1\124\2\114\1\0\1\uffff\1\114\1\122\1\60\1\122\1\65\2\uffff"+ "\1\115\1\107\1\uffff\1\163\1\120\1\103\1\55\1\107\1\104\1\130\1\115\1"+ - "\101\3\116\1\120\1\131\1\106\1\120\1\124\1\107\1\124\1\117\1\105\1\124"+ - "\1\122\1\123\1\103\1\102\1\122\1\111\1\105\1\55\2\uffff\1\55\2\50\1\0"+ - "\1\114\1\60\1\114\1\62\1\50\1\60\1\65\1\122\1\101\1\105\1\164\1\117\1"+ - "\114\1\uffff\1\105\2\111\1\105\1\122\1\116\2\124\1\55\1\103\1\120\1\105"+ - "\1\124\1\55\1\124\1\110\1\125\1\132\1\102\1\105\1\117\1\105\1\110\1\125"+ - "\1\116\1\114\1\55\1\122\2\uffff\1\50\1\60\1\50\1\103\1\60\1\62\1\114\1"+ - "\120\1\60\1\65\1\122\1\111\1\130\1\56\1\122\1\125\1\55\1\101\1\116\2\123"+ - "\1\124\1\101\1\55\1\101\1\uffff\1\124\1\117\1\122\1\55\1\103\1\117\1\124"+ - "\1\122\1\55\1\113\1\116\1\122\2\55\1\107\1\55\1\105\1\uffff\1\117\1\60"+ - "\1\103\2\50\1\60\1\62\1\114\1\122\2\65\1\122\1\116\1\120\1\uffff\1\124"+ - "\1\104\1\uffff\2\55\1\120\2\105\1\111\1\116\1\106\1\122\1\111\1\122\1"+ - "\55\1\102\2\105\1\111\1\115\1\55\1\116\1\104\1\111\1\104\1\55\1\106\2"+ - "\uffff\1\55\1\uffff\1\55\1\117\1\60\1\103\2\50\1\65\1\62\1\114\1\105\1"+ - "\65\1\122\2\50\1\55\1\105\2\uffff\1\101\1\124\1\122\1\116\1\124\1\101"+ - "\1\104\1\117\1\124\1\uffff\1\117\1\111\1\117\1\106\1\116\1\107\1\55\1"+ - "\102\1\55\1\117\1\124\1\55\1\uffff\1\55\2\uffff\1\124\1\64\1\103\2\50"+ - "\1\62\1\114\1\106\1\122\3\uffff\1\55\1\103\2\55\1\105\1\55\1\103\1\55"+ - "\1\116\1\123\1\120\1\104\3\124\1\110\1\103\1\117\1\111\1\117\1\uffff\1"+ - "\103\1\55\2\uffff\1\55\1\103\2\50\1\114\1\111\1\uffff\1\105\1\uffff\1"+ - "\123\1\122\1\uffff\1\105\1\uffff\3\55\1\104\1\124\1\55\1\105\1\124\2\105"+ - "\1\111\1\120\1\104\1\124\1\125\1\113\1\uffff\2\50\1\130\1\55\1\124\2\55"+ - "\3\uffff\1\114\1\117\1\103\1\uffff\1\122\1\55\1\106\1\116\1\107\1\55\1"+ - "\104\1\124\1\115\1\105\1\50\1\uffff\1\131\2\uffff\1\105\1\115\1\117\1"+ - "\55\1\103\1\uffff\2\124\1\110\1\uffff\1\114\1\117\1\105\1\131\1\uffff"+ - "\1\114\2\55\1\122\1\uffff\1\117\1\55\1\105\1\124\1\105\1\115\1\116\1\106"+ - "\1\105\2\uffff\1\116\1\122\1\103\1\uffff\1\122\3\55\1\124\1\122\1\55\1"+ - "\105\1\116\1\117\1\55\1\103\3\uffff\1\55\1\101\1\uffff\1\122\1\105\1\122"+ - "\1\uffff\1\117\1\uffff\1\115\1\55\1\122\1\116\1\122\1\105\1\uffff\1\55"+ - "\1\105\1\116\1\123\1\uffff\1\122\1\105\2\55\1\122\2\uffff\1\55\1\uffff"; + "\101\3\116\1\120\1\131\1\106\1\131\1\120\1\124\1\107\1\124\1\117\1\105"+ + "\1\124\1\122\1\123\1\103\1\102\1\122\1\111\1\105\1\55\2\uffff\1\55\2\50"+ + "\1\0\1\114\1\60\1\114\1\62\1\50\1\60\1\65\1\122\1\101\1\105\1\164\1\117"+ + "\1\114\1\uffff\1\105\2\111\1\105\1\122\1\116\2\124\1\55\1\103\1\120\1"+ + "\105\1\124\1\106\1\55\1\124\1\110\1\125\1\132\1\102\1\105\1\117\1\105"+ + "\1\110\1\125\1\116\1\114\1\55\1\122\2\uffff\1\50\1\60\1\50\1\103\1\60"+ + "\1\62\1\114\1\120\1\60\1\65\1\122\1\111\1\130\1\56\1\122\1\125\1\55\1"+ + "\101\1\116\2\123\1\124\1\101\1\55\1\101\1\uffff\1\124\1\117\1\122\1\55"+ + "\1\122\1\103\1\117\1\124\1\122\1\55\1\113\1\116\1\122\2\55\1\107\1\55"+ + "\1\105\1\uffff\1\117\1\60\1\103\2\50\1\60\1\62\1\114\1\122\2\65\1\122"+ + "\1\116\1\120\1\uffff\1\124\1\104\1\uffff\2\55\1\120\2\105\1\111\1\116"+ + "\1\106\1\122\1\111\1\122\1\55\1\102\1\101\2\105\1\111\1\115\1\55\1\116"+ + "\1\104\1\111\1\104\1\55\1\106\2\uffff\1\55\1\uffff\1\55\1\117\1\60\1\103"+ + "\2\50\1\65\1\62\1\114\1\105\1\65\1\122\2\50\1\55\1\105\2\uffff\1\101\1"+ + "\124\1\122\1\116\1\124\1\101\1\104\1\117\1\124\1\uffff\1\117\1\111\1\117"+ + "\1\115\1\106\1\116\1\107\1\55\1\102\1\55\1\117\1\124\1\55\1\uffff\1\55"+ + "\2\uffff\1\124\1\64\1\103\2\50\1\62\1\114\1\106\1\122\3\uffff\1\55\1\103"+ + "\2\55\1\105\1\55\1\103\1\55\1\116\1\123\1\120\1\104\1\124\1\105\2\124"+ + "\1\110\1\103\1\117\1\111\1\117\1\uffff\1\103\1\55\2\uffff\1\55\1\103\2"+ + "\50\1\114\1\111\1\uffff\1\105\1\uffff\1\123\1\122\1\uffff\1\105\1\uffff"+ + "\3\55\1\104\1\124\1\123\1\55\1\105\1\124\2\105\1\111\1\120\1\104\1\124"+ + "\1\125\1\113\1\uffff\2\50\1\130\1\55\1\124\2\55\3\uffff\1\114\1\117\1"+ + "\55\1\103\1\uffff\1\122\1\55\1\106\1\116\1\107\1\55\1\104\1\124\1\115"+ + "\1\105\1\50\1\uffff\1\131\2\uffff\1\105\1\115\1\uffff\1\117\1\55\1\103"+ + "\1\uffff\2\124\1\110\1\uffff\1\114\1\117\1\105\1\131\1\uffff\1\114\2\55"+ + "\1\122\1\uffff\1\117\1\55\1\105\1\124\1\105\1\115\1\116\1\106\1\105\2"+ + "\uffff\1\116\1\122\1\103\1\uffff\1\122\3\55\1\124\1\122\1\55\1\105\1\116"+ + "\1\117\1\55\1\103\3\uffff\1\55\1\101\1\uffff\1\122\1\105\1\122\1\uffff"+ + "\1\117\1\uffff\1\115\1\55\1\122\1\116\1\122\1\105\1\uffff\1\55\1\105\1"+ + "\116\1\123\1\uffff\1\122\1\105\2\55\1\122\2\uffff\1\55\1\uffff"; static final String DFA212_maxS = "\2\uffff\1\75\1\uffff\2\75\1\uffff\1\uffff\2\75\4\uffff\1\76\1\uffff\1"+ "\72\1\57\4\uffff\1\71\1\uffff\1\117\3\uffff\1\117\1\uffff\2\162\2\uffff"+ "\1\uffff\1\117\1\105\2\uffff\1\uffff\1\145\1\116\1\101\1\111\1\101\1\117"+ - "\2\125\1\105\2\117\1\111\1\127\1\130\1\105\1\110\1\123\1\124\5\uffff\1"+ + "\2\125\2\105\2\117\1\111\1\127\1\130\1\105\1\110\1\123\1\124\5\uffff\1"+ "\uffff\34\uffff\1\124\2\154\1\uffff\1\uffff\1\154\1\162\1\67\1\162\1\65"+ "\2\uffff\1\115\1\107\1\uffff\1\163\1\120\1\103\1\uffff\1\107\1\104\1\130"+ - "\1\115\1\101\1\125\1\122\1\116\1\120\1\131\1\106\1\120\1\124\1\107\1\124"+ - "\1\117\1\105\1\124\1\122\1\123\1\103\1\102\1\122\1\111\1\105\1\55\2\uffff"+ - "\1\uffff\2\50\1\uffff\1\154\1\67\1\154\1\62\1\55\1\67\1\65\1\162\1\101"+ - "\1\105\1\164\1\117\1\114\1\uffff\1\105\2\111\1\105\1\122\1\116\2\124\1"+ - "\uffff\1\103\1\120\1\105\1\124\1\55\1\124\1\110\1\125\1\132\1\102\1\105"+ - "\1\117\1\105\1\110\1\125\1\116\1\114\1\uffff\1\122\2\uffff\1\50\1\66\1"+ - "\50\1\143\1\67\1\62\1\154\1\120\1\67\1\65\1\162\1\111\1\130\1\56\1\122"+ - "\1\125\1\uffff\1\101\1\116\2\123\1\124\1\105\1\55\1\101\1\uffff\1\124"+ - "\1\117\1\122\1\55\1\122\1\117\1\124\1\122\1\55\1\113\1\116\1\122\2\uffff"+ - "\1\107\1\uffff\1\105\1\uffff\1\117\1\66\1\143\2\50\1\67\1\62\1\154\1\122"+ - "\1\67\1\65\1\162\1\116\1\120\1\uffff\1\124\1\104\1\uffff\2\uffff\1\120"+ - "\2\105\1\111\1\116\1\106\1\122\1\111\1\122\1\uffff\1\124\2\105\1\111\1"+ - "\115\1\55\1\116\1\104\1\111\1\104\1\uffff\1\106\2\uffff\1\uffff\1\uffff"+ - "\1\uffff\1\117\1\66\1\143\2\50\1\67\1\62\1\154\1\105\1\65\1\162\2\50\1"+ - "\uffff\1\105\2\uffff\1\101\1\124\1\122\1\116\1\124\1\101\1\104\1\117\1"+ - "\124\1\uffff\1\117\1\111\1\117\1\106\1\116\1\107\1\55\1\124\1\uffff\1"+ - "\117\1\124\1\uffff\1\uffff\1\uffff\2\uffff\1\124\1\66\1\143\2\50\1\62"+ - "\1\154\1\106\1\162\3\uffff\1\uffff\1\103\1\uffff\1\55\1\105\1\uffff\1"+ - "\103\1\uffff\1\116\1\123\1\120\1\104\3\124\1\110\1\122\1\117\1\111\1\117"+ - "\1\uffff\1\103\1\55\2\uffff\1\uffff\1\143\2\50\1\154\1\111\1\uffff\1\105"+ - "\1\uffff\1\123\1\122\1\uffff\1\105\1\uffff\3\uffff\1\104\1\124\1\uffff"+ - "\1\105\1\124\2\105\1\111\1\120\1\104\1\124\1\125\1\113\1\uffff\2\50\1"+ - "\130\1\uffff\1\124\2\uffff\3\uffff\1\114\1\117\1\103\1\uffff\1\122\1\uffff"+ - "\1\106\1\116\1\107\1\uffff\1\104\1\124\1\115\1\105\1\50\1\uffff\1\131"+ - "\2\uffff\1\105\1\115\1\117\1\uffff\1\103\1\uffff\2\124\1\110\1\uffff\1"+ - "\114\1\117\1\105\1\131\1\uffff\1\114\2\uffff\1\122\1\uffff\1\117\1\uffff"+ - "\1\105\1\124\1\105\1\115\1\116\1\106\1\105\2\uffff\1\116\1\122\1\103\1"+ - "\uffff\1\122\3\uffff\1\124\1\122\1\uffff\1\105\1\116\1\117\1\uffff\1\103"+ - "\3\uffff\1\uffff\1\101\1\uffff\1\122\1\105\1\122\1\uffff\1\117\1\uffff"+ - "\1\115\1\uffff\1\122\1\116\1\122\1\105\1\uffff\1\uffff\1\105\1\116\1\123"+ - "\1\uffff\1\122\1\105\2\uffff\1\122\2\uffff\1\uffff\1\uffff"; + "\1\115\1\101\1\125\1\122\1\116\1\120\1\131\1\106\1\131\1\120\1\124\1\107"+ + "\1\124\1\117\1\105\1\124\1\122\1\123\1\103\1\102\1\122\1\111\1\105\1\55"+ + "\2\uffff\1\uffff\2\50\1\uffff\1\154\1\67\1\154\1\62\1\55\1\67\1\65\1\162"+ + "\1\101\1\105\1\164\1\117\1\114\1\uffff\1\105\2\111\1\105\1\122\1\116\2"+ + "\124\1\uffff\1\103\1\120\1\105\1\124\1\106\1\55\1\124\1\110\1\125\1\132"+ + "\1\102\1\105\1\117\1\105\1\110\1\125\1\116\1\114\1\uffff\1\122\2\uffff"+ + "\1\50\1\66\1\50\1\143\1\67\1\62\1\154\1\120\1\67\1\65\1\162\1\111\1\130"+ + "\1\56\1\122\1\125\1\uffff\1\101\1\116\2\123\1\124\1\105\1\55\1\101\1\uffff"+ + "\1\124\1\117\1\122\1\55\2\122\1\117\1\124\1\122\1\55\1\113\1\116\1\122"+ + "\2\uffff\1\107\1\uffff\1\105\1\uffff\1\117\1\66\1\143\2\50\1\67\1\62\1"+ + "\154\1\122\1\67\1\65\1\162\1\116\1\120\1\uffff\1\124\1\104\1\uffff\2\uffff"+ + "\1\120\2\105\1\111\1\116\1\106\1\122\1\111\1\122\1\uffff\1\124\1\101\2"+ + "\105\1\111\1\115\1\55\1\116\1\104\1\111\1\104\1\uffff\1\106\2\uffff\1"+ + "\uffff\1\uffff\1\uffff\1\117\1\66\1\143\2\50\1\67\1\62\1\154\1\105\1\65"+ + "\1\162\2\50\1\uffff\1\105\2\uffff\1\101\1\124\1\122\1\116\1\124\1\101"+ + "\1\104\1\117\1\124\1\uffff\1\117\1\111\1\117\1\115\1\106\1\116\1\107\1"+ + "\55\1\124\1\uffff\1\117\1\124\1\uffff\1\uffff\1\uffff\2\uffff\1\124\1"+ + "\66\1\143\2\50\1\62\1\154\1\106\1\162\3\uffff\1\uffff\1\103\1\uffff\1"+ + "\55\1\105\1\uffff\1\103\1\uffff\1\116\1\123\1\120\1\104\1\124\1\105\2"+ + "\124\1\110\1\122\1\117\1\111\1\117\1\uffff\1\103\1\55\2\uffff\1\uffff"+ + "\1\143\2\50\1\154\1\111\1\uffff\1\105\1\uffff\1\123\1\122\1\uffff\1\105"+ + "\1\uffff\3\uffff\1\104\1\124\1\123\1\uffff\1\105\1\124\2\105\1\111\1\120"+ + "\1\104\1\124\1\125\1\113\1\uffff\2\50\1\130\1\uffff\1\124\2\uffff\3\uffff"+ + "\1\114\1\117\1\uffff\1\103\1\uffff\1\122\1\uffff\1\106\1\116\1\107\1\uffff"+ + "\1\104\1\124\1\115\1\105\1\50\1\uffff\1\131\2\uffff\1\105\1\115\1\uffff"+ + "\1\117\1\uffff\1\103\1\uffff\2\124\1\110\1\uffff\1\114\1\117\1\105\1\131"+ + "\1\uffff\1\114\2\uffff\1\122\1\uffff\1\117\1\uffff\1\105\1\124\1\105\1"+ + "\115\1\116\1\106\1\105\2\uffff\1\116\1\122\1\103\1\uffff\1\122\3\uffff"+ + "\1\124\1\122\1\uffff\1\105\1\116\1\117\1\uffff\1\103\3\uffff\1\uffff\1"+ + "\101\1\uffff\1\122\1\105\1\122\1\uffff\1\117\1\uffff\1\115\1\uffff\1\122"+ + "\1\116\1\122\1\105\1\uffff\1\uffff\1\105\1\116\1\123\1\uffff\1\122\1\105"+ + "\2\uffff\1\122\2\uffff\1\uffff\1\uffff"; static final String DFA212_acceptS = "\6\uffff\1\6\3\uffff\1\12\1\13\1\14\1\15\1\uffff\1\17\2\uffff\1\24\1\26"+ - "\1\27\1\30\3\uffff\1\43\1\46\1\47\1\uffff\1\52\4\uffff\1\143\2\uffff\1"+ - "\151\1\152\23\uffff\1\134\1\135\1\2\1\42\1\40\1\uffff\1\23\1\4\1\32\1"+ - "\5\1\33\1\7\1\136\1\10\1\25\1\41\1\11\1\36\1\16\1\21\1\20\1\153\1\154"+ - "\1\22\1\44\1\31\1\34\1\142\1\37\1\137\1\140\1\141\1\35\1\55\4\uffff\1"+ - "\145\5\uffff\1\53\1\54\2\uffff\1\1\36\uffff\1\3\1\51\21\uffff\1\121\34"+ - "\uffff\1\50\1\144\31\uffff\1\124\21\uffff\1\127\16\uffff\1\45\2\uffff"+ - "\1\57\30\uffff\1\122\1\131\1\uffff\1\120\20\uffff\1\60\1\113\11\uffff"+ - "\1\66\14\uffff\1\117\1\uffff\1\116\1\132\11\uffff\1\147\1\150\1\56\24"+ - "\uffff\1\126\2\uffff\1\115\1\123\6\uffff\1\114\1\uffff\1\62\2\uffff\1"+ - "\112\1\uffff\1\130\20\uffff\1\133\7\uffff\1\125\1\65\1\102\3\uffff\1\71"+ - "\13\uffff\1\61\1\uffff\1\67\1\64\5\uffff\1\73\3\uffff\1\105\4\uffff\1"+ - "\146\4\uffff\1\72\11\uffff\1\103\1\104\3\uffff\1\76\14\uffff\1\100\1\106"+ - "\1\107\2\uffff\1\63\3\uffff\1\77\1\uffff\1\110\6\uffff\1\70\4\uffff\1"+ - "\74\5\uffff\1\111\1\75\1\uffff\1\101"; + "\1\27\1\30\3\uffff\1\43\1\46\1\47\1\uffff\1\52\4\uffff\1\144\2\uffff\1"+ + "\152\1\153\24\uffff\1\135\1\136\1\2\1\42\1\40\1\uffff\1\23\1\4\1\32\1"+ + "\5\1\33\1\7\1\137\1\10\1\25\1\41\1\11\1\36\1\16\1\21\1\20\1\154\1\155"+ + "\1\22\1\44\1\31\1\34\1\143\1\37\1\140\1\141\1\142\1\35\1\55\4\uffff\1"+ + "\146\5\uffff\1\53\1\54\2\uffff\1\1\37\uffff\1\3\1\51\21\uffff\1\122\35"+ + "\uffff\1\50\1\145\31\uffff\1\125\22\uffff\1\130\16\uffff\1\45\2\uffff"+ + "\1\57\31\uffff\1\123\1\132\1\uffff\1\121\20\uffff\1\60\1\114\11\uffff"+ + "\1\66\15\uffff\1\120\1\uffff\1\117\1\133\11\uffff\1\150\1\151\1\56\25"+ + "\uffff\1\127\2\uffff\1\116\1\124\6\uffff\1\115\1\uffff\1\62\2\uffff\1"+ + "\113\1\uffff\1\131\21\uffff\1\134\7\uffff\1\126\1\65\1\103\4\uffff\1\72"+ + "\13\uffff\1\61\1\uffff\1\67\1\64\2\uffff\1\70\3\uffff\1\74\3\uffff\1\106"+ + "\4\uffff\1\147\4\uffff\1\73\11\uffff\1\104\1\105\3\uffff\1\77\14\uffff"+ + "\1\101\1\107\1\110\2\uffff\1\63\3\uffff\1\100\1\uffff\1\111\6\uffff\1"+ + "\71\4\uffff\1\75\5\uffff\1\112\1\76\1\uffff\1\102"; static final String DFA212_specialS = - "\40\uffff\1\2\76\uffff\1\1\56\uffff\1\0\u0163\uffff}>"; + "\40\uffff\1\2\77\uffff\1\1\57\uffff\1\0\u016b\uffff}>"; static final String[] DFA212_transitionS = { "\1\45\1\46\2\uffff\1\46\22\uffff\1\45\1\30\1\32\1\41\1\7\1\27\1\31\1"+ "\32\1\23\1\24\1\10\1\22\1\25\1\3\1\26\1\21\12\42\1\20\1\17\1\2\1\16\1"+ "\11\1\uffff\1\1\3\35\1\43\11\35\1\34\3\35\1\44\2\35\1\37\5\35\1\14\1"+ "\40\1\15\1\6\1\35\1\33\24\35\1\36\5\35\1\12\1\5\1\13\1\4\1\uffff\uff80"+ "\35", - "\1\64\2\uffff\12\73\6\uffff\1\47\1\71\1\62\1\55\1\66\1\65\1\56\2\73"+ - "\1\51\2\73\1\60\1\53\1\54\1\73\1\52\1\73\1\63\1\57\1\61\1\70\1\73\1\67"+ - "\3\73\1\uffff\1\73\2\uffff\1\73\1\uffff\21\73\1\50\10\73\5\uffff\uff80"+ - "\73", - "\1\74\33\uffff\1\75", - "\1\77\23\uffff\32\35\1\uffff\1\35\2\uffff\1\35\1\uffff\32\35\5\uffff"+ + "\1\65\2\uffff\12\74\6\uffff\1\47\1\72\1\63\1\55\1\67\1\66\1\56\2\74"+ + "\1\51\1\74\1\61\1\60\1\53\1\54\1\74\1\52\1\74\1\64\1\57\1\62\1\71\1\74"+ + "\1\70\3\74\1\uffff\1\74\2\uffff\1\74\1\uffff\21\74\1\50\10\74\5\uffff"+ + "\uff80\74", + "\1\75\33\uffff\1\76", + "\1\100\23\uffff\32\35\1\uffff\1\35\2\uffff\1\35\1\uffff\32\35\5\uffff"+ "\uff80\35", - "\1\101", - "\1\103", + "\1\102", + "\1\104", "", - "\1\106\2\uffff\12\106\3\uffff\1\105\3\uffff\32\106\1\uffff\1\106\2\uffff"+ - "\1\106\1\uffff\32\106\5\uffff\uff80\106", - "\1\107", - "\1\111", + "\1\107\2\uffff\12\107\3\uffff\1\106\3\uffff\32\107\1\uffff\1\107\2\uffff"+ + "\1\107\1\uffff\32\107\5\uffff\uff80\107", + "\1\110", + "\1\112", "", "", "", "", - "\1\75\1\113\1\111", + "\1\76\1\114\1\112", "", - "\1\115", - "\1\117\4\uffff\1\120", + "\1\116", + "\1\120\4\uffff\1\121", "", "", "", "", - "\1\122\1\uffff\12\42", - "\1\125\2\uffff\12\125\7\uffff\32\125\1\uffff\1\125\2\uffff\1\125\1\uffff"+ - "\32\125\5\uffff\uff80\125", - "\1\133\26\uffff\1\133\16\uffff\1\133\15\uffff\1\126\6\uffff\1\127\2"+ - "\uffff\1\131\1\uffff\1\133\5\uffff\1\130", + "\1\123\1\uffff\12\42", + "\1\126\2\uffff\12\126\7\uffff\32\126\1\uffff\1\126\2\uffff\1\126\1\uffff"+ + "\32\126\5\uffff\uff80\126", + "\1\134\26\uffff\1\134\16\uffff\1\134\15\uffff\1\127\6\uffff\1\130\2"+ + "\uffff\1\132\1\uffff\1\134\5\uffff\1\131", "", "", "", - "\1\134", + "\1\135", "", - "\1\140\46\uffff\1\136\11\uffff\1\137\25\uffff\1\135", - "\1\140\46\uffff\1\141\11\uffff\1\137\25\uffff\1\135", - "\12\35\1\uffff\1\35\2\uffff\42\35\1\143\4\35\1\145\1\35\1\145\35\35"+ - "\1\144\37\35\1\142\uff8a\35", - "\1\147\2\uffff\12\147\7\uffff\32\147\1\uffff\1\147\2\uffff\1\147\1\uffff"+ - "\32\147\5\uffff\uff80\147", + "\1\141\46\uffff\1\137\11\uffff\1\140\25\uffff\1\136", + "\1\141\46\uffff\1\142\11\uffff\1\140\25\uffff\1\136", + "\12\35\1\uffff\1\35\2\uffff\42\35\1\144\4\35\1\146\1\35\1\146\35\35"+ + "\1\145\37\35\1\143\uff8a\35", + "\1\150\2\uffff\12\150\7\uffff\32\150\1\uffff\1\150\2\uffff\1\150\1\uffff"+ + "\32\150\5\uffff\uff80\150", "", - "\1\150", "\1\151", + "\1\152", "", "", - "\1\73\2\uffff\12\73\6\uffff\1\152\32\73\1\uffff\1\73\2\uffff\1\73\1"+ - "\uffff\32\73\5\uffff\uff80\73", - "\1\153", - "\1\156\6\uffff\1\154\1\155", - "\1\157", - "\1\160\3\uffff\1\161", - "\1\162", - "\1\163\6\uffff\1\164", - "\1\165\5\uffff\1\166", - "\1\167", - "\1\170\3\uffff\1\171", - "\1\172", + "\1\74\2\uffff\12\74\6\uffff\1\153\32\74\1\uffff\1\74\2\uffff\1\74\1"+ + "\uffff\32\74\5\uffff\uff80\74", + "\1\154", + "\1\157\6\uffff\1\155\1\156", + "\1\160", + "\1\161\3\uffff\1\162", + "\1\163", + "\1\164\6\uffff\1\165", + "\1\166\5\uffff\1\167", + "\1\170", + "\1\171\3\uffff\1\172", "\1\173", - "\1\175\3\uffff\1\174", - "\1\176\11\uffff\1\177", - "\1\u0083\12\uffff\1\u0082\5\uffff\1\u0081\5\uffff\1\u0080", - "\1\u0084", - "\1\u0085\6\uffff\1\u0086", - "\1\u0087", - "\1\u0088", - "", + "\1\174", + "\1\175", + "\1\177\3\uffff\1\176", + "\1\u0080\11\uffff\1\u0081", + "\1\u0085\12\uffff\1\u0084\5\uffff\1\u0083\5\uffff\1\u0082", + "\1\u0086", + "\1\u0087\6\uffff\1\u0088", + "\1\u0089", + "\1\u008a", "", "", "", "", - "\1\u0089\2\uffff\32\u008a\1\uffff\1\u008a\2\uffff\1\u008a\1\uffff\32"+ - "\u008a\5\uffff\uff80\u008a", "", + "\1\u008b\2\uffff\32\u008c\1\uffff\1\u008c\2\uffff\1\u008c\1\uffff\32"+ + "\u008c\5\uffff\uff80\u008c", "", "", "", @@ -20417,36 +20448,35 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "", "", "", - "\1\u008b", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", - "\12\35\1\uffff\1\35\2\uffff\42\35\1\u0090\4\35\1\u0092\1\35\1\u0092"+ - "\32\35\1\u0091\37\35\1\u008f\uff8d\35", "", - "\1\u0093\17\uffff\1\u008e\17\uffff\1\u008c", - "\1\136\11\uffff\1\137\25\uffff\1\135", - "\1\u0094\4\uffff\1\u0095\1\uffff\1\u0095", - "\1\136\11\uffff\1\137\25\uffff\1\135", - "\1\u0096", + "\1\u008d", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", + "\12\35\1\uffff\1\35\2\uffff\42\35\1\u0092\4\35\1\u0094\1\35\1\u0094"+ + "\32\35\1\u0093\37\35\1\u0091\uff8d\35", "", - "", - "\1\u0097", + "\1\u0095\17\uffff\1\u0090\17\uffff\1\u008e", + "\1\137\11\uffff\1\140\25\uffff\1\136", + "\1\u0096\4\uffff\1\u0097\1\uffff\1\u0097", + "\1\137\11\uffff\1\140\25\uffff\1\136", "\1\u0098", "", + "", "\1\u0099", "\1\u009a", + "", "\1\u009b", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u009c", "\1\u009d", - "\1\u009e", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u009f", "\1\u00a0", "\1\u00a1", - "\1\u00a3\6\uffff\1\u00a2", - "\1\u00a4\3\uffff\1\u00a5", - "\1\u00a6", - "\1\u00a7", + "\1\u00a2", + "\1\u00a3", + "\1\u00a5\6\uffff\1\u00a4", + "\1\u00a6\3\uffff\1\u00a7", "\1\u00a8", "\1\u00a9", "\1\u00aa", @@ -20464,41 +20494,41 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "\1\u00b6", "\1\u00b7", "\1\u00b8", + "\1\u00b9", + "\1\u00ba", + "\1\u00bb", "", "", "\1\35\2\uffff\12\35\7\uffff\32\35\1\uffff\1\35\2\uffff\1\35\1\uffff"+ "\32\35\5\uffff\uff80\35", - "\1\u00ba", - "\1\u00ba", - "\12\35\1\uffff\1\35\2\uffff\42\35\1\u00bc\3\35\1\u00be\1\35\1\u00be"+ - "\25\35\1\u00bd\37\35\1\u00bb\uff93\35", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", - "\1\u00bf\4\uffff\1\u00c0\1\uffff\1\u00c0", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", - "\1\u00c1", - "\1\u00ba\4\uffff\1\u00c2", - "\1\u00c3\4\uffff\1\u00c4\1\uffff\1\u00c4", - "\1\u00c5", - "\1\136\11\uffff\1\137\25\uffff\1\135", - "\1\u00c6", - "\1\u00c7", + "\1\u00bd", + "\1\u00bd", + "\12\35\1\uffff\1\35\2\uffff\42\35\1\u00bf\3\35\1\u00c1\1\35\1\u00c1"+ + "\25\35\1\u00c0\37\35\1\u00be\uff93\35", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", + "\1\u00c2\4\uffff\1\u00c3\1\uffff\1\u00c3", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", + "\1\u00c4", + "\1\u00bd\4\uffff\1\u00c5", + "\1\u00c6\4\uffff\1\u00c7\1\uffff\1\u00c7", "\1\u00c8", + "\1\137\11\uffff\1\140\25\uffff\1\136", "\1\u00c9", "\1\u00ca", - "", "\1\u00cb", "\1\u00cc", "\1\u00cd", + "", "\1\u00ce", "\1\u00cf", "\1\u00d0", "\1\u00d1", "\1\u00d2", - "\1\73\2\uffff\12\73\7\uffff\26\73\1\u00d3\3\73\1\uffff\1\73\2\uffff"+ - "\1\73\1\uffff\32\73\5\uffff\uff80\73", + "\1\u00d3", + "\1\u00d4", "\1\u00d5", - "\1\u00d6", - "\1\u00d7", + "\1\74\2\uffff\12\74\7\uffff\26\74\1\u00d6\3\74\1\uffff\1\74\2\uffff"+ + "\1\74\1\uffff\32\74\5\uffff\uff80\74", "\1\u00d8", "\1\u00d9", "\1\u00da", @@ -20513,364 +20543,376 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "\1\u00e3", "\1\u00e4", "\1\u00e5", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u00e6", "\1\u00e7", + "\1\u00e8", + "\1\u00e9", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u00eb", "", "", - "\1\u00ba", - "\1\u00e8\3\uffff\1\u00e9\1\uffff\1\u00e9", - "\1\u00ba", - "\1\u00eb\37\uffff\1\u00ea", - "\1\u00ec\4\uffff\1\u00ed\1\uffff\1\u00ed", - "\1\u00ee", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", - "\1\u00ef", + "\1\u00bd", + "\1\u00ec\3\uffff\1\u00ed\1\uffff\1\u00ed", + "\1\u00bd", + "\1\u00ef\37\uffff\1\u00ee", "\1\u00f0\4\uffff\1\u00f1\1\uffff\1\u00f1", "\1\u00f2", - "\1\136\11\uffff\1\137\25\uffff\1\135", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", "\1\u00f3", - "\1\u00f4", - "\1\u00f5", + "\1\u00f4\4\uffff\1\u00f5\1\uffff\1\u00f5", "\1\u00f6", + "\1\137\11\uffff\1\140\25\uffff\1\136", "\1\u00f7", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u00f8", "\1\u00f9", "\1\u00fa", "\1\u00fb", - "\1\u00fc", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u00fd", - "\1\u00fe\3\uffff\1\u00ff", + "\1\u00fe", + "\1\u00ff", "\1\u0100", "\1\u0101", - "", - "\1\u0102", - "\1\u0103", + "\1\u0102\3\uffff\1\u0103", "\1\u0104", "\1\u0105", - "\1\u0107\10\uffff\1\u0106\5\uffff\1\u0108", + "", + "\1\u0106", + "\1\u0107", + "\1\u0108", "\1\u0109", "\1\u010a", - "\1\u010b", - "\1\u010c", - "\1\u010d", + "\1\u010c\10\uffff\1\u010b\5\uffff\1\u010d", "\1\u010e", "\1\u010f", - "\1\73\2\uffff\12\73\7\uffff\10\73\1\u0110\21\73\1\uffff\1\73\2\uffff"+ - "\1\73\1\uffff\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u0110", + "\1\u0111", + "\1\u0112", "\1\u0113", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u0115", + "\1\u0114", + "\1\74\2\uffff\12\74\7\uffff\10\74\1\u0115\21\74\1\uffff\1\74\2\uffff"+ + "\1\74\1\uffff\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u0118", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u011a", "", - "\1\u0116", - "\1\u0117\3\uffff\1\u0118\1\uffff\1\u0118", - "\1\u011a\37\uffff\1\u0119", - "\1\u00ba", - "\1\u00ba", - "\1\u011b\4\uffff\1\u011c\1\uffff\1\u011c", - "\1\u011d", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", - "\1\u011e", - "\1\u011f\1\uffff\1\u011f", - "\1\u0120", - "\1\136\11\uffff\1\137\25\uffff\1\135", - "\1\u0121", + "\1\u011b", + "\1\u011c\3\uffff\1\u011d\1\uffff\1\u011d", + "\1\u011f\37\uffff\1\u011e", + "\1\u00bd", + "\1\u00bd", + "\1\u0120\4\uffff\1\u0121\1\uffff\1\u0121", "\1\u0122", - "", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", "\1\u0123", - "\1\u0124", - "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u0124\1\uffff\1\u0124", + "\1\u0125", + "\1\137\11\uffff\1\140\25\uffff\1\136", + "\1\u0126", "\1\u0127", + "", "\1\u0128", "\1\u0129", - "\1\u012a", - "\1\u012b", + "", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u012c", "\1\u012d", "\1\u012e", "\1\u012f", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u0133\12\uffff\1\u0132\6\uffff\1\u0131", + "\1\u0130", + "\1\u0131", + "\1\u0132", + "\1\u0133", "\1\u0134", - "\1\u0135", - "\1\u0136", - "\1\u0137", - "\1\u0138", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u0138\12\uffff\1\u0137\6\uffff\1\u0136", "\1\u0139", "\1\u013a", "\1\u013b", "\1\u013c", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u013d", "\1\u013e", + "\1\u013f", + "\1\u0140", + "\1\u0141", + "\1\u0142", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u0144", "", "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u0141", - "\1\u0142\3\uffff\1\u0143\1\uffff\1\u0143", - "\1\u0145\37\uffff\1\u0144", - "\1\u00ba", - "\1\u00ba", - "\1\u0146\1\uffff\1\u0146", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u0147", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", - "\1\u0148", - "\1\u0149", - "\1\136\11\uffff\1\137\25\uffff\1\135", - "\1\u014a", - "\1\u014b", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u0148\3\uffff\1\u0149\1\uffff\1\u0149", + "\1\u014b\37\uffff\1\u014a", + "\1\u00bd", + "\1\u00bd", + "\1\u014c\1\uffff\1\u014c", "\1\u014d", - "", - "", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", "\1\u014e", "\1\u014f", + "\1\137\11\uffff\1\140\25\uffff\1\136", "\1\u0150", "\1\u0151", - "\1\u0152", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u0153", + "", + "", "\1\u0154", "\1\u0155", "\1\u0156", - "", "\1\u0157", "\1\u0158", "\1\u0159", "\1\u015a", "\1\u015b", "\1\u015c", + "", "\1\u015d", - "\1\u0160\12\uffff\1\u015f\6\uffff\1\u015e", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u015e", + "\1\u015f", + "\1\u0160", + "\1\u0161", "\1\u0162", "\1\u0163", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "", - "", - "\1\u0166", - "\1\u0167\1\uffff\1\u0167", - "\1\u0169\37\uffff\1\u0168", - "\1\u00ba", - "\1\u00ba", + "\1\u0164", + "\1\u0167\12\uffff\1\u0166\6\uffff\1\u0165", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u0169", "\1\u016a", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", - "\1\u016b", - "\1\136\11\uffff\1\137\25\uffff\1\135", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "", "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", "\1\u016d", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u016f", - "\1\u0170", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u016e\1\uffff\1\u016e", + "\1\u0170\37\uffff\1\u016f", + "\1\u00bd", + "\1\u00bd", + "\1\u0171", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", "\1\u0172", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\137\11\uffff\1\140\25\uffff\1\136", + "", + "", + "", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u0174", - "\1\u0175", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u0176", "\1\u0177", - "\1\u0178", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u0179", - "\1\u017a", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u017b", - "\1\u017d\10\uffff\1\u017c\5\uffff\1\u017e", + "\1\u017c", + "\1\u017d", + "\1\u017e", "\1\u017f", "\1\u0180", "\1\u0181", - "", "\1\u0182", "\1\u0183", - "", - "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u0186\37\uffff\1\u0185", - "\1\u00ba", - "\1\u00ba", - "\1\u008d\17\uffff\1\u008e\17\uffff\1\u008c", + "\1\u0185\10\uffff\1\u0184\5\uffff\1\u0186", "\1\u0187", - "", "\1\u0188", - "", "\1\u0189", - "\1\u018a", "", + "\1\u018a", "\1\u018b", "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u018e\37\uffff\1\u018d", + "\1\u00bd", + "\1\u00bd", + "\1\u008f\17\uffff\1\u0090\17\uffff\1\u008e", "\1\u018f", + "", "\1\u0190", - "\1\u0191\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "", + "\1\u0191", + "\1\u0192", + "", "\1\u0193", - "\1\u0194", - "\1\u0195", - "\1\u0196", + "", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u0197", "\1\u0198", "\1\u0199", - "\1\u019a", - "\1\u019b", + "\1\u019a\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u019c", - "", - "\1\u00ba", - "\1\u00ba", "\1\u019d", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u019e", "\1\u019f", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "", - "", - "", + "\1\u01a0", + "\1\u01a1", "\1\u01a2", "\1\u01a3", "\1\u01a4", - "", "\1\u01a5", - "\1\u01a6\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "", + "\1\u00bd", + "\1\u00bd", + "\1\u01a6", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01a8", - "\1\u01a9", - "\1\u01aa", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u01ac", - "\1\u01ad", - "\1\u01ae", - "\1\u01af", - "\1\u01b0", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "", - "\1\u01b1", "", "", + "\1\u01ab", + "\1\u01ac", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u01ae", + "", + "\1\u01af", + "\1\u01b0\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01b2", "\1\u01b3", "\1\u01b4", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01b6", - "", "\1\u01b7", "\1\u01b8", "\1\u01b9", - "", "\1\u01ba", + "", "\1\u01bb", + "", + "", "\1\u01bc", "\1\u01bd", "", "\1\u01be", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u01c1", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u01c0", "", + "\1\u01c1", "\1\u01c2", - "\1\u01c3\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u01c3", + "", + "\1\u01c4", "\1\u01c5", "\1\u01c6", "\1\u01c7", + "", "\1\u01c8", - "\1\u01c9", - "\1\u01ca", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01cb", "", - "", "\1\u01cc", - "\1\u01cd", - "\1\u01ce", - "", + "\1\u01cd\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01cf", - "\1\u01d0\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u01d0", + "\1\u01d1", + "\1\u01d2", + "\1\u01d3", "\1\u01d4", "\1\u01d5", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u01d7", - "\1\u01d8", - "\1\u01d9", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u01db", "", "", + "\1\u01d6", + "\1\u01d7", + "\1\u01d8", "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u01dd", - "", + "\1\u01d9", + "\1\u01da\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01de", "\1\u01df", - "\1\u01e0", - "", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01e1", - "", "\1\u01e2", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\u01e4", + "\1\u01e3", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01e5", - "\1\u01e6", + "", + "", + "", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "\1\u01e7", "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\u01e8", "\1\u01e9", "\1\u01ea", + "", "\1\u01eb", "", "\1\u01ec", - "\1\u01ed", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u01ee", + "\1\u01ef", "\1\u01f0", + "\1\u01f1", + "", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u01f3", + "\1\u01f4", + "\1\u01f5", + "", + "\1\u01f6", + "\1\u01f7", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", + "\1\u01fa", "", "", - "\1\73\2\uffff\12\73\7\uffff\32\73\1\uffff\1\73\2\uffff\1\73\1\uffff"+ - "\32\73\5\uffff\uff80\73", + "\1\74\2\uffff\12\74\7\uffff\32\74\1\uffff\1\74\2\uffff\1\74\1\uffff"+ + "\32\74\5\uffff\uff80\74", "" }; @@ -20905,7 +20947,7 @@ public DFA212(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "1:1: Tokens : ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VARIABLE | IDENT | HASH_SYMBOL | HASH | IMPORTANT_SYM | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | SUPPORTS_SYM | LAYER_SYM | CONTAINER_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_ERROR | SASS_WARN | SASS_IF | SASS_ELSE | SASS_ELSEIF | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_USE | SASS_FORWARD | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | AT_SIGN | AT_IDENT | SASS_VAR | SASS_DEFAULT | SASS_OPTIONAL | SASS_GLOBAL | SASS_EXTEND_ONLY_SELECTOR | NUMBER | URI | URANGE | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP | WS | NL | COMMENT | LINE_COMMENT );"; + return "1:1: Tokens : ( GEN | CDO | CDC | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS | GREATER | LBRACE | RBRACE | LBRACKET | RBRACKET | OPEQ | SEMI | COLON | DCOLON | SOLIDUS | MINUS | PLUS | STAR | LPAREN | RPAREN | COMMA | DOT | TILDE | PIPE | PERCENTAGE_SYMBOL | EXCLAMATION_MARK | CP_EQ | CP_NOT_EQ | LESS | GREATER_OR_EQ | LESS_OR_EQ | LESS_AND | CP_DOTS | LESS_REST | STRING | LESS_JS_STRING | NOT | VARIABLE | IDENT | HASH_SYMBOL | HASH | IMPORTANT_SYM | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | SUPPORTS_SYM | LAYER_SYM | CONTAINER_SYM | KEYFRAMES_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_ERROR | SASS_WARN | SASS_IF | SASS_ELSE | SASS_ELSEIF | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_USE | SASS_FORWARD | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | AT_SIGN | AT_IDENT | SASS_VAR | SASS_DEFAULT | SASS_OPTIONAL | SASS_GLOBAL | SASS_EXTEND_ONLY_SELECTOR | NUMBER | URI | URANGE | MOZ_URL_PREFIX | MOZ_DOMAIN | MOZ_REGEXP | WS | NL | COMMENT | LINE_COMMENT );"; } @Override public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { @@ -20913,33 +20955,33 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA212_142 = input.LA(1); + int LA212_144 = input.LA(1); s = -1; - if ( (LA212_142=='l') ) {s = 187;} - else if ( (LA212_142=='0') ) {s = 188;} - else if ( (LA212_142=='L') ) {s = 189;} - else if ( ((LA212_142 >= '\u0000' && LA212_142 <= '\t')||LA212_142=='\u000B'||(LA212_142 >= '\u000E' && LA212_142 <= '/')||(LA212_142 >= '1' && LA212_142 <= '3')||LA212_142=='5'||(LA212_142 >= '7' && LA212_142 <= 'K')||(LA212_142 >= 'M' && LA212_142 <= 'k')||(LA212_142 >= 'm' && LA212_142 <= '\uFFFF')) ) {s = 29;} - else if ( (LA212_142=='4'||LA212_142=='6') ) {s = 190;} + if ( (LA212_144=='l') ) {s = 190;} + else if ( (LA212_144=='0') ) {s = 191;} + else if ( (LA212_144=='L') ) {s = 192;} + else if ( ((LA212_144 >= '\u0000' && LA212_144 <= '\t')||LA212_144=='\u000B'||(LA212_144 >= '\u000E' && LA212_144 <= '/')||(LA212_144 >= '1' && LA212_144 <= '3')||LA212_144=='5'||(LA212_144 >= '7' && LA212_144 <= 'K')||(LA212_144 >= 'M' && LA212_144 <= 'k')||(LA212_144 >= 'm' && LA212_144 <= '\uFFFF')) ) {s = 29;} + else if ( (LA212_144=='4'||LA212_144=='6') ) {s = 193;} if ( s>=0 ) return s; break; case 1 : - int LA212_95 = input.LA(1); + int LA212_96 = input.LA(1); s = -1; - if ( (LA212_95=='r') ) {s = 143;} - else if ( (LA212_95=='0') ) {s = 144;} - else if ( (LA212_95=='R') ) {s = 145;} - else if ( ((LA212_95 >= '\u0000' && LA212_95 <= '\t')||LA212_95=='\u000B'||(LA212_95 >= '\u000E' && LA212_95 <= '/')||(LA212_95 >= '1' && LA212_95 <= '4')||LA212_95=='6'||(LA212_95 >= '8' && LA212_95 <= 'Q')||(LA212_95 >= 'S' && LA212_95 <= 'q')||(LA212_95 >= 's' && LA212_95 <= '\uFFFF')) ) {s = 29;} - else if ( (LA212_95=='5'||LA212_95=='7') ) {s = 146;} + if ( (LA212_96=='r') ) {s = 145;} + else if ( (LA212_96=='0') ) {s = 146;} + else if ( (LA212_96=='R') ) {s = 147;} + else if ( ((LA212_96 >= '\u0000' && LA212_96 <= '\t')||LA212_96=='\u000B'||(LA212_96 >= '\u000E' && LA212_96 <= '/')||(LA212_96 >= '1' && LA212_96 <= '4')||LA212_96=='6'||(LA212_96 >= '8' && LA212_96 <= 'Q')||(LA212_96 >= 'S' && LA212_96 <= 'q')||(LA212_96 >= 's' && LA212_96 <= '\uFFFF')) ) {s = 29;} + else if ( (LA212_96=='5'||LA212_96=='7') ) {s = 148;} if ( s>=0 ) return s; break; case 2 : int LA212_32 = input.LA(1); s = -1; - if ( (LA212_32=='u') ) {s = 98;} - else if ( (LA212_32=='0') ) {s = 99;} - else if ( (LA212_32=='U') ) {s = 100;} + if ( (LA212_32=='u') ) {s = 99;} + else if ( (LA212_32=='0') ) {s = 100;} + else if ( (LA212_32=='U') ) {s = 101;} else if ( ((LA212_32 >= '\u0000' && LA212_32 <= '\t')||LA212_32=='\u000B'||(LA212_32 >= '\u000E' && LA212_32 <= '/')||(LA212_32 >= '1' && LA212_32 <= '4')||LA212_32=='6'||(LA212_32 >= '8' && LA212_32 <= 'T')||(LA212_32 >= 'V' && LA212_32 <= 't')||(LA212_32 >= 'v' && LA212_32 <= '\uFFFF')) ) {s = 29;} - else if ( (LA212_32=='5'||LA212_32=='7') ) {s = 101;} + else if ( (LA212_32=='5'||LA212_32=='7') ) {s = 102;} if ( s>=0 ) return s; break; } diff --git a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java index 6562550f633b..921786f1ce60 100644 --- a/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java +++ b/ide/css.lib/src/org/netbeans/modules/css/lib/Css3Parser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.5.3 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2024-10-07 20:25:38 +// $ANTLR 3.5.3 /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g 2024-12-16 18:39:33 /* * Licensed to the Apache Software Foundation (ASF) under one @@ -46,23 +46,23 @@ public class Css3Parser extends DebugParser { "DOT", "E", "EMS", "ENDS", "ESCAPE", "EXCLAMATION_MARK", "EXS", "F", "FONT_FACE_SYM", "FREQ", "G", "GEN", "GREATER", "GREATER_OR_EQ", "H", "HASH", "HASH_SYMBOL", "HEXCHAR", "HEXCHAR_WILDCARD", "I", "IDENT", "IMPORTANT_SYM", "IMPORT_SYM", - "INCLUDES", "INVALID", "J", "K", "L", "LAYER_SYM", "LBRACE", "LBRACKET", - "LEFTBOTTOM_SYM", "LEFTMIDDLE_SYM", "LEFTTOP_SYM", "LENGTH", "LESS", "LESS_AND", - "LESS_JS_STRING", "LESS_OR_EQ", "LESS_REST", "LINE_COMMENT", "LPAREN", - "M", "MEDIA_SYM", "MINUS", "MOZ_DOCUMENT_SYM", "MOZ_DOMAIN", "MOZ_REGEXP", - "MOZ_URL_PREFIX", "N", "NAME", "NAMESPACE_SYM", "NL", "NMCHAR", "NMSTART", - "NONASCII", "NOT", "NUMBER", "O", "OPEQ", "P", "PAGE_SYM", "PERCENTAGE", - "PERCENTAGE_SYMBOL", "PIPE", "PLUS", "Q", "R", "RBRACE", "RBRACKET", "REM", - "RESOLUTION", "RIGHTBOTTOM_SYM", "RIGHTMIDDLE_SYM", "RIGHTTOP_SYM", "RPAREN", - "S", "SASS_AT_ROOT", "SASS_CONTENT", "SASS_DEBUG", "SASS_DEFAULT", "SASS_EACH", - "SASS_ELSE", "SASS_ELSEIF", "SASS_ERROR", "SASS_EXTEND", "SASS_EXTEND_ONLY_SELECTOR", - "SASS_FOR", "SASS_FORWARD", "SASS_FUNCTION", "SASS_GLOBAL", "SASS_IF", - "SASS_INCLUDE", "SASS_MIXIN", "SASS_OPTIONAL", "SASS_RETURN", "SASS_USE", - "SASS_VAR", "SASS_WARN", "SASS_WHILE", "SEMI", "SOLIDUS", "STAR", "STRING", - "SUPPORTS_SYM", "T", "TILDE", "TIME", "TOPCENTER_SYM", "TOPLEFTCORNER_SYM", - "TOPLEFT_SYM", "TOPRIGHTCORNER_SYM", "TOPRIGHT_SYM", "U", "UNICODE", "URANGE", - "URI", "URL", "V", "VARIABLE", "W", "WEBKIT_KEYFRAMES_SYM", "WS", "X", - "Y", "Z" + "INCLUDES", "INVALID", "J", "K", "KEYFRAMES_SYM", "L", "LAYER_SYM", "LBRACE", + "LBRACKET", "LEFTBOTTOM_SYM", "LEFTMIDDLE_SYM", "LEFTTOP_SYM", "LENGTH", + "LESS", "LESS_AND", "LESS_JS_STRING", "LESS_OR_EQ", "LESS_REST", "LINE_COMMENT", + "LPAREN", "M", "MEDIA_SYM", "MINUS", "MOZ_DOCUMENT_SYM", "MOZ_DOMAIN", + "MOZ_REGEXP", "MOZ_URL_PREFIX", "N", "NAME", "NAMESPACE_SYM", "NL", "NMCHAR", + "NMSTART", "NONASCII", "NOT", "NUMBER", "O", "OPEQ", "P", "PAGE_SYM", + "PERCENTAGE", "PERCENTAGE_SYMBOL", "PIPE", "PLUS", "Q", "R", "RBRACE", + "RBRACKET", "REM", "RESOLUTION", "RIGHTBOTTOM_SYM", "RIGHTMIDDLE_SYM", + "RIGHTTOP_SYM", "RPAREN", "S", "SASS_AT_ROOT", "SASS_CONTENT", "SASS_DEBUG", + "SASS_DEFAULT", "SASS_EACH", "SASS_ELSE", "SASS_ELSEIF", "SASS_ERROR", + "SASS_EXTEND", "SASS_EXTEND_ONLY_SELECTOR", "SASS_FOR", "SASS_FORWARD", + "SASS_FUNCTION", "SASS_GLOBAL", "SASS_IF", "SASS_INCLUDE", "SASS_MIXIN", + "SASS_OPTIONAL", "SASS_RETURN", "SASS_USE", "SASS_VAR", "SASS_WARN", "SASS_WHILE", + "SEMI", "SOLIDUS", "STAR", "STRING", "SUPPORTS_SYM", "T", "TILDE", "TIME", + "TOPCENTER_SYM", "TOPLEFTCORNER_SYM", "TOPLEFT_SYM", "TOPRIGHTCORNER_SYM", + "TOPRIGHT_SYM", "U", "UNICODE", "URANGE", "URI", "URL", "V", "VARIABLE", + "W", "WEBKIT_KEYFRAMES_SYM", "WS", "X", "Y", "Z" }; public static final int EOF=-1; public static final int A=4; @@ -120,105 +120,106 @@ public class Css3Parser extends DebugParser { public static final int INVALID=56; public static final int J=57; public static final int K=58; - public static final int L=59; - public static final int LAYER_SYM=60; - public static final int LBRACE=61; - public static final int LBRACKET=62; - public static final int LEFTBOTTOM_SYM=63; - public static final int LEFTMIDDLE_SYM=64; - public static final int LEFTTOP_SYM=65; - public static final int LENGTH=66; - public static final int LESS=67; - public static final int LESS_AND=68; - public static final int LESS_JS_STRING=69; - public static final int LESS_OR_EQ=70; - public static final int LESS_REST=71; - public static final int LINE_COMMENT=72; - public static final int LPAREN=73; - public static final int M=74; - public static final int MEDIA_SYM=75; - public static final int MINUS=76; - public static final int MOZ_DOCUMENT_SYM=77; - public static final int MOZ_DOMAIN=78; - public static final int MOZ_REGEXP=79; - public static final int MOZ_URL_PREFIX=80; - public static final int N=81; - public static final int NAME=82; - public static final int NAMESPACE_SYM=83; - public static final int NL=84; - public static final int NMCHAR=85; - public static final int NMSTART=86; - public static final int NONASCII=87; - public static final int NOT=88; - public static final int NUMBER=89; - public static final int O=90; - public static final int OPEQ=91; - public static final int P=92; - public static final int PAGE_SYM=93; - public static final int PERCENTAGE=94; - public static final int PERCENTAGE_SYMBOL=95; - public static final int PIPE=96; - public static final int PLUS=97; - public static final int Q=98; - public static final int R=99; - public static final int RBRACE=100; - public static final int RBRACKET=101; - public static final int REM=102; - public static final int RESOLUTION=103; - public static final int RIGHTBOTTOM_SYM=104; - public static final int RIGHTMIDDLE_SYM=105; - public static final int RIGHTTOP_SYM=106; - public static final int RPAREN=107; - public static final int S=108; - public static final int SASS_AT_ROOT=109; - public static final int SASS_CONTENT=110; - public static final int SASS_DEBUG=111; - public static final int SASS_DEFAULT=112; - public static final int SASS_EACH=113; - public static final int SASS_ELSE=114; - public static final int SASS_ELSEIF=115; - public static final int SASS_ERROR=116; - public static final int SASS_EXTEND=117; - public static final int SASS_EXTEND_ONLY_SELECTOR=118; - public static final int SASS_FOR=119; - public static final int SASS_FORWARD=120; - public static final int SASS_FUNCTION=121; - public static final int SASS_GLOBAL=122; - public static final int SASS_IF=123; - public static final int SASS_INCLUDE=124; - public static final int SASS_MIXIN=125; - public static final int SASS_OPTIONAL=126; - public static final int SASS_RETURN=127; - public static final int SASS_USE=128; - public static final int SASS_VAR=129; - public static final int SASS_WARN=130; - public static final int SASS_WHILE=131; - public static final int SEMI=132; - public static final int SOLIDUS=133; - public static final int STAR=134; - public static final int STRING=135; - public static final int SUPPORTS_SYM=136; - public static final int T=137; - public static final int TILDE=138; - public static final int TIME=139; - public static final int TOPCENTER_SYM=140; - public static final int TOPLEFTCORNER_SYM=141; - public static final int TOPLEFT_SYM=142; - public static final int TOPRIGHTCORNER_SYM=143; - public static final int TOPRIGHT_SYM=144; - public static final int U=145; - public static final int UNICODE=146; - public static final int URANGE=147; - public static final int URI=148; - public static final int URL=149; - public static final int V=150; - public static final int VARIABLE=151; - public static final int W=152; - public static final int WEBKIT_KEYFRAMES_SYM=153; - public static final int WS=154; - public static final int X=155; - public static final int Y=156; - public static final int Z=157; + public static final int KEYFRAMES_SYM=59; + public static final int L=60; + public static final int LAYER_SYM=61; + public static final int LBRACE=62; + public static final int LBRACKET=63; + public static final int LEFTBOTTOM_SYM=64; + public static final int LEFTMIDDLE_SYM=65; + public static final int LEFTTOP_SYM=66; + public static final int LENGTH=67; + public static final int LESS=68; + public static final int LESS_AND=69; + public static final int LESS_JS_STRING=70; + public static final int LESS_OR_EQ=71; + public static final int LESS_REST=72; + public static final int LINE_COMMENT=73; + public static final int LPAREN=74; + public static final int M=75; + public static final int MEDIA_SYM=76; + public static final int MINUS=77; + public static final int MOZ_DOCUMENT_SYM=78; + public static final int MOZ_DOMAIN=79; + public static final int MOZ_REGEXP=80; + public static final int MOZ_URL_PREFIX=81; + public static final int N=82; + public static final int NAME=83; + public static final int NAMESPACE_SYM=84; + public static final int NL=85; + public static final int NMCHAR=86; + public static final int NMSTART=87; + public static final int NONASCII=88; + public static final int NOT=89; + public static final int NUMBER=90; + public static final int O=91; + public static final int OPEQ=92; + public static final int P=93; + public static final int PAGE_SYM=94; + public static final int PERCENTAGE=95; + public static final int PERCENTAGE_SYMBOL=96; + public static final int PIPE=97; + public static final int PLUS=98; + public static final int Q=99; + public static final int R=100; + public static final int RBRACE=101; + public static final int RBRACKET=102; + public static final int REM=103; + public static final int RESOLUTION=104; + public static final int RIGHTBOTTOM_SYM=105; + public static final int RIGHTMIDDLE_SYM=106; + public static final int RIGHTTOP_SYM=107; + public static final int RPAREN=108; + public static final int S=109; + public static final int SASS_AT_ROOT=110; + public static final int SASS_CONTENT=111; + public static final int SASS_DEBUG=112; + public static final int SASS_DEFAULT=113; + public static final int SASS_EACH=114; + public static final int SASS_ELSE=115; + public static final int SASS_ELSEIF=116; + public static final int SASS_ERROR=117; + public static final int SASS_EXTEND=118; + public static final int SASS_EXTEND_ONLY_SELECTOR=119; + public static final int SASS_FOR=120; + public static final int SASS_FORWARD=121; + public static final int SASS_FUNCTION=122; + public static final int SASS_GLOBAL=123; + public static final int SASS_IF=124; + public static final int SASS_INCLUDE=125; + public static final int SASS_MIXIN=126; + public static final int SASS_OPTIONAL=127; + public static final int SASS_RETURN=128; + public static final int SASS_USE=129; + public static final int SASS_VAR=130; + public static final int SASS_WARN=131; + public static final int SASS_WHILE=132; + public static final int SEMI=133; + public static final int SOLIDUS=134; + public static final int STAR=135; + public static final int STRING=136; + public static final int SUPPORTS_SYM=137; + public static final int T=138; + public static final int TILDE=139; + public static final int TIME=140; + public static final int TOPCENTER_SYM=141; + public static final int TOPLEFTCORNER_SYM=142; + public static final int TOPLEFT_SYM=143; + public static final int TOPRIGHTCORNER_SYM=144; + public static final int TOPRIGHT_SYM=145; + public static final int U=146; + public static final int UNICODE=147; + public static final int URANGE=148; + public static final int URI=149; + public static final int URL=150; + public static final int V=151; + public static final int VARIABLE=152; + public static final int W=153; + public static final int WEBKIT_KEYFRAMES_SYM=154; + public static final int WS=155; + public static final int X=156; + public static final int Y=157; + public static final int Z=158; // delegates public Parser[] getDelegates() { @@ -229,66 +230,65 @@ public Parser[] getDelegates() { public static final String[] ruleNames = new String[] { - "invalidRule", "cp_mixin_block", "synpred53_Css3", "synpred70_Css3", "operator", - "media", "prio", "layerStatement", "styleQueryConjunction", "fnAttributeValue", - "synpred65_Css3", "mediaFeatureValue", "sizeFeature", "selectorsGroup", - "synpred42_Css3", "sass_forward_with_declaration", "sizeFeatureName", - "key_or", "supportsCondition", "sass_use_with_declaration", "synpred68_Css3", - "moz_document", "sass_function_name", "synpred27_Css3", "synpred44_Css3", - "sass_while", "cp_variable", "layerBody", "containerQueryDisjunction", - "synpred8_Css3", "fnAttributeName", "cp_arg", "fnAttributes", "slAttribute", - "synpred24_Css3", "styleFeature", "synpred4_Css3", "esPred", "less_import_types", - "synpred45_Css3", "propertyDeclaration", "synpred13_Css3", "synpred33_Css3", - "synpred16_Css3", "synpred62_Css3", "mediaQueryOperator", "cp_mixin_call_args", - "less_condition", "webkitKeyframeSelectors", "slAttributeName", "less_fn_name", - "sass_control", "containerCondition", "less_mixin_guarded", "cp_term_symbol", - "sass_control_expression", "webkitKeyframesBlock", "synpred15_Css3", "bodyItem", - "sass_if", "cp_math_expressions", "sass_use_as", "synpred56_Css3", "bracketBlock", - "layerAtRule", "at_rule", "charSet", "sizeFeatureValue", "sass_else", - "sass_forward_with", "sass_each", "cp_mixin_name", "synpred25_Css3", "term", - "mediaExpression", "synpred3_Css3", "sass_map_name", "synpred28_Css3", - "cp_math_expression_atom", "styleSheet", "synpred2_Css3", "synpred12_Css3", - "cp_math_expression", "namespace", "supportsAtRule", "containerAtRule", - "elementName", "synpred32_Css3", "sass_control_block", "sass_forward", - "namespaces", "sass_extend", "functionName", "sizeFeatureRangeSingle", - "importLayer", "styleConditionWithOperator", "componentValue", "sass_content", - "synpred9_Css3", "synpred37_Css3", "less_when", "synpred26_Css3", "syncTo_SEMI", - "margin", "synpred64_Css3", "page", "sass_error", "sass_map", "sass_nested_properties", - "resourceIdentifier", "selector", "cp_args_list", "synpred41_Css3", "sass_for", - "synpred48_Css3", "mediaQueryList", "counterStyle", "synpred54_Css3", - "synpred60_Css3", "synpred43_Css3", "sizeFeatureFixedValue", "synpred35_Css3", - "supportsWithOperator", "declarations", "sass_debug", "supportsDisjunction", - "supportsDecl", "importItem", "layerBlock", "slAttributeValue", "function", - "namespacePrefixName", "pseudoPage", "less_selector_interpolation_exp", - "synpred23_Css3", "sass_forward_hide", "styleQueryDisjunction", "synpred52_Css3", - "typeSelector", "less_function_in_condition", "synpred29_Css3", "sass_selector_interpolation_exp", - "syncTo_RBRACE", "declaration", "supportsFeature", "moz_document_function", - "sass_forward_as", "synpred19_Css3", "synpred21_Css3", "sass_function_return", - "atRuleId", "synpred36_Css3", "synpred69_Css3", "cp_expression_atom", - "synpred61_Css3", "hexColor", "simpleSelectorSequence", "synpred11_Css3", - "webkitKeyframes", "generic_at_rule", "unaryOperator", "sass_each_variables", - "componentValueOuter", "layerName", "elementSubsequent", "sass_map_pairs", - "synpred38_Css3", "preservedToken", "synpred58_Css3", "synpred67_Css3", - "cp_variable_declaration", "key_and", "synpred22_Css3", "cp_mixin_call_arg", - "rule", "ws", "synpred5_Css3", "cssClass", "namespacePrefix", "sass_use_with", - "synpred6_Css3", "sass_use", "margin_sym", "sass_map_pair", "braceBlock", - "synpred17_Css3", "sass_extend_only_selector", "synpred49_Css3", "synpred18_Css3", - "sass_forward_show", "cssId", "combinator", "propertyValue", "containerQueryConjunction", - "cp_mixin_call", "synpred51_Css3", "synpred7_Css3", "parenBlock", "supportsConjunction", - "sass_interpolation_expression_var", "synpred59_Css3", "fnAttribute", - "containerQueryInParens", "synpred71_Css3", "synpred66_Css3", "expression", - "containerQueryWithOperator", "synpred20_Css3", "synpred30_Css3", "cp_mixin_declaration", - "pseudo", "fontFace", "synpred47_Css3", "synpred39_Css3", "synpred10_Css3", - "styleQuery", "cp_expression_list", "synpred40_Css3", "synpred50_Css3", - "styleCondition", "key_only", "synpred57_Css3", "expressionPredicate", - "braceBlock2", "less_condition_operator", "synpred46_Css3", "imports", - "sizeFeatureRangeBetweenGt", "styleInParens", "syncToDeclarationsRule", - "mediaQuery", "sass_function_declaration", "syncToFollow", "charSetValue", - "cp_expression_operator", "cp_expression", "body", "synpred34_Css3", "containerName", - "synpred14_Css3", "synpred1_Css3", "synpred31_Css3", "preservedTokenTopLevel", - "supportsInParens", "sizeFeatureRangeBetweenLt", "less_selector_interpolation", - "mediaBodyItem", "mediaType", "synpred63_Css3", "cp_propertyValue", "property", - "mediaBody", "synpred55_Css3", "mediaFeature", "vendorAtRule" + "invalidRule", "prio", "synpred43_Css3", "synpred61_Css3", "vendorAtRule", + "synpred60_Css3", "key_and", "synpred42_Css3", "bracketBlock", "importLayer", + "layerStatement", "cp_term_symbol", "sass_use", "synpred56_Css3", "styleFeature", + "styleQueryDisjunction", "moz_document", "sass_forward_show", "supportsCondition", + "slAttributeValue", "declaration", "synpred41_Css3", "sass_each", "margin", + "layerAtRule", "synpred50_Css3", "synpred26_Css3", "sizeFeatureRangeBetweenGt", + "synpred58_Css3", "synpred17_Css3", "synpred40_Css3", "supportsDecl", + "synpred3_Css3", "property", "cp_variable_declaration", "parenBlock", + "synpred30_Css3", "slAttributeName", "synpred38_Css3", "synpred27_Css3", + "bodyItem", "body", "pseudoPage", "containerQueryConjunction", "synpred46_Css3", + "synpred62_Css3", "supportsAtRule", "fnAttribute", "containerAtRule", + "margin_sym", "cp_mixin_call", "styleCondition", "sizeFeatureFixedValue", + "webkitKeyframesBlock", "cp_variable", "supportsConjunction", "cp_expression_operator", + "functionName", "supportsDisjunction", "atRuleId", "cp_mixin_name", "synpred48_Css3", + "importItem", "synpred2_Css3", "synpred11_Css3", "synpred65_Css3", "sizeFeatureName", + "sass_map", "styleSheet", "sass_if", "sass_function_name", "generic_at_rule", + "fnAttributes", "synpred67_Css3", "cp_expression_list", "styleQueryConjunction", + "sizeFeatureValue", "mediaFeature", "cp_mixin_call_args", "layerBlock", + "layerBody", "less_fn_name", "synpred71_Css3", "media", "synpred35_Css3", + "synpred22_Css3", "elementSubsequent", "mediaQuery", "synpred5_Css3", + "containerQueryWithOperator", "synpred21_Css3", "sass_control_expression", + "cp_mixin_block", "cp_arg", "synpred51_Css3", "cp_mixin_call_arg", "preservedTokenTopLevel", + "sizeFeatureRangeSingle", "synpred19_Css3", "synpred32_Css3", "counterStyle", + "synpred14_Css3", "sass_debug", "propertyValue", "mediaType", "synpred1_Css3", + "sass_while", "sass_use_with", "syncToFollow", "synpred63_Css3", "namespaces", + "mediaFeatureValue", "synpred33_Css3", "cp_math_expressions", "resourceIdentifier", + "sass_forward_with", "cssId", "function", "containerName", "synpred23_Css3", + "expression", "synpred6_Css3", "synpred70_Css3", "synpred28_Css3", "synpred37_Css3", + "synpred68_Css3", "synpred12_Css3", "webkitKeyframeSelectors", "cp_expression", + "synpred31_Css3", "charSet", "sass_forward_with_declaration", "less_import_types", + "sass_use_as", "cssClass", "preservedToken", "synpred45_Css3", "key_only", + "selectorsGroup", "sass_content", "fontFace", "term", "sass_for", "synpred10_Css3", + "synpred53_Css3", "mediaBody", "sass_control", "styleConditionWithOperator", + "mediaQueryOperator", "selector", "supportsFeature", "syncTo_SEMI", "containerQueryDisjunction", + "sass_function_return", "cp_args_list", "synpred7_Css3", "componentValueOuter", + "cp_mixin_declaration", "braceBlock", "synpred59_Css3", "mediaExpression", + "less_selector_interpolation_exp", "moz_document_function", "sass_extend", + "sizeFeatureRangeBetweenLt", "synpred29_Css3", "synpred55_Css3", "synpred4_Css3", + "slAttribute", "simpleSelectorSequence", "synpred16_Css3", "synpred44_Css3", + "synpred25_Css3", "synpred8_Css3", "sass_forward_as", "synpred15_Css3", + "sass_use_with_declaration", "sass_forward_hide", "synpred9_Css3", "styleInParens", + "sass_function_declaration", "ws", "synpred64_Css3", "synpred52_Css3", + "less_mixin_guarded", "synpred20_Css3", "operator", "supportsWithOperator", + "key_or", "esPred", "pseudo", "syncTo_RBRACE", "sass_map_pair", "syncToDeclarationsRule", + "page", "less_condition_operator", "less_condition", "sass_control_block", + "namespacePrefixName", "mediaQueryList", "sass_interpolation_expression_var", + "at_rule", "componentValue", "styleQuery", "sizeFeature", "sass_map_name", + "typeSelector", "layerName", "namespacePrefix", "combinator", "less_selector_interpolation", + "imports", "sass_error", "sass_forward", "braceBlock2", "cp_math_expression_atom", + "cp_expression_atom", "containerCondition", "synpred47_Css3", "namespace", + "synpred34_Css3", "synpred24_Css3", "sass_map_pairs", "synpred66_Css3", + "expressionPredicate", "elementName", "less_function_in_condition", "rule", + "supportsInParens", "synpred13_Css3", "synpred36_Css3", "sass_extend_only_selector", + "fnAttributeName", "sass_else", "synpred18_Css3", "propertyDeclaration", + "less_when", "synpred54_Css3", "mediaBodyItem", "webkitKeyframes", "sass_selector_interpolation_exp", + "synpred49_Css3", "cp_math_expression", "hexColor", "sass_nested_properties", + "synpred57_Css3", "fnAttributeValue", "synpred69_Css3", "declarations", + "cp_propertyValue", "unaryOperator", "containerQueryInParens", "charSetValue", + "sass_each_variables", "synpred39_Css3" }; public static final boolean[] decisionCanBacktrack = new boolean[] { @@ -318,29 +318,30 @@ public Parser[] getDelegates() { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, true, false, false, false, - false, false, true, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false, - false, false, false, false, true, false, false, false, false, false, + false, false, false, false, false, false, false, true, false, false, + false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - true, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, true, false, false, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, true, true, false, - false, false, false, true, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, - false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, true, false, false, false, false, false, true, false, - false, true, false, false, false, false, false, false, true, false, + false, false, false, false, false, false, false, false, true, true, + false, false, false, false, true, false, false, false, false, false, + true, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, true, false, false, false, true, + false, false, false, true, false, false, false, false, false, true, + false, false, true, false, false, false, false, false, false, true, + false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, true, false, false, false, true, false, false, false, false, false, false, false, false, false, + false, true, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, @@ -356,7 +357,7 @@ public Parser[] getDelegates() { false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, false, false, false, false, false, false + false }; @@ -810,7 +811,7 @@ public final void styleSheet() throws RecognitionException { try { dbg.enterDecision(8, decisionCanBacktrack[8]); int LA8_0 = input.LA(1); - if ( ((LA8_0 >= AT_IDENT && LA8_0 <= AT_SIGN)||(LA8_0 >= BOTTOMCENTER_SYM && LA8_0 <= BOTTOMRIGHT_SYM)||(LA8_0 >= CHARSET_SYM && LA8_0 <= COLON)||LA8_0==CONTAINER_SYM||LA8_0==COUNTER_STYLE_SYM||(LA8_0 >= DCOLON && LA8_0 <= DOT)||LA8_0==FONT_FACE_SYM||(LA8_0 >= GEN && LA8_0 <= GREATER)||(LA8_0 >= HASH && LA8_0 <= HASH_SYMBOL)||LA8_0==IDENT||LA8_0==IMPORT_SYM||LA8_0==LAYER_SYM||(LA8_0 >= LBRACKET && LA8_0 <= LEFTTOP_SYM)||LA8_0==LESS_AND||(LA8_0 >= MEDIA_SYM && LA8_0 <= MOZ_DOCUMENT_SYM)||LA8_0==NAMESPACE_SYM||LA8_0==PAGE_SYM||(LA8_0 >= PIPE && LA8_0 <= PLUS)||(LA8_0 >= RIGHTBOTTOM_SYM && LA8_0 <= RIGHTTOP_SYM)||(LA8_0 >= SASS_AT_ROOT && LA8_0 <= SASS_DEBUG)||(LA8_0 >= SASS_EACH && LA8_0 <= SASS_ELSE)||(LA8_0 >= SASS_EXTEND && LA8_0 <= SASS_FUNCTION)||(LA8_0 >= SASS_IF && LA8_0 <= SASS_MIXIN)||(LA8_0 >= SASS_RETURN && LA8_0 <= SEMI)||LA8_0==STAR||LA8_0==SUPPORTS_SYM||LA8_0==TILDE||(LA8_0 >= TOPCENTER_SYM && LA8_0 <= TOPRIGHT_SYM)||LA8_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( ((LA8_0 >= AT_IDENT && LA8_0 <= AT_SIGN)||(LA8_0 >= BOTTOMCENTER_SYM && LA8_0 <= BOTTOMRIGHT_SYM)||(LA8_0 >= CHARSET_SYM && LA8_0 <= COLON)||LA8_0==CONTAINER_SYM||LA8_0==COUNTER_STYLE_SYM||(LA8_0 >= DCOLON && LA8_0 <= DOT)||LA8_0==FONT_FACE_SYM||(LA8_0 >= GEN && LA8_0 <= GREATER)||(LA8_0 >= HASH && LA8_0 <= HASH_SYMBOL)||LA8_0==IDENT||LA8_0==IMPORT_SYM||LA8_0==KEYFRAMES_SYM||LA8_0==LAYER_SYM||(LA8_0 >= LBRACKET && LA8_0 <= LEFTTOP_SYM)||LA8_0==LESS_AND||(LA8_0 >= MEDIA_SYM && LA8_0 <= MOZ_DOCUMENT_SYM)||LA8_0==NAMESPACE_SYM||LA8_0==PAGE_SYM||(LA8_0 >= PIPE && LA8_0 <= PLUS)||(LA8_0 >= RIGHTBOTTOM_SYM && LA8_0 <= RIGHTTOP_SYM)||(LA8_0 >= SASS_AT_ROOT && LA8_0 <= SASS_DEBUG)||(LA8_0 >= SASS_EACH && LA8_0 <= SASS_ELSE)||(LA8_0 >= SASS_EXTEND && LA8_0 <= SASS_FUNCTION)||(LA8_0 >= SASS_IF && LA8_0 <= SASS_MIXIN)||(LA8_0 >= SASS_RETURN && LA8_0 <= SEMI)||LA8_0==STAR||LA8_0==SUPPORTS_SYM||LA8_0==TILDE||(LA8_0 >= TOPCENTER_SYM && LA8_0 <= TOPRIGHT_SYM)||LA8_0==WEBKIT_KEYFRAMES_SYM) ) { alt8=1; } } finally {dbg.exitDecision(8);} @@ -1384,7 +1385,7 @@ public final void imports() throws RecognitionException { switch ( input.LA(1) ) { case IMPORT_SYM: { - int LA23_29 = input.LA(2); + int LA23_30 = input.LA(2); if ( (!(evalPredicate(((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")||(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))),""))) ) { alt23=1; } @@ -1393,7 +1394,7 @@ public final void imports() throws RecognitionException { break; case SASS_USE: { - int LA23_38 = input.LA(2); + int LA23_39 = input.LA(2); if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { alt23=2; } @@ -1402,7 +1403,7 @@ public final void imports() throws RecognitionException { break; case SASS_FORWARD: { - int LA23_41 = input.LA(2); + int LA23_42 = input.LA(2); if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { alt23=3; } @@ -1943,32 +1944,38 @@ else if ( (LA28_0==WEBKIT_KEYFRAMES_SYM) ) { alt28=1; } } - else if ( (LA28_0==MEDIA_SYM) ) { + else if ( (LA28_0==KEYFRAMES_SYM) ) { int LA28_38 = input.LA(2); if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt28=1; } } - else if ( (LA28_0==SASS_EXTEND) ) { + else if ( (LA28_0==MEDIA_SYM) ) { int LA28_39 = input.LA(2); if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt28=1; } } + else if ( (LA28_0==SASS_EXTEND) ) { + int LA28_40 = input.LA(2); + if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + alt28=1; + } + } else if ( (LA28_0==COUNTER_STYLE_SYM) ) { - int LA28_41 = input.LA(2); + int LA28_42 = input.LA(2); if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt28=1; } } else if ( (LA28_0==SASS_FUNCTION) ) { - int LA28_43 = input.LA(2); + int LA28_44 = input.LA(2); if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt28=1; } } else if ( ((LA28_0 >= BOTTOMCENTER_SYM && LA28_0 <= BOTTOMRIGHT_SYM)||LA28_0==CHARSET_SYM||(LA28_0 >= LEFTBOTTOM_SYM && LA28_0 <= LEFTTOP_SYM)||LA28_0==NAMESPACE_SYM||(LA28_0 >= RIGHTBOTTOM_SYM && LA28_0 <= RIGHTTOP_SYM)||LA28_0==SASS_ELSE||LA28_0==SASS_FORWARD||(LA28_0 >= SASS_RETURN && LA28_0 <= SASS_USE)||(LA28_0 >= TOPCENTER_SYM && LA28_0 <= TOPRIGHT_SYM)) ) { - int LA28_46 = input.LA(2); + int LA28_47 = input.LA(2); if ( ((synpred1_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt28=1; } @@ -2351,32 +2358,38 @@ else if ( (LA36_0==WEBKIT_KEYFRAMES_SYM) ) { alt36=1; } } - else if ( (LA36_0==MEDIA_SYM) ) { + else if ( (LA36_0==KEYFRAMES_SYM) ) { int LA36_38 = input.LA(2); if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt36=1; } } - else if ( (LA36_0==SASS_EXTEND) ) { + else if ( (LA36_0==MEDIA_SYM) ) { int LA36_39 = input.LA(2); if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt36=1; } } + else if ( (LA36_0==SASS_EXTEND) ) { + int LA36_40 = input.LA(2); + if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + alt36=1; + } + } else if ( (LA36_0==COUNTER_STYLE_SYM) ) { - int LA36_41 = input.LA(2); + int LA36_42 = input.LA(2); if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt36=1; } } else if ( (LA36_0==SASS_FUNCTION) ) { - int LA36_43 = input.LA(2); + int LA36_44 = input.LA(2); if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt36=1; } } else if ( ((LA36_0 >= BOTTOMCENTER_SYM && LA36_0 <= BOTTOMRIGHT_SYM)||LA36_0==CHARSET_SYM||(LA36_0 >= LEFTBOTTOM_SYM && LA36_0 <= LEFTTOP_SYM)||LA36_0==NAMESPACE_SYM||(LA36_0 >= RIGHTBOTTOM_SYM && LA36_0 <= RIGHTTOP_SYM)||LA36_0==SASS_ELSE||LA36_0==SASS_FORWARD||(LA36_0 >= SASS_RETURN && LA36_0 <= SASS_USE)||(LA36_0 >= TOPCENTER_SYM && LA36_0 <= TOPRIGHT_SYM)) ) { - int LA36_46 = input.LA(2); + int LA36_47 = input.LA(2); if ( ((synpred2_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt36=1; } @@ -2722,32 +2735,38 @@ else if ( (LA43_0==WEBKIT_KEYFRAMES_SYM) ) { alt43=1; } } - else if ( (LA43_0==MEDIA_SYM) ) { + else if ( (LA43_0==KEYFRAMES_SYM) ) { int LA43_38 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) { alt43=1; } } - else if ( (LA43_0==SASS_EXTEND) ) { + else if ( (LA43_0==MEDIA_SYM) ) { int LA43_39 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) { alt43=1; } } + else if ( (LA43_0==SASS_EXTEND) ) { + int LA43_40 = input.LA(2); + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) { + alt43=1; + } + } else if ( (LA43_0==COUNTER_STYLE_SYM) ) { - int LA43_41 = input.LA(2); + int LA43_42 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) { alt43=1; } } else if ( (LA43_0==SASS_FUNCTION) ) { - int LA43_43 = input.LA(2); + int LA43_44 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) { alt43=1; } } else if ( ((LA43_0 >= BOTTOMCENTER_SYM && LA43_0 <= BOTTOMRIGHT_SYM)||LA43_0==CHARSET_SYM||(LA43_0 >= LEFTBOTTOM_SYM && LA43_0 <= LEFTTOP_SYM)||LA43_0==NAMESPACE_SYM||(LA43_0 >= RIGHTBOTTOM_SYM && LA43_0 <= RIGHTTOP_SYM)||LA43_0==SASS_ELSE||LA43_0==SASS_FORWARD||(LA43_0 >= SASS_RETURN && LA43_0 <= SASS_USE)||(LA43_0 >= TOPCENTER_SYM && LA43_0 <= TOPRIGHT_SYM)) ) { - int LA43_46 = input.LA(2); + int LA43_47 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred3_Css3())) ) { alt43=1; } @@ -4452,7 +4471,7 @@ public final void media() throws RecognitionException { try { dbg.enterDecision(79, decisionCanBacktrack[79]); int LA79_0 = input.LA(1); - if ( ((LA79_0 >= AT_IDENT && LA79_0 <= AT_SIGN)||(LA79_0 >= BOTTOMCENTER_SYM && LA79_0 <= BOTTOMRIGHT_SYM)||(LA79_0 >= CHARSET_SYM && LA79_0 <= COLON)||LA79_0==COUNTER_STYLE_SYM||(LA79_0 >= DCOLON && LA79_0 <= DOT)||LA79_0==FONT_FACE_SYM||(LA79_0 >= GEN && LA79_0 <= GREATER)||(LA79_0 >= HASH && LA79_0 <= HASH_SYMBOL)||LA79_0==IDENT||LA79_0==IMPORT_SYM||(LA79_0 >= LBRACKET && LA79_0 <= LEFTTOP_SYM)||LA79_0==LESS_AND||(LA79_0 >= MEDIA_SYM && LA79_0 <= MOZ_DOCUMENT_SYM)||LA79_0==NAMESPACE_SYM||LA79_0==PAGE_SYM||(LA79_0 >= PIPE && LA79_0 <= PLUS)||(LA79_0 >= RIGHTBOTTOM_SYM && LA79_0 <= RIGHTTOP_SYM)||(LA79_0 >= SASS_AT_ROOT && LA79_0 <= SASS_DEBUG)||(LA79_0 >= SASS_EACH && LA79_0 <= SASS_ELSE)||(LA79_0 >= SASS_EXTEND && LA79_0 <= SASS_FUNCTION)||(LA79_0 >= SASS_IF && LA79_0 <= SASS_MIXIN)||(LA79_0 >= SASS_RETURN && LA79_0 <= SEMI)||LA79_0==STAR||LA79_0==SUPPORTS_SYM||LA79_0==TILDE||(LA79_0 >= TOPCENTER_SYM && LA79_0 <= TOPRIGHT_SYM)||LA79_0==VARIABLE||LA79_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( ((LA79_0 >= AT_IDENT && LA79_0 <= AT_SIGN)||(LA79_0 >= BOTTOMCENTER_SYM && LA79_0 <= BOTTOMRIGHT_SYM)||(LA79_0 >= CHARSET_SYM && LA79_0 <= COLON)||LA79_0==COUNTER_STYLE_SYM||(LA79_0 >= DCOLON && LA79_0 <= DOT)||LA79_0==FONT_FACE_SYM||(LA79_0 >= GEN && LA79_0 <= GREATER)||(LA79_0 >= HASH && LA79_0 <= HASH_SYMBOL)||LA79_0==IDENT||LA79_0==IMPORT_SYM||LA79_0==KEYFRAMES_SYM||(LA79_0 >= LBRACKET && LA79_0 <= LEFTTOP_SYM)||LA79_0==LESS_AND||(LA79_0 >= MEDIA_SYM && LA79_0 <= MOZ_DOCUMENT_SYM)||LA79_0==NAMESPACE_SYM||LA79_0==PAGE_SYM||(LA79_0 >= PIPE && LA79_0 <= PLUS)||(LA79_0 >= RIGHTBOTTOM_SYM && LA79_0 <= RIGHTTOP_SYM)||(LA79_0 >= SASS_AT_ROOT && LA79_0 <= SASS_DEBUG)||(LA79_0 >= SASS_EACH && LA79_0 <= SASS_ELSE)||(LA79_0 >= SASS_EXTEND && LA79_0 <= SASS_FUNCTION)||(LA79_0 >= SASS_IF && LA79_0 <= SASS_MIXIN)||(LA79_0 >= SASS_RETURN && LA79_0 <= SEMI)||LA79_0==STAR||LA79_0==SUPPORTS_SYM||LA79_0==TILDE||(LA79_0 >= TOPCENTER_SYM && LA79_0 <= TOPRIGHT_SYM)||LA79_0==VARIABLE||LA79_0==WEBKIT_KEYFRAMES_SYM) ) { alt79=1; } } finally {dbg.exitDecision(79);} @@ -4544,6 +4563,7 @@ public final void mediaBody() throws RecognitionException { case HASH_SYMBOL: case IDENT: case IMPORT_SYM: + case KEYFRAMES_SYM: case LBRACKET: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: @@ -4592,7 +4612,7 @@ public final void mediaBody() throws RecognitionException { break; case SASS_EXTEND: { - int LA85_35 = input.LA(2); + int LA85_36 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt85=1; } @@ -5438,11 +5458,21 @@ else if ( (true) ) { } } - else if ( (LA90_0==MEDIA_SYM) ) { + else if ( (LA90_0==KEYFRAMES_SYM) ) { int LA90_33 = input.LA(2); if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) { alt90=5; } + else if ( (true) ) { + alt90=13; + } + + } + else if ( (LA90_0==MEDIA_SYM) ) { + int LA90_34 = input.LA(2); + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred9_Css3())) ) { + alt90=5; + } else if ( (true) ) { alt90=14; } @@ -6033,6 +6063,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -7127,6 +7158,7 @@ else if ( (true) ) { case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -7436,6 +7468,7 @@ else if ( (LA113_1==COLON||LA113_1==COMMENT||LA113_1==NL||LA113_1==RPAREN||LA113 case FONT_FACE_SYM: case HASH_SYMBOL: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -7517,7 +7550,7 @@ else if ( (LA113_1==COLON||LA113_1==COMMENT||LA113_1==NL||LA113_1==RPAREN||LA113 try { dbg.enterDecision(112, decisionCanBacktrack[112]); int LA112_0 = input.LA(1); - if ( (LA112_0==AT_IDENT||(LA112_0 >= BOTTOMCENTER_SYM && LA112_0 <= BOTTOMRIGHT_SYM)||LA112_0==CHARSET_SYM||LA112_0==COUNTER_STYLE_SYM||LA112_0==FONT_FACE_SYM||LA112_0==IDENT||LA112_0==IMPORT_SYM||(LA112_0 >= LEFTBOTTOM_SYM && LA112_0 <= LEFTTOP_SYM)||LA112_0==MEDIA_SYM||LA112_0==MOZ_DOCUMENT_SYM||LA112_0==NAMESPACE_SYM||LA112_0==PAGE_SYM||(LA112_0 >= RIGHTBOTTOM_SYM && LA112_0 <= RIGHTTOP_SYM)||(LA112_0 >= SASS_AT_ROOT && LA112_0 <= SASS_DEBUG)||(LA112_0 >= SASS_EACH && LA112_0 <= SASS_ELSE)||LA112_0==SASS_EXTEND||(LA112_0 >= SASS_FOR && LA112_0 <= SASS_FUNCTION)||(LA112_0 >= SASS_IF && LA112_0 <= SASS_MIXIN)||(LA112_0 >= SASS_RETURN && LA112_0 <= SASS_WHILE)||(LA112_0 >= TOPCENTER_SYM && LA112_0 <= TOPRIGHT_SYM)||LA112_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( (LA112_0==AT_IDENT||(LA112_0 >= BOTTOMCENTER_SYM && LA112_0 <= BOTTOMRIGHT_SYM)||LA112_0==CHARSET_SYM||LA112_0==COUNTER_STYLE_SYM||LA112_0==FONT_FACE_SYM||LA112_0==IDENT||LA112_0==IMPORT_SYM||LA112_0==KEYFRAMES_SYM||(LA112_0 >= LEFTBOTTOM_SYM && LA112_0 <= LEFTTOP_SYM)||LA112_0==MEDIA_SYM||LA112_0==MOZ_DOCUMENT_SYM||LA112_0==NAMESPACE_SYM||LA112_0==PAGE_SYM||(LA112_0 >= RIGHTBOTTOM_SYM && LA112_0 <= RIGHTTOP_SYM)||(LA112_0 >= SASS_AT_ROOT && LA112_0 <= SASS_DEBUG)||(LA112_0 >= SASS_EACH && LA112_0 <= SASS_ELSE)||LA112_0==SASS_EXTEND||(LA112_0 >= SASS_FOR && LA112_0 <= SASS_FUNCTION)||(LA112_0 >= SASS_IF && LA112_0 <= SASS_MIXIN)||(LA112_0 >= SASS_RETURN && LA112_0 <= SASS_WHILE)||(LA112_0 >= TOPCENTER_SYM && LA112_0 <= TOPRIGHT_SYM)||LA112_0==WEBKIT_KEYFRAMES_SYM) ) { alt112=1; } else if ( (LA112_0==HASH_SYMBOL) ) { @@ -7614,7 +7647,7 @@ public final void body() throws RecognitionException { try { dbg.enterDecision(118, decisionCanBacktrack[118]); int LA118_0 = input.LA(1); - if ( ((LA118_0 >= AT_IDENT && LA118_0 <= AT_SIGN)||(LA118_0 >= BOTTOMCENTER_SYM && LA118_0 <= BOTTOMRIGHT_SYM)||(LA118_0 >= CHARSET_SYM && LA118_0 <= COLON)||LA118_0==CONTAINER_SYM||LA118_0==COUNTER_STYLE_SYM||(LA118_0 >= DCOLON && LA118_0 <= DOT)||LA118_0==FONT_FACE_SYM||(LA118_0 >= GEN && LA118_0 <= GREATER)||(LA118_0 >= HASH && LA118_0 <= HASH_SYMBOL)||LA118_0==IDENT||LA118_0==IMPORT_SYM||LA118_0==LAYER_SYM||(LA118_0 >= LBRACKET && LA118_0 <= LEFTTOP_SYM)||LA118_0==LESS_AND||(LA118_0 >= MEDIA_SYM && LA118_0 <= MOZ_DOCUMENT_SYM)||LA118_0==NAMESPACE_SYM||LA118_0==PAGE_SYM||(LA118_0 >= PIPE && LA118_0 <= PLUS)||(LA118_0 >= RIGHTBOTTOM_SYM && LA118_0 <= RIGHTTOP_SYM)||(LA118_0 >= SASS_AT_ROOT && LA118_0 <= SASS_DEBUG)||(LA118_0 >= SASS_EACH && LA118_0 <= SASS_ELSE)||(LA118_0 >= SASS_EXTEND && LA118_0 <= SASS_FUNCTION)||(LA118_0 >= SASS_IF && LA118_0 <= SASS_MIXIN)||(LA118_0 >= SASS_RETURN && LA118_0 <= SASS_WHILE)||LA118_0==STAR||LA118_0==SUPPORTS_SYM||LA118_0==TILDE||(LA118_0 >= TOPCENTER_SYM && LA118_0 <= TOPRIGHT_SYM)||LA118_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( ((LA118_0 >= AT_IDENT && LA118_0 <= AT_SIGN)||(LA118_0 >= BOTTOMCENTER_SYM && LA118_0 <= BOTTOMRIGHT_SYM)||(LA118_0 >= CHARSET_SYM && LA118_0 <= COLON)||LA118_0==CONTAINER_SYM||LA118_0==COUNTER_STYLE_SYM||(LA118_0 >= DCOLON && LA118_0 <= DOT)||LA118_0==FONT_FACE_SYM||(LA118_0 >= GEN && LA118_0 <= GREATER)||(LA118_0 >= HASH && LA118_0 <= HASH_SYMBOL)||LA118_0==IDENT||LA118_0==IMPORT_SYM||LA118_0==KEYFRAMES_SYM||LA118_0==LAYER_SYM||(LA118_0 >= LBRACKET && LA118_0 <= LEFTTOP_SYM)||LA118_0==LESS_AND||(LA118_0 >= MEDIA_SYM && LA118_0 <= MOZ_DOCUMENT_SYM)||LA118_0==NAMESPACE_SYM||LA118_0==PAGE_SYM||(LA118_0 >= PIPE && LA118_0 <= PLUS)||(LA118_0 >= RIGHTBOTTOM_SYM && LA118_0 <= RIGHTTOP_SYM)||(LA118_0 >= SASS_AT_ROOT && LA118_0 <= SASS_DEBUG)||(LA118_0 >= SASS_EACH && LA118_0 <= SASS_ELSE)||(LA118_0 >= SASS_EXTEND && LA118_0 <= SASS_FUNCTION)||(LA118_0 >= SASS_IF && LA118_0 <= SASS_MIXIN)||(LA118_0 >= SASS_RETURN && LA118_0 <= SASS_WHILE)||LA118_0==STAR||LA118_0==SUPPORTS_SYM||LA118_0==TILDE||(LA118_0 >= TOPCENTER_SYM && LA118_0 <= TOPRIGHT_SYM)||LA118_0==WEBKIT_KEYFRAMES_SYM) ) { alt118=1; } else if ( (LA118_0==SEMI) ) { @@ -8160,7 +8193,7 @@ else if ( (true) ) { } break; - case IMPORT_SYM: + case KEYFRAMES_SYM: { int LA119_28 = input.LA(2); if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { @@ -8169,6 +8202,21 @@ else if ( (true) ) { else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) { alt119=6; } + else if ( (true) ) { + alt119=7; + } + + } + break; + case IMPORT_SYM: + { + int LA119_29 = input.LA(2); + if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + alt119=5; + } + else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) { + alt119=6; + } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { alt119=8; } @@ -8179,7 +8227,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 119, 28, input); + new NoViableAltException("", 119, 29, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -8192,7 +8240,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case SASS_DEBUG: case SASS_WARN: { - int LA119_31 = input.LA(2); + int LA119_32 = input.LA(2); if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt119=5; } @@ -8209,7 +8257,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 119, 31, input); + new NoViableAltException("", 119, 32, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -8221,7 +8269,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case SASS_IF: { - int LA119_32 = input.LA(2); + int LA119_33 = input.LA(2); if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt119=5; } @@ -8238,7 +8286,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 119, 32, input); + new NoViableAltException("", 119, 33, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -8250,7 +8298,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case SASS_FOR: { - int LA119_33 = input.LA(2); + int LA119_34 = input.LA(2); if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt119=5; } @@ -8267,7 +8315,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 119, 33, input); + new NoViableAltException("", 119, 34, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -8279,7 +8327,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case SASS_EACH: { - int LA119_34 = input.LA(2); + int LA119_35 = input.LA(2); if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt119=5; } @@ -8296,7 +8344,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 119, 34, input); + new NoViableAltException("", 119, 35, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -8308,7 +8356,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case SASS_WHILE: { - int LA119_35 = input.LA(2); + int LA119_36 = input.LA(2); if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt119=5; } @@ -8325,7 +8373,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 119, 35, input); + new NoViableAltException("", 119, 36, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -8337,7 +8385,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case SASS_FUNCTION: { - int LA119_36 = input.LA(2); + int LA119_37 = input.LA(2); if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt119=5; } @@ -8354,7 +8402,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 119, 36, input); + new NoViableAltException("", 119, 37, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -8389,7 +8437,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case TOPRIGHTCORNER_SYM: case TOPRIGHT_SYM: { - int LA119_37 = input.LA(2); + int LA119_38 = input.LA(2); if ( ((synpred19_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { alt119=5; } @@ -8403,7 +8451,7 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred20_Css3())) ) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 119, 37, input); + new NoViableAltException("", 119, 38, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -8721,7 +8769,7 @@ public final void supportsAtRule() throws RecognitionException { try { dbg.enterDecision(123, decisionCanBacktrack[123]); int LA123_0 = input.LA(1); - if ( ((LA123_0 >= AT_IDENT && LA123_0 <= AT_SIGN)||(LA123_0 >= BOTTOMCENTER_SYM && LA123_0 <= BOTTOMRIGHT_SYM)||(LA123_0 >= CHARSET_SYM && LA123_0 <= COLON)||LA123_0==COUNTER_STYLE_SYM||(LA123_0 >= DCOLON && LA123_0 <= DOT)||LA123_0==FONT_FACE_SYM||(LA123_0 >= GEN && LA123_0 <= GREATER)||(LA123_0 >= HASH && LA123_0 <= HASH_SYMBOL)||LA123_0==IDENT||LA123_0==IMPORT_SYM||(LA123_0 >= LBRACKET && LA123_0 <= LEFTTOP_SYM)||LA123_0==LESS_AND||(LA123_0 >= MEDIA_SYM && LA123_0 <= MOZ_DOCUMENT_SYM)||LA123_0==NAMESPACE_SYM||LA123_0==PAGE_SYM||(LA123_0 >= PIPE && LA123_0 <= PLUS)||(LA123_0 >= RIGHTBOTTOM_SYM && LA123_0 <= RIGHTTOP_SYM)||(LA123_0 >= SASS_AT_ROOT && LA123_0 <= SASS_DEBUG)||(LA123_0 >= SASS_EACH && LA123_0 <= SASS_ELSE)||(LA123_0 >= SASS_EXTEND && LA123_0 <= SASS_FUNCTION)||(LA123_0 >= SASS_IF && LA123_0 <= SASS_MIXIN)||(LA123_0 >= SASS_RETURN && LA123_0 <= SEMI)||LA123_0==STAR||LA123_0==SUPPORTS_SYM||LA123_0==TILDE||(LA123_0 >= TOPCENTER_SYM && LA123_0 <= TOPRIGHT_SYM)||LA123_0==VARIABLE||LA123_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( ((LA123_0 >= AT_IDENT && LA123_0 <= AT_SIGN)||(LA123_0 >= BOTTOMCENTER_SYM && LA123_0 <= BOTTOMRIGHT_SYM)||(LA123_0 >= CHARSET_SYM && LA123_0 <= COLON)||LA123_0==COUNTER_STYLE_SYM||(LA123_0 >= DCOLON && LA123_0 <= DOT)||LA123_0==FONT_FACE_SYM||(LA123_0 >= GEN && LA123_0 <= GREATER)||(LA123_0 >= HASH && LA123_0 <= HASH_SYMBOL)||LA123_0==IDENT||LA123_0==IMPORT_SYM||LA123_0==KEYFRAMES_SYM||(LA123_0 >= LBRACKET && LA123_0 <= LEFTTOP_SYM)||LA123_0==LESS_AND||(LA123_0 >= MEDIA_SYM && LA123_0 <= MOZ_DOCUMENT_SYM)||LA123_0==NAMESPACE_SYM||LA123_0==PAGE_SYM||(LA123_0 >= PIPE && LA123_0 <= PLUS)||(LA123_0 >= RIGHTBOTTOM_SYM && LA123_0 <= RIGHTTOP_SYM)||(LA123_0 >= SASS_AT_ROOT && LA123_0 <= SASS_DEBUG)||(LA123_0 >= SASS_EACH && LA123_0 <= SASS_ELSE)||(LA123_0 >= SASS_EXTEND && LA123_0 <= SASS_FUNCTION)||(LA123_0 >= SASS_IF && LA123_0 <= SASS_MIXIN)||(LA123_0 >= SASS_RETURN && LA123_0 <= SEMI)||LA123_0==STAR||LA123_0==SUPPORTS_SYM||LA123_0==TILDE||(LA123_0 >= TOPCENTER_SYM && LA123_0 <= TOPRIGHT_SYM)||LA123_0==VARIABLE||LA123_0==WEBKIT_KEYFRAMES_SYM) ) { alt123=1; } } finally {dbg.exitDecision(123);} @@ -9622,7 +9670,7 @@ else if ( (true) ) { try { dbg.enterDecision(136, decisionCanBacktrack[136]); int LA136_0 = input.LA(1); - if ( ((LA136_0 >= AT_IDENT && LA136_0 <= AT_SIGN)||(LA136_0 >= BOTTOMCENTER_SYM && LA136_0 <= BOTTOMRIGHT_SYM)||(LA136_0 >= CHARSET_SYM && LA136_0 <= COLON)||LA136_0==CONTAINER_SYM||LA136_0==COUNTER_STYLE_SYM||(LA136_0 >= DCOLON && LA136_0 <= DOT)||LA136_0==FONT_FACE_SYM||(LA136_0 >= GEN && LA136_0 <= GREATER)||(LA136_0 >= HASH && LA136_0 <= HASH_SYMBOL)||LA136_0==IDENT||LA136_0==IMPORT_SYM||LA136_0==LAYER_SYM||(LA136_0 >= LBRACKET && LA136_0 <= LEFTTOP_SYM)||LA136_0==LESS_AND||(LA136_0 >= MEDIA_SYM && LA136_0 <= MOZ_DOCUMENT_SYM)||LA136_0==NAMESPACE_SYM||LA136_0==PAGE_SYM||(LA136_0 >= PIPE && LA136_0 <= PLUS)||(LA136_0 >= RIGHTBOTTOM_SYM && LA136_0 <= RIGHTTOP_SYM)||(LA136_0 >= SASS_AT_ROOT && LA136_0 <= SASS_DEBUG)||(LA136_0 >= SASS_EACH && LA136_0 <= SASS_ELSE)||(LA136_0 >= SASS_EXTEND && LA136_0 <= SASS_FUNCTION)||(LA136_0 >= SASS_IF && LA136_0 <= SASS_MIXIN)||(LA136_0 >= SASS_RETURN && LA136_0 <= SEMI)||LA136_0==STAR||LA136_0==SUPPORTS_SYM||LA136_0==TILDE||(LA136_0 >= TOPCENTER_SYM && LA136_0 <= TOPRIGHT_SYM)||LA136_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( ((LA136_0 >= AT_IDENT && LA136_0 <= AT_SIGN)||(LA136_0 >= BOTTOMCENTER_SYM && LA136_0 <= BOTTOMRIGHT_SYM)||(LA136_0 >= CHARSET_SYM && LA136_0 <= COLON)||LA136_0==CONTAINER_SYM||LA136_0==COUNTER_STYLE_SYM||(LA136_0 >= DCOLON && LA136_0 <= DOT)||LA136_0==FONT_FACE_SYM||(LA136_0 >= GEN && LA136_0 <= GREATER)||(LA136_0 >= HASH && LA136_0 <= HASH_SYMBOL)||LA136_0==IDENT||LA136_0==IMPORT_SYM||LA136_0==KEYFRAMES_SYM||LA136_0==LAYER_SYM||(LA136_0 >= LBRACKET && LA136_0 <= LEFTTOP_SYM)||LA136_0==LESS_AND||(LA136_0 >= MEDIA_SYM && LA136_0 <= MOZ_DOCUMENT_SYM)||LA136_0==NAMESPACE_SYM||LA136_0==PAGE_SYM||(LA136_0 >= PIPE && LA136_0 <= PLUS)||(LA136_0 >= RIGHTBOTTOM_SYM && LA136_0 <= RIGHTTOP_SYM)||(LA136_0 >= SASS_AT_ROOT && LA136_0 <= SASS_DEBUG)||(LA136_0 >= SASS_EACH && LA136_0 <= SASS_ELSE)||(LA136_0 >= SASS_EXTEND && LA136_0 <= SASS_FUNCTION)||(LA136_0 >= SASS_IF && LA136_0 <= SASS_MIXIN)||(LA136_0 >= SASS_RETURN && LA136_0 <= SEMI)||LA136_0==STAR||LA136_0==SUPPORTS_SYM||LA136_0==TILDE||(LA136_0 >= TOPCENTER_SYM && LA136_0 <= TOPRIGHT_SYM)||LA136_0==WEBKIT_KEYFRAMES_SYM) ) { alt136=1; } } finally {dbg.exitDecision(136);} @@ -9737,7 +9785,7 @@ else if ( (true) ) { try { dbg.enterDecision(139, decisionCanBacktrack[139]); int LA139_0 = input.LA(1); - if ( ((LA139_0 >= AT_IDENT && LA139_0 <= AT_SIGN)||(LA139_0 >= BOTTOMCENTER_SYM && LA139_0 <= BOTTOMRIGHT_SYM)||(LA139_0 >= CHARSET_SYM && LA139_0 <= COLON)||LA139_0==CONTAINER_SYM||LA139_0==COUNTER_STYLE_SYM||(LA139_0 >= DCOLON && LA139_0 <= DOT)||LA139_0==FONT_FACE_SYM||(LA139_0 >= GEN && LA139_0 <= GREATER)||(LA139_0 >= HASH && LA139_0 <= HASH_SYMBOL)||LA139_0==IDENT||LA139_0==IMPORT_SYM||LA139_0==LAYER_SYM||(LA139_0 >= LBRACKET && LA139_0 <= LEFTTOP_SYM)||LA139_0==LESS_AND||(LA139_0 >= MEDIA_SYM && LA139_0 <= MOZ_DOCUMENT_SYM)||LA139_0==NAMESPACE_SYM||LA139_0==PAGE_SYM||(LA139_0 >= PIPE && LA139_0 <= PLUS)||(LA139_0 >= RIGHTBOTTOM_SYM && LA139_0 <= RIGHTTOP_SYM)||(LA139_0 >= SASS_AT_ROOT && LA139_0 <= SASS_DEBUG)||(LA139_0 >= SASS_EACH && LA139_0 <= SASS_ELSE)||(LA139_0 >= SASS_EXTEND && LA139_0 <= SASS_FUNCTION)||(LA139_0 >= SASS_IF && LA139_0 <= SASS_MIXIN)||(LA139_0 >= SASS_RETURN && LA139_0 <= SEMI)||LA139_0==STAR||LA139_0==SUPPORTS_SYM||LA139_0==TILDE||(LA139_0 >= TOPCENTER_SYM && LA139_0 <= TOPRIGHT_SYM)||LA139_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( ((LA139_0 >= AT_IDENT && LA139_0 <= AT_SIGN)||(LA139_0 >= BOTTOMCENTER_SYM && LA139_0 <= BOTTOMRIGHT_SYM)||(LA139_0 >= CHARSET_SYM && LA139_0 <= COLON)||LA139_0==CONTAINER_SYM||LA139_0==COUNTER_STYLE_SYM||(LA139_0 >= DCOLON && LA139_0 <= DOT)||LA139_0==FONT_FACE_SYM||(LA139_0 >= GEN && LA139_0 <= GREATER)||(LA139_0 >= HASH && LA139_0 <= HASH_SYMBOL)||LA139_0==IDENT||LA139_0==IMPORT_SYM||LA139_0==KEYFRAMES_SYM||LA139_0==LAYER_SYM||(LA139_0 >= LBRACKET && LA139_0 <= LEFTTOP_SYM)||LA139_0==LESS_AND||(LA139_0 >= MEDIA_SYM && LA139_0 <= MOZ_DOCUMENT_SYM)||LA139_0==NAMESPACE_SYM||LA139_0==PAGE_SYM||(LA139_0 >= PIPE && LA139_0 <= PLUS)||(LA139_0 >= RIGHTBOTTOM_SYM && LA139_0 <= RIGHTTOP_SYM)||(LA139_0 >= SASS_AT_ROOT && LA139_0 <= SASS_DEBUG)||(LA139_0 >= SASS_EACH && LA139_0 <= SASS_ELSE)||(LA139_0 >= SASS_EXTEND && LA139_0 <= SASS_FUNCTION)||(LA139_0 >= SASS_IF && LA139_0 <= SASS_MIXIN)||(LA139_0 >= SASS_RETURN && LA139_0 <= SEMI)||LA139_0==STAR||LA139_0==SUPPORTS_SYM||LA139_0==TILDE||(LA139_0 >= TOPCENTER_SYM && LA139_0 <= TOPRIGHT_SYM)||LA139_0==WEBKIT_KEYFRAMES_SYM) ) { alt139=1; } } finally {dbg.exitDecision(139);} @@ -10573,6 +10621,7 @@ public final void styleQuery() throws RecognitionException { case HASH: case HASH_SYMBOL: case IMPORT_SYM: + case KEYFRAMES_SYM: case LAYER_SYM: case LBRACKET: case LEFTBOTTOM_SYM: @@ -11833,6 +11882,7 @@ public final void sizeFeatureRangeSingle() throws RecognitionException { case HASH: case HASH_SYMBOL: case IMPORT_SYM: + case KEYFRAMES_SYM: case LBRACKET: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: @@ -12026,6 +12076,7 @@ public final void sizeFeatureRangeSingle() throws RecognitionException { case HASH: case HASH_SYMBOL: case IMPORT_SYM: + case KEYFRAMES_SYM: case LBRACKET: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: @@ -13108,7 +13159,7 @@ public final void layerBody() throws RecognitionException { try { dbg.enterDecision(194, decisionCanBacktrack[194]); int LA194_0 = input.LA(1); - if ( ((LA194_0 >= AT_IDENT && LA194_0 <= AT_SIGN)||(LA194_0 >= BOTTOMCENTER_SYM && LA194_0 <= BOTTOMRIGHT_SYM)||(LA194_0 >= CHARSET_SYM && LA194_0 <= COLON)||LA194_0==CONTAINER_SYM||LA194_0==COUNTER_STYLE_SYM||(LA194_0 >= DCOLON && LA194_0 <= DOT)||LA194_0==FONT_FACE_SYM||(LA194_0 >= GEN && LA194_0 <= GREATER)||(LA194_0 >= HASH && LA194_0 <= HASH_SYMBOL)||LA194_0==IDENT||LA194_0==IMPORT_SYM||LA194_0==LAYER_SYM||(LA194_0 >= LBRACKET && LA194_0 <= LEFTTOP_SYM)||LA194_0==LESS_AND||(LA194_0 >= MEDIA_SYM && LA194_0 <= MOZ_DOCUMENT_SYM)||LA194_0==NAMESPACE_SYM||LA194_0==PAGE_SYM||(LA194_0 >= PIPE && LA194_0 <= PLUS)||(LA194_0 >= RIGHTBOTTOM_SYM && LA194_0 <= RIGHTTOP_SYM)||(LA194_0 >= SASS_AT_ROOT && LA194_0 <= SASS_DEBUG)||(LA194_0 >= SASS_EACH && LA194_0 <= SASS_ELSE)||(LA194_0 >= SASS_EXTEND && LA194_0 <= SASS_FUNCTION)||(LA194_0 >= SASS_IF && LA194_0 <= SASS_MIXIN)||(LA194_0 >= SASS_RETURN && LA194_0 <= SEMI)||LA194_0==STAR||LA194_0==SUPPORTS_SYM||LA194_0==TILDE||(LA194_0 >= TOPCENTER_SYM && LA194_0 <= TOPRIGHT_SYM)||LA194_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( ((LA194_0 >= AT_IDENT && LA194_0 <= AT_SIGN)||(LA194_0 >= BOTTOMCENTER_SYM && LA194_0 <= BOTTOMRIGHT_SYM)||(LA194_0 >= CHARSET_SYM && LA194_0 <= COLON)||LA194_0==CONTAINER_SYM||LA194_0==COUNTER_STYLE_SYM||(LA194_0 >= DCOLON && LA194_0 <= DOT)||LA194_0==FONT_FACE_SYM||(LA194_0 >= GEN && LA194_0 <= GREATER)||(LA194_0 >= HASH && LA194_0 <= HASH_SYMBOL)||LA194_0==IDENT||LA194_0==IMPORT_SYM||LA194_0==KEYFRAMES_SYM||LA194_0==LAYER_SYM||(LA194_0 >= LBRACKET && LA194_0 <= LEFTTOP_SYM)||LA194_0==LESS_AND||(LA194_0 >= MEDIA_SYM && LA194_0 <= MOZ_DOCUMENT_SYM)||LA194_0==NAMESPACE_SYM||LA194_0==PAGE_SYM||(LA194_0 >= PIPE && LA194_0 <= PLUS)||(LA194_0 >= RIGHTBOTTOM_SYM && LA194_0 <= RIGHTTOP_SYM)||(LA194_0 >= SASS_AT_ROOT && LA194_0 <= SASS_DEBUG)||(LA194_0 >= SASS_EACH && LA194_0 <= SASS_ELSE)||(LA194_0 >= SASS_EXTEND && LA194_0 <= SASS_FUNCTION)||(LA194_0 >= SASS_IF && LA194_0 <= SASS_MIXIN)||(LA194_0 >= SASS_RETURN && LA194_0 <= SEMI)||LA194_0==STAR||LA194_0==SUPPORTS_SYM||LA194_0==TILDE||(LA194_0 >= TOPCENTER_SYM && LA194_0 <= TOPRIGHT_SYM)||LA194_0==WEBKIT_KEYFRAMES_SYM) ) { alt194=1; } } finally {dbg.exitDecision(194);} @@ -13223,6 +13274,7 @@ public final void at_rule() throws RecognitionException { } break; case AT_IDENT: + case KEYFRAMES_SYM: case MOZ_DOCUMENT_SYM: case WEBKIT_KEYFRAMES_SYM: { @@ -13388,6 +13440,7 @@ public final void vendorAtRule() throws RecognitionException { alt197=1; } break; + case KEYFRAMES_SYM: case WEBKIT_KEYFRAMES_SYM: { alt197=2; @@ -13395,7 +13448,14 @@ public final void vendorAtRule() throws RecognitionException { break; case AT_IDENT: { - alt197=3; + int LA197_4 = input.LA(2); + if ( ((evalPredicate(tokenNameEquals("@-moz-keyframes"),"tokenNameEquals(\"@-moz-keyframes\")")||evalPredicate(tokenNameEquals("@-o-keyframes"),"tokenNameEquals(\"@-o-keyframes\")"))) ) { + alt197=2; + } + else if ( (true) ) { + alt197=3; + } + } break; default: @@ -13524,6 +13584,7 @@ else if ( (LA199_1==COMMENT||LA199_1==LBRACE||LA199_1==NL||LA199_1==WS) ) { case FONT_FACE_SYM: case HASH_SYMBOL: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -13605,7 +13666,7 @@ else if ( (LA199_1==COMMENT||LA199_1==LBRACE||LA199_1==NL||LA199_1==WS) ) { try { dbg.enterDecision(198, decisionCanBacktrack[198]); int LA198_0 = input.LA(1); - if ( (LA198_0==AT_IDENT||(LA198_0 >= BOTTOMCENTER_SYM && LA198_0 <= BOTTOMRIGHT_SYM)||LA198_0==CHARSET_SYM||LA198_0==COUNTER_STYLE_SYM||LA198_0==FONT_FACE_SYM||LA198_0==IDENT||LA198_0==IMPORT_SYM||(LA198_0 >= LEFTBOTTOM_SYM && LA198_0 <= LEFTTOP_SYM)||LA198_0==MEDIA_SYM||LA198_0==MOZ_DOCUMENT_SYM||LA198_0==NAMESPACE_SYM||LA198_0==PAGE_SYM||(LA198_0 >= RIGHTBOTTOM_SYM && LA198_0 <= RIGHTTOP_SYM)||(LA198_0 >= SASS_AT_ROOT && LA198_0 <= SASS_DEBUG)||(LA198_0 >= SASS_EACH && LA198_0 <= SASS_ELSE)||LA198_0==SASS_EXTEND||(LA198_0 >= SASS_FOR && LA198_0 <= SASS_FUNCTION)||(LA198_0 >= SASS_IF && LA198_0 <= SASS_MIXIN)||(LA198_0 >= SASS_RETURN && LA198_0 <= SASS_WHILE)||(LA198_0 >= TOPCENTER_SYM && LA198_0 <= TOPRIGHT_SYM)||LA198_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( (LA198_0==AT_IDENT||(LA198_0 >= BOTTOMCENTER_SYM && LA198_0 <= BOTTOMRIGHT_SYM)||LA198_0==CHARSET_SYM||LA198_0==COUNTER_STYLE_SYM||LA198_0==FONT_FACE_SYM||LA198_0==IDENT||LA198_0==IMPORT_SYM||LA198_0==KEYFRAMES_SYM||(LA198_0 >= LEFTBOTTOM_SYM && LA198_0 <= LEFTTOP_SYM)||LA198_0==MEDIA_SYM||LA198_0==MOZ_DOCUMENT_SYM||LA198_0==NAMESPACE_SYM||LA198_0==PAGE_SYM||(LA198_0 >= RIGHTBOTTOM_SYM && LA198_0 <= RIGHTTOP_SYM)||(LA198_0 >= SASS_AT_ROOT && LA198_0 <= SASS_DEBUG)||(LA198_0 >= SASS_EACH && LA198_0 <= SASS_ELSE)||LA198_0==SASS_EXTEND||(LA198_0 >= SASS_FOR && LA198_0 <= SASS_FUNCTION)||(LA198_0 >= SASS_IF && LA198_0 <= SASS_MIXIN)||(LA198_0 >= SASS_RETURN && LA198_0 <= SASS_WHILE)||(LA198_0 >= TOPCENTER_SYM && LA198_0 <= TOPRIGHT_SYM)||LA198_0==WEBKIT_KEYFRAMES_SYM) ) { alt198=1; } else if ( (LA198_0==HASH_SYMBOL) ) { @@ -14127,7 +14188,7 @@ public final void moz_document() throws RecognitionException { try { dbg.enterDecision(209, decisionCanBacktrack[209]); int LA209_0 = input.LA(1); - if ( ((LA209_0 >= AT_IDENT && LA209_0 <= AT_SIGN)||(LA209_0 >= BOTTOMCENTER_SYM && LA209_0 <= BOTTOMRIGHT_SYM)||(LA209_0 >= CHARSET_SYM && LA209_0 <= COLON)||LA209_0==CONTAINER_SYM||LA209_0==COUNTER_STYLE_SYM||(LA209_0 >= DCOLON && LA209_0 <= DOT)||LA209_0==FONT_FACE_SYM||(LA209_0 >= GEN && LA209_0 <= GREATER)||(LA209_0 >= HASH && LA209_0 <= HASH_SYMBOL)||LA209_0==IDENT||LA209_0==IMPORT_SYM||LA209_0==LAYER_SYM||(LA209_0 >= LBRACKET && LA209_0 <= LEFTTOP_SYM)||LA209_0==LESS_AND||(LA209_0 >= MEDIA_SYM && LA209_0 <= MOZ_DOCUMENT_SYM)||LA209_0==NAMESPACE_SYM||LA209_0==PAGE_SYM||(LA209_0 >= PIPE && LA209_0 <= PLUS)||(LA209_0 >= RIGHTBOTTOM_SYM && LA209_0 <= RIGHTTOP_SYM)||(LA209_0 >= SASS_AT_ROOT && LA209_0 <= SASS_DEBUG)||(LA209_0 >= SASS_EACH && LA209_0 <= SASS_ELSE)||(LA209_0 >= SASS_EXTEND && LA209_0 <= SASS_FUNCTION)||(LA209_0 >= SASS_IF && LA209_0 <= SASS_MIXIN)||(LA209_0 >= SASS_RETURN && LA209_0 <= SEMI)||LA209_0==STAR||LA209_0==SUPPORTS_SYM||LA209_0==TILDE||(LA209_0 >= TOPCENTER_SYM && LA209_0 <= TOPRIGHT_SYM)||LA209_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( ((LA209_0 >= AT_IDENT && LA209_0 <= AT_SIGN)||(LA209_0 >= BOTTOMCENTER_SYM && LA209_0 <= BOTTOMRIGHT_SYM)||(LA209_0 >= CHARSET_SYM && LA209_0 <= COLON)||LA209_0==CONTAINER_SYM||LA209_0==COUNTER_STYLE_SYM||(LA209_0 >= DCOLON && LA209_0 <= DOT)||LA209_0==FONT_FACE_SYM||(LA209_0 >= GEN && LA209_0 <= GREATER)||(LA209_0 >= HASH && LA209_0 <= HASH_SYMBOL)||LA209_0==IDENT||LA209_0==IMPORT_SYM||LA209_0==KEYFRAMES_SYM||LA209_0==LAYER_SYM||(LA209_0 >= LBRACKET && LA209_0 <= LEFTTOP_SYM)||LA209_0==LESS_AND||(LA209_0 >= MEDIA_SYM && LA209_0 <= MOZ_DOCUMENT_SYM)||LA209_0==NAMESPACE_SYM||LA209_0==PAGE_SYM||(LA209_0 >= PIPE && LA209_0 <= PLUS)||(LA209_0 >= RIGHTBOTTOM_SYM && LA209_0 <= RIGHTTOP_SYM)||(LA209_0 >= SASS_AT_ROOT && LA209_0 <= SASS_DEBUG)||(LA209_0 >= SASS_EACH && LA209_0 <= SASS_ELSE)||(LA209_0 >= SASS_EXTEND && LA209_0 <= SASS_FUNCTION)||(LA209_0 >= SASS_IF && LA209_0 <= SASS_MIXIN)||(LA209_0 >= SASS_RETURN && LA209_0 <= SEMI)||LA209_0==STAR||LA209_0==SUPPORTS_SYM||LA209_0==TILDE||(LA209_0 >= TOPCENTER_SYM && LA209_0 <= TOPRIGHT_SYM)||LA209_0==WEBKIT_KEYFRAMES_SYM) ) { alt209=1; } } finally {dbg.exitDecision(209);} @@ -14225,7 +14286,7 @@ public final void moz_document_function() throws RecognitionException { // $ANTLR start "webkitKeyframes" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:732:1: webkitKeyframes : WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:732:1: webkitKeyframes : ( WEBKIT_KEYFRAMES_SYM | KEYFRAMES_SYM |{...}? AT_IDENT |{...}? AT_IDENT ) ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ; public final void webkitKeyframes() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "webkitKeyframes"); if ( getRuleLevel()==0 ) {dbg.commence();} @@ -14233,21 +14294,60 @@ public final void webkitKeyframes() throws RecognitionException { dbg.location(732, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:733:2: ( WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:733:2: ( ( WEBKIT_KEYFRAMES_SYM | KEYFRAMES_SYM |{...}? AT_IDENT |{...}? AT_IDENT ) ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE ) dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:2: WEBKIT_KEYFRAMES_SYM ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:2: ( WEBKIT_KEYFRAMES_SYM | KEYFRAMES_SYM |{...}? AT_IDENT |{...}? AT_IDENT ) ( ws )? atRuleId ( ws )? LBRACE ( ws )? ( webkitKeyframesBlock ( ws )? )* RBRACE { dbg.location(734,2); - match(input,WEBKIT_KEYFRAMES_SYM,FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes4170); if (state.failed) return;dbg.location(734,23); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:23: ( ws )? - int alt210=2; + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:2: ( WEBKIT_KEYFRAMES_SYM | KEYFRAMES_SYM |{...}? AT_IDENT |{...}? AT_IDENT ) + int alt210=4; try { dbg.enterSubRule(210); try { dbg.enterDecision(210, decisionCanBacktrack[210]); - int LA210_0 = input.LA(1); - if ( (LA210_0==COMMENT||LA210_0==NL||LA210_0==WS) ) { + switch ( input.LA(1) ) { + case WEBKIT_KEYFRAMES_SYM: + { alt210=1; + } + break; + case KEYFRAMES_SYM: + { + alt210=2; + } + break; + case AT_IDENT: + { + int LA210_3 = input.LA(2); + if ( (evalPredicate(tokenNameEquals("@-moz-keyframes"),"tokenNameEquals(\"@-moz-keyframes\")")) ) { + alt210=3; + } + else if ( (evalPredicate(tokenNameEquals("@-o-keyframes"),"tokenNameEquals(\"@-o-keyframes\")")) ) { + alt210=4; + } + + else { + if (state.backtracking>0) {state.failed=true; return;} + int nvaeMark = input.mark(); + try { + input.consume(); + NoViableAltException nvae = + new NoViableAltException("", 210, 3, input); + dbg.recognitionException(nvae); + throw nvae; + } finally { + input.rewind(nvaeMark); + } + } + + } + break; + default: + if (state.backtracking>0) {state.failed=true; return;} + NoViableAltException nvae = + new NoViableAltException("", 210, 0, input); + dbg.recognitionException(nvae); + throw nvae; } } finally {dbg.exitDecision(210);} @@ -14255,24 +14355,52 @@ public final void webkitKeyframes() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:23: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:4: WEBKIT_KEYFRAMES_SYM { - dbg.location(734,23); - pushFollow(FOLLOW_ws_in_webkitKeyframes4172); - ws(); - state._fsp--; - if (state.failed) return; + dbg.location(734,4); + match(input,WEBKIT_KEYFRAMES_SYM,FOLLOW_WEBKIT_KEYFRAMES_SYM_in_webkitKeyframes4172); if (state.failed) return; + } + break; + case 2 : + dbg.enterAlt(2); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:27: KEYFRAMES_SYM + { + dbg.location(734,27); + match(input,KEYFRAMES_SYM,FOLLOW_KEYFRAMES_SYM_in_webkitKeyframes4176); if (state.failed) return; + } + break; + case 3 : + dbg.enterAlt(3); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:43: {...}? AT_IDENT + { + dbg.location(734,43); + if ( !(evalPredicate(tokenNameEquals("@-moz-keyframes"),"tokenNameEquals(\"@-moz-keyframes\")")) ) { + if (state.backtracking>0) {state.failed=true; return;} + throw new FailedPredicateException(input, "webkitKeyframes", "tokenNameEquals(\"@-moz-keyframes\")"); + }dbg.location(734,81); + match(input,AT_IDENT,FOLLOW_AT_IDENT_in_webkitKeyframes4182); if (state.failed) return; + } + break; + case 4 : + dbg.enterAlt(4); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:92: {...}? AT_IDENT + { + dbg.location(734,92); + if ( !(evalPredicate(tokenNameEquals("@-o-keyframes"),"tokenNameEquals(\"@-o-keyframes\")")) ) { + if (state.backtracking>0) {state.failed=true; return;} + throw new FailedPredicateException(input, "webkitKeyframes", "tokenNameEquals(\"@-o-keyframes\")"); + }dbg.location(734,128); + match(input,AT_IDENT,FOLLOW_AT_IDENT_in_webkitKeyframes4188); if (state.failed) return; } break; } } finally {dbg.exitSubRule(210);} - dbg.location(734,27); - pushFollow(FOLLOW_atRuleId_in_webkitKeyframes4175); - atRuleId(); - state._fsp--; - if (state.failed) return;dbg.location(734,36); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:36: ( ws )? + dbg.location(734,139); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:139: ( ws )? int alt211=2; try { dbg.enterSubRule(211); try { dbg.enterDecision(211, decisionCanBacktrack[211]); @@ -14287,10 +14415,10 @@ public final void webkitKeyframes() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:36: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:139: ws { - dbg.location(734,36); - pushFollow(FOLLOW_ws_in_webkitKeyframes4177); + dbg.location(734,139); + pushFollow(FOLLOW_ws_in_webkitKeyframes4192); ws(); state._fsp--; if (state.failed) return; @@ -14299,9 +14427,12 @@ public final void webkitKeyframes() throws RecognitionException { } } finally {dbg.exitSubRule(211);} - dbg.location(735,2); - match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframes4181); if (state.failed) return;dbg.location(735,9); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:735:9: ( ws )? + dbg.location(734,143); + pushFollow(FOLLOW_atRuleId_in_webkitKeyframes4195); + atRuleId(); + state._fsp--; + if (state.failed) return;dbg.location(734,152); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:152: ( ws )? int alt212=2; try { dbg.enterSubRule(212); try { dbg.enterDecision(212, decisionCanBacktrack[212]); @@ -14313,13 +14444,42 @@ public final void webkitKeyframes() throws RecognitionException { } finally {dbg.exitDecision(212);} switch (alt212) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:734:152: ws + { + dbg.location(734,152); + pushFollow(FOLLOW_ws_in_webkitKeyframes4197); + ws(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(212);} + dbg.location(735,2); + match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframes4201); if (state.failed) return;dbg.location(735,9); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:735:9: ( ws )? + int alt213=2; + try { dbg.enterSubRule(213); + try { dbg.enterDecision(213, decisionCanBacktrack[213]); + + int LA213_0 = input.LA(1); + if ( (LA213_0==COMMENT||LA213_0==NL||LA213_0==WS) ) { + alt213=1; + } + } finally {dbg.exitDecision(213);} + + switch (alt213) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:735:9: ws { dbg.location(735,9); - pushFollow(FOLLOW_ws_in_webkitKeyframes4183); + pushFollow(FOLLOW_ws_in_webkitKeyframes4203); ws(); state._fsp--; if (state.failed) return; @@ -14327,53 +14487,53 @@ public final void webkitKeyframes() throws RecognitionException { break; } - } finally {dbg.exitSubRule(212);} + } finally {dbg.exitSubRule(213);} dbg.location(736,3); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:3: ( webkitKeyframesBlock ( ws )? )* - try { dbg.enterSubRule(214); + try { dbg.enterSubRule(215); - loop214: + loop215: while (true) { - int alt214=2; - try { dbg.enterDecision(214, decisionCanBacktrack[214]); + int alt215=2; + try { dbg.enterDecision(215, decisionCanBacktrack[215]); - int LA214_0 = input.LA(1); - if ( (LA214_0==IDENT||LA214_0==PERCENTAGE||LA214_0==SASS_CONTENT) ) { - alt214=1; + int LA215_0 = input.LA(1); + if ( (LA215_0==IDENT||LA215_0==PERCENTAGE||LA215_0==SASS_CONTENT) ) { + alt215=1; } - } finally {dbg.exitDecision(214);} + } finally {dbg.exitDecision(215);} - switch (alt214) { + switch (alt215) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:5: webkitKeyframesBlock ( ws )? { dbg.location(736,5); - pushFollow(FOLLOW_webkitKeyframesBlock_in_webkitKeyframes4190); + pushFollow(FOLLOW_webkitKeyframesBlock_in_webkitKeyframes4210); webkitKeyframesBlock(); state._fsp--; if (state.failed) return;dbg.location(736,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:26: ( ws )? - int alt213=2; - try { dbg.enterSubRule(213); - try { dbg.enterDecision(213, decisionCanBacktrack[213]); + int alt214=2; + try { dbg.enterSubRule(214); + try { dbg.enterDecision(214, decisionCanBacktrack[214]); - int LA213_0 = input.LA(1); - if ( (LA213_0==COMMENT||LA213_0==NL||LA213_0==WS) ) { - alt213=1; + int LA214_0 = input.LA(1); + if ( (LA214_0==COMMENT||LA214_0==NL||LA214_0==WS) ) { + alt214=1; } - } finally {dbg.exitDecision(213);} + } finally {dbg.exitDecision(214);} - switch (alt213) { + switch (alt214) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:736:26: ws { dbg.location(736,26); - pushFollow(FOLLOW_ws_in_webkitKeyframes4192); + pushFollow(FOLLOW_ws_in_webkitKeyframes4212); ws(); state._fsp--; if (state.failed) return; @@ -14381,18 +14541,18 @@ public final void webkitKeyframes() throws RecognitionException { break; } - } finally {dbg.exitSubRule(213);} + } finally {dbg.exitSubRule(214);} } break; default : - break loop214; + break loop215; } } - } finally {dbg.exitSubRule(214);} + } finally {dbg.exitSubRule(215);} dbg.location(737,2); - match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframes4199); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframes4219); if (state.failed) return; } } @@ -14427,57 +14587,57 @@ public final void webkitKeyframesBlock() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:741:2: ( webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE |{...}?{...}? sass_content ( SEMI )? ) - int alt219=2; - try { dbg.enterDecision(219, decisionCanBacktrack[219]); + int alt220=2; + try { dbg.enterDecision(220, decisionCanBacktrack[220]); - int LA219_0 = input.LA(1); - if ( (LA219_0==IDENT||LA219_0==PERCENTAGE) ) { - alt219=1; + int LA220_0 = input.LA(1); + if ( (LA220_0==IDENT||LA220_0==PERCENTAGE) ) { + alt220=1; } - else if ( (LA219_0==SASS_CONTENT) ) { - alt219=2; + else if ( (LA220_0==SASS_CONTENT) ) { + alt220=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 219, 0, input); + new NoViableAltException("", 220, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(219);} + } finally {dbg.exitDecision(220);} - switch (alt219) { + switch (alt220) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:742:2: webkitKeyframeSelectors ( ws )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE { dbg.location(742,2); - pushFollow(FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock4211); + pushFollow(FOLLOW_webkitKeyframeSelectors_in_webkitKeyframesBlock4231); webkitKeyframeSelectors(); state._fsp--; if (state.failed) return;dbg.location(742,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:742:26: ( ws )? - int alt215=2; - try { dbg.enterSubRule(215); - try { dbg.enterDecision(215, decisionCanBacktrack[215]); + int alt216=2; + try { dbg.enterSubRule(216); + try { dbg.enterDecision(216, decisionCanBacktrack[216]); - int LA215_0 = input.LA(1); - if ( (LA215_0==COMMENT||LA215_0==NL||LA215_0==WS) ) { - alt215=1; + int LA216_0 = input.LA(1); + if ( (LA216_0==COMMENT||LA216_0==NL||LA216_0==WS) ) { + alt216=1; } - } finally {dbg.exitDecision(215);} + } finally {dbg.exitDecision(216);} - switch (alt215) { + switch (alt216) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:742:26: ws { dbg.location(742,26); - pushFollow(FOLLOW_ws_in_webkitKeyframesBlock4213); + pushFollow(FOLLOW_ws_in_webkitKeyframesBlock4233); ws(); state._fsp--; if (state.failed) return; @@ -14485,28 +14645,28 @@ else if ( (LA219_0==SASS_CONTENT) ) { break; } - } finally {dbg.exitSubRule(215);} + } finally {dbg.exitSubRule(216);} dbg.location(743,2); - match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframesBlock4217); if (state.failed) return;dbg.location(743,10); + match(input,LBRACE,FOLLOW_LBRACE_in_webkitKeyframesBlock4237); if (state.failed) return;dbg.location(743,10); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:743:10: ( ws )? - int alt216=2; - try { dbg.enterSubRule(216); - try { dbg.enterDecision(216, decisionCanBacktrack[216]); + int alt217=2; + try { dbg.enterSubRule(217); + try { dbg.enterDecision(217, decisionCanBacktrack[217]); - int LA216_0 = input.LA(1); - if ( (LA216_0==COMMENT||LA216_0==NL||LA216_0==WS) ) { - alt216=1; + int LA217_0 = input.LA(1); + if ( (LA217_0==COMMENT||LA217_0==NL||LA217_0==WS) ) { + alt217=1; } - } finally {dbg.exitDecision(216);} + } finally {dbg.exitDecision(217);} - switch (alt216) { + switch (alt217) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:743:10: ws { dbg.location(743,10); - pushFollow(FOLLOW_ws_in_webkitKeyframesBlock4220); + pushFollow(FOLLOW_ws_in_webkitKeyframesBlock4240); ws(); state._fsp--; if (state.failed) return; @@ -14514,31 +14674,31 @@ else if ( (LA219_0==SASS_CONTENT) ) { break; } - } finally {dbg.exitSubRule(216);} + } finally {dbg.exitSubRule(217);} dbg.location(743,14); - pushFollow(FOLLOW_syncToFollow_in_webkitKeyframesBlock4223); + pushFollow(FOLLOW_syncToFollow_in_webkitKeyframesBlock4243); syncToFollow(); state._fsp--; if (state.failed) return;dbg.location(744,3); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:744:3: ( declarations )? - int alt217=2; - try { dbg.enterSubRule(217); - try { dbg.enterDecision(217, decisionCanBacktrack[217]); + int alt218=2; + try { dbg.enterSubRule(218); + try { dbg.enterDecision(218, decisionCanBacktrack[218]); - int LA217_0 = input.LA(1); - if ( ((LA217_0 >= AT_IDENT && LA217_0 <= AT_SIGN)||(LA217_0 >= BOTTOMCENTER_SYM && LA217_0 <= BOTTOMRIGHT_SYM)||(LA217_0 >= CHARSET_SYM && LA217_0 <= COLON)||LA217_0==CONTAINER_SYM||LA217_0==COUNTER_STYLE_SYM||(LA217_0 >= DCOLON && LA217_0 <= DOT)||LA217_0==FONT_FACE_SYM||(LA217_0 >= GEN && LA217_0 <= GREATER)||(LA217_0 >= HASH && LA217_0 <= HASH_SYMBOL)||LA217_0==IDENT||LA217_0==IMPORT_SYM||LA217_0==LAYER_SYM||(LA217_0 >= LBRACKET && LA217_0 <= LEFTTOP_SYM)||LA217_0==LESS_AND||(LA217_0 >= MEDIA_SYM && LA217_0 <= MOZ_DOCUMENT_SYM)||LA217_0==NAMESPACE_SYM||LA217_0==PAGE_SYM||(LA217_0 >= PIPE && LA217_0 <= PLUS)||(LA217_0 >= RIGHTBOTTOM_SYM && LA217_0 <= RIGHTTOP_SYM)||(LA217_0 >= SASS_AT_ROOT && LA217_0 <= SASS_DEBUG)||(LA217_0 >= SASS_EACH && LA217_0 <= SASS_ELSE)||(LA217_0 >= SASS_ERROR && LA217_0 <= SASS_FUNCTION)||(LA217_0 >= SASS_IF && LA217_0 <= SASS_MIXIN)||(LA217_0 >= SASS_RETURN && LA217_0 <= SEMI)||LA217_0==STAR||LA217_0==SUPPORTS_SYM||LA217_0==TILDE||(LA217_0 >= TOPCENTER_SYM && LA217_0 <= TOPRIGHT_SYM)||LA217_0==VARIABLE||LA217_0==WEBKIT_KEYFRAMES_SYM) ) { - alt217=1; + int LA218_0 = input.LA(1); + if ( ((LA218_0 >= AT_IDENT && LA218_0 <= AT_SIGN)||(LA218_0 >= BOTTOMCENTER_SYM && LA218_0 <= BOTTOMRIGHT_SYM)||(LA218_0 >= CHARSET_SYM && LA218_0 <= COLON)||LA218_0==CONTAINER_SYM||LA218_0==COUNTER_STYLE_SYM||(LA218_0 >= DCOLON && LA218_0 <= DOT)||LA218_0==FONT_FACE_SYM||(LA218_0 >= GEN && LA218_0 <= GREATER)||(LA218_0 >= HASH && LA218_0 <= HASH_SYMBOL)||LA218_0==IDENT||LA218_0==IMPORT_SYM||LA218_0==KEYFRAMES_SYM||LA218_0==LAYER_SYM||(LA218_0 >= LBRACKET && LA218_0 <= LEFTTOP_SYM)||LA218_0==LESS_AND||(LA218_0 >= MEDIA_SYM && LA218_0 <= MOZ_DOCUMENT_SYM)||LA218_0==NAMESPACE_SYM||LA218_0==PAGE_SYM||(LA218_0 >= PIPE && LA218_0 <= PLUS)||(LA218_0 >= RIGHTBOTTOM_SYM && LA218_0 <= RIGHTTOP_SYM)||(LA218_0 >= SASS_AT_ROOT && LA218_0 <= SASS_DEBUG)||(LA218_0 >= SASS_EACH && LA218_0 <= SASS_ELSE)||(LA218_0 >= SASS_ERROR && LA218_0 <= SASS_FUNCTION)||(LA218_0 >= SASS_IF && LA218_0 <= SASS_MIXIN)||(LA218_0 >= SASS_RETURN && LA218_0 <= SEMI)||LA218_0==STAR||LA218_0==SUPPORTS_SYM||LA218_0==TILDE||(LA218_0 >= TOPCENTER_SYM && LA218_0 <= TOPRIGHT_SYM)||LA218_0==VARIABLE||LA218_0==WEBKIT_KEYFRAMES_SYM) ) { + alt218=1; } - } finally {dbg.exitDecision(217);} + } finally {dbg.exitDecision(218);} - switch (alt217) { + switch (alt218) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:744:3: declarations { dbg.location(744,3); - pushFollow(FOLLOW_declarations_in_webkitKeyframesBlock4227); + pushFollow(FOLLOW_declarations_in_webkitKeyframesBlock4247); declarations(); state._fsp--; if (state.failed) return; @@ -14546,9 +14706,9 @@ else if ( (LA219_0==SASS_CONTENT) ) { break; } - } finally {dbg.exitSubRule(217);} + } finally {dbg.exitSubRule(218);} dbg.location(745,2); - match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframesBlock4231); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_webkitKeyframesBlock4251); if (state.failed) return; } break; case 2 : @@ -14565,34 +14725,34 @@ else if ( (LA219_0==SASS_CONTENT) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframesBlock", "isScssSource()"); }dbg.location(746,48); - pushFollow(FOLLOW_sass_content_in_webkitKeyframesBlock4248); + pushFollow(FOLLOW_sass_content_in_webkitKeyframesBlock4268); sass_content(); state._fsp--; if (state.failed) return;dbg.location(746,61); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:61: ( SEMI )? - int alt218=2; - try { dbg.enterSubRule(218); - try { dbg.enterDecision(218, decisionCanBacktrack[218]); + int alt219=2; + try { dbg.enterSubRule(219); + try { dbg.enterDecision(219, decisionCanBacktrack[219]); - int LA218_0 = input.LA(1); - if ( (LA218_0==SEMI) ) { - alt218=1; + int LA219_0 = input.LA(1); + if ( (LA219_0==SEMI) ) { + alt219=1; } - } finally {dbg.exitDecision(218);} + } finally {dbg.exitDecision(219);} - switch (alt218) { + switch (alt219) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:746:61: SEMI { dbg.location(746,61); - match(input,SEMI,FOLLOW_SEMI_in_webkitKeyframesBlock4250); if (state.failed) return; + match(input,SEMI,FOLLOW_SEMI_in_webkitKeyframesBlock4270); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(218);} + } finally {dbg.exitSubRule(219);} } break; @@ -14636,18 +14796,18 @@ public final void webkitKeyframeSelectors() throws RecognitionException { { dbg.location(751,2); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:2: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) - int alt220=3; - try { dbg.enterSubRule(220); - try { dbg.enterDecision(220, decisionCanBacktrack[220]); + int alt221=3; + try { dbg.enterSubRule(221); + try { dbg.enterDecision(221, decisionCanBacktrack[221]); - int LA220_0 = input.LA(1); - if ( (LA220_0==IDENT) ) { - int LA220_1 = input.LA(2); + int LA221_0 = input.LA(1); + if ( (LA221_0==IDENT) ) { + int LA221_1 = input.LA(2); if ( (evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) { - alt220=1; + alt221=1; } else if ( (evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) { - alt220=2; + alt221=2; } else { @@ -14656,7 +14816,7 @@ else if ( (evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 220, 1, input); + new NoViableAltException("", 221, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -14665,21 +14825,21 @@ else if ( (evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) { } } - else if ( (LA220_0==PERCENTAGE) ) { - alt220=3; + else if ( (LA221_0==PERCENTAGE) ) { + alt221=3; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 220, 0, input); + new NoViableAltException("", 221, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(220);} + } finally {dbg.exitDecision(221);} - switch (alt220) { + switch (alt221) { case 1 : dbg.enterAlt(1); @@ -14690,7 +14850,7 @@ else if ( (LA220_0==PERCENTAGE) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"from\")"); }dbg.location(751,31); - match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4267); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4287); if (state.failed) return; } break; case 2 : @@ -14703,7 +14863,7 @@ else if ( (LA220_0==PERCENTAGE) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"to\")"); }dbg.location(751,64); - match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4273); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4293); if (state.failed) return; } break; case 3 : @@ -14712,32 +14872,32 @@ else if ( (LA220_0==PERCENTAGE) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:72: PERCENTAGE { dbg.location(751,72); - match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors4277); if (state.failed) return; + match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors4297); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(220);} + } finally {dbg.exitSubRule(221);} dbg.location(751,85); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:85: ( ( ws )? COMMA ( ws )? ({...}? IDENT |{...}? IDENT | PERCENTAGE ) )* - try { dbg.enterSubRule(224); + try { dbg.enterSubRule(225); - loop224: + loop225: while (true) { - int alt224=2; - try { dbg.enterDecision(224, decisionCanBacktrack[224]); + int alt225=2; + try { dbg.enterDecision(225, decisionCanBacktrack[225]); try { isCyclicDecision = true; - alt224 = dfa224.predict(input); + alt225 = dfa225.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(224);} + } finally {dbg.exitDecision(225);} - switch (alt224) { + switch (alt225) { case 1 : dbg.enterAlt(1); @@ -14745,24 +14905,24 @@ else if ( (LA220_0==PERCENTAGE) ) { { dbg.location(751,87); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:87: ( ws )? - int alt221=2; - try { dbg.enterSubRule(221); - try { dbg.enterDecision(221, decisionCanBacktrack[221]); + int alt222=2; + try { dbg.enterSubRule(222); + try { dbg.enterDecision(222, decisionCanBacktrack[222]); - int LA221_0 = input.LA(1); - if ( (LA221_0==COMMENT||LA221_0==NL||LA221_0==WS) ) { - alt221=1; + int LA222_0 = input.LA(1); + if ( (LA222_0==COMMENT||LA222_0==NL||LA222_0==WS) ) { + alt222=1; } - } finally {dbg.exitDecision(221);} + } finally {dbg.exitDecision(222);} - switch (alt221) { + switch (alt222) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:87: ws { dbg.location(751,87); - pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors4283); + pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors4303); ws(); state._fsp--; if (state.failed) return; @@ -14770,28 +14930,28 @@ else if ( (LA220_0==PERCENTAGE) ) { break; } - } finally {dbg.exitSubRule(221);} + } finally {dbg.exitSubRule(222);} dbg.location(751,91); - match(input,COMMA,FOLLOW_COMMA_in_webkitKeyframeSelectors4286); if (state.failed) return;dbg.location(751,97); + match(input,COMMA,FOLLOW_COMMA_in_webkitKeyframeSelectors4306); if (state.failed) return;dbg.location(751,97); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:97: ( ws )? - int alt222=2; - try { dbg.enterSubRule(222); - try { dbg.enterDecision(222, decisionCanBacktrack[222]); + int alt223=2; + try { dbg.enterSubRule(223); + try { dbg.enterDecision(223, decisionCanBacktrack[223]); - int LA222_0 = input.LA(1); - if ( (LA222_0==COMMENT||LA222_0==NL||LA222_0==WS) ) { - alt222=1; + int LA223_0 = input.LA(1); + if ( (LA223_0==COMMENT||LA223_0==NL||LA223_0==WS) ) { + alt223=1; } - } finally {dbg.exitDecision(222);} + } finally {dbg.exitDecision(223);} - switch (alt222) { + switch (alt223) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:97: ws { dbg.location(751,97); - pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors4288); + pushFollow(FOLLOW_ws_in_webkitKeyframeSelectors4308); ws(); state._fsp--; if (state.failed) return; @@ -14799,21 +14959,21 @@ else if ( (LA220_0==PERCENTAGE) ) { break; } - } finally {dbg.exitSubRule(222);} + } finally {dbg.exitSubRule(223);} dbg.location(751,101); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:101: ({...}? IDENT |{...}? IDENT | PERCENTAGE ) - int alt223=3; - try { dbg.enterSubRule(223); - try { dbg.enterDecision(223, decisionCanBacktrack[223]); + int alt224=3; + try { dbg.enterSubRule(224); + try { dbg.enterDecision(224, decisionCanBacktrack[224]); - int LA223_0 = input.LA(1); - if ( (LA223_0==IDENT) ) { - int LA223_1 = input.LA(2); + int LA224_0 = input.LA(1); + if ( (LA224_0==IDENT) ) { + int LA224_1 = input.LA(2); if ( (evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")) ) { - alt223=1; + alt224=1; } else if ( (evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) { - alt223=2; + alt224=2; } else { @@ -14822,7 +14982,7 @@ else if ( (evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 223, 1, input); + new NoViableAltException("", 224, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -14831,21 +14991,21 @@ else if ( (evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")")) ) { } } - else if ( (LA223_0==PERCENTAGE) ) { - alt223=3; + else if ( (LA224_0==PERCENTAGE) ) { + alt224=3; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 223, 0, input); + new NoViableAltException("", 224, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(223);} + } finally {dbg.exitDecision(224);} - switch (alt223) { + switch (alt224) { case 1 : dbg.enterAlt(1); @@ -14856,7 +15016,7 @@ else if ( (LA223_0==PERCENTAGE) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"from\")"); }dbg.location(751,130); - match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4295); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4315); if (state.failed) return; } break; case 2 : @@ -14869,7 +15029,7 @@ else if ( (LA223_0==PERCENTAGE) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "webkitKeyframeSelectors", "tokenNameEquals(\"to\")"); }dbg.location(751,163); - match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4301); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_webkitKeyframeSelectors4321); if (state.failed) return; } break; case 3 : @@ -14878,21 +15038,21 @@ else if ( (LA223_0==PERCENTAGE) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:751:171: PERCENTAGE { dbg.location(751,171); - match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors4305); if (state.failed) return; + match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_webkitKeyframeSelectors4325); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(223);} + } finally {dbg.exitSubRule(224);} } break; default : - break loop224; + break loop225; } } - } finally {dbg.exitSubRule(224);} + } finally {dbg.exitSubRule(225);} } @@ -14936,26 +15096,26 @@ public final void page() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:7: PAGE_SYM ( ws )? ( IDENT ( ws )? )? ( pseudoPage ( ws )? )? LBRACE ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* ( SEMI )? ( ws )? RBRACE { dbg.location(758,7); - match(input,PAGE_SYM,FOLLOW_PAGE_SYM_in_page4329); if (state.failed) return;dbg.location(758,16); + match(input,PAGE_SYM,FOLLOW_PAGE_SYM_in_page4349); if (state.failed) return;dbg.location(758,16); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:16: ( ws )? - int alt225=2; - try { dbg.enterSubRule(225); - try { dbg.enterDecision(225, decisionCanBacktrack[225]); + int alt226=2; + try { dbg.enterSubRule(226); + try { dbg.enterDecision(226, decisionCanBacktrack[226]); - int LA225_0 = input.LA(1); - if ( (LA225_0==COMMENT||LA225_0==NL||LA225_0==WS) ) { - alt225=1; + int LA226_0 = input.LA(1); + if ( (LA226_0==COMMENT||LA226_0==NL||LA226_0==WS) ) { + alt226=1; } - } finally {dbg.exitDecision(225);} + } finally {dbg.exitDecision(226);} - switch (alt225) { + switch (alt226) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:16: ws { dbg.location(758,16); - pushFollow(FOLLOW_ws_in_page4331); + pushFollow(FOLLOW_ws_in_page4351); ws(); state._fsp--; if (state.failed) return; @@ -14963,46 +15123,46 @@ public final void page() throws RecognitionException { break; } - } finally {dbg.exitSubRule(225);} + } finally {dbg.exitSubRule(226);} dbg.location(758,20); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:20: ( IDENT ( ws )? )? - int alt227=2; - try { dbg.enterSubRule(227); - try { dbg.enterDecision(227, decisionCanBacktrack[227]); + int alt228=2; + try { dbg.enterSubRule(228); + try { dbg.enterDecision(228, decisionCanBacktrack[228]); - int LA227_0 = input.LA(1); - if ( (LA227_0==IDENT) ) { - alt227=1; + int LA228_0 = input.LA(1); + if ( (LA228_0==IDENT) ) { + alt228=1; } - } finally {dbg.exitDecision(227);} + } finally {dbg.exitDecision(228);} - switch (alt227) { + switch (alt228) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:22: IDENT ( ws )? { dbg.location(758,22); - match(input,IDENT,FOLLOW_IDENT_in_page4336); if (state.failed) return;dbg.location(758,28); + match(input,IDENT,FOLLOW_IDENT_in_page4356); if (state.failed) return;dbg.location(758,28); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:28: ( ws )? - int alt226=2; - try { dbg.enterSubRule(226); - try { dbg.enterDecision(226, decisionCanBacktrack[226]); + int alt227=2; + try { dbg.enterSubRule(227); + try { dbg.enterDecision(227, decisionCanBacktrack[227]); - int LA226_0 = input.LA(1); - if ( (LA226_0==COMMENT||LA226_0==NL||LA226_0==WS) ) { - alt226=1; + int LA227_0 = input.LA(1); + if ( (LA227_0==COMMENT||LA227_0==NL||LA227_0==WS) ) { + alt227=1; } - } finally {dbg.exitDecision(226);} + } finally {dbg.exitDecision(227);} - switch (alt226) { + switch (alt227) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:28: ws { dbg.location(758,28); - pushFollow(FOLLOW_ws_in_page4338); + pushFollow(FOLLOW_ws_in_page4358); ws(); state._fsp--; if (state.failed) return; @@ -15010,55 +15170,55 @@ public final void page() throws RecognitionException { break; } - } finally {dbg.exitSubRule(226);} + } finally {dbg.exitSubRule(227);} } break; } - } finally {dbg.exitSubRule(227);} + } finally {dbg.exitSubRule(228);} dbg.location(758,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:35: ( pseudoPage ( ws )? )? - int alt229=2; - try { dbg.enterSubRule(229); - try { dbg.enterDecision(229, decisionCanBacktrack[229]); + int alt230=2; + try { dbg.enterSubRule(230); + try { dbg.enterDecision(230, decisionCanBacktrack[230]); - int LA229_0 = input.LA(1); - if ( (LA229_0==COLON) ) { - alt229=1; + int LA230_0 = input.LA(1); + if ( (LA230_0==COLON) ) { + alt230=1; } - } finally {dbg.exitDecision(229);} + } finally {dbg.exitDecision(230);} - switch (alt229) { + switch (alt230) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:36: pseudoPage ( ws )? { dbg.location(758,36); - pushFollow(FOLLOW_pseudoPage_in_page4345); + pushFollow(FOLLOW_pseudoPage_in_page4365); pseudoPage(); state._fsp--; if (state.failed) return;dbg.location(758,47); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:47: ( ws )? - int alt228=2; - try { dbg.enterSubRule(228); - try { dbg.enterDecision(228, decisionCanBacktrack[228]); + int alt229=2; + try { dbg.enterSubRule(229); + try { dbg.enterDecision(229, decisionCanBacktrack[229]); - int LA228_0 = input.LA(1); - if ( (LA228_0==COMMENT||LA228_0==NL||LA228_0==WS) ) { - alt228=1; + int LA229_0 = input.LA(1); + if ( (LA229_0==COMMENT||LA229_0==NL||LA229_0==WS) ) { + alt229=1; } - } finally {dbg.exitDecision(228);} + } finally {dbg.exitDecision(229);} - switch (alt228) { + switch (alt229) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:758:47: ws { dbg.location(758,47); - pushFollow(FOLLOW_ws_in_page4347); + pushFollow(FOLLOW_ws_in_page4367); ws(); state._fsp--; if (state.failed) return; @@ -15066,34 +15226,34 @@ public final void page() throws RecognitionException { break; } - } finally {dbg.exitSubRule(228);} + } finally {dbg.exitSubRule(229);} } break; } - } finally {dbg.exitSubRule(229);} + } finally {dbg.exitSubRule(230);} dbg.location(759,9); - match(input,LBRACE,FOLLOW_LBRACE_in_page4360); if (state.failed) return;dbg.location(762,13); + match(input,LBRACE,FOLLOW_LBRACE_in_page4380); if (state.failed) return;dbg.location(762,13); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:13: ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )* - try { dbg.enterSubRule(236); + try { dbg.enterSubRule(237); - loop236: + loop237: while (true) { - int alt236=2; - try { dbg.enterDecision(236, decisionCanBacktrack[236]); + int alt237=2; + try { dbg.enterDecision(237, decisionCanBacktrack[237]); try { isCyclicDecision = true; - alt236 = dfa236.predict(input); + alt237 = dfa237.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(236);} + } finally {dbg.exitDecision(237);} - switch (alt236) { + switch (alt237) { case 1 : dbg.enterAlt(1); @@ -15101,24 +15261,24 @@ public final void page() throws RecognitionException { { dbg.location(762,15); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:15: ( ws )? - int alt230=2; - try { dbg.enterSubRule(230); - try { dbg.enterDecision(230, decisionCanBacktrack[230]); + int alt231=2; + try { dbg.enterSubRule(231); + try { dbg.enterDecision(231, decisionCanBacktrack[231]); - int LA230_0 = input.LA(1); - if ( (LA230_0==COMMENT||LA230_0==NL||LA230_0==WS) ) { - alt230=1; + int LA231_0 = input.LA(1); + if ( (LA231_0==COMMENT||LA231_0==NL||LA231_0==WS) ) { + alt231=1; } - } finally {dbg.exitDecision(230);} + } finally {dbg.exitDecision(231);} - switch (alt230) { + switch (alt231) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:15: ws { dbg.location(762,15); - pushFollow(FOLLOW_ws_in_page4402); + pushFollow(FOLLOW_ws_in_page4422); ws(); state._fsp--; if (state.failed) return; @@ -15126,39 +15286,39 @@ public final void page() throws RecognitionException { break; } - } finally {dbg.exitSubRule(230);} + } finally {dbg.exitSubRule(231);} dbg.location(762,19); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:19: ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) - int alt234=2; - try { dbg.enterSubRule(234); - try { dbg.enterDecision(234, decisionCanBacktrack[234]); + int alt235=2; + try { dbg.enterSubRule(235); + try { dbg.enterDecision(235, decisionCanBacktrack[235]); - int LA234_0 = input.LA(1); - if ( (LA234_0==SEMI) ) { - int LA234_1 = input.LA(2); + int LA235_0 = input.LA(1); + if ( (LA235_0==SEMI) ) { + int LA235_1 = input.LA(2); if ( (evalPredicate(semiRequired,"semiRequired")) ) { - alt234=1; + alt235=1; } else if ( (true) ) { - alt234=2; + alt235=2; } } - else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER_SYM && LA234_0 <= BOTTOMRIGHT_SYM)||LA234_0==CHARSET_SYM||LA234_0==COUNTER_STYLE_SYM||LA234_0==FONT_FACE_SYM||LA234_0==GEN||LA234_0==HASH_SYMBOL||LA234_0==IDENT||LA234_0==IMPORT_SYM||(LA234_0 >= LEFTBOTTOM_SYM && LA234_0 <= LEFTTOP_SYM)||(LA234_0 >= MEDIA_SYM && LA234_0 <= MOZ_DOCUMENT_SYM)||LA234_0==NAMESPACE_SYM||LA234_0==PAGE_SYM||(LA234_0 >= RIGHTBOTTOM_SYM && LA234_0 <= RIGHTTOP_SYM)||(LA234_0 >= SASS_AT_ROOT && LA234_0 <= SASS_DEBUG)||(LA234_0 >= SASS_EACH && LA234_0 <= SASS_ELSE)||LA234_0==SASS_EXTEND||(LA234_0 >= SASS_FOR && LA234_0 <= SASS_FUNCTION)||(LA234_0 >= SASS_IF && LA234_0 <= SASS_MIXIN)||(LA234_0 >= SASS_RETURN && LA234_0 <= SASS_WHILE)||LA234_0==STAR||(LA234_0 >= TOPCENTER_SYM && LA234_0 <= TOPRIGHT_SYM)||LA234_0==VARIABLE||LA234_0==WEBKIT_KEYFRAMES_SYM) ) { - alt234=2; + else if ( ((LA235_0 >= AT_IDENT && LA235_0 <= AT_SIGN)||(LA235_0 >= BOTTOMCENTER_SYM && LA235_0 <= BOTTOMRIGHT_SYM)||LA235_0==CHARSET_SYM||LA235_0==COUNTER_STYLE_SYM||LA235_0==FONT_FACE_SYM||LA235_0==GEN||LA235_0==HASH_SYMBOL||LA235_0==IDENT||LA235_0==IMPORT_SYM||LA235_0==KEYFRAMES_SYM||(LA235_0 >= LEFTBOTTOM_SYM && LA235_0 <= LEFTTOP_SYM)||(LA235_0 >= MEDIA_SYM && LA235_0 <= MOZ_DOCUMENT_SYM)||LA235_0==NAMESPACE_SYM||LA235_0==PAGE_SYM||(LA235_0 >= RIGHTBOTTOM_SYM && LA235_0 <= RIGHTTOP_SYM)||(LA235_0 >= SASS_AT_ROOT && LA235_0 <= SASS_DEBUG)||(LA235_0 >= SASS_EACH && LA235_0 <= SASS_ELSE)||LA235_0==SASS_EXTEND||(LA235_0 >= SASS_FOR && LA235_0 <= SASS_FUNCTION)||(LA235_0 >= SASS_IF && LA235_0 <= SASS_MIXIN)||(LA235_0 >= SASS_RETURN && LA235_0 <= SASS_WHILE)||LA235_0==STAR||(LA235_0 >= TOPCENTER_SYM && LA235_0 <= TOPRIGHT_SYM)||LA235_0==VARIABLE||LA235_0==WEBKIT_KEYFRAMES_SYM) ) { + alt235=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 234, 0, input); + new NoViableAltException("", 235, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(234);} + } finally {dbg.exitDecision(235);} - switch (alt234) { + switch (alt235) { case 1 : dbg.enterAlt(1); @@ -15175,26 +15335,26 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:37: SEMI ( ws )? { dbg.location(762,37); - match(input,SEMI,FOLLOW_SEMI_in_page4409); if (state.failed) return;dbg.location(762,42); + match(input,SEMI,FOLLOW_SEMI_in_page4429); if (state.failed) return;dbg.location(762,42); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:42: ( ws )? - int alt231=2; - try { dbg.enterSubRule(231); - try { dbg.enterDecision(231, decisionCanBacktrack[231]); + int alt232=2; + try { dbg.enterSubRule(232); + try { dbg.enterDecision(232, decisionCanBacktrack[232]); - int LA231_0 = input.LA(1); - if ( (LA231_0==COMMENT||LA231_0==NL||LA231_0==WS) ) { - alt231=1; + int LA232_0 = input.LA(1); + if ( (LA232_0==COMMENT||LA232_0==NL||LA232_0==WS) ) { + alt232=1; } - } finally {dbg.exitDecision(231);} + } finally {dbg.exitDecision(232);} - switch (alt231) { + switch (alt232) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:42: ws { dbg.location(762,42); - pushFollow(FOLLOW_ws_in_page4411); + pushFollow(FOLLOW_ws_in_page4431); ws(); state._fsp--; if (state.failed) return; @@ -15202,7 +15362,7 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER break; } - } finally {dbg.exitSubRule(231);} + } finally {dbg.exitSubRule(232);} } @@ -15215,43 +15375,43 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER { dbg.location(762,49); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:49: ( SEMI ( ws )? )? - int alt233=2; - try { dbg.enterSubRule(233); - try { dbg.enterDecision(233, decisionCanBacktrack[233]); + int alt234=2; + try { dbg.enterSubRule(234); + try { dbg.enterDecision(234, decisionCanBacktrack[234]); - int LA233_0 = input.LA(1); - if ( (LA233_0==SEMI) ) { - alt233=1; + int LA234_0 = input.LA(1); + if ( (LA234_0==SEMI) ) { + alt234=1; } - } finally {dbg.exitDecision(233);} + } finally {dbg.exitDecision(234);} - switch (alt233) { + switch (alt234) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:50: SEMI ( ws )? { dbg.location(762,50); - match(input,SEMI,FOLLOW_SEMI_in_page4418); if (state.failed) return;dbg.location(762,55); + match(input,SEMI,FOLLOW_SEMI_in_page4438); if (state.failed) return;dbg.location(762,55); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:55: ( ws )? - int alt232=2; - try { dbg.enterSubRule(232); - try { dbg.enterDecision(232, decisionCanBacktrack[232]); + int alt233=2; + try { dbg.enterSubRule(233); + try { dbg.enterDecision(233, decisionCanBacktrack[233]); - int LA232_0 = input.LA(1); - if ( (LA232_0==COMMENT||LA232_0==NL||LA232_0==WS) ) { - alt232=1; + int LA233_0 = input.LA(1); + if ( (LA233_0==COMMENT||LA233_0==NL||LA233_0==WS) ) { + alt233=1; } - } finally {dbg.exitDecision(232);} + } finally {dbg.exitDecision(233);} - switch (alt232) { + switch (alt233) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:55: ws { dbg.location(762,55); - pushFollow(FOLLOW_ws_in_page4420); + pushFollow(FOLLOW_ws_in_page4440); ws(); state._fsp--; if (state.failed) return; @@ -15259,43 +15419,43 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER break; } - } finally {dbg.exitSubRule(232);} + } finally {dbg.exitSubRule(233);} } break; } - } finally {dbg.exitSubRule(233);} + } finally {dbg.exitSubRule(234);} } break; } - } finally {dbg.exitSubRule(234);} + } finally {dbg.exitSubRule(235);} dbg.location(762,62); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:62: ( propertyDeclaration | margin ) - int alt235=2; - try { dbg.enterSubRule(235); - try { dbg.enterDecision(235, decisionCanBacktrack[235]); + int alt236=2; + try { dbg.enterSubRule(236); + try { dbg.enterDecision(236, decisionCanBacktrack[236]); try { isCyclicDecision = true; - alt235 = dfa235.predict(input); + alt236 = dfa236.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(235);} + } finally {dbg.exitDecision(236);} - switch (alt235) { + switch (alt236) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:63: propertyDeclaration { dbg.location(762,63); - pushFollow(FOLLOW_propertyDeclaration_in_page4427); + pushFollow(FOLLOW_propertyDeclaration_in_page4447); propertyDeclaration(); state._fsp--; if (state.failed) return;dbg.location(762,82); @@ -15308,7 +15468,7 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:762:103: margin { dbg.location(762,103); - pushFollow(FOLLOW_margin_in_page4430); + pushFollow(FOLLOW_margin_in_page4450); margin(); state._fsp--; if (state.failed) return;dbg.location(762,109); @@ -15317,61 +15477,61 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER break; } - } finally {dbg.exitSubRule(235);} + } finally {dbg.exitSubRule(236);} } break; default : - break loop236; + break loop237; } } - } finally {dbg.exitSubRule(236);} + } finally {dbg.exitSubRule(237);} dbg.location(763,13); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:763:13: ( SEMI )? - int alt237=2; - try { dbg.enterSubRule(237); - try { dbg.enterDecision(237, decisionCanBacktrack[237]); + int alt238=2; + try { dbg.enterSubRule(238); + try { dbg.enterDecision(238, decisionCanBacktrack[238]); - int LA237_0 = input.LA(1); - if ( (LA237_0==SEMI) ) { - alt237=1; + int LA238_0 = input.LA(1); + if ( (LA238_0==SEMI) ) { + alt238=1; } - } finally {dbg.exitDecision(237);} + } finally {dbg.exitDecision(238);} - switch (alt237) { + switch (alt238) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:763:13: SEMI { dbg.location(763,13); - match(input,SEMI,FOLLOW_SEMI_in_page4448); if (state.failed) return; + match(input,SEMI,FOLLOW_SEMI_in_page4468); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(237);} + } finally {dbg.exitSubRule(238);} dbg.location(764,13); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:764:13: ( ws )? - int alt238=2; - try { dbg.enterSubRule(238); - try { dbg.enterDecision(238, decisionCanBacktrack[238]); + int alt239=2; + try { dbg.enterSubRule(239); + try { dbg.enterDecision(239, decisionCanBacktrack[239]); - int LA238_0 = input.LA(1); - if ( (LA238_0==COMMENT||LA238_0==NL||LA238_0==WS) ) { - alt238=1; + int LA239_0 = input.LA(1); + if ( (LA239_0==COMMENT||LA239_0==NL||LA239_0==WS) ) { + alt239=1; } - } finally {dbg.exitDecision(238);} + } finally {dbg.exitDecision(239);} - switch (alt238) { + switch (alt239) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:764:13: ws { dbg.location(764,13); - pushFollow(FOLLOW_ws_in_page4463); + pushFollow(FOLLOW_ws_in_page4483); ws(); state._fsp--; if (state.failed) return; @@ -15379,9 +15539,9 @@ else if ( ((LA234_0 >= AT_IDENT && LA234_0 <= AT_SIGN)||(LA234_0 >= BOTTOMCENTER break; } - } finally {dbg.exitSubRule(238);} + } finally {dbg.exitSubRule(239);} dbg.location(765,9); - match(input,RBRACE,FOLLOW_RBRACE_in_page4474); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_page4494); if (state.failed) return; } } @@ -15421,26 +15581,26 @@ public final void counterStyle() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:7: COUNTER_STYLE_SYM ( ws )? IDENT ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE { dbg.location(769,7); - match(input,COUNTER_STYLE_SYM,FOLLOW_COUNTER_STYLE_SYM_in_counterStyle4491); if (state.failed) return;dbg.location(769,25); + match(input,COUNTER_STYLE_SYM,FOLLOW_COUNTER_STYLE_SYM_in_counterStyle4511); if (state.failed) return;dbg.location(769,25); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:25: ( ws )? - int alt239=2; - try { dbg.enterSubRule(239); - try { dbg.enterDecision(239, decisionCanBacktrack[239]); + int alt240=2; + try { dbg.enterSubRule(240); + try { dbg.enterDecision(240, decisionCanBacktrack[240]); - int LA239_0 = input.LA(1); - if ( (LA239_0==COMMENT||LA239_0==NL||LA239_0==WS) ) { - alt239=1; + int LA240_0 = input.LA(1); + if ( (LA240_0==COMMENT||LA240_0==NL||LA240_0==WS) ) { + alt240=1; } - } finally {dbg.exitDecision(239);} + } finally {dbg.exitDecision(240);} - switch (alt239) { + switch (alt240) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:25: ws { dbg.location(769,25); - pushFollow(FOLLOW_ws_in_counterStyle4493); + pushFollow(FOLLOW_ws_in_counterStyle4513); ws(); state._fsp--; if (state.failed) return; @@ -15448,28 +15608,28 @@ public final void counterStyle() throws RecognitionException { break; } - } finally {dbg.exitSubRule(239);} + } finally {dbg.exitSubRule(240);} dbg.location(769,29); - match(input,IDENT,FOLLOW_IDENT_in_counterStyle4496); if (state.failed) return;dbg.location(769,35); + match(input,IDENT,FOLLOW_IDENT_in_counterStyle4516); if (state.failed) return;dbg.location(769,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:35: ( ws )? - int alt240=2; - try { dbg.enterSubRule(240); - try { dbg.enterDecision(240, decisionCanBacktrack[240]); + int alt241=2; + try { dbg.enterSubRule(241); + try { dbg.enterDecision(241, decisionCanBacktrack[241]); - int LA240_0 = input.LA(1); - if ( (LA240_0==COMMENT||LA240_0==NL||LA240_0==WS) ) { - alt240=1; + int LA241_0 = input.LA(1); + if ( (LA241_0==COMMENT||LA241_0==NL||LA241_0==WS) ) { + alt241=1; } - } finally {dbg.exitDecision(240);} + } finally {dbg.exitDecision(241);} - switch (alt240) { + switch (alt241) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:769:35: ws { dbg.location(769,35); - pushFollow(FOLLOW_ws_in_counterStyle4498); + pushFollow(FOLLOW_ws_in_counterStyle4518); ws(); state._fsp--; if (state.failed) return; @@ -15477,28 +15637,28 @@ public final void counterStyle() throws RecognitionException { break; } - } finally {dbg.exitSubRule(240);} + } finally {dbg.exitSubRule(241);} dbg.location(770,9); - match(input,LBRACE,FOLLOW_LBRACE_in_counterStyle4509); if (state.failed) return;dbg.location(770,16); + match(input,LBRACE,FOLLOW_LBRACE_in_counterStyle4529); if (state.failed) return;dbg.location(770,16); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:770:16: ( ws )? - int alt241=2; - try { dbg.enterSubRule(241); - try { dbg.enterDecision(241, decisionCanBacktrack[241]); + int alt242=2; + try { dbg.enterSubRule(242); + try { dbg.enterDecision(242, decisionCanBacktrack[242]); - int LA241_0 = input.LA(1); - if ( (LA241_0==COMMENT||LA241_0==NL||LA241_0==WS) ) { - alt241=1; + int LA242_0 = input.LA(1); + if ( (LA242_0==COMMENT||LA242_0==NL||LA242_0==WS) ) { + alt242=1; } - } finally {dbg.exitDecision(241);} + } finally {dbg.exitDecision(242);} - switch (alt241) { + switch (alt242) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:770:16: ws { dbg.location(770,16); - pushFollow(FOLLOW_ws_in_counterStyle4511); + pushFollow(FOLLOW_ws_in_counterStyle4531); ws(); state._fsp--; if (state.failed) return; @@ -15506,31 +15666,31 @@ public final void counterStyle() throws RecognitionException { break; } - } finally {dbg.exitSubRule(241);} + } finally {dbg.exitSubRule(242);} dbg.location(770,20); - pushFollow(FOLLOW_syncToDeclarationsRule_in_counterStyle4514); + pushFollow(FOLLOW_syncToDeclarationsRule_in_counterStyle4534); syncToDeclarationsRule(); state._fsp--; if (state.failed) return;dbg.location(771,3); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:771:3: ( declarations )? - int alt242=2; - try { dbg.enterSubRule(242); - try { dbg.enterDecision(242, decisionCanBacktrack[242]); + int alt243=2; + try { dbg.enterSubRule(243); + try { dbg.enterDecision(243, decisionCanBacktrack[243]); - int LA242_0 = input.LA(1); - if ( ((LA242_0 >= AT_IDENT && LA242_0 <= AT_SIGN)||(LA242_0 >= BOTTOMCENTER_SYM && LA242_0 <= BOTTOMRIGHT_SYM)||(LA242_0 >= CHARSET_SYM && LA242_0 <= COLON)||LA242_0==CONTAINER_SYM||LA242_0==COUNTER_STYLE_SYM||(LA242_0 >= DCOLON && LA242_0 <= DOT)||LA242_0==FONT_FACE_SYM||(LA242_0 >= GEN && LA242_0 <= GREATER)||(LA242_0 >= HASH && LA242_0 <= HASH_SYMBOL)||LA242_0==IDENT||LA242_0==IMPORT_SYM||LA242_0==LAYER_SYM||(LA242_0 >= LBRACKET && LA242_0 <= LEFTTOP_SYM)||LA242_0==LESS_AND||(LA242_0 >= MEDIA_SYM && LA242_0 <= MOZ_DOCUMENT_SYM)||LA242_0==NAMESPACE_SYM||LA242_0==PAGE_SYM||(LA242_0 >= PIPE && LA242_0 <= PLUS)||(LA242_0 >= RIGHTBOTTOM_SYM && LA242_0 <= RIGHTTOP_SYM)||(LA242_0 >= SASS_AT_ROOT && LA242_0 <= SASS_DEBUG)||(LA242_0 >= SASS_EACH && LA242_0 <= SASS_ELSE)||(LA242_0 >= SASS_ERROR && LA242_0 <= SASS_FUNCTION)||(LA242_0 >= SASS_IF && LA242_0 <= SASS_MIXIN)||(LA242_0 >= SASS_RETURN && LA242_0 <= SEMI)||LA242_0==STAR||LA242_0==SUPPORTS_SYM||LA242_0==TILDE||(LA242_0 >= TOPCENTER_SYM && LA242_0 <= TOPRIGHT_SYM)||LA242_0==VARIABLE||LA242_0==WEBKIT_KEYFRAMES_SYM) ) { - alt242=1; + int LA243_0 = input.LA(1); + if ( ((LA243_0 >= AT_IDENT && LA243_0 <= AT_SIGN)||(LA243_0 >= BOTTOMCENTER_SYM && LA243_0 <= BOTTOMRIGHT_SYM)||(LA243_0 >= CHARSET_SYM && LA243_0 <= COLON)||LA243_0==CONTAINER_SYM||LA243_0==COUNTER_STYLE_SYM||(LA243_0 >= DCOLON && LA243_0 <= DOT)||LA243_0==FONT_FACE_SYM||(LA243_0 >= GEN && LA243_0 <= GREATER)||(LA243_0 >= HASH && LA243_0 <= HASH_SYMBOL)||LA243_0==IDENT||LA243_0==IMPORT_SYM||LA243_0==KEYFRAMES_SYM||LA243_0==LAYER_SYM||(LA243_0 >= LBRACKET && LA243_0 <= LEFTTOP_SYM)||LA243_0==LESS_AND||(LA243_0 >= MEDIA_SYM && LA243_0 <= MOZ_DOCUMENT_SYM)||LA243_0==NAMESPACE_SYM||LA243_0==PAGE_SYM||(LA243_0 >= PIPE && LA243_0 <= PLUS)||(LA243_0 >= RIGHTBOTTOM_SYM && LA243_0 <= RIGHTTOP_SYM)||(LA243_0 >= SASS_AT_ROOT && LA243_0 <= SASS_DEBUG)||(LA243_0 >= SASS_EACH && LA243_0 <= SASS_ELSE)||(LA243_0 >= SASS_ERROR && LA243_0 <= SASS_FUNCTION)||(LA243_0 >= SASS_IF && LA243_0 <= SASS_MIXIN)||(LA243_0 >= SASS_RETURN && LA243_0 <= SEMI)||LA243_0==STAR||LA243_0==SUPPORTS_SYM||LA243_0==TILDE||(LA243_0 >= TOPCENTER_SYM && LA243_0 <= TOPRIGHT_SYM)||LA243_0==VARIABLE||LA243_0==WEBKIT_KEYFRAMES_SYM) ) { + alt243=1; } - } finally {dbg.exitDecision(242);} + } finally {dbg.exitDecision(243);} - switch (alt242) { + switch (alt243) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:771:3: declarations { dbg.location(771,3); - pushFollow(FOLLOW_declarations_in_counterStyle4518); + pushFollow(FOLLOW_declarations_in_counterStyle4538); declarations(); state._fsp--; if (state.failed) return; @@ -15538,9 +15698,9 @@ public final void counterStyle() throws RecognitionException { break; } - } finally {dbg.exitSubRule(242);} + } finally {dbg.exitSubRule(243);} dbg.location(772,9); - match(input,RBRACE,FOLLOW_RBRACE_in_counterStyle4529); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_counterStyle4549); if (state.failed) return; } } @@ -15580,26 +15740,26 @@ public final void fontFace() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:776:7: FONT_FACE_SYM ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE { dbg.location(776,7); - match(input,FONT_FACE_SYM,FOLLOW_FONT_FACE_SYM_in_fontFace4546); if (state.failed) return;dbg.location(776,21); + match(input,FONT_FACE_SYM,FOLLOW_FONT_FACE_SYM_in_fontFace4566); if (state.failed) return;dbg.location(776,21); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:776:21: ( ws )? - int alt243=2; - try { dbg.enterSubRule(243); - try { dbg.enterDecision(243, decisionCanBacktrack[243]); + int alt244=2; + try { dbg.enterSubRule(244); + try { dbg.enterDecision(244, decisionCanBacktrack[244]); - int LA243_0 = input.LA(1); - if ( (LA243_0==COMMENT||LA243_0==NL||LA243_0==WS) ) { - alt243=1; + int LA244_0 = input.LA(1); + if ( (LA244_0==COMMENT||LA244_0==NL||LA244_0==WS) ) { + alt244=1; } - } finally {dbg.exitDecision(243);} + } finally {dbg.exitDecision(244);} - switch (alt243) { + switch (alt244) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:776:21: ws { dbg.location(776,21); - pushFollow(FOLLOW_ws_in_fontFace4548); + pushFollow(FOLLOW_ws_in_fontFace4568); ws(); state._fsp--; if (state.failed) return; @@ -15607,28 +15767,28 @@ public final void fontFace() throws RecognitionException { break; } - } finally {dbg.exitSubRule(243);} + } finally {dbg.exitSubRule(244);} dbg.location(777,9); - match(input,LBRACE,FOLLOW_LBRACE_in_fontFace4559); if (state.failed) return;dbg.location(777,16); + match(input,LBRACE,FOLLOW_LBRACE_in_fontFace4579); if (state.failed) return;dbg.location(777,16); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:777:16: ( ws )? - int alt244=2; - try { dbg.enterSubRule(244); - try { dbg.enterDecision(244, decisionCanBacktrack[244]); + int alt245=2; + try { dbg.enterSubRule(245); + try { dbg.enterDecision(245, decisionCanBacktrack[245]); - int LA244_0 = input.LA(1); - if ( (LA244_0==COMMENT||LA244_0==NL||LA244_0==WS) ) { - alt244=1; + int LA245_0 = input.LA(1); + if ( (LA245_0==COMMENT||LA245_0==NL||LA245_0==WS) ) { + alt245=1; } - } finally {dbg.exitDecision(244);} + } finally {dbg.exitDecision(245);} - switch (alt244) { + switch (alt245) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:777:16: ws { dbg.location(777,16); - pushFollow(FOLLOW_ws_in_fontFace4561); + pushFollow(FOLLOW_ws_in_fontFace4581); ws(); state._fsp--; if (state.failed) return; @@ -15636,31 +15796,31 @@ public final void fontFace() throws RecognitionException { break; } - } finally {dbg.exitSubRule(244);} + } finally {dbg.exitSubRule(245);} dbg.location(777,20); - pushFollow(FOLLOW_syncToDeclarationsRule_in_fontFace4564); + pushFollow(FOLLOW_syncToDeclarationsRule_in_fontFace4584); syncToDeclarationsRule(); state._fsp--; if (state.failed) return;dbg.location(778,3); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:778:3: ( declarations )? - int alt245=2; - try { dbg.enterSubRule(245); - try { dbg.enterDecision(245, decisionCanBacktrack[245]); + int alt246=2; + try { dbg.enterSubRule(246); + try { dbg.enterDecision(246, decisionCanBacktrack[246]); - int LA245_0 = input.LA(1); - if ( ((LA245_0 >= AT_IDENT && LA245_0 <= AT_SIGN)||(LA245_0 >= BOTTOMCENTER_SYM && LA245_0 <= BOTTOMRIGHT_SYM)||(LA245_0 >= CHARSET_SYM && LA245_0 <= COLON)||LA245_0==CONTAINER_SYM||LA245_0==COUNTER_STYLE_SYM||(LA245_0 >= DCOLON && LA245_0 <= DOT)||LA245_0==FONT_FACE_SYM||(LA245_0 >= GEN && LA245_0 <= GREATER)||(LA245_0 >= HASH && LA245_0 <= HASH_SYMBOL)||LA245_0==IDENT||LA245_0==IMPORT_SYM||LA245_0==LAYER_SYM||(LA245_0 >= LBRACKET && LA245_0 <= LEFTTOP_SYM)||LA245_0==LESS_AND||(LA245_0 >= MEDIA_SYM && LA245_0 <= MOZ_DOCUMENT_SYM)||LA245_0==NAMESPACE_SYM||LA245_0==PAGE_SYM||(LA245_0 >= PIPE && LA245_0 <= PLUS)||(LA245_0 >= RIGHTBOTTOM_SYM && LA245_0 <= RIGHTTOP_SYM)||(LA245_0 >= SASS_AT_ROOT && LA245_0 <= SASS_DEBUG)||(LA245_0 >= SASS_EACH && LA245_0 <= SASS_ELSE)||(LA245_0 >= SASS_ERROR && LA245_0 <= SASS_FUNCTION)||(LA245_0 >= SASS_IF && LA245_0 <= SASS_MIXIN)||(LA245_0 >= SASS_RETURN && LA245_0 <= SEMI)||LA245_0==STAR||LA245_0==SUPPORTS_SYM||LA245_0==TILDE||(LA245_0 >= TOPCENTER_SYM && LA245_0 <= TOPRIGHT_SYM)||LA245_0==VARIABLE||LA245_0==WEBKIT_KEYFRAMES_SYM) ) { - alt245=1; + int LA246_0 = input.LA(1); + if ( ((LA246_0 >= AT_IDENT && LA246_0 <= AT_SIGN)||(LA246_0 >= BOTTOMCENTER_SYM && LA246_0 <= BOTTOMRIGHT_SYM)||(LA246_0 >= CHARSET_SYM && LA246_0 <= COLON)||LA246_0==CONTAINER_SYM||LA246_0==COUNTER_STYLE_SYM||(LA246_0 >= DCOLON && LA246_0 <= DOT)||LA246_0==FONT_FACE_SYM||(LA246_0 >= GEN && LA246_0 <= GREATER)||(LA246_0 >= HASH && LA246_0 <= HASH_SYMBOL)||LA246_0==IDENT||LA246_0==IMPORT_SYM||LA246_0==KEYFRAMES_SYM||LA246_0==LAYER_SYM||(LA246_0 >= LBRACKET && LA246_0 <= LEFTTOP_SYM)||LA246_0==LESS_AND||(LA246_0 >= MEDIA_SYM && LA246_0 <= MOZ_DOCUMENT_SYM)||LA246_0==NAMESPACE_SYM||LA246_0==PAGE_SYM||(LA246_0 >= PIPE && LA246_0 <= PLUS)||(LA246_0 >= RIGHTBOTTOM_SYM && LA246_0 <= RIGHTTOP_SYM)||(LA246_0 >= SASS_AT_ROOT && LA246_0 <= SASS_DEBUG)||(LA246_0 >= SASS_EACH && LA246_0 <= SASS_ELSE)||(LA246_0 >= SASS_ERROR && LA246_0 <= SASS_FUNCTION)||(LA246_0 >= SASS_IF && LA246_0 <= SASS_MIXIN)||(LA246_0 >= SASS_RETURN && LA246_0 <= SEMI)||LA246_0==STAR||LA246_0==SUPPORTS_SYM||LA246_0==TILDE||(LA246_0 >= TOPCENTER_SYM && LA246_0 <= TOPRIGHT_SYM)||LA246_0==VARIABLE||LA246_0==WEBKIT_KEYFRAMES_SYM) ) { + alt246=1; } - } finally {dbg.exitDecision(245);} + } finally {dbg.exitDecision(246);} - switch (alt245) { + switch (alt246) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:778:3: declarations { dbg.location(778,3); - pushFollow(FOLLOW_declarations_in_fontFace4568); + pushFollow(FOLLOW_declarations_in_fontFace4588); declarations(); state._fsp--; if (state.failed) return; @@ -15668,9 +15828,9 @@ public final void fontFace() throws RecognitionException { break; } - } finally {dbg.exitSubRule(245);} + } finally {dbg.exitSubRule(246);} dbg.location(779,9); - match(input,RBRACE,FOLLOW_RBRACE_in_fontFace4579); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_fontFace4599); if (state.failed) return; } } @@ -15710,29 +15870,29 @@ public final void margin() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:4: margin_sym ( ws )? LBRACE ( ws )? syncToDeclarationsRule ( declarations )? RBRACE { dbg.location(783,4); - pushFollow(FOLLOW_margin_sym_in_margin4593); + pushFollow(FOLLOW_margin_sym_in_margin4613); margin_sym(); state._fsp--; if (state.failed) return;dbg.location(783,15); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:15: ( ws )? - int alt246=2; - try { dbg.enterSubRule(246); - try { dbg.enterDecision(246, decisionCanBacktrack[246]); + int alt247=2; + try { dbg.enterSubRule(247); + try { dbg.enterDecision(247, decisionCanBacktrack[247]); - int LA246_0 = input.LA(1); - if ( (LA246_0==COMMENT||LA246_0==NL||LA246_0==WS) ) { - alt246=1; + int LA247_0 = input.LA(1); + if ( (LA247_0==COMMENT||LA247_0==NL||LA247_0==WS) ) { + alt247=1; } - } finally {dbg.exitDecision(246);} + } finally {dbg.exitDecision(247);} - switch (alt246) { + switch (alt247) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:15: ws { dbg.location(783,15); - pushFollow(FOLLOW_ws_in_margin4595); + pushFollow(FOLLOW_ws_in_margin4615); ws(); state._fsp--; if (state.failed) return; @@ -15740,28 +15900,28 @@ public final void margin() throws RecognitionException { break; } - } finally {dbg.exitSubRule(246);} + } finally {dbg.exitSubRule(247);} dbg.location(783,19); - match(input,LBRACE,FOLLOW_LBRACE_in_margin4598); if (state.failed) return;dbg.location(783,26); + match(input,LBRACE,FOLLOW_LBRACE_in_margin4618); if (state.failed) return;dbg.location(783,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:26: ( ws )? - int alt247=2; - try { dbg.enterSubRule(247); - try { dbg.enterDecision(247, decisionCanBacktrack[247]); + int alt248=2; + try { dbg.enterSubRule(248); + try { dbg.enterDecision(248, decisionCanBacktrack[248]); - int LA247_0 = input.LA(1); - if ( (LA247_0==COMMENT||LA247_0==NL||LA247_0==WS) ) { - alt247=1; + int LA248_0 = input.LA(1); + if ( (LA248_0==COMMENT||LA248_0==NL||LA248_0==WS) ) { + alt248=1; } - } finally {dbg.exitDecision(247);} + } finally {dbg.exitDecision(248);} - switch (alt247) { + switch (alt248) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:26: ws { dbg.location(783,26); - pushFollow(FOLLOW_ws_in_margin4600); + pushFollow(FOLLOW_ws_in_margin4620); ws(); state._fsp--; if (state.failed) return; @@ -15769,31 +15929,31 @@ public final void margin() throws RecognitionException { break; } - } finally {dbg.exitSubRule(247);} + } finally {dbg.exitSubRule(248);} dbg.location(783,30); - pushFollow(FOLLOW_syncToDeclarationsRule_in_margin4603); + pushFollow(FOLLOW_syncToDeclarationsRule_in_margin4623); syncToDeclarationsRule(); state._fsp--; if (state.failed) return;dbg.location(783,53); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:53: ( declarations )? - int alt248=2; - try { dbg.enterSubRule(248); - try { dbg.enterDecision(248, decisionCanBacktrack[248]); + int alt249=2; + try { dbg.enterSubRule(249); + try { dbg.enterDecision(249, decisionCanBacktrack[249]); - int LA248_0 = input.LA(1); - if ( ((LA248_0 >= AT_IDENT && LA248_0 <= AT_SIGN)||(LA248_0 >= BOTTOMCENTER_SYM && LA248_0 <= BOTTOMRIGHT_SYM)||(LA248_0 >= CHARSET_SYM && LA248_0 <= COLON)||LA248_0==CONTAINER_SYM||LA248_0==COUNTER_STYLE_SYM||(LA248_0 >= DCOLON && LA248_0 <= DOT)||LA248_0==FONT_FACE_SYM||(LA248_0 >= GEN && LA248_0 <= GREATER)||(LA248_0 >= HASH && LA248_0 <= HASH_SYMBOL)||LA248_0==IDENT||LA248_0==IMPORT_SYM||LA248_0==LAYER_SYM||(LA248_0 >= LBRACKET && LA248_0 <= LEFTTOP_SYM)||LA248_0==LESS_AND||(LA248_0 >= MEDIA_SYM && LA248_0 <= MOZ_DOCUMENT_SYM)||LA248_0==NAMESPACE_SYM||LA248_0==PAGE_SYM||(LA248_0 >= PIPE && LA248_0 <= PLUS)||(LA248_0 >= RIGHTBOTTOM_SYM && LA248_0 <= RIGHTTOP_SYM)||(LA248_0 >= SASS_AT_ROOT && LA248_0 <= SASS_DEBUG)||(LA248_0 >= SASS_EACH && LA248_0 <= SASS_ELSE)||(LA248_0 >= SASS_ERROR && LA248_0 <= SASS_FUNCTION)||(LA248_0 >= SASS_IF && LA248_0 <= SASS_MIXIN)||(LA248_0 >= SASS_RETURN && LA248_0 <= SEMI)||LA248_0==STAR||LA248_0==SUPPORTS_SYM||LA248_0==TILDE||(LA248_0 >= TOPCENTER_SYM && LA248_0 <= TOPRIGHT_SYM)||LA248_0==VARIABLE||LA248_0==WEBKIT_KEYFRAMES_SYM) ) { - alt248=1; + int LA249_0 = input.LA(1); + if ( ((LA249_0 >= AT_IDENT && LA249_0 <= AT_SIGN)||(LA249_0 >= BOTTOMCENTER_SYM && LA249_0 <= BOTTOMRIGHT_SYM)||(LA249_0 >= CHARSET_SYM && LA249_0 <= COLON)||LA249_0==CONTAINER_SYM||LA249_0==COUNTER_STYLE_SYM||(LA249_0 >= DCOLON && LA249_0 <= DOT)||LA249_0==FONT_FACE_SYM||(LA249_0 >= GEN && LA249_0 <= GREATER)||(LA249_0 >= HASH && LA249_0 <= HASH_SYMBOL)||LA249_0==IDENT||LA249_0==IMPORT_SYM||LA249_0==KEYFRAMES_SYM||LA249_0==LAYER_SYM||(LA249_0 >= LBRACKET && LA249_0 <= LEFTTOP_SYM)||LA249_0==LESS_AND||(LA249_0 >= MEDIA_SYM && LA249_0 <= MOZ_DOCUMENT_SYM)||LA249_0==NAMESPACE_SYM||LA249_0==PAGE_SYM||(LA249_0 >= PIPE && LA249_0 <= PLUS)||(LA249_0 >= RIGHTBOTTOM_SYM && LA249_0 <= RIGHTTOP_SYM)||(LA249_0 >= SASS_AT_ROOT && LA249_0 <= SASS_DEBUG)||(LA249_0 >= SASS_EACH && LA249_0 <= SASS_ELSE)||(LA249_0 >= SASS_ERROR && LA249_0 <= SASS_FUNCTION)||(LA249_0 >= SASS_IF && LA249_0 <= SASS_MIXIN)||(LA249_0 >= SASS_RETURN && LA249_0 <= SEMI)||LA249_0==STAR||LA249_0==SUPPORTS_SYM||LA249_0==TILDE||(LA249_0 >= TOPCENTER_SYM && LA249_0 <= TOPRIGHT_SYM)||LA249_0==VARIABLE||LA249_0==WEBKIT_KEYFRAMES_SYM) ) { + alt249=1; } - } finally {dbg.exitDecision(248);} + } finally {dbg.exitDecision(249);} - switch (alt248) { + switch (alt249) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:783:53: declarations { dbg.location(783,53); - pushFollow(FOLLOW_declarations_in_margin4605); + pushFollow(FOLLOW_declarations_in_margin4625); declarations(); state._fsp--; if (state.failed) return; @@ -15801,9 +15961,9 @@ public final void margin() throws RecognitionException { break; } - } finally {dbg.exitSubRule(248);} + } finally {dbg.exitSubRule(249);} dbg.location(783,67); - match(input,RBRACE,FOLLOW_RBRACE_in_margin4608); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_margin4628); if (state.failed) return; } } @@ -15893,8 +16053,8 @@ public final void pseudoPage() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:807:7: COLON IDENT { dbg.location(807,7); - match(input,COLON,FOLLOW_COLON_in_pseudoPage4817); if (state.failed) return;dbg.location(807,13); - match(input,IDENT,FOLLOW_IDENT_in_pseudoPage4819); if (state.failed) return; + match(input,COLON,FOLLOW_COLON_in_pseudoPage4837); if (state.failed) return;dbg.location(807,13); + match(input,IDENT,FOLLOW_IDENT_in_pseudoPage4839); if (state.failed) return; } } @@ -16029,8 +16189,8 @@ public final void property() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:821:5: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | VARIABLE | IDENT | GEN |{...}? cp_variable ) - int alt249=6; - try { dbg.enterDecision(249, decisionCanBacktrack[249]); + int alt250=6; + try { dbg.enterDecision(250, decisionCanBacktrack[250]); switch ( input.LA(1) ) { case IDENT: @@ -16038,17 +16198,17 @@ public final void property() throws RecognitionException { switch ( input.LA(2) ) { case DOT: { - alt249=6; + alt250=6; } break; case HASH_SYMBOL: { - alt249=1; + alt250=1; } break; case AT_SIGN: { - alt249=2; + alt250=2; } break; case COLON: @@ -16056,7 +16216,7 @@ public final void property() throws RecognitionException { case NL: case WS: { - alt249=4; + alt250=4; } break; default: @@ -16065,7 +16225,7 @@ public final void property() throws RecognitionException { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 249, 1, input); + new NoViableAltException("", 250, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -16076,27 +16236,27 @@ public final void property() throws RecognitionException { break; case HASH_SYMBOL: { - alt249=1; + alt250=1; } break; case AT_SIGN: { - alt249=2; + alt250=2; } break; case VARIABLE: { - alt249=3; + alt250=3; } break; case MINUS: { - int LA249_5 = input.LA(2); - if ( (LA249_5==HASH_SYMBOL) ) { - alt249=1; + int LA250_5 = input.LA(2); + if ( (LA250_5==HASH_SYMBOL) ) { + alt250=1; } - else if ( (LA249_5==AT_SIGN) ) { - alt249=2; + else if ( (LA250_5==AT_SIGN) ) { + alt250=2; } else { @@ -16105,7 +16265,7 @@ else if ( (LA249_5==AT_SIGN) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 249, 5, input); + new NoViableAltException("", 250, 5, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -16117,7 +16277,7 @@ else if ( (LA249_5==AT_SIGN) ) { break; case GEN: { - alt249=5; + alt250=5; } break; case AT_IDENT: @@ -16130,6 +16290,7 @@ else if ( (LA249_5==AT_SIGN) ) { case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -16164,19 +16325,19 @@ else if ( (LA249_5==AT_SIGN) ) { case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - alt249=6; + alt250=6; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 249, 0, input); + new NoViableAltException("", 250, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(249);} + } finally {dbg.exitDecision(250);} - switch (alt249) { + switch (alt250) { case 1 : dbg.enterAlt(1); @@ -16187,7 +16348,7 @@ else if ( (LA249_5==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "property", "isScssSource()"); }dbg.location(825,23); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_property4903); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_property4923); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -16203,7 +16364,7 @@ else if ( (LA249_5==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "property", "isLessSource()"); }dbg.location(826,25); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_property4913); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_property4933); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -16215,7 +16376,7 @@ else if ( (LA249_5==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:827:7: VARIABLE { dbg.location(827,7); - match(input,VARIABLE,FOLLOW_VARIABLE_in_property4921); if (state.failed) return; + match(input,VARIABLE,FOLLOW_VARIABLE_in_property4941); if (state.failed) return; } break; case 4 : @@ -16224,7 +16385,7 @@ else if ( (LA249_5==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:828:7: IDENT { dbg.location(828,7); - match(input,IDENT,FOLLOW_IDENT_in_property4929); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_property4949); if (state.failed) return; } break; case 5 : @@ -16233,7 +16394,7 @@ else if ( (LA249_5==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:829:7: GEN { dbg.location(829,7); - match(input,GEN,FOLLOW_GEN_in_property4937); if (state.failed) return; + match(input,GEN,FOLLOW_GEN_in_property4957); if (state.failed) return; } break; case 6 : @@ -16246,7 +16407,7 @@ else if ( (LA249_5==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "property", "isCssPreprocessorSource()"); }dbg.location(830,36); - pushFollow(FOLLOW_cp_variable_in_property4947); + pushFollow(FOLLOW_cp_variable_in_property4967); cp_variable(); state._fsp--; if (state.failed) return; @@ -16294,30 +16455,30 @@ public final void sass_map() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:5: sass_map_name COLON ( ws )? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* { dbg.location(839,5); - pushFollow(FOLLOW_sass_map_name_in_sass_map4974); + pushFollow(FOLLOW_sass_map_name_in_sass_map4994); sass_map_name(); state._fsp--; if (state.failed) return;dbg.location(839,19); - match(input,COLON,FOLLOW_COLON_in_sass_map4976); if (state.failed) return;dbg.location(839,25); + match(input,COLON,FOLLOW_COLON_in_sass_map4996); if (state.failed) return;dbg.location(839,25); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:25: ( ws )? - int alt250=2; - try { dbg.enterSubRule(250); - try { dbg.enterDecision(250, decisionCanBacktrack[250]); + int alt251=2; + try { dbg.enterSubRule(251); + try { dbg.enterDecision(251, decisionCanBacktrack[251]); - int LA250_0 = input.LA(1); - if ( (LA250_0==COMMENT||LA250_0==NL||LA250_0==WS) ) { - alt250=1; + int LA251_0 = input.LA(1); + if ( (LA251_0==COMMENT||LA251_0==NL||LA251_0==WS) ) { + alt251=1; } - } finally {dbg.exitDecision(250);} + } finally {dbg.exitDecision(251);} - switch (alt250) { + switch (alt251) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:25: ws { dbg.location(839,25); - pushFollow(FOLLOW_ws_in_sass_map4978); + pushFollow(FOLLOW_ws_in_sass_map4998); ws(); state._fsp--; if (state.failed) return; @@ -16325,28 +16486,28 @@ public final void sass_map() throws RecognitionException { break; } - } finally {dbg.exitSubRule(250);} + } finally {dbg.exitSubRule(251);} dbg.location(839,29); - match(input,LPAREN,FOLLOW_LPAREN_in_sass_map4981); if (state.failed) return;dbg.location(839,36); + match(input,LPAREN,FOLLOW_LPAREN_in_sass_map5001); if (state.failed) return;dbg.location(839,36); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:36: ( ws )? - int alt251=2; - try { dbg.enterSubRule(251); - try { dbg.enterDecision(251, decisionCanBacktrack[251]); + int alt252=2; + try { dbg.enterSubRule(252); + try { dbg.enterDecision(252, decisionCanBacktrack[252]); - int LA251_0 = input.LA(1); - if ( (LA251_0==COMMENT||LA251_0==NL||LA251_0==WS) ) { - alt251=1; + int LA252_0 = input.LA(1); + if ( (LA252_0==COMMENT||LA252_0==NL||LA252_0==WS) ) { + alt252=1; } - } finally {dbg.exitDecision(251);} + } finally {dbg.exitDecision(252);} - switch (alt251) { + switch (alt252) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:839:36: ws { dbg.location(839,36); - pushFollow(FOLLOW_ws_in_sass_map4983); + pushFollow(FOLLOW_ws_in_sass_map5003); ws(); state._fsp--; if (state.failed) return; @@ -16354,31 +16515,31 @@ public final void sass_map() throws RecognitionException { break; } - } finally {dbg.exitSubRule(251);} + } finally {dbg.exitSubRule(252);} dbg.location(839,40); - pushFollow(FOLLOW_syncToFollow_in_sass_map4986); + pushFollow(FOLLOW_syncToFollow_in_sass_map5006); syncToFollow(); state._fsp--; if (state.failed) return;dbg.location(841,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:841:9: ( sass_map_pairs )? - int alt252=2; - try { dbg.enterSubRule(252); - try { dbg.enterDecision(252, decisionCanBacktrack[252]); + int alt253=2; + try { dbg.enterSubRule(253); + try { dbg.enterDecision(253, decisionCanBacktrack[253]); - int LA252_0 = input.LA(1); - if ( ((LA252_0 >= AT_IDENT && LA252_0 <= AT_SIGN)||(LA252_0 >= BOTTOMCENTER_SYM && LA252_0 <= BOTTOMRIGHT_SYM)||LA252_0==CHARSET_SYM||LA252_0==COMMA||LA252_0==COUNTER_STYLE_SYM||LA252_0==FONT_FACE_SYM||LA252_0==GEN||LA252_0==HASH_SYMBOL||LA252_0==IDENT||LA252_0==IMPORT_SYM||(LA252_0 >= LEFTBOTTOM_SYM && LA252_0 <= LEFTTOP_SYM)||(LA252_0 >= MEDIA_SYM && LA252_0 <= MOZ_DOCUMENT_SYM)||LA252_0==NAMESPACE_SYM||LA252_0==NUMBER||LA252_0==PAGE_SYM||(LA252_0 >= RIGHTBOTTOM_SYM && LA252_0 <= RIGHTTOP_SYM)||(LA252_0 >= SASS_AT_ROOT && LA252_0 <= SASS_DEBUG)||(LA252_0 >= SASS_EACH && LA252_0 <= SASS_ELSE)||LA252_0==SASS_EXTEND||(LA252_0 >= SASS_FOR && LA252_0 <= SASS_FUNCTION)||(LA252_0 >= SASS_IF && LA252_0 <= SASS_MIXIN)||(LA252_0 >= SASS_RETURN && LA252_0 <= SASS_WHILE)||LA252_0==STRING||(LA252_0 >= TOPCENTER_SYM && LA252_0 <= TOPRIGHT_SYM)||LA252_0==VARIABLE||LA252_0==WEBKIT_KEYFRAMES_SYM) ) { - alt252=1; + int LA253_0 = input.LA(1); + if ( ((LA253_0 >= AT_IDENT && LA253_0 <= AT_SIGN)||(LA253_0 >= BOTTOMCENTER_SYM && LA253_0 <= BOTTOMRIGHT_SYM)||LA253_0==CHARSET_SYM||LA253_0==COMMA||LA253_0==COUNTER_STYLE_SYM||LA253_0==FONT_FACE_SYM||LA253_0==GEN||LA253_0==HASH_SYMBOL||LA253_0==IDENT||LA253_0==IMPORT_SYM||LA253_0==KEYFRAMES_SYM||(LA253_0 >= LEFTBOTTOM_SYM && LA253_0 <= LEFTTOP_SYM)||(LA253_0 >= MEDIA_SYM && LA253_0 <= MOZ_DOCUMENT_SYM)||LA253_0==NAMESPACE_SYM||LA253_0==NUMBER||LA253_0==PAGE_SYM||(LA253_0 >= RIGHTBOTTOM_SYM && LA253_0 <= RIGHTTOP_SYM)||(LA253_0 >= SASS_AT_ROOT && LA253_0 <= SASS_DEBUG)||(LA253_0 >= SASS_EACH && LA253_0 <= SASS_ELSE)||LA253_0==SASS_EXTEND||(LA253_0 >= SASS_FOR && LA253_0 <= SASS_FUNCTION)||(LA253_0 >= SASS_IF && LA253_0 <= SASS_MIXIN)||(LA253_0 >= SASS_RETURN && LA253_0 <= SASS_WHILE)||LA253_0==STRING||(LA253_0 >= TOPCENTER_SYM && LA253_0 <= TOPRIGHT_SYM)||LA253_0==VARIABLE||LA253_0==WEBKIT_KEYFRAMES_SYM) ) { + alt253=1; } - } finally {dbg.exitDecision(252);} + } finally {dbg.exitDecision(253);} - switch (alt252) { + switch (alt253) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:841:9: sass_map_pairs { dbg.location(841,9); - pushFollow(FOLLOW_sass_map_pairs_in_sass_map5005); + pushFollow(FOLLOW_sass_map_pairs_in_sass_map5025); sass_map_pairs(); state._fsp--; if (state.failed) return; @@ -16386,28 +16547,28 @@ public final void sass_map() throws RecognitionException { break; } - } finally {dbg.exitSubRule(252);} + } finally {dbg.exitSubRule(253);} dbg.location(842,5); - match(input,RPAREN,FOLLOW_RPAREN_in_sass_map5012); if (state.failed) return;dbg.location(842,12); + match(input,RPAREN,FOLLOW_RPAREN_in_sass_map5032); if (state.failed) return;dbg.location(842,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:12: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* - try { dbg.enterSubRule(255); + try { dbg.enterSubRule(256); - loop255: + loop256: while (true) { - int alt255=3; - try { dbg.enterDecision(255, decisionCanBacktrack[255]); + int alt256=3; + try { dbg.enterDecision(256, decisionCanBacktrack[256]); try { isCyclicDecision = true; - alt255 = dfa255.predict(input); + alt256 = dfa256.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(255);} + } finally {dbg.exitDecision(256);} - switch (alt255) { + switch (alt256) { case 1 : dbg.enterAlt(1); @@ -16421,24 +16582,24 @@ public final void sass_map() throws RecognitionException { { dbg.location(842,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:14: ( ws )? - int alt253=2; - try { dbg.enterSubRule(253); - try { dbg.enterDecision(253, decisionCanBacktrack[253]); + int alt254=2; + try { dbg.enterSubRule(254); + try { dbg.enterDecision(254, decisionCanBacktrack[254]); - int LA253_0 = input.LA(1); - if ( (LA253_0==COMMENT||LA253_0==NL||LA253_0==WS) ) { - alt253=1; + int LA254_0 = input.LA(1); + if ( (LA254_0==COMMENT||LA254_0==NL||LA254_0==WS) ) { + alt254=1; } - } finally {dbg.exitDecision(253);} + } finally {dbg.exitDecision(254);} - switch (alt253) { + switch (alt254) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:14: ws { dbg.location(842,14); - pushFollow(FOLLOW_ws_in_sass_map5016); + pushFollow(FOLLOW_ws_in_sass_map5036); ws(); state._fsp--; if (state.failed) return; @@ -16446,9 +16607,9 @@ public final void sass_map() throws RecognitionException { break; } - } finally {dbg.exitSubRule(253);} + } finally {dbg.exitSubRule(254);} dbg.location(842,18); - match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_sass_map5019); if (state.failed) return; + match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_sass_map5039); if (state.failed) return; } } @@ -16466,24 +16627,24 @@ public final void sass_map() throws RecognitionException { { dbg.location(842,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:35: ( ws )? - int alt254=2; - try { dbg.enterSubRule(254); - try { dbg.enterDecision(254, decisionCanBacktrack[254]); + int alt255=2; + try { dbg.enterSubRule(255); + try { dbg.enterDecision(255, decisionCanBacktrack[255]); - int LA254_0 = input.LA(1); - if ( (LA254_0==COMMENT||LA254_0==NL||LA254_0==WS) ) { - alt254=1; + int LA255_0 = input.LA(1); + if ( (LA255_0==COMMENT||LA255_0==NL||LA255_0==WS) ) { + alt255=1; } - } finally {dbg.exitDecision(254);} + } finally {dbg.exitDecision(255);} - switch (alt254) { + switch (alt255) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:842:35: ws { dbg.location(842,35); - pushFollow(FOLLOW_ws_in_sass_map5025); + pushFollow(FOLLOW_ws_in_sass_map5045); ws(); state._fsp--; if (state.failed) return; @@ -16491,19 +16652,19 @@ public final void sass_map() throws RecognitionException { break; } - } finally {dbg.exitSubRule(254);} + } finally {dbg.exitSubRule(255);} dbg.location(842,39); - match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_sass_map5028); if (state.failed) return; + match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_sass_map5048); if (state.failed) return; } } break; default : - break loop255; + break loop256; } } - } finally {dbg.exitSubRule(255);} + } finally {dbg.exitSubRule(256);} } @@ -16544,7 +16705,7 @@ public final void sass_map_name() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:847:5: cp_variable { dbg.location(847,5); - pushFollow(FOLLOW_cp_variable_in_sass_map_name5052); + pushFollow(FOLLOW_cp_variable_in_sass_map_name5072); cp_variable(); state._fsp--; if (state.failed) return; @@ -16588,25 +16749,25 @@ public final void sass_map_pairs() throws RecognitionException { { dbg.location(852,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:852:5: ( ( sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? ) | ( COMMA ( ws )? ) )+ - int cnt260=0; - try { dbg.enterSubRule(260); + int cnt261=0; + try { dbg.enterSubRule(261); - loop260: + loop261: while (true) { - int alt260=3; - try { dbg.enterDecision(260, decisionCanBacktrack[260]); + int alt261=3; + try { dbg.enterDecision(261, decisionCanBacktrack[261]); - int LA260_0 = input.LA(1); - if ( ((LA260_0 >= AT_IDENT && LA260_0 <= AT_SIGN)||(LA260_0 >= BOTTOMCENTER_SYM && LA260_0 <= BOTTOMRIGHT_SYM)||LA260_0==CHARSET_SYM||LA260_0==COUNTER_STYLE_SYM||LA260_0==FONT_FACE_SYM||LA260_0==GEN||LA260_0==HASH_SYMBOL||LA260_0==IDENT||LA260_0==IMPORT_SYM||(LA260_0 >= LEFTBOTTOM_SYM && LA260_0 <= LEFTTOP_SYM)||(LA260_0 >= MEDIA_SYM && LA260_0 <= MOZ_DOCUMENT_SYM)||LA260_0==NAMESPACE_SYM||LA260_0==NUMBER||LA260_0==PAGE_SYM||(LA260_0 >= RIGHTBOTTOM_SYM && LA260_0 <= RIGHTTOP_SYM)||(LA260_0 >= SASS_AT_ROOT && LA260_0 <= SASS_DEBUG)||(LA260_0 >= SASS_EACH && LA260_0 <= SASS_ELSE)||LA260_0==SASS_EXTEND||(LA260_0 >= SASS_FOR && LA260_0 <= SASS_FUNCTION)||(LA260_0 >= SASS_IF && LA260_0 <= SASS_MIXIN)||(LA260_0 >= SASS_RETURN && LA260_0 <= SASS_WHILE)||LA260_0==STRING||(LA260_0 >= TOPCENTER_SYM && LA260_0 <= TOPRIGHT_SYM)||LA260_0==VARIABLE||LA260_0==WEBKIT_KEYFRAMES_SYM) ) { - alt260=1; + int LA261_0 = input.LA(1); + if ( ((LA261_0 >= AT_IDENT && LA261_0 <= AT_SIGN)||(LA261_0 >= BOTTOMCENTER_SYM && LA261_0 <= BOTTOMRIGHT_SYM)||LA261_0==CHARSET_SYM||LA261_0==COUNTER_STYLE_SYM||LA261_0==FONT_FACE_SYM||LA261_0==GEN||LA261_0==HASH_SYMBOL||LA261_0==IDENT||LA261_0==IMPORT_SYM||LA261_0==KEYFRAMES_SYM||(LA261_0 >= LEFTBOTTOM_SYM && LA261_0 <= LEFTTOP_SYM)||(LA261_0 >= MEDIA_SYM && LA261_0 <= MOZ_DOCUMENT_SYM)||LA261_0==NAMESPACE_SYM||LA261_0==NUMBER||LA261_0==PAGE_SYM||(LA261_0 >= RIGHTBOTTOM_SYM && LA261_0 <= RIGHTTOP_SYM)||(LA261_0 >= SASS_AT_ROOT && LA261_0 <= SASS_DEBUG)||(LA261_0 >= SASS_EACH && LA261_0 <= SASS_ELSE)||LA261_0==SASS_EXTEND||(LA261_0 >= SASS_FOR && LA261_0 <= SASS_FUNCTION)||(LA261_0 >= SASS_IF && LA261_0 <= SASS_MIXIN)||(LA261_0 >= SASS_RETURN && LA261_0 <= SASS_WHILE)||LA261_0==STRING||(LA261_0 >= TOPCENTER_SYM && LA261_0 <= TOPRIGHT_SYM)||LA261_0==VARIABLE||LA261_0==WEBKIT_KEYFRAMES_SYM) ) { + alt261=1; } - else if ( (LA260_0==COMMA) ) { - alt260=2; + else if ( (LA261_0==COMMA) ) { + alt261=2; } - } finally {dbg.exitDecision(260);} + } finally {dbg.exitDecision(261);} - switch (alt260) { + switch (alt261) { case 1 : dbg.enterAlt(1); @@ -16619,26 +16780,26 @@ else if ( (LA260_0==COMMA) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:12: sass_map_pair ( ( ( ws )? COMMA )=> ( ws )? COMMA )? ( ws )? { dbg.location(853,12); - pushFollow(FOLLOW_sass_map_pair_in_sass_map_pairs5086); + pushFollow(FOLLOW_sass_map_pair_in_sass_map_pairs5106); sass_map_pair(); state._fsp--; if (state.failed) return;dbg.location(853,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:26: ( ( ( ws )? COMMA )=> ( ws )? COMMA )? - int alt257=2; - try { dbg.enterSubRule(257); - try { dbg.enterDecision(257, decisionCanBacktrack[257]); + int alt258=2; + try { dbg.enterSubRule(258); + try { dbg.enterDecision(258, decisionCanBacktrack[258]); try { isCyclicDecision = true; - alt257 = dfa257.predict(input); + alt258 = dfa258.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(257);} + } finally {dbg.exitDecision(258);} - switch (alt257) { + switch (alt258) { case 1 : dbg.enterAlt(1); @@ -16646,24 +16807,24 @@ else if ( (LA260_0==COMMA) ) { { dbg.location(853,40); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:40: ( ws )? - int alt256=2; - try { dbg.enterSubRule(256); - try { dbg.enterDecision(256, decisionCanBacktrack[256]); + int alt257=2; + try { dbg.enterSubRule(257); + try { dbg.enterDecision(257, decisionCanBacktrack[257]); - int LA256_0 = input.LA(1); - if ( (LA256_0==COMMENT||LA256_0==NL||LA256_0==WS) ) { - alt256=1; + int LA257_0 = input.LA(1); + if ( (LA257_0==COMMENT||LA257_0==NL||LA257_0==WS) ) { + alt257=1; } - } finally {dbg.exitDecision(256);} + } finally {dbg.exitDecision(257);} - switch (alt256) { + switch (alt257) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:40: ws { dbg.location(853,40); - pushFollow(FOLLOW_ws_in_sass_map_pairs5096); + pushFollow(FOLLOW_ws_in_sass_map_pairs5116); ws(); state._fsp--; if (state.failed) return; @@ -16671,34 +16832,34 @@ else if ( (LA260_0==COMMA) ) { break; } - } finally {dbg.exitSubRule(256);} + } finally {dbg.exitSubRule(257);} dbg.location(853,44); - match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs5099); if (state.failed) return; + match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs5119); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(257);} + } finally {dbg.exitSubRule(258);} dbg.location(853,52); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:52: ( ws )? - int alt258=2; - try { dbg.enterSubRule(258); - try { dbg.enterDecision(258, decisionCanBacktrack[258]); + int alt259=2; + try { dbg.enterSubRule(259); + try { dbg.enterDecision(259, decisionCanBacktrack[259]); - int LA258_0 = input.LA(1); - if ( (LA258_0==COMMENT||LA258_0==NL||LA258_0==WS) ) { - alt258=1; + int LA259_0 = input.LA(1); + if ( (LA259_0==COMMENT||LA259_0==NL||LA259_0==WS) ) { + alt259=1; } - } finally {dbg.exitDecision(258);} + } finally {dbg.exitDecision(259);} - switch (alt258) { + switch (alt259) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:52: ws { dbg.location(853,52); - pushFollow(FOLLOW_ws_in_sass_map_pairs5103); + pushFollow(FOLLOW_ws_in_sass_map_pairs5123); ws(); state._fsp--; if (state.failed) return; @@ -16706,7 +16867,7 @@ else if ( (LA260_0==COMMA) ) { break; } - } finally {dbg.exitSubRule(258);} + } finally {dbg.exitSubRule(259);} } @@ -16724,26 +16885,26 @@ else if ( (LA260_0==COMMA) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:12: COMMA ( ws )? { dbg.location(855,12); - match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs5130); if (state.failed) return;dbg.location(855,18); + match(input,COMMA,FOLLOW_COMMA_in_sass_map_pairs5150); if (state.failed) return;dbg.location(855,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:18: ( ws )? - int alt259=2; - try { dbg.enterSubRule(259); - try { dbg.enterDecision(259, decisionCanBacktrack[259]); + int alt260=2; + try { dbg.enterSubRule(260); + try { dbg.enterDecision(260, decisionCanBacktrack[260]); - int LA259_0 = input.LA(1); - if ( (LA259_0==COMMENT||LA259_0==NL||LA259_0==WS) ) { - alt259=1; + int LA260_0 = input.LA(1); + if ( (LA260_0==COMMENT||LA260_0==NL||LA260_0==WS) ) { + alt260=1; } - } finally {dbg.exitDecision(259);} + } finally {dbg.exitDecision(260);} - switch (alt259) { + switch (alt260) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:855:18: ws { dbg.location(855,18); - pushFollow(FOLLOW_ws_in_sass_map_pairs5132); + pushFollow(FOLLOW_ws_in_sass_map_pairs5152); ws(); state._fsp--; if (state.failed) return; @@ -16751,7 +16912,7 @@ else if ( (LA260_0==COMMA) ) { break; } - } finally {dbg.exitSubRule(259);} + } finally {dbg.exitSubRule(260);} } @@ -16759,16 +16920,16 @@ else if ( (LA260_0==COMMA) ) { break; default : - if ( cnt260 >= 1 ) break loop260; + if ( cnt261 >= 1 ) break loop261; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(260, input); + EarlyExitException eee = new EarlyExitException(261, input); dbg.recognitionException(eee); throw eee; } - cnt260++; + cnt261++; } - } finally {dbg.exitSubRule(260);} + } finally {dbg.exitSubRule(261);} } @@ -16810,32 +16971,32 @@ public final void sass_map_pair() throws RecognitionException { { dbg.location(861,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:9: ( NUMBER | ( STRING ( ( ws )? STRING )* ) | ( ( function )=> function ) | property | sass_map ) - int alt263=5; - try { dbg.enterSubRule(263); - try { dbg.enterDecision(263, decisionCanBacktrack[263]); + int alt264=5; + try { dbg.enterSubRule(264); + try { dbg.enterDecision(264, decisionCanBacktrack[264]); switch ( input.LA(1) ) { case NUMBER: { - alt263=1; + alt264=1; } break; case STRING: { - alt263=2; + alt264=2; } break; case IDENT: { - int LA263_3 = input.LA(2); + int LA264_3 = input.LA(2); if ( (synpred39_Css3()) ) { - alt263=3; + alt264=3; } else if ( (true) ) { - alt263=4; + alt264=4; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt263=5; + alt264=5; } else { @@ -16844,7 +17005,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 263, 3, input); + new NoViableAltException("", 264, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -16860,7 +17021,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case MINUS: case VARIABLE: { - alt263=4; + alt264=4; } break; case AT_IDENT: @@ -16873,6 +17034,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -16906,12 +17068,12 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - int LA263_9 = input.LA(2); + int LA264_9 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt263=4; + alt264=4; } else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt263=5; + alt264=5; } else { @@ -16920,7 +17082,7 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 263, 9, input); + new NoViableAltException("", 264, 9, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -16932,12 +17094,12 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { break; case SASS_VAR: { - int LA263_10 = input.LA(2); + int LA264_10 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt263=4; + alt264=4; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt263=5; + alt264=5; } else { @@ -16946,7 +17108,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 263, 10, input); + new NoViableAltException("", 264, 10, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -16959,20 +17121,20 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 263, 0, input); + new NoViableAltException("", 264, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(263);} + } finally {dbg.exitDecision(264);} - switch (alt263) { + switch (alt264) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:10: NUMBER { dbg.location(861,10); - match(input,NUMBER,FOLLOW_NUMBER_in_sass_map_pair5168); if (state.failed) return; + match(input,NUMBER,FOLLOW_NUMBER_in_sass_map_pair5188); if (state.failed) return; } break; case 2 : @@ -16987,26 +17149,26 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:18: STRING ( ( ws )? STRING )* { dbg.location(861,18); - match(input,STRING,FOLLOW_STRING_in_sass_map_pair5171); if (state.failed) return;dbg.location(861,25); + match(input,STRING,FOLLOW_STRING_in_sass_map_pair5191); if (state.failed) return;dbg.location(861,25); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:25: ( ( ws )? STRING )* - try { dbg.enterSubRule(262); + try { dbg.enterSubRule(263); - loop262: + loop263: while (true) { - int alt262=2; - try { dbg.enterDecision(262, decisionCanBacktrack[262]); + int alt263=2; + try { dbg.enterDecision(263, decisionCanBacktrack[263]); try { isCyclicDecision = true; - alt262 = dfa262.predict(input); + alt263 = dfa263.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(262);} + } finally {dbg.exitDecision(263);} - switch (alt262) { + switch (alt263) { case 1 : dbg.enterAlt(1); @@ -17014,24 +17176,24 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { { dbg.location(861,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:26: ( ws )? - int alt261=2; - try { dbg.enterSubRule(261); - try { dbg.enterDecision(261, decisionCanBacktrack[261]); + int alt262=2; + try { dbg.enterSubRule(262); + try { dbg.enterDecision(262, decisionCanBacktrack[262]); - int LA261_0 = input.LA(1); - if ( (LA261_0==COMMENT||LA261_0==NL||LA261_0==WS) ) { - alt261=1; + int LA262_0 = input.LA(1); + if ( (LA262_0==COMMENT||LA262_0==NL||LA262_0==WS) ) { + alt262=1; } - } finally {dbg.exitDecision(261);} + } finally {dbg.exitDecision(262);} - switch (alt261) { + switch (alt262) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:26: ws { dbg.location(861,26); - pushFollow(FOLLOW_ws_in_sass_map_pair5174); + pushFollow(FOLLOW_ws_in_sass_map_pair5194); ws(); state._fsp--; if (state.failed) return; @@ -17039,17 +17201,17 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(261);} + } finally {dbg.exitSubRule(262);} dbg.location(861,30); - match(input,STRING,FOLLOW_STRING_in_sass_map_pair5177); if (state.failed) return; + match(input,STRING,FOLLOW_STRING_in_sass_map_pair5197); if (state.failed) return; } break; default : - break loop262; + break loop263; } } - } finally {dbg.exitSubRule(262);} + } finally {dbg.exitSubRule(263);} } @@ -17067,7 +17229,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:41: ( function )=> function { dbg.location(861,53); - pushFollow(FOLLOW_function_in_sass_map_pair5187); + pushFollow(FOLLOW_function_in_sass_map_pair5207); function(); state._fsp--; if (state.failed) return; @@ -17081,7 +17243,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:63: property { dbg.location(861,63); - pushFollow(FOLLOW_property_in_sass_map_pair5190); + pushFollow(FOLLOW_property_in_sass_map_pair5210); property(); state._fsp--; if (state.failed) return; @@ -17093,7 +17255,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:72: sass_map { dbg.location(861,72); - pushFollow(FOLLOW_sass_map_in_sass_map_pair5192); + pushFollow(FOLLOW_sass_map_in_sass_map_pair5212); sass_map(); state._fsp--; if (state.failed) return; @@ -17101,27 +17263,27 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(263);} + } finally {dbg.exitSubRule(264);} dbg.location(861,82); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:82: ( ws )? - int alt264=2; - try { dbg.enterSubRule(264); - try { dbg.enterDecision(264, decisionCanBacktrack[264]); + int alt265=2; + try { dbg.enterSubRule(265); + try { dbg.enterDecision(265, decisionCanBacktrack[265]); - int LA264_0 = input.LA(1); - if ( (LA264_0==COMMENT||LA264_0==NL||LA264_0==WS) ) { - alt264=1; + int LA265_0 = input.LA(1); + if ( (LA265_0==COMMENT||LA265_0==NL||LA265_0==WS) ) { + alt265=1; } - } finally {dbg.exitDecision(264);} + } finally {dbg.exitDecision(265);} - switch (alt264) { + switch (alt265) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:82: ws { dbg.location(861,82); - pushFollow(FOLLOW_ws_in_sass_map_pair5195); + pushFollow(FOLLOW_ws_in_sass_map_pair5215); ws(); state._fsp--; if (state.failed) return; @@ -17129,28 +17291,28 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(264);} + } finally {dbg.exitSubRule(265);} dbg.location(861,86); - match(input,COLON,FOLLOW_COLON_in_sass_map_pair5198); if (state.failed) return;dbg.location(861,92); + match(input,COLON,FOLLOW_COLON_in_sass_map_pair5218); if (state.failed) return;dbg.location(861,92); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:92: ( ws )? - int alt265=2; - try { dbg.enterSubRule(265); - try { dbg.enterDecision(265, decisionCanBacktrack[265]); + int alt266=2; + try { dbg.enterSubRule(266); + try { dbg.enterDecision(266, decisionCanBacktrack[266]); - int LA265_0 = input.LA(1); - if ( (LA265_0==COMMENT||LA265_0==NL||LA265_0==WS) ) { - alt265=1; + int LA266_0 = input.LA(1); + if ( (LA266_0==COMMENT||LA266_0==NL||LA266_0==WS) ) { + alt266=1; } - } finally {dbg.exitDecision(265);} + } finally {dbg.exitDecision(266);} - switch (alt265) { + switch (alt266) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:92: ws { dbg.location(861,92); - pushFollow(FOLLOW_ws_in_sass_map_pair5200); + pushFollow(FOLLOW_ws_in_sass_map_pair5220); ws(); state._fsp--; if (state.failed) return; @@ -17158,28 +17320,28 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(265);} + } finally {dbg.exitSubRule(266);} dbg.location(861,96); - pushFollow(FOLLOW_cp_expression_in_sass_map_pair5203); + pushFollow(FOLLOW_cp_expression_in_sass_map_pair5223); cp_expression(); state._fsp--; if (state.failed) return;dbg.location(861,110); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:110: ( ( ws )? prio )? - int alt267=2; - try { dbg.enterSubRule(267); - try { dbg.enterDecision(267, decisionCanBacktrack[267]); + int alt268=2; + try { dbg.enterSubRule(268); + try { dbg.enterDecision(268, decisionCanBacktrack[268]); try { isCyclicDecision = true; - alt267 = dfa267.predict(input); + alt268 = dfa268.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(267);} + } finally {dbg.exitDecision(268);} - switch (alt267) { + switch (alt268) { case 1 : dbg.enterAlt(1); @@ -17187,24 +17349,24 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { { dbg.location(861,111); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:111: ( ws )? - int alt266=2; - try { dbg.enterSubRule(266); - try { dbg.enterDecision(266, decisionCanBacktrack[266]); + int alt267=2; + try { dbg.enterSubRule(267); + try { dbg.enterDecision(267, decisionCanBacktrack[267]); - int LA266_0 = input.LA(1); - if ( (LA266_0==COMMENT||LA266_0==NL||LA266_0==WS) ) { - alt266=1; + int LA267_0 = input.LA(1); + if ( (LA267_0==COMMENT||LA267_0==NL||LA267_0==WS) ) { + alt267=1; } - } finally {dbg.exitDecision(266);} + } finally {dbg.exitDecision(267);} - switch (alt266) { + switch (alt267) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:111: ws { dbg.location(861,111); - pushFollow(FOLLOW_ws_in_sass_map_pair5206); + pushFollow(FOLLOW_ws_in_sass_map_pair5226); ws(); state._fsp--; if (state.failed) return; @@ -17212,9 +17374,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(266);} + } finally {dbg.exitSubRule(267);} dbg.location(861,115); - pushFollow(FOLLOW_prio_in_sass_map_pair5209); + pushFollow(FOLLOW_prio_in_sass_map_pair5229); prio(); state._fsp--; if (state.failed) return; @@ -17222,7 +17384,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(267);} + } finally {dbg.exitSubRule(268);} } @@ -17264,21 +17426,21 @@ public final void rule() throws RecognitionException { { dbg.location(866,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:866:9: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) - int alt273=3; - try { dbg.enterSubRule(273); - try { dbg.enterDecision(273, decisionCanBacktrack[273]); + int alt274=3; + try { dbg.enterSubRule(274); + try { dbg.enterDecision(274, decisionCanBacktrack[274]); try { isCyclicDecision = true; - alt273 = dfa273.predict(input); + alt274 = dfa274.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(273);} + } finally {dbg.exitDecision(274);} - switch (alt273) { + switch (alt274) { case 1 : dbg.enterAlt(1); @@ -17291,34 +17453,34 @@ public final void rule() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:14: SASS_AT_ROOT ( ws selectorsGroup )? { dbg.location(867,14); - match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule5251); if (state.failed) return;dbg.location(867,27); + match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule5271); if (state.failed) return;dbg.location(867,27); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:27: ( ws selectorsGroup )? - int alt268=2; - try { dbg.enterSubRule(268); - try { dbg.enterDecision(268, decisionCanBacktrack[268]); + int alt269=2; + try { dbg.enterSubRule(269); + try { dbg.enterDecision(269, decisionCanBacktrack[269]); try { isCyclicDecision = true; - alt268 = dfa268.predict(input); + alt269 = dfa269.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(268);} + } finally {dbg.exitDecision(269);} - switch (alt268) { + switch (alt269) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:867:28: ws selectorsGroup { dbg.location(867,28); - pushFollow(FOLLOW_ws_in_rule5254); + pushFollow(FOLLOW_ws_in_rule5274); ws(); state._fsp--; if (state.failed) return;dbg.location(867,31); - pushFollow(FOLLOW_selectorsGroup_in_rule5256); + pushFollow(FOLLOW_selectorsGroup_in_rule5276); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -17326,7 +17488,7 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(268);} + } finally {dbg.exitSubRule(269);} } @@ -17344,31 +17506,31 @@ public final void rule() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:16: SASS_AT_ROOT ws LPAREN ( ws )? {...}? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN { dbg.location(868,16); - match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule5277); if (state.failed) return;dbg.location(868,29); - pushFollow(FOLLOW_ws_in_rule5279); + match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_rule5297); if (state.failed) return;dbg.location(868,29); + pushFollow(FOLLOW_ws_in_rule5299); ws(); state._fsp--; if (state.failed) return;dbg.location(868,32); - match(input,LPAREN,FOLLOW_LPAREN_in_rule5281); if (state.failed) return;dbg.location(868,39); + match(input,LPAREN,FOLLOW_LPAREN_in_rule5301); if (state.failed) return;dbg.location(868,39); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:39: ( ws )? - int alt269=2; - try { dbg.enterSubRule(269); - try { dbg.enterDecision(269, decisionCanBacktrack[269]); + int alt270=2; + try { dbg.enterSubRule(270); + try { dbg.enterDecision(270, decisionCanBacktrack[270]); - int LA269_0 = input.LA(1); - if ( (LA269_0==COMMENT||LA269_0==NL||LA269_0==WS) ) { - alt269=1; + int LA270_0 = input.LA(1); + if ( (LA270_0==COMMENT||LA270_0==NL||LA270_0==WS) ) { + alt270=1; } - } finally {dbg.exitDecision(269);} + } finally {dbg.exitDecision(270);} - switch (alt269) { + switch (alt270) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:39: ws { dbg.location(868,39); - pushFollow(FOLLOW_ws_in_rule5283); + pushFollow(FOLLOW_ws_in_rule5303); ws(); state._fsp--; if (state.failed) return; @@ -17376,32 +17538,32 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(269);} + } finally {dbg.exitSubRule(270);} dbg.location(868,43); if ( !(evalPredicate(tokenNameEquals("without") || tokenNameEquals("with"),"tokenNameEquals(\"without\") || tokenNameEquals(\"with\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "rule", "tokenNameEquals(\"without\") || tokenNameEquals(\"with\")"); }dbg.location(868,100); - match(input,IDENT,FOLLOW_IDENT_in_rule5288); if (state.failed) return;dbg.location(868,128); + match(input,IDENT,FOLLOW_IDENT_in_rule5308); if (state.failed) return;dbg.location(868,128); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:128: ( ws )? - int alt270=2; - try { dbg.enterSubRule(270); - try { dbg.enterDecision(270, decisionCanBacktrack[270]); + int alt271=2; + try { dbg.enterSubRule(271); + try { dbg.enterDecision(271, decisionCanBacktrack[271]); - int LA270_0 = input.LA(1); - if ( (LA270_0==COMMENT||LA270_0==NL||LA270_0==WS) ) { - alt270=1; + int LA271_0 = input.LA(1); + if ( (LA271_0==COMMENT||LA271_0==NL||LA271_0==WS) ) { + alt271=1; } - } finally {dbg.exitDecision(270);} + } finally {dbg.exitDecision(271);} - switch (alt270) { + switch (alt271) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:128: ws { dbg.location(868,128); - pushFollow(FOLLOW_ws_in_rule5292); + pushFollow(FOLLOW_ws_in_rule5312); ws(); state._fsp--; if (state.failed) return; @@ -17409,28 +17571,28 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(270);} + } finally {dbg.exitSubRule(271);} dbg.location(868,132); - match(input,COLON,FOLLOW_COLON_in_rule5295); if (state.failed) return;dbg.location(868,138); + match(input,COLON,FOLLOW_COLON_in_rule5315); if (state.failed) return;dbg.location(868,138); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:138: ( ws )? - int alt271=2; - try { dbg.enterSubRule(271); - try { dbg.enterDecision(271, decisionCanBacktrack[271]); + int alt272=2; + try { dbg.enterSubRule(272); + try { dbg.enterDecision(272, decisionCanBacktrack[272]); - int LA271_0 = input.LA(1); - if ( (LA271_0==COMMENT||LA271_0==NL||LA271_0==WS) ) { - alt271=1; + int LA272_0 = input.LA(1); + if ( (LA272_0==COMMENT||LA272_0==NL||LA272_0==WS) ) { + alt272=1; } - } finally {dbg.exitDecision(271);} + } finally {dbg.exitDecision(272);} - switch (alt271) { + switch (alt272) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:138: ws { dbg.location(868,138); - pushFollow(FOLLOW_ws_in_rule5297); + pushFollow(FOLLOW_ws_in_rule5317); ws(); state._fsp--; if (state.failed) return; @@ -17438,28 +17600,28 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(271);} + } finally {dbg.exitSubRule(272);} dbg.location(868,142); - match(input,IDENT,FOLLOW_IDENT_in_rule5300); if (state.failed) return;dbg.location(868,148); + match(input,IDENT,FOLLOW_IDENT_in_rule5320); if (state.failed) return;dbg.location(868,148); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:148: ( ws )? - int alt272=2; - try { dbg.enterSubRule(272); - try { dbg.enterDecision(272, decisionCanBacktrack[272]); + int alt273=2; + try { dbg.enterSubRule(273); + try { dbg.enterDecision(273, decisionCanBacktrack[273]); - int LA272_0 = input.LA(1); - if ( (LA272_0==COMMENT||LA272_0==NL||LA272_0==WS) ) { - alt272=1; + int LA273_0 = input.LA(1); + if ( (LA273_0==COMMENT||LA273_0==NL||LA273_0==WS) ) { + alt273=1; } - } finally {dbg.exitDecision(272);} + } finally {dbg.exitDecision(273);} - switch (alt272) { + switch (alt273) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:868:148: ws { dbg.location(868,148); - pushFollow(FOLLOW_ws_in_rule5302); + pushFollow(FOLLOW_ws_in_rule5322); ws(); state._fsp--; if (state.failed) return; @@ -17467,9 +17629,9 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(272);} + } finally {dbg.exitSubRule(273);} dbg.location(868,152); - match(input,RPAREN,FOLLOW_RPAREN_in_rule5305); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_rule5325); if (state.failed) return; } } @@ -17480,7 +17642,7 @@ public final void rule() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:869:15: selectorsGroup { dbg.location(869,15); - pushFollow(FOLLOW_selectorsGroup_in_rule5323); + pushFollow(FOLLOW_selectorsGroup_in_rule5343); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -17488,27 +17650,27 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(273);} + } finally {dbg.exitSubRule(274);} dbg.location(870,11); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:11: ( ws )? - int alt274=2; - try { dbg.enterSubRule(274); - try { dbg.enterDecision(274, decisionCanBacktrack[274]); + int alt275=2; + try { dbg.enterSubRule(275); + try { dbg.enterDecision(275, decisionCanBacktrack[275]); - int LA274_0 = input.LA(1); - if ( (LA274_0==COMMENT||LA274_0==NL||LA274_0==WS) ) { - alt274=1; + int LA275_0 = input.LA(1); + if ( (LA275_0==COMMENT||LA275_0==NL||LA275_0==WS) ) { + alt275=1; } - } finally {dbg.exitDecision(274);} + } finally {dbg.exitDecision(275);} - switch (alt274) { + switch (alt275) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:870:11: ws { dbg.location(870,11); - pushFollow(FOLLOW_ws_in_rule5335); + pushFollow(FOLLOW_ws_in_rule5355); ws(); state._fsp--; if (state.failed) return; @@ -17516,28 +17678,28 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(274);} + } finally {dbg.exitSubRule(275);} dbg.location(871,5); - match(input,LBRACE,FOLLOW_LBRACE_in_rule5342); if (state.failed) return;dbg.location(871,12); + match(input,LBRACE,FOLLOW_LBRACE_in_rule5362); if (state.failed) return;dbg.location(871,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:12: ( ws )? - int alt275=2; - try { dbg.enterSubRule(275); - try { dbg.enterDecision(275, decisionCanBacktrack[275]); + int alt276=2; + try { dbg.enterSubRule(276); + try { dbg.enterDecision(276, decisionCanBacktrack[276]); - int LA275_0 = input.LA(1); - if ( (LA275_0==COMMENT||LA275_0==NL||LA275_0==WS) ) { - alt275=1; + int LA276_0 = input.LA(1); + if ( (LA276_0==COMMENT||LA276_0==NL||LA276_0==WS) ) { + alt276=1; } - } finally {dbg.exitDecision(275);} + } finally {dbg.exitDecision(276);} - switch (alt275) { + switch (alt276) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:871:12: ws { dbg.location(871,12); - pushFollow(FOLLOW_ws_in_rule5344); + pushFollow(FOLLOW_ws_in_rule5364); ws(); state._fsp--; if (state.failed) return; @@ -17545,31 +17707,31 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(275);} + } finally {dbg.exitSubRule(276);} dbg.location(871,16); - pushFollow(FOLLOW_syncToFollow_in_rule5347); + pushFollow(FOLLOW_syncToFollow_in_rule5367); syncToFollow(); state._fsp--; if (state.failed) return;dbg.location(872,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:872:9: ( declarations )? - int alt276=2; - try { dbg.enterSubRule(276); - try { dbg.enterDecision(276, decisionCanBacktrack[276]); + int alt277=2; + try { dbg.enterSubRule(277); + try { dbg.enterDecision(277, decisionCanBacktrack[277]); - int LA276_0 = input.LA(1); - if ( ((LA276_0 >= AT_IDENT && LA276_0 <= AT_SIGN)||(LA276_0 >= BOTTOMCENTER_SYM && LA276_0 <= BOTTOMRIGHT_SYM)||(LA276_0 >= CHARSET_SYM && LA276_0 <= COLON)||LA276_0==CONTAINER_SYM||LA276_0==COUNTER_STYLE_SYM||(LA276_0 >= DCOLON && LA276_0 <= DOT)||LA276_0==FONT_FACE_SYM||(LA276_0 >= GEN && LA276_0 <= GREATER)||(LA276_0 >= HASH && LA276_0 <= HASH_SYMBOL)||LA276_0==IDENT||LA276_0==IMPORT_SYM||LA276_0==LAYER_SYM||(LA276_0 >= LBRACKET && LA276_0 <= LEFTTOP_SYM)||LA276_0==LESS_AND||(LA276_0 >= MEDIA_SYM && LA276_0 <= MOZ_DOCUMENT_SYM)||LA276_0==NAMESPACE_SYM||LA276_0==PAGE_SYM||(LA276_0 >= PIPE && LA276_0 <= PLUS)||(LA276_0 >= RIGHTBOTTOM_SYM && LA276_0 <= RIGHTTOP_SYM)||(LA276_0 >= SASS_AT_ROOT && LA276_0 <= SASS_DEBUG)||(LA276_0 >= SASS_EACH && LA276_0 <= SASS_ELSE)||(LA276_0 >= SASS_ERROR && LA276_0 <= SASS_FUNCTION)||(LA276_0 >= SASS_IF && LA276_0 <= SASS_MIXIN)||(LA276_0 >= SASS_RETURN && LA276_0 <= SEMI)||LA276_0==STAR||LA276_0==SUPPORTS_SYM||LA276_0==TILDE||(LA276_0 >= TOPCENTER_SYM && LA276_0 <= TOPRIGHT_SYM)||LA276_0==VARIABLE||LA276_0==WEBKIT_KEYFRAMES_SYM) ) { - alt276=1; + int LA277_0 = input.LA(1); + if ( ((LA277_0 >= AT_IDENT && LA277_0 <= AT_SIGN)||(LA277_0 >= BOTTOMCENTER_SYM && LA277_0 <= BOTTOMRIGHT_SYM)||(LA277_0 >= CHARSET_SYM && LA277_0 <= COLON)||LA277_0==CONTAINER_SYM||LA277_0==COUNTER_STYLE_SYM||(LA277_0 >= DCOLON && LA277_0 <= DOT)||LA277_0==FONT_FACE_SYM||(LA277_0 >= GEN && LA277_0 <= GREATER)||(LA277_0 >= HASH && LA277_0 <= HASH_SYMBOL)||LA277_0==IDENT||LA277_0==IMPORT_SYM||LA277_0==KEYFRAMES_SYM||LA277_0==LAYER_SYM||(LA277_0 >= LBRACKET && LA277_0 <= LEFTTOP_SYM)||LA277_0==LESS_AND||(LA277_0 >= MEDIA_SYM && LA277_0 <= MOZ_DOCUMENT_SYM)||LA277_0==NAMESPACE_SYM||LA277_0==PAGE_SYM||(LA277_0 >= PIPE && LA277_0 <= PLUS)||(LA277_0 >= RIGHTBOTTOM_SYM && LA277_0 <= RIGHTTOP_SYM)||(LA277_0 >= SASS_AT_ROOT && LA277_0 <= SASS_DEBUG)||(LA277_0 >= SASS_EACH && LA277_0 <= SASS_ELSE)||(LA277_0 >= SASS_ERROR && LA277_0 <= SASS_FUNCTION)||(LA277_0 >= SASS_IF && LA277_0 <= SASS_MIXIN)||(LA277_0 >= SASS_RETURN && LA277_0 <= SEMI)||LA277_0==STAR||LA277_0==SUPPORTS_SYM||LA277_0==TILDE||(LA277_0 >= TOPCENTER_SYM && LA277_0 <= TOPRIGHT_SYM)||LA277_0==VARIABLE||LA277_0==WEBKIT_KEYFRAMES_SYM) ) { + alt277=1; } - } finally {dbg.exitDecision(276);} + } finally {dbg.exitDecision(277);} - switch (alt276) { + switch (alt277) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:872:9: declarations { dbg.location(872,9); - pushFollow(FOLLOW_declarations_in_rule5357); + pushFollow(FOLLOW_declarations_in_rule5377); declarations(); state._fsp--; if (state.failed) return; @@ -17577,9 +17739,9 @@ public final void rule() throws RecognitionException { break; } - } finally {dbg.exitSubRule(276);} + } finally {dbg.exitSubRule(277);} dbg.location(873,5); - match(input,RBRACE,FOLLOW_RBRACE_in_rule5364); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_rule5384); if (state.failed) return; } } @@ -17618,20 +17780,20 @@ public final void declarations() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:882:5: ( ( SEMI ( ws )? )* declaration ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? | ( SEMI ( ws )? )+ ) - int alt290=2; - try { dbg.enterDecision(290, decisionCanBacktrack[290]); + int alt291=2; + try { dbg.enterDecision(291, decisionCanBacktrack[291]); try { isCyclicDecision = true; - alt290 = dfa290.predict(input); + alt291 = dfa291.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(290);} + } finally {dbg.exitDecision(291);} - switch (alt290) { + switch (alt291) { case 1 : dbg.enterAlt(1); @@ -17639,47 +17801,47 @@ public final void declarations() throws RecognitionException { { dbg.location(883,8); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:8: ( SEMI ( ws )? )* - try { dbg.enterSubRule(278); + try { dbg.enterSubRule(279); - loop278: + loop279: while (true) { - int alt278=2; - try { dbg.enterDecision(278, decisionCanBacktrack[278]); + int alt279=2; + try { dbg.enterDecision(279, decisionCanBacktrack[279]); - int LA278_0 = input.LA(1); - if ( (LA278_0==SEMI) ) { - alt278=1; + int LA279_0 = input.LA(1); + if ( (LA279_0==SEMI) ) { + alt279=1; } - } finally {dbg.exitDecision(278);} + } finally {dbg.exitDecision(279);} - switch (alt278) { + switch (alt279) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:9: SEMI ( ws )? { dbg.location(883,9); - match(input,SEMI,FOLLOW_SEMI_in_declarations5398); if (state.failed) return;dbg.location(883,14); + match(input,SEMI,FOLLOW_SEMI_in_declarations5418); if (state.failed) return;dbg.location(883,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:14: ( ws )? - int alt277=2; - try { dbg.enterSubRule(277); - try { dbg.enterDecision(277, decisionCanBacktrack[277]); + int alt278=2; + try { dbg.enterSubRule(278); + try { dbg.enterDecision(278, decisionCanBacktrack[278]); - int LA277_0 = input.LA(1); - if ( (LA277_0==COMMENT||LA277_0==NL||LA277_0==WS) ) { - alt277=1; + int LA278_0 = input.LA(1); + if ( (LA278_0==COMMENT||LA278_0==NL||LA278_0==WS) ) { + alt278=1; } - } finally {dbg.exitDecision(277);} + } finally {dbg.exitDecision(278);} - switch (alt277) { + switch (alt278) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:14: ws { dbg.location(883,14); - pushFollow(FOLLOW_ws_in_declarations5400); + pushFollow(FOLLOW_ws_in_declarations5420); ws(); state._fsp--; if (state.failed) return; @@ -17687,40 +17849,40 @@ public final void declarations() throws RecognitionException { break; } - } finally {dbg.exitSubRule(277);} + } finally {dbg.exitSubRule(278);} } break; default : - break loop278; + break loop279; } } - } finally {dbg.exitSubRule(278);} + } finally {dbg.exitSubRule(279);} dbg.location(883,21); - pushFollow(FOLLOW_declaration_in_declarations5406); + pushFollow(FOLLOW_declaration_in_declarations5426); declaration(); state._fsp--; if (state.failed) return;dbg.location(883,33); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:33: ( ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) declaration )* - try { dbg.enterSubRule(283); + try { dbg.enterSubRule(284); - loop283: + loop284: while (true) { - int alt283=2; - try { dbg.enterDecision(283, decisionCanBacktrack[283]); + int alt284=2; + try { dbg.enterDecision(284, decisionCanBacktrack[284]); try { isCyclicDecision = true; - alt283 = dfa283.predict(input); + alt284 = dfa284.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(283);} + } finally {dbg.exitDecision(284);} - switch (alt283) { + switch (alt284) { case 1 : dbg.enterAlt(1); @@ -17728,21 +17890,21 @@ public final void declarations() throws RecognitionException { { dbg.location(883,34); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:34: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws ) - int alt282=2; - try { dbg.enterSubRule(282); - try { dbg.enterDecision(282, decisionCanBacktrack[282]); + int alt283=2; + try { dbg.enterSubRule(283); + try { dbg.enterDecision(283, decisionCanBacktrack[283]); try { isCyclicDecision = true; - alt282 = dfa282.predict(input); + alt283 = dfa283.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(282);} + } finally {dbg.exitDecision(283);} - switch (alt282) { + switch (alt283) { case 1 : dbg.enterAlt(1); @@ -17756,24 +17918,24 @@ public final void declarations() throws RecognitionException { { dbg.location(883,36); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:36: ( ws )? - int alt279=2; - try { dbg.enterSubRule(279); - try { dbg.enterDecision(279, decisionCanBacktrack[279]); + int alt280=2; + try { dbg.enterSubRule(280); + try { dbg.enterDecision(280, decisionCanBacktrack[280]); - int LA279_0 = input.LA(1); - if ( (LA279_0==COMMENT||LA279_0==NL||LA279_0==WS) ) { - alt279=1; + int LA280_0 = input.LA(1); + if ( (LA280_0==COMMENT||LA280_0==NL||LA280_0==WS) ) { + alt280=1; } - } finally {dbg.exitDecision(279);} + } finally {dbg.exitDecision(280);} - switch (alt279) { + switch (alt280) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:36: ws { dbg.location(883,36); - pushFollow(FOLLOW_ws_in_declarations5411); + pushFollow(FOLLOW_ws_in_declarations5431); ws(); state._fsp--; if (state.failed) return; @@ -17781,51 +17943,51 @@ public final void declarations() throws RecognitionException { break; } - } finally {dbg.exitSubRule(279);} + } finally {dbg.exitSubRule(280);} dbg.location(883,40); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:40: ( SEMI ( ws )? )+ - int cnt281=0; - try { dbg.enterSubRule(281); + int cnt282=0; + try { dbg.enterSubRule(282); - loop281: + loop282: while (true) { - int alt281=2; - try { dbg.enterDecision(281, decisionCanBacktrack[281]); + int alt282=2; + try { dbg.enterDecision(282, decisionCanBacktrack[282]); - int LA281_0 = input.LA(1); - if ( (LA281_0==SEMI) ) { - alt281=1; + int LA282_0 = input.LA(1); + if ( (LA282_0==SEMI) ) { + alt282=1; } - } finally {dbg.exitDecision(281);} + } finally {dbg.exitDecision(282);} - switch (alt281) { + switch (alt282) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:41: SEMI ( ws )? { dbg.location(883,41); - match(input,SEMI,FOLLOW_SEMI_in_declarations5415); if (state.failed) return;dbg.location(883,46); + match(input,SEMI,FOLLOW_SEMI_in_declarations5435); if (state.failed) return;dbg.location(883,46); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:46: ( ws )? - int alt280=2; - try { dbg.enterSubRule(280); - try { dbg.enterDecision(280, decisionCanBacktrack[280]); + int alt281=2; + try { dbg.enterSubRule(281); + try { dbg.enterDecision(281, decisionCanBacktrack[281]); - int LA280_0 = input.LA(1); - if ( (LA280_0==COMMENT||LA280_0==NL||LA280_0==WS) ) { - alt280=1; + int LA281_0 = input.LA(1); + if ( (LA281_0==COMMENT||LA281_0==NL||LA281_0==WS) ) { + alt281=1; } - } finally {dbg.exitDecision(280);} + } finally {dbg.exitDecision(281);} - switch (alt280) { + switch (alt281) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:46: ws { dbg.location(883,46); - pushFollow(FOLLOW_ws_in_declarations5417); + pushFollow(FOLLOW_ws_in_declarations5437); ws(); state._fsp--; if (state.failed) return; @@ -17833,22 +17995,22 @@ public final void declarations() throws RecognitionException { break; } - } finally {dbg.exitSubRule(280);} + } finally {dbg.exitSubRule(281);} } break; default : - if ( cnt281 >= 1 ) break loop281; + if ( cnt282 >= 1 ) break loop282; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(281, input); + EarlyExitException eee = new EarlyExitException(282, input); dbg.recognitionException(eee); throw eee; } - cnt281++; + cnt282++; } - } finally {dbg.exitSubRule(281);} + } finally {dbg.exitSubRule(282);} } @@ -17860,7 +18022,7 @@ public final void declarations() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:53: ws { dbg.location(883,53); - pushFollow(FOLLOW_ws_in_declarations5423); + pushFollow(FOLLOW_ws_in_declarations5443); ws(); state._fsp--; if (state.failed) return; @@ -17868,9 +18030,9 @@ public final void declarations() throws RecognitionException { break; } - } finally {dbg.exitSubRule(282);} + } finally {dbg.exitSubRule(283);} dbg.location(883,57); - pushFollow(FOLLOW_declaration_in_declarations5426); + pushFollow(FOLLOW_declaration_in_declarations5446); declaration(); state._fsp--; if (state.failed) return; @@ -17878,27 +18040,27 @@ public final void declarations() throws RecognitionException { break; default : - break loop283; + break loop284; } } - } finally {dbg.exitSubRule(283);} + } finally {dbg.exitSubRule(284);} dbg.location(883,71); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:71: ( ( ( ws )? ( SEMI ( ws )? )+ ) | ws )? - int alt287=3; - try { dbg.enterSubRule(287); - try { dbg.enterDecision(287, decisionCanBacktrack[287]); + int alt288=3; + try { dbg.enterSubRule(288); + try { dbg.enterDecision(288, decisionCanBacktrack[288]); try { isCyclicDecision = true; - alt287 = dfa287.predict(input); + alt288 = dfa288.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(287);} + } finally {dbg.exitDecision(288);} - switch (alt287) { + switch (alt288) { case 1 : dbg.enterAlt(1); @@ -17912,24 +18074,24 @@ public final void declarations() throws RecognitionException { { dbg.location(883,73); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:73: ( ws )? - int alt284=2; - try { dbg.enterSubRule(284); - try { dbg.enterDecision(284, decisionCanBacktrack[284]); + int alt285=2; + try { dbg.enterSubRule(285); + try { dbg.enterDecision(285, decisionCanBacktrack[285]); - int LA284_0 = input.LA(1); - if ( (LA284_0==COMMENT||LA284_0==NL||LA284_0==WS) ) { - alt284=1; + int LA285_0 = input.LA(1); + if ( (LA285_0==COMMENT||LA285_0==NL||LA285_0==WS) ) { + alt285=1; } - } finally {dbg.exitDecision(284);} + } finally {dbg.exitDecision(285);} - switch (alt284) { + switch (alt285) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:73: ws { dbg.location(883,73); - pushFollow(FOLLOW_ws_in_declarations5432); + pushFollow(FOLLOW_ws_in_declarations5452); ws(); state._fsp--; if (state.failed) return; @@ -17937,51 +18099,51 @@ public final void declarations() throws RecognitionException { break; } - } finally {dbg.exitSubRule(284);} + } finally {dbg.exitSubRule(285);} dbg.location(883,77); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:77: ( SEMI ( ws )? )+ - int cnt286=0; - try { dbg.enterSubRule(286); + int cnt287=0; + try { dbg.enterSubRule(287); - loop286: + loop287: while (true) { - int alt286=2; - try { dbg.enterDecision(286, decisionCanBacktrack[286]); + int alt287=2; + try { dbg.enterDecision(287, decisionCanBacktrack[287]); - int LA286_0 = input.LA(1); - if ( (LA286_0==SEMI) ) { - alt286=1; + int LA287_0 = input.LA(1); + if ( (LA287_0==SEMI) ) { + alt287=1; } - } finally {dbg.exitDecision(286);} + } finally {dbg.exitDecision(287);} - switch (alt286) { + switch (alt287) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:78: SEMI ( ws )? { dbg.location(883,78); - match(input,SEMI,FOLLOW_SEMI_in_declarations5436); if (state.failed) return;dbg.location(883,83); + match(input,SEMI,FOLLOW_SEMI_in_declarations5456); if (state.failed) return;dbg.location(883,83); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:83: ( ws )? - int alt285=2; - try { dbg.enterSubRule(285); - try { dbg.enterDecision(285, decisionCanBacktrack[285]); + int alt286=2; + try { dbg.enterSubRule(286); + try { dbg.enterDecision(286, decisionCanBacktrack[286]); - int LA285_0 = input.LA(1); - if ( (LA285_0==COMMENT||LA285_0==NL||LA285_0==WS) ) { - alt285=1; + int LA286_0 = input.LA(1); + if ( (LA286_0==COMMENT||LA286_0==NL||LA286_0==WS) ) { + alt286=1; } - } finally {dbg.exitDecision(285);} + } finally {dbg.exitDecision(286);} - switch (alt285) { + switch (alt286) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:83: ws { dbg.location(883,83); - pushFollow(FOLLOW_ws_in_declarations5438); + pushFollow(FOLLOW_ws_in_declarations5458); ws(); state._fsp--; if (state.failed) return; @@ -17989,22 +18151,22 @@ public final void declarations() throws RecognitionException { break; } - } finally {dbg.exitSubRule(285);} + } finally {dbg.exitSubRule(286);} } break; default : - if ( cnt286 >= 1 ) break loop286; + if ( cnt287 >= 1 ) break loop287; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(286, input); + EarlyExitException eee = new EarlyExitException(287, input); dbg.recognitionException(eee); throw eee; } - cnt286++; + cnt287++; } - } finally {dbg.exitSubRule(286);} + } finally {dbg.exitSubRule(287);} } @@ -18016,7 +18178,7 @@ public final void declarations() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:883:90: ws { dbg.location(883,90); - pushFollow(FOLLOW_ws_in_declarations5444); + pushFollow(FOLLOW_ws_in_declarations5464); ws(); state._fsp--; if (state.failed) return; @@ -18024,7 +18186,7 @@ public final void declarations() throws RecognitionException { break; } - } finally {dbg.exitSubRule(287);} + } finally {dbg.exitSubRule(288);} } break; @@ -18035,48 +18197,48 @@ public final void declarations() throws RecognitionException { { dbg.location(884,8); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:8: ( SEMI ( ws )? )+ - int cnt289=0; - try { dbg.enterSubRule(289); + int cnt290=0; + try { dbg.enterSubRule(290); - loop289: + loop290: while (true) { - int alt289=2; - try { dbg.enterDecision(289, decisionCanBacktrack[289]); + int alt290=2; + try { dbg.enterDecision(290, decisionCanBacktrack[290]); - int LA289_0 = input.LA(1); - if ( (LA289_0==SEMI) ) { - alt289=1; + int LA290_0 = input.LA(1); + if ( (LA290_0==SEMI) ) { + alt290=1; } - } finally {dbg.exitDecision(289);} + } finally {dbg.exitDecision(290);} - switch (alt289) { + switch (alt290) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:9: SEMI ( ws )? { dbg.location(884,9); - match(input,SEMI,FOLLOW_SEMI_in_declarations5456); if (state.failed) return;dbg.location(884,14); + match(input,SEMI,FOLLOW_SEMI_in_declarations5476); if (state.failed) return;dbg.location(884,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:14: ( ws )? - int alt288=2; - try { dbg.enterSubRule(288); - try { dbg.enterDecision(288, decisionCanBacktrack[288]); + int alt289=2; + try { dbg.enterSubRule(289); + try { dbg.enterDecision(289, decisionCanBacktrack[289]); - int LA288_0 = input.LA(1); - if ( (LA288_0==COMMENT||LA288_0==NL||LA288_0==WS) ) { - alt288=1; + int LA289_0 = input.LA(1); + if ( (LA289_0==COMMENT||LA289_0==NL||LA289_0==WS) ) { + alt289=1; } - } finally {dbg.exitDecision(288);} + } finally {dbg.exitDecision(289);} - switch (alt288) { + switch (alt289) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:884:14: ws { dbg.location(884,14); - pushFollow(FOLLOW_ws_in_declarations5458); + pushFollow(FOLLOW_ws_in_declarations5478); ws(); state._fsp--; if (state.failed) return; @@ -18084,22 +18246,22 @@ public final void declarations() throws RecognitionException { break; } - } finally {dbg.exitSubRule(288);} + } finally {dbg.exitSubRule(289);} } break; default : - if ( cnt289 >= 1 ) break loop289; + if ( cnt290 >= 1 ) break loop290; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(289, input); + EarlyExitException eee = new EarlyExitException(290, input); dbg.recognitionException(eee); throw eee; } - cnt289++; + cnt290++; } - } finally {dbg.exitSubRule(289);} + } finally {dbg.exitSubRule(290);} } break; @@ -18137,29 +18299,29 @@ public final void declaration() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:888:5: ( ( cp_variable_declaration )=> cp_variable_declaration | ( sass_map )=> sass_map | ( sass_nested_properties )=> sass_nested_properties | ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule | ( propertyDeclaration )=> propertyDeclaration | ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration | ( cp_mixin_declaration )=> cp_mixin_declaration | ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | ( cp_mixin_call )=>{...}? cp_mixin_call ( ( ws )? IMPORTANT_SYM )? | at_rule |{...}? sass_control |{...}? sass_extend |{...}? sass_debug |{...}? sass_content |{...}? sass_function_return |{...}? sass_error |{...}? importItem | GEN ) - int alt295=18; - try { dbg.enterDecision(295, decisionCanBacktrack[295]); + int alt296=18; + try { dbg.enterDecision(296, decisionCanBacktrack[296]); - int LA295_0 = input.LA(1); - if ( (LA295_0==SASS_AT_ROOT) ) { - int LA295_1 = input.LA(2); + int LA296_0 = input.LA(1); + if ( (LA296_0==SASS_AT_ROOT) ) { + int LA296_1 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (synpred43_Css3()) ) { - alt295=4; + alt296=4; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else { @@ -18168,7 +18330,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 1, input); + new NoViableAltException("", 296, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18177,22 +18339,22 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" } } - else if ( (LA295_0==SASS_VAR) ) { - int LA295_2 = input.LA(2); + else if ( (LA296_0==SASS_VAR) ) { + int LA296_2 = input.LA(2); if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred45_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=6; + alt296=6; } else { @@ -18201,7 +18363,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 2, input); + new NoViableAltException("", 296, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18210,25 +18372,25 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" } } - else if ( (LA295_0==IDENT) ) { - int LA295_3 = input.LA(2); + else if ( (LA296_0==IDENT) ) { + int LA296_3 = input.LA(2); if ( ((evalPredicate(isScssSource(),"isScssSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=2; + alt296=2; } else if ( (synpred42_Css3()) ) { - alt295=3; + alt296=3; } else if ( (synpred43_Css3()) ) { - alt295=4; + alt296=4; } else if ( (synpred44_Css3()) ) { - alt295=5; + alt296=5; } else if ( (synpred45_Css3()) ) { - alt295=6; + alt296=6; } else { @@ -18237,7 +18399,7 @@ else if ( (synpred45_Css3()) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 3, input); + new NoViableAltException("", 296, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18246,19 +18408,19 @@ else if ( (synpred45_Css3()) ) { } } - else if ( (LA295_0==MINUS) ) { - int LA295_4 = input.LA(2); + else if ( (LA296_0==MINUS) ) { + int LA296_4 = input.LA(2); if ( ((synpred42_Css3()&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) { - alt295=3; + alt296=3; } else if ( ((synpred43_Css3()&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) { - alt295=4; + alt296=4; } else if ( ((synpred44_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isScssSource(),"isScssSource()"))||(evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()")))) ) { - alt295=5; + alt296=5; } else if ( ((synpred45_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isScssSource(),"isScssSource()"))||(evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))||evalPredicate(isScssSource(),"isScssSource()")))) ) { - alt295=6; + alt296=6; } else { @@ -18267,7 +18429,7 @@ else if ( ((synpred45_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNa try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 4, input); + new NoViableAltException("", 296, 4, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18276,19 +18438,19 @@ else if ( ((synpred45_Css3()&&((evalPredicate(tokenNameStartsWith("--"),"tokenNa } } - else if ( (LA295_0==HASH_SYMBOL) ) { - int LA295_5 = input.LA(2); + else if ( (LA296_0==HASH_SYMBOL) ) { + int LA296_5 = input.LA(2); if ( ((synpred42_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=3; + alt296=3; } else if ( (synpred43_Css3()) ) { - alt295=4; + alt296=4; } else if ( ((synpred44_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=5; + alt296=5; } else if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=6; + alt296=6; } else { @@ -18297,7 +18459,7 @@ else if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 5, input); + new NoViableAltException("", 296, 5, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18306,19 +18468,19 @@ else if ( ((synpred45_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) } } - else if ( (LA295_0==AT_SIGN) ) { - int LA295_6 = input.LA(2); + else if ( (LA296_0==AT_SIGN) ) { + int LA296_6 = input.LA(2); if ( ((synpred42_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( ((synpred43_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=4; + alt296=4; } else if ( ((synpred44_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else { @@ -18327,7 +18489,7 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred45_Css3())) ) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 6, input); + new NoViableAltException("", 296, 6, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18336,16 +18498,16 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred45_Css3())) ) } } - else if ( (LA295_0==VARIABLE) ) { - int LA295_7 = input.LA(2); + else if ( (LA296_0==VARIABLE) ) { + int LA296_7 = input.LA(2); if ( (synpred42_Css3()) ) { - alt295=3; + alt296=3; } else if ( (synpred44_Css3()) ) { - alt295=5; + alt296=5; } else if ( (synpred45_Css3()) ) { - alt295=6; + alt296=6; } else { @@ -18354,7 +18516,7 @@ else if ( (synpred45_Css3()) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 7, input); + new NoViableAltException("", 296, 7, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18363,44 +18525,44 @@ else if ( (synpred45_Css3()) ) { } } - else if ( (LA295_0==GEN) ) { - int LA295_8 = input.LA(2); + else if ( (LA296_0==GEN) ) { + int LA296_8 = input.LA(2); if ( (synpred42_Css3()) ) { - alt295=3; + alt296=3; } else if ( (synpred43_Css3()) ) { - alt295=4; + alt296=4; } else if ( (synpred44_Css3()) ) { - alt295=5; + alt296=5; } else if ( (synpred45_Css3()) ) { - alt295=6; + alt296=6; } else if ( (true) ) { - alt295=18; + alt296=18; } } - else if ( (LA295_0==SASS_MIXIN) ) { - int LA295_9 = input.LA(2); + else if ( (LA296_0==SASS_MIXIN) ) { + int LA296_9 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( ((synpred46_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=7; + alt296=7; } else { @@ -18409,7 +18571,7 @@ else if ( ((synpred46_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 9, input); + new NoViableAltException("", 296, 9, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18418,25 +18580,25 @@ else if ( ((synpred46_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) } } - else if ( (LA295_0==GREATER||LA295_0==PLUS||LA295_0==TILDE) && (synpred43_Css3())) { - alt295=4; + else if ( (LA296_0==GREATER||LA296_0==PLUS||LA296_0==TILDE) && (synpred43_Css3())) { + alt296=4; } - else if ( (LA295_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred43_Css3())) { - alt295=4; + else if ( (LA296_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred43_Css3())) { + alt296=4; } - else if ( (LA295_0==LESS_AND) ) { - int LA295_12 = input.LA(2); + else if ( (LA296_0==LESS_AND) ) { + int LA296_12 = input.LA(2); if ( (synpred43_Css3()) ) { - alt295=4; + alt296=4; } else if ( ((synpred46_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=7; + alt296=7; } else if ( ((synpred47_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=8; + alt296=8; } else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=9; + alt296=9; } else { @@ -18445,7 +18607,7 @@ else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&& try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 12, input); + new NoViableAltException("", 296, 12, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18454,19 +18616,19 @@ else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&& } } - else if ( (LA295_0==HASH) ) { - int LA295_13 = input.LA(2); + else if ( (LA296_0==HASH) ) { + int LA296_13 = input.LA(2); if ( (synpred43_Css3()) ) { - alt295=4; + alt296=4; } else if ( ((synpred46_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=7; + alt296=7; } else if ( ((synpred47_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=8; + alt296=8; } else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=9; + alt296=9; } else { @@ -18475,7 +18637,7 @@ else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&& try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 13, input); + new NoViableAltException("", 296, 13, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18484,19 +18646,19 @@ else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&& } } - else if ( (LA295_0==DOT) ) { - int LA295_14 = input.LA(2); + else if ( (LA296_0==DOT) ) { + int LA296_14 = input.LA(2); if ( (synpred43_Css3()) ) { - alt295=4; + alt296=4; } else if ( ((synpred46_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=7; + alt296=7; } else if ( ((synpred47_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=8; + alt296=8; } else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=9; + alt296=9; } else { @@ -18505,7 +18667,7 @@ else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&& try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 14, input); + new NoViableAltException("", 296, 14, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18514,25 +18676,25 @@ else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&& } } - else if ( (LA295_0==DIMENSION) && (synpred43_Css3())) { - alt295=4; + else if ( (LA296_0==DIMENSION) && (synpred43_Css3())) { + alt296=4; } - else if ( (LA295_0==LBRACKET) && (synpred43_Css3())) { - alt295=4; + else if ( (LA296_0==LBRACKET) && (synpred43_Css3())) { + alt296=4; } - else if ( (LA295_0==COLON||LA295_0==DCOLON) && (synpred43_Css3())) { - alt295=4; + else if ( (LA296_0==COLON||LA296_0==DCOLON) && (synpred43_Css3())) { + alt296=4; } - else if ( (LA295_0==STAR) ) { - int LA295_18 = input.LA(2); + else if ( (LA296_0==STAR) ) { + int LA296_18 = input.LA(2); if ( (synpred43_Css3()) ) { - alt295=4; + alt296=4; } else if ( (synpred44_Css3()) ) { - alt295=5; + alt296=5; } else if ( (synpred45_Css3()) ) { - alt295=6; + alt296=6; } else { @@ -18541,7 +18703,7 @@ else if ( (synpred45_Css3()) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 18, input); + new NoViableAltException("", 296, 18, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18550,59 +18712,59 @@ else if ( (synpred45_Css3()) ) { } } - else if ( (LA295_0==PIPE) && (synpred43_Css3())) { - alt295=4; + else if ( (LA296_0==PIPE) && (synpred43_Css3())) { + alt296=4; } - else if ( (LA295_0==AT_IDENT) ) { - int LA295_20 = input.LA(2); + else if ( (LA296_0==AT_IDENT) ) { + int LA296_20 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( ((synpred47_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=8; + alt296=8; } else if ( (((evalPredicate(isLessSource(),"isLessSource()")&&synpred48_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=9; + alt296=9; } else if ( (true) ) { - alt295=10; + alt296=10; } } - else if ( (LA295_0==SASS_INCLUDE) ) { - int LA295_21 = input.LA(2); + else if ( (LA296_0==SASS_INCLUDE) ) { + int LA296_21 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( ((synpred47_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=8; + alt296=8; } else if ( ((synpred48_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt295=9; + alt296=9; } else { @@ -18611,7 +18773,7 @@ else if ( ((synpred48_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 21, input); + new NoViableAltException("", 296, 21, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18620,160 +18782,182 @@ else if ( ((synpred48_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) } } - else if ( (LA295_0==MEDIA_SYM) ) { - int LA295_22 = input.LA(2); + else if ( (LA296_0==MEDIA_SYM) ) { + int LA296_22 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (true) ) { - alt295=10; + alt296=10; } } - else if ( (LA295_0==PAGE_SYM) ) { - int LA295_23 = input.LA(2); + else if ( (LA296_0==PAGE_SYM) ) { + int LA296_23 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (true) ) { - alt295=10; + alt296=10; } } - else if ( (LA295_0==COUNTER_STYLE_SYM) ) { - int LA295_24 = input.LA(2); + else if ( (LA296_0==COUNTER_STYLE_SYM) ) { + int LA296_24 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (true) ) { - alt295=10; + alt296=10; } } - else if ( (LA295_0==FONT_FACE_SYM) ) { - int LA295_25 = input.LA(2); + else if ( (LA296_0==FONT_FACE_SYM) ) { + int LA296_25 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (true) ) { - alt295=10; + alt296=10; } } - else if ( (LA295_0==MOZ_DOCUMENT_SYM) ) { - int LA295_26 = input.LA(2); + else if ( (LA296_0==MOZ_DOCUMENT_SYM) ) { + int LA296_26 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (true) ) { - alt295=10; + alt296=10; } } - else if ( (LA295_0==CONTAINER_SYM||LA295_0==LAYER_SYM||LA295_0==SUPPORTS_SYM) ) { - alt295=10; + else if ( (LA296_0==CONTAINER_SYM||LA296_0==LAYER_SYM||LA296_0==SUPPORTS_SYM) ) { + alt296=10; } - else if ( (LA295_0==WEBKIT_KEYFRAMES_SYM) ) { - int LA295_28 = input.LA(2); + else if ( (LA296_0==WEBKIT_KEYFRAMES_SYM) ) { + int LA296_28 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (true) ) { - alt295=10; + alt296=10; } } - else if ( (LA295_0==SASS_IF) ) { - int LA295_29 = input.LA(2); + else if ( (LA296_0==KEYFRAMES_SYM) ) { + int LA296_29 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; + } + else if ( (true) ) { + alt296=10; + } + + } + else if ( (LA296_0==SASS_IF) ) { + int LA296_30 = input.LA(2); + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { + alt296=1; + } + else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + alt296=2; + } + else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + alt296=3; + } + else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { + alt296=5; + } + else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=11; + alt296=11; } else { @@ -18782,7 +18966,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 29, input); + new NoViableAltException("", 296, 30, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18791,25 +18975,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==SASS_FOR) ) { - int LA295_32 = input.LA(2); + else if ( (LA296_0==SASS_FOR) ) { + int LA296_33 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=11; + alt296=11; } else { @@ -18818,7 +19002,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 32, input); + new NoViableAltException("", 296, 33, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18827,25 +19011,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==SASS_EACH) ) { - int LA295_33 = input.LA(2); + else if ( (LA296_0==SASS_EACH) ) { + int LA296_34 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=11; + alt296=11; } else { @@ -18854,7 +19038,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 33, input); + new NoViableAltException("", 296, 34, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18863,25 +19047,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==SASS_WHILE) ) { - int LA295_34 = input.LA(2); + else if ( (LA296_0==SASS_WHILE) ) { + int LA296_35 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=11; + alt296=11; } else { @@ -18890,7 +19074,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 34, input); + new NoViableAltException("", 296, 35, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18899,25 +19083,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==SASS_EXTEND) ) { - int LA295_35 = input.LA(2); + else if ( (LA296_0==SASS_EXTEND) ) { + int LA296_36 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=12; + alt296=12; } else { @@ -18926,7 +19110,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 35, input); + new NoViableAltException("", 296, 36, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18935,25 +19119,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==SASS_DEBUG||LA295_0==SASS_WARN) ) { - int LA295_36 = input.LA(2); + else if ( (LA296_0==SASS_DEBUG||LA296_0==SASS_WARN) ) { + int LA296_37 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=13; + alt296=13; } else { @@ -18962,7 +19146,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 36, input); + new NoViableAltException("", 296, 37, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -18971,25 +19155,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==SASS_CONTENT) ) { - int LA295_37 = input.LA(2); + else if ( (LA296_0==SASS_CONTENT) ) { + int LA296_38 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=14; + alt296=14; } else { @@ -18998,7 +19182,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 37, input); + new NoViableAltException("", 296, 38, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -19007,25 +19191,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==SASS_RETURN) ) { - int LA295_38 = input.LA(2); + else if ( (LA296_0==SASS_RETURN) ) { + int LA296_39 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=15; + alt296=15; } else { @@ -19034,7 +19218,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 38, input); + new NoViableAltException("", 296, 39, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -19043,25 +19227,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==IMPORT_SYM) ) { - int LA295_39 = input.LA(2); + else if ( (LA296_0==IMPORT_SYM) ) { + int LA296_40 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt295=17; + alt296=17; } else { @@ -19070,7 +19254,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 39, input); + new NoViableAltException("", 296, 40, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -19079,25 +19263,25 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA295_0==SASS_ERROR) ) { - alt295=16; + else if ( (LA296_0==SASS_ERROR) ) { + alt296=16; } - else if ( ((LA295_0 >= BOTTOMCENTER_SYM && LA295_0 <= BOTTOMRIGHT_SYM)||LA295_0==CHARSET_SYM||(LA295_0 >= LEFTBOTTOM_SYM && LA295_0 <= LEFTTOP_SYM)||LA295_0==NAMESPACE_SYM||(LA295_0 >= RIGHTBOTTOM_SYM && LA295_0 <= RIGHTTOP_SYM)||LA295_0==SASS_ELSE||(LA295_0 >= SASS_FORWARD && LA295_0 <= SASS_FUNCTION)||LA295_0==SASS_USE||(LA295_0 >= TOPCENTER_SYM && LA295_0 <= TOPRIGHT_SYM)) ) { - int LA295_41 = input.LA(2); + else if ( ((LA296_0 >= BOTTOMCENTER_SYM && LA296_0 <= BOTTOMRIGHT_SYM)||LA296_0==CHARSET_SYM||(LA296_0 >= LEFTBOTTOM_SYM && LA296_0 <= LEFTTOP_SYM)||LA296_0==NAMESPACE_SYM||(LA296_0 >= RIGHTBOTTOM_SYM && LA296_0 <= RIGHTTOP_SYM)||LA296_0==SASS_ELSE||(LA296_0 >= SASS_FORWARD && LA296_0 <= SASS_FUNCTION)||LA296_0==SASS_USE||(LA296_0 >= TOPCENTER_SYM && LA296_0 <= TOPRIGHT_SYM)) ) { + int LA296_42 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred40_Css3())) ) { - alt295=1; + alt296=1; } else if ( ((synpred41_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=2; + alt296=2; } else if ( (((synpred42_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=3; + alt296=3; } else if ( (((synpred44_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt295=5; + alt296=5; } else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred45_Css3())) ) { - alt295=6; + alt296=6; } else { @@ -19106,7 +19290,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 295, 41, input); + new NoViableAltException("", 296, 42, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -19119,21 +19303,21 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 295, 0, input); + new NoViableAltException("", 296, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(295);} + } finally {dbg.exitDecision(296);} - switch (alt295) { + switch (alt296) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:889:5: ( cp_variable_declaration )=> cp_variable_declaration { dbg.location(889,32); - pushFollow(FOLLOW_cp_variable_declaration_in_declaration5487); + pushFollow(FOLLOW_cp_variable_declaration_in_declaration5507); cp_variable_declaration(); state._fsp--; if (state.failed) return; @@ -19145,7 +19329,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:890:7: ( sass_map )=> sass_map { dbg.location(890,20); - pushFollow(FOLLOW_sass_map_in_declaration5500); + pushFollow(FOLLOW_sass_map_in_declaration5520); sass_map(); state._fsp--; if (state.failed) return; @@ -19157,7 +19341,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:891:7: ( sass_nested_properties )=> sass_nested_properties { dbg.location(891,33); - pushFollow(FOLLOW_sass_nested_properties_in_declaration5512); + pushFollow(FOLLOW_sass_nested_properties_in_declaration5532); sass_nested_properties(); state._fsp--; if (state.failed) return; @@ -19169,7 +19353,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:7: ( ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) ( ws )? LBRACE )=> rule { dbg.location(892,145); - pushFollow(FOLLOW_rule_in_declaration5575); + pushFollow(FOLLOW_rule_in_declaration5595); rule(); state._fsp--; if (state.failed) return; @@ -19181,7 +19365,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:7: ( propertyDeclaration )=> propertyDeclaration { dbg.location(893,30); - pushFollow(FOLLOW_propertyDeclaration_in_declaration5587); + pushFollow(FOLLOW_propertyDeclaration_in_declaration5607); propertyDeclaration(); state._fsp--; if (state.failed) return; @@ -19193,7 +19377,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:7: ( property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) )=> propertyDeclaration { dbg.location(895,67); - pushFollow(FOLLOW_propertyDeclaration_in_declaration5626); + pushFollow(FOLLOW_propertyDeclaration_in_declaration5646); propertyDeclaration(); state._fsp--; if (state.failed) return; @@ -19205,7 +19389,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:896:7: ( cp_mixin_declaration )=> cp_mixin_declaration { dbg.location(896,31); - pushFollow(FOLLOW_cp_mixin_declaration_in_declaration5638); + pushFollow(FOLLOW_cp_mixin_declaration_in_declaration5658); cp_mixin_declaration(); state._fsp--; if (state.failed) return; @@ -19217,26 +19401,26 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:7: ( cp_mixin_call )=> cp_mixin_call ( ( ws )? IMPORTANT_SYM )? { dbg.location(897,25); - pushFollow(FOLLOW_cp_mixin_call_in_declaration5651); + pushFollow(FOLLOW_cp_mixin_call_in_declaration5671); cp_mixin_call(); state._fsp--; if (state.failed) return;dbg.location(897,39); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:39: ( ( ws )? IMPORTANT_SYM )? - int alt292=2; - try { dbg.enterSubRule(292); - try { dbg.enterDecision(292, decisionCanBacktrack[292]); + int alt293=2; + try { dbg.enterSubRule(293); + try { dbg.enterDecision(293, decisionCanBacktrack[293]); try { isCyclicDecision = true; - alt292 = dfa292.predict(input); + alt293 = dfa293.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(292);} + } finally {dbg.exitDecision(293);} - switch (alt292) { + switch (alt293) { case 1 : dbg.enterAlt(1); @@ -19244,24 +19428,24 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" { dbg.location(897,40); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:40: ( ws )? - int alt291=2; - try { dbg.enterSubRule(291); - try { dbg.enterDecision(291, decisionCanBacktrack[291]); + int alt292=2; + try { dbg.enterSubRule(292); + try { dbg.enterDecision(292, decisionCanBacktrack[292]); - int LA291_0 = input.LA(1); - if ( (LA291_0==COMMENT||LA291_0==NL||LA291_0==WS) ) { - alt291=1; + int LA292_0 = input.LA(1); + if ( (LA292_0==COMMENT||LA292_0==NL||LA292_0==WS) ) { + alt292=1; } - } finally {dbg.exitDecision(291);} + } finally {dbg.exitDecision(292);} - switch (alt291) { + switch (alt292) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:40: ws { dbg.location(897,40); - pushFollow(FOLLOW_ws_in_declaration5654); + pushFollow(FOLLOW_ws_in_declaration5674); ws(); state._fsp--; if (state.failed) return; @@ -19269,14 +19453,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" break; } - } finally {dbg.exitSubRule(291);} + } finally {dbg.exitSubRule(292);} dbg.location(897,44); - match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration5657); if (state.failed) return; + match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration5677); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(292);} + } finally {dbg.exitSubRule(293);} } break; @@ -19290,26 +19474,26 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); }dbg.location(898,43); - pushFollow(FOLLOW_cp_mixin_call_in_declaration5674); + pushFollow(FOLLOW_cp_mixin_call_in_declaration5694); cp_mixin_call(); state._fsp--; if (state.failed) return;dbg.location(898,57); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:57: ( ( ws )? IMPORTANT_SYM )? - int alt294=2; - try { dbg.enterSubRule(294); - try { dbg.enterDecision(294, decisionCanBacktrack[294]); + int alt295=2; + try { dbg.enterSubRule(295); + try { dbg.enterDecision(295, decisionCanBacktrack[295]); try { isCyclicDecision = true; - alt294 = dfa294.predict(input); + alt295 = dfa295.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(294);} + } finally {dbg.exitDecision(295);} - switch (alt294) { + switch (alt295) { case 1 : dbg.enterAlt(1); @@ -19317,24 +19501,24 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" { dbg.location(898,58); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:58: ( ws )? - int alt293=2; - try { dbg.enterSubRule(293); - try { dbg.enterDecision(293, decisionCanBacktrack[293]); + int alt294=2; + try { dbg.enterSubRule(294); + try { dbg.enterDecision(294, decisionCanBacktrack[294]); - int LA293_0 = input.LA(1); - if ( (LA293_0==COMMENT||LA293_0==NL||LA293_0==WS) ) { - alt293=1; + int LA294_0 = input.LA(1); + if ( (LA294_0==COMMENT||LA294_0==NL||LA294_0==WS) ) { + alt294=1; } - } finally {dbg.exitDecision(293);} + } finally {dbg.exitDecision(294);} - switch (alt293) { + switch (alt294) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:58: ws { dbg.location(898,58); - pushFollow(FOLLOW_ws_in_declaration5677); + pushFollow(FOLLOW_ws_in_declaration5697); ws(); state._fsp--; if (state.failed) return; @@ -19342,14 +19526,14 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" break; } - } finally {dbg.exitSubRule(293);} + } finally {dbg.exitSubRule(294);} dbg.location(898,62); - match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration5680); if (state.failed) return; + match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_declaration5700); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(294);} + } finally {dbg.exitSubRule(295);} } break; @@ -19359,7 +19543,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:899:7: at_rule { dbg.location(899,7); - pushFollow(FOLLOW_at_rule_in_declaration5694); + pushFollow(FOLLOW_at_rule_in_declaration5714); at_rule(); state._fsp--; if (state.failed) return; @@ -19375,7 +19559,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); }dbg.location(900,25); - pushFollow(FOLLOW_sass_control_in_declaration5704); + pushFollow(FOLLOW_sass_control_in_declaration5724); sass_control(); state._fsp--; if (state.failed) return; @@ -19391,7 +19575,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); }dbg.location(901,25); - pushFollow(FOLLOW_sass_extend_in_declaration5714); + pushFollow(FOLLOW_sass_extend_in_declaration5734); sass_extend(); state._fsp--; if (state.failed) return; @@ -19407,7 +19591,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); }dbg.location(902,25); - pushFollow(FOLLOW_sass_debug_in_declaration5724); + pushFollow(FOLLOW_sass_debug_in_declaration5744); sass_debug(); state._fsp--; if (state.failed) return; @@ -19423,7 +19607,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); }dbg.location(903,25); - pushFollow(FOLLOW_sass_content_in_declaration5734); + pushFollow(FOLLOW_sass_content_in_declaration5754); sass_content(); state._fsp--; if (state.failed) return; @@ -19439,7 +19623,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); }dbg.location(904,25); - pushFollow(FOLLOW_sass_function_return_in_declaration5744); + pushFollow(FOLLOW_sass_function_return_in_declaration5764); sass_function_return(); state._fsp--; if (state.failed) return; @@ -19455,7 +19639,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); }dbg.location(905,25); - pushFollow(FOLLOW_sass_error_in_declaration5754); + pushFollow(FOLLOW_sass_error_in_declaration5774); sass_error(); state._fsp--; if (state.failed) return; @@ -19471,7 +19655,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "declaration", "isScssSource()"); }dbg.location(906,25); - pushFollow(FOLLOW_importItem_in_declaration5764); + pushFollow(FOLLOW_importItem_in_declaration5784); importItem(); state._fsp--; if (state.failed) return; @@ -19483,7 +19667,7 @@ else if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()" // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:907:7: GEN { dbg.location(907,7); - match(input,GEN,FOLLOW_GEN_in_declaration5772); if (state.failed) return; + match(input,GEN,FOLLOW_GEN_in_declaration5792); if (state.failed) return; } break; @@ -19528,29 +19712,29 @@ public final void selectorsGroup() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:9: selector ( ( ws )? COMMA ( ws )? selector )* ({...}? COMMA )? { dbg.location(916,9); - pushFollow(FOLLOW_selector_in_selectorsGroup5806); + pushFollow(FOLLOW_selector_in_selectorsGroup5826); selector(); state._fsp--; if (state.failed) return;dbg.location(916,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:18: ( ( ws )? COMMA ( ws )? selector )* - try { dbg.enterSubRule(298); + try { dbg.enterSubRule(299); - loop298: + loop299: while (true) { - int alt298=2; - try { dbg.enterDecision(298, decisionCanBacktrack[298]); + int alt299=2; + try { dbg.enterDecision(299, decisionCanBacktrack[299]); try { isCyclicDecision = true; - alt298 = dfa298.predict(input); + alt299 = dfa299.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(298);} + } finally {dbg.exitDecision(299);} - switch (alt298) { + switch (alt299) { case 1 : dbg.enterAlt(1); @@ -19558,24 +19742,24 @@ public final void selectorsGroup() throws RecognitionException { { dbg.location(916,19); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:19: ( ws )? - int alt296=2; - try { dbg.enterSubRule(296); - try { dbg.enterDecision(296, decisionCanBacktrack[296]); + int alt297=2; + try { dbg.enterSubRule(297); + try { dbg.enterDecision(297, decisionCanBacktrack[297]); - int LA296_0 = input.LA(1); - if ( (LA296_0==COMMENT||LA296_0==NL||LA296_0==WS) ) { - alt296=1; + int LA297_0 = input.LA(1); + if ( (LA297_0==COMMENT||LA297_0==NL||LA297_0==WS) ) { + alt297=1; } - } finally {dbg.exitDecision(296);} + } finally {dbg.exitDecision(297);} - switch (alt296) { + switch (alt297) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:19: ws { dbg.location(916,19); - pushFollow(FOLLOW_ws_in_selectorsGroup5809); + pushFollow(FOLLOW_ws_in_selectorsGroup5829); ws(); state._fsp--; if (state.failed) return; @@ -19583,28 +19767,28 @@ public final void selectorsGroup() throws RecognitionException { break; } - } finally {dbg.exitSubRule(296);} + } finally {dbg.exitSubRule(297);} dbg.location(916,23); - match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup5812); if (state.failed) return;dbg.location(916,29); + match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup5832); if (state.failed) return;dbg.location(916,29); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:29: ( ws )? - int alt297=2; - try { dbg.enterSubRule(297); - try { dbg.enterDecision(297, decisionCanBacktrack[297]); + int alt298=2; + try { dbg.enterSubRule(298); + try { dbg.enterDecision(298, decisionCanBacktrack[298]); - int LA297_0 = input.LA(1); - if ( (LA297_0==COMMENT||LA297_0==NL||LA297_0==WS) ) { - alt297=1; + int LA298_0 = input.LA(1); + if ( (LA298_0==COMMENT||LA298_0==NL||LA298_0==WS) ) { + alt298=1; } - } finally {dbg.exitDecision(297);} + } finally {dbg.exitDecision(298);} - switch (alt297) { + switch (alt298) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:29: ws { dbg.location(916,29); - pushFollow(FOLLOW_ws_in_selectorsGroup5814); + pushFollow(FOLLOW_ws_in_selectorsGroup5834); ws(); state._fsp--; if (state.failed) return; @@ -19612,9 +19796,9 @@ public final void selectorsGroup() throws RecognitionException { break; } - } finally {dbg.exitSubRule(297);} + } finally {dbg.exitSubRule(298);} dbg.location(916,33); - pushFollow(FOLLOW_selector_in_selectorsGroup5817); + pushFollow(FOLLOW_selector_in_selectorsGroup5837); selector(); state._fsp--; if (state.failed) return; @@ -19622,23 +19806,23 @@ public final void selectorsGroup() throws RecognitionException { break; default : - break loop298; + break loop299; } } - } finally {dbg.exitSubRule(298);} + } finally {dbg.exitSubRule(299);} dbg.location(916,44); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:916:44: ({...}? COMMA )? - int alt299=2; - try { dbg.enterSubRule(299); - try { dbg.enterDecision(299, decisionCanBacktrack[299]); + int alt300=2; + try { dbg.enterSubRule(300); + try { dbg.enterDecision(300, decisionCanBacktrack[300]); - int LA299_0 = input.LA(1); - if ( (LA299_0==COMMA) ) { - alt299=1; + int LA300_0 = input.LA(1); + if ( (LA300_0==COMMA) ) { + alt300=1; } - } finally {dbg.exitDecision(299);} + } finally {dbg.exitDecision(300);} - switch (alt299) { + switch (alt300) { case 1 : dbg.enterAlt(1); @@ -19649,12 +19833,12 @@ public final void selectorsGroup() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "selectorsGroup", "isCssPreprocessorSource()"); }dbg.location(916,74); - match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup5824); if (state.failed) return; + match(input,COMMA,FOLLOW_COMMA_in_selectorsGroup5844); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(299);} + } finally {dbg.exitSubRule(300);} } @@ -19690,20 +19874,20 @@ public final void selector() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:5: ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator ) - int alt306=2; - try { dbg.enterDecision(306, decisionCanBacktrack[306]); + int alt307=2; + try { dbg.enterDecision(307, decisionCanBacktrack[307]); try { isCyclicDecision = true; - alt306 = dfa306.predict(input); + alt307 = dfa307.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(306);} + } finally {dbg.exitDecision(307);} - switch (alt306) { + switch (alt307) { case 1 : dbg.enterAlt(1); @@ -19711,46 +19895,46 @@ public final void selector() throws RecognitionException { { dbg.location(920,8); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:8: ( combinator ( ws )? )? - int alt301=2; - try { dbg.enterSubRule(301); - try { dbg.enterDecision(301, decisionCanBacktrack[301]); + int alt302=2; + try { dbg.enterSubRule(302); + try { dbg.enterDecision(302, decisionCanBacktrack[302]); - int LA301_0 = input.LA(1); - if ( (LA301_0==GREATER||LA301_0==PLUS||LA301_0==TILDE) ) { - alt301=1; + int LA302_0 = input.LA(1); + if ( (LA302_0==GREATER||LA302_0==PLUS||LA302_0==TILDE) ) { + alt302=1; } - } finally {dbg.exitDecision(301);} + } finally {dbg.exitDecision(302);} - switch (alt301) { + switch (alt302) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:9: combinator ( ws )? { dbg.location(920,9); - pushFollow(FOLLOW_combinator_in_selector5845); + pushFollow(FOLLOW_combinator_in_selector5865); combinator(); state._fsp--; if (state.failed) return;dbg.location(920,20); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:20: ( ws )? - int alt300=2; - try { dbg.enterSubRule(300); - try { dbg.enterDecision(300, decisionCanBacktrack[300]); + int alt301=2; + try { dbg.enterSubRule(301); + try { dbg.enterDecision(301, decisionCanBacktrack[301]); - int LA300_0 = input.LA(1); - if ( (LA300_0==COMMENT||LA300_0==NL||LA300_0==WS) ) { - alt300=1; + int LA301_0 = input.LA(1); + if ( (LA301_0==COMMENT||LA301_0==NL||LA301_0==WS) ) { + alt301=1; } - } finally {dbg.exitDecision(300);} + } finally {dbg.exitDecision(301);} - switch (alt300) { + switch (alt301) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:20: ws { dbg.location(920,20); - pushFollow(FOLLOW_ws_in_selector5847); + pushFollow(FOLLOW_ws_in_selector5867); ws(); state._fsp--; if (state.failed) return; @@ -19758,37 +19942,37 @@ public final void selector() throws RecognitionException { break; } - } finally {dbg.exitSubRule(300);} + } finally {dbg.exitSubRule(301);} } break; } - } finally {dbg.exitSubRule(301);} + } finally {dbg.exitSubRule(302);} dbg.location(920,26); - pushFollow(FOLLOW_simpleSelectorSequence_in_selector5852); + pushFollow(FOLLOW_simpleSelectorSequence_in_selector5872); simpleSelectorSequence(); state._fsp--; if (state.failed) return;dbg.location(920,49); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* - try { dbg.enterSubRule(305); + try { dbg.enterSubRule(306); - loop305: + loop306: while (true) { - int alt305=2; - try { dbg.enterDecision(305, decisionCanBacktrack[305]); + int alt306=2; + try { dbg.enterDecision(306, decisionCanBacktrack[306]); try { isCyclicDecision = true; - alt305 = dfa305.predict(input); + alt306 = dfa306.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(305);} + } finally {dbg.exitDecision(306);} - switch (alt305) { + switch (alt306) { case 1 : dbg.enterAlt(1); @@ -19796,21 +19980,21 @@ public final void selector() throws RecognitionException { { dbg.location(920,51); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:51: ( ( ( ws )? combinator ( ws )? ) | ws ) - int alt304=2; - try { dbg.enterSubRule(304); - try { dbg.enterDecision(304, decisionCanBacktrack[304]); + int alt305=2; + try { dbg.enterSubRule(305); + try { dbg.enterDecision(305, decisionCanBacktrack[305]); try { isCyclicDecision = true; - alt304 = dfa304.predict(input); + alt305 = dfa305.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(304);} + } finally {dbg.exitDecision(305);} - switch (alt304) { + switch (alt305) { case 1 : dbg.enterAlt(1); @@ -19824,24 +20008,24 @@ public final void selector() throws RecognitionException { { dbg.location(920,53); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:53: ( ws )? - int alt302=2; - try { dbg.enterSubRule(302); - try { dbg.enterDecision(302, decisionCanBacktrack[302]); + int alt303=2; + try { dbg.enterSubRule(303); + try { dbg.enterDecision(303, decisionCanBacktrack[303]); - int LA302_0 = input.LA(1); - if ( (LA302_0==COMMENT||LA302_0==NL||LA302_0==WS) ) { - alt302=1; + int LA303_0 = input.LA(1); + if ( (LA303_0==COMMENT||LA303_0==NL||LA303_0==WS) ) { + alt303=1; } - } finally {dbg.exitDecision(302);} + } finally {dbg.exitDecision(303);} - switch (alt302) { + switch (alt303) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:53: ws { dbg.location(920,53); - pushFollow(FOLLOW_ws_in_selector5858); + pushFollow(FOLLOW_ws_in_selector5878); ws(); state._fsp--; if (state.failed) return; @@ -19849,31 +20033,31 @@ public final void selector() throws RecognitionException { break; } - } finally {dbg.exitSubRule(302);} + } finally {dbg.exitSubRule(303);} dbg.location(920,57); - pushFollow(FOLLOW_combinator_in_selector5861); + pushFollow(FOLLOW_combinator_in_selector5881); combinator(); state._fsp--; if (state.failed) return;dbg.location(920,68); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:68: ( ws )? - int alt303=2; - try { dbg.enterSubRule(303); - try { dbg.enterDecision(303, decisionCanBacktrack[303]); + int alt304=2; + try { dbg.enterSubRule(304); + try { dbg.enterDecision(304, decisionCanBacktrack[304]); - int LA303_0 = input.LA(1); - if ( (LA303_0==COMMENT||LA303_0==NL||LA303_0==WS) ) { - alt303=1; + int LA304_0 = input.LA(1); + if ( (LA304_0==COMMENT||LA304_0==NL||LA304_0==WS) ) { + alt304=1; } - } finally {dbg.exitDecision(303);} + } finally {dbg.exitDecision(304);} - switch (alt303) { + switch (alt304) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:68: ws { dbg.location(920,68); - pushFollow(FOLLOW_ws_in_selector5863); + pushFollow(FOLLOW_ws_in_selector5883); ws(); state._fsp--; if (state.failed) return; @@ -19881,7 +20065,7 @@ public final void selector() throws RecognitionException { break; } - } finally {dbg.exitSubRule(303);} + } finally {dbg.exitSubRule(304);} } @@ -19893,7 +20077,7 @@ public final void selector() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:920:73: ws { dbg.location(920,73); - pushFollow(FOLLOW_ws_in_selector5867); + pushFollow(FOLLOW_ws_in_selector5887); ws(); state._fsp--; if (state.failed) return; @@ -19901,9 +20085,9 @@ public final void selector() throws RecognitionException { break; } - } finally {dbg.exitSubRule(304);} + } finally {dbg.exitSubRule(305);} dbg.location(920,77); - pushFollow(FOLLOW_simpleSelectorSequence_in_selector5870); + pushFollow(FOLLOW_simpleSelectorSequence_in_selector5890); simpleSelectorSequence(); state._fsp--; if (state.failed) return; @@ -19911,10 +20095,10 @@ public final void selector() throws RecognitionException { break; default : - break loop305; + break loop306; } } - } finally {dbg.exitSubRule(305);} + } finally {dbg.exitSubRule(306);} } break; @@ -19928,7 +20112,7 @@ public final void selector() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "selector", "isScssSource()"); }dbg.location(921,28); - pushFollow(FOLLOW_combinator_in_selector5885); + pushFollow(FOLLOW_combinator_in_selector5905); combinator(); state._fsp--; if (state.failed) return; @@ -20018,20 +20202,20 @@ public final void simpleSelectorSequence() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:930:2: ( ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* | ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* ) - int alt315=2; - try { dbg.enterDecision(315, decisionCanBacktrack[315]); + int alt316=2; + try { dbg.enterDecision(316, decisionCanBacktrack[316]); - int LA315_0 = input.LA(1); - if ( (LA315_0==AT_SIGN||LA315_0==COLON||(LA315_0 >= DCOLON && LA315_0 <= DOT)||(LA315_0 >= HASH && LA315_0 <= HASH_SYMBOL)||LA315_0==LBRACKET||LA315_0==MINUS||LA315_0==SASS_EXTEND_ONLY_SELECTOR) ) { - alt315=1; + int LA316_0 = input.LA(1); + if ( (LA316_0==AT_SIGN||LA316_0==COLON||(LA316_0 >= DCOLON && LA316_0 <= DOT)||(LA316_0 >= HASH && LA316_0 <= HASH_SYMBOL)||LA316_0==LBRACKET||LA316_0==MINUS||LA316_0==SASS_EXTEND_ONLY_SELECTOR) ) { + alt316=1; } - else if ( (LA315_0==LESS_AND) ) { - int LA315_2 = input.LA(2); + else if ( (LA316_0==LESS_AND) ) { + int LA316_2 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")||evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt315=1; + alt316=1; } else if ( (synpred50_Css3()) ) { - alt315=2; + alt316=2; } else { @@ -20040,7 +20224,7 @@ else if ( (synpred50_Css3()) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 315, 2, input); + new NoViableAltException("", 316, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -20049,87 +20233,87 @@ else if ( (synpred50_Css3()) ) { } } - else if ( (LA315_0==IDENT) ) { - int LA315_3 = input.LA(2); - if ( (LA315_3==HASH_SYMBOL) ) { - int LA315_7 = input.LA(3); - if ( (LA315_7==LBRACE) ) { - alt315=1; + else if ( (LA316_0==IDENT) ) { + int LA316_3 = input.LA(2); + if ( (LA316_3==HASH_SYMBOL) ) { + int LA316_7 = input.LA(3); + if ( (LA316_7==LBRACE) ) { + alt316=1; } - else if ( (LA315_7==NAME) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_7==NAME) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_7==IDENT||LA315_7==MINUS) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_7==IDENT||LA316_7==MINUS) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_7==AT_SIGN) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_7==AT_SIGN) && (synpred50_Css3())) { + alt316=2; } } - else if ( (LA315_3==AT_SIGN) ) { - alt315=1; + else if ( (LA316_3==AT_SIGN) ) { + alt316=1; } - else if ( (LA315_3==PIPE) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==PIPE) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==COMMENT||LA315_3==NL||LA315_3==WS) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==COMMENT||LA316_3==NL||LA316_3==WS) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==SASS_EXTEND_ONLY_SELECTOR) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==SASS_EXTEND_ONLY_SELECTOR) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==LESS_AND) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==LESS_AND) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==HASH) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==HASH) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==DOT) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==DOT) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==DIMENSION) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==DIMENSION) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==LBRACKET) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==LBRACKET) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==COLON||LA315_3==DCOLON) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==COLON||LA316_3==DCOLON) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==GREATER||LA315_3==PLUS||LA315_3==TILDE) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==GREATER||LA316_3==PLUS||LA316_3==TILDE) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==COMMA) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==COMMA) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==LBRACE) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==LBRACE) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==RPAREN) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==RPAREN) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==SEMI) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==SEMI) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_3==RBRACE) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_3==RBRACE) && (synpred50_Css3())) { + alt316=2; } } - else if ( (LA315_0==STAR) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_0==STAR) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_0==PIPE) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_0==PIPE) && (synpred50_Css3())) { + alt316=2; } - else if ( (LA315_0==GEN) && (synpred50_Css3())) { - alt315=2; + else if ( (LA316_0==GEN) && (synpred50_Css3())) { + alt316=2; } - } finally {dbg.exitDecision(315);} + } finally {dbg.exitDecision(316);} - switch (alt315) { + switch (alt316) { case 1 : dbg.enterAlt(1); @@ -20137,9 +20321,9 @@ else if ( (LA315_0==GEN) && (synpred50_Css3())) { { dbg.location(931,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:9: ( elementSubsequent |{...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) - int alt307=3; - try { dbg.enterSubRule(307); - try { dbg.enterDecision(307, decisionCanBacktrack[307]); + int alt308=3; + try { dbg.enterSubRule(308); + try { dbg.enterDecision(308, decisionCanBacktrack[308]); switch ( input.LA(1) ) { case COLON: @@ -20151,17 +20335,17 @@ else if ( (LA315_0==GEN) && (synpred50_Css3())) { case LESS_AND: case SASS_EXTEND_ONLY_SELECTOR: { - alt307=1; + alt308=1; } break; case HASH_SYMBOL: { - int LA307_2 = input.LA(2); - if ( (LA307_2==LBRACE) ) { - alt307=2; + int LA308_2 = input.LA(2); + if ( (LA308_2==LBRACE) ) { + alt308=2; } - else if ( (LA307_2==AT_SIGN||LA307_2==IDENT||LA307_2==MINUS||LA307_2==NAME) ) { - alt307=1; + else if ( (LA308_2==AT_SIGN||LA308_2==IDENT||LA308_2==MINUS||LA308_2==NAME) ) { + alt308=1; } else { @@ -20170,7 +20354,7 @@ else if ( (LA307_2==AT_SIGN||LA307_2==IDENT||LA307_2==MINUS||LA307_2==NAME) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 307, 2, input); + new NoViableAltException("", 308, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -20183,12 +20367,12 @@ else if ( (LA307_2==AT_SIGN||LA307_2==IDENT||LA307_2==MINUS||LA307_2==NAME) ) { case IDENT: case MINUS: { - int LA307_3 = input.LA(2); - if ( (LA307_3==HASH_SYMBOL) ) { - alt307=2; + int LA308_3 = input.LA(2); + if ( (LA308_3==HASH_SYMBOL) ) { + alt308=2; } - else if ( (LA307_3==AT_SIGN) ) { - alt307=3; + else if ( (LA308_3==AT_SIGN) ) { + alt308=3; } else { @@ -20197,7 +20381,7 @@ else if ( (LA307_3==AT_SIGN) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 307, 3, input); + new NoViableAltException("", 308, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -20209,26 +20393,26 @@ else if ( (LA307_3==AT_SIGN) ) { break; case AT_SIGN: { - alt307=3; + alt308=3; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 307, 0, input); + new NoViableAltException("", 308, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(307);} + } finally {dbg.exitDecision(308);} - switch (alt307) { + switch (alt308) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:931:10: elementSubsequent { dbg.location(931,10); - pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5937); + pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5957); elementSubsequent(); state._fsp--; if (state.failed) return; @@ -20244,7 +20428,7 @@ else if ( (LA307_3==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()"); }dbg.location(931,48); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence5943); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence5963); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20260,7 +20444,7 @@ else if ( (LA307_3==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isLessSource()"); }dbg.location(932,29); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence5957); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence5977); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20268,52 +20452,52 @@ else if ( (LA307_3==AT_SIGN) ) { break; } - } finally {dbg.exitSubRule(307);} + } finally {dbg.exitSubRule(308);} dbg.location(932,64); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:64: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) )* - try { dbg.enterSubRule(311); + try { dbg.enterSubRule(312); - loop311: + loop312: while (true) { - int alt311=2; - try { dbg.enterDecision(311, decisionCanBacktrack[311]); + int alt312=2; + try { dbg.enterDecision(312, decisionCanBacktrack[312]); - int LA311_0 = input.LA(1); - if ( (LA311_0==COMMENT||LA311_0==NL||LA311_0==WS) ) { - int LA311_1 = input.LA(2); + int LA312_0 = input.LA(1); + if ( (LA312_0==COMMENT||LA312_0==NL||LA312_0==WS) ) { + int LA312_1 = input.LA(2); if ( (synpred49_Css3()) ) { - alt311=1; + alt312=1; } } - else if ( (LA311_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred49_Css3())) { - alt311=1; + else if ( (LA312_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred49_Css3())) { + alt312=1; } - else if ( (LA311_0==LESS_AND) && (synpred49_Css3())) { - alt311=1; + else if ( (LA312_0==LESS_AND) && (synpred49_Css3())) { + alt312=1; } - else if ( (LA311_0==HASH) && (synpred49_Css3())) { - alt311=1; + else if ( (LA312_0==HASH) && (synpred49_Css3())) { + alt312=1; } - else if ( (LA311_0==HASH_SYMBOL) && (synpred49_Css3())) { - alt311=1; + else if ( (LA312_0==HASH_SYMBOL) && (synpred49_Css3())) { + alt312=1; } - else if ( (LA311_0==DOT) && (synpred49_Css3())) { - alt311=1; + else if ( (LA312_0==DOT) && (synpred49_Css3())) { + alt312=1; } - else if ( (LA311_0==DIMENSION) && (synpred49_Css3())) { - alt311=1; + else if ( (LA312_0==DIMENSION) && (synpred49_Css3())) { + alt312=1; } - else if ( (LA311_0==LBRACKET) && (synpred49_Css3())) { - alt311=1; + else if ( (LA312_0==LBRACKET) && (synpred49_Css3())) { + alt312=1; } - else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred49_Css3())) { - alt311=1; + else if ( (LA312_0==COLON||LA312_0==DCOLON) && (synpred49_Css3())) { + alt312=1; } - } finally {dbg.exitDecision(311);} + } finally {dbg.exitDecision(312);} - switch (alt311) { + switch (alt312) { case 1 : dbg.enterAlt(1); @@ -20321,21 +20505,21 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred49_Css3())) { { dbg.location(932,79); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:79: ( ( ( ws )? elementSubsequent ) | ( ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) ) ) - int alt310=2; - try { dbg.enterSubRule(310); - try { dbg.enterDecision(310, decisionCanBacktrack[310]); + int alt311=2; + try { dbg.enterSubRule(311); + try { dbg.enterDecision(311, decisionCanBacktrack[311]); try { isCyclicDecision = true; - alt310 = dfa310.predict(input); + alt311 = dfa311.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(310);} + } finally {dbg.exitDecision(311);} - switch (alt310) { + switch (alt311) { case 1 : dbg.enterAlt(1); @@ -20349,24 +20533,24 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred49_Css3())) { { dbg.location(932,81); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:81: ( ws )? - int alt308=2; - try { dbg.enterSubRule(308); - try { dbg.enterDecision(308, decisionCanBacktrack[308]); + int alt309=2; + try { dbg.enterSubRule(309); + try { dbg.enterDecision(309, decisionCanBacktrack[309]); - int LA308_0 = input.LA(1); - if ( (LA308_0==COMMENT||LA308_0==NL||LA308_0==WS) ) { - alt308=1; + int LA309_0 = input.LA(1); + if ( (LA309_0==COMMENT||LA309_0==NL||LA309_0==WS) ) { + alt309=1; } - } finally {dbg.exitDecision(308);} + } finally {dbg.exitDecision(309);} - switch (alt308) { + switch (alt309) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:81: ws { dbg.location(932,81); - pushFollow(FOLLOW_ws_in_simpleSelectorSequence5972); + pushFollow(FOLLOW_ws_in_simpleSelectorSequence5992); ws(); state._fsp--; if (state.failed) return; @@ -20374,9 +20558,9 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred49_Css3())) { break; } - } finally {dbg.exitSubRule(308);} + } finally {dbg.exitSubRule(309);} dbg.location(932,85); - pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5975); + pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence5995); elementSubsequent(); state._fsp--; if (state.failed) return; @@ -20396,25 +20580,25 @@ else if ( (LA311_0==COLON||LA311_0==DCOLON) && (synpred49_Css3())) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:106: ws ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) { dbg.location(932,106); - pushFollow(FOLLOW_ws_in_simpleSelectorSequence5980); + pushFollow(FOLLOW_ws_in_simpleSelectorSequence6000); ws(); state._fsp--; if (state.failed) return;dbg.location(932,109); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:109: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp ) - int alt309=2; - try { dbg.enterSubRule(309); - try { dbg.enterDecision(309, decisionCanBacktrack[309]); + int alt310=2; + try { dbg.enterSubRule(310); + try { dbg.enterDecision(310, decisionCanBacktrack[310]); switch ( input.LA(1) ) { case IDENT: case MINUS: { - int LA309_1 = input.LA(2); - if ( (LA309_1==HASH_SYMBOL) ) { - alt309=1; + int LA310_1 = input.LA(2); + if ( (LA310_1==HASH_SYMBOL) ) { + alt310=1; } - else if ( (LA309_1==AT_SIGN) ) { - alt309=2; + else if ( (LA310_1==AT_SIGN) ) { + alt310=2; } else { @@ -20423,7 +20607,7 @@ else if ( (LA309_1==AT_SIGN) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 309, 1, input); + new NoViableAltException("", 310, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -20435,24 +20619,24 @@ else if ( (LA309_1==AT_SIGN) ) { break; case HASH_SYMBOL: { - alt309=1; + alt310=1; } break; case AT_SIGN: { - alt309=2; + alt310=2; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 309, 0, input); + new NoViableAltException("", 310, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(309);} + } finally {dbg.exitDecision(310);} - switch (alt309) { + switch (alt310) { case 1 : dbg.enterAlt(1); @@ -20463,7 +20647,7 @@ else if ( (LA309_1==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()"); }dbg.location(932,128); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence5985); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence6005); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20479,7 +20663,7 @@ else if ( (LA309_1==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isLessSource()"); }dbg.location(932,180); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence5991); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_simpleSelectorSequence6011); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20487,7 +20671,7 @@ else if ( (LA309_1==AT_SIGN) ) { break; } - } finally {dbg.exitSubRule(309);} + } finally {dbg.exitSubRule(310);} } @@ -20495,16 +20679,16 @@ else if ( (LA309_1==AT_SIGN) ) { break; } - } finally {dbg.exitSubRule(310);} + } finally {dbg.exitSubRule(311);} } break; default : - break loop311; + break loop312; } } - } finally {dbg.exitSubRule(311);} + } finally {dbg.exitSubRule(312);} } break; @@ -20514,54 +20698,54 @@ else if ( (LA309_1==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:4: ( typeSelector )=> typeSelector ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* { dbg.location(933,20); - pushFollow(FOLLOW_typeSelector_in_simpleSelectorSequence6005); + pushFollow(FOLLOW_typeSelector_in_simpleSelectorSequence6025); typeSelector(); state._fsp--; if (state.failed) return;dbg.location(933,33); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:33: ( ( ( ws )? esPred )=> ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) )* - try { dbg.enterSubRule(314); + try { dbg.enterSubRule(315); - loop314: + loop315: while (true) { - int alt314=2; - try { dbg.enterDecision(314, decisionCanBacktrack[314]); + int alt315=2; + try { dbg.enterDecision(315, decisionCanBacktrack[315]); - int LA314_0 = input.LA(1); - if ( (LA314_0==COMMENT||LA314_0==NL||LA314_0==WS) ) { - int LA314_1 = input.LA(2); + int LA315_0 = input.LA(1); + if ( (LA315_0==COMMENT||LA315_0==NL||LA315_0==WS) ) { + int LA315_1 = input.LA(2); if ( (synpred51_Css3()) ) { - alt314=1; + alt315=1; } } - else if ( (LA314_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred51_Css3())) { - alt314=1; + else if ( (LA315_0==SASS_EXTEND_ONLY_SELECTOR) && (synpred51_Css3())) { + alt315=1; } - else if ( (LA314_0==LESS_AND) && (synpred51_Css3())) { - alt314=1; + else if ( (LA315_0==LESS_AND) && (synpred51_Css3())) { + alt315=1; } - else if ( (LA314_0==HASH) && (synpred51_Css3())) { - alt314=1; + else if ( (LA315_0==HASH) && (synpred51_Css3())) { + alt315=1; } - else if ( (LA314_0==HASH_SYMBOL) && (synpred51_Css3())) { - alt314=1; + else if ( (LA315_0==HASH_SYMBOL) && (synpred51_Css3())) { + alt315=1; } - else if ( (LA314_0==DOT) && (synpred51_Css3())) { - alt314=1; + else if ( (LA315_0==DOT) && (synpred51_Css3())) { + alt315=1; } - else if ( (LA314_0==DIMENSION) && (synpred51_Css3())) { - alt314=1; + else if ( (LA315_0==DIMENSION) && (synpred51_Css3())) { + alt315=1; } - else if ( (LA314_0==LBRACKET) && (synpred51_Css3())) { - alt314=1; + else if ( (LA315_0==LBRACKET) && (synpred51_Css3())) { + alt315=1; } - else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred51_Css3())) { - alt314=1; + else if ( (LA315_0==COLON||LA315_0==DCOLON) && (synpred51_Css3())) { + alt315=1; } - } finally {dbg.exitDecision(314);} + } finally {dbg.exitDecision(315);} - switch (alt314) { + switch (alt315) { case 1 : dbg.enterAlt(1); @@ -20569,21 +20753,21 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred51_Css3())) { { dbg.location(933,48); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:48: ( ( ( ws )? elementSubsequent ) |{...}? ws sass_selector_interpolation_exp ) - int alt313=2; - try { dbg.enterSubRule(313); - try { dbg.enterDecision(313, decisionCanBacktrack[313]); + int alt314=2; + try { dbg.enterSubRule(314); + try { dbg.enterDecision(314, decisionCanBacktrack[314]); try { isCyclicDecision = true; - alt313 = dfa313.predict(input); + alt314 = dfa314.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(313);} + } finally {dbg.exitDecision(314);} - switch (alt313) { + switch (alt314) { case 1 : dbg.enterAlt(1); @@ -20597,24 +20781,24 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred51_Css3())) { { dbg.location(933,50); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:50: ( ws )? - int alt312=2; - try { dbg.enterSubRule(312); - try { dbg.enterDecision(312, decisionCanBacktrack[312]); + int alt313=2; + try { dbg.enterSubRule(313); + try { dbg.enterDecision(313, decisionCanBacktrack[313]); - int LA312_0 = input.LA(1); - if ( (LA312_0==COMMENT||LA312_0==NL||LA312_0==WS) ) { - alt312=1; + int LA313_0 = input.LA(1); + if ( (LA313_0==COMMENT||LA313_0==NL||LA313_0==WS) ) { + alt313=1; } - } finally {dbg.exitDecision(312);} + } finally {dbg.exitDecision(313);} - switch (alt312) { + switch (alt313) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:50: ws { dbg.location(933,50); - pushFollow(FOLLOW_ws_in_simpleSelectorSequence6017); + pushFollow(FOLLOW_ws_in_simpleSelectorSequence6037); ws(); state._fsp--; if (state.failed) return; @@ -20622,9 +20806,9 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred51_Css3())) { break; } - } finally {dbg.exitSubRule(312);} + } finally {dbg.exitSubRule(313);} dbg.location(933,54); - pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence6020); + pushFollow(FOLLOW_elementSubsequent_in_simpleSelectorSequence6040); elementSubsequent(); state._fsp--; if (state.failed) return; @@ -20642,11 +20826,11 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred51_Css3())) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "simpleSelectorSequence", "isScssSource()"); }dbg.location(933,93); - pushFollow(FOLLOW_ws_in_simpleSelectorSequence6027); + pushFollow(FOLLOW_ws_in_simpleSelectorSequence6047); ws(); state._fsp--; if (state.failed) return;dbg.location(933,96); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence6029); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_simpleSelectorSequence6049); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -20654,16 +20838,16 @@ else if ( (LA314_0==COLON||LA314_0==DCOLON) && (synpred51_Css3())) { break; } - } finally {dbg.exitSubRule(313);} + } finally {dbg.exitSubRule(314);} } break; default : - break loop314; + break loop315; } } - } finally {dbg.exitSubRule(314);} + } finally {dbg.exitSubRule(315);} } break; @@ -20704,67 +20888,67 @@ public final void esPred() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:5: ( HASH_SYMBOL | HASH | DOT | LBRACKET | COLON | DCOLON | SASS_EXTEND_ONLY_SELECTOR |{...}? LESS_AND ) - int alt316=8; - try { dbg.enterDecision(316, decisionCanBacktrack[316]); + int alt317=8; + try { dbg.enterDecision(317, decisionCanBacktrack[317]); switch ( input.LA(1) ) { case HASH_SYMBOL: { - alt316=1; + alt317=1; } break; case HASH: { - alt316=2; + alt317=2; } break; case DOT: { - alt316=3; + alt317=3; } break; case LBRACKET: { - alt316=4; + alt317=4; } break; case COLON: { - alt316=5; + alt317=5; } break; case DCOLON: { - alt316=6; + alt317=6; } break; case SASS_EXTEND_ONLY_SELECTOR: { - alt316=7; + alt317=7; } break; case LESS_AND: { - alt316=8; + alt317=8; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 316, 0, input); + new NoViableAltException("", 317, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(316);} + } finally {dbg.exitDecision(317);} - switch (alt316) { + switch (alt317) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:7: HASH_SYMBOL { dbg.location(942,7); - match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_esPred6054); if (state.failed) return; + match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_esPred6074); if (state.failed) return; } break; case 2 : @@ -20773,7 +20957,7 @@ public final void esPred() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:21: HASH { dbg.location(942,21); - match(input,HASH,FOLLOW_HASH_in_esPred6058); if (state.failed) return; + match(input,HASH,FOLLOW_HASH_in_esPred6078); if (state.failed) return; } break; case 3 : @@ -20782,7 +20966,7 @@ public final void esPred() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:28: DOT { dbg.location(942,28); - match(input,DOT,FOLLOW_DOT_in_esPred6062); if (state.failed) return; + match(input,DOT,FOLLOW_DOT_in_esPred6082); if (state.failed) return; } break; case 4 : @@ -20791,7 +20975,7 @@ public final void esPred() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:34: LBRACKET { dbg.location(942,34); - match(input,LBRACKET,FOLLOW_LBRACKET_in_esPred6066); if (state.failed) return; + match(input,LBRACKET,FOLLOW_LBRACKET_in_esPred6086); if (state.failed) return; } break; case 5 : @@ -20800,7 +20984,7 @@ public final void esPred() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:45: COLON { dbg.location(942,45); - match(input,COLON,FOLLOW_COLON_in_esPred6070); if (state.failed) return; + match(input,COLON,FOLLOW_COLON_in_esPred6090); if (state.failed) return; } break; case 6 : @@ -20809,7 +20993,7 @@ public final void esPred() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:53: DCOLON { dbg.location(942,53); - match(input,DCOLON,FOLLOW_DCOLON_in_esPred6074); if (state.failed) return; + match(input,DCOLON,FOLLOW_DCOLON_in_esPred6094); if (state.failed) return; } break; case 7 : @@ -20818,7 +21002,7 @@ public final void esPred() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:942:62: SASS_EXTEND_ONLY_SELECTOR { dbg.location(942,62); - match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_esPred6078); if (state.failed) return; + match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_esPred6098); if (state.failed) return; } break; case 8 : @@ -20831,7 +21015,7 @@ public final void esPred() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "esPred", "isCssPreprocessorSource()"); }dbg.location(942,119); - match(input,LESS_AND,FOLLOW_LESS_AND_in_esPred6084); if (state.failed) return; + match(input,LESS_AND,FOLLOW_LESS_AND_in_esPred6104); if (state.failed) return; } break; @@ -20874,36 +21058,36 @@ public final void typeSelector() throws RecognitionException { { dbg.location(947,6); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:6: ( ( ( IDENT | STAR )? PIPE )=> namespacePrefix )? - int alt317=2; - try { dbg.enterSubRule(317); - try { dbg.enterDecision(317, decisionCanBacktrack[317]); + int alt318=2; + try { dbg.enterSubRule(318); + try { dbg.enterDecision(318, decisionCanBacktrack[318]); - int LA317_0 = input.LA(1); - if ( (LA317_0==IDENT) ) { - int LA317_1 = input.LA(2); - if ( (LA317_1==PIPE) && (synpred52_Css3())) { - alt317=1; + int LA318_0 = input.LA(1); + if ( (LA318_0==IDENT) ) { + int LA318_1 = input.LA(2); + if ( (LA318_1==PIPE) && (synpred52_Css3())) { + alt318=1; } } - else if ( (LA317_0==STAR) ) { - int LA317_2 = input.LA(2); - if ( (LA317_2==PIPE) && (synpred52_Css3())) { - alt317=1; + else if ( (LA318_0==STAR) ) { + int LA318_2 = input.LA(2); + if ( (LA318_2==PIPE) && (synpred52_Css3())) { + alt318=1; } } - else if ( (LA317_0==PIPE) && (synpred52_Css3())) { - alt317=1; + else if ( (LA318_0==PIPE) && (synpred52_Css3())) { + alt318=1; } - } finally {dbg.exitDecision(317);} + } finally {dbg.exitDecision(318);} - switch (alt317) { + switch (alt318) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:7: ( ( IDENT | STAR )? PIPE )=> namespacePrefix { dbg.location(947,31); - pushFollow(FOLLOW_namespacePrefix_in_typeSelector6126); + pushFollow(FOLLOW_namespacePrefix_in_typeSelector6146); namespacePrefix(); state._fsp--; if (state.failed) return; @@ -20911,9 +21095,9 @@ else if ( (LA317_0==PIPE) && (synpred52_Css3())) { break; } - } finally {dbg.exitSubRule(317);} + } finally {dbg.exitSubRule(318);} dbg.location(947,49); - pushFollow(FOLLOW_elementName_in_typeSelector6130); + pushFollow(FOLLOW_elementName_in_typeSelector6150); elementName(); state._fsp--; if (state.failed) return; @@ -20957,27 +21141,27 @@ public final void namespacePrefix() throws RecognitionException { { dbg.location(951,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:5: ( namespacePrefixName | STAR )? - int alt318=3; - try { dbg.enterSubRule(318); - try { dbg.enterDecision(318, decisionCanBacktrack[318]); + int alt319=3; + try { dbg.enterSubRule(319); + try { dbg.enterDecision(319, decisionCanBacktrack[319]); - int LA318_0 = input.LA(1); - if ( (LA318_0==IDENT) ) { - alt318=1; + int LA319_0 = input.LA(1); + if ( (LA319_0==IDENT) ) { + alt319=1; } - else if ( (LA318_0==STAR) ) { - alt318=2; + else if ( (LA319_0==STAR) ) { + alt319=2; } - } finally {dbg.exitDecision(318);} + } finally {dbg.exitDecision(319);} - switch (alt318) { + switch (alt319) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:7: namespacePrefixName { dbg.location(951,7); - pushFollow(FOLLOW_namespacePrefixName_in_namespacePrefix6145); + pushFollow(FOLLOW_namespacePrefixName_in_namespacePrefix6165); namespacePrefixName(); state._fsp--; if (state.failed) return; @@ -20989,14 +21173,14 @@ else if ( (LA318_0==STAR) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:951:29: STAR { dbg.location(951,29); - match(input,STAR,FOLLOW_STAR_in_namespacePrefix6149); if (state.failed) return; + match(input,STAR,FOLLOW_STAR_in_namespacePrefix6169); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(318);} + } finally {dbg.exitSubRule(319);} dbg.location(951,36); - match(input,PIPE,FOLLOW_PIPE_in_namespacePrefix6153); if (state.failed) return; + match(input,PIPE,FOLLOW_PIPE_in_namespacePrefix6173); if (state.failed) return; } } @@ -21037,14 +21221,14 @@ public final void elementSubsequent() throws RecognitionException { { dbg.location(957,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:957:5: ({...}? sass_extend_only_selector |{...}? LESS_AND ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* |{...}? LESS_AND less_selector_interpolation_exp | cssId | cssClass | slAttribute | pseudo ) - int alt320=7; - try { dbg.enterSubRule(320); - try { dbg.enterDecision(320, decisionCanBacktrack[320]); + int alt321=7; + try { dbg.enterSubRule(321); + try { dbg.enterDecision(321, decisionCanBacktrack[321]); switch ( input.LA(1) ) { case SASS_EXTEND_ONLY_SELECTOR: { - alt320=1; + alt321=1; } break; case LESS_AND: @@ -21052,12 +21236,12 @@ public final void elementSubsequent() throws RecognitionException { switch ( input.LA(2) ) { case IDENT: { - int LA320_7 = input.LA(3); - if ( ((LA320_7 >= COLON && LA320_7 <= COMMENT)||(LA320_7 >= DCOLON && LA320_7 <= DOT)||LA320_7==GREATER||(LA320_7 >= HASH && LA320_7 <= HASH_SYMBOL)||LA320_7==IDENT||(LA320_7 >= LBRACE && LA320_7 <= LBRACKET)||LA320_7==LESS_AND||LA320_7==NL||LA320_7==NUMBER||LA320_7==PLUS||LA320_7==RBRACE||LA320_7==RPAREN||LA320_7==SASS_EXTEND_ONLY_SELECTOR||LA320_7==SEMI||LA320_7==TILDE||LA320_7==WS) ) { - alt320=2; + int LA321_7 = input.LA(3); + if ( ((LA321_7 >= COLON && LA321_7 <= COMMENT)||(LA321_7 >= DCOLON && LA321_7 <= DOT)||LA321_7==GREATER||(LA321_7 >= HASH && LA321_7 <= HASH_SYMBOL)||LA321_7==IDENT||(LA321_7 >= LBRACE && LA321_7 <= LBRACKET)||LA321_7==LESS_AND||LA321_7==NL||LA321_7==NUMBER||LA321_7==PLUS||LA321_7==RBRACE||LA321_7==RPAREN||LA321_7==SASS_EXTEND_ONLY_SELECTOR||LA321_7==SEMI||LA321_7==TILDE||LA321_7==WS) ) { + alt321=2; } - else if ( (LA320_7==AT_SIGN) ) { - alt320=3; + else if ( (LA321_7==AT_SIGN) ) { + alt321=3; } else { @@ -21068,7 +21252,7 @@ else if ( (LA320_7==AT_SIGN) ) { input.consume(); } NoViableAltException nvae = - new NoViableAltException("", 320, 7, input); + new NoViableAltException("", 321, 7, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -21100,13 +21284,13 @@ else if ( (LA320_7==AT_SIGN) ) { case TILDE: case WS: { - alt320=2; + alt321=2; } break; case AT_SIGN: case MINUS: { - alt320=3; + alt321=3; } break; default: @@ -21115,7 +21299,7 @@ else if ( (LA320_7==AT_SIGN) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 320, 2, input); + new NoViableAltException("", 321, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -21127,36 +21311,36 @@ else if ( (LA320_7==AT_SIGN) ) { case HASH: case HASH_SYMBOL: { - alt320=4; + alt321=4; } break; case DIMENSION: case DOT: { - alt320=5; + alt321=5; } break; case LBRACKET: { - alt320=6; + alt321=6; } break; case COLON: case DCOLON: { - alt320=7; + alt321=7; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 320, 0, input); + new NoViableAltException("", 321, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(320);} + } finally {dbg.exitDecision(321);} - switch (alt320) { + switch (alt321) { case 1 : dbg.enterAlt(1); @@ -21167,7 +21351,7 @@ else if ( (LA320_7==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "elementSubsequent", "isScssSource()"); }dbg.location(958,27); - pushFollow(FOLLOW_sass_extend_only_selector_in_elementSubsequent6185); + pushFollow(FOLLOW_sass_extend_only_selector_in_elementSubsequent6205); sass_extend_only_selector(); state._fsp--; if (state.failed) return; @@ -21183,46 +21367,46 @@ else if ( (LA320_7==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "elementSubsequent", "isCssPreprocessorSource()"); }dbg.location(959,40); - match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent6199); if (state.failed) return;dbg.location(959,49); + match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent6219); if (state.failed) return;dbg.location(959,49); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:49: ( IDENT | NUMBER |{...}? sass_interpolation_expression_var )* - try { dbg.enterSubRule(319); + try { dbg.enterSubRule(320); - loop319: + loop320: while (true) { - int alt319=4; - try { dbg.enterDecision(319, decisionCanBacktrack[319]); + int alt320=4; + try { dbg.enterDecision(320, decisionCanBacktrack[320]); switch ( input.LA(1) ) { case HASH_SYMBOL: { - int LA319_2 = input.LA(2); - if ( (LA319_2==LBRACE) ) { - alt319=3; + int LA320_2 = input.LA(2); + if ( (LA320_2==LBRACE) ) { + alt320=3; } } break; case IDENT: { - alt319=1; + alt320=1; } break; case NUMBER: { - alt319=2; + alt320=2; } break; } - } finally {dbg.exitDecision(319);} + } finally {dbg.exitDecision(320);} - switch (alt319) { + switch (alt320) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:50: IDENT { dbg.location(959,50); - match(input,IDENT,FOLLOW_IDENT_in_elementSubsequent6202); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_elementSubsequent6222); if (state.failed) return; } break; case 2 : @@ -21231,7 +21415,7 @@ else if ( (LA320_7==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:959:58: NUMBER { dbg.location(959,58); - match(input,NUMBER,FOLLOW_NUMBER_in_elementSubsequent6206); if (state.failed) return; + match(input,NUMBER,FOLLOW_NUMBER_in_elementSubsequent6226); if (state.failed) return; } break; case 3 : @@ -21244,7 +21428,7 @@ else if ( (LA320_7==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "elementSubsequent", "isScssSource()"); }dbg.location(959,85); - pushFollow(FOLLOW_sass_interpolation_expression_var_in_elementSubsequent6212); + pushFollow(FOLLOW_sass_interpolation_expression_var_in_elementSubsequent6232); sass_interpolation_expression_var(); state._fsp--; if (state.failed) return; @@ -21252,10 +21436,10 @@ else if ( (LA320_7==AT_SIGN) ) { break; default : - break loop319; + break loop320; } } - } finally {dbg.exitSubRule(319);} + } finally {dbg.exitSubRule(320);} } break; @@ -21269,8 +21453,8 @@ else if ( (LA320_7==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "elementSubsequent", "isLessSource()"); }dbg.location(960,29); - match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent6228); if (state.failed) return;dbg.location(960,38); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_elementSubsequent6230); + match(input,LESS_AND,FOLLOW_LESS_AND_in_elementSubsequent6248); if (state.failed) return;dbg.location(960,38); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_elementSubsequent6250); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21282,7 +21466,7 @@ else if ( (LA320_7==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:961:8: cssId { dbg.location(961,8); - pushFollow(FOLLOW_cssId_in_elementSubsequent6239); + pushFollow(FOLLOW_cssId_in_elementSubsequent6259); cssId(); state._fsp--; if (state.failed) return; @@ -21294,7 +21478,7 @@ else if ( (LA320_7==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:962:8: cssClass { dbg.location(962,8); - pushFollow(FOLLOW_cssClass_in_elementSubsequent6248); + pushFollow(FOLLOW_cssClass_in_elementSubsequent6268); cssClass(); state._fsp--; if (state.failed) return; @@ -21306,7 +21490,7 @@ else if ( (LA320_7==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:963:11: slAttribute { dbg.location(963,11); - pushFollow(FOLLOW_slAttribute_in_elementSubsequent6260); + pushFollow(FOLLOW_slAttribute_in_elementSubsequent6280); slAttribute(); state._fsp--; if (state.failed) return; @@ -21318,7 +21502,7 @@ else if ( (LA320_7==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:964:11: pseudo { dbg.location(964,11); - pushFollow(FOLLOW_pseudo_in_elementSubsequent6272); + pushFollow(FOLLOW_pseudo_in_elementSubsequent6292); pseudo(); state._fsp--; if (state.failed) return; @@ -21326,7 +21510,7 @@ else if ( (LA320_7==AT_SIGN) ) { break; } - } finally {dbg.exitSubRule(320);} + } finally {dbg.exitSubRule(321);} } @@ -21362,53 +21546,53 @@ public final void cssId() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:970:5: ( HASH ({...}? sass_selector_interpolation_exp )? | ( HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) ) ) - int alt323=2; - try { dbg.enterDecision(323, decisionCanBacktrack[323]); + int alt324=2; + try { dbg.enterDecision(324, decisionCanBacktrack[324]); - int LA323_0 = input.LA(1); - if ( (LA323_0==HASH) ) { - alt323=1; + int LA324_0 = input.LA(1); + if ( (LA324_0==HASH) ) { + alt324=1; } - else if ( (LA323_0==HASH_SYMBOL) ) { - alt323=2; + else if ( (LA324_0==HASH_SYMBOL) ) { + alt324=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 323, 0, input); + new NoViableAltException("", 324, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(323);} + } finally {dbg.exitDecision(324);} - switch (alt323) { + switch (alt324) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:970:7: HASH ({...}? sass_selector_interpolation_exp )? { dbg.location(970,7); - match(input,HASH,FOLLOW_HASH_in_cssId6296); if (state.failed) return;dbg.location(970,12); + match(input,HASH,FOLLOW_HASH_in_cssId6316); if (state.failed) return;dbg.location(970,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:970:12: ({...}? sass_selector_interpolation_exp )? - int alt321=2; - try { dbg.enterSubRule(321); - try { dbg.enterDecision(321, decisionCanBacktrack[321]); - - int LA321_0 = input.LA(1); - if ( (LA321_0==IDENT||LA321_0==MINUS) ) { - alt321=1; - } - else if ( (LA321_0==HASH_SYMBOL) ) { - int LA321_2 = input.LA(2); - if ( (LA321_2==LBRACE) ) { - alt321=1; + int alt322=2; + try { dbg.enterSubRule(322); + try { dbg.enterDecision(322, decisionCanBacktrack[322]); + + int LA322_0 = input.LA(1); + if ( (LA322_0==IDENT||LA322_0==MINUS) ) { + alt322=1; + } + else if ( (LA322_0==HASH_SYMBOL) ) { + int LA322_2 = input.LA(2); + if ( (LA322_2==LBRACE) ) { + alt322=1; } } - } finally {dbg.exitDecision(321);} + } finally {dbg.exitDecision(322);} - switch (alt321) { + switch (alt322) { case 1 : dbg.enterAlt(1); @@ -21419,7 +21603,7 @@ else if ( (LA321_0==HASH_SYMBOL) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssId", "isScssSource()"); }dbg.location(970,31); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssId6301); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssId6321); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21427,7 +21611,7 @@ else if ( (LA321_0==HASH_SYMBOL) ) { break; } - } finally {dbg.exitSubRule(321);} + } finally {dbg.exitSubRule(322);} } break; @@ -21443,38 +21627,38 @@ else if ( (LA321_0==HASH_SYMBOL) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:972:11: HASH_SYMBOL ( NAME |{...}? less_selector_interpolation_exp ) { dbg.location(972,11); - match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_cssId6323); if (state.failed) return;dbg.location(973,13); + match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_cssId6343); if (state.failed) return;dbg.location(973,13); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:13: ( NAME |{...}? less_selector_interpolation_exp ) - int alt322=2; - try { dbg.enterSubRule(322); - try { dbg.enterDecision(322, decisionCanBacktrack[322]); + int alt323=2; + try { dbg.enterSubRule(323); + try { dbg.enterDecision(323, decisionCanBacktrack[323]); - int LA322_0 = input.LA(1); - if ( (LA322_0==NAME) ) { - alt322=1; + int LA323_0 = input.LA(1); + if ( (LA323_0==NAME) ) { + alt323=1; } - else if ( (LA322_0==AT_SIGN||LA322_0==IDENT||LA322_0==MINUS) ) { - alt322=2; + else if ( (LA323_0==AT_SIGN||LA323_0==IDENT||LA323_0==MINUS) ) { + alt323=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 322, 0, input); + new NoViableAltException("", 323, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(322);} + } finally {dbg.exitDecision(323);} - switch (alt322) { + switch (alt323) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:973:15: NAME { dbg.location(973,15); - match(input,NAME,FOLLOW_NAME_in_cssId6339); if (state.failed) return; + match(input,NAME,FOLLOW_NAME_in_cssId6359); if (state.failed) return; } break; case 2 : @@ -21487,7 +21671,7 @@ else if ( (LA322_0==AT_SIGN||LA322_0==IDENT||LA322_0==MINUS) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssId", "isLessSource()"); }dbg.location(974,35); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssId6359); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssId6379); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21495,7 +21679,7 @@ else if ( (LA322_0==AT_SIGN||LA322_0==IDENT||LA322_0==MINUS) ) { break; } - } finally {dbg.exitSubRule(322);} + } finally {dbg.exitSubRule(323);} } @@ -21538,28 +21722,28 @@ public final void cssClass() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:984:5: ( ( DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) ) |{...}? DIMENSION ) - int alt325=2; - try { dbg.enterDecision(325, decisionCanBacktrack[325]); + int alt326=2; + try { dbg.enterDecision(326, decisionCanBacktrack[326]); - int LA325_0 = input.LA(1); - if ( (LA325_0==DOT) ) { - alt325=1; + int LA326_0 = input.LA(1); + if ( (LA326_0==DOT) ) { + alt326=1; } - else if ( (LA325_0==DIMENSION) ) { - alt325=2; + else if ( (LA326_0==DIMENSION) ) { + alt326=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 325, 0, input); + new NoViableAltException("", 326, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(325);} + } finally {dbg.exitDecision(326);} - switch (alt325) { + switch (alt326) { case 1 : dbg.enterAlt(1); @@ -21572,11 +21756,11 @@ else if ( (LA325_0==DIMENSION) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:984:8: DOT ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) { dbg.location(984,8); - match(input,DOT,FOLLOW_DOT_in_cssClass6411); if (state.failed) return;dbg.location(985,9); + match(input,DOT,FOLLOW_DOT_in_cssClass6431); if (state.failed) return;dbg.location(985,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:985:9: ({...}? sass_selector_interpolation_exp |{...}? less_selector_interpolation_exp | IDENT | NOT | GEN ) - int alt324=5; - try { dbg.enterSubRule(324); - try { dbg.enterDecision(324, decisionCanBacktrack[324]); + int alt325=5; + try { dbg.enterSubRule(325); + try { dbg.enterDecision(325, decisionCanBacktrack[325]); switch ( input.LA(1) ) { case IDENT: @@ -21584,12 +21768,12 @@ else if ( (LA325_0==DIMENSION) ) { switch ( input.LA(2) ) { case HASH_SYMBOL: { - int LA324_7 = input.LA(3); - if ( (LA324_7==LBRACE) ) { - alt324=1; + int LA325_7 = input.LA(3); + if ( (LA325_7==LBRACE) ) { + alt325=1; } - else if ( (LA324_7==AT_SIGN||LA324_7==IDENT||LA324_7==MINUS||LA324_7==NAME) ) { - alt324=3; + else if ( (LA325_7==AT_SIGN||LA325_7==IDENT||LA325_7==MINUS||LA325_7==NAME) ) { + alt325=3; } else { @@ -21600,7 +21784,7 @@ else if ( (LA324_7==AT_SIGN||LA324_7==IDENT||LA324_7==MINUS||LA324_7==NAME) ) { input.consume(); } NoViableAltException nvae = - new NoViableAltException("", 324, 7, input); + new NoViableAltException("", 325, 7, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -21612,7 +21796,7 @@ else if ( (LA324_7==AT_SIGN||LA324_7==IDENT||LA324_7==MINUS||LA324_7==NAME) ) { break; case AT_SIGN: { - alt324=2; + alt325=2; } break; case COLON: @@ -21635,7 +21819,7 @@ else if ( (LA324_7==AT_SIGN||LA324_7==IDENT||LA324_7==MINUS||LA324_7==NAME) ) { case TILDE: case WS: { - alt324=3; + alt325=3; } break; default: @@ -21644,7 +21828,7 @@ else if ( (LA324_7==AT_SIGN||LA324_7==IDENT||LA324_7==MINUS||LA324_7==NAME) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 324, 1, input); + new NoViableAltException("", 325, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -21655,22 +21839,22 @@ else if ( (LA324_7==AT_SIGN||LA324_7==IDENT||LA324_7==MINUS||LA324_7==NAME) ) { break; case HASH_SYMBOL: { - alt324=1; + alt325=1; } break; case AT_SIGN: { - alt324=2; + alt325=2; } break; case MINUS: { - int LA324_4 = input.LA(2); - if ( (LA324_4==HASH_SYMBOL) ) { - alt324=1; + int LA325_4 = input.LA(2); + if ( (LA325_4==HASH_SYMBOL) ) { + alt325=1; } - else if ( (LA324_4==AT_SIGN) ) { - alt324=2; + else if ( (LA325_4==AT_SIGN) ) { + alt325=2; } else { @@ -21679,7 +21863,7 @@ else if ( (LA324_4==AT_SIGN) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 324, 4, input); + new NoViableAltException("", 325, 4, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -21691,24 +21875,24 @@ else if ( (LA324_4==AT_SIGN) ) { break; case NOT: { - alt324=4; + alt325=4; } break; case GEN: { - alt324=5; + alt325=5; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 324, 0, input); + new NoViableAltException("", 325, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(324);} + } finally {dbg.exitDecision(325);} - switch (alt324) { + switch (alt325) { case 1 : dbg.enterAlt(1); @@ -21719,7 +21903,7 @@ else if ( (LA324_4==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssClass", "isScssSource()"); }dbg.location(986,33); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssClass6439); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_cssClass6459); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21735,7 +21919,7 @@ else if ( (LA324_4==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssClass", "isLessSource()"); }dbg.location(987,33); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssClass6457); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_cssClass6477); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -21747,7 +21931,7 @@ else if ( (LA324_4==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:988:15: IDENT { dbg.location(988,15); - match(input,IDENT,FOLLOW_IDENT_in_cssClass6473); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_cssClass6493); if (state.failed) return; } break; case 4 : @@ -21756,7 +21940,7 @@ else if ( (LA324_4==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:989:15: NOT { dbg.location(989,15); - match(input,NOT,FOLLOW_NOT_in_cssClass6489); if (state.failed) return; + match(input,NOT,FOLLOW_NOT_in_cssClass6509); if (state.failed) return; } break; case 5 : @@ -21765,12 +21949,12 @@ else if ( (LA324_4==AT_SIGN) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:990:15: GEN { dbg.location(990,15); - match(input,GEN,FOLLOW_GEN_in_cssClass6505); if (state.failed) return; + match(input,GEN,FOLLOW_GEN_in_cssClass6525); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(324);} + } finally {dbg.exitSubRule(325);} } @@ -21786,7 +21970,7 @@ else if ( (LA324_4==AT_SIGN) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cssClass", "tokenNameStartsWith(\".\")"); }dbg.location(992,39); - match(input,DIMENSION,FOLLOW_DIMENSION_in_cssClass6529); if (state.failed) return; + match(input,DIMENSION,FOLLOW_DIMENSION_in_cssClass6549); if (state.failed) return; } break; @@ -21881,32 +22065,32 @@ public final void slAttribute() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1005:7: LBRACKET ( namespacePrefix )? ( ws )? slAttributeName ( ws )? ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? RBRACKET { dbg.location(1005,7); - match(input,LBRACKET,FOLLOW_LBRACKET_in_slAttribute6585); if (state.failed) return;dbg.location(1006,6); + match(input,LBRACKET,FOLLOW_LBRACKET_in_slAttribute6605); if (state.failed) return;dbg.location(1006,6); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:6: ( namespacePrefix )? - int alt326=2; - try { dbg.enterSubRule(326); - try { dbg.enterDecision(326, decisionCanBacktrack[326]); + int alt327=2; + try { dbg.enterSubRule(327); + try { dbg.enterDecision(327, decisionCanBacktrack[327]); - int LA326_0 = input.LA(1); - if ( (LA326_0==IDENT) ) { - int LA326_1 = input.LA(2); - if ( (LA326_1==PIPE) ) { - alt326=1; + int LA327_0 = input.LA(1); + if ( (LA327_0==IDENT) ) { + int LA327_1 = input.LA(2); + if ( (LA327_1==PIPE) ) { + alt327=1; } } - else if ( (LA326_0==PIPE||LA326_0==STAR) ) { - alt326=1; + else if ( (LA327_0==PIPE||LA327_0==STAR) ) { + alt327=1; } - } finally {dbg.exitDecision(326);} + } finally {dbg.exitDecision(327);} - switch (alt326) { + switch (alt327) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:6: namespacePrefix { dbg.location(1006,6); - pushFollow(FOLLOW_namespacePrefix_in_slAttribute6592); + pushFollow(FOLLOW_namespacePrefix_in_slAttribute6612); namespacePrefix(); state._fsp--; if (state.failed) return; @@ -21914,27 +22098,27 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { break; } - } finally {dbg.exitSubRule(326);} + } finally {dbg.exitSubRule(327);} dbg.location(1006,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:23: ( ws )? - int alt327=2; - try { dbg.enterSubRule(327); - try { dbg.enterDecision(327, decisionCanBacktrack[327]); + int alt328=2; + try { dbg.enterSubRule(328); + try { dbg.enterDecision(328, decisionCanBacktrack[328]); - int LA327_0 = input.LA(1); - if ( (LA327_0==COMMENT||LA327_0==NL||LA327_0==WS) ) { - alt327=1; + int LA328_0 = input.LA(1); + if ( (LA328_0==COMMENT||LA328_0==NL||LA328_0==WS) ) { + alt328=1; } - } finally {dbg.exitDecision(327);} + } finally {dbg.exitDecision(328);} - switch (alt327) { + switch (alt328) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1006:23: ws { dbg.location(1006,23); - pushFollow(FOLLOW_ws_in_slAttribute6595); + pushFollow(FOLLOW_ws_in_slAttribute6615); ws(); state._fsp--; if (state.failed) return; @@ -21942,31 +22126,31 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { break; } - } finally {dbg.exitSubRule(327);} + } finally {dbg.exitSubRule(328);} dbg.location(1007,9); - pushFollow(FOLLOW_slAttributeName_in_slAttribute6606); + pushFollow(FOLLOW_slAttributeName_in_slAttribute6626); slAttributeName(); state._fsp--; if (state.failed) return;dbg.location(1007,25); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1007:25: ( ws )? - int alt328=2; - try { dbg.enterSubRule(328); - try { dbg.enterDecision(328, decisionCanBacktrack[328]); + int alt329=2; + try { dbg.enterSubRule(329); + try { dbg.enterDecision(329, decisionCanBacktrack[329]); - int LA328_0 = input.LA(1); - if ( (LA328_0==COMMENT||LA328_0==NL||LA328_0==WS) ) { - alt328=1; + int LA329_0 = input.LA(1); + if ( (LA329_0==COMMENT||LA329_0==NL||LA329_0==WS) ) { + alt329=1; } - } finally {dbg.exitDecision(328);} + } finally {dbg.exitDecision(329);} - switch (alt328) { + switch (alt329) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1007:25: ws { dbg.location(1007,25); - pushFollow(FOLLOW_ws_in_slAttribute6608); + pushFollow(FOLLOW_ws_in_slAttribute6628); ws(); state._fsp--; if (state.failed) return; @@ -21974,20 +22158,20 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { break; } - } finally {dbg.exitSubRule(328);} + } finally {dbg.exitSubRule(329);} dbg.location(1009,13); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1009:13: ( ( OPEQ | INCLUDES | DASHMATCH | BEGINS | ENDS | CONTAINS ) ( ws )? slAttributeValue ( ws )? )? - int alt331=2; - try { dbg.enterSubRule(331); - try { dbg.enterDecision(331, decisionCanBacktrack[331]); + int alt332=2; + try { dbg.enterSubRule(332); + try { dbg.enterDecision(332, decisionCanBacktrack[332]); - int LA331_0 = input.LA(1); - if ( (LA331_0==BEGINS||LA331_0==CONTAINS||LA331_0==DASHMATCH||LA331_0==ENDS||LA331_0==INCLUDES||LA331_0==OPEQ) ) { - alt331=1; + int LA332_0 = input.LA(1); + if ( (LA332_0==BEGINS||LA332_0==CONTAINS||LA332_0==DASHMATCH||LA332_0==ENDS||LA332_0==INCLUDES||LA332_0==OPEQ) ) { + alt332=1; } - } finally {dbg.exitDecision(331);} + } finally {dbg.exitDecision(332);} - switch (alt331) { + switch (alt332) { case 1 : dbg.enterAlt(1); @@ -22006,24 +22190,24 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { throw mse; }dbg.location(1018,17); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:17: ( ws )? - int alt329=2; - try { dbg.enterSubRule(329); - try { dbg.enterDecision(329, decisionCanBacktrack[329]); + int alt330=2; + try { dbg.enterSubRule(330); + try { dbg.enterDecision(330, decisionCanBacktrack[330]); - int LA329_0 = input.LA(1); - if ( (LA329_0==COMMENT||LA329_0==NL||LA329_0==WS) ) { - alt329=1; + int LA330_0 = input.LA(1); + if ( (LA330_0==COMMENT||LA330_0==NL||LA330_0==WS) ) { + alt330=1; } - } finally {dbg.exitDecision(329);} + } finally {dbg.exitDecision(330);} - switch (alt329) { + switch (alt330) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1018:17: ws { dbg.location(1018,17); - pushFollow(FOLLOW_ws_in_slAttribute6822); + pushFollow(FOLLOW_ws_in_slAttribute6842); ws(); state._fsp--; if (state.failed) return; @@ -22031,31 +22215,31 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { break; } - } finally {dbg.exitSubRule(329);} + } finally {dbg.exitSubRule(330);} dbg.location(1019,17); - pushFollow(FOLLOW_slAttributeValue_in_slAttribute6841); + pushFollow(FOLLOW_slAttributeValue_in_slAttribute6861); slAttributeValue(); state._fsp--; if (state.failed) return;dbg.location(1020,17); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1020:17: ( ws )? - int alt330=2; - try { dbg.enterSubRule(330); - try { dbg.enterDecision(330, decisionCanBacktrack[330]); + int alt331=2; + try { dbg.enterSubRule(331); + try { dbg.enterDecision(331, decisionCanBacktrack[331]); - int LA330_0 = input.LA(1); - if ( (LA330_0==COMMENT||LA330_0==NL||LA330_0==WS) ) { - alt330=1; + int LA331_0 = input.LA(1); + if ( (LA331_0==COMMENT||LA331_0==NL||LA331_0==WS) ) { + alt331=1; } - } finally {dbg.exitDecision(330);} + } finally {dbg.exitDecision(331);} - switch (alt330) { + switch (alt331) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1020:17: ws { dbg.location(1020,17); - pushFollow(FOLLOW_ws_in_slAttribute6859); + pushFollow(FOLLOW_ws_in_slAttribute6879); ws(); state._fsp--; if (state.failed) return; @@ -22063,15 +22247,15 @@ else if ( (LA326_0==PIPE||LA326_0==STAR) ) { break; } - } finally {dbg.exitSubRule(330);} + } finally {dbg.exitSubRule(331);} } break; } - } finally {dbg.exitSubRule(331);} + } finally {dbg.exitSubRule(332);} dbg.location(1023,7); - match(input,RBRACKET,FOLLOW_RBRACKET_in_slAttribute6884); if (state.failed) return; + match(input,RBRACKET,FOLLOW_RBRACKET_in_slAttribute6904); if (state.failed) return; } } @@ -22114,7 +22298,7 @@ public final void slAttributeName() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1032:4: IDENT { dbg.location(1032,4); - match(input,IDENT,FOLLOW_IDENT_in_slAttributeName6900); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_slAttributeName6920); if (state.failed) return; } } @@ -22216,22 +22400,22 @@ public final void pseudo() throws RecognitionException { throw mse; }dbg.location(1045,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1045:14: ( ( ( IDENT | GEN ) ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? ) |{...}? sass_interpolation_expression_var | ( NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) |{...}? ( IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN ) | ({...}?{...}? IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup )? RPAREN ) ) - int alt348=5; - try { dbg.enterSubRule(348); - try { dbg.enterDecision(348, decisionCanBacktrack[348]); + int alt349=5; + try { dbg.enterSubRule(349); + try { dbg.enterDecision(349, decisionCanBacktrack[349]); switch ( input.LA(1) ) { case IDENT: { - int LA348_1 = input.LA(2); + int LA349_1 = input.LA(2); if ( (!(evalPredicate(((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\")")&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(tokenNameEquals("is") || tokenNameEquals("where") || tokenNameEquals("has"),"tokenNameEquals(\"is\") || tokenNameEquals(\"where\") || tokenNameEquals(\"has\")")),""))) ) { - alt348=1; + alt349=1; } else if ( (evalPredicate(tokenNameEquals("is") || tokenNameEquals("where") || tokenNameEquals("has"),"tokenNameEquals(\"is\") || tokenNameEquals(\"where\") || tokenNameEquals(\"has\")")) ) { - alt348=4; + alt349=4; } else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\")")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt348=5; + alt349=5; } else { @@ -22240,7 +22424,7 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 348, 1, input); + new NoViableAltException("", 349, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -22252,29 +22436,29 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") break; case HASH_SYMBOL: { - alt348=2; + alt349=2; } break; case NOT: { - alt348=3; + alt349=3; } break; case GEN: { - alt348=1; + alt349=1; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 348, 0, input); + new NoViableAltException("", 349, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(348);} + } finally {dbg.exitDecision(349);} - switch (alt348) { + switch (alt349) { case 1 : dbg.enterAlt(1); @@ -22299,21 +22483,21 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") throw mse; }dbg.location(1048,21); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1048:21: ( ( ws )? LPAREN ( ws )? ( ( expression ( ws )? ) | STAR )? RPAREN )? - int alt336=2; - try { dbg.enterSubRule(336); - try { dbg.enterDecision(336, decisionCanBacktrack[336]); + int alt337=2; + try { dbg.enterSubRule(337); + try { dbg.enterDecision(337, decisionCanBacktrack[337]); try { isCyclicDecision = true; - alt336 = dfa336.predict(input); + alt337 = dfa337.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(336);} + } finally {dbg.exitDecision(337);} - switch (alt336) { + switch (alt337) { case 1 : dbg.enterAlt(1); @@ -22321,24 +22505,24 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") { dbg.location(1049,25); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:25: ( ws )? - int alt332=2; - try { dbg.enterSubRule(332); - try { dbg.enterDecision(332, decisionCanBacktrack[332]); + int alt333=2; + try { dbg.enterSubRule(333); + try { dbg.enterDecision(333, decisionCanBacktrack[333]); - int LA332_0 = input.LA(1); - if ( (LA332_0==COMMENT||LA332_0==NL||LA332_0==WS) ) { - alt332=1; + int LA333_0 = input.LA(1); + if ( (LA333_0==COMMENT||LA333_0==NL||LA333_0==WS) ) { + alt333=1; } - } finally {dbg.exitDecision(332);} + } finally {dbg.exitDecision(333);} - switch (alt332) { + switch (alt333) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:25: ws { dbg.location(1049,25); - pushFollow(FOLLOW_ws_in_pseudo7092); + pushFollow(FOLLOW_ws_in_pseudo7112); ws(); state._fsp--; if (state.failed) return; @@ -22346,28 +22530,28 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") break; } - } finally {dbg.exitSubRule(332);} + } finally {dbg.exitSubRule(333);} dbg.location(1049,29); - match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7095); if (state.failed) return;dbg.location(1049,36); + match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7115); if (state.failed) return;dbg.location(1049,36); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:36: ( ws )? - int alt333=2; - try { dbg.enterSubRule(333); - try { dbg.enterDecision(333, decisionCanBacktrack[333]); + int alt334=2; + try { dbg.enterSubRule(334); + try { dbg.enterDecision(334, decisionCanBacktrack[334]); - int LA333_0 = input.LA(1); - if ( (LA333_0==COMMENT||LA333_0==NL||LA333_0==WS) ) { - alt333=1; + int LA334_0 = input.LA(1); + if ( (LA334_0==COMMENT||LA334_0==NL||LA334_0==WS) ) { + alt334=1; } - } finally {dbg.exitDecision(333);} + } finally {dbg.exitDecision(334);} - switch (alt333) { + switch (alt334) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:36: ws { dbg.location(1049,36); - pushFollow(FOLLOW_ws_in_pseudo7097); + pushFollow(FOLLOW_ws_in_pseudo7117); ws(); state._fsp--; if (state.failed) return; @@ -22375,23 +22559,23 @@ else if ( ((evalPredicate(tokenNameEquals("extend"),"tokenNameEquals(\"extend\") break; } - } finally {dbg.exitSubRule(333);} + } finally {dbg.exitSubRule(334);} dbg.location(1049,40); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:40: ( ( expression ( ws )? ) | STAR )? - int alt335=3; - try { dbg.enterSubRule(335); - try { dbg.enterDecision(335, decisionCanBacktrack[335]); + int alt336=3; + try { dbg.enterSubRule(336); + try { dbg.enterDecision(336, decisionCanBacktrack[336]); - int LA335_0 = input.LA(1); - if ( ((LA335_0 >= ANGLE && LA335_0 <= AT_SIGN)||(LA335_0 >= BOTTOMCENTER_SYM && LA335_0 <= BOTTOMRIGHT_SYM)||LA335_0==CHARSET_SYM||LA335_0==COUNTER_STYLE_SYM||LA335_0==DIMENSION||LA335_0==EMS||LA335_0==EXS||(LA335_0 >= FONT_FACE_SYM && LA335_0 <= FREQ)||LA335_0==GEN||(LA335_0 >= HASH && LA335_0 <= HASH_SYMBOL)||LA335_0==IDENT||LA335_0==IMPORT_SYM||(LA335_0 >= LBRACKET && LA335_0 <= LENGTH)||(LA335_0 >= LESS_AND && LA335_0 <= LESS_JS_STRING)||(LA335_0 >= MEDIA_SYM && LA335_0 <= MOZ_DOCUMENT_SYM)||LA335_0==NAMESPACE_SYM||LA335_0==NUMBER||(LA335_0 >= PAGE_SYM && LA335_0 <= PERCENTAGE_SYMBOL)||LA335_0==PLUS||(LA335_0 >= REM && LA335_0 <= RIGHTTOP_SYM)||(LA335_0 >= SASS_AT_ROOT && LA335_0 <= SASS_DEBUG)||(LA335_0 >= SASS_EACH && LA335_0 <= SASS_ELSE)||LA335_0==SASS_EXTEND||(LA335_0 >= SASS_FOR && LA335_0 <= SASS_FUNCTION)||(LA335_0 >= SASS_IF && LA335_0 <= SASS_MIXIN)||(LA335_0 >= SASS_RETURN && LA335_0 <= SASS_WHILE)||LA335_0==STRING||(LA335_0 >= TILDE && LA335_0 <= TOPRIGHT_SYM)||(LA335_0 >= URANGE && LA335_0 <= URI)||LA335_0==VARIABLE||LA335_0==WEBKIT_KEYFRAMES_SYM) ) { - alt335=1; + int LA336_0 = input.LA(1); + if ( ((LA336_0 >= ANGLE && LA336_0 <= AT_SIGN)||(LA336_0 >= BOTTOMCENTER_SYM && LA336_0 <= BOTTOMRIGHT_SYM)||LA336_0==CHARSET_SYM||LA336_0==COUNTER_STYLE_SYM||LA336_0==DIMENSION||LA336_0==EMS||LA336_0==EXS||(LA336_0 >= FONT_FACE_SYM && LA336_0 <= FREQ)||LA336_0==GEN||(LA336_0 >= HASH && LA336_0 <= HASH_SYMBOL)||LA336_0==IDENT||LA336_0==IMPORT_SYM||LA336_0==KEYFRAMES_SYM||(LA336_0 >= LBRACKET && LA336_0 <= LENGTH)||(LA336_0 >= LESS_AND && LA336_0 <= LESS_JS_STRING)||(LA336_0 >= MEDIA_SYM && LA336_0 <= MOZ_DOCUMENT_SYM)||LA336_0==NAMESPACE_SYM||LA336_0==NUMBER||(LA336_0 >= PAGE_SYM && LA336_0 <= PERCENTAGE_SYMBOL)||LA336_0==PLUS||(LA336_0 >= REM && LA336_0 <= RIGHTTOP_SYM)||(LA336_0 >= SASS_AT_ROOT && LA336_0 <= SASS_DEBUG)||(LA336_0 >= SASS_EACH && LA336_0 <= SASS_ELSE)||LA336_0==SASS_EXTEND||(LA336_0 >= SASS_FOR && LA336_0 <= SASS_FUNCTION)||(LA336_0 >= SASS_IF && LA336_0 <= SASS_MIXIN)||(LA336_0 >= SASS_RETURN && LA336_0 <= SASS_WHILE)||LA336_0==STRING||(LA336_0 >= TILDE && LA336_0 <= TOPRIGHT_SYM)||(LA336_0 >= URANGE && LA336_0 <= URI)||LA336_0==VARIABLE||LA336_0==WEBKIT_KEYFRAMES_SYM) ) { + alt336=1; } - else if ( (LA335_0==STAR) ) { - alt335=2; + else if ( (LA336_0==STAR) ) { + alt336=2; } - } finally {dbg.exitDecision(335);} + } finally {dbg.exitDecision(336);} - switch (alt335) { + switch (alt336) { case 1 : dbg.enterAlt(1); @@ -22404,29 +22588,29 @@ else if ( (LA335_0==STAR) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:43: expression ( ws )? { dbg.location(1049,43); - pushFollow(FOLLOW_expression_in_pseudo7103); + pushFollow(FOLLOW_expression_in_pseudo7123); expression(); state._fsp--; if (state.failed) return;dbg.location(1049,54); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:54: ( ws )? - int alt334=2; - try { dbg.enterSubRule(334); - try { dbg.enterDecision(334, decisionCanBacktrack[334]); + int alt335=2; + try { dbg.enterSubRule(335); + try { dbg.enterDecision(335, decisionCanBacktrack[335]); - int LA334_0 = input.LA(1); - if ( (LA334_0==COMMENT||LA334_0==NL||LA334_0==WS) ) { - alt334=1; + int LA335_0 = input.LA(1); + if ( (LA335_0==COMMENT||LA335_0==NL||LA335_0==WS) ) { + alt335=1; } - } finally {dbg.exitDecision(334);} + } finally {dbg.exitDecision(335);} - switch (alt334) { + switch (alt335) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:54: ws { dbg.location(1049,54); - pushFollow(FOLLOW_ws_in_pseudo7105); + pushFollow(FOLLOW_ws_in_pseudo7125); ws(); state._fsp--; if (state.failed) return; @@ -22434,7 +22618,7 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(334);} + } finally {dbg.exitSubRule(335);} } @@ -22446,19 +22630,19 @@ else if ( (LA335_0==STAR) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1049:61: STAR { dbg.location(1049,61); - match(input,STAR,FOLLOW_STAR_in_pseudo7111); if (state.failed) return; + match(input,STAR,FOLLOW_STAR_in_pseudo7131); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(335);} + } finally {dbg.exitSubRule(336);} dbg.location(1049,69); - match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7116); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7136); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(336);} + } finally {dbg.exitSubRule(337);} } @@ -22474,7 +22658,7 @@ else if ( (LA335_0==STAR) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "pseudo", "isScssSource()"); }dbg.location(1052,37); - pushFollow(FOLLOW_sass_interpolation_expression_var_in_pseudo7179); + pushFollow(FOLLOW_sass_interpolation_expression_var_in_pseudo7199); sass_interpolation_expression_var(); state._fsp--; if (state.failed) return; @@ -22492,26 +22676,26 @@ else if ( (LA335_0==STAR) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:21: NOT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN { dbg.location(1053,21); - match(input,NOT,FOLLOW_NOT_in_pseudo7201); if (state.failed) return;dbg.location(1053,25); + match(input,NOT,FOLLOW_NOT_in_pseudo7221); if (state.failed) return;dbg.location(1053,25); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:25: ( ws )? - int alt337=2; - try { dbg.enterSubRule(337); - try { dbg.enterDecision(337, decisionCanBacktrack[337]); + int alt338=2; + try { dbg.enterSubRule(338); + try { dbg.enterDecision(338, decisionCanBacktrack[338]); - int LA337_0 = input.LA(1); - if ( (LA337_0==COMMENT||LA337_0==NL||LA337_0==WS) ) { - alt337=1; + int LA338_0 = input.LA(1); + if ( (LA338_0==COMMENT||LA338_0==NL||LA338_0==WS) ) { + alt338=1; } - } finally {dbg.exitDecision(337);} + } finally {dbg.exitDecision(338);} - switch (alt337) { + switch (alt338) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:25: ws { dbg.location(1053,25); - pushFollow(FOLLOW_ws_in_pseudo7203); + pushFollow(FOLLOW_ws_in_pseudo7223); ws(); state._fsp--; if (state.failed) return; @@ -22519,28 +22703,28 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(337);} + } finally {dbg.exitSubRule(338);} dbg.location(1053,29); - match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7206); if (state.failed) return;dbg.location(1053,36); + match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7226); if (state.failed) return;dbg.location(1053,36); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:36: ( ws )? - int alt338=2; - try { dbg.enterSubRule(338); - try { dbg.enterDecision(338, decisionCanBacktrack[338]); + int alt339=2; + try { dbg.enterSubRule(339); + try { dbg.enterDecision(339, decisionCanBacktrack[339]); - int LA338_0 = input.LA(1); - if ( (LA338_0==COMMENT||LA338_0==NL||LA338_0==WS) ) { - alt338=1; + int LA339_0 = input.LA(1); + if ( (LA339_0==COMMENT||LA339_0==NL||LA339_0==WS) ) { + alt339=1; } - } finally {dbg.exitDecision(338);} + } finally {dbg.exitDecision(339);} - switch (alt338) { + switch (alt339) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:36: ws { dbg.location(1053,36); - pushFollow(FOLLOW_ws_in_pseudo7208); + pushFollow(FOLLOW_ws_in_pseudo7228); ws(); state._fsp--; if (state.failed) return; @@ -22548,49 +22732,49 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(338);} + } finally {dbg.exitSubRule(339);} dbg.location(1053,40); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:40: ( selectorsGroup ( ws )? )? - int alt340=2; - try { dbg.enterSubRule(340); - try { dbg.enterDecision(340, decisionCanBacktrack[340]); + int alt341=2; + try { dbg.enterSubRule(341); + try { dbg.enterDecision(341, decisionCanBacktrack[341]); - int LA340_0 = input.LA(1); - if ( (LA340_0==AT_SIGN||LA340_0==COLON||(LA340_0 >= DCOLON && LA340_0 <= DOT)||(LA340_0 >= GEN && LA340_0 <= GREATER)||(LA340_0 >= HASH && LA340_0 <= HASH_SYMBOL)||LA340_0==IDENT||LA340_0==LBRACKET||LA340_0==LESS_AND||LA340_0==MINUS||(LA340_0 >= PIPE && LA340_0 <= PLUS)||LA340_0==SASS_EXTEND_ONLY_SELECTOR||LA340_0==STAR||LA340_0==TILDE) ) { - alt340=1; + int LA341_0 = input.LA(1); + if ( (LA341_0==AT_SIGN||LA341_0==COLON||(LA341_0 >= DCOLON && LA341_0 <= DOT)||(LA341_0 >= GEN && LA341_0 <= GREATER)||(LA341_0 >= HASH && LA341_0 <= HASH_SYMBOL)||LA341_0==IDENT||LA341_0==LBRACKET||LA341_0==LESS_AND||LA341_0==MINUS||(LA341_0 >= PIPE && LA341_0 <= PLUS)||LA341_0==SASS_EXTEND_ONLY_SELECTOR||LA341_0==STAR||LA341_0==TILDE) ) { + alt341=1; } - } finally {dbg.exitDecision(340);} + } finally {dbg.exitDecision(341);} - switch (alt340) { + switch (alt341) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:42: selectorsGroup ( ws )? { dbg.location(1053,42); - pushFollow(FOLLOW_selectorsGroup_in_pseudo7213); + pushFollow(FOLLOW_selectorsGroup_in_pseudo7233); selectorsGroup(); state._fsp--; if (state.failed) return;dbg.location(1053,57); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:57: ( ws )? - int alt339=2; - try { dbg.enterSubRule(339); - try { dbg.enterDecision(339, decisionCanBacktrack[339]); + int alt340=2; + try { dbg.enterSubRule(340); + try { dbg.enterDecision(340, decisionCanBacktrack[340]); - int LA339_0 = input.LA(1); - if ( (LA339_0==COMMENT||LA339_0==NL||LA339_0==WS) ) { - alt339=1; + int LA340_0 = input.LA(1); + if ( (LA340_0==COMMENT||LA340_0==NL||LA340_0==WS) ) { + alt340=1; } - } finally {dbg.exitDecision(339);} + } finally {dbg.exitDecision(340);} - switch (alt339) { + switch (alt340) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1053:57: ws { dbg.location(1053,57); - pushFollow(FOLLOW_ws_in_pseudo7215); + pushFollow(FOLLOW_ws_in_pseudo7235); ws(); state._fsp--; if (state.failed) return; @@ -22598,15 +22782,15 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(339);} + } finally {dbg.exitSubRule(340);} } break; } - } finally {dbg.exitSubRule(340);} + } finally {dbg.exitSubRule(341);} dbg.location(1053,63); - match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7220); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7240); if (state.failed) return; } } @@ -22627,26 +22811,26 @@ else if ( (LA335_0==STAR) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:100: IDENT ( ws )? LPAREN ( ws )? ( selectorsGroup ( ws )? )? RPAREN { dbg.location(1054,100); - match(input,IDENT,FOLLOW_IDENT_in_pseudo7246); if (state.failed) return;dbg.location(1054,106); + match(input,IDENT,FOLLOW_IDENT_in_pseudo7266); if (state.failed) return;dbg.location(1054,106); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:106: ( ws )? - int alt341=2; - try { dbg.enterSubRule(341); - try { dbg.enterDecision(341, decisionCanBacktrack[341]); + int alt342=2; + try { dbg.enterSubRule(342); + try { dbg.enterDecision(342, decisionCanBacktrack[342]); - int LA341_0 = input.LA(1); - if ( (LA341_0==COMMENT||LA341_0==NL||LA341_0==WS) ) { - alt341=1; + int LA342_0 = input.LA(1); + if ( (LA342_0==COMMENT||LA342_0==NL||LA342_0==WS) ) { + alt342=1; } - } finally {dbg.exitDecision(341);} + } finally {dbg.exitDecision(342);} - switch (alt341) { + switch (alt342) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:106: ws { dbg.location(1054,106); - pushFollow(FOLLOW_ws_in_pseudo7248); + pushFollow(FOLLOW_ws_in_pseudo7268); ws(); state._fsp--; if (state.failed) return; @@ -22654,28 +22838,28 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(341);} + } finally {dbg.exitSubRule(342);} dbg.location(1054,110); - match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7251); if (state.failed) return;dbg.location(1054,117); + match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7271); if (state.failed) return;dbg.location(1054,117); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:117: ( ws )? - int alt342=2; - try { dbg.enterSubRule(342); - try { dbg.enterDecision(342, decisionCanBacktrack[342]); + int alt343=2; + try { dbg.enterSubRule(343); + try { dbg.enterDecision(343, decisionCanBacktrack[343]); - int LA342_0 = input.LA(1); - if ( (LA342_0==COMMENT||LA342_0==NL||LA342_0==WS) ) { - alt342=1; + int LA343_0 = input.LA(1); + if ( (LA343_0==COMMENT||LA343_0==NL||LA343_0==WS) ) { + alt343=1; } - } finally {dbg.exitDecision(342);} + } finally {dbg.exitDecision(343);} - switch (alt342) { + switch (alt343) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:117: ws { dbg.location(1054,117); - pushFollow(FOLLOW_ws_in_pseudo7253); + pushFollow(FOLLOW_ws_in_pseudo7273); ws(); state._fsp--; if (state.failed) return; @@ -22683,49 +22867,49 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(342);} + } finally {dbg.exitSubRule(343);} dbg.location(1054,121); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:121: ( selectorsGroup ( ws )? )? - int alt344=2; - try { dbg.enterSubRule(344); - try { dbg.enterDecision(344, decisionCanBacktrack[344]); + int alt345=2; + try { dbg.enterSubRule(345); + try { dbg.enterDecision(345, decisionCanBacktrack[345]); - int LA344_0 = input.LA(1); - if ( (LA344_0==AT_SIGN||LA344_0==COLON||(LA344_0 >= DCOLON && LA344_0 <= DOT)||(LA344_0 >= GEN && LA344_0 <= GREATER)||(LA344_0 >= HASH && LA344_0 <= HASH_SYMBOL)||LA344_0==IDENT||LA344_0==LBRACKET||LA344_0==LESS_AND||LA344_0==MINUS||(LA344_0 >= PIPE && LA344_0 <= PLUS)||LA344_0==SASS_EXTEND_ONLY_SELECTOR||LA344_0==STAR||LA344_0==TILDE) ) { - alt344=1; + int LA345_0 = input.LA(1); + if ( (LA345_0==AT_SIGN||LA345_0==COLON||(LA345_0 >= DCOLON && LA345_0 <= DOT)||(LA345_0 >= GEN && LA345_0 <= GREATER)||(LA345_0 >= HASH && LA345_0 <= HASH_SYMBOL)||LA345_0==IDENT||LA345_0==LBRACKET||LA345_0==LESS_AND||LA345_0==MINUS||(LA345_0 >= PIPE && LA345_0 <= PLUS)||LA345_0==SASS_EXTEND_ONLY_SELECTOR||LA345_0==STAR||LA345_0==TILDE) ) { + alt345=1; } - } finally {dbg.exitDecision(344);} + } finally {dbg.exitDecision(345);} - switch (alt344) { + switch (alt345) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:123: selectorsGroup ( ws )? { dbg.location(1054,123); - pushFollow(FOLLOW_selectorsGroup_in_pseudo7258); + pushFollow(FOLLOW_selectorsGroup_in_pseudo7278); selectorsGroup(); state._fsp--; if (state.failed) return;dbg.location(1054,138); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:138: ( ws )? - int alt343=2; - try { dbg.enterSubRule(343); - try { dbg.enterDecision(343, decisionCanBacktrack[343]); + int alt344=2; + try { dbg.enterSubRule(344); + try { dbg.enterDecision(344, decisionCanBacktrack[344]); - int LA343_0 = input.LA(1); - if ( (LA343_0==COMMENT||LA343_0==NL||LA343_0==WS) ) { - alt343=1; + int LA344_0 = input.LA(1); + if ( (LA344_0==COMMENT||LA344_0==NL||LA344_0==WS) ) { + alt344=1; } - } finally {dbg.exitDecision(343);} + } finally {dbg.exitDecision(344);} - switch (alt343) { + switch (alt344) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1054:138: ws { dbg.location(1054,138); - pushFollow(FOLLOW_ws_in_pseudo7260); + pushFollow(FOLLOW_ws_in_pseudo7280); ws(); state._fsp--; if (state.failed) return; @@ -22733,15 +22917,15 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(343);} + } finally {dbg.exitSubRule(344);} } break; } - } finally {dbg.exitSubRule(344);} + } finally {dbg.exitSubRule(345);} dbg.location(1054,144); - match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7265); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7285); if (state.failed) return; } } @@ -22766,26 +22950,26 @@ else if ( (LA335_0==STAR) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "pseudo", "tokenNameEquals(\"extend\")"); }dbg.location(1055,67); - match(input,IDENT,FOLLOW_IDENT_in_pseudo7292); if (state.failed) return;dbg.location(1055,73); + match(input,IDENT,FOLLOW_IDENT_in_pseudo7312); if (state.failed) return;dbg.location(1055,73); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:73: ( ws )? - int alt345=2; - try { dbg.enterSubRule(345); - try { dbg.enterDecision(345, decisionCanBacktrack[345]); + int alt346=2; + try { dbg.enterSubRule(346); + try { dbg.enterDecision(346, decisionCanBacktrack[346]); - int LA345_0 = input.LA(1); - if ( (LA345_0==COMMENT||LA345_0==NL||LA345_0==WS) ) { - alt345=1; + int LA346_0 = input.LA(1); + if ( (LA346_0==COMMENT||LA346_0==NL||LA346_0==WS) ) { + alt346=1; } - } finally {dbg.exitDecision(345);} + } finally {dbg.exitDecision(346);} - switch (alt345) { + switch (alt346) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:73: ws { dbg.location(1055,73); - pushFollow(FOLLOW_ws_in_pseudo7294); + pushFollow(FOLLOW_ws_in_pseudo7314); ws(); state._fsp--; if (state.failed) return; @@ -22793,28 +22977,28 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(345);} + } finally {dbg.exitSubRule(346);} dbg.location(1055,77); - match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7297); if (state.failed) return;dbg.location(1055,84); + match(input,LPAREN,FOLLOW_LPAREN_in_pseudo7317); if (state.failed) return;dbg.location(1055,84); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:84: ( ws )? - int alt346=2; - try { dbg.enterSubRule(346); - try { dbg.enterDecision(346, decisionCanBacktrack[346]); + int alt347=2; + try { dbg.enterSubRule(347); + try { dbg.enterDecision(347, decisionCanBacktrack[347]); - int LA346_0 = input.LA(1); - if ( (LA346_0==COMMENT||LA346_0==NL||LA346_0==WS) ) { - alt346=1; + int LA347_0 = input.LA(1); + if ( (LA347_0==COMMENT||LA347_0==NL||LA347_0==WS) ) { + alt347=1; } - } finally {dbg.exitDecision(346);} + } finally {dbg.exitDecision(347);} - switch (alt346) { + switch (alt347) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:84: ws { dbg.location(1055,84); - pushFollow(FOLLOW_ws_in_pseudo7299); + pushFollow(FOLLOW_ws_in_pseudo7319); ws(); state._fsp--; if (state.failed) return; @@ -22822,27 +23006,27 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(346);} + } finally {dbg.exitSubRule(347);} dbg.location(1055,88); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:88: ( selectorsGroup )? - int alt347=2; - try { dbg.enterSubRule(347); - try { dbg.enterDecision(347, decisionCanBacktrack[347]); + int alt348=2; + try { dbg.enterSubRule(348); + try { dbg.enterDecision(348, decisionCanBacktrack[348]); - int LA347_0 = input.LA(1); - if ( (LA347_0==AT_SIGN||LA347_0==COLON||(LA347_0 >= DCOLON && LA347_0 <= DOT)||(LA347_0 >= GEN && LA347_0 <= GREATER)||(LA347_0 >= HASH && LA347_0 <= HASH_SYMBOL)||LA347_0==IDENT||LA347_0==LBRACKET||LA347_0==LESS_AND||LA347_0==MINUS||(LA347_0 >= PIPE && LA347_0 <= PLUS)||LA347_0==SASS_EXTEND_ONLY_SELECTOR||LA347_0==STAR||LA347_0==TILDE) ) { - alt347=1; + int LA348_0 = input.LA(1); + if ( (LA348_0==AT_SIGN||LA348_0==COLON||(LA348_0 >= DCOLON && LA348_0 <= DOT)||(LA348_0 >= GEN && LA348_0 <= GREATER)||(LA348_0 >= HASH && LA348_0 <= HASH_SYMBOL)||LA348_0==IDENT||LA348_0==LBRACKET||LA348_0==LESS_AND||LA348_0==MINUS||(LA348_0 >= PIPE && LA348_0 <= PLUS)||LA348_0==SASS_EXTEND_ONLY_SELECTOR||LA348_0==STAR||LA348_0==TILDE) ) { + alt348=1; } - } finally {dbg.exitDecision(347);} + } finally {dbg.exitDecision(348);} - switch (alt347) { + switch (alt348) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1055:88: selectorsGroup { dbg.location(1055,88); - pushFollow(FOLLOW_selectorsGroup_in_pseudo7302); + pushFollow(FOLLOW_selectorsGroup_in_pseudo7322); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -22850,16 +23034,16 @@ else if ( (LA335_0==STAR) ) { break; } - } finally {dbg.exitSubRule(347);} + } finally {dbg.exitSubRule(348);} dbg.location(1055,104); - match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7305); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_pseudo7325); if (state.failed) return; } } break; } - } finally {dbg.exitSubRule(348);} + } finally {dbg.exitSubRule(349);} } @@ -22895,48 +23079,48 @@ public final void propertyDeclaration() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1060:5: ({...}? ( STAR )? property ( ws )? COLON ( ws )? cp_propertyValue |{...}? property ( ws )? COLON ( ws )? ( componentValueOuter )? | ( STAR )? property ( ws )? COLON ( ws )? propertyValue ( ( ws )? prio )? ) - int alt360=3; - try { dbg.enterDecision(360, decisionCanBacktrack[360]); + int alt361=3; + try { dbg.enterDecision(361, decisionCanBacktrack[361]); switch ( input.LA(1) ) { case STAR: { - int LA360_1 = input.LA(2); + int LA361_1 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")) ) { - alt360=1; + alt361=1; } else if ( (true) ) { - alt360=3; + alt361=3; } } break; case IDENT: { - int LA360_2 = input.LA(2); + int LA361_2 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")) ) { - alt360=1; + alt361=1; } else if ( (evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")) ) { - alt360=2; + alt361=2; } else if ( (true) ) { - alt360=3; + alt361=3; } } break; case HASH_SYMBOL: { - int LA360_3 = input.LA(2); + int LA361_3 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt360=1; + alt361=1; } else if ( ((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt360=2; + alt361=2; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt360=3; + alt361=3; } else { @@ -22945,7 +23129,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 360, 3, input); + new NoViableAltException("", 361, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -22957,15 +23141,15 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case AT_SIGN: { - int LA360_4 = input.LA(2); + int LA361_4 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt360=1; + alt361=1; } else if ( ((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt360=2; + alt361=2; } else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt360=3; + alt361=3; } else { @@ -22974,7 +23158,7 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 360, 4, input); + new NoViableAltException("", 361, 4, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -22986,30 +23170,30 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { break; case VARIABLE: { - int LA360_5 = input.LA(2); + int LA361_5 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")) ) { - alt360=1; + alt361=1; } else if ( (evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")) ) { - alt360=2; + alt361=2; } else if ( (true) ) { - alt360=3; + alt361=3; } } break; case MINUS: { - int LA360_6 = input.LA(2); + int LA361_6 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) { - alt360=1; + alt361=1; } else if ( ((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&(evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()")))) ) { - alt360=2; + alt361=2; } else if ( ((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt360=3; + alt361=3; } else { @@ -23018,7 +23202,7 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScss try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 360, 6, input); + new NoViableAltException("", 361, 6, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -23030,15 +23214,15 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")||evalPredicate(isScss break; case GEN: { - int LA360_7 = input.LA(2); + int LA361_7 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")) ) { - alt360=1; + alt361=1; } else if ( (evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")) ) { - alt360=2; + alt361=2; } else if ( (true) ) { - alt360=3; + alt361=3; } } @@ -23053,6 +23237,7 @@ else if ( (true) ) { case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -23086,15 +23271,15 @@ else if ( (true) ) { case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - int LA360_8 = input.LA(2); + int LA361_8 = input.LA(2); if ( (((evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt360=1; + alt361=1; } else if ( (((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt360=2; + alt361=2; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt360=3; + alt361=3; } else { @@ -23103,7 +23288,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 360, 8, input); + new NoViableAltException("", 361, 8, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -23115,15 +23300,15 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case SASS_VAR: { - int LA360_9 = input.LA(2); + int LA361_9 = input.LA(2); if ( (((evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt360=1; + alt361=1; } else if ( (((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt360=2; + alt361=2; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt360=3; + alt361=3; } else { @@ -23132,7 +23317,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 360, 9, input); + new NoViableAltException("", 361, 9, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -23145,13 +23330,13 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 360, 0, input); + new NoViableAltException("", 361, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(360);} + } finally {dbg.exitDecision(361);} - switch (alt360) { + switch (alt361) { case 1 : dbg.enterAlt(1); @@ -23163,53 +23348,53 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") throw new FailedPredicateException(input, "propertyDeclaration", "isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")"); }dbg.location(1061,66); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:66: ( STAR )? - int alt349=2; - try { dbg.enterSubRule(349); - try { dbg.enterDecision(349, decisionCanBacktrack[349]); + int alt350=2; + try { dbg.enterSubRule(350); + try { dbg.enterDecision(350, decisionCanBacktrack[350]); - int LA349_0 = input.LA(1); - if ( (LA349_0==STAR) ) { - alt349=1; + int LA350_0 = input.LA(1); + if ( (LA350_0==STAR) ) { + alt350=1; } - } finally {dbg.exitDecision(349);} + } finally {dbg.exitDecision(350);} - switch (alt349) { + switch (alt350) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:66: STAR { dbg.location(1061,66); - match(input,STAR,FOLLOW_STAR_in_propertyDeclaration7347); if (state.failed) return; + match(input,STAR,FOLLOW_STAR_in_propertyDeclaration7367); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(349);} + } finally {dbg.exitSubRule(350);} dbg.location(1061,72); - pushFollow(FOLLOW_property_in_propertyDeclaration7350); + pushFollow(FOLLOW_property_in_propertyDeclaration7370); property(); state._fsp--; if (state.failed) return;dbg.location(1061,81); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:81: ( ws )? - int alt350=2; - try { dbg.enterSubRule(350); - try { dbg.enterDecision(350, decisionCanBacktrack[350]); + int alt351=2; + try { dbg.enterSubRule(351); + try { dbg.enterDecision(351, decisionCanBacktrack[351]); - int LA350_0 = input.LA(1); - if ( (LA350_0==COMMENT||LA350_0==NL||LA350_0==WS) ) { - alt350=1; + int LA351_0 = input.LA(1); + if ( (LA351_0==COMMENT||LA351_0==NL||LA351_0==WS) ) { + alt351=1; } - } finally {dbg.exitDecision(350);} + } finally {dbg.exitDecision(351);} - switch (alt350) { + switch (alt351) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:81: ws { dbg.location(1061,81); - pushFollow(FOLLOW_ws_in_propertyDeclaration7352); + pushFollow(FOLLOW_ws_in_propertyDeclaration7372); ws(); state._fsp--; if (state.failed) return; @@ -23217,28 +23402,28 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(350);} + } finally {dbg.exitSubRule(351);} dbg.location(1061,85); - match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7355); if (state.failed) return;dbg.location(1061,91); + match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7375); if (state.failed) return;dbg.location(1061,91); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:91: ( ws )? - int alt351=2; - try { dbg.enterSubRule(351); - try { dbg.enterDecision(351, decisionCanBacktrack[351]); + int alt352=2; + try { dbg.enterSubRule(352); + try { dbg.enterDecision(352, decisionCanBacktrack[352]); - int LA351_0 = input.LA(1); - if ( (LA351_0==COMMENT||LA351_0==NL||LA351_0==WS) ) { - alt351=1; + int LA352_0 = input.LA(1); + if ( (LA352_0==COMMENT||LA352_0==NL||LA352_0==WS) ) { + alt352=1; } - } finally {dbg.exitDecision(351);} + } finally {dbg.exitDecision(352);} - switch (alt351) { + switch (alt352) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1061:91: ws { dbg.location(1061,91); - pushFollow(FOLLOW_ws_in_propertyDeclaration7357); + pushFollow(FOLLOW_ws_in_propertyDeclaration7377); ws(); state._fsp--; if (state.failed) return; @@ -23246,9 +23431,9 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(351);} + } finally {dbg.exitSubRule(352);} dbg.location(1061,95); - pushFollow(FOLLOW_cp_propertyValue_in_propertyDeclaration7360); + pushFollow(FOLLOW_cp_propertyValue_in_propertyDeclaration7380); cp_propertyValue(); state._fsp--; if (state.failed) return; @@ -23264,29 +23449,29 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "propertyDeclaration", "tokenNameStartsWith(\"--\")"); }dbg.location(1062,36); - pushFollow(FOLLOW_property_in_propertyDeclaration7371); + pushFollow(FOLLOW_property_in_propertyDeclaration7391); property(); state._fsp--; if (state.failed) return;dbg.location(1062,45); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:45: ( ws )? - int alt352=2; - try { dbg.enterSubRule(352); - try { dbg.enterDecision(352, decisionCanBacktrack[352]); + int alt353=2; + try { dbg.enterSubRule(353); + try { dbg.enterDecision(353, decisionCanBacktrack[353]); - int LA352_0 = input.LA(1); - if ( (LA352_0==COMMENT||LA352_0==NL||LA352_0==WS) ) { - alt352=1; + int LA353_0 = input.LA(1); + if ( (LA353_0==COMMENT||LA353_0==NL||LA353_0==WS) ) { + alt353=1; } - } finally {dbg.exitDecision(352);} + } finally {dbg.exitDecision(353);} - switch (alt352) { + switch (alt353) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:45: ws { dbg.location(1062,45); - pushFollow(FOLLOW_ws_in_propertyDeclaration7373); + pushFollow(FOLLOW_ws_in_propertyDeclaration7393); ws(); state._fsp--; if (state.failed) return; @@ -23294,28 +23479,28 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(352);} + } finally {dbg.exitSubRule(353);} dbg.location(1062,49); - match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7376); if (state.failed) return;dbg.location(1062,55); + match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7396); if (state.failed) return;dbg.location(1062,55); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:55: ( ws )? - int alt353=2; - try { dbg.enterSubRule(353); - try { dbg.enterDecision(353, decisionCanBacktrack[353]); + int alt354=2; + try { dbg.enterSubRule(354); + try { dbg.enterDecision(354, decisionCanBacktrack[354]); - int LA353_0 = input.LA(1); - if ( (LA353_0==COMMENT||LA353_0==NL||LA353_0==WS) ) { - alt353=1; + int LA354_0 = input.LA(1); + if ( (LA354_0==COMMENT||LA354_0==NL||LA354_0==WS) ) { + alt354=1; } - } finally {dbg.exitDecision(353);} + } finally {dbg.exitDecision(354);} - switch (alt353) { + switch (alt354) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:55: ws { dbg.location(1062,55); - pushFollow(FOLLOW_ws_in_propertyDeclaration7378); + pushFollow(FOLLOW_ws_in_propertyDeclaration7398); ws(); state._fsp--; if (state.failed) return; @@ -23323,170 +23508,170 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(353);} + } finally {dbg.exitSubRule(354);} dbg.location(1062,59); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:59: ( componentValueOuter )? - int alt354=2; - try { dbg.enterSubRule(354); - try { dbg.enterDecision(354, decisionCanBacktrack[354]); + int alt355=2; + try { dbg.enterSubRule(355); + try { dbg.enterDecision(355, decisionCanBacktrack[355]); switch ( input.LA(1) ) { case LBRACE: case LPAREN: { - alt354=1; + alt355=1; } break; case LBRACKET: { - alt354=1; + alt355=1; } break; case IDENT: { - alt354=1; + alt355=1; } break; case COMMENT: case NL: case WS: { - alt354=1; + alt355=1; } break; case LESS_AND: { - alt354=1; + alt355=1; } break; case DOT: { - alt354=1; + alt355=1; } break; case HASH: { - alt354=1; + alt355=1; } break; case SASS_MIXIN: { - alt354=1; + alt355=1; } break; case AT_IDENT: { - alt354=1; + alt355=1; } break; case SASS_INCLUDE: { - alt354=1; + alt355=1; } break; case SASS_AT_ROOT: { - alt354=1; + alt355=1; } break; case GREATER: case PLUS: case TILDE: { - alt354=1; + alt355=1; } break; case SASS_EXTEND_ONLY_SELECTOR: { - int LA354_16 = input.LA(2); + int LA355_16 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isScssSource(),"isScssSource()"),""))) ) { - alt354=1; + alt355=1; } } break; case HASH_SYMBOL: { - alt354=1; + alt355=1; } break; case DIMENSION: { - int LA354_18 = input.LA(2); + int LA355_18 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt354=1; + alt355=1; } } break; case COLON: case DCOLON: { - alt354=1; + alt355=1; } break; case MINUS: { - alt354=1; + alt355=1; } break; case AT_SIGN: { - alt354=1; + alt355=1; } break; case STAR: { - alt354=1; + alt355=1; } break; case PIPE: { - alt354=1; + alt355=1; } break; case GEN: { - alt354=1; + alt355=1; } break; case VARIABLE: { - alt354=1; + alt355=1; } break; case SASS_DEBUG: case SASS_WARN: { - alt354=1; + alt355=1; } break; case SASS_VAR: { - alt354=1; + alt355=1; } break; case SUPPORTS_SYM: { - alt354=1; + alt355=1; } break; case SASS_IF: { - alt354=1; + alt355=1; } break; case SASS_FOR: { - alt354=1; + alt355=1; } break; case SASS_EACH: { - alt354=1; + alt355=1; } break; case SASS_WHILE: { - alt354=1; + alt355=1; } break; case A: @@ -23573,42 +23758,47 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case Y: case Z: { - alt354=1; + alt355=1; } break; case IMPORT_SYM: { - alt354=1; + alt355=1; } break; case PAGE_SYM: { - alt354=1; + alt355=1; } break; case FONT_FACE_SYM: { - alt354=1; + alt355=1; } break; case MOZ_DOCUMENT_SYM: { - alt354=1; + alt355=1; } break; case WEBKIT_KEYFRAMES_SYM: { - alt354=1; + alt355=1; + } + break; + case KEYFRAMES_SYM: + { + alt355=1; } break; case MEDIA_SYM: { - alt354=1; + alt355=1; } break; case SASS_EXTEND: { - alt354=1; + alt355=1; } break; case BOTTOMCENTER_SYM: @@ -23628,7 +23818,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case TOPRIGHTCORNER_SYM: case TOPRIGHT_SYM: { - alt354=1; + alt355=1; } break; case CHARSET_SYM: @@ -23640,20 +23830,20 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case SASS_RETURN: case SASS_USE: { - alt354=1; + alt355=1; } break; } - } finally {dbg.exitDecision(354);} + } finally {dbg.exitDecision(355);} - switch (alt354) { + switch (alt355) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1062:59: componentValueOuter { dbg.location(1062,59); - pushFollow(FOLLOW_componentValueOuter_in_propertyDeclaration7381); + pushFollow(FOLLOW_componentValueOuter_in_propertyDeclaration7401); componentValueOuter(); state._fsp--; if (state.failed) return; @@ -23661,7 +23851,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(354);} + } finally {dbg.exitSubRule(355);} } break; @@ -23672,53 +23862,53 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") { dbg.location(1063,7); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:7: ( STAR )? - int alt355=2; - try { dbg.enterSubRule(355); - try { dbg.enterDecision(355, decisionCanBacktrack[355]); + int alt356=2; + try { dbg.enterSubRule(356); + try { dbg.enterDecision(356, decisionCanBacktrack[356]); - int LA355_0 = input.LA(1); - if ( (LA355_0==STAR) ) { - alt355=1; + int LA356_0 = input.LA(1); + if ( (LA356_0==STAR) ) { + alt356=1; } - } finally {dbg.exitDecision(355);} + } finally {dbg.exitDecision(356);} - switch (alt355) { + switch (alt356) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:7: STAR { dbg.location(1063,7); - match(input,STAR,FOLLOW_STAR_in_propertyDeclaration7390); if (state.failed) return; + match(input,STAR,FOLLOW_STAR_in_propertyDeclaration7410); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(355);} + } finally {dbg.exitSubRule(356);} dbg.location(1063,13); - pushFollow(FOLLOW_property_in_propertyDeclaration7393); + pushFollow(FOLLOW_property_in_propertyDeclaration7413); property(); state._fsp--; if (state.failed) return;dbg.location(1063,22); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:22: ( ws )? - int alt356=2; - try { dbg.enterSubRule(356); - try { dbg.enterDecision(356, decisionCanBacktrack[356]); + int alt357=2; + try { dbg.enterSubRule(357); + try { dbg.enterDecision(357, decisionCanBacktrack[357]); - int LA356_0 = input.LA(1); - if ( (LA356_0==COMMENT||LA356_0==NL||LA356_0==WS) ) { - alt356=1; + int LA357_0 = input.LA(1); + if ( (LA357_0==COMMENT||LA357_0==NL||LA357_0==WS) ) { + alt357=1; } - } finally {dbg.exitDecision(356);} + } finally {dbg.exitDecision(357);} - switch (alt356) { + switch (alt357) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:22: ws { dbg.location(1063,22); - pushFollow(FOLLOW_ws_in_propertyDeclaration7395); + pushFollow(FOLLOW_ws_in_propertyDeclaration7415); ws(); state._fsp--; if (state.failed) return; @@ -23726,28 +23916,28 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(356);} + } finally {dbg.exitSubRule(357);} dbg.location(1063,26); - match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7398); if (state.failed) return;dbg.location(1063,32); + match(input,COLON,FOLLOW_COLON_in_propertyDeclaration7418); if (state.failed) return;dbg.location(1063,32); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:32: ( ws )? - int alt357=2; - try { dbg.enterSubRule(357); - try { dbg.enterDecision(357, decisionCanBacktrack[357]); + int alt358=2; + try { dbg.enterSubRule(358); + try { dbg.enterDecision(358, decisionCanBacktrack[358]); - int LA357_0 = input.LA(1); - if ( (LA357_0==COMMENT||LA357_0==NL||LA357_0==WS) ) { - alt357=1; + int LA358_0 = input.LA(1); + if ( (LA358_0==COMMENT||LA358_0==NL||LA358_0==WS) ) { + alt358=1; } - } finally {dbg.exitDecision(357);} + } finally {dbg.exitDecision(358);} - switch (alt357) { + switch (alt358) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:32: ws { dbg.location(1063,32); - pushFollow(FOLLOW_ws_in_propertyDeclaration7400); + pushFollow(FOLLOW_ws_in_propertyDeclaration7420); ws(); state._fsp--; if (state.failed) return; @@ -23755,28 +23945,28 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(357);} + } finally {dbg.exitSubRule(358);} dbg.location(1063,36); - pushFollow(FOLLOW_propertyValue_in_propertyDeclaration7403); + pushFollow(FOLLOW_propertyValue_in_propertyDeclaration7423); propertyValue(); state._fsp--; if (state.failed) return;dbg.location(1063,50); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:50: ( ( ws )? prio )? - int alt359=2; - try { dbg.enterSubRule(359); - try { dbg.enterDecision(359, decisionCanBacktrack[359]); + int alt360=2; + try { dbg.enterSubRule(360); + try { dbg.enterDecision(360, decisionCanBacktrack[360]); try { isCyclicDecision = true; - alt359 = dfa359.predict(input); + alt360 = dfa360.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(359);} + } finally {dbg.exitDecision(360);} - switch (alt359) { + switch (alt360) { case 1 : dbg.enterAlt(1); @@ -23784,24 +23974,24 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") { dbg.location(1063,51); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:51: ( ws )? - int alt358=2; - try { dbg.enterSubRule(358); - try { dbg.enterDecision(358, decisionCanBacktrack[358]); + int alt359=2; + try { dbg.enterSubRule(359); + try { dbg.enterDecision(359, decisionCanBacktrack[359]); - int LA358_0 = input.LA(1); - if ( (LA358_0==COMMENT||LA358_0==NL||LA358_0==WS) ) { - alt358=1; + int LA359_0 = input.LA(1); + if ( (LA359_0==COMMENT||LA359_0==NL||LA359_0==WS) ) { + alt359=1; } - } finally {dbg.exitDecision(358);} + } finally {dbg.exitDecision(359);} - switch (alt358) { + switch (alt359) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1063:51: ws { dbg.location(1063,51); - pushFollow(FOLLOW_ws_in_propertyDeclaration7406); + pushFollow(FOLLOW_ws_in_propertyDeclaration7426); ws(); state._fsp--; if (state.failed) return; @@ -23809,9 +23999,9 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(358);} + } finally {dbg.exitSubRule(359);} dbg.location(1063,55); - pushFollow(FOLLOW_prio_in_propertyDeclaration7409); + pushFollow(FOLLOW_prio_in_propertyDeclaration7429); prio(); state._fsp--; if (state.failed) return; @@ -23819,7 +24009,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(359);} + } finally {dbg.exitSubRule(360);} } break; @@ -23862,8 +24052,8 @@ public final void cp_propertyValue() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1075:5: ({...}? cp_expression_list | propertyValue ) - int alt361=2; - try { dbg.enterDecision(361, decisionCanBacktrack[361]); + int alt362=2; + try { dbg.enterDecision(362, decisionCanBacktrack[362]); switch ( input.LA(1) ) { case IMPORTANT_SYM: @@ -23871,270 +24061,270 @@ public final void cp_propertyValue() throws RecognitionException { case LPAREN: case NOT: { - alt361=1; + alt362=1; } break; case MINUS: case PLUS: { - int LA361_3 = input.LA(2); + int LA362_3 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case IDENT: { - int LA361_4 = input.LA(2); + int LA362_4 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case VARIABLE: { - int LA361_5 = input.LA(2); + int LA362_5 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case LBRACKET: { - int LA361_6 = input.LA(2); + int LA362_6 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case NUMBER: { - int LA361_7 = input.LA(2); + int LA362_7 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case URANGE: { - int LA361_8 = input.LA(2); + int LA362_8 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case PERCENTAGE: { - int LA361_9 = input.LA(2); + int LA362_9 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case LENGTH: { - int LA361_10 = input.LA(2); + int LA362_10 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case EMS: { - int LA361_11 = input.LA(2); + int LA362_11 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case REM: { - int LA361_12 = input.LA(2); + int LA362_12 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case EXS: { - int LA361_13 = input.LA(2); + int LA362_13 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case ANGLE: { - int LA361_14 = input.LA(2); + int LA362_14 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case TIME: { - int LA361_15 = input.LA(2); + int LA362_15 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case FREQ: { - int LA361_16 = input.LA(2); + int LA362_16 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case RESOLUTION: { - int LA361_17 = input.LA(2); + int LA362_17 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case DIMENSION: { - int LA361_18 = input.LA(2); + int LA362_18 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case STRING: { - int LA361_19 = input.LA(2); + int LA362_19 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case TILDE: { - int LA361_20 = input.LA(2); + int LA362_20 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case LESS_JS_STRING: { - int LA361_21 = input.LA(2); + int LA362_21 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case GEN: { - int LA361_22 = input.LA(2); + int LA362_22 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case URI: { - int LA361_23 = input.LA(2); + int LA362_23 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } break; case HASH: { - int LA361_24 = input.LA(2); + int LA362_24 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (true) ) { - alt361=2; + alt362=2; } } @@ -24149,6 +24339,7 @@ else if ( (true) ) { case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -24182,12 +24373,12 @@ else if ( (true) ) { case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - int LA361_25 = input.LA(2); + int LA362_25 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt361=1; + alt362=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt361=2; + alt362=2; } else { @@ -24196,7 +24387,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 361, 25, input); + new NoViableAltException("", 362, 25, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -24208,12 +24399,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case SASS_VAR: { - int LA361_26 = input.LA(2); + int LA362_26 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt361=1; + alt362=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt361=2; + alt362=2; } else { @@ -24222,7 +24413,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 361, 26, input); + new NoViableAltException("", 362, 26, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -24234,12 +24425,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case LESS_AND: { - int LA361_27 = input.LA(2); + int LA362_27 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt361=1; + alt362=1; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt361=2; + alt362=2; } else { @@ -24248,7 +24439,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 361, 27, input); + new NoViableAltException("", 362, 27, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -24260,12 +24451,12 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case HASH_SYMBOL: { - int LA361_28 = input.LA(2); + int LA362_28 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt361=1; + alt362=1; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt361=2; + alt362=2; } else { @@ -24274,7 +24465,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 361, 28, input); + new NoViableAltException("", 362, 28, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -24286,12 +24477,12 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case AT_SIGN: { - int LA361_29 = input.LA(2); + int LA362_29 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt361=1; + alt362=1; } else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt361=2; + alt362=2; } else { @@ -24300,7 +24491,7 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 361, 29, input); + new NoViableAltException("", 362, 29, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -24312,12 +24503,12 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { break; case PERCENTAGE_SYMBOL: { - int LA361_30 = input.LA(2); + int LA362_30 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=1; + alt362=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt361=2; + alt362=2; } else { @@ -24326,7 +24517,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 361, 30, input); + new NoViableAltException("", 362, 30, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -24339,13 +24530,13 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 361, 0, input); + new NoViableAltException("", 362, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(361);} + } finally {dbg.exitDecision(362);} - switch (alt361) { + switch (alt362) { case 1 : dbg.enterAlt(1); @@ -24356,7 +24547,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_propertyValue", "isCssPreprocessorSource()"); }dbg.location(1076,34); - pushFollow(FOLLOW_cp_expression_list_in_cp_propertyValue7449); + pushFollow(FOLLOW_cp_expression_list_in_cp_propertyValue7469); cp_expression_list(); state._fsp--; if (state.failed) return; @@ -24368,7 +24559,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1077:7: propertyValue { dbg.location(1077,7); - pushFollow(FOLLOW_propertyValue_in_cp_propertyValue7457); + pushFollow(FOLLOW_propertyValue_in_cp_propertyValue7477); propertyValue(); state._fsp--; if (state.failed) return; @@ -24413,7 +24604,7 @@ public final void propertyValue() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1082:9: expression { dbg.location(1082,9); - pushFollow(FOLLOW_expression_in_propertyValue7479); + pushFollow(FOLLOW_expression_in_propertyValue7499); expression(); state._fsp--; if (state.failed) return; @@ -24457,22 +24648,22 @@ public final void expressionPredicate() throws RecognitionException { { dbg.location(1089,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1089:5: (~ ( AT_IDENT | STAR | SOLIDUS | LBRACE | SEMI | RBRACE | SASS_VAR ) )+ - int cnt362=0; - try { dbg.enterSubRule(362); + int cnt363=0; + try { dbg.enterSubRule(363); - loop362: + loop363: while (true) { - int alt362=2; - try { dbg.enterDecision(362, decisionCanBacktrack[362]); + int alt363=2; + try { dbg.enterDecision(363, decisionCanBacktrack[363]); - int LA362_0 = input.LA(1); - if ( ((LA362_0 >= A && LA362_0 <= ANGLE)||(LA362_0 >= AT_SIGN && LA362_0 <= LAYER_SYM)||(LA362_0 >= LBRACKET && LA362_0 <= R)||(LA362_0 >= RBRACKET && LA362_0 <= SASS_USE)||(LA362_0 >= SASS_WARN && LA362_0 <= SASS_WHILE)||(LA362_0 >= STRING && LA362_0 <= Z)) ) { - alt362=1; + int LA363_0 = input.LA(1); + if ( ((LA363_0 >= A && LA363_0 <= ANGLE)||(LA363_0 >= AT_SIGN && LA363_0 <= LAYER_SYM)||(LA363_0 >= LBRACKET && LA363_0 <= R)||(LA363_0 >= RBRACKET && LA363_0 <= SASS_USE)||(LA363_0 >= SASS_WARN && LA363_0 <= SASS_WHILE)||(LA363_0 >= STRING && LA363_0 <= Z)) ) { + alt363=1; } - } finally {dbg.exitDecision(362);} + } finally {dbg.exitDecision(363);} - switch (alt362) { + switch (alt363) { case 1 : dbg.enterAlt(1); @@ -24494,16 +24685,16 @@ public final void expressionPredicate() throws RecognitionException { break; default : - if ( cnt362 >= 1 ) break loop362; + if ( cnt363 >= 1 ) break loop363; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(362, input); + EarlyExitException eee = new EarlyExitException(363, input); dbg.recognitionException(eee); throw eee; } - cnt362++; + cnt363++; } - } finally {dbg.exitSubRule(362);} + } finally {dbg.exitSubRule(363);} dbg.location(1089,76); if ( input.LA(1)==RBRACE||input.LA(1)==SEMI ) { input.consume(); @@ -24655,26 +24846,26 @@ public final void braceBlock2() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1098:5: LBRACE ( ws )? ( declarations )? RBRACE { dbg.location(1098,5); - match(input,LBRACE,FOLLOW_LBRACE_in_braceBlock27640); if (state.failed) return;dbg.location(1098,12); + match(input,LBRACE,FOLLOW_LBRACE_in_braceBlock27660); if (state.failed) return;dbg.location(1098,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1098:12: ( ws )? - int alt363=2; - try { dbg.enterSubRule(363); - try { dbg.enterDecision(363, decisionCanBacktrack[363]); + int alt364=2; + try { dbg.enterSubRule(364); + try { dbg.enterDecision(364, decisionCanBacktrack[364]); - int LA363_0 = input.LA(1); - if ( (LA363_0==COMMENT||LA363_0==NL||LA363_0==WS) ) { - alt363=1; + int LA364_0 = input.LA(1); + if ( (LA364_0==COMMENT||LA364_0==NL||LA364_0==WS) ) { + alt364=1; } - } finally {dbg.exitDecision(363);} + } finally {dbg.exitDecision(364);} - switch (alt363) { + switch (alt364) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1098:12: ws { dbg.location(1098,12); - pushFollow(FOLLOW_ws_in_braceBlock27642); + pushFollow(FOLLOW_ws_in_braceBlock27662); ws(); state._fsp--; if (state.failed) return; @@ -24682,27 +24873,27 @@ public final void braceBlock2() throws RecognitionException { break; } - } finally {dbg.exitSubRule(363);} + } finally {dbg.exitSubRule(364);} dbg.location(1099,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:9: ( declarations )? - int alt364=2; - try { dbg.enterSubRule(364); - try { dbg.enterDecision(364, decisionCanBacktrack[364]); + int alt365=2; + try { dbg.enterSubRule(365); + try { dbg.enterDecision(365, decisionCanBacktrack[365]); - int LA364_0 = input.LA(1); - if ( ((LA364_0 >= AT_IDENT && LA364_0 <= AT_SIGN)||(LA364_0 >= BOTTOMCENTER_SYM && LA364_0 <= BOTTOMRIGHT_SYM)||(LA364_0 >= CHARSET_SYM && LA364_0 <= COLON)||LA364_0==CONTAINER_SYM||LA364_0==COUNTER_STYLE_SYM||(LA364_0 >= DCOLON && LA364_0 <= DOT)||LA364_0==FONT_FACE_SYM||(LA364_0 >= GEN && LA364_0 <= GREATER)||(LA364_0 >= HASH && LA364_0 <= HASH_SYMBOL)||LA364_0==IDENT||LA364_0==IMPORT_SYM||LA364_0==LAYER_SYM||(LA364_0 >= LBRACKET && LA364_0 <= LEFTTOP_SYM)||LA364_0==LESS_AND||(LA364_0 >= MEDIA_SYM && LA364_0 <= MOZ_DOCUMENT_SYM)||LA364_0==NAMESPACE_SYM||LA364_0==PAGE_SYM||(LA364_0 >= PIPE && LA364_0 <= PLUS)||(LA364_0 >= RIGHTBOTTOM_SYM && LA364_0 <= RIGHTTOP_SYM)||(LA364_0 >= SASS_AT_ROOT && LA364_0 <= SASS_DEBUG)||(LA364_0 >= SASS_EACH && LA364_0 <= SASS_ELSE)||(LA364_0 >= SASS_ERROR && LA364_0 <= SASS_FUNCTION)||(LA364_0 >= SASS_IF && LA364_0 <= SASS_MIXIN)||(LA364_0 >= SASS_RETURN && LA364_0 <= SEMI)||LA364_0==STAR||LA364_0==SUPPORTS_SYM||LA364_0==TILDE||(LA364_0 >= TOPCENTER_SYM && LA364_0 <= TOPRIGHT_SYM)||LA364_0==VARIABLE||LA364_0==WEBKIT_KEYFRAMES_SYM) ) { - alt364=1; + int LA365_0 = input.LA(1); + if ( ((LA365_0 >= AT_IDENT && LA365_0 <= AT_SIGN)||(LA365_0 >= BOTTOMCENTER_SYM && LA365_0 <= BOTTOMRIGHT_SYM)||(LA365_0 >= CHARSET_SYM && LA365_0 <= COLON)||LA365_0==CONTAINER_SYM||LA365_0==COUNTER_STYLE_SYM||(LA365_0 >= DCOLON && LA365_0 <= DOT)||LA365_0==FONT_FACE_SYM||(LA365_0 >= GEN && LA365_0 <= GREATER)||(LA365_0 >= HASH && LA365_0 <= HASH_SYMBOL)||LA365_0==IDENT||LA365_0==IMPORT_SYM||LA365_0==KEYFRAMES_SYM||LA365_0==LAYER_SYM||(LA365_0 >= LBRACKET && LA365_0 <= LEFTTOP_SYM)||LA365_0==LESS_AND||(LA365_0 >= MEDIA_SYM && LA365_0 <= MOZ_DOCUMENT_SYM)||LA365_0==NAMESPACE_SYM||LA365_0==PAGE_SYM||(LA365_0 >= PIPE && LA365_0 <= PLUS)||(LA365_0 >= RIGHTBOTTOM_SYM && LA365_0 <= RIGHTTOP_SYM)||(LA365_0 >= SASS_AT_ROOT && LA365_0 <= SASS_DEBUG)||(LA365_0 >= SASS_EACH && LA365_0 <= SASS_ELSE)||(LA365_0 >= SASS_ERROR && LA365_0 <= SASS_FUNCTION)||(LA365_0 >= SASS_IF && LA365_0 <= SASS_MIXIN)||(LA365_0 >= SASS_RETURN && LA365_0 <= SEMI)||LA365_0==STAR||LA365_0==SUPPORTS_SYM||LA365_0==TILDE||(LA365_0 >= TOPCENTER_SYM && LA365_0 <= TOPRIGHT_SYM)||LA365_0==VARIABLE||LA365_0==WEBKIT_KEYFRAMES_SYM) ) { + alt365=1; } - } finally {dbg.exitDecision(364);} + } finally {dbg.exitDecision(365);} - switch (alt364) { + switch (alt365) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1099:9: declarations { dbg.location(1099,9); - pushFollow(FOLLOW_declarations_in_braceBlock27653); + pushFollow(FOLLOW_declarations_in_braceBlock27673); declarations(); state._fsp--; if (state.failed) return; @@ -24710,9 +24901,9 @@ public final void braceBlock2() throws RecognitionException { break; } - } finally {dbg.exitSubRule(364);} + } finally {dbg.exitSubRule(365);} dbg.location(1100,5); - match(input,RBRACE,FOLLOW_RBRACE_in_braceBlock27660); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_braceBlock27680); if (state.failed) return; } } @@ -24752,30 +24943,30 @@ public final void braceBlock() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:13: LBRACE ( componentValue )* RBRACE { dbg.location(1104,13); - match(input,LBRACE,FOLLOW_LBRACE_in_braceBlock7673); if (state.failed) return;dbg.location(1104,20); + match(input,LBRACE,FOLLOW_LBRACE_in_braceBlock7693); if (state.failed) return;dbg.location(1104,20); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:20: ( componentValue )* - try { dbg.enterSubRule(365); + try { dbg.enterSubRule(366); - loop365: + loop366: while (true) { - int alt365=2; - try { dbg.enterDecision(365, decisionCanBacktrack[365]); + int alt366=2; + try { dbg.enterDecision(366, decisionCanBacktrack[366]); - int LA365_0 = input.LA(1); - if ( ((LA365_0 >= A && LA365_0 <= R)||(LA365_0 >= REM && LA365_0 <= RIGHTTOP_SYM)||(LA365_0 >= S && LA365_0 <= Z)) ) { - alt365=1; + int LA366_0 = input.LA(1); + if ( ((LA366_0 >= A && LA366_0 <= R)||(LA366_0 >= REM && LA366_0 <= RIGHTTOP_SYM)||(LA366_0 >= S && LA366_0 <= Z)) ) { + alt366=1; } - } finally {dbg.exitDecision(365);} + } finally {dbg.exitDecision(366);} - switch (alt365) { + switch (alt366) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1104:20: componentValue { dbg.location(1104,20); - pushFollow(FOLLOW_componentValue_in_braceBlock7675); + pushFollow(FOLLOW_componentValue_in_braceBlock7695); componentValue(); state._fsp--; if (state.failed) return; @@ -24783,12 +24974,12 @@ public final void braceBlock() throws RecognitionException { break; default : - break loop365; + break loop366; } } - } finally {dbg.exitSubRule(365);} + } finally {dbg.exitSubRule(366);} dbg.location(1104,36); - match(input,RBRACE,FOLLOW_RBRACE_in_braceBlock7678); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_braceBlock7698); if (state.failed) return; } } @@ -24828,31 +25019,31 @@ public final void bracketBlock() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:15: LBRACKET ( componentValue )+ RBRACKET { dbg.location(1106,15); - match(input,LBRACKET,FOLLOW_LBRACKET_in_bracketBlock7685); if (state.failed) return;dbg.location(1106,24); + match(input,LBRACKET,FOLLOW_LBRACKET_in_bracketBlock7705); if (state.failed) return;dbg.location(1106,24); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:24: ( componentValue )+ - int cnt366=0; - try { dbg.enterSubRule(366); + int cnt367=0; + try { dbg.enterSubRule(367); - loop366: + loop367: while (true) { - int alt366=2; - try { dbg.enterDecision(366, decisionCanBacktrack[366]); + int alt367=2; + try { dbg.enterDecision(367, decisionCanBacktrack[367]); - int LA366_0 = input.LA(1); - if ( ((LA366_0 >= A && LA366_0 <= R)||(LA366_0 >= REM && LA366_0 <= RIGHTTOP_SYM)||(LA366_0 >= S && LA366_0 <= Z)) ) { - alt366=1; + int LA367_0 = input.LA(1); + if ( ((LA367_0 >= A && LA367_0 <= R)||(LA367_0 >= REM && LA367_0 <= RIGHTTOP_SYM)||(LA367_0 >= S && LA367_0 <= Z)) ) { + alt367=1; } - } finally {dbg.exitDecision(366);} + } finally {dbg.exitDecision(367);} - switch (alt366) { + switch (alt367) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1106:24: componentValue { dbg.location(1106,24); - pushFollow(FOLLOW_componentValue_in_bracketBlock7687); + pushFollow(FOLLOW_componentValue_in_bracketBlock7707); componentValue(); state._fsp--; if (state.failed) return; @@ -24860,18 +25051,18 @@ public final void bracketBlock() throws RecognitionException { break; default : - if ( cnt366 >= 1 ) break loop366; + if ( cnt367 >= 1 ) break loop367; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(366, input); + EarlyExitException eee = new EarlyExitException(367, input); dbg.recognitionException(eee); throw eee; } - cnt366++; + cnt367++; } - } finally {dbg.exitSubRule(366);} + } finally {dbg.exitSubRule(367);} dbg.location(1106,40); - match(input,RBRACKET,FOLLOW_RBRACKET_in_bracketBlock7690); if (state.failed) return; + match(input,RBRACKET,FOLLOW_RBRACKET_in_bracketBlock7710); if (state.failed) return; } } @@ -24911,31 +25102,31 @@ public final void parenBlock() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1108:13: LPAREN ( componentValue )+ RPAREN { dbg.location(1108,13); - match(input,LPAREN,FOLLOW_LPAREN_in_parenBlock7697); if (state.failed) return;dbg.location(1108,20); + match(input,LPAREN,FOLLOW_LPAREN_in_parenBlock7717); if (state.failed) return;dbg.location(1108,20); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1108:20: ( componentValue )+ - int cnt367=0; - try { dbg.enterSubRule(367); + int cnt368=0; + try { dbg.enterSubRule(368); - loop367: + loop368: while (true) { - int alt367=2; - try { dbg.enterDecision(367, decisionCanBacktrack[367]); + int alt368=2; + try { dbg.enterDecision(368, decisionCanBacktrack[368]); - int LA367_0 = input.LA(1); - if ( ((LA367_0 >= A && LA367_0 <= R)||(LA367_0 >= REM && LA367_0 <= RIGHTTOP_SYM)||(LA367_0 >= S && LA367_0 <= Z)) ) { - alt367=1; + int LA368_0 = input.LA(1); + if ( ((LA368_0 >= A && LA368_0 <= R)||(LA368_0 >= REM && LA368_0 <= RIGHTTOP_SYM)||(LA368_0 >= S && LA368_0 <= Z)) ) { + alt368=1; } - } finally {dbg.exitDecision(367);} + } finally {dbg.exitDecision(368);} - switch (alt367) { + switch (alt368) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1108:20: componentValue { dbg.location(1108,20); - pushFollow(FOLLOW_componentValue_in_parenBlock7699); + pushFollow(FOLLOW_componentValue_in_parenBlock7719); componentValue(); state._fsp--; if (state.failed) return; @@ -24943,18 +25134,18 @@ public final void parenBlock() throws RecognitionException { break; default : - if ( cnt367 >= 1 ) break loop367; + if ( cnt368 >= 1 ) break loop368; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(367, input); + EarlyExitException eee = new EarlyExitException(368, input); dbg.recognitionException(eee); throw eee; } - cnt367++; + cnt368++; } - } finally {dbg.exitSubRule(367);} + } finally {dbg.exitSubRule(368);} dbg.location(1108,36); - match(input,RPAREN,FOLLOW_RPAREN_in_parenBlock7702); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_parenBlock7722); if (state.failed) return; } } @@ -24989,33 +25180,33 @@ public final void componentValue() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:15: ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedToken ) - int alt368=5; - try { dbg.enterDecision(368, decisionCanBacktrack[368]); + int alt369=5; + try { dbg.enterDecision(369, decisionCanBacktrack[369]); switch ( input.LA(1) ) { case LPAREN: { - alt368=1; + alt369=1; } break; case LBRACE: { - alt368=2; + alt369=2; } break; case LBRACKET: { - alt368=3; + alt369=3; } break; case IDENT: { - int LA368_4 = input.LA(2); + int LA369_4 = input.LA(2); if ( (synpred53_Css3()) ) { - alt368=4; + alt369=4; } else if ( (true) ) { - alt368=5; + alt369=5; } } @@ -25074,6 +25265,7 @@ else if ( (true) ) { case INVALID: case J: case K: + case KEYFRAMES_SYM: case L: case LAYER_SYM: case LEFTBOTTOM_SYM: @@ -25168,26 +25360,26 @@ else if ( (true) ) { case Y: case Z: { - alt368=5; + alt369=5; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 368, 0, input); + new NoViableAltException("", 369, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(368);} + } finally {dbg.exitDecision(369);} - switch (alt368) { + switch (alt369) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:17: parenBlock { dbg.location(1110,17); - pushFollow(FOLLOW_parenBlock_in_componentValue7709); + pushFollow(FOLLOW_parenBlock_in_componentValue7729); parenBlock(); state._fsp--; if (state.failed) return; @@ -25199,7 +25391,7 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:30: braceBlock { dbg.location(1110,30); - pushFollow(FOLLOW_braceBlock_in_componentValue7713); + pushFollow(FOLLOW_braceBlock_in_componentValue7733); braceBlock(); state._fsp--; if (state.failed) return; @@ -25211,7 +25403,7 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:43: bracketBlock { dbg.location(1110,43); - pushFollow(FOLLOW_bracketBlock_in_componentValue7717); + pushFollow(FOLLOW_bracketBlock_in_componentValue7737); bracketBlock(); state._fsp--; if (state.failed) return; @@ -25223,7 +25415,7 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:58: ( functionName ( ws )? LPAREN )=> function { dbg.location(1110,87); - pushFollow(FOLLOW_function_in_componentValue7732); + pushFollow(FOLLOW_function_in_componentValue7752); function(); state._fsp--; if (state.failed) return; @@ -25235,7 +25427,7 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:98: preservedToken { dbg.location(1110,98); - pushFollow(FOLLOW_preservedToken_in_componentValue7736); + pushFollow(FOLLOW_preservedToken_in_componentValue7756); preservedToken(); state._fsp--; if (state.failed) return; @@ -25281,34 +25473,34 @@ public final void componentValueOuter() throws RecognitionException { { dbg.location(1112,22); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:22: ( parenBlock | braceBlock | bracketBlock | ( functionName ( ws )? LPAREN )=> function | preservedTokenTopLevel ) - int alt369=5; - try { dbg.enterSubRule(369); - try { dbg.enterDecision(369, decisionCanBacktrack[369]); + int alt370=5; + try { dbg.enterSubRule(370); + try { dbg.enterDecision(370, decisionCanBacktrack[370]); switch ( input.LA(1) ) { case LPAREN: { - alt369=1; + alt370=1; } break; case LBRACE: { - alt369=2; + alt370=2; } break; case LBRACKET: { - alt369=3; + alt370=3; } break; case IDENT: { - int LA369_4 = input.LA(2); + int LA370_4 = input.LA(2); if ( (synpred54_Css3()) ) { - alt369=4; + alt370=4; } else if ( (true) ) { - alt369=5; + alt370=5; } } @@ -25367,6 +25559,7 @@ else if ( (true) ) { case INVALID: case J: case K: + case KEYFRAMES_SYM: case L: case LAYER_SYM: case LEFTBOTTOM_SYM: @@ -25460,26 +25653,26 @@ else if ( (true) ) { case Y: case Z: { - alt369=5; + alt370=5; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 369, 0, input); + new NoViableAltException("", 370, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(369);} + } finally {dbg.exitDecision(370);} - switch (alt369) { + switch (alt370) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:23: parenBlock { dbg.location(1112,23); - pushFollow(FOLLOW_parenBlock_in_componentValueOuter7744); + pushFollow(FOLLOW_parenBlock_in_componentValueOuter7764); parenBlock(); state._fsp--; if (state.failed) return; @@ -25491,7 +25684,7 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:36: braceBlock { dbg.location(1112,36); - pushFollow(FOLLOW_braceBlock_in_componentValueOuter7748); + pushFollow(FOLLOW_braceBlock_in_componentValueOuter7768); braceBlock(); state._fsp--; if (state.failed) return; @@ -25503,7 +25696,7 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:49: bracketBlock { dbg.location(1112,49); - pushFollow(FOLLOW_bracketBlock_in_componentValueOuter7752); + pushFollow(FOLLOW_bracketBlock_in_componentValueOuter7772); bracketBlock(); state._fsp--; if (state.failed) return; @@ -25515,7 +25708,7 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:64: ( functionName ( ws )? LPAREN )=> function { dbg.location(1112,93); - pushFollow(FOLLOW_function_in_componentValueOuter7767); + pushFollow(FOLLOW_function_in_componentValueOuter7787); function(); state._fsp--; if (state.failed) return; @@ -25527,7 +25720,7 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:104: preservedTokenTopLevel { dbg.location(1112,104); - pushFollow(FOLLOW_preservedTokenTopLevel_in_componentValueOuter7771); + pushFollow(FOLLOW_preservedTokenTopLevel_in_componentValueOuter7791); preservedTokenTopLevel(); state._fsp--; if (state.failed) return; @@ -25535,201 +25728,206 @@ else if ( (true) ) { break; } - } finally {dbg.exitSubRule(369);} + } finally {dbg.exitSubRule(370);} dbg.location(1112,128); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:128: ( componentValueOuter )* - try { dbg.enterSubRule(370); + try { dbg.enterSubRule(371); - loop370: + loop371: while (true) { - int alt370=2; - try { dbg.enterDecision(370, decisionCanBacktrack[370]); + int alt371=2; + try { dbg.enterDecision(371, decisionCanBacktrack[371]); switch ( input.LA(1) ) { case COMMENT: case NL: case WS: { - alt370=1; + alt371=1; } break; case LESS_AND: { - alt370=1; + alt371=1; } break; case DOT: { - alt370=1; + alt371=1; } break; case HASH: { - alt370=1; + alt371=1; } break; case SASS_MIXIN: { - alt370=1; + alt371=1; } break; case AT_IDENT: { - alt370=1; + alt371=1; } break; case SASS_INCLUDE: { - alt370=1; + alt371=1; } break; case SASS_AT_ROOT: { - alt370=1; + alt371=1; } break; case GREATER: case PLUS: case TILDE: { - alt370=1; + alt371=1; } break; case SASS_EXTEND_ONLY_SELECTOR: { - alt370=1; + alt371=1; } break; case HASH_SYMBOL: { - alt370=1; + alt371=1; } break; case DIMENSION: { - alt370=1; + alt371=1; } break; case LBRACKET: { - alt370=1; + alt371=1; } break; case COLON: case DCOLON: { - alt370=1; + alt371=1; } break; case IDENT: { - alt370=1; + alt371=1; } break; case AT_SIGN: { - alt370=1; + alt371=1; } break; case MINUS: { - alt370=1; + alt371=1; } break; case STAR: { - alt370=1; + alt371=1; } break; case PIPE: { - alt370=1; + alt371=1; } break; case GEN: { - alt370=1; + alt371=1; } break; case VARIABLE: { - alt370=1; + alt371=1; } break; case SASS_DEBUG: case SASS_WARN: { - alt370=1; + alt371=1; } break; case SASS_VAR: { - alt370=1; + alt371=1; } break; case SASS_IF: { - alt370=1; + alt371=1; } break; case SASS_FOR: { - alt370=1; + alt371=1; } break; case SASS_EACH: { - alt370=1; + alt371=1; } break; case SASS_WHILE: { - alt370=1; + alt371=1; } break; case SASS_CONTENT: { - alt370=1; + alt371=1; } break; case IMPORT_SYM: { - alt370=1; + alt371=1; } break; case PAGE_SYM: { - alt370=1; + alt371=1; } break; case FONT_FACE_SYM: { - alt370=1; + alt371=1; } break; case MOZ_DOCUMENT_SYM: { - alt370=1; + alt371=1; } break; case WEBKIT_KEYFRAMES_SYM: { - alt370=1; + alt371=1; + } + break; + case KEYFRAMES_SYM: + { + alt371=1; } break; case MEDIA_SYM: { - alt370=1; + alt371=1; } break; case SASS_EXTEND: { - alt370=1; + alt371=1; } break; case SUPPORTS_SYM: { - alt370=1; + alt371=1; } break; case BOTTOMCENTER_SYM: @@ -25749,7 +25947,7 @@ else if ( (true) ) { case TOPRIGHTCORNER_SYM: case TOPRIGHT_SYM: { - alt370=1; + alt371=1; } break; case CHARSET_SYM: @@ -25761,17 +25959,17 @@ else if ( (true) ) { case SASS_RETURN: case SASS_USE: { - alt370=1; + alt371=1; } break; case LPAREN: { - alt370=1; + alt371=1; } break; case LBRACE: { - alt370=1; + alt371=1; } break; case A: @@ -25857,20 +26055,20 @@ else if ( (true) ) { case Y: case Z: { - alt370=1; + alt371=1; } break; } - } finally {dbg.exitDecision(370);} + } finally {dbg.exitDecision(371);} - switch (alt370) { + switch (alt371) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:128: componentValueOuter { dbg.location(1112,128); - pushFollow(FOLLOW_componentValueOuter_in_componentValueOuter7774); + pushFollow(FOLLOW_componentValueOuter_in_componentValueOuter7794); componentValueOuter(); state._fsp--; if (state.failed) return; @@ -25878,10 +26076,10 @@ else if ( (true) ) { break; default : - break loop370; + break loop371; } } - } finally {dbg.exitSubRule(370);} + } finally {dbg.exitSubRule(371);} } @@ -26000,7 +26198,7 @@ public final void syncTo_SEMI() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1136:13: SEMI { dbg.location(1136,13); - match(input,SEMI,FOLLOW_SEMI_in_syncTo_SEMI7863); if (state.failed) return; + match(input,SEMI,FOLLOW_SEMI_in_syncTo_SEMI7883); if (state.failed) return; } } @@ -26077,7 +26275,7 @@ public final void prio() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1148:7: IMPORTANT_SYM { dbg.location(1148,7); - match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_prio7908); if (state.failed) return; + match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_prio7928); if (state.failed) return; } } @@ -26117,29 +26315,29 @@ public final void expression() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:7: term ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* { dbg.location(1152,7); - pushFollow(FOLLOW_term_in_expression7925); + pushFollow(FOLLOW_term_in_expression7945); term(); state._fsp--; if (state.failed) return;dbg.location(1152,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:12: ( ( ( ws | ( ( ws )? operator ( ws )? ) |) term )=> ( ws | ( ( ws )? operator ( ws )? ) |) term )* - try { dbg.enterSubRule(374); + try { dbg.enterSubRule(375); - loop374: + loop375: while (true) { - int alt374=2; - try { dbg.enterDecision(374, decisionCanBacktrack[374]); + int alt375=2; + try { dbg.enterDecision(375, decisionCanBacktrack[375]); try { isCyclicDecision = true; - alt374 = dfa374.predict(input); + alt375 = dfa375.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(374);} + } finally {dbg.exitDecision(375);} - switch (alt374) { + switch (alt375) { case 1 : dbg.enterAlt(1); @@ -26147,28 +26345,28 @@ public final void expression() throws RecognitionException { { dbg.location(1152,66); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:66: ( ws | ( ( ws )? operator ( ws )? ) |) - int alt373=3; - try { dbg.enterSubRule(373); - try { dbg.enterDecision(373, decisionCanBacktrack[373]); + int alt374=3; + try { dbg.enterSubRule(374); + try { dbg.enterDecision(374, decisionCanBacktrack[374]); try { isCyclicDecision = true; - alt373 = dfa373.predict(input); + alt374 = dfa374.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(373);} + } finally {dbg.exitDecision(374);} - switch (alt373) { + switch (alt374) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:68: ws { dbg.location(1152,68); - pushFollow(FOLLOW_ws_in_expression7957); + pushFollow(FOLLOW_ws_in_expression7977); ws(); state._fsp--; if (state.failed) return; @@ -26187,24 +26385,24 @@ public final void expression() throws RecognitionException { { dbg.location(1152,74); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:74: ( ws )? - int alt371=2; - try { dbg.enterSubRule(371); - try { dbg.enterDecision(371, decisionCanBacktrack[371]); + int alt372=2; + try { dbg.enterSubRule(372); + try { dbg.enterDecision(372, decisionCanBacktrack[372]); - int LA371_0 = input.LA(1); - if ( (LA371_0==COMMENT||LA371_0==NL||LA371_0==WS) ) { - alt371=1; + int LA372_0 = input.LA(1); + if ( (LA372_0==COMMENT||LA372_0==NL||LA372_0==WS) ) { + alt372=1; } - } finally {dbg.exitDecision(371);} + } finally {dbg.exitDecision(372);} - switch (alt371) { + switch (alt372) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:74: ws { dbg.location(1152,74); - pushFollow(FOLLOW_ws_in_expression7962); + pushFollow(FOLLOW_ws_in_expression7982); ws(); state._fsp--; if (state.failed) return; @@ -26212,31 +26410,31 @@ public final void expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(371);} + } finally {dbg.exitSubRule(372);} dbg.location(1152,78); - pushFollow(FOLLOW_operator_in_expression7965); + pushFollow(FOLLOW_operator_in_expression7985); operator(); state._fsp--; if (state.failed) return;dbg.location(1152,87); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:87: ( ws )? - int alt372=2; - try { dbg.enterSubRule(372); - try { dbg.enterDecision(372, decisionCanBacktrack[372]); + int alt373=2; + try { dbg.enterSubRule(373); + try { dbg.enterDecision(373, decisionCanBacktrack[373]); - int LA372_0 = input.LA(1); - if ( (LA372_0==COMMENT||LA372_0==NL||LA372_0==WS) ) { - alt372=1; + int LA373_0 = input.LA(1); + if ( (LA373_0==COMMENT||LA373_0==NL||LA373_0==WS) ) { + alt373=1; } - } finally {dbg.exitDecision(372);} + } finally {dbg.exitDecision(373);} - switch (alt372) { + switch (alt373) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:87: ws { dbg.location(1152,87); - pushFollow(FOLLOW_ws_in_expression7967); + pushFollow(FOLLOW_ws_in_expression7987); ws(); state._fsp--; if (state.failed) return; @@ -26244,7 +26442,7 @@ public final void expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(372);} + } finally {dbg.exitSubRule(373);} } @@ -26259,9 +26457,9 @@ public final void expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(373);} + } finally {dbg.exitSubRule(374);} dbg.location(1152,109); - pushFollow(FOLLOW_term_in_expression7976); + pushFollow(FOLLOW_term_in_expression7996); term(); state._fsp--; if (state.failed) return; @@ -26269,10 +26467,10 @@ public final void expression() throws RecognitionException { break; default : - break loop374; + break loop375; } } - } finally {dbg.exitSubRule(374);} + } finally {dbg.exitSubRule(375);} } @@ -26314,46 +26512,46 @@ public final void term() throws RecognitionException { { dbg.location(1157,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:5: ( unaryOperator ( ws )? )? - int alt376=2; - try { dbg.enterSubRule(376); - try { dbg.enterDecision(376, decisionCanBacktrack[376]); + int alt377=2; + try { dbg.enterSubRule(377); + try { dbg.enterDecision(377, decisionCanBacktrack[377]); - int LA376_0 = input.LA(1); - if ( (LA376_0==MINUS||LA376_0==PLUS) ) { - alt376=1; + int LA377_0 = input.LA(1); + if ( (LA377_0==MINUS||LA377_0==PLUS) ) { + alt377=1; } - } finally {dbg.exitDecision(376);} + } finally {dbg.exitDecision(377);} - switch (alt376) { + switch (alt377) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:7: unaryOperator ( ws )? { dbg.location(1157,7); - pushFollow(FOLLOW_unaryOperator_in_term8001); + pushFollow(FOLLOW_unaryOperator_in_term8021); unaryOperator(); state._fsp--; if (state.failed) return;dbg.location(1157,21); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:21: ( ws )? - int alt375=2; - try { dbg.enterSubRule(375); - try { dbg.enterDecision(375, decisionCanBacktrack[375]); + int alt376=2; + try { dbg.enterSubRule(376); + try { dbg.enterDecision(376, decisionCanBacktrack[376]); - int LA375_0 = input.LA(1); - if ( (LA375_0==COMMENT||LA375_0==NL||LA375_0==WS) ) { - alt375=1; + int LA376_0 = input.LA(1); + if ( (LA376_0==COMMENT||LA376_0==NL||LA376_0==WS) ) { + alt376=1; } - } finally {dbg.exitDecision(375);} + } finally {dbg.exitDecision(376);} - switch (alt375) { + switch (alt376) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1157:21: ws { dbg.location(1157,21); - pushFollow(FOLLOW_ws_in_term8003); + pushFollow(FOLLOW_ws_in_term8023); ws(); state._fsp--; if (state.failed) return; @@ -26361,31 +26559,31 @@ public final void term() throws RecognitionException { break; } - } finally {dbg.exitSubRule(375);} + } finally {dbg.exitSubRule(376);} } break; } - } finally {dbg.exitSubRule(376);} + } finally {dbg.exitSubRule(377);} dbg.location(1158,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1158:5: ( ( functionName ( ws )? LPAREN )=> function | VARIABLE |{...}? IDENT | ( LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET ) | NUMBER | URANGE | PERCENTAGE | LENGTH | EMS | REM | EXS | ANGLE | TIME | FREQ | RESOLUTION | DIMENSION | STRING | TILDE ( STRING | LESS_JS_STRING ) | LESS_JS_STRING | GEN | URI | hexColor |{...}? cp_variable |{...}? LESS_AND |{...}? sass_interpolation_expression_var |{...}? less_selector_interpolation |{...}? cp_term_symbol ) - int alt380=27; - try { dbg.enterSubRule(380); - try { dbg.enterDecision(380, decisionCanBacktrack[380]); + int alt381=27; + try { dbg.enterSubRule(381); + try { dbg.enterDecision(381, decisionCanBacktrack[381]); switch ( input.LA(1) ) { case IDENT: { - int LA380_1 = input.LA(2); + int LA381_1 = input.LA(2); if ( (synpred56_Css3()) ) { - alt380=1; + alt381=1; } else if ( (evalPredicate(! (isScssSource() && tokenNameEquals2(".")),"! (isScssSource() && tokenNameEquals2(\".\"))")) ) { - alt380=3; + alt381=3; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt380=23; + alt381=23; } else { @@ -26394,7 +26592,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 380, 1, input); + new NoViableAltException("", 381, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -26406,102 +26604,102 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case VARIABLE: { - alt380=2; + alt381=2; } break; case LBRACKET: { - alt380=4; + alt381=4; } break; case NUMBER: { - alt380=5; + alt381=5; } break; case URANGE: { - alt380=6; + alt381=6; } break; case PERCENTAGE: { - alt380=7; + alt381=7; } break; case LENGTH: { - alt380=8; + alt381=8; } break; case EMS: { - alt380=9; + alt381=9; } break; case REM: { - alt380=10; + alt381=10; } break; case EXS: { - alt380=11; + alt381=11; } break; case ANGLE: { - alt380=12; + alt381=12; } break; case TIME: { - alt380=13; + alt381=13; } break; case FREQ: { - alt380=14; + alt381=14; } break; case RESOLUTION: { - alt380=15; + alt381=15; } break; case DIMENSION: { - alt380=16; + alt381=16; } break; case STRING: { - alt380=17; + alt381=17; } break; case TILDE: { - alt380=18; + alt381=18; } break; case LESS_JS_STRING: { - alt380=19; + alt381=19; } break; case GEN: { - alt380=20; + alt381=20; } break; case URI: { - alt380=21; + alt381=21; } break; case HASH: { - alt380=22; + alt381=22; } break; case AT_IDENT: @@ -26514,6 +26712,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -26548,46 +26747,46 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - alt380=23; + alt381=23; } break; case LESS_AND: { - alt380=24; + alt381=24; } break; case HASH_SYMBOL: { - alt380=25; + alt381=25; } break; case AT_SIGN: { - alt380=26; + alt381=26; } break; case PERCENTAGE_SYMBOL: { - alt380=27; + alt381=27; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 380, 0, input); + new NoViableAltException("", 381, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(380);} + } finally {dbg.exitDecision(381);} - switch (alt380) { + switch (alt381) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:9: ( functionName ( ws )? LPAREN )=> function { dbg.location(1159,36); - pushFollow(FOLLOW_function_in_term8032); + pushFollow(FOLLOW_function_in_term8052); function(); state._fsp--; if (state.failed) return; @@ -26599,7 +26798,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1160:11: VARIABLE { dbg.location(1160,11); - match(input,VARIABLE,FOLLOW_VARIABLE_in_term8045); if (state.failed) return; + match(input,VARIABLE,FOLLOW_VARIABLE_in_term8065); if (state.failed) return; } break; case 3 : @@ -26612,7 +26811,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "! (isScssSource() && tokenNameEquals2(\".\"))"); }dbg.location(1161,58); - match(input,IDENT,FOLLOW_IDENT_in_term8059); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_term8079); if (state.failed) return; } break; case 4 : @@ -26627,96 +26826,96 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:12: LBRACKET ( WS )? IDENT ( WS IDENT )* ( WS )? RBRACKET { dbg.location(1162,12); - match(input,LBRACKET,FOLLOW_LBRACKET_in_term8072); if (state.failed) return;dbg.location(1162,21); + match(input,LBRACKET,FOLLOW_LBRACKET_in_term8092); if (state.failed) return;dbg.location(1162,21); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:21: ( WS )? - int alt377=2; - try { dbg.enterSubRule(377); - try { dbg.enterDecision(377, decisionCanBacktrack[377]); + int alt378=2; + try { dbg.enterSubRule(378); + try { dbg.enterDecision(378, decisionCanBacktrack[378]); - int LA377_0 = input.LA(1); - if ( (LA377_0==WS) ) { - alt377=1; + int LA378_0 = input.LA(1); + if ( (LA378_0==WS) ) { + alt378=1; } - } finally {dbg.exitDecision(377);} + } finally {dbg.exitDecision(378);} - switch (alt377) { + switch (alt378) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:21: WS { dbg.location(1162,21); - match(input,WS,FOLLOW_WS_in_term8074); if (state.failed) return; + match(input,WS,FOLLOW_WS_in_term8094); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(377);} + } finally {dbg.exitSubRule(378);} dbg.location(1162,25); - match(input,IDENT,FOLLOW_IDENT_in_term8077); if (state.failed) return;dbg.location(1162,31); + match(input,IDENT,FOLLOW_IDENT_in_term8097); if (state.failed) return;dbg.location(1162,31); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:31: ( WS IDENT )* - try { dbg.enterSubRule(378); + try { dbg.enterSubRule(379); - loop378: + loop379: while (true) { - int alt378=2; - try { dbg.enterDecision(378, decisionCanBacktrack[378]); + int alt379=2; + try { dbg.enterDecision(379, decisionCanBacktrack[379]); - int LA378_0 = input.LA(1); - if ( (LA378_0==WS) ) { - int LA378_1 = input.LA(2); - if ( (LA378_1==IDENT) ) { - alt378=1; + int LA379_0 = input.LA(1); + if ( (LA379_0==WS) ) { + int LA379_1 = input.LA(2); + if ( (LA379_1==IDENT) ) { + alt379=1; } } - } finally {dbg.exitDecision(378);} + } finally {dbg.exitDecision(379);} - switch (alt378) { + switch (alt379) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:32: WS IDENT { dbg.location(1162,32); - match(input,WS,FOLLOW_WS_in_term8080); if (state.failed) return;dbg.location(1162,35); - match(input,IDENT,FOLLOW_IDENT_in_term8082); if (state.failed) return; + match(input,WS,FOLLOW_WS_in_term8100); if (state.failed) return;dbg.location(1162,35); + match(input,IDENT,FOLLOW_IDENT_in_term8102); if (state.failed) return; } break; default : - break loop378; + break loop379; } } - } finally {dbg.exitSubRule(378);} + } finally {dbg.exitSubRule(379);} dbg.location(1162,43); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:43: ( WS )? - int alt379=2; - try { dbg.enterSubRule(379); - try { dbg.enterDecision(379, decisionCanBacktrack[379]); + int alt380=2; + try { dbg.enterSubRule(380); + try { dbg.enterDecision(380, decisionCanBacktrack[380]); - int LA379_0 = input.LA(1); - if ( (LA379_0==WS) ) { - alt379=1; + int LA380_0 = input.LA(1); + if ( (LA380_0==WS) ) { + alt380=1; } - } finally {dbg.exitDecision(379);} + } finally {dbg.exitDecision(380);} - switch (alt379) { + switch (alt380) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1162:43: WS { dbg.location(1162,43); - match(input,WS,FOLLOW_WS_in_term8086); if (state.failed) return; + match(input,WS,FOLLOW_WS_in_term8106); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(379);} + } finally {dbg.exitSubRule(380);} dbg.location(1162,47); - match(input,RBRACKET,FOLLOW_RBRACKET_in_term8089); if (state.failed) return; + match(input,RBRACKET,FOLLOW_RBRACKET_in_term8109); if (state.failed) return; } } @@ -26727,7 +26926,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1163:11: NUMBER { dbg.location(1163,11); - match(input,NUMBER,FOLLOW_NUMBER_in_term8102); if (state.failed) return; + match(input,NUMBER,FOLLOW_NUMBER_in_term8122); if (state.failed) return; } break; case 6 : @@ -26736,7 +26935,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1164:11: URANGE { dbg.location(1164,11); - match(input,URANGE,FOLLOW_URANGE_in_term8114); if (state.failed) return; + match(input,URANGE,FOLLOW_URANGE_in_term8134); if (state.failed) return; } break; case 7 : @@ -26745,7 +26944,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1165:11: PERCENTAGE { dbg.location(1165,11); - match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_term8126); if (state.failed) return; + match(input,PERCENTAGE,FOLLOW_PERCENTAGE_in_term8146); if (state.failed) return; } break; case 8 : @@ -26754,7 +26953,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1166:11: LENGTH { dbg.location(1166,11); - match(input,LENGTH,FOLLOW_LENGTH_in_term8138); if (state.failed) return; + match(input,LENGTH,FOLLOW_LENGTH_in_term8158); if (state.failed) return; } break; case 9 : @@ -26763,7 +26962,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1167:11: EMS { dbg.location(1167,11); - match(input,EMS,FOLLOW_EMS_in_term8150); if (state.failed) return; + match(input,EMS,FOLLOW_EMS_in_term8170); if (state.failed) return; } break; case 10 : @@ -26772,7 +26971,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1168:11: REM { dbg.location(1168,11); - match(input,REM,FOLLOW_REM_in_term8162); if (state.failed) return; + match(input,REM,FOLLOW_REM_in_term8182); if (state.failed) return; } break; case 11 : @@ -26781,7 +26980,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1169:11: EXS { dbg.location(1169,11); - match(input,EXS,FOLLOW_EXS_in_term8174); if (state.failed) return; + match(input,EXS,FOLLOW_EXS_in_term8194); if (state.failed) return; } break; case 12 : @@ -26790,7 +26989,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1170:11: ANGLE { dbg.location(1170,11); - match(input,ANGLE,FOLLOW_ANGLE_in_term8186); if (state.failed) return; + match(input,ANGLE,FOLLOW_ANGLE_in_term8206); if (state.failed) return; } break; case 13 : @@ -26799,7 +26998,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1171:11: TIME { dbg.location(1171,11); - match(input,TIME,FOLLOW_TIME_in_term8198); if (state.failed) return; + match(input,TIME,FOLLOW_TIME_in_term8218); if (state.failed) return; } break; case 14 : @@ -26808,7 +27007,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1172:11: FREQ { dbg.location(1172,11); - match(input,FREQ,FOLLOW_FREQ_in_term8210); if (state.failed) return; + match(input,FREQ,FOLLOW_FREQ_in_term8230); if (state.failed) return; } break; case 15 : @@ -26817,7 +27016,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1173:11: RESOLUTION { dbg.location(1173,11); - match(input,RESOLUTION,FOLLOW_RESOLUTION_in_term8222); if (state.failed) return; + match(input,RESOLUTION,FOLLOW_RESOLUTION_in_term8242); if (state.failed) return; } break; case 16 : @@ -26826,7 +27025,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1174:11: DIMENSION { dbg.location(1174,11); - match(input,DIMENSION,FOLLOW_DIMENSION_in_term8234); if (state.failed) return; + match(input,DIMENSION,FOLLOW_DIMENSION_in_term8254); if (state.failed) return; } break; case 17 : @@ -26835,7 +27034,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1175:11: STRING { dbg.location(1175,11); - match(input,STRING,FOLLOW_STRING_in_term8251); if (state.failed) return; + match(input,STRING,FOLLOW_STRING_in_term8271); if (state.failed) return; } break; case 18 : @@ -26844,7 +27043,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1176:11: TILDE ( STRING | LESS_JS_STRING ) { dbg.location(1176,11); - match(input,TILDE,FOLLOW_TILDE_in_term8263); if (state.failed) return;dbg.location(1176,17); + match(input,TILDE,FOLLOW_TILDE_in_term8283); if (state.failed) return;dbg.location(1176,17); if ( input.LA(1)==LESS_JS_STRING||input.LA(1)==STRING ) { input.consume(); state.errorRecovery=false; @@ -26864,7 +27063,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1177:11: LESS_JS_STRING { dbg.location(1177,11); - match(input,LESS_JS_STRING,FOLLOW_LESS_JS_STRING_in_term8286); if (state.failed) return; + match(input,LESS_JS_STRING,FOLLOW_LESS_JS_STRING_in_term8306); if (state.failed) return; } break; case 20 : @@ -26873,7 +27072,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1178:11: GEN { dbg.location(1178,11); - match(input,GEN,FOLLOW_GEN_in_term8301); if (state.failed) return; + match(input,GEN,FOLLOW_GEN_in_term8321); if (state.failed) return; } break; case 21 : @@ -26882,7 +27081,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1179:11: URI { dbg.location(1179,11); - match(input,URI,FOLLOW_URI_in_term8313); if (state.failed) return; + match(input,URI,FOLLOW_URI_in_term8333); if (state.failed) return; } break; case 22 : @@ -26891,7 +27090,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1180:11: hexColor { dbg.location(1180,11); - pushFollow(FOLLOW_hexColor_in_term8325); + pushFollow(FOLLOW_hexColor_in_term8345); hexColor(); state._fsp--; if (state.failed) return; @@ -26907,7 +27106,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()"); }dbg.location(1181,40); - pushFollow(FOLLOW_cp_variable_in_term8339); + pushFollow(FOLLOW_cp_variable_in_term8359); cp_variable(); state._fsp--; if (state.failed) return; @@ -26923,7 +27122,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isScssSource()"); }dbg.location(1182,29); - match(input,LESS_AND,FOLLOW_LESS_AND_in_term8353); if (state.failed) return; + match(input,LESS_AND,FOLLOW_LESS_AND_in_term8373); if (state.failed) return; } break; case 25 : @@ -26936,7 +27135,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isScssSource()"); }dbg.location(1183,29); - pushFollow(FOLLOW_sass_interpolation_expression_var_in_term8367); + pushFollow(FOLLOW_sass_interpolation_expression_var_in_term8387); sass_interpolation_expression_var(); state._fsp--; if (state.failed) return; @@ -26952,7 +27151,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isLessSource()"); }dbg.location(1184,29); - pushFollow(FOLLOW_less_selector_interpolation_in_term8381); + pushFollow(FOLLOW_less_selector_interpolation_in_term8401); less_selector_interpolation(); state._fsp--; if (state.failed) return; @@ -26968,7 +27167,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "term", "isCssPreprocessorSource()"); }dbg.location(1185,40); - pushFollow(FOLLOW_cp_term_symbol_in_term8395); + pushFollow(FOLLOW_cp_term_symbol_in_term8415); cp_term_symbol(); state._fsp--; if (state.failed) return; @@ -26976,7 +27175,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; } - } finally {dbg.exitSubRule(380);} + } finally {dbg.exitSubRule(381);} } @@ -27017,7 +27216,7 @@ public final void cp_term_symbol() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1193:7: PERCENTAGE_SYMBOL { dbg.location(1193,7); - match(input,PERCENTAGE_SYMBOL,FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol8422); if (state.failed) return; + match(input,PERCENTAGE_SYMBOL,FOLLOW_PERCENTAGE_SYMBOL_in_cp_term_symbol8442); if (state.failed) return; } } @@ -27057,30 +27256,30 @@ public final void function() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1197:5: functionName LPAREN ( ws )? ( fnAttributes |) RPAREN { dbg.location(1197,5); - pushFollow(FOLLOW_functionName_in_function8438); + pushFollow(FOLLOW_functionName_in_function8458); functionName(); state._fsp--; if (state.failed) return;dbg.location(1198,3); - match(input,LPAREN,FOLLOW_LPAREN_in_function8442); if (state.failed) return;dbg.location(1198,10); + match(input,LPAREN,FOLLOW_LPAREN_in_function8462); if (state.failed) return;dbg.location(1198,10); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1198:10: ( ws )? - int alt381=2; - try { dbg.enterSubRule(381); - try { dbg.enterDecision(381, decisionCanBacktrack[381]); + int alt382=2; + try { dbg.enterSubRule(382); + try { dbg.enterDecision(382, decisionCanBacktrack[382]); - int LA381_0 = input.LA(1); - if ( (LA381_0==COMMENT||LA381_0==NL||LA381_0==WS) ) { - alt381=1; + int LA382_0 = input.LA(1); + if ( (LA382_0==COMMENT||LA382_0==NL||LA382_0==WS) ) { + alt382=1; } - } finally {dbg.exitDecision(381);} + } finally {dbg.exitDecision(382);} - switch (alt381) { + switch (alt382) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1198:10: ws { dbg.location(1198,10); - pushFollow(FOLLOW_ws_in_function8444); + pushFollow(FOLLOW_ws_in_function8464); ws(); state._fsp--; if (state.failed) return; @@ -27088,39 +27287,39 @@ public final void function() throws RecognitionException { break; } - } finally {dbg.exitSubRule(381);} + } finally {dbg.exitSubRule(382);} dbg.location(1199,3); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1199:3: ( fnAttributes |) - int alt382=2; - try { dbg.enterSubRule(382); - try { dbg.enterDecision(382, decisionCanBacktrack[382]); + int alt383=2; + try { dbg.enterSubRule(383); + try { dbg.enterDecision(383, decisionCanBacktrack[383]); - int LA382_0 = input.LA(1); - if ( ((LA382_0 >= ANGLE && LA382_0 <= AT_SIGN)||(LA382_0 >= BOTTOMCENTER_SYM && LA382_0 <= BOTTOMRIGHT_SYM)||LA382_0==CHARSET_SYM||LA382_0==COUNTER_STYLE_SYM||LA382_0==DIMENSION||LA382_0==EMS||LA382_0==EXS||(LA382_0 >= FONT_FACE_SYM && LA382_0 <= FREQ)||LA382_0==GEN||(LA382_0 >= HASH && LA382_0 <= HASH_SYMBOL)||(LA382_0 >= IDENT && LA382_0 <= IMPORT_SYM)||(LA382_0 >= LBRACE && LA382_0 <= LENGTH)||(LA382_0 >= LESS_AND && LA382_0 <= LESS_JS_STRING)||LA382_0==LPAREN||(LA382_0 >= MEDIA_SYM && LA382_0 <= MOZ_DOCUMENT_SYM)||LA382_0==NAMESPACE_SYM||(LA382_0 >= NOT && LA382_0 <= NUMBER)||(LA382_0 >= PAGE_SYM && LA382_0 <= PERCENTAGE_SYMBOL)||LA382_0==PLUS||(LA382_0 >= REM && LA382_0 <= RIGHTTOP_SYM)||(LA382_0 >= SASS_AT_ROOT && LA382_0 <= SASS_DEBUG)||(LA382_0 >= SASS_EACH && LA382_0 <= SASS_ELSE)||LA382_0==SASS_EXTEND||(LA382_0 >= SASS_FOR && LA382_0 <= SASS_FUNCTION)||(LA382_0 >= SASS_IF && LA382_0 <= SASS_MIXIN)||(LA382_0 >= SASS_RETURN && LA382_0 <= SASS_WHILE)||LA382_0==STRING||(LA382_0 >= TILDE && LA382_0 <= TOPRIGHT_SYM)||(LA382_0 >= URANGE && LA382_0 <= URI)||LA382_0==VARIABLE||LA382_0==WEBKIT_KEYFRAMES_SYM) ) { - alt382=1; + int LA383_0 = input.LA(1); + if ( ((LA383_0 >= ANGLE && LA383_0 <= AT_SIGN)||(LA383_0 >= BOTTOMCENTER_SYM && LA383_0 <= BOTTOMRIGHT_SYM)||LA383_0==CHARSET_SYM||LA383_0==COUNTER_STYLE_SYM||LA383_0==DIMENSION||LA383_0==EMS||LA383_0==EXS||(LA383_0 >= FONT_FACE_SYM && LA383_0 <= FREQ)||LA383_0==GEN||(LA383_0 >= HASH && LA383_0 <= HASH_SYMBOL)||(LA383_0 >= IDENT && LA383_0 <= IMPORT_SYM)||LA383_0==KEYFRAMES_SYM||(LA383_0 >= LBRACE && LA383_0 <= LENGTH)||(LA383_0 >= LESS_AND && LA383_0 <= LESS_JS_STRING)||LA383_0==LPAREN||(LA383_0 >= MEDIA_SYM && LA383_0 <= MOZ_DOCUMENT_SYM)||LA383_0==NAMESPACE_SYM||(LA383_0 >= NOT && LA383_0 <= NUMBER)||(LA383_0 >= PAGE_SYM && LA383_0 <= PERCENTAGE_SYMBOL)||LA383_0==PLUS||(LA383_0 >= REM && LA383_0 <= RIGHTTOP_SYM)||(LA383_0 >= SASS_AT_ROOT && LA383_0 <= SASS_DEBUG)||(LA383_0 >= SASS_EACH && LA383_0 <= SASS_ELSE)||LA383_0==SASS_EXTEND||(LA383_0 >= SASS_FOR && LA383_0 <= SASS_FUNCTION)||(LA383_0 >= SASS_IF && LA383_0 <= SASS_MIXIN)||(LA383_0 >= SASS_RETURN && LA383_0 <= SASS_WHILE)||LA383_0==STRING||(LA383_0 >= TILDE && LA383_0 <= TOPRIGHT_SYM)||(LA383_0 >= URANGE && LA383_0 <= URI)||LA383_0==VARIABLE||LA383_0==WEBKIT_KEYFRAMES_SYM) ) { + alt383=1; } - else if ( (LA382_0==RPAREN) ) { - alt382=2; + else if ( (LA383_0==RPAREN) ) { + alt383=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 382, 0, input); + new NoViableAltException("", 383, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(382);} + } finally {dbg.exitDecision(383);} - switch (alt382) { + switch (alt383) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1200:21: fnAttributes { dbg.location(1200,21); - pushFollow(FOLLOW_fnAttributes_in_function8471); + pushFollow(FOLLOW_fnAttributes_in_function8491); fnAttributes(); state._fsp--; if (state.failed) return; @@ -27135,9 +27334,9 @@ else if ( (LA382_0==RPAREN) ) { break; } - } finally {dbg.exitSubRule(382);} + } finally {dbg.exitSubRule(383);} dbg.location(1203,3); - match(input,RPAREN,FOLLOW_RPAREN_in_function8502); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_function8522); if (state.failed) return; } } @@ -27181,67 +27380,67 @@ public final void functionName() throws RecognitionException { { dbg.location(1215,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:9: ( IDENT COLON )? - int alt383=2; - try { dbg.enterSubRule(383); - try { dbg.enterDecision(383, decisionCanBacktrack[383]); + int alt384=2; + try { dbg.enterSubRule(384); + try { dbg.enterDecision(384, decisionCanBacktrack[384]); - int LA383_0 = input.LA(1); - if ( (LA383_0==IDENT) ) { - int LA383_1 = input.LA(2); - if ( (LA383_1==COLON) ) { - alt383=1; + int LA384_0 = input.LA(1); + if ( (LA384_0==IDENT) ) { + int LA384_1 = input.LA(2); + if ( (LA384_1==COLON) ) { + alt384=1; } } - } finally {dbg.exitDecision(383);} + } finally {dbg.exitDecision(384);} - switch (alt383) { + switch (alt384) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:10: IDENT COLON { dbg.location(1215,10); - match(input,IDENT,FOLLOW_IDENT_in_functionName8554); if (state.failed) return;dbg.location(1215,16); - match(input,COLON,FOLLOW_COLON_in_functionName8556); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_functionName8574); if (state.failed) return;dbg.location(1215,16); + match(input,COLON,FOLLOW_COLON_in_functionName8576); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(383);} + } finally {dbg.exitSubRule(384);} dbg.location(1215,24); - match(input,IDENT,FOLLOW_IDENT_in_functionName8560); if (state.failed) return;dbg.location(1215,30); + match(input,IDENT,FOLLOW_IDENT_in_functionName8580); if (state.failed) return;dbg.location(1215,30); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:30: ( DOT IDENT )* - try { dbg.enterSubRule(384); + try { dbg.enterSubRule(385); - loop384: + loop385: while (true) { - int alt384=2; - try { dbg.enterDecision(384, decisionCanBacktrack[384]); + int alt385=2; + try { dbg.enterDecision(385, decisionCanBacktrack[385]); - int LA384_0 = input.LA(1); - if ( (LA384_0==DOT) ) { - alt384=1; + int LA385_0 = input.LA(1); + if ( (LA385_0==DOT) ) { + alt385=1; } - } finally {dbg.exitDecision(384);} + } finally {dbg.exitDecision(385);} - switch (alt384) { + switch (alt385) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1215:31: DOT IDENT { dbg.location(1215,31); - match(input,DOT,FOLLOW_DOT_in_functionName8563); if (state.failed) return;dbg.location(1215,35); - match(input,IDENT,FOLLOW_IDENT_in_functionName8565); if (state.failed) return; + match(input,DOT,FOLLOW_DOT_in_functionName8583); if (state.failed) return;dbg.location(1215,35); + match(input,IDENT,FOLLOW_IDENT_in_functionName8585); if (state.failed) return; } break; default : - break loop384; + break loop385; } } - } finally {dbg.exitSubRule(384);} + } finally {dbg.exitSubRule(385);} } @@ -27282,29 +27481,29 @@ public final void fnAttributes() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:5: fnAttribute ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* ( ws )? { dbg.location(1220,5); - pushFollow(FOLLOW_fnAttribute_in_fnAttributes8589); + pushFollow(FOLLOW_fnAttribute_in_fnAttributes8609); fnAttribute(); state._fsp--; if (state.failed) return;dbg.location(1220,17); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:17: ( ( ws )? ( COMMA |{...}? SEMI ) ( ws )? fnAttribute )* - try { dbg.enterSubRule(388); + try { dbg.enterSubRule(389); - loop388: + loop389: while (true) { - int alt388=2; - try { dbg.enterDecision(388, decisionCanBacktrack[388]); + int alt389=2; + try { dbg.enterDecision(389, decisionCanBacktrack[389]); try { isCyclicDecision = true; - alt388 = dfa388.predict(input); + alt389 = dfa389.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(388);} + } finally {dbg.exitDecision(389);} - switch (alt388) { + switch (alt389) { case 1 : dbg.enterAlt(1); @@ -27312,24 +27511,24 @@ public final void fnAttributes() throws RecognitionException { { dbg.location(1220,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:18: ( ws )? - int alt385=2; - try { dbg.enterSubRule(385); - try { dbg.enterDecision(385, decisionCanBacktrack[385]); + int alt386=2; + try { dbg.enterSubRule(386); + try { dbg.enterDecision(386, decisionCanBacktrack[386]); - int LA385_0 = input.LA(1); - if ( (LA385_0==COMMENT||LA385_0==NL||LA385_0==WS) ) { - alt385=1; + int LA386_0 = input.LA(1); + if ( (LA386_0==COMMENT||LA386_0==NL||LA386_0==WS) ) { + alt386=1; } - } finally {dbg.exitDecision(385);} + } finally {dbg.exitDecision(386);} - switch (alt385) { + switch (alt386) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:18: ws { dbg.location(1220,18); - pushFollow(FOLLOW_ws_in_fnAttributes8592); + pushFollow(FOLLOW_ws_in_fnAttributes8612); ws(); state._fsp--; if (state.failed) return; @@ -27337,39 +27536,39 @@ public final void fnAttributes() throws RecognitionException { break; } - } finally {dbg.exitSubRule(385);} + } finally {dbg.exitSubRule(386);} dbg.location(1220,22); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:22: ( COMMA |{...}? SEMI ) - int alt386=2; - try { dbg.enterSubRule(386); - try { dbg.enterDecision(386, decisionCanBacktrack[386]); + int alt387=2; + try { dbg.enterSubRule(387); + try { dbg.enterDecision(387, decisionCanBacktrack[387]); - int LA386_0 = input.LA(1); - if ( (LA386_0==COMMA) ) { - alt386=1; + int LA387_0 = input.LA(1); + if ( (LA387_0==COMMA) ) { + alt387=1; } - else if ( (LA386_0==SEMI) ) { - alt386=2; + else if ( (LA387_0==SEMI) ) { + alt387=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 386, 0, input); + new NoViableAltException("", 387, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(386);} + } finally {dbg.exitDecision(387);} - switch (alt386) { + switch (alt387) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:23: COMMA { dbg.location(1220,23); - match(input,COMMA,FOLLOW_COMMA_in_fnAttributes8596); if (state.failed) return; + match(input,COMMA,FOLLOW_COMMA_in_fnAttributes8616); if (state.failed) return; } break; case 2 : @@ -27382,32 +27581,32 @@ else if ( (LA386_0==SEMI) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "fnAttributes", "isLessSource()"); }dbg.location(1220,49); - match(input,SEMI,FOLLOW_SEMI_in_fnAttributes8602); if (state.failed) return; + match(input,SEMI,FOLLOW_SEMI_in_fnAttributes8622); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(386);} + } finally {dbg.exitSubRule(387);} dbg.location(1220,55); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:55: ( ws )? - int alt387=2; - try { dbg.enterSubRule(387); - try { dbg.enterDecision(387, decisionCanBacktrack[387]); + int alt388=2; + try { dbg.enterSubRule(388); + try { dbg.enterDecision(388, decisionCanBacktrack[388]); - int LA387_0 = input.LA(1); - if ( (LA387_0==COMMENT||LA387_0==NL||LA387_0==WS) ) { - alt387=1; + int LA388_0 = input.LA(1); + if ( (LA388_0==COMMENT||LA388_0==NL||LA388_0==WS) ) { + alt388=1; } - } finally {dbg.exitDecision(387);} + } finally {dbg.exitDecision(388);} - switch (alt387) { + switch (alt388) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:55: ws { dbg.location(1220,55); - pushFollow(FOLLOW_ws_in_fnAttributes8605); + pushFollow(FOLLOW_ws_in_fnAttributes8625); ws(); state._fsp--; if (state.failed) return; @@ -27415,9 +27614,9 @@ else if ( (LA386_0==SEMI) ) { break; } - } finally {dbg.exitSubRule(387);} + } finally {dbg.exitSubRule(388);} dbg.location(1220,59); - pushFollow(FOLLOW_fnAttribute_in_fnAttributes8608); + pushFollow(FOLLOW_fnAttribute_in_fnAttributes8628); fnAttribute(); state._fsp--; if (state.failed) return; @@ -27425,30 +27624,30 @@ else if ( (LA386_0==SEMI) ) { break; default : - break loop388; + break loop389; } } - } finally {dbg.exitSubRule(388);} + } finally {dbg.exitSubRule(389);} dbg.location(1220,73); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:73: ( ws )? - int alt389=2; - try { dbg.enterSubRule(389); - try { dbg.enterDecision(389, decisionCanBacktrack[389]); + int alt390=2; + try { dbg.enterSubRule(390); + try { dbg.enterDecision(390, decisionCanBacktrack[390]); - int LA389_0 = input.LA(1); - if ( (LA389_0==COMMENT||LA389_0==NL||LA389_0==WS) ) { - alt389=1; + int LA390_0 = input.LA(1); + if ( (LA390_0==COMMENT||LA390_0==NL||LA390_0==WS) ) { + alt390=1; } - } finally {dbg.exitDecision(389);} + } finally {dbg.exitDecision(390);} - switch (alt389) { + switch (alt390) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1220:73: ws { dbg.location(1220,73); - pushFollow(FOLLOW_ws_in_fnAttributes8612); + pushFollow(FOLLOW_ws_in_fnAttributes8632); ws(); state._fsp--; if (state.failed) return; @@ -27456,7 +27655,7 @@ else if ( (LA386_0==SEMI) ) { break; } - } finally {dbg.exitSubRule(389);} + } finally {dbg.exitSubRule(390);} } @@ -27492,33 +27691,33 @@ public final void fnAttribute() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1224:2: ( ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue | ( cp_expression )=> cp_expression | expression ) - int alt392=3; - try { dbg.enterDecision(392, decisionCanBacktrack[392]); + int alt393=3; + try { dbg.enterDecision(393, decisionCanBacktrack[393]); - int LA392_0 = input.LA(1); - if ( (LA392_0==IDENT) ) { - int LA392_1 = input.LA(2); + int LA393_0 = input.LA(1); + if ( (LA393_0==IDENT) ) { + int LA393_1 = input.LA(2); if ( (synpred57_Css3()) ) { - alt392=1; + alt393=1; } else if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==AT_IDENT||(LA392_0 >= BOTTOMCENTER_SYM && LA392_0 <= BOTTOMRIGHT_SYM)||LA392_0==CHARSET_SYM||LA392_0==COUNTER_STYLE_SYM||LA392_0==FONT_FACE_SYM||LA392_0==IMPORT_SYM||(LA392_0 >= LEFTBOTTOM_SYM && LA392_0 <= LEFTTOP_SYM)||LA392_0==MEDIA_SYM||LA392_0==MOZ_DOCUMENT_SYM||LA392_0==NAMESPACE_SYM||LA392_0==PAGE_SYM||(LA392_0 >= RIGHTBOTTOM_SYM && LA392_0 <= RIGHTTOP_SYM)||(LA392_0 >= SASS_AT_ROOT && LA392_0 <= SASS_DEBUG)||(LA392_0 >= SASS_EACH && LA392_0 <= SASS_ELSE)||LA392_0==SASS_EXTEND||(LA392_0 >= SASS_FOR && LA392_0 <= SASS_FUNCTION)||(LA392_0 >= SASS_IF && LA392_0 <= SASS_MIXIN)||(LA392_0 >= SASS_RETURN && LA392_0 <= SASS_USE)||(LA392_0 >= SASS_WARN && LA392_0 <= SASS_WHILE)||(LA392_0 >= TOPCENTER_SYM && LA392_0 <= TOPRIGHT_SYM)||LA392_0==WEBKIT_KEYFRAMES_SYM) ) { - int LA392_2 = input.LA(2); + else if ( (LA393_0==AT_IDENT||(LA393_0 >= BOTTOMCENTER_SYM && LA393_0 <= BOTTOMRIGHT_SYM)||LA393_0==CHARSET_SYM||LA393_0==COUNTER_STYLE_SYM||LA393_0==FONT_FACE_SYM||LA393_0==IMPORT_SYM||LA393_0==KEYFRAMES_SYM||(LA393_0 >= LEFTBOTTOM_SYM && LA393_0 <= LEFTTOP_SYM)||LA393_0==MEDIA_SYM||LA393_0==MOZ_DOCUMENT_SYM||LA393_0==NAMESPACE_SYM||LA393_0==PAGE_SYM||(LA393_0 >= RIGHTBOTTOM_SYM && LA393_0 <= RIGHTTOP_SYM)||(LA393_0 >= SASS_AT_ROOT && LA393_0 <= SASS_DEBUG)||(LA393_0 >= SASS_EACH && LA393_0 <= SASS_ELSE)||LA393_0==SASS_EXTEND||(LA393_0 >= SASS_FOR && LA393_0 <= SASS_FUNCTION)||(LA393_0 >= SASS_IF && LA393_0 <= SASS_MIXIN)||(LA393_0 >= SASS_RETURN && LA393_0 <= SASS_USE)||(LA393_0 >= SASS_WARN && LA393_0 <= SASS_WHILE)||(LA393_0 >= TOPCENTER_SYM && LA393_0 <= TOPRIGHT_SYM)||LA393_0==WEBKIT_KEYFRAMES_SYM) ) { + int LA393_2 = input.LA(2); if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred57_Css3())) ) { - alt392=1; + alt393=1; } else if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt392=2; + alt393=2; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt392=3; + alt393=3; } else { @@ -27527,7 +27726,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 392, 2, input); + new NoViableAltException("", 393, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27536,16 +27735,16 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } - else if ( (LA392_0==SASS_VAR) ) { - int LA392_3 = input.LA(2); + else if ( (LA393_0==SASS_VAR) ) { + int LA393_3 = input.LA(2); if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred57_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt392=1; + alt393=1; } else if ( (((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt392=2; + alt393=2; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt392=3; + alt393=3; } else { @@ -27554,7 +27753,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 392, 3, input); + new NoViableAltException("", 393, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27563,229 +27762,229 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") } } - else if ( (LA392_0==LBRACE) && (synpred58_Css3())) { - alt392=2; + else if ( (LA393_0==LBRACE) && (synpred58_Css3())) { + alt393=2; } - else if ( (LA392_0==NOT) && (synpred58_Css3())) { - alt392=2; + else if ( (LA393_0==NOT) && (synpred58_Css3())) { + alt393=2; } - else if ( (LA392_0==MINUS||LA392_0==PLUS) ) { - int LA392_6 = input.LA(2); + else if ( (LA393_0==MINUS||LA393_0==PLUS) ) { + int LA393_6 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==VARIABLE) ) { - int LA392_7 = input.LA(2); + else if ( (LA393_0==VARIABLE) ) { + int LA393_7 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==LBRACKET) ) { - int LA392_8 = input.LA(2); + else if ( (LA393_0==LBRACKET) ) { + int LA393_8 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==NUMBER) ) { - int LA392_9 = input.LA(2); + else if ( (LA393_0==NUMBER) ) { + int LA393_9 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==URANGE) ) { - int LA392_10 = input.LA(2); + else if ( (LA393_0==URANGE) ) { + int LA393_10 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==PERCENTAGE) ) { - int LA392_11 = input.LA(2); + else if ( (LA393_0==PERCENTAGE) ) { + int LA393_11 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==LENGTH) ) { - int LA392_12 = input.LA(2); + else if ( (LA393_0==LENGTH) ) { + int LA393_12 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==EMS) ) { - int LA392_13 = input.LA(2); + else if ( (LA393_0==EMS) ) { + int LA393_13 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==REM) ) { - int LA392_14 = input.LA(2); + else if ( (LA393_0==REM) ) { + int LA393_14 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==EXS) ) { - int LA392_15 = input.LA(2); + else if ( (LA393_0==EXS) ) { + int LA393_15 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==ANGLE) ) { - int LA392_16 = input.LA(2); + else if ( (LA393_0==ANGLE) ) { + int LA393_16 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==TIME) ) { - int LA392_17 = input.LA(2); + else if ( (LA393_0==TIME) ) { + int LA393_17 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==FREQ) ) { - int LA392_18 = input.LA(2); + else if ( (LA393_0==FREQ) ) { + int LA393_18 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==RESOLUTION) ) { - int LA392_19 = input.LA(2); + else if ( (LA393_0==RESOLUTION) ) { + int LA393_19 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==DIMENSION) ) { - int LA392_20 = input.LA(2); + else if ( (LA393_0==DIMENSION) ) { + int LA393_20 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==STRING) ) { - int LA392_21 = input.LA(2); + else if ( (LA393_0==STRING) ) { + int LA393_21 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==TILDE) ) { - int LA392_22 = input.LA(2); + else if ( (LA393_0==TILDE) ) { + int LA393_22 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==LESS_JS_STRING) ) { - int LA392_23 = input.LA(2); + else if ( (LA393_0==LESS_JS_STRING) ) { + int LA393_23 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==GEN) ) { - int LA392_24 = input.LA(2); + else if ( (LA393_0==GEN) ) { + int LA393_24 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==URI) ) { - int LA392_25 = input.LA(2); + else if ( (LA393_0==URI) ) { + int LA393_25 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==HASH) ) { - int LA392_26 = input.LA(2); + else if ( (LA393_0==HASH) ) { + int LA393_26 = input.LA(2); if ( (synpred58_Css3()) ) { - alt392=2; + alt393=2; } else if ( (true) ) { - alt392=3; + alt393=3; } } - else if ( (LA392_0==LESS_AND) ) { - int LA392_27 = input.LA(2); + else if ( (LA393_0==LESS_AND) ) { + int LA393_27 = input.LA(2); if ( ((synpred58_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt392=2; + alt393=2; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt392=3; + alt393=3; } else { @@ -27794,7 +27993,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 392, 27, input); + new NoViableAltException("", 393, 27, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27803,13 +28002,13 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA392_0==HASH_SYMBOL) ) { - int LA392_28 = input.LA(2); + else if ( (LA393_0==HASH_SYMBOL) ) { + int LA393_28 = input.LA(2); if ( ((synpred58_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt392=2; + alt393=2; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt392=3; + alt393=3; } else { @@ -27818,7 +28017,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 392, 28, input); + new NoViableAltException("", 393, 28, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27827,13 +28026,13 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { } } - else if ( (LA392_0==AT_SIGN) ) { - int LA392_29 = input.LA(2); + else if ( (LA393_0==AT_SIGN) ) { + int LA393_29 = input.LA(2); if ( ((synpred58_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt392=2; + alt393=2; } else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt392=3; + alt393=3; } else { @@ -27842,7 +28041,7 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 392, 29, input); + new NoViableAltException("", 393, 29, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27851,13 +28050,13 @@ else if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { } } - else if ( (LA392_0==PERCENTAGE_SYMBOL) ) { - int LA392_30 = input.LA(2); + else if ( (LA393_0==PERCENTAGE_SYMBOL) ) { + int LA393_30 = input.LA(2); if ( ((synpred58_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))) ) { - alt392=2; + alt393=2; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt392=3; + alt393=3; } else { @@ -27866,7 +28065,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 392, 30, input); + new NoViableAltException("", 393, 30, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -27875,45 +28074,45 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) } } - else if ( (LA392_0==IMPORTANT_SYM) && (synpred58_Css3())) { - alt392=2; + else if ( (LA393_0==IMPORTANT_SYM) && (synpred58_Css3())) { + alt393=2; } - else if ( (LA392_0==LPAREN) && (synpred58_Css3())) { - alt392=2; + else if ( (LA393_0==LPAREN) && (synpred58_Css3())) { + alt393=2; } - } finally {dbg.exitDecision(392);} + } finally {dbg.exitDecision(393);} - switch (alt392) { + switch (alt393) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:9: ( fnAttributeName ( ws )? ( OPEQ | COLON ) )=> fnAttributeName ( ws )? ( OPEQ | COLON ) ( ws )? fnAttributeValue { dbg.location(1225,46); - pushFollow(FOLLOW_fnAttributeName_in_fnAttribute8649); + pushFollow(FOLLOW_fnAttributeName_in_fnAttribute8669); fnAttributeName(); state._fsp--; if (state.failed) return;dbg.location(1225,62); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:62: ( ws )? - int alt390=2; - try { dbg.enterSubRule(390); - try { dbg.enterDecision(390, decisionCanBacktrack[390]); + int alt391=2; + try { dbg.enterSubRule(391); + try { dbg.enterDecision(391, decisionCanBacktrack[391]); - int LA390_0 = input.LA(1); - if ( (LA390_0==COMMENT||LA390_0==NL||LA390_0==WS) ) { - alt390=1; + int LA391_0 = input.LA(1); + if ( (LA391_0==COMMENT||LA391_0==NL||LA391_0==WS) ) { + alt391=1; } - } finally {dbg.exitDecision(390);} + } finally {dbg.exitDecision(391);} - switch (alt390) { + switch (alt391) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:62: ws { dbg.location(1225,62); - pushFollow(FOLLOW_ws_in_fnAttribute8651); + pushFollow(FOLLOW_ws_in_fnAttribute8671); ws(); state._fsp--; if (state.failed) return; @@ -27921,7 +28120,7 @@ else if ( (LA392_0==LPAREN) && (synpred58_Css3())) { break; } - } finally {dbg.exitSubRule(390);} + } finally {dbg.exitSubRule(391);} dbg.location(1225,66); if ( input.LA(1)==COLON||input.LA(1)==OPEQ ) { input.consume(); @@ -27935,24 +28134,24 @@ else if ( (LA392_0==LPAREN) && (synpred58_Css3())) { throw mse; }dbg.location(1225,79); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:79: ( ws )? - int alt391=2; - try { dbg.enterSubRule(391); - try { dbg.enterDecision(391, decisionCanBacktrack[391]); + int alt392=2; + try { dbg.enterSubRule(392); + try { dbg.enterDecision(392, decisionCanBacktrack[392]); - int LA391_0 = input.LA(1); - if ( (LA391_0==COMMENT||LA391_0==NL||LA391_0==WS) ) { - alt391=1; + int LA392_0 = input.LA(1); + if ( (LA392_0==COMMENT||LA392_0==NL||LA392_0==WS) ) { + alt392=1; } - } finally {dbg.exitDecision(391);} + } finally {dbg.exitDecision(392);} - switch (alt391) { + switch (alt392) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:79: ws { dbg.location(1225,79); - pushFollow(FOLLOW_ws_in_fnAttribute8660); + pushFollow(FOLLOW_ws_in_fnAttribute8680); ws(); state._fsp--; if (state.failed) return; @@ -27960,9 +28159,9 @@ else if ( (LA392_0==LPAREN) && (synpred58_Css3())) { break; } - } finally {dbg.exitSubRule(391);} + } finally {dbg.exitSubRule(392);} dbg.location(1225,83); - pushFollow(FOLLOW_fnAttributeValue_in_fnAttribute8663); + pushFollow(FOLLOW_fnAttributeValue_in_fnAttribute8683); fnAttributeValue(); state._fsp--; if (state.failed) return; @@ -27974,7 +28173,7 @@ else if ( (LA392_0==LPAREN) && (synpred58_Css3())) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:11: ( cp_expression )=> cp_expression { dbg.location(1226,29); - pushFollow(FOLLOW_cp_expression_in_fnAttribute8680); + pushFollow(FOLLOW_cp_expression_in_fnAttribute8700); cp_expression(); state._fsp--; if (state.failed) return; @@ -27986,7 +28185,7 @@ else if ( (LA392_0==LPAREN) && (synpred58_Css3())) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1227:11: expression { dbg.location(1227,11); - pushFollow(FOLLOW_expression_in_fnAttribute8692); + pushFollow(FOLLOW_expression_in_fnAttribute8712); expression(); state._fsp--; if (state.failed) return; @@ -28026,19 +28225,19 @@ public final void fnAttributeName() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1231:2: ( IDENT ( DOT IDENT )* |{...}? cp_variable ) - int alt394=2; - try { dbg.enterDecision(394, decisionCanBacktrack[394]); + int alt395=2; + try { dbg.enterDecision(395, decisionCanBacktrack[395]); - int LA394_0 = input.LA(1); - if ( (LA394_0==IDENT) ) { - int LA394_1 = input.LA(2); - if ( (LA394_1==DOT) ) { - int LA394_3 = input.LA(3); - if ( (LA394_3==SASS_VAR) ) { - alt394=2; + int LA395_0 = input.LA(1); + if ( (LA395_0==IDENT) ) { + int LA395_1 = input.LA(2); + if ( (LA395_1==DOT) ) { + int LA395_3 = input.LA(3); + if ( (LA395_3==SASS_VAR) ) { + alt395=2; } - else if ( (LA394_3==IDENT) ) { - alt394=1; + else if ( (LA395_3==IDENT) ) { + alt395=1; } else { @@ -28049,7 +28248,7 @@ else if ( (LA394_3==IDENT) ) { input.consume(); } NoViableAltException nvae = - new NoViableAltException("", 394, 3, input); + new NoViableAltException("", 395, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28058,8 +28257,8 @@ else if ( (LA394_3==IDENT) ) { } } - else if ( (LA394_1==COLON||LA394_1==COMMENT||LA394_1==NL||LA394_1==OPEQ||LA394_1==WS) ) { - alt394=1; + else if ( (LA395_1==COLON||LA395_1==COMMENT||LA395_1==NL||LA395_1==OPEQ||LA395_1==WS) ) { + alt395=1; } else { @@ -28068,7 +28267,7 @@ else if ( (LA394_1==COLON||LA394_1==COMMENT||LA394_1==NL||LA394_1==OPEQ||LA394_1 try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 394, 1, input); + new NoViableAltException("", 395, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28077,60 +28276,60 @@ else if ( (LA394_1==COLON||LA394_1==COMMENT||LA394_1==NL||LA394_1==OPEQ||LA394_1 } } - else if ( (LA394_0==AT_IDENT||(LA394_0 >= BOTTOMCENTER_SYM && LA394_0 <= BOTTOMRIGHT_SYM)||LA394_0==CHARSET_SYM||LA394_0==COUNTER_STYLE_SYM||LA394_0==FONT_FACE_SYM||LA394_0==IMPORT_SYM||(LA394_0 >= LEFTBOTTOM_SYM && LA394_0 <= LEFTTOP_SYM)||LA394_0==MEDIA_SYM||LA394_0==MOZ_DOCUMENT_SYM||LA394_0==NAMESPACE_SYM||LA394_0==PAGE_SYM||(LA394_0 >= RIGHTBOTTOM_SYM && LA394_0 <= RIGHTTOP_SYM)||(LA394_0 >= SASS_AT_ROOT && LA394_0 <= SASS_DEBUG)||(LA394_0 >= SASS_EACH && LA394_0 <= SASS_ELSE)||LA394_0==SASS_EXTEND||(LA394_0 >= SASS_FOR && LA394_0 <= SASS_FUNCTION)||(LA394_0 >= SASS_IF && LA394_0 <= SASS_MIXIN)||(LA394_0 >= SASS_RETURN && LA394_0 <= SASS_WHILE)||(LA394_0 >= TOPCENTER_SYM && LA394_0 <= TOPRIGHT_SYM)||LA394_0==WEBKIT_KEYFRAMES_SYM) ) { - alt394=2; + else if ( (LA395_0==AT_IDENT||(LA395_0 >= BOTTOMCENTER_SYM && LA395_0 <= BOTTOMRIGHT_SYM)||LA395_0==CHARSET_SYM||LA395_0==COUNTER_STYLE_SYM||LA395_0==FONT_FACE_SYM||LA395_0==IMPORT_SYM||LA395_0==KEYFRAMES_SYM||(LA395_0 >= LEFTBOTTOM_SYM && LA395_0 <= LEFTTOP_SYM)||LA395_0==MEDIA_SYM||LA395_0==MOZ_DOCUMENT_SYM||LA395_0==NAMESPACE_SYM||LA395_0==PAGE_SYM||(LA395_0 >= RIGHTBOTTOM_SYM && LA395_0 <= RIGHTTOP_SYM)||(LA395_0 >= SASS_AT_ROOT && LA395_0 <= SASS_DEBUG)||(LA395_0 >= SASS_EACH && LA395_0 <= SASS_ELSE)||LA395_0==SASS_EXTEND||(LA395_0 >= SASS_FOR && LA395_0 <= SASS_FUNCTION)||(LA395_0 >= SASS_IF && LA395_0 <= SASS_MIXIN)||(LA395_0 >= SASS_RETURN && LA395_0 <= SASS_WHILE)||(LA395_0 >= TOPCENTER_SYM && LA395_0 <= TOPRIGHT_SYM)||LA395_0==WEBKIT_KEYFRAMES_SYM) ) { + alt395=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 394, 0, input); + new NoViableAltException("", 395, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(394);} + } finally {dbg.exitDecision(395);} - switch (alt394) { + switch (alt395) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1232:13: IDENT ( DOT IDENT )* { dbg.location(1232,13); - match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName8715); if (state.failed) return;dbg.location(1232,19); + match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName8735); if (state.failed) return;dbg.location(1232,19); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1232:19: ( DOT IDENT )* - try { dbg.enterSubRule(393); + try { dbg.enterSubRule(394); - loop393: + loop394: while (true) { - int alt393=2; - try { dbg.enterDecision(393, decisionCanBacktrack[393]); + int alt394=2; + try { dbg.enterDecision(394, decisionCanBacktrack[394]); - int LA393_0 = input.LA(1); - if ( (LA393_0==DOT) ) { - alt393=1; + int LA394_0 = input.LA(1); + if ( (LA394_0==DOT) ) { + alt394=1; } - } finally {dbg.exitDecision(393);} + } finally {dbg.exitDecision(394);} - switch (alt393) { + switch (alt394) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1232:20: DOT IDENT { dbg.location(1232,20); - match(input,DOT,FOLLOW_DOT_in_fnAttributeName8718); if (state.failed) return;dbg.location(1232,24); - match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName8720); if (state.failed) return; + match(input,DOT,FOLLOW_DOT_in_fnAttributeName8738); if (state.failed) return;dbg.location(1232,24); + match(input,IDENT,FOLLOW_IDENT_in_fnAttributeName8740); if (state.failed) return; } break; default : - break loop393; + break loop394; } } - } finally {dbg.exitSubRule(393);} + } finally {dbg.exitSubRule(394);} } break; @@ -28144,7 +28343,7 @@ else if ( (LA394_0==AT_IDENT||(LA394_0 >= BOTTOMCENTER_SYM && LA394_0 <= BOTTOMR if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "fnAttributeName", "isCssPreprocessorSource()"); }dbg.location(1233,44); - pushFollow(FOLLOW_cp_variable_in_fnAttributeName8740); + pushFollow(FOLLOW_cp_variable_in_fnAttributeName8760); cp_variable(); state._fsp--; if (state.failed) return; @@ -28184,19 +28383,19 @@ public final void fnAttributeValue() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1237:2: ( term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* |{...}? cp_math_expression ) - int alt399=2; - try { dbg.enterDecision(399, decisionCanBacktrack[399]); + int alt400=2; + try { dbg.enterDecision(400, decisionCanBacktrack[400]); switch ( input.LA(1) ) { case MINUS: case PLUS: { - int LA399_1 = input.LA(2); + int LA400_1 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28205,7 +28404,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 1, input); + new NoViableAltException("", 400, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28217,12 +28416,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case IDENT: { - int LA399_2 = input.LA(2); + int LA400_2 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28231,7 +28430,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 2, input); + new NoViableAltException("", 400, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28243,12 +28442,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case VARIABLE: { - int LA399_3 = input.LA(2); + int LA400_3 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28257,7 +28456,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 3, input); + new NoViableAltException("", 400, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28269,12 +28468,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case LBRACKET: { - int LA399_4 = input.LA(2); + int LA400_4 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28283,7 +28482,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 4, input); + new NoViableAltException("", 400, 4, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28295,12 +28494,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case NUMBER: { - int LA399_5 = input.LA(2); + int LA400_5 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28309,7 +28508,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 5, input); + new NoViableAltException("", 400, 5, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28321,12 +28520,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case URANGE: { - int LA399_6 = input.LA(2); + int LA400_6 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28335,7 +28534,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 6, input); + new NoViableAltException("", 400, 6, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28347,12 +28546,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case PERCENTAGE: { - int LA399_7 = input.LA(2); + int LA400_7 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28361,7 +28560,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 7, input); + new NoViableAltException("", 400, 7, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28373,12 +28572,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case LENGTH: { - int LA399_8 = input.LA(2); + int LA400_8 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28387,7 +28586,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 8, input); + new NoViableAltException("", 400, 8, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28399,12 +28598,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case EMS: { - int LA399_9 = input.LA(2); + int LA400_9 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28413,7 +28612,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 9, input); + new NoViableAltException("", 400, 9, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28425,12 +28624,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case REM: { - int LA399_10 = input.LA(2); + int LA400_10 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28439,7 +28638,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 10, input); + new NoViableAltException("", 400, 10, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28451,12 +28650,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case EXS: { - int LA399_11 = input.LA(2); + int LA400_11 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28465,7 +28664,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 11, input); + new NoViableAltException("", 400, 11, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28477,12 +28676,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case ANGLE: { - int LA399_12 = input.LA(2); + int LA400_12 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28491,7 +28690,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 12, input); + new NoViableAltException("", 400, 12, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28503,12 +28702,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case TIME: { - int LA399_13 = input.LA(2); + int LA400_13 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28517,7 +28716,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 13, input); + new NoViableAltException("", 400, 13, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28529,12 +28728,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case FREQ: { - int LA399_14 = input.LA(2); + int LA400_14 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28543,7 +28742,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 14, input); + new NoViableAltException("", 400, 14, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28555,12 +28754,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case RESOLUTION: { - int LA399_15 = input.LA(2); + int LA400_15 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28569,7 +28768,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 15, input); + new NoViableAltException("", 400, 15, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28581,12 +28780,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case DIMENSION: { - int LA399_16 = input.LA(2); + int LA400_16 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28595,7 +28794,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 16, input); + new NoViableAltException("", 400, 16, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28607,12 +28806,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case STRING: { - int LA399_17 = input.LA(2); + int LA400_17 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28621,7 +28820,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 17, input); + new NoViableAltException("", 400, 17, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28633,12 +28832,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case TILDE: { - int LA399_18 = input.LA(2); + int LA400_18 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28647,7 +28846,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 18, input); + new NoViableAltException("", 400, 18, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28659,12 +28858,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case LESS_JS_STRING: { - int LA399_19 = input.LA(2); + int LA400_19 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28673,7 +28872,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 19, input); + new NoViableAltException("", 400, 19, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28685,12 +28884,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case GEN: { - int LA399_20 = input.LA(2); + int LA400_20 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28699,7 +28898,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 20, input); + new NoViableAltException("", 400, 20, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28711,12 +28910,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case URI: { - int LA399_21 = input.LA(2); + int LA400_21 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28725,7 +28924,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 21, input); + new NoViableAltException("", 400, 21, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28737,12 +28936,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; case HASH: { - int LA399_22 = input.LA(2); + int LA400_22 = input.LA(2); if ( (!(evalPredicate(evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"),""))) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28751,7 +28950,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 22, input); + new NoViableAltException("", 400, 22, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28771,6 +28970,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -28804,12 +29004,12 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - int LA399_23 = input.LA(2); + int LA400_23 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt399=1; + alt400=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt399=2; + alt400=2; } else { @@ -28818,7 +29018,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 23, input); + new NoViableAltException("", 400, 23, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28830,12 +29030,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case SASS_VAR: { - int LA399_24 = input.LA(2); + int LA400_24 = input.LA(2); if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt399=1; + alt400=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt399=2; + alt400=2; } else { @@ -28844,7 +29044,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 24, input); + new NoViableAltException("", 400, 24, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28856,12 +29056,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case LESS_AND: { - int LA399_25 = input.LA(2); + int LA400_25 = input.LA(2); if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt399=1; + alt400=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt399=2; + alt400=2; } else { @@ -28870,7 +29070,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 25, input); + new NoViableAltException("", 400, 25, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28882,12 +29082,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case HASH_SYMBOL: { - int LA399_26 = input.LA(2); + int LA400_26 = input.LA(2); if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt399=1; + alt400=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt399=2; + alt400=2; } else { @@ -28896,7 +29096,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 26, input); + new NoViableAltException("", 400, 26, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28908,12 +29108,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case AT_SIGN: { - int LA399_27 = input.LA(2); + int LA400_27 = input.LA(2); if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt399=1; + alt400=1; } else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))) ) { - alt399=2; + alt400=2; } else { @@ -28922,7 +29122,7 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 27, input); + new NoViableAltException("", 400, 27, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28934,12 +29134,12 @@ else if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()") break; case PERCENTAGE_SYMBOL: { - int LA399_28 = input.LA(2); + int LA400_28 = input.LA(2); if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=1; + alt400=1; } else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) { - alt399=2; + alt400=2; } else { @@ -28948,7 +29148,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 399, 28, input); + new NoViableAltException("", 400, 28, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -28961,48 +29161,48 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) case IMPORTANT_SYM: case LPAREN: { - alt399=2; + alt400=2; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 399, 0, input); + new NoViableAltException("", 400, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(399);} + } finally {dbg.exitDecision(400);} - switch (alt399) { + switch (alt400) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:13: term ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* { dbg.location(1238,13); - pushFollow(FOLLOW_term_in_fnAttributeValue8763); + pushFollow(FOLLOW_term_in_fnAttributeValue8783); term(); state._fsp--; if (state.failed) return;dbg.location(1238,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:18: ( ( ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )=> ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) term )* - try { dbg.enterSubRule(398); + try { dbg.enterSubRule(399); - loop398: + loop399: while (true) { - int alt398=2; - try { dbg.enterDecision(398, decisionCanBacktrack[398]); + int alt399=2; + try { dbg.enterDecision(399, decisionCanBacktrack[399]); try { isCyclicDecision = true; - alt398 = dfa398.predict(input); + alt399 = dfa399.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(398);} + } finally {dbg.exitDecision(399);} - switch (alt398) { + switch (alt399) { case 1 : dbg.enterAlt(1); @@ -29010,28 +29210,28 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) { dbg.location(1238,71); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:71: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) - int alt397=3; - try { dbg.enterSubRule(397); - try { dbg.enterDecision(397, decisionCanBacktrack[397]); + int alt398=3; + try { dbg.enterSubRule(398); + try { dbg.enterDecision(398, decisionCanBacktrack[398]); try { isCyclicDecision = true; - alt397 = dfa397.predict(input); + alt398 = dfa398.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(397);} + } finally {dbg.exitDecision(398);} - switch (alt397) { + switch (alt398) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:73: ws { dbg.location(1238,73); - pushFollow(FOLLOW_ws_in_fnAttributeValue8795); + pushFollow(FOLLOW_ws_in_fnAttributeValue8815); ws(); state._fsp--; if (state.failed) return; @@ -29050,24 +29250,24 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) { dbg.location(1238,79); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:79: ( ws )? - int alt395=2; - try { dbg.enterSubRule(395); - try { dbg.enterDecision(395, decisionCanBacktrack[395]); + int alt396=2; + try { dbg.enterSubRule(396); + try { dbg.enterDecision(396, decisionCanBacktrack[396]); - int LA395_0 = input.LA(1); - if ( (LA395_0==COMMENT||LA395_0==NL||LA395_0==WS) ) { - alt395=1; + int LA396_0 = input.LA(1); + if ( (LA396_0==COMMENT||LA396_0==NL||LA396_0==WS) ) { + alt396=1; } - } finally {dbg.exitDecision(395);} + } finally {dbg.exitDecision(396);} - switch (alt395) { + switch (alt396) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:79: ws { dbg.location(1238,79); - pushFollow(FOLLOW_ws_in_fnAttributeValue8800); + pushFollow(FOLLOW_ws_in_fnAttributeValue8820); ws(); state._fsp--; if (state.failed) return; @@ -29075,28 +29275,28 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; } - } finally {dbg.exitSubRule(395);} + } finally {dbg.exitSubRule(396);} dbg.location(1238,83); - match(input,SOLIDUS,FOLLOW_SOLIDUS_in_fnAttributeValue8803); if (state.failed) return;dbg.location(1238,91); + match(input,SOLIDUS,FOLLOW_SOLIDUS_in_fnAttributeValue8823); if (state.failed) return;dbg.location(1238,91); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:91: ( ws )? - int alt396=2; - try { dbg.enterSubRule(396); - try { dbg.enterDecision(396, decisionCanBacktrack[396]); + int alt397=2; + try { dbg.enterSubRule(397); + try { dbg.enterDecision(397, decisionCanBacktrack[397]); - int LA396_0 = input.LA(1); - if ( (LA396_0==COMMENT||LA396_0==NL||LA396_0==WS) ) { - alt396=1; + int LA397_0 = input.LA(1); + if ( (LA397_0==COMMENT||LA397_0==NL||LA397_0==WS) ) { + alt397=1; } - } finally {dbg.exitDecision(396);} + } finally {dbg.exitDecision(397);} - switch (alt396) { + switch (alt397) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:91: ws { dbg.location(1238,91); - pushFollow(FOLLOW_ws_in_fnAttributeValue8805); + pushFollow(FOLLOW_ws_in_fnAttributeValue8825); ws(); state._fsp--; if (state.failed) return; @@ -29104,7 +29304,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; } - } finally {dbg.exitSubRule(396);} + } finally {dbg.exitSubRule(397);} } @@ -29119,9 +29319,9 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; } - } finally {dbg.exitSubRule(397);} + } finally {dbg.exitSubRule(398);} dbg.location(1238,113); - pushFollow(FOLLOW_term_in_fnAttributeValue8814); + pushFollow(FOLLOW_term_in_fnAttributeValue8834); term(); state._fsp--; if (state.failed) return; @@ -29129,10 +29329,10 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) break; default : - break loop398; + break loop399; } } - } finally {dbg.exitSubRule(398);} + } finally {dbg.exitSubRule(399);} } break; @@ -29146,7 +29346,7 @@ else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "fnAttributeValue", "isCssPreprocessorSource()"); }dbg.location(1239,44); - pushFollow(FOLLOW_cp_math_expression_in_fnAttributeValue8835); + pushFollow(FOLLOW_cp_math_expression_in_fnAttributeValue8855); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -29191,7 +29391,7 @@ public final void hexColor() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1243:7: HASH { dbg.location(1243,7); - match(input,HASH,FOLLOW_HASH_in_hexColor8849); if (state.failed) return; + match(input,HASH,FOLLOW_HASH_in_hexColor8869); if (state.failed) return; } } @@ -29232,22 +29432,22 @@ public final void ws() throws RecognitionException { { dbg.location(1247,7); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1247:7: ( WS | NL | COMMENT )+ - int cnt400=0; - try { dbg.enterSubRule(400); + int cnt401=0; + try { dbg.enterSubRule(401); - loop400: + loop401: while (true) { - int alt400=2; - try { dbg.enterDecision(400, decisionCanBacktrack[400]); + int alt401=2; + try { dbg.enterDecision(401, decisionCanBacktrack[401]); - int LA400_0 = input.LA(1); - if ( (LA400_0==COMMENT||LA400_0==NL||LA400_0==WS) ) { - alt400=1; + int LA401_0 = input.LA(1); + if ( (LA401_0==COMMENT||LA401_0==NL||LA401_0==WS) ) { + alt401=1; } - } finally {dbg.exitDecision(400);} + } finally {dbg.exitDecision(401);} - switch (alt400) { + switch (alt401) { case 1 : dbg.enterAlt(1); @@ -29269,16 +29469,16 @@ public final void ws() throws RecognitionException { break; default : - if ( cnt400 >= 1 ) break loop400; + if ( cnt401 >= 1 ) break loop401; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(400, input); + EarlyExitException eee = new EarlyExitException(401, input); dbg.recognitionException(eee); throw eee; } - cnt400++; + cnt401++; } - } finally {dbg.exitSubRule(400);} + } finally {dbg.exitSubRule(401);} } @@ -29314,8 +29514,8 @@ public final void cp_variable_declaration() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1254:5: ({...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list |{...}? cp_variable ( ws )? COLON ( ws )? cp_expression_list ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* ) - int alt408=2; - try { dbg.enterDecision(408, decisionCanBacktrack[408]); + int alt409=2; + try { dbg.enterDecision(409, decisionCanBacktrack[409]); switch ( input.LA(1) ) { case AT_IDENT: @@ -29328,6 +29528,7 @@ public final void cp_variable_declaration() throws RecognitionException { case COUNTER_STYLE_SYM: case FONT_FACE_SYM: case IMPORT_SYM: + case KEYFRAMES_SYM: case LEFTBOTTOM_SYM: case LEFTMIDDLE_SYM: case LEFTTOP_SYM: @@ -29361,12 +29562,12 @@ public final void cp_variable_declaration() throws RecognitionException { case TOPRIGHT_SYM: case WEBKIT_KEYFRAMES_SYM: { - int LA408_1 = input.LA(2); + int LA409_1 = input.LA(2); if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt408=1; + alt409=1; } else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt408=2; + alt409=2; } else { @@ -29375,7 +29576,7 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScss try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 408, 1, input); + new NoViableAltException("", 409, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -29387,12 +29588,12 @@ else if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScss break; case SASS_VAR: { - int LA408_2 = input.LA(2); + int LA409_2 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt408=1; + alt409=1; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt408=2; + alt409=2; } else { @@ -29401,7 +29602,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 408, 2, input); + new NoViableAltException("", 409, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -29413,12 +29614,12 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; case IDENT: { - int LA408_3 = input.LA(2); + int LA409_3 = input.LA(2); if ( ((evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt408=1; + alt409=1; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt408=2; + alt409=2; } else { @@ -29427,7 +29628,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 408, 3, input); + new NoViableAltException("", 409, 3, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -29440,13 +29641,13 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 408, 0, input); + new NoViableAltException("", 409, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(408);} + } finally {dbg.exitDecision(409);} - switch (alt408) { + switch (alt409) { case 1 : dbg.enterAlt(1); @@ -29457,29 +29658,29 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_variable_declaration", "isLessSource()"); }dbg.location(1255,27); - pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration8909); + pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration8929); cp_variable(); state._fsp--; if (state.failed) return;dbg.location(1255,39); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:39: ( ws )? - int alt401=2; - try { dbg.enterSubRule(401); - try { dbg.enterDecision(401, decisionCanBacktrack[401]); + int alt402=2; + try { dbg.enterSubRule(402); + try { dbg.enterDecision(402, decisionCanBacktrack[402]); - int LA401_0 = input.LA(1); - if ( (LA401_0==COMMENT||LA401_0==NL||LA401_0==WS) ) { - alt401=1; + int LA402_0 = input.LA(1); + if ( (LA402_0==COMMENT||LA402_0==NL||LA402_0==WS) ) { + alt402=1; } - } finally {dbg.exitDecision(401);} + } finally {dbg.exitDecision(402);} - switch (alt401) { + switch (alt402) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:39: ws { dbg.location(1255,39); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8911); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8931); ws(); state._fsp--; if (state.failed) return; @@ -29487,28 +29688,28 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(401);} + } finally {dbg.exitSubRule(402);} dbg.location(1255,43); - match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration8914); if (state.failed) return;dbg.location(1255,49); + match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration8934); if (state.failed) return;dbg.location(1255,49); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:49: ( ws )? - int alt402=2; - try { dbg.enterSubRule(402); - try { dbg.enterDecision(402, decisionCanBacktrack[402]); + int alt403=2; + try { dbg.enterSubRule(403); + try { dbg.enterDecision(403, decisionCanBacktrack[403]); - int LA402_0 = input.LA(1); - if ( (LA402_0==COMMENT||LA402_0==NL||LA402_0==WS) ) { - alt402=1; + int LA403_0 = input.LA(1); + if ( (LA403_0==COMMENT||LA403_0==NL||LA403_0==WS) ) { + alt403=1; } - } finally {dbg.exitDecision(402);} + } finally {dbg.exitDecision(403);} - switch (alt402) { + switch (alt403) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1255:49: ws { dbg.location(1255,49); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8916); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8936); ws(); state._fsp--; if (state.failed) return; @@ -29516,9 +29717,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(402);} + } finally {dbg.exitSubRule(403);} dbg.location(1255,53); - pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration8919); + pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration8939); cp_expression_list(); state._fsp--; if (state.failed) return; @@ -29534,29 +29735,29 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_variable_declaration", "isScssSource()"); }dbg.location(1257,27); - pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration8941); + pushFollow(FOLLOW_cp_variable_in_cp_variable_declaration8961); cp_variable(); state._fsp--; if (state.failed) return;dbg.location(1257,39); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:39: ( ws )? - int alt403=2; - try { dbg.enterSubRule(403); - try { dbg.enterDecision(403, decisionCanBacktrack[403]); + int alt404=2; + try { dbg.enterSubRule(404); + try { dbg.enterDecision(404, decisionCanBacktrack[404]); - int LA403_0 = input.LA(1); - if ( (LA403_0==COMMENT||LA403_0==NL||LA403_0==WS) ) { - alt403=1; + int LA404_0 = input.LA(1); + if ( (LA404_0==COMMENT||LA404_0==NL||LA404_0==WS) ) { + alt404=1; } - } finally {dbg.exitDecision(403);} + } finally {dbg.exitDecision(404);} - switch (alt403) { + switch (alt404) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:39: ws { dbg.location(1257,39); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8943); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8963); ws(); state._fsp--; if (state.failed) return; @@ -29564,28 +29765,28 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(403);} + } finally {dbg.exitSubRule(404);} dbg.location(1257,43); - match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration8946); if (state.failed) return;dbg.location(1257,49); + match(input,COLON,FOLLOW_COLON_in_cp_variable_declaration8966); if (state.failed) return;dbg.location(1257,49); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:49: ( ws )? - int alt404=2; - try { dbg.enterSubRule(404); - try { dbg.enterDecision(404, decisionCanBacktrack[404]); + int alt405=2; + try { dbg.enterSubRule(405); + try { dbg.enterDecision(405, decisionCanBacktrack[405]); - int LA404_0 = input.LA(1); - if ( (LA404_0==COMMENT||LA404_0==NL||LA404_0==WS) ) { - alt404=1; + int LA405_0 = input.LA(1); + if ( (LA405_0==COMMENT||LA405_0==NL||LA405_0==WS) ) { + alt405=1; } - } finally {dbg.exitDecision(404);} + } finally {dbg.exitDecision(405);} - switch (alt404) { + switch (alt405) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:49: ws { dbg.location(1257,49); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8948); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8968); ws(); state._fsp--; if (state.failed) return; @@ -29593,31 +29794,31 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(404);} + } finally {dbg.exitSubRule(405);} dbg.location(1257,53); - pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration8951); + pushFollow(FOLLOW_cp_expression_list_in_cp_variable_declaration8971); cp_expression_list(); state._fsp--; if (state.failed) return;dbg.location(1257,72); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:72: ( ( ( ws )? SASS_DEFAULT ) | ( ( ws )? SASS_GLOBAL ) )* - try { dbg.enterSubRule(407); + try { dbg.enterSubRule(408); - loop407: + loop408: while (true) { - int alt407=3; - try { dbg.enterDecision(407, decisionCanBacktrack[407]); + int alt408=3; + try { dbg.enterDecision(408, decisionCanBacktrack[408]); try { isCyclicDecision = true; - alt407 = dfa407.predict(input); + alt408 = dfa408.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(407);} + } finally {dbg.exitDecision(408);} - switch (alt407) { + switch (alt408) { case 1 : dbg.enterAlt(1); @@ -29631,24 +29832,24 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { { dbg.location(1257,74); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:74: ( ws )? - int alt405=2; - try { dbg.enterSubRule(405); - try { dbg.enterDecision(405, decisionCanBacktrack[405]); + int alt406=2; + try { dbg.enterSubRule(406); + try { dbg.enterDecision(406, decisionCanBacktrack[406]); - int LA405_0 = input.LA(1); - if ( (LA405_0==COMMENT||LA405_0==NL||LA405_0==WS) ) { - alt405=1; + int LA406_0 = input.LA(1); + if ( (LA406_0==COMMENT||LA406_0==NL||LA406_0==WS) ) { + alt406=1; } - } finally {dbg.exitDecision(405);} + } finally {dbg.exitDecision(406);} - switch (alt405) { + switch (alt406) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:74: ws { dbg.location(1257,74); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8955); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8975); ws(); state._fsp--; if (state.failed) return; @@ -29656,9 +29857,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(405);} + } finally {dbg.exitSubRule(406);} dbg.location(1257,78); - match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_cp_variable_declaration8958); if (state.failed) return; + match(input,SASS_DEFAULT,FOLLOW_SASS_DEFAULT_in_cp_variable_declaration8978); if (state.failed) return; } } @@ -29676,24 +29877,24 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { { dbg.location(1257,95); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:95: ( ws )? - int alt406=2; - try { dbg.enterSubRule(406); - try { dbg.enterDecision(406, decisionCanBacktrack[406]); + int alt407=2; + try { dbg.enterSubRule(407); + try { dbg.enterDecision(407, decisionCanBacktrack[407]); - int LA406_0 = input.LA(1); - if ( (LA406_0==COMMENT||LA406_0==NL||LA406_0==WS) ) { - alt406=1; + int LA407_0 = input.LA(1); + if ( (LA407_0==COMMENT||LA407_0==NL||LA407_0==WS) ) { + alt407=1; } - } finally {dbg.exitDecision(406);} + } finally {dbg.exitDecision(407);} - switch (alt406) { + switch (alt407) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1257:95: ws { dbg.location(1257,95); - pushFollow(FOLLOW_ws_in_cp_variable_declaration8964); + pushFollow(FOLLOW_ws_in_cp_variable_declaration8984); ws(); state._fsp--; if (state.failed) return; @@ -29701,19 +29902,19 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(406);} + } finally {dbg.exitSubRule(407);} dbg.location(1257,99); - match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_cp_variable_declaration8967); if (state.failed) return; + match(input,SASS_GLOBAL,FOLLOW_SASS_GLOBAL_in_cp_variable_declaration8987); if (state.failed) return; } } break; default : - break loop407; + break loop408; } } - } finally {dbg.exitSubRule(407);} + } finally {dbg.exitSubRule(408);} } break; @@ -29742,7 +29943,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // $ANTLR start "cp_variable" - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1261:1: cp_variable : ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) |{...}? ( SASS_VAR | IDENT DOT SASS_VAR ) ); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1261:1: cp_variable : ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD | KEYFRAMES_SYM ) |{...}? ( SASS_VAR | IDENT DOT SASS_VAR ) ); public final void cp_variable() throws RecognitionException { try { dbg.enterRule(getGrammarFileName(), "cp_variable"); if ( getRuleLevel()==0 ) {dbg.commence();} @@ -29750,40 +29951,40 @@ public final void cp_variable() throws RecognitionException { dbg.location(1261, 0); try { - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1262:5: ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) |{...}? ( SASS_VAR | IDENT DOT SASS_VAR ) ) - int alt410=2; - try { dbg.enterDecision(410, decisionCanBacktrack[410]); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1262:5: ({...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD | KEYFRAMES_SYM ) |{...}? ( SASS_VAR | IDENT DOT SASS_VAR ) ) + int alt411=2; + try { dbg.enterDecision(411, decisionCanBacktrack[411]); - int LA410_0 = input.LA(1); - if ( (LA410_0==AT_IDENT||(LA410_0 >= BOTTOMCENTER_SYM && LA410_0 <= BOTTOMRIGHT_SYM)||LA410_0==CHARSET_SYM||LA410_0==COUNTER_STYLE_SYM||LA410_0==FONT_FACE_SYM||LA410_0==IMPORT_SYM||(LA410_0 >= LEFTBOTTOM_SYM && LA410_0 <= LEFTTOP_SYM)||LA410_0==MEDIA_SYM||LA410_0==MOZ_DOCUMENT_SYM||LA410_0==NAMESPACE_SYM||LA410_0==PAGE_SYM||(LA410_0 >= RIGHTBOTTOM_SYM && LA410_0 <= RIGHTTOP_SYM)||(LA410_0 >= SASS_AT_ROOT && LA410_0 <= SASS_DEBUG)||(LA410_0 >= SASS_EACH && LA410_0 <= SASS_ELSE)||LA410_0==SASS_EXTEND||(LA410_0 >= SASS_FOR && LA410_0 <= SASS_FUNCTION)||(LA410_0 >= SASS_IF && LA410_0 <= SASS_MIXIN)||(LA410_0 >= SASS_RETURN && LA410_0 <= SASS_USE)||(LA410_0 >= SASS_WARN && LA410_0 <= SASS_WHILE)||(LA410_0 >= TOPCENTER_SYM && LA410_0 <= TOPRIGHT_SYM)||LA410_0==WEBKIT_KEYFRAMES_SYM) ) { - alt410=1; + int LA411_0 = input.LA(1); + if ( (LA411_0==AT_IDENT||(LA411_0 >= BOTTOMCENTER_SYM && LA411_0 <= BOTTOMRIGHT_SYM)||LA411_0==CHARSET_SYM||LA411_0==COUNTER_STYLE_SYM||LA411_0==FONT_FACE_SYM||LA411_0==IMPORT_SYM||LA411_0==KEYFRAMES_SYM||(LA411_0 >= LEFTBOTTOM_SYM && LA411_0 <= LEFTTOP_SYM)||LA411_0==MEDIA_SYM||LA411_0==MOZ_DOCUMENT_SYM||LA411_0==NAMESPACE_SYM||LA411_0==PAGE_SYM||(LA411_0 >= RIGHTBOTTOM_SYM && LA411_0 <= RIGHTTOP_SYM)||(LA411_0 >= SASS_AT_ROOT && LA411_0 <= SASS_DEBUG)||(LA411_0 >= SASS_EACH && LA411_0 <= SASS_ELSE)||LA411_0==SASS_EXTEND||(LA411_0 >= SASS_FOR && LA411_0 <= SASS_FUNCTION)||(LA411_0 >= SASS_IF && LA411_0 <= SASS_MIXIN)||(LA411_0 >= SASS_RETURN && LA411_0 <= SASS_USE)||(LA411_0 >= SASS_WARN && LA411_0 <= SASS_WHILE)||(LA411_0 >= TOPCENTER_SYM && LA411_0 <= TOPRIGHT_SYM)||LA411_0==WEBKIT_KEYFRAMES_SYM) ) { + alt411=1; } - else if ( (LA410_0==IDENT||LA410_0==SASS_VAR) ) { - alt410=2; + else if ( (LA411_0==IDENT||LA411_0==SASS_VAR) ) { + alt411=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 410, 0, input); + new NoViableAltException("", 411, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(410);} + } finally {dbg.exitDecision(411);} - switch (alt410) { + switch (alt411) { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1264:9: {...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD ) + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1264:9: {...}? ( AT_IDENT | IMPORT_SYM | PAGE_SYM | MEDIA_SYM | NAMESPACE_SYM | CHARSET_SYM | COUNTER_STYLE_SYM | FONT_FACE_SYM | TOPLEFTCORNER_SYM | TOPLEFT_SYM | TOPCENTER_SYM | TOPRIGHT_SYM | TOPRIGHTCORNER_SYM | BOTTOMLEFTCORNER_SYM | BOTTOMLEFT_SYM | BOTTOMCENTER_SYM | BOTTOMRIGHT_SYM | BOTTOMRIGHTCORNER_SYM | LEFTTOP_SYM | LEFTMIDDLE_SYM | LEFTBOTTOM_SYM | RIGHTTOP_SYM | RIGHTMIDDLE_SYM | RIGHTBOTTOM_SYM | MOZ_DOCUMENT_SYM | WEBKIT_KEYFRAMES_SYM | SASS_CONTENT | SASS_MIXIN | SASS_INCLUDE | SASS_EXTEND | SASS_DEBUG | SASS_WARN | SASS_IF | SASS_ELSE | SASS_FOR | SASS_FUNCTION | SASS_RETURN | SASS_EACH | SASS_WHILE | SASS_AT_ROOT | SASS_USE | SASS_FORWARD | KEYFRAMES_SYM ) { dbg.location(1264,9); if ( !(evalPredicate(isLessSource(),"isLessSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_variable", "isLessSource()"); }dbg.location(1264,27); - if ( input.LA(1)==AT_IDENT||(input.LA(1) >= BOTTOMCENTER_SYM && input.LA(1) <= BOTTOMRIGHT_SYM)||input.LA(1)==CHARSET_SYM||input.LA(1)==COUNTER_STYLE_SYM||input.LA(1)==FONT_FACE_SYM||input.LA(1)==IMPORT_SYM||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LEFTTOP_SYM)||input.LA(1)==MEDIA_SYM||input.LA(1)==MOZ_DOCUMENT_SYM||input.LA(1)==NAMESPACE_SYM||input.LA(1)==PAGE_SYM||(input.LA(1) >= RIGHTBOTTOM_SYM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= SASS_AT_ROOT && input.LA(1) <= SASS_DEBUG)||(input.LA(1) >= SASS_EACH && input.LA(1) <= SASS_ELSE)||input.LA(1)==SASS_EXTEND||(input.LA(1) >= SASS_FOR && input.LA(1) <= SASS_FUNCTION)||(input.LA(1) >= SASS_IF && input.LA(1) <= SASS_MIXIN)||(input.LA(1) >= SASS_RETURN && input.LA(1) <= SASS_USE)||(input.LA(1) >= SASS_WARN && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= TOPCENTER_SYM && input.LA(1) <= TOPRIGHT_SYM)||input.LA(1)==WEBKIT_KEYFRAMES_SYM ) { + if ( input.LA(1)==AT_IDENT||(input.LA(1) >= BOTTOMCENTER_SYM && input.LA(1) <= BOTTOMRIGHT_SYM)||input.LA(1)==CHARSET_SYM||input.LA(1)==COUNTER_STYLE_SYM||input.LA(1)==FONT_FACE_SYM||input.LA(1)==IMPORT_SYM||input.LA(1)==KEYFRAMES_SYM||(input.LA(1) >= LEFTBOTTOM_SYM && input.LA(1) <= LEFTTOP_SYM)||input.LA(1)==MEDIA_SYM||input.LA(1)==MOZ_DOCUMENT_SYM||input.LA(1)==NAMESPACE_SYM||input.LA(1)==PAGE_SYM||(input.LA(1) >= RIGHTBOTTOM_SYM && input.LA(1) <= RIGHTTOP_SYM)||(input.LA(1) >= SASS_AT_ROOT && input.LA(1) <= SASS_DEBUG)||(input.LA(1) >= SASS_EACH && input.LA(1) <= SASS_ELSE)||input.LA(1)==SASS_EXTEND||(input.LA(1) >= SASS_FOR && input.LA(1) <= SASS_FUNCTION)||(input.LA(1) >= SASS_IF && input.LA(1) <= SASS_MIXIN)||(input.LA(1) >= SASS_RETURN && input.LA(1) <= SASS_USE)||(input.LA(1) >= SASS_WARN && input.LA(1) <= SASS_WHILE)||(input.LA(1) >= TOPCENTER_SYM && input.LA(1) <= TOPRIGHT_SYM)||input.LA(1)==WEBKIT_KEYFRAMES_SYM ) { input.consume(); state.errorRecovery=false; state.failed=false; @@ -29807,36 +30008,36 @@ else if ( (LA410_0==IDENT||LA410_0==SASS_VAR) ) { throw new FailedPredicateException(input, "cp_variable", "isScssSource()"); }dbg.location(1266,27); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1266:27: ( SASS_VAR | IDENT DOT SASS_VAR ) - int alt409=2; - try { dbg.enterSubRule(409); - try { dbg.enterDecision(409, decisionCanBacktrack[409]); + int alt410=2; + try { dbg.enterSubRule(410); + try { dbg.enterDecision(410, decisionCanBacktrack[410]); - int LA409_0 = input.LA(1); - if ( (LA409_0==SASS_VAR) ) { - alt409=1; + int LA410_0 = input.LA(1); + if ( (LA410_0==SASS_VAR) ) { + alt410=1; } - else if ( (LA409_0==IDENT) ) { - alt409=2; + else if ( (LA410_0==IDENT) ) { + alt410=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 409, 0, input); + new NoViableAltException("", 410, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(409);} + } finally {dbg.exitDecision(410);} - switch (alt409) { + switch (alt410) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1266:29: SASS_VAR { dbg.location(1266,29); - match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable9199); if (state.failed) return; + match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable9223); if (state.failed) return; } break; case 2 : @@ -29845,14 +30046,14 @@ else if ( (LA409_0==IDENT) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1266:40: IDENT DOT SASS_VAR { dbg.location(1266,40); - match(input,IDENT,FOLLOW_IDENT_in_cp_variable9203); if (state.failed) return;dbg.location(1266,46); - match(input,DOT,FOLLOW_DOT_in_cp_variable9205); if (state.failed) return;dbg.location(1266,50); - match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable9207); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_cp_variable9227); if (state.failed) return;dbg.location(1266,46); + match(input,DOT,FOLLOW_DOT_in_cp_variable9229); if (state.failed) return;dbg.location(1266,50); + match(input,SASS_VAR,FOLLOW_SASS_VAR_in_cp_variable9231); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(409);} + } finally {dbg.exitSubRule(410);} } break; @@ -29895,29 +30096,29 @@ public final void cp_expression_list() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1272:5: ( cp_expression )=> cp_expression ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* { dbg.location(1272,24); - pushFollow(FOLLOW_cp_expression_in_cp_expression_list9237); + pushFollow(FOLLOW_cp_expression_in_cp_expression_list9261); cp_expression(); state._fsp--; if (state.failed) return;dbg.location(1273,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:5: ( ( ( ws )? COMMA ( ws )? cp_expression )=> ( ws )? COMMA ( ws )? cp_expression )* - try { dbg.enterSubRule(413); + try { dbg.enterSubRule(414); - loop413: + loop414: while (true) { - int alt413=2; - try { dbg.enterDecision(413, decisionCanBacktrack[413]); + int alt414=2; + try { dbg.enterDecision(414, decisionCanBacktrack[414]); try { isCyclicDecision = true; - alt413 = dfa413.predict(input); + alt414 = dfa414.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(413);} + } finally {dbg.exitDecision(414);} - switch (alt413) { + switch (alt414) { case 1 : dbg.enterAlt(1); @@ -29925,24 +30126,24 @@ public final void cp_expression_list() throws RecognitionException { { dbg.location(1273,37); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:37: ( ws )? - int alt411=2; - try { dbg.enterSubRule(411); - try { dbg.enterDecision(411, decisionCanBacktrack[411]); + int alt412=2; + try { dbg.enterSubRule(412); + try { dbg.enterDecision(412, decisionCanBacktrack[412]); - int LA411_0 = input.LA(1); - if ( (LA411_0==COMMENT||LA411_0==NL||LA411_0==WS) ) { - alt411=1; + int LA412_0 = input.LA(1); + if ( (LA412_0==COMMENT||LA412_0==NL||LA412_0==WS) ) { + alt412=1; } - } finally {dbg.exitDecision(411);} + } finally {dbg.exitDecision(412);} - switch (alt411) { + switch (alt412) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:37: ws { dbg.location(1273,37); - pushFollow(FOLLOW_ws_in_cp_expression_list9256); + pushFollow(FOLLOW_ws_in_cp_expression_list9280); ws(); state._fsp--; if (state.failed) return; @@ -29950,28 +30151,28 @@ public final void cp_expression_list() throws RecognitionException { break; } - } finally {dbg.exitSubRule(411);} + } finally {dbg.exitSubRule(412);} dbg.location(1273,41); - match(input,COMMA,FOLLOW_COMMA_in_cp_expression_list9259); if (state.failed) return;dbg.location(1273,47); + match(input,COMMA,FOLLOW_COMMA_in_cp_expression_list9283); if (state.failed) return;dbg.location(1273,47); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:47: ( ws )? - int alt412=2; - try { dbg.enterSubRule(412); - try { dbg.enterDecision(412, decisionCanBacktrack[412]); + int alt413=2; + try { dbg.enterSubRule(413); + try { dbg.enterDecision(413, decisionCanBacktrack[413]); - int LA412_0 = input.LA(1); - if ( (LA412_0==COMMENT||LA412_0==NL||LA412_0==WS) ) { - alt412=1; + int LA413_0 = input.LA(1); + if ( (LA413_0==COMMENT||LA413_0==NL||LA413_0==WS) ) { + alt413=1; } - } finally {dbg.exitDecision(412);} + } finally {dbg.exitDecision(413);} - switch (alt412) { + switch (alt413) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:47: ws { dbg.location(1273,47); - pushFollow(FOLLOW_ws_in_cp_expression_list9261); + pushFollow(FOLLOW_ws_in_cp_expression_list9285); ws(); state._fsp--; if (state.failed) return; @@ -29979,9 +30180,9 @@ public final void cp_expression_list() throws RecognitionException { break; } - } finally {dbg.exitSubRule(412);} + } finally {dbg.exitSubRule(413);} dbg.location(1273,51); - pushFollow(FOLLOW_cp_expression_in_cp_expression_list9264); + pushFollow(FOLLOW_cp_expression_in_cp_expression_list9288); cp_expression(); state._fsp--; if (state.failed) return; @@ -29989,10 +30190,10 @@ public final void cp_expression_list() throws RecognitionException { break; default : - break loop413; + break loop414; } } - } finally {dbg.exitSubRule(413);} + } finally {dbg.exitSubRule(414);} } @@ -30028,110 +30229,110 @@ public final void cp_expression() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1287:5: ({...}? ( LBRACE ( ws )? syncToFollow ( declarations )? RBRACE ) | ( cp_expression_atom )=> ( cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* ) |{...}? LPAREN ( ws )? syncToFollow ( sass_map_pairs )? RPAREN ) - int alt422=3; - try { dbg.enterDecision(422, decisionCanBacktrack[422]); + int alt423=3; + try { dbg.enterDecision(423, decisionCanBacktrack[423]); - int LA422_0 = input.LA(1); - if ( (LA422_0==LBRACE) ) { - alt422=1; + int LA423_0 = input.LA(1); + if ( (LA423_0==LBRACE) ) { + alt423=1; } - else if ( (LA422_0==NOT) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==NOT) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==MINUS||LA422_0==PLUS) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==MINUS||LA423_0==PLUS) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==IDENT) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==IDENT) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==VARIABLE) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==VARIABLE) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==LBRACKET) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==LBRACKET) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==NUMBER) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==NUMBER) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==URANGE) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==URANGE) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==PERCENTAGE) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==PERCENTAGE) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==LENGTH) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==LENGTH) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==EMS) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==EMS) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==REM) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==REM) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==EXS) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==EXS) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==ANGLE) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==ANGLE) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==TIME) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==TIME) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==FREQ) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==FREQ) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==RESOLUTION) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==RESOLUTION) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==DIMENSION) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==DIMENSION) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==STRING) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==STRING) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==TILDE) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==TILDE) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==LESS_JS_STRING) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==LESS_JS_STRING) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==GEN) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==GEN) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==URI) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==URI) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==HASH) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==HASH) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==AT_IDENT||(LA422_0 >= BOTTOMCENTER_SYM && LA422_0 <= BOTTOMRIGHT_SYM)||LA422_0==CHARSET_SYM||LA422_0==COUNTER_STYLE_SYM||LA422_0==FONT_FACE_SYM||LA422_0==IMPORT_SYM||(LA422_0 >= LEFTBOTTOM_SYM && LA422_0 <= LEFTTOP_SYM)||LA422_0==MEDIA_SYM||LA422_0==MOZ_DOCUMENT_SYM||LA422_0==NAMESPACE_SYM||LA422_0==PAGE_SYM||(LA422_0 >= RIGHTBOTTOM_SYM && LA422_0 <= RIGHTTOP_SYM)||(LA422_0 >= SASS_AT_ROOT && LA422_0 <= SASS_DEBUG)||(LA422_0 >= SASS_EACH && LA422_0 <= SASS_ELSE)||LA422_0==SASS_EXTEND||(LA422_0 >= SASS_FOR && LA422_0 <= SASS_FUNCTION)||(LA422_0 >= SASS_IF && LA422_0 <= SASS_MIXIN)||(LA422_0 >= SASS_RETURN && LA422_0 <= SASS_USE)||(LA422_0 >= SASS_WARN && LA422_0 <= SASS_WHILE)||(LA422_0 >= TOPCENTER_SYM && LA422_0 <= TOPRIGHT_SYM)||LA422_0==WEBKIT_KEYFRAMES_SYM) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==AT_IDENT||(LA423_0 >= BOTTOMCENTER_SYM && LA423_0 <= BOTTOMRIGHT_SYM)||LA423_0==CHARSET_SYM||LA423_0==COUNTER_STYLE_SYM||LA423_0==FONT_FACE_SYM||LA423_0==IMPORT_SYM||LA423_0==KEYFRAMES_SYM||(LA423_0 >= LEFTBOTTOM_SYM && LA423_0 <= LEFTTOP_SYM)||LA423_0==MEDIA_SYM||LA423_0==MOZ_DOCUMENT_SYM||LA423_0==NAMESPACE_SYM||LA423_0==PAGE_SYM||(LA423_0 >= RIGHTBOTTOM_SYM && LA423_0 <= RIGHTTOP_SYM)||(LA423_0 >= SASS_AT_ROOT && LA423_0 <= SASS_DEBUG)||(LA423_0 >= SASS_EACH && LA423_0 <= SASS_ELSE)||LA423_0==SASS_EXTEND||(LA423_0 >= SASS_FOR && LA423_0 <= SASS_FUNCTION)||(LA423_0 >= SASS_IF && LA423_0 <= SASS_MIXIN)||(LA423_0 >= SASS_RETURN && LA423_0 <= SASS_USE)||(LA423_0 >= SASS_WARN && LA423_0 <= SASS_WHILE)||(LA423_0 >= TOPCENTER_SYM && LA423_0 <= TOPRIGHT_SYM)||LA423_0==WEBKIT_KEYFRAMES_SYM) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==SASS_VAR) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==SASS_VAR) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==LESS_AND) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==LESS_AND) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==HASH_SYMBOL) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==HASH_SYMBOL) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==AT_SIGN) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==AT_SIGN) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==PERCENTAGE_SYMBOL) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==PERCENTAGE_SYMBOL) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==IMPORTANT_SYM) && (synpred62_Css3())) { - alt422=2; + else if ( (LA423_0==IMPORTANT_SYM) && (synpred62_Css3())) { + alt423=2; } - else if ( (LA422_0==LPAREN) ) { - int LA422_32 = input.LA(2); + else if ( (LA423_0==LPAREN) ) { + int LA423_32 = input.LA(2); if ( (synpred62_Css3()) ) { - alt422=2; + alt423=2; } else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { - alt422=3; + alt423=3; } else { @@ -30140,7 +30341,7 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 422, 32, input); + new NoViableAltException("", 423, 32, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -30153,14 +30354,14 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 422, 0, input); + new NoViableAltException("", 423, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(422);} + } finally {dbg.exitDecision(423);} - switch (alt422) { + switch (alt423) { case 1 : dbg.enterAlt(1); @@ -30177,26 +30378,26 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:24: LBRACE ( ws )? syncToFollow ( declarations )? RBRACE { dbg.location(1288,24); - match(input,LBRACE,FOLLOW_LBRACE_in_cp_expression9300); if (state.failed) return;dbg.location(1288,31); + match(input,LBRACE,FOLLOW_LBRACE_in_cp_expression9324); if (state.failed) return;dbg.location(1288,31); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:31: ( ws )? - int alt414=2; - try { dbg.enterSubRule(414); - try { dbg.enterDecision(414, decisionCanBacktrack[414]); + int alt415=2; + try { dbg.enterSubRule(415); + try { dbg.enterDecision(415, decisionCanBacktrack[415]); - int LA414_0 = input.LA(1); - if ( (LA414_0==COMMENT||LA414_0==NL||LA414_0==WS) ) { - alt414=1; + int LA415_0 = input.LA(1); + if ( (LA415_0==COMMENT||LA415_0==NL||LA415_0==WS) ) { + alt415=1; } - } finally {dbg.exitDecision(414);} + } finally {dbg.exitDecision(415);} - switch (alt414) { + switch (alt415) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:31: ws { dbg.location(1288,31); - pushFollow(FOLLOW_ws_in_cp_expression9302); + pushFollow(FOLLOW_ws_in_cp_expression9326); ws(); state._fsp--; if (state.failed) return; @@ -30204,31 +30405,31 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(414);} + } finally {dbg.exitSubRule(415);} dbg.location(1288,35); - pushFollow(FOLLOW_syncToFollow_in_cp_expression9305); + pushFollow(FOLLOW_syncToFollow_in_cp_expression9329); syncToFollow(); state._fsp--; if (state.failed) return;dbg.location(1288,48); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:48: ( declarations )? - int alt415=2; - try { dbg.enterSubRule(415); - try { dbg.enterDecision(415, decisionCanBacktrack[415]); + int alt416=2; + try { dbg.enterSubRule(416); + try { dbg.enterDecision(416, decisionCanBacktrack[416]); - int LA415_0 = input.LA(1); - if ( ((LA415_0 >= AT_IDENT && LA415_0 <= AT_SIGN)||(LA415_0 >= BOTTOMCENTER_SYM && LA415_0 <= BOTTOMRIGHT_SYM)||(LA415_0 >= CHARSET_SYM && LA415_0 <= COLON)||LA415_0==CONTAINER_SYM||LA415_0==COUNTER_STYLE_SYM||(LA415_0 >= DCOLON && LA415_0 <= DOT)||LA415_0==FONT_FACE_SYM||(LA415_0 >= GEN && LA415_0 <= GREATER)||(LA415_0 >= HASH && LA415_0 <= HASH_SYMBOL)||LA415_0==IDENT||LA415_0==IMPORT_SYM||LA415_0==LAYER_SYM||(LA415_0 >= LBRACKET && LA415_0 <= LEFTTOP_SYM)||LA415_0==LESS_AND||(LA415_0 >= MEDIA_SYM && LA415_0 <= MOZ_DOCUMENT_SYM)||LA415_0==NAMESPACE_SYM||LA415_0==PAGE_SYM||(LA415_0 >= PIPE && LA415_0 <= PLUS)||(LA415_0 >= RIGHTBOTTOM_SYM && LA415_0 <= RIGHTTOP_SYM)||(LA415_0 >= SASS_AT_ROOT && LA415_0 <= SASS_DEBUG)||(LA415_0 >= SASS_EACH && LA415_0 <= SASS_ELSE)||(LA415_0 >= SASS_ERROR && LA415_0 <= SASS_FUNCTION)||(LA415_0 >= SASS_IF && LA415_0 <= SASS_MIXIN)||(LA415_0 >= SASS_RETURN && LA415_0 <= SEMI)||LA415_0==STAR||LA415_0==SUPPORTS_SYM||LA415_0==TILDE||(LA415_0 >= TOPCENTER_SYM && LA415_0 <= TOPRIGHT_SYM)||LA415_0==VARIABLE||LA415_0==WEBKIT_KEYFRAMES_SYM) ) { - alt415=1; + int LA416_0 = input.LA(1); + if ( ((LA416_0 >= AT_IDENT && LA416_0 <= AT_SIGN)||(LA416_0 >= BOTTOMCENTER_SYM && LA416_0 <= BOTTOMRIGHT_SYM)||(LA416_0 >= CHARSET_SYM && LA416_0 <= COLON)||LA416_0==CONTAINER_SYM||LA416_0==COUNTER_STYLE_SYM||(LA416_0 >= DCOLON && LA416_0 <= DOT)||LA416_0==FONT_FACE_SYM||(LA416_0 >= GEN && LA416_0 <= GREATER)||(LA416_0 >= HASH && LA416_0 <= HASH_SYMBOL)||LA416_0==IDENT||LA416_0==IMPORT_SYM||LA416_0==KEYFRAMES_SYM||LA416_0==LAYER_SYM||(LA416_0 >= LBRACKET && LA416_0 <= LEFTTOP_SYM)||LA416_0==LESS_AND||(LA416_0 >= MEDIA_SYM && LA416_0 <= MOZ_DOCUMENT_SYM)||LA416_0==NAMESPACE_SYM||LA416_0==PAGE_SYM||(LA416_0 >= PIPE && LA416_0 <= PLUS)||(LA416_0 >= RIGHTBOTTOM_SYM && LA416_0 <= RIGHTTOP_SYM)||(LA416_0 >= SASS_AT_ROOT && LA416_0 <= SASS_DEBUG)||(LA416_0 >= SASS_EACH && LA416_0 <= SASS_ELSE)||(LA416_0 >= SASS_ERROR && LA416_0 <= SASS_FUNCTION)||(LA416_0 >= SASS_IF && LA416_0 <= SASS_MIXIN)||(LA416_0 >= SASS_RETURN && LA416_0 <= SEMI)||LA416_0==STAR||LA416_0==SUPPORTS_SYM||LA416_0==TILDE||(LA416_0 >= TOPCENTER_SYM && LA416_0 <= TOPRIGHT_SYM)||LA416_0==VARIABLE||LA416_0==WEBKIT_KEYFRAMES_SYM) ) { + alt416=1; } - } finally {dbg.exitDecision(415);} + } finally {dbg.exitDecision(416);} - switch (alt415) { + switch (alt416) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1288:48: declarations { dbg.location(1288,48); - pushFollow(FOLLOW_declarations_in_cp_expression9307); + pushFollow(FOLLOW_declarations_in_cp_expression9331); declarations(); state._fsp--; if (state.failed) return; @@ -30236,9 +30437,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(415);} + } finally {dbg.exitSubRule(416);} dbg.location(1288,62); - match(input,RBRACE,FOLLOW_RBRACE_in_cp_expression9310); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_cp_expression9334); if (state.failed) return; } } @@ -30255,29 +30456,29 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:32: cp_expression_atom ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* { dbg.location(1289,32); - pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9326); + pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9350); cp_expression_atom(); state._fsp--; if (state.failed) return;dbg.location(1290,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1290:5: ( ( ( ws )? cp_expression_operator )=> ( ( ws )? cp_expression_operator ( ws )? ) cp_expression_atom | ( ( ws )? cp_expression_atom )=> ( ws )? cp_expression_atom )* - try { dbg.enterSubRule(419); + try { dbg.enterSubRule(420); - loop419: + loop420: while (true) { - int alt419=3; - try { dbg.enterDecision(419, decisionCanBacktrack[419]); + int alt420=3; + try { dbg.enterDecision(420, decisionCanBacktrack[420]); try { isCyclicDecision = true; - alt419 = dfa419.predict(input); + alt420 = dfa420.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(419);} + } finally {dbg.exitDecision(420);} - switch (alt419) { + switch (alt420) { case 1 : dbg.enterAlt(1); @@ -30291,24 +30492,24 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { { dbg.location(1291,40); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:40: ( ws )? - int alt416=2; - try { dbg.enterSubRule(416); - try { dbg.enterDecision(416, decisionCanBacktrack[416]); + int alt417=2; + try { dbg.enterSubRule(417); + try { dbg.enterDecision(417, decisionCanBacktrack[417]); - int LA416_0 = input.LA(1); - if ( (LA416_0==COMMENT||LA416_0==NL||LA416_0==WS) ) { - alt416=1; + int LA417_0 = input.LA(1); + if ( (LA417_0==COMMENT||LA417_0==NL||LA417_0==WS) ) { + alt417=1; } - } finally {dbg.exitDecision(416);} + } finally {dbg.exitDecision(417);} - switch (alt416) { + switch (alt417) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:40: ws { dbg.location(1291,40); - pushFollow(FOLLOW_ws_in_cp_expression9350); + pushFollow(FOLLOW_ws_in_cp_expression9374); ws(); state._fsp--; if (state.failed) return; @@ -30316,31 +30517,31 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(416);} + } finally {dbg.exitSubRule(417);} dbg.location(1291,44); - pushFollow(FOLLOW_cp_expression_operator_in_cp_expression9353); + pushFollow(FOLLOW_cp_expression_operator_in_cp_expression9377); cp_expression_operator(); state._fsp--; if (state.failed) return;dbg.location(1291,67); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:67: ( ws )? - int alt417=2; - try { dbg.enterSubRule(417); - try { dbg.enterDecision(417, decisionCanBacktrack[417]); + int alt418=2; + try { dbg.enterSubRule(418); + try { dbg.enterDecision(418, decisionCanBacktrack[418]); - int LA417_0 = input.LA(1); - if ( (LA417_0==COMMENT||LA417_0==NL||LA417_0==WS) ) { - alt417=1; + int LA418_0 = input.LA(1); + if ( (LA418_0==COMMENT||LA418_0==NL||LA418_0==WS) ) { + alt418=1; } - } finally {dbg.exitDecision(417);} + } finally {dbg.exitDecision(418);} - switch (alt417) { + switch (alt418) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:67: ws { dbg.location(1291,67); - pushFollow(FOLLOW_ws_in_cp_expression9355); + pushFollow(FOLLOW_ws_in_cp_expression9379); ws(); state._fsp--; if (state.failed) return; @@ -30348,11 +30549,11 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(417);} + } finally {dbg.exitSubRule(418);} } dbg.location(1291,72); - pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9359); + pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9383); cp_expression_atom(); state._fsp--; if (state.failed) return; @@ -30365,24 +30566,24 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { { dbg.location(1292,37); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:37: ( ws )? - int alt418=2; - try { dbg.enterSubRule(418); - try { dbg.enterDecision(418, decisionCanBacktrack[418]); + int alt419=2; + try { dbg.enterSubRule(419); + try { dbg.enterDecision(419, decisionCanBacktrack[419]); - int LA418_0 = input.LA(1); - if ( (LA418_0==COMMENT||LA418_0==NL||LA418_0==WS) ) { - alt418=1; + int LA419_0 = input.LA(1); + if ( (LA419_0==COMMENT||LA419_0==NL||LA419_0==WS) ) { + alt419=1; } - } finally {dbg.exitDecision(418);} + } finally {dbg.exitDecision(419);} - switch (alt418) { + switch (alt419) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:37: ws { dbg.location(1292,37); - pushFollow(FOLLOW_ws_in_cp_expression9378); + pushFollow(FOLLOW_ws_in_cp_expression9402); ws(); state._fsp--; if (state.failed) return; @@ -30390,9 +30591,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(418);} + } finally {dbg.exitSubRule(419);} dbg.location(1292,41); - pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9381); + pushFollow(FOLLOW_cp_expression_atom_in_cp_expression9405); cp_expression_atom(); state._fsp--; if (state.failed) return; @@ -30400,10 +30601,10 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; default : - break loop419; + break loop420; } } - } finally {dbg.exitSubRule(419);} + } finally {dbg.exitSubRule(420);} } @@ -30419,26 +30620,26 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_expression", "isScssSource()"); }dbg.location(1294,25); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression9399); if (state.failed) return;dbg.location(1294,32); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression9423); if (state.failed) return;dbg.location(1294,32); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:32: ( ws )? - int alt420=2; - try { dbg.enterSubRule(420); - try { dbg.enterDecision(420, decisionCanBacktrack[420]); + int alt421=2; + try { dbg.enterSubRule(421); + try { dbg.enterDecision(421, decisionCanBacktrack[421]); - int LA420_0 = input.LA(1); - if ( (LA420_0==COMMENT||LA420_0==NL||LA420_0==WS) ) { - alt420=1; + int LA421_0 = input.LA(1); + if ( (LA421_0==COMMENT||LA421_0==NL||LA421_0==WS) ) { + alt421=1; } - } finally {dbg.exitDecision(420);} + } finally {dbg.exitDecision(421);} - switch (alt420) { + switch (alt421) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:32: ws { dbg.location(1294,32); - pushFollow(FOLLOW_ws_in_cp_expression9401); + pushFollow(FOLLOW_ws_in_cp_expression9425); ws(); state._fsp--; if (state.failed) return; @@ -30446,31 +30647,31 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(420);} + } finally {dbg.exitSubRule(421);} dbg.location(1294,36); - pushFollow(FOLLOW_syncToFollow_in_cp_expression9404); + pushFollow(FOLLOW_syncToFollow_in_cp_expression9428); syncToFollow(); state._fsp--; if (state.failed) return;dbg.location(1294,49); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:49: ( sass_map_pairs )? - int alt421=2; - try { dbg.enterSubRule(421); - try { dbg.enterDecision(421, decisionCanBacktrack[421]); + int alt422=2; + try { dbg.enterSubRule(422); + try { dbg.enterDecision(422, decisionCanBacktrack[422]); - int LA421_0 = input.LA(1); - if ( ((LA421_0 >= AT_IDENT && LA421_0 <= AT_SIGN)||(LA421_0 >= BOTTOMCENTER_SYM && LA421_0 <= BOTTOMRIGHT_SYM)||LA421_0==CHARSET_SYM||LA421_0==COMMA||LA421_0==COUNTER_STYLE_SYM||LA421_0==FONT_FACE_SYM||LA421_0==GEN||LA421_0==HASH_SYMBOL||LA421_0==IDENT||LA421_0==IMPORT_SYM||(LA421_0 >= LEFTBOTTOM_SYM && LA421_0 <= LEFTTOP_SYM)||(LA421_0 >= MEDIA_SYM && LA421_0 <= MOZ_DOCUMENT_SYM)||LA421_0==NAMESPACE_SYM||LA421_0==NUMBER||LA421_0==PAGE_SYM||(LA421_0 >= RIGHTBOTTOM_SYM && LA421_0 <= RIGHTTOP_SYM)||(LA421_0 >= SASS_AT_ROOT && LA421_0 <= SASS_DEBUG)||(LA421_0 >= SASS_EACH && LA421_0 <= SASS_ELSE)||LA421_0==SASS_EXTEND||(LA421_0 >= SASS_FOR && LA421_0 <= SASS_FUNCTION)||(LA421_0 >= SASS_IF && LA421_0 <= SASS_MIXIN)||(LA421_0 >= SASS_RETURN && LA421_0 <= SASS_WHILE)||LA421_0==STRING||(LA421_0 >= TOPCENTER_SYM && LA421_0 <= TOPRIGHT_SYM)||LA421_0==VARIABLE||LA421_0==WEBKIT_KEYFRAMES_SYM) ) { - alt421=1; + int LA422_0 = input.LA(1); + if ( ((LA422_0 >= AT_IDENT && LA422_0 <= AT_SIGN)||(LA422_0 >= BOTTOMCENTER_SYM && LA422_0 <= BOTTOMRIGHT_SYM)||LA422_0==CHARSET_SYM||LA422_0==COMMA||LA422_0==COUNTER_STYLE_SYM||LA422_0==FONT_FACE_SYM||LA422_0==GEN||LA422_0==HASH_SYMBOL||LA422_0==IDENT||LA422_0==IMPORT_SYM||LA422_0==KEYFRAMES_SYM||(LA422_0 >= LEFTBOTTOM_SYM && LA422_0 <= LEFTTOP_SYM)||(LA422_0 >= MEDIA_SYM && LA422_0 <= MOZ_DOCUMENT_SYM)||LA422_0==NAMESPACE_SYM||LA422_0==NUMBER||LA422_0==PAGE_SYM||(LA422_0 >= RIGHTBOTTOM_SYM && LA422_0 <= RIGHTTOP_SYM)||(LA422_0 >= SASS_AT_ROOT && LA422_0 <= SASS_DEBUG)||(LA422_0 >= SASS_EACH && LA422_0 <= SASS_ELSE)||LA422_0==SASS_EXTEND||(LA422_0 >= SASS_FOR && LA422_0 <= SASS_FUNCTION)||(LA422_0 >= SASS_IF && LA422_0 <= SASS_MIXIN)||(LA422_0 >= SASS_RETURN && LA422_0 <= SASS_WHILE)||LA422_0==STRING||(LA422_0 >= TOPCENTER_SYM && LA422_0 <= TOPRIGHT_SYM)||LA422_0==VARIABLE||LA422_0==WEBKIT_KEYFRAMES_SYM) ) { + alt422=1; } - } finally {dbg.exitDecision(421);} + } finally {dbg.exitDecision(422);} - switch (alt421) { + switch (alt422) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1294:49: sass_map_pairs { dbg.location(1294,49); - pushFollow(FOLLOW_sass_map_pairs_in_cp_expression9406); + pushFollow(FOLLOW_sass_map_pairs_in_cp_expression9430); sass_map_pairs(); state._fsp--; if (state.failed) return; @@ -30478,9 +30679,9 @@ else if ( (evalPredicate(isScssSource(),"isScssSource()")) ) { break; } - } finally {dbg.exitSubRule(421);} + } finally {dbg.exitSubRule(422);} dbg.location(1294,65); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression9409); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression9433); if (state.failed) return; } break; @@ -30517,18 +30718,18 @@ public final void cp_expression_operator() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1298:5: ( key_or | key_and | CP_EQ | CP_NOT_EQ | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ ) - int alt423=8; - try { dbg.enterDecision(423, decisionCanBacktrack[423]); + int alt424=8; + try { dbg.enterDecision(424, decisionCanBacktrack[424]); switch ( input.LA(1) ) { case IDENT: { - int LA423_1 = input.LA(2); + int LA424_1 = input.LA(2); if ( (evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")) ) { - alt423=1; + alt424=1; } else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { - alt423=2; + alt424=2; } else { @@ -30537,7 +30738,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 423, 1, input); + new NoViableAltException("", 424, 1, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -30549,51 +30750,51 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { break; case CP_EQ: { - alt423=3; + alt424=3; } break; case CP_NOT_EQ: { - alt423=4; + alt424=4; } break; case LESS: { - alt423=5; + alt424=5; } break; case LESS_OR_EQ: { - alt423=6; + alt424=6; } break; case GREATER: { - alt423=7; + alt424=7; } break; case GREATER_OR_EQ: { - alt423=8; + alt424=8; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 423, 0, input); + new NoViableAltException("", 424, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(423);} + } finally {dbg.exitDecision(424);} - switch (alt423) { + switch (alt424) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:5: key_or { dbg.location(1299,5); - pushFollow(FOLLOW_key_or_in_cp_expression_operator9430); + pushFollow(FOLLOW_key_or_in_cp_expression_operator9454); key_or(); state._fsp--; if (state.failed) return; @@ -30605,7 +30806,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:14: key_and { dbg.location(1299,14); - pushFollow(FOLLOW_key_and_in_cp_expression_operator9434); + pushFollow(FOLLOW_key_and_in_cp_expression_operator9458); key_and(); state._fsp--; if (state.failed) return; @@ -30617,7 +30818,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:25: CP_EQ { dbg.location(1299,25); - match(input,CP_EQ,FOLLOW_CP_EQ_in_cp_expression_operator9439); if (state.failed) return; + match(input,CP_EQ,FOLLOW_CP_EQ_in_cp_expression_operator9463); if (state.failed) return; } break; case 4 : @@ -30626,7 +30827,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:33: CP_NOT_EQ { dbg.location(1299,33); - match(input,CP_NOT_EQ,FOLLOW_CP_NOT_EQ_in_cp_expression_operator9443); if (state.failed) return; + match(input,CP_NOT_EQ,FOLLOW_CP_NOT_EQ_in_cp_expression_operator9467); if (state.failed) return; } break; case 5 : @@ -30635,7 +30836,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:45: LESS { dbg.location(1299,45); - match(input,LESS,FOLLOW_LESS_in_cp_expression_operator9447); if (state.failed) return; + match(input,LESS,FOLLOW_LESS_in_cp_expression_operator9471); if (state.failed) return; } break; case 6 : @@ -30644,7 +30845,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:52: LESS_OR_EQ { dbg.location(1299,52); - match(input,LESS_OR_EQ,FOLLOW_LESS_OR_EQ_in_cp_expression_operator9451); if (state.failed) return; + match(input,LESS_OR_EQ,FOLLOW_LESS_OR_EQ_in_cp_expression_operator9475); if (state.failed) return; } break; case 7 : @@ -30653,7 +30854,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:65: GREATER { dbg.location(1299,65); - match(input,GREATER,FOLLOW_GREATER_in_cp_expression_operator9455); if (state.failed) return; + match(input,GREATER,FOLLOW_GREATER_in_cp_expression_operator9479); if (state.failed) return; } break; case 8 : @@ -30662,7 +30863,7 @@ else if ( (evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1299:75: GREATER_OR_EQ { dbg.location(1299,75); - match(input,GREATER_OR_EQ,FOLLOW_GREATER_OR_EQ_in_cp_expression_operator9459); if (state.failed) return; + match(input,GREATER_OR_EQ,FOLLOW_GREATER_OR_EQ_in_cp_expression_operator9483); if (state.failed) return; } break; @@ -30705,43 +30906,43 @@ public final void cp_expression_atom() throws RecognitionException { { dbg.location(1304,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:9: ( NOT ( ws )? )? - int alt425=2; - try { dbg.enterSubRule(425); - try { dbg.enterDecision(425, decisionCanBacktrack[425]); + int alt426=2; + try { dbg.enterSubRule(426); + try { dbg.enterDecision(426, decisionCanBacktrack[426]); - int LA425_0 = input.LA(1); - if ( (LA425_0==NOT) ) { - alt425=1; + int LA426_0 = input.LA(1); + if ( (LA426_0==NOT) ) { + alt426=1; } - } finally {dbg.exitDecision(425);} + } finally {dbg.exitDecision(426);} - switch (alt425) { + switch (alt426) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:10: NOT ( ws )? { dbg.location(1304,10); - match(input,NOT,FOLLOW_NOT_in_cp_expression_atom9485); if (state.failed) return;dbg.location(1304,14); + match(input,NOT,FOLLOW_NOT_in_cp_expression_atom9509); if (state.failed) return;dbg.location(1304,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:14: ( ws )? - int alt424=2; - try { dbg.enterSubRule(424); - try { dbg.enterDecision(424, decisionCanBacktrack[424]); + int alt425=2; + try { dbg.enterSubRule(425); + try { dbg.enterDecision(425, decisionCanBacktrack[425]); - int LA424_0 = input.LA(1); - if ( (LA424_0==COMMENT||LA424_0==NL||LA424_0==WS) ) { - alt424=1; + int LA425_0 = input.LA(1); + if ( (LA425_0==COMMENT||LA425_0==NL||LA425_0==WS) ) { + alt425=1; } - } finally {dbg.exitDecision(424);} + } finally {dbg.exitDecision(425);} - switch (alt424) { + switch (alt425) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1304:14: ws { dbg.location(1304,14); - pushFollow(FOLLOW_ws_in_cp_expression_atom9487); + pushFollow(FOLLOW_ws_in_cp_expression_atom9511); ws(); state._fsp--; if (state.failed) return; @@ -30749,114 +30950,114 @@ public final void cp_expression_atom() throws RecognitionException { break; } - } finally {dbg.exitSubRule(424);} + } finally {dbg.exitSubRule(425);} } break; } - } finally {dbg.exitSubRule(425);} + } finally {dbg.exitSubRule(426);} dbg.location(1305,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1305:9: ( ( cp_math_expression )=> cp_math_expression | LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN ) - int alt429=2; - try { dbg.enterSubRule(429); - try { dbg.enterDecision(429, decisionCanBacktrack[429]); + int alt430=2; + try { dbg.enterSubRule(430); + try { dbg.enterDecision(430, decisionCanBacktrack[430]); - int LA429_0 = input.LA(1); - if ( (LA429_0==MINUS||LA429_0==PLUS) && (synpred65_Css3())) { - alt429=1; + int LA430_0 = input.LA(1); + if ( (LA430_0==MINUS||LA430_0==PLUS) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==IDENT) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==IDENT) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==VARIABLE) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==VARIABLE) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==LBRACKET) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==LBRACKET) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==NUMBER) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==NUMBER) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==URANGE) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==URANGE) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==PERCENTAGE) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==PERCENTAGE) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==LENGTH) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==LENGTH) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==EMS) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==EMS) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==REM) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==REM) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==EXS) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==EXS) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==ANGLE) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==ANGLE) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==TIME) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==TIME) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==FREQ) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==FREQ) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==RESOLUTION) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==RESOLUTION) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==DIMENSION) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==DIMENSION) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==STRING) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==STRING) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==TILDE) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==TILDE) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==LESS_JS_STRING) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==LESS_JS_STRING) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==GEN) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==GEN) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==URI) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==URI) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==HASH) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==HASH) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==AT_IDENT||(LA429_0 >= BOTTOMCENTER_SYM && LA429_0 <= BOTTOMRIGHT_SYM)||LA429_0==CHARSET_SYM||LA429_0==COUNTER_STYLE_SYM||LA429_0==FONT_FACE_SYM||LA429_0==IMPORT_SYM||(LA429_0 >= LEFTBOTTOM_SYM && LA429_0 <= LEFTTOP_SYM)||LA429_0==MEDIA_SYM||LA429_0==MOZ_DOCUMENT_SYM||LA429_0==NAMESPACE_SYM||LA429_0==PAGE_SYM||(LA429_0 >= RIGHTBOTTOM_SYM && LA429_0 <= RIGHTTOP_SYM)||(LA429_0 >= SASS_AT_ROOT && LA429_0 <= SASS_DEBUG)||(LA429_0 >= SASS_EACH && LA429_0 <= SASS_ELSE)||LA429_0==SASS_EXTEND||(LA429_0 >= SASS_FOR && LA429_0 <= SASS_FUNCTION)||(LA429_0 >= SASS_IF && LA429_0 <= SASS_MIXIN)||(LA429_0 >= SASS_RETURN && LA429_0 <= SASS_USE)||(LA429_0 >= SASS_WARN && LA429_0 <= SASS_WHILE)||(LA429_0 >= TOPCENTER_SYM && LA429_0 <= TOPRIGHT_SYM)||LA429_0==WEBKIT_KEYFRAMES_SYM) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==AT_IDENT||(LA430_0 >= BOTTOMCENTER_SYM && LA430_0 <= BOTTOMRIGHT_SYM)||LA430_0==CHARSET_SYM||LA430_0==COUNTER_STYLE_SYM||LA430_0==FONT_FACE_SYM||LA430_0==IMPORT_SYM||LA430_0==KEYFRAMES_SYM||(LA430_0 >= LEFTBOTTOM_SYM && LA430_0 <= LEFTTOP_SYM)||LA430_0==MEDIA_SYM||LA430_0==MOZ_DOCUMENT_SYM||LA430_0==NAMESPACE_SYM||LA430_0==PAGE_SYM||(LA430_0 >= RIGHTBOTTOM_SYM && LA430_0 <= RIGHTTOP_SYM)||(LA430_0 >= SASS_AT_ROOT && LA430_0 <= SASS_DEBUG)||(LA430_0 >= SASS_EACH && LA430_0 <= SASS_ELSE)||LA430_0==SASS_EXTEND||(LA430_0 >= SASS_FOR && LA430_0 <= SASS_FUNCTION)||(LA430_0 >= SASS_IF && LA430_0 <= SASS_MIXIN)||(LA430_0 >= SASS_RETURN && LA430_0 <= SASS_USE)||(LA430_0 >= SASS_WARN && LA430_0 <= SASS_WHILE)||(LA430_0 >= TOPCENTER_SYM && LA430_0 <= TOPRIGHT_SYM)||LA430_0==WEBKIT_KEYFRAMES_SYM) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==SASS_VAR) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==SASS_VAR) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==LESS_AND) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==LESS_AND) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==HASH_SYMBOL) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==HASH_SYMBOL) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==AT_SIGN) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==AT_SIGN) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==PERCENTAGE_SYMBOL) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==PERCENTAGE_SYMBOL) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==IMPORTANT_SYM) && (synpred65_Css3())) { - alt429=1; + else if ( (LA430_0==IMPORTANT_SYM) && (synpred65_Css3())) { + alt430=1; } - else if ( (LA429_0==LPAREN) ) { - int LA429_30 = input.LA(2); + else if ( (LA430_0==LPAREN) ) { + int LA430_30 = input.LA(2); if ( (synpred65_Css3()) ) { - alt429=1; + alt430=1; } else if ( (true) ) { - alt429=2; + alt430=2; } } @@ -30864,21 +31065,21 @@ else if ( (true) ) { else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 429, 0, input); + new NoViableAltException("", 430, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(429);} + } finally {dbg.exitDecision(430);} - switch (alt429) { + switch (alt430) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:13: ( cp_math_expression )=> cp_math_expression { dbg.location(1306,35); - pushFollow(FOLLOW_cp_math_expression_in_cp_expression_atom9518); + pushFollow(FOLLOW_cp_math_expression_in_cp_expression_atom9542); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -30890,26 +31091,26 @@ else if ( (true) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:15: LPAREN ( ws )? ( cp_expression_list ( ws )? )? RPAREN { dbg.location(1307,15); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression_atom9534); if (state.failed) return;dbg.location(1307,22); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_expression_atom9558); if (state.failed) return;dbg.location(1307,22); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:22: ( ws )? - int alt426=2; - try { dbg.enterSubRule(426); - try { dbg.enterDecision(426, decisionCanBacktrack[426]); + int alt427=2; + try { dbg.enterSubRule(427); + try { dbg.enterDecision(427, decisionCanBacktrack[427]); - int LA426_0 = input.LA(1); - if ( (LA426_0==COMMENT||LA426_0==NL||LA426_0==WS) ) { - alt426=1; + int LA427_0 = input.LA(1); + if ( (LA427_0==COMMENT||LA427_0==NL||LA427_0==WS) ) { + alt427=1; } - } finally {dbg.exitDecision(426);} + } finally {dbg.exitDecision(427);} - switch (alt426) { + switch (alt427) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:22: ws { dbg.location(1307,22); - pushFollow(FOLLOW_ws_in_cp_expression_atom9536); + pushFollow(FOLLOW_ws_in_cp_expression_atom9560); ws(); state._fsp--; if (state.failed) return; @@ -30917,49 +31118,49 @@ else if ( (true) ) { break; } - } finally {dbg.exitSubRule(426);} + } finally {dbg.exitSubRule(427);} dbg.location(1307,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:26: ( cp_expression_list ( ws )? )? - int alt428=2; - try { dbg.enterSubRule(428); - try { dbg.enterDecision(428, decisionCanBacktrack[428]); + int alt429=2; + try { dbg.enterSubRule(429); + try { dbg.enterDecision(429, decisionCanBacktrack[429]); - int LA428_0 = input.LA(1); - if ( ((LA428_0 >= ANGLE && LA428_0 <= AT_SIGN)||(LA428_0 >= BOTTOMCENTER_SYM && LA428_0 <= BOTTOMRIGHT_SYM)||LA428_0==CHARSET_SYM||LA428_0==COUNTER_STYLE_SYM||LA428_0==DIMENSION||LA428_0==EMS||LA428_0==EXS||(LA428_0 >= FONT_FACE_SYM && LA428_0 <= FREQ)||LA428_0==GEN||(LA428_0 >= HASH && LA428_0 <= HASH_SYMBOL)||(LA428_0 >= IDENT && LA428_0 <= IMPORT_SYM)||(LA428_0 >= LBRACE && LA428_0 <= LENGTH)||(LA428_0 >= LESS_AND && LA428_0 <= LESS_JS_STRING)||LA428_0==LPAREN||(LA428_0 >= MEDIA_SYM && LA428_0 <= MOZ_DOCUMENT_SYM)||LA428_0==NAMESPACE_SYM||(LA428_0 >= NOT && LA428_0 <= NUMBER)||(LA428_0 >= PAGE_SYM && LA428_0 <= PERCENTAGE_SYMBOL)||LA428_0==PLUS||(LA428_0 >= REM && LA428_0 <= RIGHTTOP_SYM)||(LA428_0 >= SASS_AT_ROOT && LA428_0 <= SASS_DEBUG)||(LA428_0 >= SASS_EACH && LA428_0 <= SASS_ELSE)||LA428_0==SASS_EXTEND||(LA428_0 >= SASS_FOR && LA428_0 <= SASS_FUNCTION)||(LA428_0 >= SASS_IF && LA428_0 <= SASS_MIXIN)||(LA428_0 >= SASS_RETURN && LA428_0 <= SASS_WHILE)||LA428_0==STRING||(LA428_0 >= TILDE && LA428_0 <= TOPRIGHT_SYM)||(LA428_0 >= URANGE && LA428_0 <= URI)||LA428_0==VARIABLE||LA428_0==WEBKIT_KEYFRAMES_SYM) ) { - alt428=1; + int LA429_0 = input.LA(1); + if ( ((LA429_0 >= ANGLE && LA429_0 <= AT_SIGN)||(LA429_0 >= BOTTOMCENTER_SYM && LA429_0 <= BOTTOMRIGHT_SYM)||LA429_0==CHARSET_SYM||LA429_0==COUNTER_STYLE_SYM||LA429_0==DIMENSION||LA429_0==EMS||LA429_0==EXS||(LA429_0 >= FONT_FACE_SYM && LA429_0 <= FREQ)||LA429_0==GEN||(LA429_0 >= HASH && LA429_0 <= HASH_SYMBOL)||(LA429_0 >= IDENT && LA429_0 <= IMPORT_SYM)||LA429_0==KEYFRAMES_SYM||(LA429_0 >= LBRACE && LA429_0 <= LENGTH)||(LA429_0 >= LESS_AND && LA429_0 <= LESS_JS_STRING)||LA429_0==LPAREN||(LA429_0 >= MEDIA_SYM && LA429_0 <= MOZ_DOCUMENT_SYM)||LA429_0==NAMESPACE_SYM||(LA429_0 >= NOT && LA429_0 <= NUMBER)||(LA429_0 >= PAGE_SYM && LA429_0 <= PERCENTAGE_SYMBOL)||LA429_0==PLUS||(LA429_0 >= REM && LA429_0 <= RIGHTTOP_SYM)||(LA429_0 >= SASS_AT_ROOT && LA429_0 <= SASS_DEBUG)||(LA429_0 >= SASS_EACH && LA429_0 <= SASS_ELSE)||LA429_0==SASS_EXTEND||(LA429_0 >= SASS_FOR && LA429_0 <= SASS_FUNCTION)||(LA429_0 >= SASS_IF && LA429_0 <= SASS_MIXIN)||(LA429_0 >= SASS_RETURN && LA429_0 <= SASS_WHILE)||LA429_0==STRING||(LA429_0 >= TILDE && LA429_0 <= TOPRIGHT_SYM)||(LA429_0 >= URANGE && LA429_0 <= URI)||LA429_0==VARIABLE||LA429_0==WEBKIT_KEYFRAMES_SYM) ) { + alt429=1; } - } finally {dbg.exitDecision(428);} + } finally {dbg.exitDecision(429);} - switch (alt428) { + switch (alt429) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:27: cp_expression_list ( ws )? { dbg.location(1307,27); - pushFollow(FOLLOW_cp_expression_list_in_cp_expression_atom9540); + pushFollow(FOLLOW_cp_expression_list_in_cp_expression_atom9564); cp_expression_list(); state._fsp--; if (state.failed) return;dbg.location(1307,46); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:46: ( ws )? - int alt427=2; - try { dbg.enterSubRule(427); - try { dbg.enterDecision(427, decisionCanBacktrack[427]); + int alt428=2; + try { dbg.enterSubRule(428); + try { dbg.enterDecision(428, decisionCanBacktrack[428]); - int LA427_0 = input.LA(1); - if ( (LA427_0==COMMENT||LA427_0==NL||LA427_0==WS) ) { - alt427=1; + int LA428_0 = input.LA(1); + if ( (LA428_0==COMMENT||LA428_0==NL||LA428_0==WS) ) { + alt428=1; } - } finally {dbg.exitDecision(427);} + } finally {dbg.exitDecision(428);} - switch (alt427) { + switch (alt428) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1307:46: ws { dbg.location(1307,46); - pushFollow(FOLLOW_ws_in_cp_expression_atom9542); + pushFollow(FOLLOW_ws_in_cp_expression_atom9566); ws(); state._fsp--; if (state.failed) return; @@ -30967,20 +31168,20 @@ else if ( (true) ) { break; } - } finally {dbg.exitSubRule(427);} + } finally {dbg.exitSubRule(428);} } break; } - } finally {dbg.exitSubRule(428);} + } finally {dbg.exitSubRule(429);} dbg.location(1307,52); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression_atom9547); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_cp_expression_atom9571); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(429);} + } finally {dbg.exitSubRule(430);} } @@ -31021,37 +31222,37 @@ public final void cp_math_expressions() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1314:5: cp_math_expression ( ws cp_math_expression )* { dbg.location(1314,5); - pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions9579); + pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions9603); cp_math_expression(); state._fsp--; if (state.failed) return;dbg.location(1315,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1315:5: ( ws cp_math_expression )* - try { dbg.enterSubRule(430); + try { dbg.enterSubRule(431); - loop430: + loop431: while (true) { - int alt430=2; - try { dbg.enterDecision(430, decisionCanBacktrack[430]); + int alt431=2; + try { dbg.enterDecision(431, decisionCanBacktrack[431]); - int LA430_0 = input.LA(1); - if ( (LA430_0==COMMENT||LA430_0==NL||LA430_0==WS) ) { - alt430=1; + int LA431_0 = input.LA(1); + if ( (LA431_0==COMMENT||LA431_0==NL||LA431_0==WS) ) { + alt431=1; } - } finally {dbg.exitDecision(430);} + } finally {dbg.exitDecision(431);} - switch (alt430) { + switch (alt431) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1315:6: ws cp_math_expression { dbg.location(1315,6); - pushFollow(FOLLOW_ws_in_cp_math_expressions9586); + pushFollow(FOLLOW_ws_in_cp_math_expressions9610); ws(); state._fsp--; if (state.failed) return;dbg.location(1315,9); - pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions9588); + pushFollow(FOLLOW_cp_math_expression_in_cp_math_expressions9612); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -31059,10 +31260,10 @@ public final void cp_math_expressions() throws RecognitionException { break; default : - break loop430; + break loop431; } } - } finally {dbg.exitSubRule(430);} + } finally {dbg.exitSubRule(431);} } @@ -31103,29 +31304,29 @@ public final void cp_math_expression() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1331:10: cp_math_expression_atom ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* { dbg.location(1331,10); - pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression9622); + pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression9646); cp_math_expression_atom(); state._fsp--; if (state.failed) return;dbg.location(1332,10); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1332:10: ( ( ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) )=> ( ws )? ( PLUS | MINUS | STAR | SOLIDUS ) ( ws )? cp_math_expression_atom )* - try { dbg.enterSubRule(433); + try { dbg.enterSubRule(434); - loop433: + loop434: while (true) { - int alt433=2; - try { dbg.enterDecision(433, decisionCanBacktrack[433]); + int alt434=2; + try { dbg.enterDecision(434, decisionCanBacktrack[434]); try { isCyclicDecision = true; - alt433 = dfa433.predict(input); + alt434 = dfa434.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(433);} + } finally {dbg.exitDecision(434);} - switch (alt433) { + switch (alt434) { case 1 : dbg.enterAlt(1); @@ -31133,24 +31334,24 @@ public final void cp_math_expression() throws RecognitionException { { dbg.location(1333,48); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:48: ( ws )? - int alt431=2; - try { dbg.enterSubRule(431); - try { dbg.enterDecision(431, decisionCanBacktrack[431]); + int alt432=2; + try { dbg.enterSubRule(432); + try { dbg.enterDecision(432, decisionCanBacktrack[432]); - int LA431_0 = input.LA(1); - if ( (LA431_0==COMMENT||LA431_0==NL||LA431_0==WS) ) { - alt431=1; + int LA432_0 = input.LA(1); + if ( (LA432_0==COMMENT||LA432_0==NL||LA432_0==WS) ) { + alt432=1; } - } finally {dbg.exitDecision(431);} + } finally {dbg.exitDecision(432);} - switch (alt431) { + switch (alt432) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:48: ws { dbg.location(1333,48); - pushFollow(FOLLOW_ws_in_cp_math_expression9664); + pushFollow(FOLLOW_ws_in_cp_math_expression9688); ws(); state._fsp--; if (state.failed) return; @@ -31158,7 +31359,7 @@ public final void cp_math_expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(431);} + } finally {dbg.exitSubRule(432);} dbg.location(1333,52); if ( input.LA(1)==MINUS||input.LA(1)==PLUS||(input.LA(1) >= SOLIDUS && input.LA(1) <= STAR) ) { input.consume(); @@ -31172,24 +31373,24 @@ public final void cp_math_expression() throws RecognitionException { throw mse; }dbg.location(1333,78); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:78: ( ws )? - int alt432=2; - try { dbg.enterSubRule(432); - try { dbg.enterDecision(432, decisionCanBacktrack[432]); + int alt433=2; + try { dbg.enterSubRule(433); + try { dbg.enterDecision(433, decisionCanBacktrack[433]); - int LA432_0 = input.LA(1); - if ( (LA432_0==COMMENT||LA432_0==NL||LA432_0==WS) ) { - alt432=1; + int LA433_0 = input.LA(1); + if ( (LA433_0==COMMENT||LA433_0==NL||LA433_0==WS) ) { + alt433=1; } - } finally {dbg.exitDecision(432);} + } finally {dbg.exitDecision(433);} - switch (alt432) { + switch (alt433) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:78: ws { dbg.location(1333,78); - pushFollow(FOLLOW_ws_in_cp_math_expression9677); + pushFollow(FOLLOW_ws_in_cp_math_expression9701); ws(); state._fsp--; if (state.failed) return; @@ -31197,9 +31398,9 @@ public final void cp_math_expression() throws RecognitionException { break; } - } finally {dbg.exitSubRule(432);} + } finally {dbg.exitSubRule(433);} dbg.location(1333,82); - pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression9680); + pushFollow(FOLLOW_cp_math_expression_atom_in_cp_math_expression9704); cp_math_expression_atom(); state._fsp--; if (state.failed) return; @@ -31207,10 +31408,10 @@ public final void cp_math_expression() throws RecognitionException { break; default : - break loop433; + break loop434; } } - } finally {dbg.exitSubRule(433);} + } finally {dbg.exitSubRule(434);} } @@ -31246,27 +31447,27 @@ public final void cp_math_expression_atom() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1338:5: ( term | IMPORTANT_SYM | ( unaryOperator ( ws )? )? LPAREN ( ws )? cp_math_expression ( ws )? RPAREN ) - int alt438=3; - try { dbg.enterDecision(438, decisionCanBacktrack[438]); + int alt439=3; + try { dbg.enterDecision(439, decisionCanBacktrack[439]); try { isCyclicDecision = true; - alt438 = dfa438.predict(input); + alt439 = dfa439.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(438);} + } finally {dbg.exitDecision(439);} - switch (alt438) { + switch (alt439) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1339:5: term { dbg.location(1339,5); - pushFollow(FOLLOW_term_in_cp_math_expression_atom9713); + pushFollow(FOLLOW_term_in_cp_math_expression_atom9737); term(); state._fsp--; if (state.failed) return; @@ -31278,7 +31479,7 @@ public final void cp_math_expression_atom() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1340:7: IMPORTANT_SYM { dbg.location(1340,7); - match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom9721); if (state.failed) return; + match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_cp_math_expression_atom9745); if (state.failed) return; } break; case 3 : @@ -31288,46 +31489,46 @@ public final void cp_math_expression_atom() throws RecognitionException { { dbg.location(1341,7); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:7: ( unaryOperator ( ws )? )? - int alt435=2; - try { dbg.enterSubRule(435); - try { dbg.enterDecision(435, decisionCanBacktrack[435]); + int alt436=2; + try { dbg.enterSubRule(436); + try { dbg.enterDecision(436, decisionCanBacktrack[436]); - int LA435_0 = input.LA(1); - if ( (LA435_0==MINUS||LA435_0==PLUS) ) { - alt435=1; + int LA436_0 = input.LA(1); + if ( (LA436_0==MINUS||LA436_0==PLUS) ) { + alt436=1; } - } finally {dbg.exitDecision(435);} + } finally {dbg.exitDecision(436);} - switch (alt435) { + switch (alt436) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:9: unaryOperator ( ws )? { dbg.location(1341,9); - pushFollow(FOLLOW_unaryOperator_in_cp_math_expression_atom9732); + pushFollow(FOLLOW_unaryOperator_in_cp_math_expression_atom9756); unaryOperator(); state._fsp--; if (state.failed) return;dbg.location(1341,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:23: ( ws )? - int alt434=2; - try { dbg.enterSubRule(434); - try { dbg.enterDecision(434, decisionCanBacktrack[434]); + int alt435=2; + try { dbg.enterSubRule(435); + try { dbg.enterDecision(435, decisionCanBacktrack[435]); - int LA434_0 = input.LA(1); - if ( (LA434_0==COMMENT||LA434_0==NL||LA434_0==WS) ) { - alt434=1; + int LA435_0 = input.LA(1); + if ( (LA435_0==COMMENT||LA435_0==NL||LA435_0==WS) ) { + alt435=1; } - } finally {dbg.exitDecision(434);} + } finally {dbg.exitDecision(435);} - switch (alt434) { + switch (alt435) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:23: ws { dbg.location(1341,23); - pushFollow(FOLLOW_ws_in_cp_math_expression_atom9734); + pushFollow(FOLLOW_ws_in_cp_math_expression_atom9758); ws(); state._fsp--; if (state.failed) return; @@ -31335,34 +31536,34 @@ public final void cp_math_expression_atom() throws RecognitionException { break; } - } finally {dbg.exitSubRule(434);} + } finally {dbg.exitSubRule(435);} } break; } - } finally {dbg.exitSubRule(435);} + } finally {dbg.exitSubRule(436);} dbg.location(1341,30); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_math_expression_atom9740); if (state.failed) return;dbg.location(1341,37); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_math_expression_atom9764); if (state.failed) return;dbg.location(1341,37); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:37: ( ws )? - int alt436=2; - try { dbg.enterSubRule(436); - try { dbg.enterDecision(436, decisionCanBacktrack[436]); + int alt437=2; + try { dbg.enterSubRule(437); + try { dbg.enterDecision(437, decisionCanBacktrack[437]); - int LA436_0 = input.LA(1); - if ( (LA436_0==COMMENT||LA436_0==NL||LA436_0==WS) ) { - alt436=1; + int LA437_0 = input.LA(1); + if ( (LA437_0==COMMENT||LA437_0==NL||LA437_0==WS) ) { + alt437=1; } - } finally {dbg.exitDecision(436);} + } finally {dbg.exitDecision(437);} - switch (alt436) { + switch (alt437) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:37: ws { dbg.location(1341,37); - pushFollow(FOLLOW_ws_in_cp_math_expression_atom9742); + pushFollow(FOLLOW_ws_in_cp_math_expression_atom9766); ws(); state._fsp--; if (state.failed) return; @@ -31370,31 +31571,31 @@ public final void cp_math_expression_atom() throws RecognitionException { break; } - } finally {dbg.exitSubRule(436);} + } finally {dbg.exitSubRule(437);} dbg.location(1341,41); - pushFollow(FOLLOW_cp_math_expression_in_cp_math_expression_atom9745); + pushFollow(FOLLOW_cp_math_expression_in_cp_math_expression_atom9769); cp_math_expression(); state._fsp--; if (state.failed) return;dbg.location(1341,60); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:60: ( ws )? - int alt437=2; - try { dbg.enterSubRule(437); - try { dbg.enterDecision(437, decisionCanBacktrack[437]); + int alt438=2; + try { dbg.enterSubRule(438); + try { dbg.enterDecision(438, decisionCanBacktrack[438]); - int LA437_0 = input.LA(1); - if ( (LA437_0==COMMENT||LA437_0==NL||LA437_0==WS) ) { - alt437=1; + int LA438_0 = input.LA(1); + if ( (LA438_0==COMMENT||LA438_0==NL||LA438_0==WS) ) { + alt438=1; } - } finally {dbg.exitDecision(437);} + } finally {dbg.exitDecision(438);} - switch (alt437) { + switch (alt438) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1341:60: ws { dbg.location(1341,60); - pushFollow(FOLLOW_ws_in_cp_math_expression_atom9747); + pushFollow(FOLLOW_ws_in_cp_math_expression_atom9771); ws(); state._fsp--; if (state.failed) return; @@ -31402,9 +31603,9 @@ public final void cp_math_expression_atom() throws RecognitionException { break; } - } finally {dbg.exitSubRule(437);} + } finally {dbg.exitSubRule(438);} dbg.location(1341,64); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_math_expression_atom9750); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_cp_math_expression_atom9774); if (state.failed) return; } break; @@ -31447,29 +31648,29 @@ public final void cp_mixin_declaration() throws RecognitionException { { dbg.location(1352,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1352:5: ({...}? ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) ( ( ws )? less_mixin_guarded )? |{...}? SASS_MIXIN ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? ) - int alt450=2; - try { dbg.enterSubRule(450); - try { dbg.enterDecision(450, decisionCanBacktrack[450]); + int alt451=2; + try { dbg.enterSubRule(451); + try { dbg.enterDecision(451, decisionCanBacktrack[451]); - int LA450_0 = input.LA(1); - if ( (LA450_0==DOT||LA450_0==HASH||LA450_0==LESS_AND) ) { - alt450=1; + int LA451_0 = input.LA(1); + if ( (LA451_0==DOT||LA451_0==HASH||LA451_0==LESS_AND) ) { + alt451=1; } - else if ( (LA450_0==SASS_MIXIN) ) { - alt450=2; + else if ( (LA451_0==SASS_MIXIN) ) { + alt451=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 450, 0, input); + new NoViableAltException("", 451, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(450);} + } finally {dbg.exitDecision(451);} - switch (alt450) { + switch (alt451) { case 1 : dbg.enterAlt(1); @@ -31481,36 +31682,36 @@ else if ( (LA450_0==SASS_MIXIN) ) { throw new FailedPredicateException(input, "cp_mixin_declaration", "isLessSource()"); }dbg.location(1353,27); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:27: ( LESS_AND | ( ( ( DOT cp_mixin_name ) | HASH ) ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ) ) - int alt443=2; - try { dbg.enterSubRule(443); - try { dbg.enterDecision(443, decisionCanBacktrack[443]); + int alt444=2; + try { dbg.enterSubRule(444); + try { dbg.enterDecision(444, decisionCanBacktrack[444]); - int LA443_0 = input.LA(1); - if ( (LA443_0==LESS_AND) ) { - alt443=1; + int LA444_0 = input.LA(1); + if ( (LA444_0==LESS_AND) ) { + alt444=1; } - else if ( (LA443_0==DOT||LA443_0==HASH) ) { - alt443=2; + else if ( (LA444_0==DOT||LA444_0==HASH) ) { + alt444=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 443, 0, input); + new NoViableAltException("", 444, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(443);} + } finally {dbg.exitDecision(444);} - switch (alt443) { + switch (alt444) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:28: LESS_AND { dbg.location(1353,28); - match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_declaration9790); if (state.failed) return; + match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_declaration9814); if (state.failed) return; } break; case 2 : @@ -31526,29 +31727,29 @@ else if ( (LA443_0==DOT||LA443_0==HASH) ) { { dbg.location(1353,40); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:40: ( ( DOT cp_mixin_name ) | HASH ) - int alt439=2; - try { dbg.enterSubRule(439); - try { dbg.enterDecision(439, decisionCanBacktrack[439]); + int alt440=2; + try { dbg.enterSubRule(440); + try { dbg.enterDecision(440, decisionCanBacktrack[440]); - int LA439_0 = input.LA(1); - if ( (LA439_0==DOT) ) { - alt439=1; + int LA440_0 = input.LA(1); + if ( (LA440_0==DOT) ) { + alt440=1; } - else if ( (LA439_0==HASH) ) { - alt439=2; + else if ( (LA440_0==HASH) ) { + alt440=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 439, 0, input); + new NoViableAltException("", 440, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(439);} + } finally {dbg.exitDecision(440);} - switch (alt439) { + switch (alt440) { case 1 : dbg.enterAlt(1); @@ -31561,8 +31762,8 @@ else if ( (LA439_0==HASH) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:42: DOT cp_mixin_name { dbg.location(1353,42); - match(input,DOT,FOLLOW_DOT_in_cp_mixin_declaration9797); if (state.failed) return;dbg.location(1353,46); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration9799); + match(input,DOT,FOLLOW_DOT_in_cp_mixin_declaration9821); if (state.failed) return;dbg.location(1353,46); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration9823); cp_mixin_name(); state._fsp--; if (state.failed) return; @@ -31576,32 +31777,32 @@ else if ( (LA439_0==HASH) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:63: HASH { dbg.location(1353,63); - match(input,HASH,FOLLOW_HASH_in_cp_mixin_declaration9804); if (state.failed) return; + match(input,HASH,FOLLOW_HASH_in_cp_mixin_declaration9828); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(439);} + } finally {dbg.exitSubRule(440);} dbg.location(1353,69); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:69: ( ws )? - int alt440=2; - try { dbg.enterSubRule(440); - try { dbg.enterDecision(440, decisionCanBacktrack[440]); + int alt441=2; + try { dbg.enterSubRule(441); + try { dbg.enterDecision(441, decisionCanBacktrack[441]); - int LA440_0 = input.LA(1); - if ( (LA440_0==COMMENT||LA440_0==NL||LA440_0==WS) ) { - alt440=1; + int LA441_0 = input.LA(1); + if ( (LA441_0==COMMENT||LA441_0==NL||LA441_0==WS) ) { + alt441=1; } - } finally {dbg.exitDecision(440);} + } finally {dbg.exitDecision(441);} - switch (alt440) { + switch (alt441) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:69: ws { dbg.location(1353,69); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9807); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9831); ws(); state._fsp--; if (state.failed) return; @@ -31609,28 +31810,28 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(440);} + } finally {dbg.exitSubRule(441);} dbg.location(1353,73); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration9810); if (state.failed) return;dbg.location(1353,80); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration9834); if (state.failed) return;dbg.location(1353,80); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:80: ( ws )? - int alt441=2; - try { dbg.enterSubRule(441); - try { dbg.enterDecision(441, decisionCanBacktrack[441]); + int alt442=2; + try { dbg.enterSubRule(442); + try { dbg.enterDecision(442, decisionCanBacktrack[442]); - int LA441_0 = input.LA(1); - if ( (LA441_0==COMMENT||LA441_0==NL||LA441_0==WS) ) { - alt441=1; + int LA442_0 = input.LA(1); + if ( (LA442_0==COMMENT||LA442_0==NL||LA442_0==WS) ) { + alt442=1; } - } finally {dbg.exitDecision(441);} + } finally {dbg.exitDecision(442);} - switch (alt441) { + switch (alt442) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:80: ws { dbg.location(1353,80); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9812); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9836); ws(); state._fsp--; if (state.failed) return; @@ -31638,27 +31839,27 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(441);} + } finally {dbg.exitSubRule(442);} dbg.location(1353,84); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:84: ( cp_args_list )? - int alt442=2; - try { dbg.enterSubRule(442); - try { dbg.enterDecision(442, decisionCanBacktrack[442]); + int alt443=2; + try { dbg.enterSubRule(443); + try { dbg.enterDecision(443, decisionCanBacktrack[443]); - int LA442_0 = input.LA(1); - if ( (LA442_0==AT_IDENT||(LA442_0 >= BOTTOMCENTER_SYM && LA442_0 <= BOTTOMRIGHT_SYM)||LA442_0==CHARSET_SYM||(LA442_0 >= COUNTER_STYLE_SYM && LA442_0 <= CP_DOTS)||LA442_0==FONT_FACE_SYM||LA442_0==IDENT||LA442_0==IMPORT_SYM||(LA442_0 >= LEFTBOTTOM_SYM && LA442_0 <= LEFTTOP_SYM)||LA442_0==LESS_REST||LA442_0==MEDIA_SYM||LA442_0==MOZ_DOCUMENT_SYM||LA442_0==NAMESPACE_SYM||LA442_0==PAGE_SYM||(LA442_0 >= RIGHTBOTTOM_SYM && LA442_0 <= RIGHTTOP_SYM)||(LA442_0 >= SASS_AT_ROOT && LA442_0 <= SASS_DEBUG)||(LA442_0 >= SASS_EACH && LA442_0 <= SASS_ELSE)||LA442_0==SASS_EXTEND||(LA442_0 >= SASS_FOR && LA442_0 <= SASS_FUNCTION)||(LA442_0 >= SASS_IF && LA442_0 <= SASS_MIXIN)||(LA442_0 >= SASS_RETURN && LA442_0 <= SASS_WHILE)||(LA442_0 >= TOPCENTER_SYM && LA442_0 <= TOPRIGHT_SYM)||LA442_0==WEBKIT_KEYFRAMES_SYM) ) { - alt442=1; + int LA443_0 = input.LA(1); + if ( (LA443_0==AT_IDENT||(LA443_0 >= BOTTOMCENTER_SYM && LA443_0 <= BOTTOMRIGHT_SYM)||LA443_0==CHARSET_SYM||(LA443_0 >= COUNTER_STYLE_SYM && LA443_0 <= CP_DOTS)||LA443_0==FONT_FACE_SYM||LA443_0==IDENT||LA443_0==IMPORT_SYM||LA443_0==KEYFRAMES_SYM||(LA443_0 >= LEFTBOTTOM_SYM && LA443_0 <= LEFTTOP_SYM)||LA443_0==LESS_REST||LA443_0==MEDIA_SYM||LA443_0==MOZ_DOCUMENT_SYM||LA443_0==NAMESPACE_SYM||LA443_0==PAGE_SYM||(LA443_0 >= RIGHTBOTTOM_SYM && LA443_0 <= RIGHTTOP_SYM)||(LA443_0 >= SASS_AT_ROOT && LA443_0 <= SASS_DEBUG)||(LA443_0 >= SASS_EACH && LA443_0 <= SASS_ELSE)||LA443_0==SASS_EXTEND||(LA443_0 >= SASS_FOR && LA443_0 <= SASS_FUNCTION)||(LA443_0 >= SASS_IF && LA443_0 <= SASS_MIXIN)||(LA443_0 >= SASS_RETURN && LA443_0 <= SASS_WHILE)||(LA443_0 >= TOPCENTER_SYM && LA443_0 <= TOPRIGHT_SYM)||LA443_0==WEBKIT_KEYFRAMES_SYM) ) { + alt443=1; } - } finally {dbg.exitDecision(442);} + } finally {dbg.exitDecision(443);} - switch (alt442) { + switch (alt443) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:84: cp_args_list { dbg.location(1353,84); - pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration9815); + pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration9839); cp_args_list(); state._fsp--; if (state.failed) return; @@ -31666,33 +31867,33 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(442);} + } finally {dbg.exitSubRule(443);} dbg.location(1353,98); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration9818); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration9842); if (state.failed) return; } } break; } - } finally {dbg.exitSubRule(443);} + } finally {dbg.exitSubRule(444);} dbg.location(1353,107); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:107: ( ( ws )? less_mixin_guarded )? - int alt445=2; - try { dbg.enterSubRule(445); - try { dbg.enterDecision(445, decisionCanBacktrack[445]); + int alt446=2; + try { dbg.enterSubRule(446); + try { dbg.enterDecision(446, decisionCanBacktrack[446]); try { isCyclicDecision = true; - alt445 = dfa445.predict(input); + alt446 = dfa446.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(445);} + } finally {dbg.exitDecision(446);} - switch (alt445) { + switch (alt446) { case 1 : dbg.enterAlt(1); @@ -31700,24 +31901,24 @@ else if ( (LA439_0==HASH) ) { { dbg.location(1353,108); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:108: ( ws )? - int alt444=2; - try { dbg.enterSubRule(444); - try { dbg.enterDecision(444, decisionCanBacktrack[444]); + int alt445=2; + try { dbg.enterSubRule(445); + try { dbg.enterDecision(445, decisionCanBacktrack[445]); - int LA444_0 = input.LA(1); - if ( (LA444_0==COMMENT||LA444_0==NL||LA444_0==WS) ) { - alt444=1; + int LA445_0 = input.LA(1); + if ( (LA445_0==COMMENT||LA445_0==NL||LA445_0==WS) ) { + alt445=1; } - } finally {dbg.exitDecision(444);} + } finally {dbg.exitDecision(445);} - switch (alt444) { + switch (alt445) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1353:108: ws { dbg.location(1353,108); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9823); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9847); ws(); state._fsp--; if (state.failed) return; @@ -31725,9 +31926,9 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(444);} + } finally {dbg.exitSubRule(445);} dbg.location(1353,112); - pushFollow(FOLLOW_less_mixin_guarded_in_cp_mixin_declaration9826); + pushFollow(FOLLOW_less_mixin_guarded_in_cp_mixin_declaration9850); less_mixin_guarded(); state._fsp--; if (state.failed) return; @@ -31735,7 +31936,7 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(445);} + } finally {dbg.exitSubRule(446);} } break; @@ -31749,31 +31950,31 @@ else if ( (LA439_0==HASH) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_mixin_declaration", "isScssSource()"); }dbg.location(1355,27); - match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_cp_mixin_declaration9850); if (state.failed) return;dbg.location(1355,38); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9852); + match(input,SASS_MIXIN,FOLLOW_SASS_MIXIN_in_cp_mixin_declaration9874); if (state.failed) return;dbg.location(1355,38); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9876); ws(); state._fsp--; if (state.failed) return;dbg.location(1355,41); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration9854); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_declaration9878); cp_mixin_name(); state._fsp--; if (state.failed) return;dbg.location(1355,55); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:55: ( ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN )? - int alt449=2; - try { dbg.enterSubRule(449); - try { dbg.enterDecision(449, decisionCanBacktrack[449]); + int alt450=2; + try { dbg.enterSubRule(450); + try { dbg.enterDecision(450, decisionCanBacktrack[450]); try { isCyclicDecision = true; - alt449 = dfa449.predict(input); + alt450 = dfa450.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(449);} + } finally {dbg.exitDecision(450);} - switch (alt449) { + switch (alt450) { case 1 : dbg.enterAlt(1); @@ -31781,24 +31982,24 @@ else if ( (LA439_0==HASH) ) { { dbg.location(1355,56); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:56: ( ws )? - int alt446=2; - try { dbg.enterSubRule(446); - try { dbg.enterDecision(446, decisionCanBacktrack[446]); + int alt447=2; + try { dbg.enterSubRule(447); + try { dbg.enterDecision(447, decisionCanBacktrack[447]); - int LA446_0 = input.LA(1); - if ( (LA446_0==COMMENT||LA446_0==NL||LA446_0==WS) ) { - alt446=1; + int LA447_0 = input.LA(1); + if ( (LA447_0==COMMENT||LA447_0==NL||LA447_0==WS) ) { + alt447=1; } - } finally {dbg.exitDecision(446);} + } finally {dbg.exitDecision(447);} - switch (alt446) { + switch (alt447) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:56: ws { dbg.location(1355,56); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9857); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9881); ws(); state._fsp--; if (state.failed) return; @@ -31806,28 +32007,28 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(446);} + } finally {dbg.exitSubRule(447);} dbg.location(1355,60); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration9860); if (state.failed) return;dbg.location(1355,67); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_declaration9884); if (state.failed) return;dbg.location(1355,67); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:67: ( ws )? - int alt447=2; - try { dbg.enterSubRule(447); - try { dbg.enterDecision(447, decisionCanBacktrack[447]); + int alt448=2; + try { dbg.enterSubRule(448); + try { dbg.enterDecision(448, decisionCanBacktrack[448]); - int LA447_0 = input.LA(1); - if ( (LA447_0==COMMENT||LA447_0==NL||LA447_0==WS) ) { - alt447=1; + int LA448_0 = input.LA(1); + if ( (LA448_0==COMMENT||LA448_0==NL||LA448_0==WS) ) { + alt448=1; } - } finally {dbg.exitDecision(447);} + } finally {dbg.exitDecision(448);} - switch (alt447) { + switch (alt448) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:67: ws { dbg.location(1355,67); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9862); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9886); ws(); state._fsp--; if (state.failed) return; @@ -31835,27 +32036,27 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(447);} + } finally {dbg.exitSubRule(448);} dbg.location(1355,71); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:71: ( cp_args_list )? - int alt448=2; - try { dbg.enterSubRule(448); - try { dbg.enterDecision(448, decisionCanBacktrack[448]); + int alt449=2; + try { dbg.enterSubRule(449); + try { dbg.enterDecision(449, decisionCanBacktrack[449]); - int LA448_0 = input.LA(1); - if ( (LA448_0==AT_IDENT||(LA448_0 >= BOTTOMCENTER_SYM && LA448_0 <= BOTTOMRIGHT_SYM)||LA448_0==CHARSET_SYM||(LA448_0 >= COUNTER_STYLE_SYM && LA448_0 <= CP_DOTS)||LA448_0==FONT_FACE_SYM||LA448_0==IDENT||LA448_0==IMPORT_SYM||(LA448_0 >= LEFTBOTTOM_SYM && LA448_0 <= LEFTTOP_SYM)||LA448_0==LESS_REST||LA448_0==MEDIA_SYM||LA448_0==MOZ_DOCUMENT_SYM||LA448_0==NAMESPACE_SYM||LA448_0==PAGE_SYM||(LA448_0 >= RIGHTBOTTOM_SYM && LA448_0 <= RIGHTTOP_SYM)||(LA448_0 >= SASS_AT_ROOT && LA448_0 <= SASS_DEBUG)||(LA448_0 >= SASS_EACH && LA448_0 <= SASS_ELSE)||LA448_0==SASS_EXTEND||(LA448_0 >= SASS_FOR && LA448_0 <= SASS_FUNCTION)||(LA448_0 >= SASS_IF && LA448_0 <= SASS_MIXIN)||(LA448_0 >= SASS_RETURN && LA448_0 <= SASS_WHILE)||(LA448_0 >= TOPCENTER_SYM && LA448_0 <= TOPRIGHT_SYM)||LA448_0==WEBKIT_KEYFRAMES_SYM) ) { - alt448=1; + int LA449_0 = input.LA(1); + if ( (LA449_0==AT_IDENT||(LA449_0 >= BOTTOMCENTER_SYM && LA449_0 <= BOTTOMRIGHT_SYM)||LA449_0==CHARSET_SYM||(LA449_0 >= COUNTER_STYLE_SYM && LA449_0 <= CP_DOTS)||LA449_0==FONT_FACE_SYM||LA449_0==IDENT||LA449_0==IMPORT_SYM||LA449_0==KEYFRAMES_SYM||(LA449_0 >= LEFTBOTTOM_SYM && LA449_0 <= LEFTTOP_SYM)||LA449_0==LESS_REST||LA449_0==MEDIA_SYM||LA449_0==MOZ_DOCUMENT_SYM||LA449_0==NAMESPACE_SYM||LA449_0==PAGE_SYM||(LA449_0 >= RIGHTBOTTOM_SYM && LA449_0 <= RIGHTTOP_SYM)||(LA449_0 >= SASS_AT_ROOT && LA449_0 <= SASS_DEBUG)||(LA449_0 >= SASS_EACH && LA449_0 <= SASS_ELSE)||LA449_0==SASS_EXTEND||(LA449_0 >= SASS_FOR && LA449_0 <= SASS_FUNCTION)||(LA449_0 >= SASS_IF && LA449_0 <= SASS_MIXIN)||(LA449_0 >= SASS_RETURN && LA449_0 <= SASS_WHILE)||(LA449_0 >= TOPCENTER_SYM && LA449_0 <= TOPRIGHT_SYM)||LA449_0==WEBKIT_KEYFRAMES_SYM) ) { + alt449=1; } - } finally {dbg.exitDecision(448);} + } finally {dbg.exitDecision(449);} - switch (alt448) { + switch (alt449) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1355:71: cp_args_list { dbg.location(1355,71); - pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration9865); + pushFollow(FOLLOW_cp_args_list_in_cp_mixin_declaration9889); cp_args_list(); state._fsp--; if (state.failed) return; @@ -31863,40 +32064,40 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(448);} + } finally {dbg.exitSubRule(449);} dbg.location(1355,85); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration9868); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_declaration9892); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(449);} + } finally {dbg.exitSubRule(450);} } break; } - } finally {dbg.exitSubRule(450);} + } finally {dbg.exitSubRule(451);} dbg.location(1357,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1357:5: ( ws )? - int alt451=2; - try { dbg.enterSubRule(451); - try { dbg.enterDecision(451, decisionCanBacktrack[451]); + int alt452=2; + try { dbg.enterSubRule(452); + try { dbg.enterDecision(452, decisionCanBacktrack[452]); - int LA451_0 = input.LA(1); - if ( (LA451_0==COMMENT||LA451_0==NL||LA451_0==WS) ) { - alt451=1; + int LA452_0 = input.LA(1); + if ( (LA452_0==COMMENT||LA452_0==NL||LA452_0==WS) ) { + alt452=1; } - } finally {dbg.exitDecision(451);} + } finally {dbg.exitDecision(452);} - switch (alt451) { + switch (alt452) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1357:5: ws { dbg.location(1357,5); - pushFollow(FOLLOW_ws_in_cp_mixin_declaration9882); + pushFollow(FOLLOW_ws_in_cp_mixin_declaration9906); ws(); state._fsp--; if (state.failed) return; @@ -31904,9 +32105,9 @@ else if ( (LA439_0==HASH) ) { break; } - } finally {dbg.exitSubRule(451);} + } finally {dbg.exitSubRule(452);} dbg.location(1357,9); - pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_declaration9885); + pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_declaration9909); cp_mixin_block(); state._fsp--; if (state.failed) return; @@ -31950,29 +32151,29 @@ public final void cp_mixin_call() throws RecognitionException { { dbg.location(1364,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1364:5: ({...}? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? |{...}? SASS_INCLUDE ws cp_mixin_name ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? ( ( ws )? cp_mixin_block )? ) - int alt467=2; - try { dbg.enterSubRule(467); - try { dbg.enterDecision(467, decisionCanBacktrack[467]); + int alt468=2; + try { dbg.enterSubRule(468); + try { dbg.enterDecision(468, decisionCanBacktrack[468]); - int LA467_0 = input.LA(1); - if ( (LA467_0==AT_IDENT||LA467_0==DOT||LA467_0==HASH||LA467_0==LESS_AND) ) { - alt467=1; + int LA468_0 = input.LA(1); + if ( (LA468_0==AT_IDENT||LA468_0==DOT||LA468_0==HASH||LA468_0==LESS_AND) ) { + alt468=1; } - else if ( (LA467_0==SASS_INCLUDE) ) { - alt467=2; + else if ( (LA468_0==SASS_INCLUDE) ) { + alt468=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 467, 0, input); + new NoViableAltException("", 468, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(467);} + } finally {dbg.exitDecision(468);} - switch (alt467) { + switch (alt468) { case 1 : dbg.enterAlt(1); @@ -31984,49 +32185,49 @@ else if ( (LA467_0==SASS_INCLUDE) ) { throw new FailedPredicateException(input, "cp_mixin_call", "isLessSource()"); }dbg.location(1365,27); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:27: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) - int alt452=4; - try { dbg.enterSubRule(452); - try { dbg.enterDecision(452, decisionCanBacktrack[452]); + int alt453=4; + try { dbg.enterSubRule(453); + try { dbg.enterDecision(453, decisionCanBacktrack[453]); switch ( input.LA(1) ) { case DOT: { - alt452=1; + alt453=1; } break; case HASH: { - alt452=2; + alt453=2; } break; case AT_IDENT: { - alt452=3; + alt453=3; } break; case LESS_AND: { - alt452=4; + alt453=4; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 452, 0, input); + new NoViableAltException("", 453, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(452);} + } finally {dbg.exitDecision(453);} - switch (alt452) { + switch (alt453) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:28: DOT cp_mixin_name { dbg.location(1365,28); - match(input,DOT,FOLLOW_DOT_in_cp_mixin_call9921); if (state.failed) return;dbg.location(1365,32); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9923); + match(input,DOT,FOLLOW_DOT_in_cp_mixin_call9945); if (state.failed) return;dbg.location(1365,32); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9947); cp_mixin_name(); state._fsp--; if (state.failed) return; @@ -32038,7 +32239,7 @@ else if ( (LA467_0==SASS_INCLUDE) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:48: HASH { dbg.location(1365,48); - match(input,HASH,FOLLOW_HASH_in_cp_mixin_call9927); if (state.failed) return; + match(input,HASH,FOLLOW_HASH_in_cp_mixin_call9951); if (state.failed) return; } break; case 3 : @@ -32047,7 +32248,7 @@ else if ( (LA467_0==SASS_INCLUDE) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:55: AT_IDENT { dbg.location(1365,55); - match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call9931); if (state.failed) return; + match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call9955); if (state.failed) return; } break; case 4 : @@ -32056,40 +32257,40 @@ else if ( (LA467_0==SASS_INCLUDE) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:66: LESS_AND { dbg.location(1365,66); - match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call9935); if (state.failed) return; + match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call9959); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(452);} + } finally {dbg.exitSubRule(453);} dbg.location(1365,76); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:76: ( ( ( ws )? combinator ( ws )? )=> ( ws )? combinator ( ws )? ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) )* - try { dbg.enterSubRule(456); + try { dbg.enterSubRule(457); - loop456: + loop457: while (true) { - int alt456=2; - try { dbg.enterDecision(456, decisionCanBacktrack[456]); + int alt457=2; + try { dbg.enterDecision(457, decisionCanBacktrack[457]); - int LA456_0 = input.LA(1); - if ( (LA456_0==COMMENT||LA456_0==NL||LA456_0==WS) ) { - int LA456_2 = input.LA(2); + int LA457_0 = input.LA(1); + if ( (LA457_0==COMMENT||LA457_0==NL||LA457_0==WS) ) { + int LA457_2 = input.LA(2); if ( (synpred67_Css3()) ) { - alt456=1; + alt457=1; } } - else if ( (LA456_0==GREATER||LA456_0==PLUS||LA456_0==TILDE) ) { - int LA456_14 = input.LA(2); + else if ( (LA457_0==GREATER||LA457_0==PLUS||LA457_0==TILDE) ) { + int LA457_14 = input.LA(2); if ( (synpred67_Css3()) ) { - alt456=1; + alt457=1; } } - } finally {dbg.exitDecision(456);} + } finally {dbg.exitDecision(457);} - switch (alt456) { + switch (alt457) { case 1 : dbg.enterAlt(1); @@ -32097,24 +32298,24 @@ else if ( (LA456_0==GREATER||LA456_0==PLUS||LA456_0==TILDE) ) { { dbg.location(1365,101); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:101: ( ws )? - int alt453=2; - try { dbg.enterSubRule(453); - try { dbg.enterDecision(453, decisionCanBacktrack[453]); + int alt454=2; + try { dbg.enterSubRule(454); + try { dbg.enterDecision(454, decisionCanBacktrack[454]); - int LA453_0 = input.LA(1); - if ( (LA453_0==COMMENT||LA453_0==NL||LA453_0==WS) ) { - alt453=1; + int LA454_0 = input.LA(1); + if ( (LA454_0==COMMENT||LA454_0==NL||LA454_0==WS) ) { + alt454=1; } - } finally {dbg.exitDecision(453);} + } finally {dbg.exitDecision(454);} - switch (alt453) { + switch (alt454) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:101: ws { dbg.location(1365,101); - pushFollow(FOLLOW_ws_in_cp_mixin_call9951); + pushFollow(FOLLOW_ws_in_cp_mixin_call9975); ws(); state._fsp--; if (state.failed) return; @@ -32122,31 +32323,31 @@ else if ( (LA456_0==GREATER||LA456_0==PLUS||LA456_0==TILDE) ) { break; } - } finally {dbg.exitSubRule(453);} + } finally {dbg.exitSubRule(454);} dbg.location(1365,105); - pushFollow(FOLLOW_combinator_in_cp_mixin_call9954); + pushFollow(FOLLOW_combinator_in_cp_mixin_call9978); combinator(); state._fsp--; if (state.failed) return;dbg.location(1365,116); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:116: ( ws )? - int alt454=2; - try { dbg.enterSubRule(454); - try { dbg.enterDecision(454, decisionCanBacktrack[454]); + int alt455=2; + try { dbg.enterSubRule(455); + try { dbg.enterDecision(455, decisionCanBacktrack[455]); - int LA454_0 = input.LA(1); - if ( (LA454_0==COMMENT||LA454_0==NL||LA454_0==WS) ) { - alt454=1; + int LA455_0 = input.LA(1); + if ( (LA455_0==COMMENT||LA455_0==NL||LA455_0==WS) ) { + alt455=1; } - } finally {dbg.exitDecision(454);} + } finally {dbg.exitDecision(455);} - switch (alt454) { + switch (alt455) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:116: ws { dbg.location(1365,116); - pushFollow(FOLLOW_ws_in_cp_mixin_call9956); + pushFollow(FOLLOW_ws_in_cp_mixin_call9980); ws(); state._fsp--; if (state.failed) return; @@ -32154,52 +32355,52 @@ else if ( (LA456_0==GREATER||LA456_0==PLUS||LA456_0==TILDE) ) { break; } - } finally {dbg.exitSubRule(454);} + } finally {dbg.exitSubRule(455);} dbg.location(1365,120); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:120: ( DOT cp_mixin_name | HASH | AT_IDENT | LESS_AND ) - int alt455=4; - try { dbg.enterSubRule(455); - try { dbg.enterDecision(455, decisionCanBacktrack[455]); + int alt456=4; + try { dbg.enterSubRule(456); + try { dbg.enterDecision(456, decisionCanBacktrack[456]); switch ( input.LA(1) ) { case DOT: { - alt455=1; + alt456=1; } break; case HASH: { - alt455=2; + alt456=2; } break; case AT_IDENT: { - alt455=3; + alt456=3; } break; case LESS_AND: { - alt455=4; + alt456=4; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 455, 0, input); + new NoViableAltException("", 456, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(455);} + } finally {dbg.exitDecision(456);} - switch (alt455) { + switch (alt456) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:121: DOT cp_mixin_name { dbg.location(1365,121); - match(input,DOT,FOLLOW_DOT_in_cp_mixin_call9960); if (state.failed) return;dbg.location(1365,125); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9962); + match(input,DOT,FOLLOW_DOT_in_cp_mixin_call9984); if (state.failed) return;dbg.location(1365,125); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call9986); cp_mixin_name(); state._fsp--; if (state.failed) return; @@ -32211,7 +32412,7 @@ else if ( (LA456_0==GREATER||LA456_0==PLUS||LA456_0==TILDE) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:141: HASH { dbg.location(1365,141); - match(input,HASH,FOLLOW_HASH_in_cp_mixin_call9966); if (state.failed) return; + match(input,HASH,FOLLOW_HASH_in_cp_mixin_call9990); if (state.failed) return; } break; case 3 : @@ -32220,7 +32421,7 @@ else if ( (LA456_0==GREATER||LA456_0==PLUS||LA456_0==TILDE) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:148: AT_IDENT { dbg.location(1365,148); - match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call9970); if (state.failed) return; + match(input,AT_IDENT,FOLLOW_AT_IDENT_in_cp_mixin_call9994); if (state.failed) return; } break; case 4 : @@ -32229,53 +32430,53 @@ else if ( (LA456_0==GREATER||LA456_0==PLUS||LA456_0==TILDE) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:159: LESS_AND { dbg.location(1365,159); - match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call9974); if (state.failed) return; + match(input,LESS_AND,FOLLOW_LESS_AND_in_cp_mixin_call9998); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(455);} + } finally {dbg.exitSubRule(456);} } break; default : - break loop456; + break loop457; } } - } finally {dbg.exitSubRule(456);} + } finally {dbg.exitSubRule(457);} dbg.location(1365,171); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:171: ( ( pseudo )=> pseudo | ( ( ws )? LPAREN )=> ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN ) )? - int alt460=3; - try { dbg.enterSubRule(460); - try { dbg.enterDecision(460, decisionCanBacktrack[460]); + int alt461=3; + try { dbg.enterSubRule(461); + try { dbg.enterDecision(461, decisionCanBacktrack[461]); - int LA460_0 = input.LA(1); - if ( (LA460_0==COLON||LA460_0==DCOLON) ) { - int LA460_1 = input.LA(2); + int LA461_0 = input.LA(1); + if ( (LA461_0==COLON||LA461_0==DCOLON) ) { + int LA461_1 = input.LA(2); if ( (synpred68_Css3()) ) { - alt460=1; + alt461=1; } } - else if ( (LA460_0==COMMENT||LA460_0==NL||LA460_0==WS) ) { - int LA460_2 = input.LA(2); + else if ( (LA461_0==COMMENT||LA461_0==NL||LA461_0==WS) ) { + int LA461_2 = input.LA(2); if ( (synpred69_Css3()) ) { - alt460=2; + alt461=2; } } - else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { - alt460=2; + else if ( (LA461_0==LPAREN) && (synpred69_Css3())) { + alt461=2; } - } finally {dbg.exitDecision(460);} + } finally {dbg.exitDecision(461);} - switch (alt460) { + switch (alt461) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:172: ( pseudo )=> pseudo { dbg.location(1365,182); - pushFollow(FOLLOW_pseudo_in_cp_mixin_call9984); + pushFollow(FOLLOW_pseudo_in_cp_mixin_call10008); pseudo(); state._fsp--; if (state.failed) return; @@ -32294,24 +32495,24 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { { dbg.location(1365,206); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:206: ( ws )? - int alt457=2; - try { dbg.enterSubRule(457); - try { dbg.enterDecision(457, decisionCanBacktrack[457]); + int alt458=2; + try { dbg.enterSubRule(458); + try { dbg.enterDecision(458, decisionCanBacktrack[458]); - int LA457_0 = input.LA(1); - if ( (LA457_0==COMMENT||LA457_0==NL||LA457_0==WS) ) { - alt457=1; + int LA458_0 = input.LA(1); + if ( (LA458_0==COMMENT||LA458_0==NL||LA458_0==WS) ) { + alt458=1; } - } finally {dbg.exitDecision(457);} + } finally {dbg.exitDecision(458);} - switch (alt457) { + switch (alt458) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:206: ws { dbg.location(1365,206); - pushFollow(FOLLOW_ws_in_cp_mixin_call9996); + pushFollow(FOLLOW_ws_in_cp_mixin_call10020); ws(); state._fsp--; if (state.failed) return; @@ -32319,28 +32520,28 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { break; } - } finally {dbg.exitSubRule(457);} + } finally {dbg.exitSubRule(458);} dbg.location(1365,210); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call9999); if (state.failed) return;dbg.location(1365,217); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call10023); if (state.failed) return;dbg.location(1365,217); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:217: ( ws )? - int alt458=2; - try { dbg.enterSubRule(458); - try { dbg.enterDecision(458, decisionCanBacktrack[458]); + int alt459=2; + try { dbg.enterSubRule(459); + try { dbg.enterDecision(459, decisionCanBacktrack[459]); - int LA458_0 = input.LA(1); - if ( (LA458_0==COMMENT||LA458_0==NL||LA458_0==WS) ) { - alt458=1; + int LA459_0 = input.LA(1); + if ( (LA459_0==COMMENT||LA459_0==NL||LA459_0==WS) ) { + alt459=1; } - } finally {dbg.exitDecision(458);} + } finally {dbg.exitDecision(459);} - switch (alt458) { + switch (alt459) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:217: ws { dbg.location(1365,217); - pushFollow(FOLLOW_ws_in_cp_mixin_call10001); + pushFollow(FOLLOW_ws_in_cp_mixin_call10025); ws(); state._fsp--; if (state.failed) return; @@ -32348,27 +32549,27 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { break; } - } finally {dbg.exitSubRule(458);} + } finally {dbg.exitSubRule(459);} dbg.location(1365,221); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:221: ( cp_mixin_call_args )? - int alt459=2; - try { dbg.enterSubRule(459); - try { dbg.enterDecision(459, decisionCanBacktrack[459]); + int alt460=2; + try { dbg.enterSubRule(460); + try { dbg.enterDecision(460, decisionCanBacktrack[460]); - int LA459_0 = input.LA(1); - if ( ((LA459_0 >= ANGLE && LA459_0 <= AT_SIGN)||(LA459_0 >= BOTTOMCENTER_SYM && LA459_0 <= BOTTOMRIGHT_SYM)||LA459_0==CHARSET_SYM||LA459_0==COUNTER_STYLE_SYM||LA459_0==DIMENSION||LA459_0==EMS||LA459_0==EXS||(LA459_0 >= FONT_FACE_SYM && LA459_0 <= FREQ)||LA459_0==GEN||(LA459_0 >= HASH && LA459_0 <= HASH_SYMBOL)||(LA459_0 >= IDENT && LA459_0 <= IMPORT_SYM)||(LA459_0 >= LBRACE && LA459_0 <= LENGTH)||(LA459_0 >= LESS_AND && LA459_0 <= LESS_JS_STRING)||LA459_0==LPAREN||(LA459_0 >= MEDIA_SYM && LA459_0 <= MOZ_DOCUMENT_SYM)||LA459_0==NAMESPACE_SYM||(LA459_0 >= NOT && LA459_0 <= NUMBER)||(LA459_0 >= PAGE_SYM && LA459_0 <= PERCENTAGE_SYMBOL)||LA459_0==PLUS||(LA459_0 >= REM && LA459_0 <= RIGHTTOP_SYM)||(LA459_0 >= SASS_AT_ROOT && LA459_0 <= SASS_DEBUG)||(LA459_0 >= SASS_EACH && LA459_0 <= SASS_ELSE)||LA459_0==SASS_EXTEND||(LA459_0 >= SASS_FOR && LA459_0 <= SASS_FUNCTION)||(LA459_0 >= SASS_IF && LA459_0 <= SASS_MIXIN)||(LA459_0 >= SASS_RETURN && LA459_0 <= SASS_WHILE)||LA459_0==STRING||(LA459_0 >= TILDE && LA459_0 <= TOPRIGHT_SYM)||(LA459_0 >= URANGE && LA459_0 <= URI)||LA459_0==VARIABLE||LA459_0==WEBKIT_KEYFRAMES_SYM) ) { - alt459=1; + int LA460_0 = input.LA(1); + if ( ((LA460_0 >= ANGLE && LA460_0 <= AT_SIGN)||(LA460_0 >= BOTTOMCENTER_SYM && LA460_0 <= BOTTOMRIGHT_SYM)||LA460_0==CHARSET_SYM||LA460_0==COUNTER_STYLE_SYM||LA460_0==DIMENSION||LA460_0==EMS||LA460_0==EXS||(LA460_0 >= FONT_FACE_SYM && LA460_0 <= FREQ)||LA460_0==GEN||(LA460_0 >= HASH && LA460_0 <= HASH_SYMBOL)||(LA460_0 >= IDENT && LA460_0 <= IMPORT_SYM)||LA460_0==KEYFRAMES_SYM||(LA460_0 >= LBRACE && LA460_0 <= LENGTH)||(LA460_0 >= LESS_AND && LA460_0 <= LESS_JS_STRING)||LA460_0==LPAREN||(LA460_0 >= MEDIA_SYM && LA460_0 <= MOZ_DOCUMENT_SYM)||LA460_0==NAMESPACE_SYM||(LA460_0 >= NOT && LA460_0 <= NUMBER)||(LA460_0 >= PAGE_SYM && LA460_0 <= PERCENTAGE_SYMBOL)||LA460_0==PLUS||(LA460_0 >= REM && LA460_0 <= RIGHTTOP_SYM)||(LA460_0 >= SASS_AT_ROOT && LA460_0 <= SASS_DEBUG)||(LA460_0 >= SASS_EACH && LA460_0 <= SASS_ELSE)||LA460_0==SASS_EXTEND||(LA460_0 >= SASS_FOR && LA460_0 <= SASS_FUNCTION)||(LA460_0 >= SASS_IF && LA460_0 <= SASS_MIXIN)||(LA460_0 >= SASS_RETURN && LA460_0 <= SASS_WHILE)||LA460_0==STRING||(LA460_0 >= TILDE && LA460_0 <= TOPRIGHT_SYM)||(LA460_0 >= URANGE && LA460_0 <= URI)||LA460_0==VARIABLE||LA460_0==WEBKIT_KEYFRAMES_SYM) ) { + alt460=1; } - } finally {dbg.exitDecision(459);} + } finally {dbg.exitDecision(460);} - switch (alt459) { + switch (alt460) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:221: cp_mixin_call_args { dbg.location(1365,221); - pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call10004); + pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call10028); cp_mixin_call_args(); state._fsp--; if (state.failed) return; @@ -32376,16 +32577,16 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { break; } - } finally {dbg.exitSubRule(459);} + } finally {dbg.exitSubRule(460);} dbg.location(1365,241); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call10007); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call10031); if (state.failed) return; } } break; } - } finally {dbg.exitSubRule(460);} + } finally {dbg.exitSubRule(461);} } break; @@ -32399,31 +32600,31 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_mixin_call", "isScssSource()"); }dbg.location(1367,27); - match(input,SASS_INCLUDE,FOLLOW_SASS_INCLUDE_in_cp_mixin_call10032); if (state.failed) return;dbg.location(1367,40); - pushFollow(FOLLOW_ws_in_cp_mixin_call10034); + match(input,SASS_INCLUDE,FOLLOW_SASS_INCLUDE_in_cp_mixin_call10056); if (state.failed) return;dbg.location(1367,40); + pushFollow(FOLLOW_ws_in_cp_mixin_call10058); ws(); state._fsp--; if (state.failed) return;dbg.location(1367,43); - pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call10036); + pushFollow(FOLLOW_cp_mixin_name_in_cp_mixin_call10060); cp_mixin_name(); state._fsp--; if (state.failed) return;dbg.location(1367,57); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:57: ( ( ws )? LPAREN ( ws )? ( cp_mixin_call_args )? RPAREN )? - int alt464=2; - try { dbg.enterSubRule(464); - try { dbg.enterDecision(464, decisionCanBacktrack[464]); + int alt465=2; + try { dbg.enterSubRule(465); + try { dbg.enterDecision(465, decisionCanBacktrack[465]); try { isCyclicDecision = true; - alt464 = dfa464.predict(input); + alt465 = dfa465.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(464);} + } finally {dbg.exitDecision(465);} - switch (alt464) { + switch (alt465) { case 1 : dbg.enterAlt(1); @@ -32431,24 +32632,24 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { { dbg.location(1367,58); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:58: ( ws )? - int alt461=2; - try { dbg.enterSubRule(461); - try { dbg.enterDecision(461, decisionCanBacktrack[461]); + int alt462=2; + try { dbg.enterSubRule(462); + try { dbg.enterDecision(462, decisionCanBacktrack[462]); - int LA461_0 = input.LA(1); - if ( (LA461_0==COMMENT||LA461_0==NL||LA461_0==WS) ) { - alt461=1; + int LA462_0 = input.LA(1); + if ( (LA462_0==COMMENT||LA462_0==NL||LA462_0==WS) ) { + alt462=1; } - } finally {dbg.exitDecision(461);} + } finally {dbg.exitDecision(462);} - switch (alt461) { + switch (alt462) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:58: ws { dbg.location(1367,58); - pushFollow(FOLLOW_ws_in_cp_mixin_call10039); + pushFollow(FOLLOW_ws_in_cp_mixin_call10063); ws(); state._fsp--; if (state.failed) return; @@ -32456,28 +32657,28 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { break; } - } finally {dbg.exitSubRule(461);} + } finally {dbg.exitSubRule(462);} dbg.location(1367,62); - match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call10042); if (state.failed) return;dbg.location(1367,69); + match(input,LPAREN,FOLLOW_LPAREN_in_cp_mixin_call10066); if (state.failed) return;dbg.location(1367,69); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:69: ( ws )? - int alt462=2; - try { dbg.enterSubRule(462); - try { dbg.enterDecision(462, decisionCanBacktrack[462]); + int alt463=2; + try { dbg.enterSubRule(463); + try { dbg.enterDecision(463, decisionCanBacktrack[463]); - int LA462_0 = input.LA(1); - if ( (LA462_0==COMMENT||LA462_0==NL||LA462_0==WS) ) { - alt462=1; + int LA463_0 = input.LA(1); + if ( (LA463_0==COMMENT||LA463_0==NL||LA463_0==WS) ) { + alt463=1; } - } finally {dbg.exitDecision(462);} + } finally {dbg.exitDecision(463);} - switch (alt462) { + switch (alt463) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:69: ws { dbg.location(1367,69); - pushFollow(FOLLOW_ws_in_cp_mixin_call10044); + pushFollow(FOLLOW_ws_in_cp_mixin_call10068); ws(); state._fsp--; if (state.failed) return; @@ -32485,27 +32686,27 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { break; } - } finally {dbg.exitSubRule(462);} + } finally {dbg.exitSubRule(463);} dbg.location(1367,73); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:73: ( cp_mixin_call_args )? - int alt463=2; - try { dbg.enterSubRule(463); - try { dbg.enterDecision(463, decisionCanBacktrack[463]); + int alt464=2; + try { dbg.enterSubRule(464); + try { dbg.enterDecision(464, decisionCanBacktrack[464]); - int LA463_0 = input.LA(1); - if ( ((LA463_0 >= ANGLE && LA463_0 <= AT_SIGN)||(LA463_0 >= BOTTOMCENTER_SYM && LA463_0 <= BOTTOMRIGHT_SYM)||LA463_0==CHARSET_SYM||LA463_0==COUNTER_STYLE_SYM||LA463_0==DIMENSION||LA463_0==EMS||LA463_0==EXS||(LA463_0 >= FONT_FACE_SYM && LA463_0 <= FREQ)||LA463_0==GEN||(LA463_0 >= HASH && LA463_0 <= HASH_SYMBOL)||(LA463_0 >= IDENT && LA463_0 <= IMPORT_SYM)||(LA463_0 >= LBRACE && LA463_0 <= LENGTH)||(LA463_0 >= LESS_AND && LA463_0 <= LESS_JS_STRING)||LA463_0==LPAREN||(LA463_0 >= MEDIA_SYM && LA463_0 <= MOZ_DOCUMENT_SYM)||LA463_0==NAMESPACE_SYM||(LA463_0 >= NOT && LA463_0 <= NUMBER)||(LA463_0 >= PAGE_SYM && LA463_0 <= PERCENTAGE_SYMBOL)||LA463_0==PLUS||(LA463_0 >= REM && LA463_0 <= RIGHTTOP_SYM)||(LA463_0 >= SASS_AT_ROOT && LA463_0 <= SASS_DEBUG)||(LA463_0 >= SASS_EACH && LA463_0 <= SASS_ELSE)||LA463_0==SASS_EXTEND||(LA463_0 >= SASS_FOR && LA463_0 <= SASS_FUNCTION)||(LA463_0 >= SASS_IF && LA463_0 <= SASS_MIXIN)||(LA463_0 >= SASS_RETURN && LA463_0 <= SASS_WHILE)||LA463_0==STRING||(LA463_0 >= TILDE && LA463_0 <= TOPRIGHT_SYM)||(LA463_0 >= URANGE && LA463_0 <= URI)||LA463_0==VARIABLE||LA463_0==WEBKIT_KEYFRAMES_SYM) ) { - alt463=1; + int LA464_0 = input.LA(1); + if ( ((LA464_0 >= ANGLE && LA464_0 <= AT_SIGN)||(LA464_0 >= BOTTOMCENTER_SYM && LA464_0 <= BOTTOMRIGHT_SYM)||LA464_0==CHARSET_SYM||LA464_0==COUNTER_STYLE_SYM||LA464_0==DIMENSION||LA464_0==EMS||LA464_0==EXS||(LA464_0 >= FONT_FACE_SYM && LA464_0 <= FREQ)||LA464_0==GEN||(LA464_0 >= HASH && LA464_0 <= HASH_SYMBOL)||(LA464_0 >= IDENT && LA464_0 <= IMPORT_SYM)||LA464_0==KEYFRAMES_SYM||(LA464_0 >= LBRACE && LA464_0 <= LENGTH)||(LA464_0 >= LESS_AND && LA464_0 <= LESS_JS_STRING)||LA464_0==LPAREN||(LA464_0 >= MEDIA_SYM && LA464_0 <= MOZ_DOCUMENT_SYM)||LA464_0==NAMESPACE_SYM||(LA464_0 >= NOT && LA464_0 <= NUMBER)||(LA464_0 >= PAGE_SYM && LA464_0 <= PERCENTAGE_SYMBOL)||LA464_0==PLUS||(LA464_0 >= REM && LA464_0 <= RIGHTTOP_SYM)||(LA464_0 >= SASS_AT_ROOT && LA464_0 <= SASS_DEBUG)||(LA464_0 >= SASS_EACH && LA464_0 <= SASS_ELSE)||LA464_0==SASS_EXTEND||(LA464_0 >= SASS_FOR && LA464_0 <= SASS_FUNCTION)||(LA464_0 >= SASS_IF && LA464_0 <= SASS_MIXIN)||(LA464_0 >= SASS_RETURN && LA464_0 <= SASS_WHILE)||LA464_0==STRING||(LA464_0 >= TILDE && LA464_0 <= TOPRIGHT_SYM)||(LA464_0 >= URANGE && LA464_0 <= URI)||LA464_0==VARIABLE||LA464_0==WEBKIT_KEYFRAMES_SYM) ) { + alt464=1; } - } finally {dbg.exitDecision(463);} + } finally {dbg.exitDecision(464);} - switch (alt463) { + switch (alt464) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:73: cp_mixin_call_args { dbg.location(1367,73); - pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call10047); + pushFollow(FOLLOW_cp_mixin_call_args_in_cp_mixin_call10071); cp_mixin_call_args(); state._fsp--; if (state.failed) return; @@ -32513,31 +32714,31 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { break; } - } finally {dbg.exitSubRule(463);} + } finally {dbg.exitSubRule(464);} dbg.location(1367,93); - match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call10050); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_cp_mixin_call10074); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(464);} + } finally {dbg.exitSubRule(465);} dbg.location(1367,102); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:102: ( ( ws )? cp_mixin_block )? - int alt466=2; - try { dbg.enterSubRule(466); - try { dbg.enterDecision(466, decisionCanBacktrack[466]); + int alt467=2; + try { dbg.enterSubRule(467); + try { dbg.enterDecision(467, decisionCanBacktrack[467]); try { isCyclicDecision = true; - alt466 = dfa466.predict(input); + alt467 = dfa467.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(466);} + } finally {dbg.exitDecision(467);} - switch (alt466) { + switch (alt467) { case 1 : dbg.enterAlt(1); @@ -32545,24 +32746,24 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { { dbg.location(1367,103); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:103: ( ws )? - int alt465=2; - try { dbg.enterSubRule(465); - try { dbg.enterDecision(465, decisionCanBacktrack[465]); + int alt466=2; + try { dbg.enterSubRule(466); + try { dbg.enterDecision(466, decisionCanBacktrack[466]); - int LA465_0 = input.LA(1); - if ( (LA465_0==COMMENT||LA465_0==NL||LA465_0==WS) ) { - alt465=1; + int LA466_0 = input.LA(1); + if ( (LA466_0==COMMENT||LA466_0==NL||LA466_0==WS) ) { + alt466=1; } - } finally {dbg.exitDecision(465);} + } finally {dbg.exitDecision(466);} - switch (alt465) { + switch (alt466) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1367:103: ws { dbg.location(1367,103); - pushFollow(FOLLOW_ws_in_cp_mixin_call10055); + pushFollow(FOLLOW_ws_in_cp_mixin_call10079); ws(); state._fsp--; if (state.failed) return; @@ -32570,9 +32771,9 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { break; } - } finally {dbg.exitSubRule(465);} + } finally {dbg.exitSubRule(466);} dbg.location(1367,107); - pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_call10058); + pushFollow(FOLLOW_cp_mixin_block_in_cp_mixin_call10082); cp_mixin_block(); state._fsp--; if (state.failed) return; @@ -32580,13 +32781,13 @@ else if ( (LA460_0==LPAREN) && (synpred69_Css3())) { break; } - } finally {dbg.exitSubRule(466);} + } finally {dbg.exitSubRule(467);} } break; } - } finally {dbg.exitSubRule(467);} + } finally {dbg.exitSubRule(468);} } @@ -32627,26 +32828,26 @@ public final void cp_mixin_block() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1373:5: LBRACE ( ws )? syncToFollow ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? RBRACE { dbg.location(1373,5); - match(input,LBRACE,FOLLOW_LBRACE_in_cp_mixin_block10087); if (state.failed) return;dbg.location(1373,12); + match(input,LBRACE,FOLLOW_LBRACE_in_cp_mixin_block10111); if (state.failed) return;dbg.location(1373,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1373:12: ( ws )? - int alt468=2; - try { dbg.enterSubRule(468); - try { dbg.enterDecision(468, decisionCanBacktrack[468]); + int alt469=2; + try { dbg.enterSubRule(469); + try { dbg.enterDecision(469, decisionCanBacktrack[469]); - int LA468_0 = input.LA(1); - if ( (LA468_0==COMMENT||LA468_0==NL||LA468_0==WS) ) { - alt468=1; + int LA469_0 = input.LA(1); + if ( (LA469_0==COMMENT||LA469_0==NL||LA469_0==WS) ) { + alt469=1; } - } finally {dbg.exitDecision(468);} + } finally {dbg.exitDecision(469);} - switch (alt468) { + switch (alt469) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1373:12: ws { dbg.location(1373,12); - pushFollow(FOLLOW_ws_in_cp_mixin_block10089); + pushFollow(FOLLOW_ws_in_cp_mixin_block10113); ws(); state._fsp--; if (state.failed) return; @@ -32654,58 +32855,58 @@ public final void cp_mixin_block() throws RecognitionException { break; } - } finally {dbg.exitSubRule(468);} + } finally {dbg.exitSubRule(469);} dbg.location(1373,16); - pushFollow(FOLLOW_syncToFollow_in_cp_mixin_block10092); + pushFollow(FOLLOW_syncToFollow_in_cp_mixin_block10116); syncToFollow(); state._fsp--; if (state.failed) return;dbg.location(1374,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:9: ( declarations | ( webkitKeyframeSelectors )=> ( webkitKeyframesBlock ( ws )? )* )? - int alt471=3; - try { dbg.enterSubRule(471); - try { dbg.enterDecision(471, decisionCanBacktrack[471]); + int alt472=3; + try { dbg.enterSubRule(472); + try { dbg.enterDecision(472, decisionCanBacktrack[472]); - int LA471_0 = input.LA(1); - if ( ((LA471_0 >= AT_IDENT && LA471_0 <= AT_SIGN)||(LA471_0 >= BOTTOMCENTER_SYM && LA471_0 <= BOTTOMRIGHT_SYM)||(LA471_0 >= CHARSET_SYM && LA471_0 <= COLON)||LA471_0==CONTAINER_SYM||LA471_0==COUNTER_STYLE_SYM||(LA471_0 >= DCOLON && LA471_0 <= DOT)||LA471_0==FONT_FACE_SYM||(LA471_0 >= GEN && LA471_0 <= GREATER)||(LA471_0 >= HASH && LA471_0 <= HASH_SYMBOL)||LA471_0==IMPORT_SYM||LA471_0==LAYER_SYM||(LA471_0 >= LBRACKET && LA471_0 <= LEFTTOP_SYM)||LA471_0==LESS_AND||(LA471_0 >= MEDIA_SYM && LA471_0 <= MOZ_DOCUMENT_SYM)||LA471_0==NAMESPACE_SYM||LA471_0==PAGE_SYM||(LA471_0 >= PIPE && LA471_0 <= PLUS)||(LA471_0 >= RIGHTBOTTOM_SYM && LA471_0 <= RIGHTTOP_SYM)||LA471_0==SASS_AT_ROOT||LA471_0==SASS_DEBUG||(LA471_0 >= SASS_EACH && LA471_0 <= SASS_ELSE)||(LA471_0 >= SASS_ERROR && LA471_0 <= SASS_FUNCTION)||(LA471_0 >= SASS_IF && LA471_0 <= SASS_MIXIN)||(LA471_0 >= SASS_RETURN && LA471_0 <= SEMI)||LA471_0==STAR||LA471_0==SUPPORTS_SYM||LA471_0==TILDE||(LA471_0 >= TOPCENTER_SYM && LA471_0 <= TOPRIGHT_SYM)||LA471_0==VARIABLE||LA471_0==WEBKIT_KEYFRAMES_SYM) ) { - alt471=1; + int LA472_0 = input.LA(1); + if ( ((LA472_0 >= AT_IDENT && LA472_0 <= AT_SIGN)||(LA472_0 >= BOTTOMCENTER_SYM && LA472_0 <= BOTTOMRIGHT_SYM)||(LA472_0 >= CHARSET_SYM && LA472_0 <= COLON)||LA472_0==CONTAINER_SYM||LA472_0==COUNTER_STYLE_SYM||(LA472_0 >= DCOLON && LA472_0 <= DOT)||LA472_0==FONT_FACE_SYM||(LA472_0 >= GEN && LA472_0 <= GREATER)||(LA472_0 >= HASH && LA472_0 <= HASH_SYMBOL)||LA472_0==IMPORT_SYM||LA472_0==KEYFRAMES_SYM||LA472_0==LAYER_SYM||(LA472_0 >= LBRACKET && LA472_0 <= LEFTTOP_SYM)||LA472_0==LESS_AND||(LA472_0 >= MEDIA_SYM && LA472_0 <= MOZ_DOCUMENT_SYM)||LA472_0==NAMESPACE_SYM||LA472_0==PAGE_SYM||(LA472_0 >= PIPE && LA472_0 <= PLUS)||(LA472_0 >= RIGHTBOTTOM_SYM && LA472_0 <= RIGHTTOP_SYM)||LA472_0==SASS_AT_ROOT||LA472_0==SASS_DEBUG||(LA472_0 >= SASS_EACH && LA472_0 <= SASS_ELSE)||(LA472_0 >= SASS_ERROR && LA472_0 <= SASS_FUNCTION)||(LA472_0 >= SASS_IF && LA472_0 <= SASS_MIXIN)||(LA472_0 >= SASS_RETURN && LA472_0 <= SEMI)||LA472_0==STAR||LA472_0==SUPPORTS_SYM||LA472_0==TILDE||(LA472_0 >= TOPCENTER_SYM && LA472_0 <= TOPRIGHT_SYM)||LA472_0==VARIABLE||LA472_0==WEBKIT_KEYFRAMES_SYM) ) { + alt472=1; } - else if ( (LA471_0==IDENT) ) { - int LA471_4 = input.LA(2); + else if ( (LA472_0==IDENT) ) { + int LA472_4 = input.LA(2); if ( (true) ) { - alt471=1; + alt472=1; } else if ( (((evalPredicate(tokenNameEquals("from"),"tokenNameEquals(\"from\")")||evalPredicate(tokenNameEquals("to"),"tokenNameEquals(\"to\")"))&&synpred70_Css3())) ) { - alt471=2; + alt472=2; } } - else if ( (LA471_0==SASS_CONTENT) ) { - int LA471_38 = input.LA(2); + else if ( (LA472_0==SASS_CONTENT) ) { + int LA472_39 = input.LA(2); if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))||((evalPredicate(isCssPreprocessorSource() && !tokenNameStartsWith("--"),"isCssPreprocessorSource() && !tokenNameStartsWith(\"--\")")&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))||((evalPredicate(tokenNameStartsWith("--"),"tokenNameStartsWith(\"--\")")&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))||evalPredicate(isLessSource(),"isLessSource()")||(evalPredicate(isLessSource(),"isLessSource()")&&evalPredicate(isScssSource(),"isScssSource()"))||evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt471=1; + alt472=1; } else if ( ((synpred70_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) { - alt471=2; + alt472=2; } } - else if ( (LA471_0==PERCENTAGE) && (synpred70_Css3())) { - alt471=2; + else if ( (LA472_0==PERCENTAGE) && (synpred70_Css3())) { + alt472=2; } - else if ( (LA471_0==RBRACE) ) { - int LA471_44 = input.LA(2); + else if ( (LA472_0==RBRACE) ) { + int LA472_45 = input.LA(2); if ( (synpred70_Css3()) ) { - alt471=2; + alt472=2; } } - } finally {dbg.exitDecision(471);} + } finally {dbg.exitDecision(472);} - switch (alt471) { + switch (alt472) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:10: declarations { dbg.location(1374,10); - pushFollow(FOLLOW_declarations_in_cp_mixin_block10103); + pushFollow(FOLLOW_declarations_in_cp_mixin_block10127); declarations(); state._fsp--; if (state.failed) return; @@ -32718,50 +32919,50 @@ else if ( (LA471_0==RBRACE) ) { { dbg.location(1375,3); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:3: ( webkitKeyframesBlock ( ws )? )* - try { dbg.enterSubRule(470); + try { dbg.enterSubRule(471); - loop470: + loop471: while (true) { - int alt470=2; - try { dbg.enterDecision(470, decisionCanBacktrack[470]); + int alt471=2; + try { dbg.enterDecision(471, decisionCanBacktrack[471]); - int LA470_0 = input.LA(1); - if ( (LA470_0==IDENT||LA470_0==PERCENTAGE||LA470_0==SASS_CONTENT) ) { - alt470=1; + int LA471_0 = input.LA(1); + if ( (LA471_0==IDENT||LA471_0==PERCENTAGE||LA471_0==SASS_CONTENT) ) { + alt471=1; } - } finally {dbg.exitDecision(470);} + } finally {dbg.exitDecision(471);} - switch (alt470) { + switch (alt471) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:5: webkitKeyframesBlock ( ws )? { dbg.location(1375,5); - pushFollow(FOLLOW_webkitKeyframesBlock_in_cp_mixin_block10118); + pushFollow(FOLLOW_webkitKeyframesBlock_in_cp_mixin_block10142); webkitKeyframesBlock(); state._fsp--; if (state.failed) return;dbg.location(1375,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:26: ( ws )? - int alt469=2; - try { dbg.enterSubRule(469); - try { dbg.enterDecision(469, decisionCanBacktrack[469]); + int alt470=2; + try { dbg.enterSubRule(470); + try { dbg.enterDecision(470, decisionCanBacktrack[470]); - int LA469_0 = input.LA(1); - if ( (LA469_0==COMMENT||LA469_0==NL||LA469_0==WS) ) { - alt469=1; + int LA470_0 = input.LA(1); + if ( (LA470_0==COMMENT||LA470_0==NL||LA470_0==WS) ) { + alt470=1; } - } finally {dbg.exitDecision(469);} + } finally {dbg.exitDecision(470);} - switch (alt469) { + switch (alt470) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1375:26: ws { dbg.location(1375,26); - pushFollow(FOLLOW_ws_in_cp_mixin_block10120); + pushFollow(FOLLOW_ws_in_cp_mixin_block10144); ws(); state._fsp--; if (state.failed) return; @@ -32769,24 +32970,24 @@ else if ( (LA471_0==RBRACE) ) { break; } - } finally {dbg.exitSubRule(469);} + } finally {dbg.exitSubRule(470);} } break; default : - break loop470; + break loop471; } } - } finally {dbg.exitSubRule(470);} + } finally {dbg.exitSubRule(471);} } break; } - } finally {dbg.exitSubRule(471);} + } finally {dbg.exitSubRule(472);} dbg.location(1376,5); - match(input,RBRACE,FOLLOW_RBRACE_in_cp_mixin_block10132); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_cp_mixin_block10156); if (state.failed) return; } } @@ -32826,7 +33027,7 @@ public final void cp_mixin_name() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1381:5: IDENT { dbg.location(1381,5); - match(input,IDENT,FOLLOW_IDENT_in_cp_mixin_name10153); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_cp_mixin_name10177); if (state.failed) return; } } @@ -32866,33 +33067,33 @@ public final void cp_mixin_call_args() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:5: cp_mixin_call_arg ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* ( CP_DOTS ( ws )? )? ( SEMI )? { dbg.location(1388,5); - pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args10184); + pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args10208); cp_mixin_call_arg(); state._fsp--; if (state.failed) return;dbg.location(1388,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:23: ( ( COMMA | SEMI ) ( ws )? cp_mixin_call_arg )* - try { dbg.enterSubRule(473); + try { dbg.enterSubRule(474); - loop473: + loop474: while (true) { - int alt473=2; - try { dbg.enterDecision(473, decisionCanBacktrack[473]); + int alt474=2; + try { dbg.enterDecision(474, decisionCanBacktrack[474]); - int LA473_0 = input.LA(1); - if ( (LA473_0==SEMI) ) { - int LA473_2 = input.LA(2); - if ( ((LA473_2 >= ANGLE && LA473_2 <= AT_SIGN)||(LA473_2 >= BOTTOMCENTER_SYM && LA473_2 <= BOTTOMRIGHT_SYM)||LA473_2==CHARSET_SYM||LA473_2==COMMENT||LA473_2==COUNTER_STYLE_SYM||LA473_2==DIMENSION||LA473_2==EMS||LA473_2==EXS||(LA473_2 >= FONT_FACE_SYM && LA473_2 <= FREQ)||LA473_2==GEN||(LA473_2 >= HASH && LA473_2 <= HASH_SYMBOL)||(LA473_2 >= IDENT && LA473_2 <= IMPORT_SYM)||(LA473_2 >= LBRACE && LA473_2 <= LENGTH)||(LA473_2 >= LESS_AND && LA473_2 <= LESS_JS_STRING)||LA473_2==LPAREN||(LA473_2 >= MEDIA_SYM && LA473_2 <= MOZ_DOCUMENT_SYM)||(LA473_2 >= NAMESPACE_SYM && LA473_2 <= NL)||(LA473_2 >= NOT && LA473_2 <= NUMBER)||(LA473_2 >= PAGE_SYM && LA473_2 <= PERCENTAGE_SYMBOL)||LA473_2==PLUS||(LA473_2 >= REM && LA473_2 <= RIGHTTOP_SYM)||(LA473_2 >= SASS_AT_ROOT && LA473_2 <= SASS_DEBUG)||(LA473_2 >= SASS_EACH && LA473_2 <= SASS_ELSE)||LA473_2==SASS_EXTEND||(LA473_2 >= SASS_FOR && LA473_2 <= SASS_FUNCTION)||(LA473_2 >= SASS_IF && LA473_2 <= SASS_MIXIN)||(LA473_2 >= SASS_RETURN && LA473_2 <= SASS_WHILE)||LA473_2==STRING||(LA473_2 >= TILDE && LA473_2 <= TOPRIGHT_SYM)||(LA473_2 >= URANGE && LA473_2 <= URI)||LA473_2==VARIABLE||(LA473_2 >= WEBKIT_KEYFRAMES_SYM && LA473_2 <= WS)) ) { - alt473=1; + int LA474_0 = input.LA(1); + if ( (LA474_0==SEMI) ) { + int LA474_2 = input.LA(2); + if ( ((LA474_2 >= ANGLE && LA474_2 <= AT_SIGN)||(LA474_2 >= BOTTOMCENTER_SYM && LA474_2 <= BOTTOMRIGHT_SYM)||LA474_2==CHARSET_SYM||LA474_2==COMMENT||LA474_2==COUNTER_STYLE_SYM||LA474_2==DIMENSION||LA474_2==EMS||LA474_2==EXS||(LA474_2 >= FONT_FACE_SYM && LA474_2 <= FREQ)||LA474_2==GEN||(LA474_2 >= HASH && LA474_2 <= HASH_SYMBOL)||(LA474_2 >= IDENT && LA474_2 <= IMPORT_SYM)||LA474_2==KEYFRAMES_SYM||(LA474_2 >= LBRACE && LA474_2 <= LENGTH)||(LA474_2 >= LESS_AND && LA474_2 <= LESS_JS_STRING)||LA474_2==LPAREN||(LA474_2 >= MEDIA_SYM && LA474_2 <= MOZ_DOCUMENT_SYM)||(LA474_2 >= NAMESPACE_SYM && LA474_2 <= NL)||(LA474_2 >= NOT && LA474_2 <= NUMBER)||(LA474_2 >= PAGE_SYM && LA474_2 <= PERCENTAGE_SYMBOL)||LA474_2==PLUS||(LA474_2 >= REM && LA474_2 <= RIGHTTOP_SYM)||(LA474_2 >= SASS_AT_ROOT && LA474_2 <= SASS_DEBUG)||(LA474_2 >= SASS_EACH && LA474_2 <= SASS_ELSE)||LA474_2==SASS_EXTEND||(LA474_2 >= SASS_FOR && LA474_2 <= SASS_FUNCTION)||(LA474_2 >= SASS_IF && LA474_2 <= SASS_MIXIN)||(LA474_2 >= SASS_RETURN && LA474_2 <= SASS_WHILE)||LA474_2==STRING||(LA474_2 >= TILDE && LA474_2 <= TOPRIGHT_SYM)||(LA474_2 >= URANGE && LA474_2 <= URI)||LA474_2==VARIABLE||(LA474_2 >= WEBKIT_KEYFRAMES_SYM && LA474_2 <= WS)) ) { + alt474=1; } } - else if ( (LA473_0==COMMA) ) { - alt473=1; + else if ( (LA474_0==COMMA) ) { + alt474=1; } - } finally {dbg.exitDecision(473);} + } finally {dbg.exitDecision(474);} - switch (alt473) { + switch (alt474) { case 1 : dbg.enterAlt(1); @@ -32911,24 +33112,24 @@ else if ( (LA473_0==COMMA) ) { throw mse; }dbg.location(1388,40); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:40: ( ws )? - int alt472=2; - try { dbg.enterSubRule(472); - try { dbg.enterDecision(472, decisionCanBacktrack[472]); + int alt473=2; + try { dbg.enterSubRule(473); + try { dbg.enterDecision(473, decisionCanBacktrack[473]); - int LA472_0 = input.LA(1); - if ( (LA472_0==COMMENT||LA472_0==NL||LA472_0==WS) ) { - alt472=1; + int LA473_0 = input.LA(1); + if ( (LA473_0==COMMENT||LA473_0==NL||LA473_0==WS) ) { + alt473=1; } - } finally {dbg.exitDecision(472);} + } finally {dbg.exitDecision(473);} - switch (alt472) { + switch (alt473) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:40: ws { dbg.location(1388,40); - pushFollow(FOLLOW_ws_in_cp_mixin_call_args10196); + pushFollow(FOLLOW_ws_in_cp_mixin_call_args10220); ws(); state._fsp--; if (state.failed) return; @@ -32936,9 +33137,9 @@ else if ( (LA473_0==COMMA) ) { break; } - } finally {dbg.exitSubRule(472);} + } finally {dbg.exitSubRule(473);} dbg.location(1388,44); - pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args10199); + pushFollow(FOLLOW_cp_mixin_call_arg_in_cp_mixin_call_args10223); cp_mixin_call_arg(); state._fsp--; if (state.failed) return; @@ -32946,49 +33147,49 @@ else if ( (LA473_0==COMMA) ) { break; default : - break loop473; + break loop474; } } - } finally {dbg.exitSubRule(473);} + } finally {dbg.exitSubRule(474);} dbg.location(1388,65); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:65: ( CP_DOTS ( ws )? )? - int alt475=2; - try { dbg.enterSubRule(475); - try { dbg.enterDecision(475, decisionCanBacktrack[475]); + int alt476=2; + try { dbg.enterSubRule(476); + try { dbg.enterDecision(476, decisionCanBacktrack[476]); - int LA475_0 = input.LA(1); - if ( (LA475_0==CP_DOTS) ) { - alt475=1; + int LA476_0 = input.LA(1); + if ( (LA476_0==CP_DOTS) ) { + alt476=1; } - } finally {dbg.exitDecision(475);} + } finally {dbg.exitDecision(476);} - switch (alt475) { + switch (alt476) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:66: CP_DOTS ( ws )? { dbg.location(1388,66); - match(input,CP_DOTS,FOLLOW_CP_DOTS_in_cp_mixin_call_args10205); if (state.failed) return;dbg.location(1388,74); + match(input,CP_DOTS,FOLLOW_CP_DOTS_in_cp_mixin_call_args10229); if (state.failed) return;dbg.location(1388,74); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:74: ( ws )? - int alt474=2; - try { dbg.enterSubRule(474); - try { dbg.enterDecision(474, decisionCanBacktrack[474]); + int alt475=2; + try { dbg.enterSubRule(475); + try { dbg.enterDecision(475, decisionCanBacktrack[475]); - int LA474_0 = input.LA(1); - if ( (LA474_0==COMMENT||LA474_0==NL||LA474_0==WS) ) { - alt474=1; + int LA475_0 = input.LA(1); + if ( (LA475_0==COMMENT||LA475_0==NL||LA475_0==WS) ) { + alt475=1; } - } finally {dbg.exitDecision(474);} + } finally {dbg.exitDecision(475);} - switch (alt474) { + switch (alt475) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:74: ws { dbg.location(1388,74); - pushFollow(FOLLOW_ws_in_cp_mixin_call_args10207); + pushFollow(FOLLOW_ws_in_cp_mixin_call_args10231); ws(); state._fsp--; if (state.failed) return; @@ -32996,38 +33197,38 @@ else if ( (LA473_0==COMMA) ) { break; } - } finally {dbg.exitSubRule(474);} + } finally {dbg.exitSubRule(475);} } break; } - } finally {dbg.exitSubRule(475);} + } finally {dbg.exitSubRule(476);} dbg.location(1388,80); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:80: ( SEMI )? - int alt476=2; - try { dbg.enterSubRule(476); - try { dbg.enterDecision(476, decisionCanBacktrack[476]); + int alt477=2; + try { dbg.enterSubRule(477); + try { dbg.enterDecision(477, decisionCanBacktrack[477]); - int LA476_0 = input.LA(1); - if ( (LA476_0==SEMI) ) { - alt476=1; + int LA477_0 = input.LA(1); + if ( (LA477_0==SEMI) ) { + alt477=1; } - } finally {dbg.exitDecision(476);} + } finally {dbg.exitDecision(477);} - switch (alt476) { + switch (alt477) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1388:80: SEMI { dbg.location(1388,80); - match(input,SEMI,FOLLOW_SEMI_in_cp_mixin_call_args10212); if (state.failed) return; + match(input,SEMI,FOLLOW_SEMI_in_cp_mixin_call_args10236); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(476);} + } finally {dbg.exitSubRule(477);} } @@ -33069,50 +33270,50 @@ public final void cp_mixin_call_arg() throws RecognitionException { { dbg.location(1393,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1393:5: ( cp_variable ( ws )? COLON ( ws )? cp_expression | cp_expression ) - int alt479=2; - try { dbg.enterSubRule(479); - try { dbg.enterDecision(479, decisionCanBacktrack[479]); + int alt480=2; + try { dbg.enterSubRule(480); + try { dbg.enterDecision(480, decisionCanBacktrack[480]); try { isCyclicDecision = true; - alt479 = dfa479.predict(input); + alt480 = dfa480.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(479);} + } finally {dbg.exitDecision(480);} - switch (alt479) { + switch (alt480) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:9: cp_variable ( ws )? COLON ( ws )? cp_expression { dbg.location(1394,9); - pushFollow(FOLLOW_cp_variable_in_cp_mixin_call_arg10244); + pushFollow(FOLLOW_cp_variable_in_cp_mixin_call_arg10268); cp_variable(); state._fsp--; if (state.failed) return;dbg.location(1394,21); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:21: ( ws )? - int alt477=2; - try { dbg.enterSubRule(477); - try { dbg.enterDecision(477, decisionCanBacktrack[477]); + int alt478=2; + try { dbg.enterSubRule(478); + try { dbg.enterDecision(478, decisionCanBacktrack[478]); - int LA477_0 = input.LA(1); - if ( (LA477_0==COMMENT||LA477_0==NL||LA477_0==WS) ) { - alt477=1; + int LA478_0 = input.LA(1); + if ( (LA478_0==COMMENT||LA478_0==NL||LA478_0==WS) ) { + alt478=1; } - } finally {dbg.exitDecision(477);} + } finally {dbg.exitDecision(478);} - switch (alt477) { + switch (alt478) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:21: ws { dbg.location(1394,21); - pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10246); + pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10270); ws(); state._fsp--; if (state.failed) return; @@ -33120,28 +33321,28 @@ public final void cp_mixin_call_arg() throws RecognitionException { break; } - } finally {dbg.exitSubRule(477);} + } finally {dbg.exitSubRule(478);} dbg.location(1394,25); - match(input,COLON,FOLLOW_COLON_in_cp_mixin_call_arg10249); if (state.failed) return;dbg.location(1394,31); + match(input,COLON,FOLLOW_COLON_in_cp_mixin_call_arg10273); if (state.failed) return;dbg.location(1394,31); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:31: ( ws )? - int alt478=2; - try { dbg.enterSubRule(478); - try { dbg.enterDecision(478, decisionCanBacktrack[478]); + int alt479=2; + try { dbg.enterSubRule(479); + try { dbg.enterDecision(479, decisionCanBacktrack[479]); - int LA478_0 = input.LA(1); - if ( (LA478_0==COMMENT||LA478_0==NL||LA478_0==WS) ) { - alt478=1; + int LA479_0 = input.LA(1); + if ( (LA479_0==COMMENT||LA479_0==NL||LA479_0==WS) ) { + alt479=1; } - } finally {dbg.exitDecision(478);} + } finally {dbg.exitDecision(479);} - switch (alt478) { + switch (alt479) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1394:31: ws { dbg.location(1394,31); - pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10251); + pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10275); ws(); state._fsp--; if (state.failed) return; @@ -33149,9 +33350,9 @@ public final void cp_mixin_call_arg() throws RecognitionException { break; } - } finally {dbg.exitSubRule(478);} + } finally {dbg.exitSubRule(479);} dbg.location(1394,35); - pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg10254); + pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg10278); cp_expression(); state._fsp--; if (state.failed) return; @@ -33163,7 +33364,7 @@ public final void cp_mixin_call_arg() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1395:11: cp_expression { dbg.location(1395,11); - pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg10266); + pushFollow(FOLLOW_cp_expression_in_cp_mixin_call_arg10290); cp_expression(); state._fsp--; if (state.failed) return; @@ -33171,27 +33372,27 @@ public final void cp_mixin_call_arg() throws RecognitionException { break; } - } finally {dbg.exitSubRule(479);} + } finally {dbg.exitSubRule(480);} dbg.location(1396,7); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1396:7: ( ws )? - int alt480=2; - try { dbg.enterSubRule(480); - try { dbg.enterDecision(480, decisionCanBacktrack[480]); + int alt481=2; + try { dbg.enterSubRule(481); + try { dbg.enterDecision(481, decisionCanBacktrack[481]); - int LA480_0 = input.LA(1); - if ( (LA480_0==COMMENT||LA480_0==NL||LA480_0==WS) ) { - alt480=1; + int LA481_0 = input.LA(1); + if ( (LA481_0==COMMENT||LA481_0==NL||LA481_0==WS) ) { + alt481=1; } - } finally {dbg.exitDecision(480);} + } finally {dbg.exitDecision(481);} - switch (alt480) { + switch (alt481) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1396:7: ws { dbg.location(1396,7); - pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10274); + pushFollow(FOLLOW_ws_in_cp_mixin_call_arg10298); ws(); state._fsp--; if (state.failed) return; @@ -33199,7 +33400,7 @@ public final void cp_mixin_call_arg() throws RecognitionException { break; } - } finally {dbg.exitSubRule(480);} + } finally {dbg.exitSubRule(481);} } @@ -33235,28 +33436,28 @@ public final void cp_args_list() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1401:5: ( ( cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? ) | ( CP_DOTS | LESS_REST ) ( ws )? ) - int alt488=2; - try { dbg.enterDecision(488, decisionCanBacktrack[488]); + int alt489=2; + try { dbg.enterDecision(489, decisionCanBacktrack[489]); - int LA488_0 = input.LA(1); - if ( (LA488_0==AT_IDENT||(LA488_0 >= BOTTOMCENTER_SYM && LA488_0 <= BOTTOMRIGHT_SYM)||LA488_0==CHARSET_SYM||LA488_0==COUNTER_STYLE_SYM||LA488_0==FONT_FACE_SYM||LA488_0==IDENT||LA488_0==IMPORT_SYM||(LA488_0 >= LEFTBOTTOM_SYM && LA488_0 <= LEFTTOP_SYM)||LA488_0==MEDIA_SYM||LA488_0==MOZ_DOCUMENT_SYM||LA488_0==NAMESPACE_SYM||LA488_0==PAGE_SYM||(LA488_0 >= RIGHTBOTTOM_SYM && LA488_0 <= RIGHTTOP_SYM)||(LA488_0 >= SASS_AT_ROOT && LA488_0 <= SASS_DEBUG)||(LA488_0 >= SASS_EACH && LA488_0 <= SASS_ELSE)||LA488_0==SASS_EXTEND||(LA488_0 >= SASS_FOR && LA488_0 <= SASS_FUNCTION)||(LA488_0 >= SASS_IF && LA488_0 <= SASS_MIXIN)||(LA488_0 >= SASS_RETURN && LA488_0 <= SASS_WHILE)||(LA488_0 >= TOPCENTER_SYM && LA488_0 <= TOPRIGHT_SYM)||LA488_0==WEBKIT_KEYFRAMES_SYM) ) { - alt488=1; + int LA489_0 = input.LA(1); + if ( (LA489_0==AT_IDENT||(LA489_0 >= BOTTOMCENTER_SYM && LA489_0 <= BOTTOMRIGHT_SYM)||LA489_0==CHARSET_SYM||LA489_0==COUNTER_STYLE_SYM||LA489_0==FONT_FACE_SYM||LA489_0==IDENT||LA489_0==IMPORT_SYM||LA489_0==KEYFRAMES_SYM||(LA489_0 >= LEFTBOTTOM_SYM && LA489_0 <= LEFTTOP_SYM)||LA489_0==MEDIA_SYM||LA489_0==MOZ_DOCUMENT_SYM||LA489_0==NAMESPACE_SYM||LA489_0==PAGE_SYM||(LA489_0 >= RIGHTBOTTOM_SYM && LA489_0 <= RIGHTTOP_SYM)||(LA489_0 >= SASS_AT_ROOT && LA489_0 <= SASS_DEBUG)||(LA489_0 >= SASS_EACH && LA489_0 <= SASS_ELSE)||LA489_0==SASS_EXTEND||(LA489_0 >= SASS_FOR && LA489_0 <= SASS_FUNCTION)||(LA489_0 >= SASS_IF && LA489_0 <= SASS_MIXIN)||(LA489_0 >= SASS_RETURN && LA489_0 <= SASS_WHILE)||(LA489_0 >= TOPCENTER_SYM && LA489_0 <= TOPRIGHT_SYM)||LA489_0==WEBKIT_KEYFRAMES_SYM) ) { + alt489=1; } - else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { - alt488=2; + else if ( (LA489_0==CP_DOTS||LA489_0==LESS_REST) ) { + alt489=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 488, 0, input); + new NoViableAltException("", 489, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(488);} + } finally {dbg.exitDecision(489);} - switch (alt488) { + switch (alt489) { case 1 : dbg.enterAlt(1); @@ -33269,29 +33470,29 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:7: cp_arg ( ( COMMA | SEMI ) ( ws )? cp_arg )* ( ( COMMA | SEMI ) ( ws )? )? ( ( CP_DOTS | LESS_REST ) ( ws )? )? { dbg.location(1408,7); - pushFollow(FOLLOW_cp_arg_in_cp_args_list10321); + pushFollow(FOLLOW_cp_arg_in_cp_args_list10345); cp_arg(); state._fsp--; if (state.failed) return;dbg.location(1408,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:14: ( ( COMMA | SEMI ) ( ws )? cp_arg )* - try { dbg.enterSubRule(482); + try { dbg.enterSubRule(483); - loop482: + loop483: while (true) { - int alt482=2; - try { dbg.enterDecision(482, decisionCanBacktrack[482]); + int alt483=2; + try { dbg.enterDecision(483, decisionCanBacktrack[483]); try { isCyclicDecision = true; - alt482 = dfa482.predict(input); + alt483 = dfa483.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(482);} + } finally {dbg.exitDecision(483);} - switch (alt482) { + switch (alt483) { case 1 : dbg.enterAlt(1); @@ -33310,24 +33511,24 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { throw mse; }dbg.location(1408,33); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:33: ( ws )? - int alt481=2; - try { dbg.enterSubRule(481); - try { dbg.enterDecision(481, decisionCanBacktrack[481]); + int alt482=2; + try { dbg.enterSubRule(482); + try { dbg.enterDecision(482, decisionCanBacktrack[482]); - int LA481_0 = input.LA(1); - if ( (LA481_0==COMMENT||LA481_0==NL||LA481_0==WS) ) { - alt481=1; + int LA482_0 = input.LA(1); + if ( (LA482_0==COMMENT||LA482_0==NL||LA482_0==WS) ) { + alt482=1; } - } finally {dbg.exitDecision(481);} + } finally {dbg.exitDecision(482);} - switch (alt481) { + switch (alt482) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:33: ws { dbg.location(1408,33); - pushFollow(FOLLOW_ws_in_cp_args_list10335); + pushFollow(FOLLOW_ws_in_cp_args_list10359); ws(); state._fsp--; if (state.failed) return; @@ -33335,9 +33536,9 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { break; } - } finally {dbg.exitSubRule(481);} + } finally {dbg.exitSubRule(482);} dbg.location(1408,37); - pushFollow(FOLLOW_cp_arg_in_cp_args_list10338); + pushFollow(FOLLOW_cp_arg_in_cp_args_list10362); cp_arg(); state._fsp--; if (state.failed) return; @@ -33345,23 +33546,23 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { break; default : - break loop482; + break loop483; } } - } finally {dbg.exitSubRule(482);} + } finally {dbg.exitSubRule(483);} dbg.location(1408,47); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:47: ( ( COMMA | SEMI ) ( ws )? )? - int alt484=2; - try { dbg.enterSubRule(484); - try { dbg.enterDecision(484, decisionCanBacktrack[484]); + int alt485=2; + try { dbg.enterSubRule(485); + try { dbg.enterDecision(485, decisionCanBacktrack[485]); - int LA484_0 = input.LA(1); - if ( (LA484_0==COMMA||LA484_0==SEMI) ) { - alt484=1; + int LA485_0 = input.LA(1); + if ( (LA485_0==COMMA||LA485_0==SEMI) ) { + alt485=1; } - } finally {dbg.exitDecision(484);} + } finally {dbg.exitDecision(485);} - switch (alt484) { + switch (alt485) { case 1 : dbg.enterAlt(1); @@ -33380,24 +33581,24 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { throw mse; }dbg.location(1408,64); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:64: ( ws )? - int alt483=2; - try { dbg.enterSubRule(483); - try { dbg.enterDecision(483, decisionCanBacktrack[483]); + int alt484=2; + try { dbg.enterSubRule(484); + try { dbg.enterDecision(484, decisionCanBacktrack[484]); - int LA483_0 = input.LA(1); - if ( (LA483_0==COMMENT||LA483_0==NL||LA483_0==WS) ) { - alt483=1; + int LA484_0 = input.LA(1); + if ( (LA484_0==COMMENT||LA484_0==NL||LA484_0==WS) ) { + alt484=1; } - } finally {dbg.exitDecision(483);} + } finally {dbg.exitDecision(484);} - switch (alt483) { + switch (alt484) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:64: ws { dbg.location(1408,64); - pushFollow(FOLLOW_ws_in_cp_args_list10353); + pushFollow(FOLLOW_ws_in_cp_args_list10377); ws(); state._fsp--; if (state.failed) return; @@ -33405,26 +33606,26 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { break; } - } finally {dbg.exitSubRule(483);} + } finally {dbg.exitSubRule(484);} } break; } - } finally {dbg.exitSubRule(484);} + } finally {dbg.exitSubRule(485);} dbg.location(1408,71); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:71: ( ( CP_DOTS | LESS_REST ) ( ws )? )? - int alt486=2; - try { dbg.enterSubRule(486); - try { dbg.enterDecision(486, decisionCanBacktrack[486]); + int alt487=2; + try { dbg.enterSubRule(487); + try { dbg.enterDecision(487, decisionCanBacktrack[487]); - int LA486_0 = input.LA(1); - if ( (LA486_0==CP_DOTS||LA486_0==LESS_REST) ) { - alt486=1; + int LA487_0 = input.LA(1); + if ( (LA487_0==CP_DOTS||LA487_0==LESS_REST) ) { + alt487=1; } - } finally {dbg.exitDecision(486);} + } finally {dbg.exitDecision(487);} - switch (alt486) { + switch (alt487) { case 1 : dbg.enterAlt(1); @@ -33443,24 +33644,24 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { throw mse; }dbg.location(1408,95); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:95: ( ws )? - int alt485=2; - try { dbg.enterSubRule(485); - try { dbg.enterDecision(485, decisionCanBacktrack[485]); + int alt486=2; + try { dbg.enterSubRule(486); + try { dbg.enterDecision(486, decisionCanBacktrack[486]); - int LA485_0 = input.LA(1); - if ( (LA485_0==COMMENT||LA485_0==NL||LA485_0==WS) ) { - alt485=1; + int LA486_0 = input.LA(1); + if ( (LA486_0==COMMENT||LA486_0==NL||LA486_0==WS) ) { + alt486=1; } - } finally {dbg.exitDecision(485);} + } finally {dbg.exitDecision(486);} - switch (alt485) { + switch (alt486) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1408:95: ws { dbg.location(1408,95); - pushFollow(FOLLOW_ws_in_cp_args_list10369); + pushFollow(FOLLOW_ws_in_cp_args_list10393); ws(); state._fsp--; if (state.failed) return; @@ -33468,13 +33669,13 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { break; } - } finally {dbg.exitSubRule(485);} + } finally {dbg.exitSubRule(486);} } break; } - } finally {dbg.exitSubRule(486);} + } finally {dbg.exitSubRule(487);} } @@ -33498,24 +33699,24 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { throw mse; }dbg.location(1410,27); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1410:27: ( ws )? - int alt487=2; - try { dbg.enterSubRule(487); - try { dbg.enterDecision(487, decisionCanBacktrack[487]); + int alt488=2; + try { dbg.enterSubRule(488); + try { dbg.enterDecision(488, decisionCanBacktrack[488]); - int LA487_0 = input.LA(1); - if ( (LA487_0==COMMENT||LA487_0==NL||LA487_0==WS) ) { - alt487=1; + int LA488_0 = input.LA(1); + if ( (LA488_0==COMMENT||LA488_0==NL||LA488_0==WS) ) { + alt488=1; } - } finally {dbg.exitDecision(487);} + } finally {dbg.exitDecision(488);} - switch (alt487) { + switch (alt488) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1410:27: ws { dbg.location(1410,27); - pushFollow(FOLLOW_ws_in_cp_args_list10394); + pushFollow(FOLLOW_ws_in_cp_args_list10418); ws(); state._fsp--; if (state.failed) return; @@ -33523,7 +33724,7 @@ else if ( (LA488_0==CP_DOTS||LA488_0==LESS_REST) ) { break; } - } finally {dbg.exitSubRule(487);} + } finally {dbg.exitSubRule(488);} } break; @@ -33561,20 +33762,20 @@ public final void cp_arg() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1415:5: ( cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? |{...}? IDENT ) - int alt493=2; - try { dbg.enterDecision(493, decisionCanBacktrack[493]); + int alt494=2; + try { dbg.enterDecision(494, decisionCanBacktrack[494]); - int LA493_0 = input.LA(1); - if ( (LA493_0==AT_IDENT||(LA493_0 >= BOTTOMCENTER_SYM && LA493_0 <= BOTTOMRIGHT_SYM)||LA493_0==CHARSET_SYM||LA493_0==COUNTER_STYLE_SYM||LA493_0==FONT_FACE_SYM||LA493_0==IMPORT_SYM||(LA493_0 >= LEFTBOTTOM_SYM && LA493_0 <= LEFTTOP_SYM)||LA493_0==MEDIA_SYM||LA493_0==MOZ_DOCUMENT_SYM||LA493_0==NAMESPACE_SYM||LA493_0==PAGE_SYM||(LA493_0 >= RIGHTBOTTOM_SYM && LA493_0 <= RIGHTTOP_SYM)||(LA493_0 >= SASS_AT_ROOT && LA493_0 <= SASS_DEBUG)||(LA493_0 >= SASS_EACH && LA493_0 <= SASS_ELSE)||LA493_0==SASS_EXTEND||(LA493_0 >= SASS_FOR && LA493_0 <= SASS_FUNCTION)||(LA493_0 >= SASS_IF && LA493_0 <= SASS_MIXIN)||(LA493_0 >= SASS_RETURN && LA493_0 <= SASS_WHILE)||(LA493_0 >= TOPCENTER_SYM && LA493_0 <= TOPRIGHT_SYM)||LA493_0==WEBKIT_KEYFRAMES_SYM) ) { - alt493=1; + int LA494_0 = input.LA(1); + if ( (LA494_0==AT_IDENT||(LA494_0 >= BOTTOMCENTER_SYM && LA494_0 <= BOTTOMRIGHT_SYM)||LA494_0==CHARSET_SYM||LA494_0==COUNTER_STYLE_SYM||LA494_0==FONT_FACE_SYM||LA494_0==IMPORT_SYM||LA494_0==KEYFRAMES_SYM||(LA494_0 >= LEFTBOTTOM_SYM && LA494_0 <= LEFTTOP_SYM)||LA494_0==MEDIA_SYM||LA494_0==MOZ_DOCUMENT_SYM||LA494_0==NAMESPACE_SYM||LA494_0==PAGE_SYM||(LA494_0 >= RIGHTBOTTOM_SYM && LA494_0 <= RIGHTTOP_SYM)||(LA494_0 >= SASS_AT_ROOT && LA494_0 <= SASS_DEBUG)||(LA494_0 >= SASS_EACH && LA494_0 <= SASS_ELSE)||LA494_0==SASS_EXTEND||(LA494_0 >= SASS_FOR && LA494_0 <= SASS_FUNCTION)||(LA494_0 >= SASS_IF && LA494_0 <= SASS_MIXIN)||(LA494_0 >= SASS_RETURN && LA494_0 <= SASS_WHILE)||(LA494_0 >= TOPCENTER_SYM && LA494_0 <= TOPRIGHT_SYM)||LA494_0==WEBKIT_KEYFRAMES_SYM) ) { + alt494=1; } - else if ( (LA493_0==IDENT) ) { - int LA493_2 = input.LA(2); - if ( (LA493_2==DOT) ) { - alt493=1; + else if ( (LA494_0==IDENT) ) { + int LA494_2 = input.LA(2); + if ( (LA494_2==DOT) ) { + alt494=1; } - else if ( (LA493_2==COMMA||LA493_2==CP_DOTS||LA493_2==LESS_REST||LA493_2==RPAREN||LA493_2==SEMI) ) { - alt493=2; + else if ( (LA494_2==COMMA||LA494_2==CP_DOTS||LA494_2==LESS_REST||LA494_2==RPAREN||LA494_2==SEMI) ) { + alt494=2; } else { @@ -33583,7 +33784,7 @@ else if ( (LA493_2==COMMA||LA493_2==CP_DOTS||LA493_2==LESS_REST||LA493_2==RPAREN try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 493, 2, input); + new NoViableAltException("", 494, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -33596,43 +33797,43 @@ else if ( (LA493_2==COMMA||LA493_2==CP_DOTS||LA493_2==LESS_REST||LA493_2==RPAREN else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 493, 0, input); + new NoViableAltException("", 494, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(493);} + } finally {dbg.exitDecision(494);} - switch (alt493) { + switch (alt494) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:5: cp_variable ( ws )? ( COLON ( ws )? cp_expression ( ws )? )? { dbg.location(1416,5); - pushFollow(FOLLOW_cp_variable_in_cp_arg10417); + pushFollow(FOLLOW_cp_variable_in_cp_arg10441); cp_variable(); state._fsp--; if (state.failed) return;dbg.location(1416,17); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:17: ( ws )? - int alt489=2; - try { dbg.enterSubRule(489); - try { dbg.enterDecision(489, decisionCanBacktrack[489]); + int alt490=2; + try { dbg.enterSubRule(490); + try { dbg.enterDecision(490, decisionCanBacktrack[490]); - int LA489_0 = input.LA(1); - if ( (LA489_0==COMMENT||LA489_0==NL||LA489_0==WS) ) { - alt489=1; + int LA490_0 = input.LA(1); + if ( (LA490_0==COMMENT||LA490_0==NL||LA490_0==WS) ) { + alt490=1; } - } finally {dbg.exitDecision(489);} + } finally {dbg.exitDecision(490);} - switch (alt489) { + switch (alt490) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:17: ws { dbg.location(1416,17); - pushFollow(FOLLOW_ws_in_cp_arg10419); + pushFollow(FOLLOW_ws_in_cp_arg10443); ws(); state._fsp--; if (state.failed) return; @@ -33640,46 +33841,46 @@ else if ( (LA493_2==COMMA||LA493_2==CP_DOTS||LA493_2==LESS_REST||LA493_2==RPAREN break; } - } finally {dbg.exitSubRule(489);} + } finally {dbg.exitSubRule(490);} dbg.location(1416,21); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:21: ( COLON ( ws )? cp_expression ( ws )? )? - int alt492=2; - try { dbg.enterSubRule(492); - try { dbg.enterDecision(492, decisionCanBacktrack[492]); + int alt493=2; + try { dbg.enterSubRule(493); + try { dbg.enterDecision(493, decisionCanBacktrack[493]); - int LA492_0 = input.LA(1); - if ( (LA492_0==COLON) ) { - alt492=1; + int LA493_0 = input.LA(1); + if ( (LA493_0==COLON) ) { + alt493=1; } - } finally {dbg.exitDecision(492);} + } finally {dbg.exitDecision(493);} - switch (alt492) { + switch (alt493) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:23: COLON ( ws )? cp_expression ( ws )? { dbg.location(1416,23); - match(input,COLON,FOLLOW_COLON_in_cp_arg10424); if (state.failed) return;dbg.location(1416,29); + match(input,COLON,FOLLOW_COLON_in_cp_arg10448); if (state.failed) return;dbg.location(1416,29); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:29: ( ws )? - int alt490=2; - try { dbg.enterSubRule(490); - try { dbg.enterDecision(490, decisionCanBacktrack[490]); + int alt491=2; + try { dbg.enterSubRule(491); + try { dbg.enterDecision(491, decisionCanBacktrack[491]); - int LA490_0 = input.LA(1); - if ( (LA490_0==COMMENT||LA490_0==NL||LA490_0==WS) ) { - alt490=1; + int LA491_0 = input.LA(1); + if ( (LA491_0==COMMENT||LA491_0==NL||LA491_0==WS) ) { + alt491=1; } - } finally {dbg.exitDecision(490);} + } finally {dbg.exitDecision(491);} - switch (alt490) { + switch (alt491) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:29: ws { dbg.location(1416,29); - pushFollow(FOLLOW_ws_in_cp_arg10426); + pushFollow(FOLLOW_ws_in_cp_arg10450); ws(); state._fsp--; if (state.failed) return; @@ -33687,31 +33888,31 @@ else if ( (LA493_2==COMMA||LA493_2==CP_DOTS||LA493_2==LESS_REST||LA493_2==RPAREN break; } - } finally {dbg.exitSubRule(490);} + } finally {dbg.exitSubRule(491);} dbg.location(1416,33); - pushFollow(FOLLOW_cp_expression_in_cp_arg10429); + pushFollow(FOLLOW_cp_expression_in_cp_arg10453); cp_expression(); state._fsp--; if (state.failed) return;dbg.location(1416,47); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:47: ( ws )? - int alt491=2; - try { dbg.enterSubRule(491); - try { dbg.enterDecision(491, decisionCanBacktrack[491]); + int alt492=2; + try { dbg.enterSubRule(492); + try { dbg.enterDecision(492, decisionCanBacktrack[492]); - int LA491_0 = input.LA(1); - if ( (LA491_0==COMMENT||LA491_0==NL||LA491_0==WS) ) { - alt491=1; + int LA492_0 = input.LA(1); + if ( (LA492_0==COMMENT||LA492_0==NL||LA492_0==WS) ) { + alt492=1; } - } finally {dbg.exitDecision(491);} + } finally {dbg.exitDecision(492);} - switch (alt491) { + switch (alt492) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1416:47: ws { dbg.location(1416,47); - pushFollow(FOLLOW_ws_in_cp_arg10431); + pushFollow(FOLLOW_ws_in_cp_arg10455); ws(); state._fsp--; if (state.failed) return; @@ -33719,13 +33920,13 @@ else if ( (LA493_2==COMMA||LA493_2==CP_DOTS||LA493_2==LESS_REST||LA493_2==RPAREN break; } - } finally {dbg.exitSubRule(491);} + } finally {dbg.exitSubRule(492);} } break; } - } finally {dbg.exitSubRule(492);} + } finally {dbg.exitSubRule(493);} } break; @@ -33739,7 +33940,7 @@ else if ( (LA493_2==COMMA||LA493_2==CP_DOTS||LA493_2==LESS_REST||LA493_2==RPAREN if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "cp_arg", "isLessSource()"); }dbg.location(1417,25); - match(input,IDENT,FOLLOW_IDENT_in_cp_arg10444); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_cp_arg10468); if (state.failed) return; } break; @@ -33781,29 +33982,29 @@ public final void less_mixin_guarded() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:5: less_when ( ws )? less_condition ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* { dbg.location(1424,5); - pushFollow(FOLLOW_less_when_in_less_mixin_guarded10467); + pushFollow(FOLLOW_less_when_in_less_mixin_guarded10491); less_when(); state._fsp--; if (state.failed) return;dbg.location(1424,15); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:15: ( ws )? - int alt494=2; - try { dbg.enterSubRule(494); - try { dbg.enterDecision(494, decisionCanBacktrack[494]); + int alt495=2; + try { dbg.enterSubRule(495); + try { dbg.enterDecision(495, decisionCanBacktrack[495]); - int LA494_0 = input.LA(1); - if ( (LA494_0==COMMENT||LA494_0==NL||LA494_0==WS) ) { - alt494=1; + int LA495_0 = input.LA(1); + if ( (LA495_0==COMMENT||LA495_0==NL||LA495_0==WS) ) { + alt495=1; } - } finally {dbg.exitDecision(494);} + } finally {dbg.exitDecision(495);} - switch (alt494) { + switch (alt495) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:15: ws { dbg.location(1424,15); - pushFollow(FOLLOW_ws_in_less_mixin_guarded10469); + pushFollow(FOLLOW_ws_in_less_mixin_guarded10493); ws(); state._fsp--; if (state.failed) return; @@ -33811,31 +34012,31 @@ public final void less_mixin_guarded() throws RecognitionException { break; } - } finally {dbg.exitSubRule(494);} + } finally {dbg.exitSubRule(495);} dbg.location(1424,19); - pushFollow(FOLLOW_less_condition_in_less_mixin_guarded10472); + pushFollow(FOLLOW_less_condition_in_less_mixin_guarded10496); less_condition(); state._fsp--; if (state.failed) return;dbg.location(1424,34); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:34: ( ( ws )? ( COMMA | key_and ) ( ws )? less_condition )* - try { dbg.enterSubRule(498); + try { dbg.enterSubRule(499); - loop498: + loop499: while (true) { - int alt498=2; - try { dbg.enterDecision(498, decisionCanBacktrack[498]); + int alt499=2; + try { dbg.enterDecision(499, decisionCanBacktrack[499]); try { isCyclicDecision = true; - alt498 = dfa498.predict(input); + alt499 = dfa499.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(498);} + } finally {dbg.exitDecision(499);} - switch (alt498) { + switch (alt499) { case 1 : dbg.enterAlt(1); @@ -33843,24 +34044,24 @@ public final void less_mixin_guarded() throws RecognitionException { { dbg.location(1424,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:35: ( ws )? - int alt495=2; - try { dbg.enterSubRule(495); - try { dbg.enterDecision(495, decisionCanBacktrack[495]); + int alt496=2; + try { dbg.enterSubRule(496); + try { dbg.enterDecision(496, decisionCanBacktrack[496]); - int LA495_0 = input.LA(1); - if ( (LA495_0==COMMENT||LA495_0==NL||LA495_0==WS) ) { - alt495=1; + int LA496_0 = input.LA(1); + if ( (LA496_0==COMMENT||LA496_0==NL||LA496_0==WS) ) { + alt496=1; } - } finally {dbg.exitDecision(495);} + } finally {dbg.exitDecision(496);} - switch (alt495) { + switch (alt496) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:35: ws { dbg.location(1424,35); - pushFollow(FOLLOW_ws_in_less_mixin_guarded10475); + pushFollow(FOLLOW_ws_in_less_mixin_guarded10499); ws(); state._fsp--; if (state.failed) return; @@ -33868,39 +34069,39 @@ public final void less_mixin_guarded() throws RecognitionException { break; } - } finally {dbg.exitSubRule(495);} + } finally {dbg.exitSubRule(496);} dbg.location(1424,39); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:39: ( COMMA | key_and ) - int alt496=2; - try { dbg.enterSubRule(496); - try { dbg.enterDecision(496, decisionCanBacktrack[496]); + int alt497=2; + try { dbg.enterSubRule(497); + try { dbg.enterDecision(497, decisionCanBacktrack[497]); - int LA496_0 = input.LA(1); - if ( (LA496_0==COMMA) ) { - alt496=1; + int LA497_0 = input.LA(1); + if ( (LA497_0==COMMA) ) { + alt497=1; } - else if ( (LA496_0==IDENT) ) { - alt496=2; + else if ( (LA497_0==IDENT) ) { + alt497=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 496, 0, input); + new NoViableAltException("", 497, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(496);} + } finally {dbg.exitDecision(497);} - switch (alt496) { + switch (alt497) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:40: COMMA { dbg.location(1424,40); - match(input,COMMA,FOLLOW_COMMA_in_less_mixin_guarded10479); if (state.failed) return; + match(input,COMMA,FOLLOW_COMMA_in_less_mixin_guarded10503); if (state.failed) return; } break; case 2 : @@ -33909,7 +34110,7 @@ else if ( (LA496_0==IDENT) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:48: key_and { dbg.location(1424,48); - pushFollow(FOLLOW_key_and_in_less_mixin_guarded10483); + pushFollow(FOLLOW_key_and_in_less_mixin_guarded10507); key_and(); state._fsp--; if (state.failed) return; @@ -33917,27 +34118,27 @@ else if ( (LA496_0==IDENT) ) { break; } - } finally {dbg.exitSubRule(496);} + } finally {dbg.exitSubRule(497);} dbg.location(1424,57); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:57: ( ws )? - int alt497=2; - try { dbg.enterSubRule(497); - try { dbg.enterDecision(497, decisionCanBacktrack[497]); + int alt498=2; + try { dbg.enterSubRule(498); + try { dbg.enterDecision(498, decisionCanBacktrack[498]); - int LA497_0 = input.LA(1); - if ( (LA497_0==COMMENT||LA497_0==NL||LA497_0==WS) ) { - alt497=1; + int LA498_0 = input.LA(1); + if ( (LA498_0==COMMENT||LA498_0==NL||LA498_0==WS) ) { + alt498=1; } - } finally {dbg.exitDecision(497);} + } finally {dbg.exitDecision(498);} - switch (alt497) { + switch (alt498) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1424:57: ws { dbg.location(1424,57); - pushFollow(FOLLOW_ws_in_less_mixin_guarded10486); + pushFollow(FOLLOW_ws_in_less_mixin_guarded10510); ws(); state._fsp--; if (state.failed) return; @@ -33945,9 +34146,9 @@ else if ( (LA496_0==IDENT) ) { break; } - } finally {dbg.exitSubRule(497);} + } finally {dbg.exitSubRule(498);} dbg.location(1424,61); - pushFollow(FOLLOW_less_condition_in_less_mixin_guarded10489); + pushFollow(FOLLOW_less_condition_in_less_mixin_guarded10513); less_condition(); state._fsp--; if (state.failed) return; @@ -33955,10 +34156,10 @@ else if ( (LA496_0==IDENT) ) { break; default : - break loop498; + break loop499; } } - } finally {dbg.exitSubRule(498);} + } finally {dbg.exitSubRule(499);} } @@ -34000,43 +34201,43 @@ public final void less_condition() throws RecognitionException { { dbg.location(1431,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:5: ( NOT ( ws )? )? - int alt500=2; - try { dbg.enterSubRule(500); - try { dbg.enterDecision(500, decisionCanBacktrack[500]); + int alt501=2; + try { dbg.enterSubRule(501); + try { dbg.enterDecision(501, decisionCanBacktrack[501]); - int LA500_0 = input.LA(1); - if ( (LA500_0==NOT) ) { - alt500=1; + int LA501_0 = input.LA(1); + if ( (LA501_0==NOT) ) { + alt501=1; } - } finally {dbg.exitDecision(500);} + } finally {dbg.exitDecision(501);} - switch (alt500) { + switch (alt501) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:6: NOT ( ws )? { dbg.location(1431,6); - match(input,NOT,FOLLOW_NOT_in_less_condition10515); if (state.failed) return;dbg.location(1431,10); + match(input,NOT,FOLLOW_NOT_in_less_condition10539); if (state.failed) return;dbg.location(1431,10); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:10: ( ws )? - int alt499=2; - try { dbg.enterSubRule(499); - try { dbg.enterDecision(499, decisionCanBacktrack[499]); + int alt500=2; + try { dbg.enterSubRule(500); + try { dbg.enterDecision(500, decisionCanBacktrack[500]); - int LA499_0 = input.LA(1); - if ( (LA499_0==COMMENT||LA499_0==NL||LA499_0==WS) ) { - alt499=1; + int LA500_0 = input.LA(1); + if ( (LA500_0==COMMENT||LA500_0==NL||LA500_0==WS) ) { + alt500=1; } - } finally {dbg.exitDecision(499);} + } finally {dbg.exitDecision(500);} - switch (alt499) { + switch (alt500) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1431:10: ws { dbg.location(1431,10); - pushFollow(FOLLOW_ws_in_less_condition10517); + pushFollow(FOLLOW_ws_in_less_condition10541); ws(); state._fsp--; if (state.failed) return; @@ -34044,34 +34245,34 @@ public final void less_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(499);} + } finally {dbg.exitSubRule(500);} } break; } - } finally {dbg.exitSubRule(500);} + } finally {dbg.exitSubRule(501);} dbg.location(1432,5); - match(input,LPAREN,FOLLOW_LPAREN_in_less_condition10526); if (state.failed) return;dbg.location(1432,12); + match(input,LPAREN,FOLLOW_LPAREN_in_less_condition10550); if (state.failed) return;dbg.location(1432,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:12: ( ws )? - int alt501=2; - try { dbg.enterSubRule(501); - try { dbg.enterDecision(501, decisionCanBacktrack[501]); + int alt502=2; + try { dbg.enterSubRule(502); + try { dbg.enterDecision(502, decisionCanBacktrack[502]); - int LA501_0 = input.LA(1); - if ( (LA501_0==COMMENT||LA501_0==NL||LA501_0==WS) ) { - alt501=1; + int LA502_0 = input.LA(1); + if ( (LA502_0==COMMENT||LA502_0==NL||LA502_0==WS) ) { + alt502=1; } - } finally {dbg.exitDecision(501);} + } finally {dbg.exitDecision(502);} - switch (alt501) { + switch (alt502) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1432:12: ws { dbg.location(1432,12); - pushFollow(FOLLOW_ws_in_less_condition10528); + pushFollow(FOLLOW_ws_in_less_condition10552); ws(); state._fsp--; if (state.failed) return; @@ -34079,7 +34280,7 @@ public final void less_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(501);} + } finally {dbg.exitSubRule(502);} dbg.location(1433,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1433:9: ( ( cp_variable | less_function_in_condition ) ( ws )? ( less_condition_operator ( ws )? cp_math_expression )? ) dbg.enterAlt(1); @@ -34088,21 +34289,21 @@ public final void less_condition() throws RecognitionException { { dbg.location(1434,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:14: ( cp_variable | less_function_in_condition ) - int alt502=2; - try { dbg.enterSubRule(502); - try { dbg.enterDecision(502, decisionCanBacktrack[502]); + int alt503=2; + try { dbg.enterSubRule(503); + try { dbg.enterDecision(503, decisionCanBacktrack[503]); - int LA502_0 = input.LA(1); - if ( (LA502_0==AT_IDENT||(LA502_0 >= BOTTOMCENTER_SYM && LA502_0 <= BOTTOMRIGHT_SYM)||LA502_0==CHARSET_SYM||LA502_0==COUNTER_STYLE_SYM||LA502_0==FONT_FACE_SYM||LA502_0==IMPORT_SYM||(LA502_0 >= LEFTBOTTOM_SYM && LA502_0 <= LEFTTOP_SYM)||LA502_0==MEDIA_SYM||LA502_0==MOZ_DOCUMENT_SYM||LA502_0==NAMESPACE_SYM||LA502_0==PAGE_SYM||(LA502_0 >= RIGHTBOTTOM_SYM && LA502_0 <= RIGHTTOP_SYM)||(LA502_0 >= SASS_AT_ROOT && LA502_0 <= SASS_DEBUG)||(LA502_0 >= SASS_EACH && LA502_0 <= SASS_ELSE)||LA502_0==SASS_EXTEND||(LA502_0 >= SASS_FOR && LA502_0 <= SASS_FUNCTION)||(LA502_0 >= SASS_IF && LA502_0 <= SASS_MIXIN)||(LA502_0 >= SASS_RETURN && LA502_0 <= SASS_WHILE)||(LA502_0 >= TOPCENTER_SYM && LA502_0 <= TOPRIGHT_SYM)||LA502_0==WEBKIT_KEYFRAMES_SYM) ) { - alt502=1; + int LA503_0 = input.LA(1); + if ( (LA503_0==AT_IDENT||(LA503_0 >= BOTTOMCENTER_SYM && LA503_0 <= BOTTOMRIGHT_SYM)||LA503_0==CHARSET_SYM||LA503_0==COUNTER_STYLE_SYM||LA503_0==FONT_FACE_SYM||LA503_0==IMPORT_SYM||LA503_0==KEYFRAMES_SYM||(LA503_0 >= LEFTBOTTOM_SYM && LA503_0 <= LEFTTOP_SYM)||LA503_0==MEDIA_SYM||LA503_0==MOZ_DOCUMENT_SYM||LA503_0==NAMESPACE_SYM||LA503_0==PAGE_SYM||(LA503_0 >= RIGHTBOTTOM_SYM && LA503_0 <= RIGHTTOP_SYM)||(LA503_0 >= SASS_AT_ROOT && LA503_0 <= SASS_DEBUG)||(LA503_0 >= SASS_EACH && LA503_0 <= SASS_ELSE)||LA503_0==SASS_EXTEND||(LA503_0 >= SASS_FOR && LA503_0 <= SASS_FUNCTION)||(LA503_0 >= SASS_IF && LA503_0 <= SASS_MIXIN)||(LA503_0 >= SASS_RETURN && LA503_0 <= SASS_WHILE)||(LA503_0 >= TOPCENTER_SYM && LA503_0 <= TOPRIGHT_SYM)||LA503_0==WEBKIT_KEYFRAMES_SYM) ) { + alt503=1; } - else if ( (LA502_0==IDENT) ) { - int LA502_2 = input.LA(2); - if ( (LA502_2==DOT) ) { - alt502=1; + else if ( (LA503_0==IDENT) ) { + int LA503_2 = input.LA(2); + if ( (LA503_2==DOT) ) { + alt503=1; } - else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { - alt502=2; + else if ( (LA503_2==COMMENT||LA503_2==LPAREN||LA503_2==NL||LA503_2==WS) ) { + alt503=2; } else { @@ -34111,7 +34312,7 @@ else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { try { input.consume(); NoViableAltException nvae = - new NoViableAltException("", 502, 2, input); + new NoViableAltException("", 503, 2, input); dbg.recognitionException(nvae); throw nvae; } finally { @@ -34124,21 +34325,21 @@ else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 502, 0, input); + new NoViableAltException("", 503, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(502);} + } finally {dbg.exitDecision(503);} - switch (alt502) { + switch (alt503) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:15: cp_variable { dbg.location(1434,15); - pushFollow(FOLLOW_cp_variable_in_less_condition10555); + pushFollow(FOLLOW_cp_variable_in_less_condition10579); cp_variable(); state._fsp--; if (state.failed) return; @@ -34150,7 +34351,7 @@ else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:29: less_function_in_condition { dbg.location(1434,29); - pushFollow(FOLLOW_less_function_in_condition_in_less_condition10559); + pushFollow(FOLLOW_less_function_in_condition_in_less_condition10583); less_function_in_condition(); state._fsp--; if (state.failed) return; @@ -34158,27 +34359,27 @@ else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { break; } - } finally {dbg.exitSubRule(502);} + } finally {dbg.exitSubRule(503);} dbg.location(1434,57); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:57: ( ws )? - int alt503=2; - try { dbg.enterSubRule(503); - try { dbg.enterDecision(503, decisionCanBacktrack[503]); + int alt504=2; + try { dbg.enterSubRule(504); + try { dbg.enterDecision(504, decisionCanBacktrack[504]); - int LA503_0 = input.LA(1); - if ( (LA503_0==COMMENT||LA503_0==NL||LA503_0==WS) ) { - alt503=1; + int LA504_0 = input.LA(1); + if ( (LA504_0==COMMENT||LA504_0==NL||LA504_0==WS) ) { + alt504=1; } - } finally {dbg.exitDecision(503);} + } finally {dbg.exitDecision(504);} - switch (alt503) { + switch (alt504) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:57: ws { dbg.location(1434,57); - pushFollow(FOLLOW_ws_in_less_condition10562); + pushFollow(FOLLOW_ws_in_less_condition10586); ws(); state._fsp--; if (state.failed) return; @@ -34186,49 +34387,49 @@ else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { break; } - } finally {dbg.exitSubRule(503);} + } finally {dbg.exitSubRule(504);} dbg.location(1434,61); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:61: ( less_condition_operator ( ws )? cp_math_expression )? - int alt505=2; - try { dbg.enterSubRule(505); - try { dbg.enterDecision(505, decisionCanBacktrack[505]); + int alt506=2; + try { dbg.enterSubRule(506); + try { dbg.enterDecision(506, decisionCanBacktrack[506]); - int LA505_0 = input.LA(1); - if ( ((LA505_0 >= GREATER && LA505_0 <= GREATER_OR_EQ)||LA505_0==LESS||LA505_0==LESS_OR_EQ||LA505_0==OPEQ) ) { - alt505=1; + int LA506_0 = input.LA(1); + if ( ((LA506_0 >= GREATER && LA506_0 <= GREATER_OR_EQ)||LA506_0==LESS||LA506_0==LESS_OR_EQ||LA506_0==OPEQ) ) { + alt506=1; } - } finally {dbg.exitDecision(505);} + } finally {dbg.exitDecision(506);} - switch (alt505) { + switch (alt506) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:62: less_condition_operator ( ws )? cp_math_expression { dbg.location(1434,62); - pushFollow(FOLLOW_less_condition_operator_in_less_condition10566); + pushFollow(FOLLOW_less_condition_operator_in_less_condition10590); less_condition_operator(); state._fsp--; if (state.failed) return;dbg.location(1434,86); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:86: ( ws )? - int alt504=2; - try { dbg.enterSubRule(504); - try { dbg.enterDecision(504, decisionCanBacktrack[504]); + int alt505=2; + try { dbg.enterSubRule(505); + try { dbg.enterDecision(505, decisionCanBacktrack[505]); - int LA504_0 = input.LA(1); - if ( (LA504_0==COMMENT||LA504_0==NL||LA504_0==WS) ) { - alt504=1; + int LA505_0 = input.LA(1); + if ( (LA505_0==COMMENT||LA505_0==NL||LA505_0==WS) ) { + alt505=1; } - } finally {dbg.exitDecision(504);} + } finally {dbg.exitDecision(505);} - switch (alt504) { + switch (alt505) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1434:86: ws { dbg.location(1434,86); - pushFollow(FOLLOW_ws_in_less_condition10568); + pushFollow(FOLLOW_ws_in_less_condition10592); ws(); state._fsp--; if (state.failed) return; @@ -34236,9 +34437,9 @@ else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { break; } - } finally {dbg.exitSubRule(504);} + } finally {dbg.exitSubRule(505);} dbg.location(1434,90); - pushFollow(FOLLOW_cp_math_expression_in_less_condition10571); + pushFollow(FOLLOW_cp_math_expression_in_less_condition10595); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -34246,11 +34447,11 @@ else if ( (LA502_2==COMMENT||LA502_2==LPAREN||LA502_2==NL||LA502_2==WS) ) { break; } - } finally {dbg.exitSubRule(505);} + } finally {dbg.exitSubRule(506);} } dbg.location(1436,5); - match(input,RPAREN,FOLLOW_RPAREN_in_less_condition10589); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_less_condition10613); if (state.failed) return; } } @@ -34290,29 +34491,29 @@ public final void less_function_in_condition() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:5: less_fn_name ( ws )? LPAREN ( ws )? cp_variable ( ws )? RPAREN { dbg.location(1442,5); - pushFollow(FOLLOW_less_fn_name_in_less_function_in_condition10611); + pushFollow(FOLLOW_less_fn_name_in_less_function_in_condition10635); less_fn_name(); state._fsp--; if (state.failed) return;dbg.location(1442,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:18: ( ws )? - int alt506=2; - try { dbg.enterSubRule(506); - try { dbg.enterDecision(506, decisionCanBacktrack[506]); + int alt507=2; + try { dbg.enterSubRule(507); + try { dbg.enterDecision(507, decisionCanBacktrack[507]); - int LA506_0 = input.LA(1); - if ( (LA506_0==COMMENT||LA506_0==NL||LA506_0==WS) ) { - alt506=1; + int LA507_0 = input.LA(1); + if ( (LA507_0==COMMENT||LA507_0==NL||LA507_0==WS) ) { + alt507=1; } - } finally {dbg.exitDecision(506);} + } finally {dbg.exitDecision(507);} - switch (alt506) { + switch (alt507) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:18: ws { dbg.location(1442,18); - pushFollow(FOLLOW_ws_in_less_function_in_condition10613); + pushFollow(FOLLOW_ws_in_less_function_in_condition10637); ws(); state._fsp--; if (state.failed) return; @@ -34320,28 +34521,28 @@ public final void less_function_in_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(506);} + } finally {dbg.exitSubRule(507);} dbg.location(1442,22); - match(input,LPAREN,FOLLOW_LPAREN_in_less_function_in_condition10616); if (state.failed) return;dbg.location(1442,29); + match(input,LPAREN,FOLLOW_LPAREN_in_less_function_in_condition10640); if (state.failed) return;dbg.location(1442,29); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:29: ( ws )? - int alt507=2; - try { dbg.enterSubRule(507); - try { dbg.enterDecision(507, decisionCanBacktrack[507]); + int alt508=2; + try { dbg.enterSubRule(508); + try { dbg.enterDecision(508, decisionCanBacktrack[508]); - int LA507_0 = input.LA(1); - if ( (LA507_0==COMMENT||LA507_0==NL||LA507_0==WS) ) { - alt507=1; + int LA508_0 = input.LA(1); + if ( (LA508_0==COMMENT||LA508_0==NL||LA508_0==WS) ) { + alt508=1; } - } finally {dbg.exitDecision(507);} + } finally {dbg.exitDecision(508);} - switch (alt507) { + switch (alt508) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:29: ws { dbg.location(1442,29); - pushFollow(FOLLOW_ws_in_less_function_in_condition10618); + pushFollow(FOLLOW_ws_in_less_function_in_condition10642); ws(); state._fsp--; if (state.failed) return; @@ -34349,31 +34550,31 @@ public final void less_function_in_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(507);} + } finally {dbg.exitSubRule(508);} dbg.location(1442,33); - pushFollow(FOLLOW_cp_variable_in_less_function_in_condition10621); + pushFollow(FOLLOW_cp_variable_in_less_function_in_condition10645); cp_variable(); state._fsp--; if (state.failed) return;dbg.location(1442,45); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:45: ( ws )? - int alt508=2; - try { dbg.enterSubRule(508); - try { dbg.enterDecision(508, decisionCanBacktrack[508]); + int alt509=2; + try { dbg.enterSubRule(509); + try { dbg.enterDecision(509, decisionCanBacktrack[509]); - int LA508_0 = input.LA(1); - if ( (LA508_0==COMMENT||LA508_0==NL||LA508_0==WS) ) { - alt508=1; + int LA509_0 = input.LA(1); + if ( (LA509_0==COMMENT||LA509_0==NL||LA509_0==WS) ) { + alt509=1; } - } finally {dbg.exitDecision(508);} + } finally {dbg.exitDecision(509);} - switch (alt508) { + switch (alt509) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1442:45: ws { dbg.location(1442,45); - pushFollow(FOLLOW_ws_in_less_function_in_condition10623); + pushFollow(FOLLOW_ws_in_less_function_in_condition10647); ws(); state._fsp--; if (state.failed) return; @@ -34381,9 +34582,9 @@ public final void less_function_in_condition() throws RecognitionException { break; } - } finally {dbg.exitSubRule(508);} + } finally {dbg.exitSubRule(509);} dbg.location(1442,49); - match(input,RPAREN,FOLLOW_RPAREN_in_less_function_in_condition10626); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_less_function_in_condition10650); if (state.failed) return; } } @@ -34423,7 +34624,7 @@ public final void less_fn_name() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1448:5: IDENT { dbg.location(1448,5); - match(input,IDENT,FOLLOW_IDENT_in_less_fn_name10648); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_less_fn_name10672); if (state.failed) return; } } @@ -34514,17 +34715,17 @@ public final void less_selector_interpolation_exp() throws RecognitionException { dbg.location(1457,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:5: ( IDENT | MINUS )? - int alt509=2; - try { dbg.enterSubRule(509); - try { dbg.enterDecision(509, decisionCanBacktrack[509]); + int alt510=2; + try { dbg.enterSubRule(510); + try { dbg.enterDecision(510, decisionCanBacktrack[510]); - int LA509_0 = input.LA(1); - if ( (LA509_0==IDENT||LA509_0==MINUS) ) { - alt509=1; + int LA510_0 = input.LA(1); + if ( (LA510_0==IDENT||LA510_0==MINUS) ) { + alt510=1; } - } finally {dbg.exitDecision(509);} + } finally {dbg.exitDecision(510);} - switch (alt509) { + switch (alt510) { case 1 : dbg.enterAlt(1); @@ -34546,59 +34747,59 @@ public final void less_selector_interpolation_exp() throws RecognitionException break; } - } finally {dbg.exitSubRule(509);} + } finally {dbg.exitSubRule(510);} dbg.location(1457,22); - pushFollow(FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp10711); + pushFollow(FOLLOW_less_selector_interpolation_in_less_selector_interpolation_exp10735); less_selector_interpolation(); state._fsp--; if (state.failed) return;dbg.location(1457,50); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:50: ( less_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? - int alt511=3; - try { dbg.enterSubRule(511); - try { dbg.enterDecision(511, decisionCanBacktrack[511]); + int alt512=3; + try { dbg.enterSubRule(512); + try { dbg.enterDecision(512, decisionCanBacktrack[512]); switch ( input.LA(1) ) { case IDENT: case MINUS: { - int LA511_1 = input.LA(2); - if ( (LA511_1==AT_SIGN) ) { - alt511=1; + int LA512_1 = input.LA(2); + if ( (LA512_1==AT_SIGN) ) { + alt512=1; } - else if ( ((LA511_1 >= COLON && LA511_1 <= COMMENT)||(LA511_1 >= DCOLON && LA511_1 <= DOT)||LA511_1==GREATER||(LA511_1 >= HASH && LA511_1 <= HASH_SYMBOL)||LA511_1==IDENT||(LA511_1 >= LBRACE && LA511_1 <= LBRACKET)||LA511_1==LENGTH||LA511_1==LESS_AND||LA511_1==MINUS||LA511_1==NL||LA511_1==PLUS||LA511_1==RBRACE||LA511_1==RPAREN||LA511_1==SASS_EXTEND_ONLY_SELECTOR||LA511_1==SEMI||LA511_1==TILDE||LA511_1==WS) ) { - alt511=2; + else if ( ((LA512_1 >= COLON && LA512_1 <= COMMENT)||(LA512_1 >= DCOLON && LA512_1 <= DOT)||LA512_1==GREATER||(LA512_1 >= HASH && LA512_1 <= HASH_SYMBOL)||LA512_1==IDENT||(LA512_1 >= LBRACE && LA512_1 <= LBRACKET)||LA512_1==LENGTH||LA512_1==LESS_AND||LA512_1==MINUS||LA512_1==NL||LA512_1==PLUS||LA512_1==RBRACE||LA512_1==RPAREN||LA512_1==SASS_EXTEND_ONLY_SELECTOR||LA512_1==SEMI||LA512_1==TILDE||LA512_1==WS) ) { + alt512=2; } } break; case AT_SIGN: { - alt511=1; + alt512=1; } break; case DIMENSION: { - int LA511_3 = input.LA(2); + int LA512_3 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt511=2; + alt512=2; } } break; case LENGTH: { - alt511=2; + alt512=2; } break; } - } finally {dbg.exitDecision(511);} + } finally {dbg.exitDecision(512);} - switch (alt511) { + switch (alt512) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:51: less_selector_interpolation_exp { dbg.location(1457,51); - pushFollow(FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp10714); + pushFollow(FOLLOW_less_selector_interpolation_exp_in_less_selector_interpolation_exp10738); less_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -34611,29 +34812,29 @@ else if ( ((LA511_1 >= COLON && LA511_1 <= COMMENT)||(LA511_1 >= DCOLON && LA511 { dbg.location(1457,85); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1457:85: ( IDENT | MINUS | DIMENSION | LENGTH )+ - int cnt510=0; - try { dbg.enterSubRule(510); + int cnt511=0; + try { dbg.enterSubRule(511); - loop510: + loop511: while (true) { - int alt510=2; - try { dbg.enterDecision(510, decisionCanBacktrack[510]); + int alt511=2; + try { dbg.enterDecision(511, decisionCanBacktrack[511]); - int LA510_0 = input.LA(1); - if ( (LA510_0==DIMENSION) ) { - int LA510_2 = input.LA(2); + int LA511_0 = input.LA(1); + if ( (LA511_0==DIMENSION) ) { + int LA511_2 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt510=1; + alt511=1; } } - else if ( (LA510_0==IDENT||LA510_0==LENGTH||LA510_0==MINUS) ) { - alt510=1; + else if ( (LA511_0==IDENT||LA511_0==LENGTH||LA511_0==MINUS) ) { + alt511=1; } - } finally {dbg.exitDecision(510);} + } finally {dbg.exitDecision(511);} - switch (alt510) { + switch (alt511) { case 1 : dbg.enterAlt(1); @@ -34655,22 +34856,22 @@ else if ( (LA510_0==IDENT||LA510_0==LENGTH||LA510_0==MINUS) ) { break; default : - if ( cnt510 >= 1 ) break loop510; + if ( cnt511 >= 1 ) break loop511; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(510, input); + EarlyExitException eee = new EarlyExitException(511, input); dbg.recognitionException(eee); throw eee; } - cnt510++; + cnt511++; } - } finally {dbg.exitSubRule(510);} + } finally {dbg.exitSubRule(511);} } break; } - } finally {dbg.exitSubRule(511);} + } finally {dbg.exitSubRule(512);} } @@ -34711,27 +34912,27 @@ public final void less_selector_interpolation() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:5: AT_SIGN LBRACE ( ws )? IDENT ( ws )? RBRACE { dbg.location(1462,5); - match(input,AT_SIGN,FOLLOW_AT_SIGN_in_less_selector_interpolation10757); if (state.failed) return;dbg.location(1462,13); - match(input,LBRACE,FOLLOW_LBRACE_in_less_selector_interpolation10759); if (state.failed) return;dbg.location(1462,20); + match(input,AT_SIGN,FOLLOW_AT_SIGN_in_less_selector_interpolation10781); if (state.failed) return;dbg.location(1462,13); + match(input,LBRACE,FOLLOW_LBRACE_in_less_selector_interpolation10783); if (state.failed) return;dbg.location(1462,20); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:20: ( ws )? - int alt512=2; - try { dbg.enterSubRule(512); - try { dbg.enterDecision(512, decisionCanBacktrack[512]); + int alt513=2; + try { dbg.enterSubRule(513); + try { dbg.enterDecision(513, decisionCanBacktrack[513]); - int LA512_0 = input.LA(1); - if ( (LA512_0==COMMENT||LA512_0==NL||LA512_0==WS) ) { - alt512=1; + int LA513_0 = input.LA(1); + if ( (LA513_0==COMMENT||LA513_0==NL||LA513_0==WS) ) { + alt513=1; } - } finally {dbg.exitDecision(512);} + } finally {dbg.exitDecision(513);} - switch (alt512) { + switch (alt513) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:20: ws { dbg.location(1462,20); - pushFollow(FOLLOW_ws_in_less_selector_interpolation10761); + pushFollow(FOLLOW_ws_in_less_selector_interpolation10785); ws(); state._fsp--; if (state.failed) return; @@ -34739,28 +34940,28 @@ public final void less_selector_interpolation() throws RecognitionException { break; } - } finally {dbg.exitSubRule(512);} + } finally {dbg.exitSubRule(513);} dbg.location(1462,24); - match(input,IDENT,FOLLOW_IDENT_in_less_selector_interpolation10764); if (state.failed) return;dbg.location(1462,30); + match(input,IDENT,FOLLOW_IDENT_in_less_selector_interpolation10788); if (state.failed) return;dbg.location(1462,30); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:30: ( ws )? - int alt513=2; - try { dbg.enterSubRule(513); - try { dbg.enterDecision(513, decisionCanBacktrack[513]); + int alt514=2; + try { dbg.enterSubRule(514); + try { dbg.enterDecision(514, decisionCanBacktrack[514]); - int LA513_0 = input.LA(1); - if ( (LA513_0==COMMENT||LA513_0==NL||LA513_0==WS) ) { - alt513=1; + int LA514_0 = input.LA(1); + if ( (LA514_0==COMMENT||LA514_0==NL||LA514_0==WS) ) { + alt514=1; } - } finally {dbg.exitDecision(513);} + } finally {dbg.exitDecision(514);} - switch (alt513) { + switch (alt514) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1462:30: ws { dbg.location(1462,30); - pushFollow(FOLLOW_ws_in_less_selector_interpolation10766); + pushFollow(FOLLOW_ws_in_less_selector_interpolation10790); ws(); state._fsp--; if (state.failed) return; @@ -34768,9 +34969,9 @@ public final void less_selector_interpolation() throws RecognitionException { break; } - } finally {dbg.exitSubRule(513);} + } finally {dbg.exitSubRule(514);} dbg.location(1462,34); - match(input,RBRACE,FOLLOW_RBRACE_in_less_selector_interpolation10769); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_less_selector_interpolation10793); if (state.failed) return; } } @@ -34811,17 +35012,17 @@ public final void sass_selector_interpolation_exp() throws RecognitionException { dbg.location(1467,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:5: ( IDENT | MINUS )? - int alt514=2; - try { dbg.enterSubRule(514); - try { dbg.enterDecision(514, decisionCanBacktrack[514]); + int alt515=2; + try { dbg.enterSubRule(515); + try { dbg.enterDecision(515, decisionCanBacktrack[515]); - int LA514_0 = input.LA(1); - if ( (LA514_0==IDENT||LA514_0==MINUS) ) { - alt514=1; + int LA515_0 = input.LA(1); + if ( (LA515_0==IDENT||LA515_0==MINUS) ) { + alt515=1; } - } finally {dbg.exitDecision(514);} + } finally {dbg.exitDecision(515);} - switch (alt514) { + switch (alt515) { case 1 : dbg.enterAlt(1); @@ -34843,68 +35044,68 @@ public final void sass_selector_interpolation_exp() throws RecognitionException break; } - } finally {dbg.exitSubRule(514);} + } finally {dbg.exitSubRule(515);} dbg.location(1467,22); - pushFollow(FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp10796); + pushFollow(FOLLOW_sass_interpolation_expression_var_in_sass_selector_interpolation_exp10820); sass_interpolation_expression_var(); state._fsp--; if (state.failed) return;dbg.location(1467,56); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:56: ( sass_selector_interpolation_exp | ( IDENT | MINUS | DIMENSION | LENGTH )+ )? - int alt516=3; - try { dbg.enterSubRule(516); - try { dbg.enterDecision(516, decisionCanBacktrack[516]); + int alt517=3; + try { dbg.enterSubRule(517); + try { dbg.enterDecision(517, decisionCanBacktrack[517]); switch ( input.LA(1) ) { case IDENT: case MINUS: { - int LA516_1 = input.LA(2); - if ( (LA516_1==HASH_SYMBOL) ) { - int LA516_6 = input.LA(3); - if ( (LA516_6==LBRACE) ) { - alt516=1; + int LA517_1 = input.LA(2); + if ( (LA517_1==HASH_SYMBOL) ) { + int LA517_6 = input.LA(3); + if ( (LA517_6==LBRACE) ) { + alt517=1; } - else if ( (LA516_6==AT_SIGN||LA516_6==IDENT||LA516_6==MINUS||LA516_6==NAME) ) { - alt516=2; + else if ( (LA517_6==AT_SIGN||LA517_6==IDENT||LA517_6==MINUS||LA517_6==NAME) ) { + alt517=2; } } - else if ( ((LA516_1 >= COLON && LA516_1 <= COMMENT)||(LA516_1 >= DCOLON && LA516_1 <= DOT)||LA516_1==GREATER||LA516_1==HASH||LA516_1==IDENT||(LA516_1 >= LBRACE && LA516_1 <= LBRACKET)||LA516_1==LENGTH||LA516_1==LESS_AND||LA516_1==MINUS||LA516_1==NL||LA516_1==PLUS||LA516_1==RBRACE||LA516_1==RPAREN||LA516_1==SASS_EXTEND_ONLY_SELECTOR||LA516_1==SEMI||LA516_1==TILDE||LA516_1==WS) ) { - alt516=2; + else if ( ((LA517_1 >= COLON && LA517_1 <= COMMENT)||(LA517_1 >= DCOLON && LA517_1 <= DOT)||LA517_1==GREATER||LA517_1==HASH||LA517_1==IDENT||(LA517_1 >= LBRACE && LA517_1 <= LBRACKET)||LA517_1==LENGTH||LA517_1==LESS_AND||LA517_1==MINUS||LA517_1==NL||LA517_1==PLUS||LA517_1==RBRACE||LA517_1==RPAREN||LA517_1==SASS_EXTEND_ONLY_SELECTOR||LA517_1==SEMI||LA517_1==TILDE||LA517_1==WS) ) { + alt517=2; } } break; case HASH_SYMBOL: { - int LA516_2 = input.LA(2); - if ( (LA516_2==LBRACE) ) { - alt516=1; + int LA517_2 = input.LA(2); + if ( (LA517_2==LBRACE) ) { + alt517=1; } } break; case DIMENSION: { - int LA516_3 = input.LA(2); + int LA517_3 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt516=2; + alt517=2; } } break; case LENGTH: { - alt516=2; + alt517=2; } break; } - } finally {dbg.exitDecision(516);} + } finally {dbg.exitDecision(517);} - switch (alt516) { + switch (alt517) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:57: sass_selector_interpolation_exp { dbg.location(1467,57); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp10799); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_selector_interpolation_exp10823); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -34917,29 +35118,29 @@ else if ( ((LA516_1 >= COLON && LA516_1 <= COMMENT)||(LA516_1 >= DCOLON && LA516 { dbg.location(1467,91); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1467:91: ( IDENT | MINUS | DIMENSION | LENGTH )+ - int cnt515=0; - try { dbg.enterSubRule(515); + int cnt516=0; + try { dbg.enterSubRule(516); - loop515: + loop516: while (true) { - int alt515=2; - try { dbg.enterDecision(515, decisionCanBacktrack[515]); + int alt516=2; + try { dbg.enterDecision(516, decisionCanBacktrack[516]); - int LA515_0 = input.LA(1); - if ( (LA515_0==DIMENSION) ) { - int LA515_2 = input.LA(2); + int LA516_0 = input.LA(1); + if ( (LA516_0==DIMENSION) ) { + int LA516_2 = input.LA(2); if ( (!(evalPredicate(evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")"),""))) ) { - alt515=1; + alt516=1; } } - else if ( (LA515_0==IDENT||LA515_0==LENGTH||LA515_0==MINUS) ) { - alt515=1; + else if ( (LA516_0==IDENT||LA516_0==LENGTH||LA516_0==MINUS) ) { + alt516=1; } - } finally {dbg.exitDecision(515);} + } finally {dbg.exitDecision(516);} - switch (alt515) { + switch (alt516) { case 1 : dbg.enterAlt(1); @@ -34961,22 +35162,22 @@ else if ( (LA515_0==IDENT||LA515_0==LENGTH||LA515_0==MINUS) ) { break; default : - if ( cnt515 >= 1 ) break loop515; + if ( cnt516 >= 1 ) break loop516; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(515, input); + EarlyExitException eee = new EarlyExitException(516, input); dbg.recognitionException(eee); throw eee; } - cnt515++; + cnt516++; } - } finally {dbg.exitSubRule(515);} + } finally {dbg.exitSubRule(516);} } break; } - } finally {dbg.exitSubRule(516);} + } finally {dbg.exitSubRule(517);} } @@ -35017,63 +35218,63 @@ public final void sass_interpolation_expression_var() throws RecognitionExceptio // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:9: HASH_SYMBOL LBRACE ( WS )? cp_expression ( WS )? RBRACE { dbg.location(1472,9); - match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var10846); if (state.failed) return;dbg.location(1472,21); - match(input,LBRACE,FOLLOW_LBRACE_in_sass_interpolation_expression_var10848); if (state.failed) return;dbg.location(1472,28); + match(input,HASH_SYMBOL,FOLLOW_HASH_SYMBOL_in_sass_interpolation_expression_var10870); if (state.failed) return;dbg.location(1472,21); + match(input,LBRACE,FOLLOW_LBRACE_in_sass_interpolation_expression_var10872); if (state.failed) return;dbg.location(1472,28); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:28: ( WS )? - int alt517=2; - try { dbg.enterSubRule(517); - try { dbg.enterDecision(517, decisionCanBacktrack[517]); + int alt518=2; + try { dbg.enterSubRule(518); + try { dbg.enterDecision(518, decisionCanBacktrack[518]); - int LA517_0 = input.LA(1); - if ( (LA517_0==WS) ) { - alt517=1; + int LA518_0 = input.LA(1); + if ( (LA518_0==WS) ) { + alt518=1; } - } finally {dbg.exitDecision(517);} + } finally {dbg.exitDecision(518);} - switch (alt517) { + switch (alt518) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:28: WS { dbg.location(1472,28); - match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var10850); if (state.failed) return; + match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var10874); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(517);} + } finally {dbg.exitSubRule(518);} dbg.location(1472,32); - pushFollow(FOLLOW_cp_expression_in_sass_interpolation_expression_var10853); + pushFollow(FOLLOW_cp_expression_in_sass_interpolation_expression_var10877); cp_expression(); state._fsp--; if (state.failed) return;dbg.location(1472,46); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:46: ( WS )? - int alt518=2; - try { dbg.enterSubRule(518); - try { dbg.enterDecision(518, decisionCanBacktrack[518]); + int alt519=2; + try { dbg.enterSubRule(519); + try { dbg.enterDecision(519, decisionCanBacktrack[519]); - int LA518_0 = input.LA(1); - if ( (LA518_0==WS) ) { - alt518=1; + int LA519_0 = input.LA(1); + if ( (LA519_0==WS) ) { + alt519=1; } - } finally {dbg.exitDecision(518);} + } finally {dbg.exitDecision(519);} - switch (alt518) { + switch (alt519) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1472:46: WS { dbg.location(1472,46); - match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var10855); if (state.failed) return; + match(input,WS,FOLLOW_WS_in_sass_interpolation_expression_var10879); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(518);} + } finally {dbg.exitSubRule(519);} dbg.location(1472,50); - match(input,RBRACE,FOLLOW_RBRACE_in_sass_interpolation_expression_var10858); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_sass_interpolation_expression_var10882); if (state.failed) return; } } @@ -35113,29 +35314,29 @@ public final void sass_nested_properties() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:5: property ( ws )? COLON ( ws )? ( propertyValue ( ws )? )? LBRACE ( ws )? syncToFollow ( declarations )? RBRACE { dbg.location(1495,5); - pushFollow(FOLLOW_property_in_sass_nested_properties10898); + pushFollow(FOLLOW_property_in_sass_nested_properties10922); property(); state._fsp--; if (state.failed) return;dbg.location(1495,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:14: ( ws )? - int alt519=2; - try { dbg.enterSubRule(519); - try { dbg.enterDecision(519, decisionCanBacktrack[519]); + int alt520=2; + try { dbg.enterSubRule(520); + try { dbg.enterDecision(520, decisionCanBacktrack[520]); - int LA519_0 = input.LA(1); - if ( (LA519_0==COMMENT||LA519_0==NL||LA519_0==WS) ) { - alt519=1; + int LA520_0 = input.LA(1); + if ( (LA520_0==COMMENT||LA520_0==NL||LA520_0==WS) ) { + alt520=1; } - } finally {dbg.exitDecision(519);} + } finally {dbg.exitDecision(520);} - switch (alt519) { + switch (alt520) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:14: ws { dbg.location(1495,14); - pushFollow(FOLLOW_ws_in_sass_nested_properties10900); + pushFollow(FOLLOW_ws_in_sass_nested_properties10924); ws(); state._fsp--; if (state.failed) return; @@ -35143,28 +35344,28 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(519);} + } finally {dbg.exitSubRule(520);} dbg.location(1495,18); - match(input,COLON,FOLLOW_COLON_in_sass_nested_properties10903); if (state.failed) return;dbg.location(1495,24); + match(input,COLON,FOLLOW_COLON_in_sass_nested_properties10927); if (state.failed) return;dbg.location(1495,24); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:24: ( ws )? - int alt520=2; - try { dbg.enterSubRule(520); - try { dbg.enterDecision(520, decisionCanBacktrack[520]); + int alt521=2; + try { dbg.enterSubRule(521); + try { dbg.enterDecision(521, decisionCanBacktrack[521]); - int LA520_0 = input.LA(1); - if ( (LA520_0==COMMENT||LA520_0==NL||LA520_0==WS) ) { - alt520=1; + int LA521_0 = input.LA(1); + if ( (LA521_0==COMMENT||LA521_0==NL||LA521_0==WS) ) { + alt521=1; } - } finally {dbg.exitDecision(520);} + } finally {dbg.exitDecision(521);} - switch (alt520) { + switch (alt521) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:24: ws { dbg.location(1495,24); - pushFollow(FOLLOW_ws_in_sass_nested_properties10905); + pushFollow(FOLLOW_ws_in_sass_nested_properties10929); ws(); state._fsp--; if (state.failed) return; @@ -35172,49 +35373,49 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(520);} + } finally {dbg.exitSubRule(521);} dbg.location(1495,28); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:28: ( propertyValue ( ws )? )? - int alt522=2; - try { dbg.enterSubRule(522); - try { dbg.enterDecision(522, decisionCanBacktrack[522]); + int alt523=2; + try { dbg.enterSubRule(523); + try { dbg.enterDecision(523, decisionCanBacktrack[523]); - int LA522_0 = input.LA(1); - if ( ((LA522_0 >= ANGLE && LA522_0 <= AT_SIGN)||(LA522_0 >= BOTTOMCENTER_SYM && LA522_0 <= BOTTOMRIGHT_SYM)||LA522_0==CHARSET_SYM||LA522_0==COUNTER_STYLE_SYM||LA522_0==DIMENSION||LA522_0==EMS||LA522_0==EXS||(LA522_0 >= FONT_FACE_SYM && LA522_0 <= FREQ)||LA522_0==GEN||(LA522_0 >= HASH && LA522_0 <= HASH_SYMBOL)||LA522_0==IDENT||LA522_0==IMPORT_SYM||(LA522_0 >= LBRACKET && LA522_0 <= LENGTH)||(LA522_0 >= LESS_AND && LA522_0 <= LESS_JS_STRING)||(LA522_0 >= MEDIA_SYM && LA522_0 <= MOZ_DOCUMENT_SYM)||LA522_0==NAMESPACE_SYM||LA522_0==NUMBER||(LA522_0 >= PAGE_SYM && LA522_0 <= PERCENTAGE_SYMBOL)||LA522_0==PLUS||(LA522_0 >= REM && LA522_0 <= RIGHTTOP_SYM)||(LA522_0 >= SASS_AT_ROOT && LA522_0 <= SASS_DEBUG)||(LA522_0 >= SASS_EACH && LA522_0 <= SASS_ELSE)||LA522_0==SASS_EXTEND||(LA522_0 >= SASS_FOR && LA522_0 <= SASS_FUNCTION)||(LA522_0 >= SASS_IF && LA522_0 <= SASS_MIXIN)||(LA522_0 >= SASS_RETURN && LA522_0 <= SASS_WHILE)||LA522_0==STRING||(LA522_0 >= TILDE && LA522_0 <= TOPRIGHT_SYM)||(LA522_0 >= URANGE && LA522_0 <= URI)||LA522_0==VARIABLE||LA522_0==WEBKIT_KEYFRAMES_SYM) ) { - alt522=1; + int LA523_0 = input.LA(1); + if ( ((LA523_0 >= ANGLE && LA523_0 <= AT_SIGN)||(LA523_0 >= BOTTOMCENTER_SYM && LA523_0 <= BOTTOMRIGHT_SYM)||LA523_0==CHARSET_SYM||LA523_0==COUNTER_STYLE_SYM||LA523_0==DIMENSION||LA523_0==EMS||LA523_0==EXS||(LA523_0 >= FONT_FACE_SYM && LA523_0 <= FREQ)||LA523_0==GEN||(LA523_0 >= HASH && LA523_0 <= HASH_SYMBOL)||LA523_0==IDENT||LA523_0==IMPORT_SYM||LA523_0==KEYFRAMES_SYM||(LA523_0 >= LBRACKET && LA523_0 <= LENGTH)||(LA523_0 >= LESS_AND && LA523_0 <= LESS_JS_STRING)||(LA523_0 >= MEDIA_SYM && LA523_0 <= MOZ_DOCUMENT_SYM)||LA523_0==NAMESPACE_SYM||LA523_0==NUMBER||(LA523_0 >= PAGE_SYM && LA523_0 <= PERCENTAGE_SYMBOL)||LA523_0==PLUS||(LA523_0 >= REM && LA523_0 <= RIGHTTOP_SYM)||(LA523_0 >= SASS_AT_ROOT && LA523_0 <= SASS_DEBUG)||(LA523_0 >= SASS_EACH && LA523_0 <= SASS_ELSE)||LA523_0==SASS_EXTEND||(LA523_0 >= SASS_FOR && LA523_0 <= SASS_FUNCTION)||(LA523_0 >= SASS_IF && LA523_0 <= SASS_MIXIN)||(LA523_0 >= SASS_RETURN && LA523_0 <= SASS_WHILE)||LA523_0==STRING||(LA523_0 >= TILDE && LA523_0 <= TOPRIGHT_SYM)||(LA523_0 >= URANGE && LA523_0 <= URI)||LA523_0==VARIABLE||LA523_0==WEBKIT_KEYFRAMES_SYM) ) { + alt523=1; } - } finally {dbg.exitDecision(522);} + } finally {dbg.exitDecision(523);} - switch (alt522) { + switch (alt523) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:29: propertyValue ( ws )? { dbg.location(1495,29); - pushFollow(FOLLOW_propertyValue_in_sass_nested_properties10909); + pushFollow(FOLLOW_propertyValue_in_sass_nested_properties10933); propertyValue(); state._fsp--; if (state.failed) return;dbg.location(1495,43); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:43: ( ws )? - int alt521=2; - try { dbg.enterSubRule(521); - try { dbg.enterDecision(521, decisionCanBacktrack[521]); + int alt522=2; + try { dbg.enterSubRule(522); + try { dbg.enterDecision(522, decisionCanBacktrack[522]); - int LA521_0 = input.LA(1); - if ( (LA521_0==COMMENT||LA521_0==NL||LA521_0==WS) ) { - alt521=1; + int LA522_0 = input.LA(1); + if ( (LA522_0==COMMENT||LA522_0==NL||LA522_0==WS) ) { + alt522=1; } - } finally {dbg.exitDecision(521);} + } finally {dbg.exitDecision(522);} - switch (alt521) { + switch (alt522) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:43: ws { dbg.location(1495,43); - pushFollow(FOLLOW_ws_in_sass_nested_properties10911); + pushFollow(FOLLOW_ws_in_sass_nested_properties10935); ws(); state._fsp--; if (state.failed) return; @@ -35222,34 +35423,34 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(521);} + } finally {dbg.exitSubRule(522);} } break; } - } finally {dbg.exitSubRule(522);} + } finally {dbg.exitSubRule(523);} dbg.location(1495,49); - match(input,LBRACE,FOLLOW_LBRACE_in_sass_nested_properties10916); if (state.failed) return;dbg.location(1495,56); + match(input,LBRACE,FOLLOW_LBRACE_in_sass_nested_properties10940); if (state.failed) return;dbg.location(1495,56); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:56: ( ws )? - int alt523=2; - try { dbg.enterSubRule(523); - try { dbg.enterDecision(523, decisionCanBacktrack[523]); + int alt524=2; + try { dbg.enterSubRule(524); + try { dbg.enterDecision(524, decisionCanBacktrack[524]); - int LA523_0 = input.LA(1); - if ( (LA523_0==COMMENT||LA523_0==NL||LA523_0==WS) ) { - alt523=1; + int LA524_0 = input.LA(1); + if ( (LA524_0==COMMENT||LA524_0==NL||LA524_0==WS) ) { + alt524=1; } - } finally {dbg.exitDecision(523);} + } finally {dbg.exitDecision(524);} - switch (alt523) { + switch (alt524) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:56: ws { dbg.location(1495,56); - pushFollow(FOLLOW_ws_in_sass_nested_properties10918); + pushFollow(FOLLOW_ws_in_sass_nested_properties10942); ws(); state._fsp--; if (state.failed) return; @@ -35257,31 +35458,31 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(523);} + } finally {dbg.exitSubRule(524);} dbg.location(1495,60); - pushFollow(FOLLOW_syncToFollow_in_sass_nested_properties10921); + pushFollow(FOLLOW_syncToFollow_in_sass_nested_properties10945); syncToFollow(); state._fsp--; if (state.failed) return;dbg.location(1495,73); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:73: ( declarations )? - int alt524=2; - try { dbg.enterSubRule(524); - try { dbg.enterDecision(524, decisionCanBacktrack[524]); + int alt525=2; + try { dbg.enterSubRule(525); + try { dbg.enterDecision(525, decisionCanBacktrack[525]); - int LA524_0 = input.LA(1); - if ( ((LA524_0 >= AT_IDENT && LA524_0 <= AT_SIGN)||(LA524_0 >= BOTTOMCENTER_SYM && LA524_0 <= BOTTOMRIGHT_SYM)||(LA524_0 >= CHARSET_SYM && LA524_0 <= COLON)||LA524_0==CONTAINER_SYM||LA524_0==COUNTER_STYLE_SYM||(LA524_0 >= DCOLON && LA524_0 <= DOT)||LA524_0==FONT_FACE_SYM||(LA524_0 >= GEN && LA524_0 <= GREATER)||(LA524_0 >= HASH && LA524_0 <= HASH_SYMBOL)||LA524_0==IDENT||LA524_0==IMPORT_SYM||LA524_0==LAYER_SYM||(LA524_0 >= LBRACKET && LA524_0 <= LEFTTOP_SYM)||LA524_0==LESS_AND||(LA524_0 >= MEDIA_SYM && LA524_0 <= MOZ_DOCUMENT_SYM)||LA524_0==NAMESPACE_SYM||LA524_0==PAGE_SYM||(LA524_0 >= PIPE && LA524_0 <= PLUS)||(LA524_0 >= RIGHTBOTTOM_SYM && LA524_0 <= RIGHTTOP_SYM)||(LA524_0 >= SASS_AT_ROOT && LA524_0 <= SASS_DEBUG)||(LA524_0 >= SASS_EACH && LA524_0 <= SASS_ELSE)||(LA524_0 >= SASS_ERROR && LA524_0 <= SASS_FUNCTION)||(LA524_0 >= SASS_IF && LA524_0 <= SASS_MIXIN)||(LA524_0 >= SASS_RETURN && LA524_0 <= SEMI)||LA524_0==STAR||LA524_0==SUPPORTS_SYM||LA524_0==TILDE||(LA524_0 >= TOPCENTER_SYM && LA524_0 <= TOPRIGHT_SYM)||LA524_0==VARIABLE||LA524_0==WEBKIT_KEYFRAMES_SYM) ) { - alt524=1; + int LA525_0 = input.LA(1); + if ( ((LA525_0 >= AT_IDENT && LA525_0 <= AT_SIGN)||(LA525_0 >= BOTTOMCENTER_SYM && LA525_0 <= BOTTOMRIGHT_SYM)||(LA525_0 >= CHARSET_SYM && LA525_0 <= COLON)||LA525_0==CONTAINER_SYM||LA525_0==COUNTER_STYLE_SYM||(LA525_0 >= DCOLON && LA525_0 <= DOT)||LA525_0==FONT_FACE_SYM||(LA525_0 >= GEN && LA525_0 <= GREATER)||(LA525_0 >= HASH && LA525_0 <= HASH_SYMBOL)||LA525_0==IDENT||LA525_0==IMPORT_SYM||LA525_0==KEYFRAMES_SYM||LA525_0==LAYER_SYM||(LA525_0 >= LBRACKET && LA525_0 <= LEFTTOP_SYM)||LA525_0==LESS_AND||(LA525_0 >= MEDIA_SYM && LA525_0 <= MOZ_DOCUMENT_SYM)||LA525_0==NAMESPACE_SYM||LA525_0==PAGE_SYM||(LA525_0 >= PIPE && LA525_0 <= PLUS)||(LA525_0 >= RIGHTBOTTOM_SYM && LA525_0 <= RIGHTTOP_SYM)||(LA525_0 >= SASS_AT_ROOT && LA525_0 <= SASS_DEBUG)||(LA525_0 >= SASS_EACH && LA525_0 <= SASS_ELSE)||(LA525_0 >= SASS_ERROR && LA525_0 <= SASS_FUNCTION)||(LA525_0 >= SASS_IF && LA525_0 <= SASS_MIXIN)||(LA525_0 >= SASS_RETURN && LA525_0 <= SEMI)||LA525_0==STAR||LA525_0==SUPPORTS_SYM||LA525_0==TILDE||(LA525_0 >= TOPCENTER_SYM && LA525_0 <= TOPRIGHT_SYM)||LA525_0==VARIABLE||LA525_0==WEBKIT_KEYFRAMES_SYM) ) { + alt525=1; } - } finally {dbg.exitDecision(524);} + } finally {dbg.exitDecision(525);} - switch (alt524) { + switch (alt525) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1495:73: declarations { dbg.location(1495,73); - pushFollow(FOLLOW_declarations_in_sass_nested_properties10923); + pushFollow(FOLLOW_declarations_in_sass_nested_properties10947); declarations(); state._fsp--; if (state.failed) return; @@ -35289,9 +35490,9 @@ public final void sass_nested_properties() throws RecognitionException { break; } - } finally {dbg.exitSubRule(524);} + } finally {dbg.exitSubRule(525);} dbg.location(1495,87); - match(input,RBRACE,FOLLOW_RBRACE_in_sass_nested_properties10926); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_sass_nested_properties10950); if (state.failed) return; } } @@ -35331,34 +35532,34 @@ public final void sass_extend() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:5: SASS_EXTEND ws simpleSelectorSequence ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* ( ws SASS_OPTIONAL )? { dbg.location(1500,5); - match(input,SASS_EXTEND,FOLLOW_SASS_EXTEND_in_sass_extend10947); if (state.failed) return;dbg.location(1500,17); - pushFollow(FOLLOW_ws_in_sass_extend10949); + match(input,SASS_EXTEND,FOLLOW_SASS_EXTEND_in_sass_extend10971); if (state.failed) return;dbg.location(1500,17); + pushFollow(FOLLOW_ws_in_sass_extend10973); ws(); state._fsp--; if (state.failed) return;dbg.location(1500,20); - pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend10951); + pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend10975); simpleSelectorSequence(); state._fsp--; if (state.failed) return;dbg.location(1500,43); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:43: ( ( ws )? COMMA ( ws )? simpleSelectorSequence )* - try { dbg.enterSubRule(527); + try { dbg.enterSubRule(528); - loop527: + loop528: while (true) { - int alt527=2; - try { dbg.enterDecision(527, decisionCanBacktrack[527]); + int alt528=2; + try { dbg.enterDecision(528, decisionCanBacktrack[528]); try { isCyclicDecision = true; - alt527 = dfa527.predict(input); + alt528 = dfa528.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(527);} + } finally {dbg.exitDecision(528);} - switch (alt527) { + switch (alt528) { case 1 : dbg.enterAlt(1); @@ -35366,24 +35567,24 @@ public final void sass_extend() throws RecognitionException { { dbg.location(1500,44); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:44: ( ws )? - int alt525=2; - try { dbg.enterSubRule(525); - try { dbg.enterDecision(525, decisionCanBacktrack[525]); + int alt526=2; + try { dbg.enterSubRule(526); + try { dbg.enterDecision(526, decisionCanBacktrack[526]); - int LA525_0 = input.LA(1); - if ( (LA525_0==COMMENT||LA525_0==NL||LA525_0==WS) ) { - alt525=1; + int LA526_0 = input.LA(1); + if ( (LA526_0==COMMENT||LA526_0==NL||LA526_0==WS) ) { + alt526=1; } - } finally {dbg.exitDecision(525);} + } finally {dbg.exitDecision(526);} - switch (alt525) { + switch (alt526) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:44: ws { dbg.location(1500,44); - pushFollow(FOLLOW_ws_in_sass_extend10954); + pushFollow(FOLLOW_ws_in_sass_extend10978); ws(); state._fsp--; if (state.failed) return; @@ -35391,28 +35592,28 @@ public final void sass_extend() throws RecognitionException { break; } - } finally {dbg.exitSubRule(525);} + } finally {dbg.exitSubRule(526);} dbg.location(1500,48); - match(input,COMMA,FOLLOW_COMMA_in_sass_extend10957); if (state.failed) return;dbg.location(1500,54); + match(input,COMMA,FOLLOW_COMMA_in_sass_extend10981); if (state.failed) return;dbg.location(1500,54); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:54: ( ws )? - int alt526=2; - try { dbg.enterSubRule(526); - try { dbg.enterDecision(526, decisionCanBacktrack[526]); + int alt527=2; + try { dbg.enterSubRule(527); + try { dbg.enterDecision(527, decisionCanBacktrack[527]); - int LA526_0 = input.LA(1); - if ( (LA526_0==COMMENT||LA526_0==NL||LA526_0==WS) ) { - alt526=1; + int LA527_0 = input.LA(1); + if ( (LA527_0==COMMENT||LA527_0==NL||LA527_0==WS) ) { + alt527=1; } - } finally {dbg.exitDecision(526);} + } finally {dbg.exitDecision(527);} - switch (alt526) { + switch (alt527) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:54: ws { dbg.location(1500,54); - pushFollow(FOLLOW_ws_in_sass_extend10959); + pushFollow(FOLLOW_ws_in_sass_extend10983); ws(); state._fsp--; if (state.failed) return; @@ -35420,9 +35621,9 @@ public final void sass_extend() throws RecognitionException { break; } - } finally {dbg.exitSubRule(526);} + } finally {dbg.exitSubRule(527);} dbg.location(1500,58); - pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend10962); + pushFollow(FOLLOW_simpleSelectorSequence_in_sass_extend10986); simpleSelectorSequence(); state._fsp--; if (state.failed) return; @@ -35430,43 +35631,43 @@ public final void sass_extend() throws RecognitionException { break; default : - break loop527; + break loop528; } } - } finally {dbg.exitSubRule(527);} + } finally {dbg.exitSubRule(528);} dbg.location(1500,83); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:83: ( ws SASS_OPTIONAL )? - int alt528=2; - try { dbg.enterSubRule(528); - try { dbg.enterDecision(528, decisionCanBacktrack[528]); + int alt529=2; + try { dbg.enterSubRule(529); + try { dbg.enterDecision(529, decisionCanBacktrack[529]); try { isCyclicDecision = true; - alt528 = dfa528.predict(input); + alt529 = dfa529.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(528);} + } finally {dbg.exitDecision(529);} - switch (alt528) { + switch (alt529) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1500:84: ws SASS_OPTIONAL { dbg.location(1500,84); - pushFollow(FOLLOW_ws_in_sass_extend10967); + pushFollow(FOLLOW_ws_in_sass_extend10991); ws(); state._fsp--; if (state.failed) return;dbg.location(1500,87); - match(input,SASS_OPTIONAL,FOLLOW_SASS_OPTIONAL_in_sass_extend10969); if (state.failed) return; + match(input,SASS_OPTIONAL,FOLLOW_SASS_OPTIONAL_in_sass_extend10993); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(528);} + } finally {dbg.exitSubRule(529);} } @@ -35507,32 +35708,32 @@ public final void sass_extend_only_selector() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:5: SASS_EXTEND_ONLY_SELECTOR ( sass_selector_interpolation_exp )? { dbg.location(1505,5); - match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector10992); if (state.failed) return;dbg.location(1505,31); + match(input,SASS_EXTEND_ONLY_SELECTOR,FOLLOW_SASS_EXTEND_ONLY_SELECTOR_in_sass_extend_only_selector11016); if (state.failed) return;dbg.location(1505,31); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:31: ( sass_selector_interpolation_exp )? - int alt529=2; - try { dbg.enterSubRule(529); - try { dbg.enterDecision(529, decisionCanBacktrack[529]); + int alt530=2; + try { dbg.enterSubRule(530); + try { dbg.enterDecision(530, decisionCanBacktrack[530]); - int LA529_0 = input.LA(1); - if ( (LA529_0==IDENT||LA529_0==MINUS) ) { - alt529=1; + int LA530_0 = input.LA(1); + if ( (LA530_0==IDENT||LA530_0==MINUS) ) { + alt530=1; } - else if ( (LA529_0==HASH_SYMBOL) ) { - int LA529_2 = input.LA(2); - if ( (LA529_2==LBRACE) ) { - alt529=1; + else if ( (LA530_0==HASH_SYMBOL) ) { + int LA530_2 = input.LA(2); + if ( (LA530_2==LBRACE) ) { + alt530=1; } } - } finally {dbg.exitDecision(529);} + } finally {dbg.exitDecision(530);} - switch (alt529) { + switch (alt530) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1505:31: sass_selector_interpolation_exp { dbg.location(1505,31); - pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector10994); + pushFollow(FOLLOW_sass_selector_interpolation_exp_in_sass_extend_only_selector11018); sass_selector_interpolation_exp(); state._fsp--; if (state.failed) return; @@ -35540,7 +35741,7 @@ else if ( (LA529_0==HASH_SYMBOL) ) { break; } - } finally {dbg.exitSubRule(529);} + } finally {dbg.exitSubRule(530);} } @@ -35592,11 +35793,11 @@ public final void sass_debug() throws RecognitionException { dbg.recognitionException(mse); throw mse; }dbg.location(1510,32); - pushFollow(FOLLOW_ws_in_sass_debug11026); + pushFollow(FOLLOW_ws_in_sass_debug11050); ws(); state._fsp--; if (state.failed) return;dbg.location(1510,35); - pushFollow(FOLLOW_cp_expression_in_sass_debug11028); + pushFollow(FOLLOW_cp_expression_in_sass_debug11052); cp_expression(); state._fsp--; if (state.failed) return; @@ -35639,12 +35840,12 @@ public final void sass_error() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1515:5: SASS_ERROR ws STRING { dbg.location(1515,5); - match(input,SASS_ERROR,FOLLOW_SASS_ERROR_in_sass_error11049); if (state.failed) return;dbg.location(1515,16); - pushFollow(FOLLOW_ws_in_sass_error11051); + match(input,SASS_ERROR,FOLLOW_SASS_ERROR_in_sass_error11073); if (state.failed) return;dbg.location(1515,16); + pushFollow(FOLLOW_ws_in_sass_error11075); ws(); state._fsp--; if (state.failed) return;dbg.location(1515,19); - match(input,STRING,FOLLOW_STRING_in_sass_error11053); if (state.failed) return; + match(input,STRING,FOLLOW_STRING_in_sass_error11077); if (state.failed) return; } } @@ -35679,47 +35880,47 @@ public final void sass_control() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1519:5: ( sass_if | sass_for | sass_each | sass_while ) - int alt530=4; - try { dbg.enterDecision(530, decisionCanBacktrack[530]); + int alt531=4; + try { dbg.enterDecision(531, decisionCanBacktrack[531]); switch ( input.LA(1) ) { case SASS_IF: { - alt530=1; + alt531=1; } break; case SASS_FOR: { - alt530=2; + alt531=2; } break; case SASS_EACH: { - alt530=3; + alt531=3; } break; case SASS_WHILE: { - alt530=4; + alt531=4; } break; default: if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 530, 0, input); + new NoViableAltException("", 531, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(530);} + } finally {dbg.exitDecision(531);} - switch (alt530) { + switch (alt531) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:5: sass_if { dbg.location(1520,5); - pushFollow(FOLLOW_sass_if_in_sass_control11074); + pushFollow(FOLLOW_sass_if_in_sass_control11098); sass_if(); state._fsp--; if (state.failed) return; @@ -35731,7 +35932,7 @@ public final void sass_control() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:15: sass_for { dbg.location(1520,15); - pushFollow(FOLLOW_sass_for_in_sass_control11078); + pushFollow(FOLLOW_sass_for_in_sass_control11102); sass_for(); state._fsp--; if (state.failed) return; @@ -35743,7 +35944,7 @@ public final void sass_control() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:26: sass_each { dbg.location(1520,26); - pushFollow(FOLLOW_sass_each_in_sass_control11082); + pushFollow(FOLLOW_sass_each_in_sass_control11106); sass_each(); state._fsp--; if (state.failed) return; @@ -35755,7 +35956,7 @@ public final void sass_control() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1520:38: sass_while { dbg.location(1520,38); - pushFollow(FOLLOW_sass_while_in_sass_control11086); + pushFollow(FOLLOW_sass_while_in_sass_control11110); sass_while(); state._fsp--; if (state.failed) return; @@ -35800,26 +36001,26 @@ public final void sass_if() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:5: SASS_IF ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? { dbg.location(1525,5); - match(input,SASS_IF,FOLLOW_SASS_IF_in_sass_if11107); if (state.failed) return;dbg.location(1525,13); + match(input,SASS_IF,FOLLOW_SASS_IF_in_sass_if11131); if (state.failed) return;dbg.location(1525,13); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:13: ( ws )? - int alt531=2; - try { dbg.enterSubRule(531); - try { dbg.enterDecision(531, decisionCanBacktrack[531]); + int alt532=2; + try { dbg.enterSubRule(532); + try { dbg.enterDecision(532, decisionCanBacktrack[532]); - int LA531_0 = input.LA(1); - if ( (LA531_0==COMMENT||LA531_0==NL||LA531_0==WS) ) { - alt531=1; + int LA532_0 = input.LA(1); + if ( (LA532_0==COMMENT||LA532_0==NL||LA532_0==WS) ) { + alt532=1; } - } finally {dbg.exitDecision(531);} + } finally {dbg.exitDecision(532);} - switch (alt531) { + switch (alt532) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:13: ws { dbg.location(1525,13); - pushFollow(FOLLOW_ws_in_sass_if11109); + pushFollow(FOLLOW_ws_in_sass_if11133); ws(); state._fsp--; if (state.failed) return; @@ -35827,31 +36028,31 @@ public final void sass_if() throws RecognitionException { break; } - } finally {dbg.exitSubRule(531);} + } finally {dbg.exitSubRule(532);} dbg.location(1525,17); - pushFollow(FOLLOW_sass_control_expression_in_sass_if11112); + pushFollow(FOLLOW_sass_control_expression_in_sass_if11136); sass_control_expression(); state._fsp--; if (state.failed) return;dbg.location(1525,41); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:41: ( ws )? - int alt532=2; - try { dbg.enterSubRule(532); - try { dbg.enterDecision(532, decisionCanBacktrack[532]); + int alt533=2; + try { dbg.enterSubRule(533); + try { dbg.enterDecision(533, decisionCanBacktrack[533]); - int LA532_0 = input.LA(1); - if ( (LA532_0==COMMENT||LA532_0==NL||LA532_0==WS) ) { - alt532=1; + int LA533_0 = input.LA(1); + if ( (LA533_0==COMMENT||LA533_0==NL||LA533_0==WS) ) { + alt533=1; } - } finally {dbg.exitDecision(532);} + } finally {dbg.exitDecision(533);} - switch (alt532) { + switch (alt533) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:41: ws { dbg.location(1525,41); - pushFollow(FOLLOW_ws_in_sass_if11114); + pushFollow(FOLLOW_ws_in_sass_if11138); ws(); state._fsp--; if (state.failed) return; @@ -35859,28 +36060,28 @@ public final void sass_if() throws RecognitionException { break; } - } finally {dbg.exitSubRule(532);} + } finally {dbg.exitSubRule(533);} dbg.location(1525,45); - pushFollow(FOLLOW_sass_control_block_in_sass_if11117); + pushFollow(FOLLOW_sass_control_block_in_sass_if11141); sass_control_block(); state._fsp--; if (state.failed) return;dbg.location(1525,64); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:64: ( ( ws )? sass_else )? - int alt534=2; - try { dbg.enterSubRule(534); - try { dbg.enterDecision(534, decisionCanBacktrack[534]); + int alt535=2; + try { dbg.enterSubRule(535); + try { dbg.enterDecision(535, decisionCanBacktrack[535]); try { isCyclicDecision = true; - alt534 = dfa534.predict(input); + alt535 = dfa535.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(534);} + } finally {dbg.exitDecision(535);} - switch (alt534) { + switch (alt535) { case 1 : dbg.enterAlt(1); @@ -35888,24 +36089,24 @@ public final void sass_if() throws RecognitionException { { dbg.location(1525,65); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:65: ( ws )? - int alt533=2; - try { dbg.enterSubRule(533); - try { dbg.enterDecision(533, decisionCanBacktrack[533]); + int alt534=2; + try { dbg.enterSubRule(534); + try { dbg.enterDecision(534, decisionCanBacktrack[534]); - int LA533_0 = input.LA(1); - if ( (LA533_0==COMMENT||LA533_0==NL||LA533_0==WS) ) { - alt533=1; + int LA534_0 = input.LA(1); + if ( (LA534_0==COMMENT||LA534_0==NL||LA534_0==WS) ) { + alt534=1; } - } finally {dbg.exitDecision(533);} + } finally {dbg.exitDecision(534);} - switch (alt533) { + switch (alt534) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1525:65: ws { dbg.location(1525,65); - pushFollow(FOLLOW_ws_in_sass_if11120); + pushFollow(FOLLOW_ws_in_sass_if11144); ws(); state._fsp--; if (state.failed) return; @@ -35913,9 +36114,9 @@ public final void sass_if() throws RecognitionException { break; } - } finally {dbg.exitSubRule(533);} + } finally {dbg.exitSubRule(534);} dbg.location(1525,69); - pushFollow(FOLLOW_sass_else_in_sass_if11123); + pushFollow(FOLLOW_sass_else_in_sass_if11147); sass_else(); state._fsp--; if (state.failed) return; @@ -35923,7 +36124,7 @@ public final void sass_if() throws RecognitionException { break; } - } finally {dbg.exitSubRule(534);} + } finally {dbg.exitSubRule(535);} } @@ -35959,46 +36160,46 @@ public final void sass_else() throws RecognitionException { try { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1529:5: ( SASS_ELSE ( ws )? sass_control_block | ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) ( ws )? sass_control_expression ( ws )? sass_control_block ( ( ws )? sass_else )? ) - int alt542=2; - try { dbg.enterDecision(542, decisionCanBacktrack[542]); + int alt543=2; + try { dbg.enterDecision(543, decisionCanBacktrack[543]); try { isCyclicDecision = true; - alt542 = dfa542.predict(input); + alt543 = dfa543.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(542);} + } finally {dbg.exitDecision(543);} - switch (alt542) { + switch (alt543) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:5: SASS_ELSE ( ws )? sass_control_block { dbg.location(1530,5); - match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else11146); if (state.failed) return;dbg.location(1530,15); + match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else11170); if (state.failed) return;dbg.location(1530,15); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:15: ( ws )? - int alt535=2; - try { dbg.enterSubRule(535); - try { dbg.enterDecision(535, decisionCanBacktrack[535]); + int alt536=2; + try { dbg.enterSubRule(536); + try { dbg.enterDecision(536, decisionCanBacktrack[536]); - int LA535_0 = input.LA(1); - if ( (LA535_0==COMMENT||LA535_0==NL||LA535_0==WS) ) { - alt535=1; + int LA536_0 = input.LA(1); + if ( (LA536_0==COMMENT||LA536_0==NL||LA536_0==WS) ) { + alt536=1; } - } finally {dbg.exitDecision(535);} + } finally {dbg.exitDecision(536);} - switch (alt535) { + switch (alt536) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1530:15: ws { dbg.location(1530,15); - pushFollow(FOLLOW_ws_in_sass_else11148); + pushFollow(FOLLOW_ws_in_sass_else11172); ws(); state._fsp--; if (state.failed) return; @@ -36006,9 +36207,9 @@ public final void sass_else() throws RecognitionException { break; } - } finally {dbg.exitSubRule(535);} + } finally {dbg.exitSubRule(536);} dbg.location(1530,19); - pushFollow(FOLLOW_sass_control_block_in_sass_else11151); + pushFollow(FOLLOW_sass_control_block_in_sass_else11175); sass_control_block(); state._fsp--; if (state.failed) return; @@ -36021,29 +36222,29 @@ public final void sass_else() throws RecognitionException { { dbg.location(1532,5); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:5: ( ( SASS_ELSE ( ws )? {...}? IDENT ) | SASS_ELSEIF ) - int alt537=2; - try { dbg.enterSubRule(537); - try { dbg.enterDecision(537, decisionCanBacktrack[537]); + int alt538=2; + try { dbg.enterSubRule(538); + try { dbg.enterDecision(538, decisionCanBacktrack[538]); - int LA537_0 = input.LA(1); - if ( (LA537_0==SASS_ELSE) ) { - alt537=1; + int LA538_0 = input.LA(1); + if ( (LA538_0==SASS_ELSE) ) { + alt538=1; } - else if ( (LA537_0==SASS_ELSEIF) ) { - alt537=2; + else if ( (LA538_0==SASS_ELSEIF) ) { + alt538=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 537, 0, input); + new NoViableAltException("", 538, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(537);} + } finally {dbg.exitDecision(538);} - switch (alt537) { + switch (alt538) { case 1 : dbg.enterAlt(1); @@ -36056,26 +36257,26 @@ else if ( (LA537_0==SASS_ELSEIF) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:7: SASS_ELSE ( ws )? {...}? IDENT { dbg.location(1532,7); - match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else11165); if (state.failed) return;dbg.location(1532,17); + match(input,SASS_ELSE,FOLLOW_SASS_ELSE_in_sass_else11189); if (state.failed) return;dbg.location(1532,17); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:17: ( ws )? - int alt536=2; - try { dbg.enterSubRule(536); - try { dbg.enterDecision(536, decisionCanBacktrack[536]); + int alt537=2; + try { dbg.enterSubRule(537); + try { dbg.enterDecision(537, decisionCanBacktrack[537]); - int LA536_0 = input.LA(1); - if ( (LA536_0==COMMENT||LA536_0==NL||LA536_0==WS) ) { - alt536=1; + int LA537_0 = input.LA(1); + if ( (LA537_0==COMMENT||LA537_0==NL||LA537_0==WS) ) { + alt537=1; } - } finally {dbg.exitDecision(536);} + } finally {dbg.exitDecision(537);} - switch (alt536) { + switch (alt537) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:17: ws { dbg.location(1532,17); - pushFollow(FOLLOW_ws_in_sass_else11167); + pushFollow(FOLLOW_ws_in_sass_else11191); ws(); state._fsp--; if (state.failed) return; @@ -36083,13 +36284,13 @@ else if ( (LA537_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(536);} + } finally {dbg.exitSubRule(537);} dbg.location(1532,21); if ( !(evalPredicate(tokenNameEquals("if"),"tokenNameEquals(\"if\")")) ) { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "sass_else", "tokenNameEquals(\"if\")"); }dbg.location(1532,46); - match(input,IDENT,FOLLOW_IDENT_in_sass_else11172); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_sass_else11196); if (state.failed) return; } } @@ -36100,32 +36301,32 @@ else if ( (LA537_0==SASS_ELSEIF) ) { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:64: SASS_ELSEIF { dbg.location(1532,64); - match(input,SASS_ELSEIF,FOLLOW_SASS_ELSEIF_in_sass_else11179); if (state.failed) return; + match(input,SASS_ELSEIF,FOLLOW_SASS_ELSEIF_in_sass_else11203); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(537);} + } finally {dbg.exitSubRule(538);} dbg.location(1532,77); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:77: ( ws )? - int alt538=2; - try { dbg.enterSubRule(538); - try { dbg.enterDecision(538, decisionCanBacktrack[538]); + int alt539=2; + try { dbg.enterSubRule(539); + try { dbg.enterDecision(539, decisionCanBacktrack[539]); - int LA538_0 = input.LA(1); - if ( (LA538_0==COMMENT||LA538_0==NL||LA538_0==WS) ) { - alt538=1; + int LA539_0 = input.LA(1); + if ( (LA539_0==COMMENT||LA539_0==NL||LA539_0==WS) ) { + alt539=1; } - } finally {dbg.exitDecision(538);} + } finally {dbg.exitDecision(539);} - switch (alt538) { + switch (alt539) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:77: ws { dbg.location(1532,77); - pushFollow(FOLLOW_ws_in_sass_else11182); + pushFollow(FOLLOW_ws_in_sass_else11206); ws(); state._fsp--; if (state.failed) return; @@ -36133,31 +36334,31 @@ else if ( (LA537_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(538);} + } finally {dbg.exitSubRule(539);} dbg.location(1532,81); - pushFollow(FOLLOW_sass_control_expression_in_sass_else11185); + pushFollow(FOLLOW_sass_control_expression_in_sass_else11209); sass_control_expression(); state._fsp--; if (state.failed) return;dbg.location(1532,105); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:105: ( ws )? - int alt539=2; - try { dbg.enterSubRule(539); - try { dbg.enterDecision(539, decisionCanBacktrack[539]); + int alt540=2; + try { dbg.enterSubRule(540); + try { dbg.enterDecision(540, decisionCanBacktrack[540]); - int LA539_0 = input.LA(1); - if ( (LA539_0==COMMENT||LA539_0==NL||LA539_0==WS) ) { - alt539=1; + int LA540_0 = input.LA(1); + if ( (LA540_0==COMMENT||LA540_0==NL||LA540_0==WS) ) { + alt540=1; } - } finally {dbg.exitDecision(539);} + } finally {dbg.exitDecision(540);} - switch (alt539) { + switch (alt540) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:105: ws { dbg.location(1532,105); - pushFollow(FOLLOW_ws_in_sass_else11187); + pushFollow(FOLLOW_ws_in_sass_else11211); ws(); state._fsp--; if (state.failed) return; @@ -36165,28 +36366,28 @@ else if ( (LA537_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(539);} + } finally {dbg.exitSubRule(540);} dbg.location(1532,109); - pushFollow(FOLLOW_sass_control_block_in_sass_else11190); + pushFollow(FOLLOW_sass_control_block_in_sass_else11214); sass_control_block(); state._fsp--; if (state.failed) return;dbg.location(1532,128); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:128: ( ( ws )? sass_else )? - int alt541=2; - try { dbg.enterSubRule(541); - try { dbg.enterDecision(541, decisionCanBacktrack[541]); + int alt542=2; + try { dbg.enterSubRule(542); + try { dbg.enterDecision(542, decisionCanBacktrack[542]); try { isCyclicDecision = true; - alt541 = dfa541.predict(input); + alt542 = dfa542.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(541);} + } finally {dbg.exitDecision(542);} - switch (alt541) { + switch (alt542) { case 1 : dbg.enterAlt(1); @@ -36194,24 +36395,24 @@ else if ( (LA537_0==SASS_ELSEIF) ) { { dbg.location(1532,129); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:129: ( ws )? - int alt540=2; - try { dbg.enterSubRule(540); - try { dbg.enterDecision(540, decisionCanBacktrack[540]); + int alt541=2; + try { dbg.enterSubRule(541); + try { dbg.enterDecision(541, decisionCanBacktrack[541]); - int LA540_0 = input.LA(1); - if ( (LA540_0==COMMENT||LA540_0==NL||LA540_0==WS) ) { - alt540=1; + int LA541_0 = input.LA(1); + if ( (LA541_0==COMMENT||LA541_0==NL||LA541_0==WS) ) { + alt541=1; } - } finally {dbg.exitDecision(540);} + } finally {dbg.exitDecision(541);} - switch (alt540) { + switch (alt541) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1532:129: ws { dbg.location(1532,129); - pushFollow(FOLLOW_ws_in_sass_else11193); + pushFollow(FOLLOW_ws_in_sass_else11217); ws(); state._fsp--; if (state.failed) return; @@ -36219,9 +36420,9 @@ else if ( (LA537_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(540);} + } finally {dbg.exitSubRule(541);} dbg.location(1532,133); - pushFollow(FOLLOW_sass_else_in_sass_else11196); + pushFollow(FOLLOW_sass_else_in_sass_else11220); sass_else(); state._fsp--; if (state.failed) return; @@ -36229,7 +36430,7 @@ else if ( (LA537_0==SASS_ELSEIF) ) { break; } - } finally {dbg.exitSubRule(541);} + } finally {dbg.exitSubRule(542);} } break; @@ -36272,7 +36473,7 @@ public final void sass_control_expression() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1537:5: cp_expression { dbg.location(1537,5); - pushFollow(FOLLOW_cp_expression_in_sass_control_expression11219); + pushFollow(FOLLOW_cp_expression_in_sass_control_expression11243); cp_expression(); state._fsp--; if (state.failed) return; @@ -36315,16 +36516,16 @@ public final void sass_for() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:5: SASS_FOR ws cp_variable ws {...}? IDENT ws cp_math_expression ws {...}? IDENT ws cp_math_expression ( ws )? sass_control_block { dbg.location(1542,5); - match(input,SASS_FOR,FOLLOW_SASS_FOR_in_sass_for11240); if (state.failed) return;dbg.location(1542,14); - pushFollow(FOLLOW_ws_in_sass_for11242); + match(input,SASS_FOR,FOLLOW_SASS_FOR_in_sass_for11264); if (state.failed) return;dbg.location(1542,14); + pushFollow(FOLLOW_ws_in_sass_for11266); ws(); state._fsp--; if (state.failed) return;dbg.location(1542,17); - pushFollow(FOLLOW_cp_variable_in_sass_for11244); + pushFollow(FOLLOW_cp_variable_in_sass_for11268); cp_variable(); state._fsp--; if (state.failed) return;dbg.location(1542,29); - pushFollow(FOLLOW_ws_in_sass_for11246); + pushFollow(FOLLOW_ws_in_sass_for11270); ws(); state._fsp--; if (state.failed) return;dbg.location(1542,32); @@ -36332,16 +36533,16 @@ public final void sass_for() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"from\")"); }dbg.location(1542,59); - match(input,IDENT,FOLLOW_IDENT_in_sass_for11250); if (state.failed) return;dbg.location(1542,74); - pushFollow(FOLLOW_ws_in_sass_for11254); + match(input,IDENT,FOLLOW_IDENT_in_sass_for11274); if (state.failed) return;dbg.location(1542,74); + pushFollow(FOLLOW_ws_in_sass_for11278); ws(); state._fsp--; if (state.failed) return;dbg.location(1542,77); - pushFollow(FOLLOW_cp_math_expression_in_sass_for11256); + pushFollow(FOLLOW_cp_math_expression_in_sass_for11280); cp_math_expression(); state._fsp--; if (state.failed) return;dbg.location(1542,96); - pushFollow(FOLLOW_ws_in_sass_for11258); + pushFollow(FOLLOW_ws_in_sass_for11282); ws(); state._fsp--; if (state.failed) return;dbg.location(1542,99); @@ -36349,34 +36550,34 @@ public final void sass_for() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "sass_for", "tokenNameEquals(\"to\")|tokenNameEquals(\"through\")"); }dbg.location(1542,151); - match(input,IDENT,FOLLOW_IDENT_in_sass_for11262); if (state.failed) return;dbg.location(1542,173); - pushFollow(FOLLOW_ws_in_sass_for11266); + match(input,IDENT,FOLLOW_IDENT_in_sass_for11286); if (state.failed) return;dbg.location(1542,173); + pushFollow(FOLLOW_ws_in_sass_for11290); ws(); state._fsp--; if (state.failed) return;dbg.location(1542,176); - pushFollow(FOLLOW_cp_math_expression_in_sass_for11268); + pushFollow(FOLLOW_cp_math_expression_in_sass_for11292); cp_math_expression(); state._fsp--; if (state.failed) return;dbg.location(1542,195); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:195: ( ws )? - int alt543=2; - try { dbg.enterSubRule(543); - try { dbg.enterDecision(543, decisionCanBacktrack[543]); + int alt544=2; + try { dbg.enterSubRule(544); + try { dbg.enterDecision(544, decisionCanBacktrack[544]); - int LA543_0 = input.LA(1); - if ( (LA543_0==COMMENT||LA543_0==NL||LA543_0==WS) ) { - alt543=1; + int LA544_0 = input.LA(1); + if ( (LA544_0==COMMENT||LA544_0==NL||LA544_0==WS) ) { + alt544=1; } - } finally {dbg.exitDecision(543);} + } finally {dbg.exitDecision(544);} - switch (alt543) { + switch (alt544) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1542:195: ws { dbg.location(1542,195); - pushFollow(FOLLOW_ws_in_sass_for11270); + pushFollow(FOLLOW_ws_in_sass_for11294); ws(); state._fsp--; if (state.failed) return; @@ -36384,9 +36585,9 @@ public final void sass_for() throws RecognitionException { break; } - } finally {dbg.exitSubRule(543);} + } finally {dbg.exitSubRule(544);} dbg.location(1542,199); - pushFollow(FOLLOW_sass_control_block_in_sass_for11273); + pushFollow(FOLLOW_sass_control_block_in_sass_for11297); sass_control_block(); state._fsp--; if (state.failed) return; @@ -36429,16 +36630,16 @@ public final void sass_each() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:5: SASS_EACH ws sass_each_variables ws {...}? IDENT ws ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ sass_control_block { dbg.location(1547,5); - match(input,SASS_EACH,FOLLOW_SASS_EACH_in_sass_each11294); if (state.failed) return;dbg.location(1547,15); - pushFollow(FOLLOW_ws_in_sass_each11296); + match(input,SASS_EACH,FOLLOW_SASS_EACH_in_sass_each11318); if (state.failed) return;dbg.location(1547,15); + pushFollow(FOLLOW_ws_in_sass_each11320); ws(); state._fsp--; if (state.failed) return;dbg.location(1547,18); - pushFollow(FOLLOW_sass_each_variables_in_sass_each11298); + pushFollow(FOLLOW_sass_each_variables_in_sass_each11322); sass_each_variables(); state._fsp--; if (state.failed) return;dbg.location(1547,38); - pushFollow(FOLLOW_ws_in_sass_each11300); + pushFollow(FOLLOW_ws_in_sass_each11324); ws(); state._fsp--; if (state.failed) return;dbg.location(1547,41); @@ -36446,61 +36647,61 @@ public final void sass_each() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "sass_each", "tokenNameEquals(\"in\")"); }dbg.location(1547,66); - match(input,IDENT,FOLLOW_IDENT_in_sass_each11304); if (state.failed) return;dbg.location(1547,79); - pushFollow(FOLLOW_ws_in_sass_each11308); + match(input,IDENT,FOLLOW_IDENT_in_sass_each11328); if (state.failed) return;dbg.location(1547,79); + pushFollow(FOLLOW_ws_in_sass_each11332); ws(); state._fsp--; if (state.failed) return;dbg.location(1547,82); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:82: ( cp_expression_list ( ( ws )? COMMA )? ( ws )? )+ - int cnt547=0; - try { dbg.enterSubRule(547); + int cnt548=0; + try { dbg.enterSubRule(548); - loop547: + loop548: while (true) { - int alt547=2; - try { dbg.enterDecision(547, decisionCanBacktrack[547]); + int alt548=2; + try { dbg.enterDecision(548, decisionCanBacktrack[548]); - int LA547_0 = input.LA(1); - if ( (LA547_0==LBRACE) ) { - int LA547_1 = input.LA(2); + int LA548_0 = input.LA(1); + if ( (LA548_0==LBRACE) ) { + int LA548_1 = input.LA(2); if ( (evalPredicate(isLessSource(),"isLessSource()")) ) { - alt547=1; + alt548=1; } } - else if ( ((LA547_0 >= ANGLE && LA547_0 <= AT_SIGN)||(LA547_0 >= BOTTOMCENTER_SYM && LA547_0 <= BOTTOMRIGHT_SYM)||LA547_0==CHARSET_SYM||LA547_0==COUNTER_STYLE_SYM||LA547_0==DIMENSION||LA547_0==EMS||LA547_0==EXS||(LA547_0 >= FONT_FACE_SYM && LA547_0 <= FREQ)||LA547_0==GEN||(LA547_0 >= HASH && LA547_0 <= HASH_SYMBOL)||(LA547_0 >= IDENT && LA547_0 <= IMPORT_SYM)||(LA547_0 >= LBRACKET && LA547_0 <= LENGTH)||(LA547_0 >= LESS_AND && LA547_0 <= LESS_JS_STRING)||LA547_0==LPAREN||(LA547_0 >= MEDIA_SYM && LA547_0 <= MOZ_DOCUMENT_SYM)||LA547_0==NAMESPACE_SYM||(LA547_0 >= NOT && LA547_0 <= NUMBER)||(LA547_0 >= PAGE_SYM && LA547_0 <= PERCENTAGE_SYMBOL)||LA547_0==PLUS||(LA547_0 >= REM && LA547_0 <= RIGHTTOP_SYM)||(LA547_0 >= SASS_AT_ROOT && LA547_0 <= SASS_DEBUG)||(LA547_0 >= SASS_EACH && LA547_0 <= SASS_ELSE)||LA547_0==SASS_EXTEND||(LA547_0 >= SASS_FOR && LA547_0 <= SASS_FUNCTION)||(LA547_0 >= SASS_IF && LA547_0 <= SASS_MIXIN)||(LA547_0 >= SASS_RETURN && LA547_0 <= SASS_WHILE)||LA547_0==STRING||(LA547_0 >= TILDE && LA547_0 <= TOPRIGHT_SYM)||(LA547_0 >= URANGE && LA547_0 <= URI)||LA547_0==VARIABLE||LA547_0==WEBKIT_KEYFRAMES_SYM) ) { - alt547=1; + else if ( ((LA548_0 >= ANGLE && LA548_0 <= AT_SIGN)||(LA548_0 >= BOTTOMCENTER_SYM && LA548_0 <= BOTTOMRIGHT_SYM)||LA548_0==CHARSET_SYM||LA548_0==COUNTER_STYLE_SYM||LA548_0==DIMENSION||LA548_0==EMS||LA548_0==EXS||(LA548_0 >= FONT_FACE_SYM && LA548_0 <= FREQ)||LA548_0==GEN||(LA548_0 >= HASH && LA548_0 <= HASH_SYMBOL)||(LA548_0 >= IDENT && LA548_0 <= IMPORT_SYM)||LA548_0==KEYFRAMES_SYM||(LA548_0 >= LBRACKET && LA548_0 <= LENGTH)||(LA548_0 >= LESS_AND && LA548_0 <= LESS_JS_STRING)||LA548_0==LPAREN||(LA548_0 >= MEDIA_SYM && LA548_0 <= MOZ_DOCUMENT_SYM)||LA548_0==NAMESPACE_SYM||(LA548_0 >= NOT && LA548_0 <= NUMBER)||(LA548_0 >= PAGE_SYM && LA548_0 <= PERCENTAGE_SYMBOL)||LA548_0==PLUS||(LA548_0 >= REM && LA548_0 <= RIGHTTOP_SYM)||(LA548_0 >= SASS_AT_ROOT && LA548_0 <= SASS_DEBUG)||(LA548_0 >= SASS_EACH && LA548_0 <= SASS_ELSE)||LA548_0==SASS_EXTEND||(LA548_0 >= SASS_FOR && LA548_0 <= SASS_FUNCTION)||(LA548_0 >= SASS_IF && LA548_0 <= SASS_MIXIN)||(LA548_0 >= SASS_RETURN && LA548_0 <= SASS_WHILE)||LA548_0==STRING||(LA548_0 >= TILDE && LA548_0 <= TOPRIGHT_SYM)||(LA548_0 >= URANGE && LA548_0 <= URI)||LA548_0==VARIABLE||LA548_0==WEBKIT_KEYFRAMES_SYM) ) { + alt548=1; } - } finally {dbg.exitDecision(547);} + } finally {dbg.exitDecision(548);} - switch (alt547) { + switch (alt548) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:83: cp_expression_list ( ( ws )? COMMA )? ( ws )? { dbg.location(1547,83); - pushFollow(FOLLOW_cp_expression_list_in_sass_each11311); + pushFollow(FOLLOW_cp_expression_list_in_sass_each11335); cp_expression_list(); state._fsp--; if (state.failed) return;dbg.location(1547,102); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:102: ( ( ws )? COMMA )? - int alt545=2; - try { dbg.enterSubRule(545); - try { dbg.enterDecision(545, decisionCanBacktrack[545]); + int alt546=2; + try { dbg.enterSubRule(546); + try { dbg.enterDecision(546, decisionCanBacktrack[546]); try { isCyclicDecision = true; - alt545 = dfa545.predict(input); + alt546 = dfa546.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(545);} + } finally {dbg.exitDecision(546);} - switch (alt545) { + switch (alt546) { case 1 : dbg.enterAlt(1); @@ -36508,24 +36709,24 @@ else if ( ((LA547_0 >= ANGLE && LA547_0 <= AT_SIGN)||(LA547_0 >= BOTTOMCENTER_SY { dbg.location(1547,103); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:103: ( ws )? - int alt544=2; - try { dbg.enterSubRule(544); - try { dbg.enterDecision(544, decisionCanBacktrack[544]); + int alt545=2; + try { dbg.enterSubRule(545); + try { dbg.enterDecision(545, decisionCanBacktrack[545]); - int LA544_0 = input.LA(1); - if ( (LA544_0==COMMENT||LA544_0==NL||LA544_0==WS) ) { - alt544=1; + int LA545_0 = input.LA(1); + if ( (LA545_0==COMMENT||LA545_0==NL||LA545_0==WS) ) { + alt545=1; } - } finally {dbg.exitDecision(544);} + } finally {dbg.exitDecision(545);} - switch (alt544) { + switch (alt545) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:103: ws { dbg.location(1547,103); - pushFollow(FOLLOW_ws_in_sass_each11314); + pushFollow(FOLLOW_ws_in_sass_each11338); ws(); state._fsp--; if (state.failed) return; @@ -36533,34 +36734,34 @@ else if ( ((LA547_0 >= ANGLE && LA547_0 <= AT_SIGN)||(LA547_0 >= BOTTOMCENTER_SY break; } - } finally {dbg.exitSubRule(544);} + } finally {dbg.exitSubRule(545);} dbg.location(1547,107); - match(input,COMMA,FOLLOW_COMMA_in_sass_each11317); if (state.failed) return; + match(input,COMMA,FOLLOW_COMMA_in_sass_each11341); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(545);} + } finally {dbg.exitSubRule(546);} dbg.location(1547,115); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:115: ( ws )? - int alt546=2; - try { dbg.enterSubRule(546); - try { dbg.enterDecision(546, decisionCanBacktrack[546]); + int alt547=2; + try { dbg.enterSubRule(547); + try { dbg.enterDecision(547, decisionCanBacktrack[547]); - int LA546_0 = input.LA(1); - if ( (LA546_0==COMMENT||LA546_0==NL||LA546_0==WS) ) { - alt546=1; + int LA547_0 = input.LA(1); + if ( (LA547_0==COMMENT||LA547_0==NL||LA547_0==WS) ) { + alt547=1; } - } finally {dbg.exitDecision(546);} + } finally {dbg.exitDecision(547);} - switch (alt546) { + switch (alt547) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1547:115: ws { dbg.location(1547,115); - pushFollow(FOLLOW_ws_in_sass_each11321); + pushFollow(FOLLOW_ws_in_sass_each11345); ws(); state._fsp--; if (state.failed) return; @@ -36568,24 +36769,24 @@ else if ( ((LA547_0 >= ANGLE && LA547_0 <= AT_SIGN)||(LA547_0 >= BOTTOMCENTER_SY break; } - } finally {dbg.exitSubRule(546);} + } finally {dbg.exitSubRule(547);} } break; default : - if ( cnt547 >= 1 ) break loop547; + if ( cnt548 >= 1 ) break loop548; if (state.backtracking>0) {state.failed=true; return;} - EarlyExitException eee = new EarlyExitException(547, input); + EarlyExitException eee = new EarlyExitException(548, input); dbg.recognitionException(eee); throw eee; } - cnt547++; + cnt548++; } - } finally {dbg.exitSubRule(547);} + } finally {dbg.exitSubRule(548);} dbg.location(1547,122); - pushFollow(FOLLOW_sass_control_block_in_sass_each11327); + pushFollow(FOLLOW_sass_control_block_in_sass_each11351); sass_control_block(); state._fsp--; if (state.failed) return; @@ -36628,29 +36829,29 @@ public final void sass_each_variables() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:5: cp_variable ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* { dbg.location(1552,5); - pushFollow(FOLLOW_cp_variable_in_sass_each_variables11348); + pushFollow(FOLLOW_cp_variable_in_sass_each_variables11372); cp_variable(); state._fsp--; if (state.failed) return;dbg.location(1552,17); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:17: ( ( ( ws )? COMMA )=> ( ws )? COMMA ( ws )? cp_variable )* - try { dbg.enterSubRule(550); + try { dbg.enterSubRule(551); - loop550: + loop551: while (true) { - int alt550=2; - try { dbg.enterDecision(550, decisionCanBacktrack[550]); + int alt551=2; + try { dbg.enterDecision(551, decisionCanBacktrack[551]); try { isCyclicDecision = true; - alt550 = dfa550.predict(input); + alt551 = dfa551.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(550);} + } finally {dbg.exitDecision(551);} - switch (alt550) { + switch (alt551) { case 1 : dbg.enterAlt(1); @@ -36658,24 +36859,24 @@ public final void sass_each_variables() throws RecognitionException { { dbg.location(1552,33); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:33: ( ws )? - int alt548=2; - try { dbg.enterSubRule(548); - try { dbg.enterDecision(548, decisionCanBacktrack[548]); + int alt549=2; + try { dbg.enterSubRule(549); + try { dbg.enterDecision(549, decisionCanBacktrack[549]); - int LA548_0 = input.LA(1); - if ( (LA548_0==COMMENT||LA548_0==NL||LA548_0==WS) ) { - alt548=1; + int LA549_0 = input.LA(1); + if ( (LA549_0==COMMENT||LA549_0==NL||LA549_0==WS) ) { + alt549=1; } - } finally {dbg.exitDecision(548);} + } finally {dbg.exitDecision(549);} - switch (alt548) { + switch (alt549) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:33: ws { dbg.location(1552,33); - pushFollow(FOLLOW_ws_in_sass_each_variables11360); + pushFollow(FOLLOW_ws_in_sass_each_variables11384); ws(); state._fsp--; if (state.failed) return; @@ -36683,28 +36884,28 @@ public final void sass_each_variables() throws RecognitionException { break; } - } finally {dbg.exitSubRule(548);} + } finally {dbg.exitSubRule(549);} dbg.location(1552,37); - match(input,COMMA,FOLLOW_COMMA_in_sass_each_variables11363); if (state.failed) return;dbg.location(1552,43); + match(input,COMMA,FOLLOW_COMMA_in_sass_each_variables11387); if (state.failed) return;dbg.location(1552,43); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:43: ( ws )? - int alt549=2; - try { dbg.enterSubRule(549); - try { dbg.enterDecision(549, decisionCanBacktrack[549]); + int alt550=2; + try { dbg.enterSubRule(550); + try { dbg.enterDecision(550, decisionCanBacktrack[550]); - int LA549_0 = input.LA(1); - if ( (LA549_0==COMMENT||LA549_0==NL||LA549_0==WS) ) { - alt549=1; + int LA550_0 = input.LA(1); + if ( (LA550_0==COMMENT||LA550_0==NL||LA550_0==WS) ) { + alt550=1; } - } finally {dbg.exitDecision(549);} + } finally {dbg.exitDecision(550);} - switch (alt549) { + switch (alt550) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:43: ws { dbg.location(1552,43); - pushFollow(FOLLOW_ws_in_sass_each_variables11365); + pushFollow(FOLLOW_ws_in_sass_each_variables11389); ws(); state._fsp--; if (state.failed) return; @@ -36712,9 +36913,9 @@ public final void sass_each_variables() throws RecognitionException { break; } - } finally {dbg.exitSubRule(549);} + } finally {dbg.exitSubRule(550);} dbg.location(1552,47); - pushFollow(FOLLOW_cp_variable_in_sass_each_variables11368); + pushFollow(FOLLOW_cp_variable_in_sass_each_variables11392); cp_variable(); state._fsp--; if (state.failed) return; @@ -36722,10 +36923,10 @@ public final void sass_each_variables() throws RecognitionException { break; default : - break loop550; + break loop551; } } - } finally {dbg.exitSubRule(550);} + } finally {dbg.exitSubRule(551);} } @@ -36766,34 +36967,34 @@ public final void sass_while() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:5: SASS_WHILE ws sass_control_expression ( ws )? sass_control_block { dbg.location(1557,5); - match(input,SASS_WHILE,FOLLOW_SASS_WHILE_in_sass_while11393); if (state.failed) return;dbg.location(1557,16); - pushFollow(FOLLOW_ws_in_sass_while11395); + match(input,SASS_WHILE,FOLLOW_SASS_WHILE_in_sass_while11417); if (state.failed) return;dbg.location(1557,16); + pushFollow(FOLLOW_ws_in_sass_while11419); ws(); state._fsp--; if (state.failed) return;dbg.location(1557,19); - pushFollow(FOLLOW_sass_control_expression_in_sass_while11397); + pushFollow(FOLLOW_sass_control_expression_in_sass_while11421); sass_control_expression(); state._fsp--; if (state.failed) return;dbg.location(1557,43); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:43: ( ws )? - int alt551=2; - try { dbg.enterSubRule(551); - try { dbg.enterDecision(551, decisionCanBacktrack[551]); + int alt552=2; + try { dbg.enterSubRule(552); + try { dbg.enterDecision(552, decisionCanBacktrack[552]); - int LA551_0 = input.LA(1); - if ( (LA551_0==COMMENT||LA551_0==NL||LA551_0==WS) ) { - alt551=1; + int LA552_0 = input.LA(1); + if ( (LA552_0==COMMENT||LA552_0==NL||LA552_0==WS) ) { + alt552=1; } - } finally {dbg.exitDecision(551);} + } finally {dbg.exitDecision(552);} - switch (alt551) { + switch (alt552) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1557:43: ws { dbg.location(1557,43); - pushFollow(FOLLOW_ws_in_sass_while11399); + pushFollow(FOLLOW_ws_in_sass_while11423); ws(); state._fsp--; if (state.failed) return; @@ -36801,9 +37002,9 @@ public final void sass_while() throws RecognitionException { break; } - } finally {dbg.exitSubRule(551);} + } finally {dbg.exitSubRule(552);} dbg.location(1557,47); - pushFollow(FOLLOW_sass_control_block_in_sass_while11402); + pushFollow(FOLLOW_sass_control_block_in_sass_while11426); sass_control_block(); state._fsp--; if (state.failed) return; @@ -36846,26 +37047,26 @@ public final void sass_control_block() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:5: LBRACE ( ws )? ( declarations )? RBRACE { dbg.location(1562,5); - match(input,LBRACE,FOLLOW_LBRACE_in_sass_control_block11423); if (state.failed) return;dbg.location(1562,12); + match(input,LBRACE,FOLLOW_LBRACE_in_sass_control_block11447); if (state.failed) return;dbg.location(1562,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:12: ( ws )? - int alt552=2; - try { dbg.enterSubRule(552); - try { dbg.enterDecision(552, decisionCanBacktrack[552]); + int alt553=2; + try { dbg.enterSubRule(553); + try { dbg.enterDecision(553, decisionCanBacktrack[553]); - int LA552_0 = input.LA(1); - if ( (LA552_0==COMMENT||LA552_0==NL||LA552_0==WS) ) { - alt552=1; + int LA553_0 = input.LA(1); + if ( (LA553_0==COMMENT||LA553_0==NL||LA553_0==WS) ) { + alt553=1; } - } finally {dbg.exitDecision(552);} + } finally {dbg.exitDecision(553);} - switch (alt552) { + switch (alt553) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:12: ws { dbg.location(1562,12); - pushFollow(FOLLOW_ws_in_sass_control_block11425); + pushFollow(FOLLOW_ws_in_sass_control_block11449); ws(); state._fsp--; if (state.failed) return; @@ -36873,27 +37074,27 @@ public final void sass_control_block() throws RecognitionException { break; } - } finally {dbg.exitSubRule(552);} + } finally {dbg.exitSubRule(553);} dbg.location(1562,16); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:16: ( declarations )? - int alt553=2; - try { dbg.enterSubRule(553); - try { dbg.enterDecision(553, decisionCanBacktrack[553]); + int alt554=2; + try { dbg.enterSubRule(554); + try { dbg.enterDecision(554, decisionCanBacktrack[554]); - int LA553_0 = input.LA(1); - if ( ((LA553_0 >= AT_IDENT && LA553_0 <= AT_SIGN)||(LA553_0 >= BOTTOMCENTER_SYM && LA553_0 <= BOTTOMRIGHT_SYM)||(LA553_0 >= CHARSET_SYM && LA553_0 <= COLON)||LA553_0==CONTAINER_SYM||LA553_0==COUNTER_STYLE_SYM||(LA553_0 >= DCOLON && LA553_0 <= DOT)||LA553_0==FONT_FACE_SYM||(LA553_0 >= GEN && LA553_0 <= GREATER)||(LA553_0 >= HASH && LA553_0 <= HASH_SYMBOL)||LA553_0==IDENT||LA553_0==IMPORT_SYM||LA553_0==LAYER_SYM||(LA553_0 >= LBRACKET && LA553_0 <= LEFTTOP_SYM)||LA553_0==LESS_AND||(LA553_0 >= MEDIA_SYM && LA553_0 <= MOZ_DOCUMENT_SYM)||LA553_0==NAMESPACE_SYM||LA553_0==PAGE_SYM||(LA553_0 >= PIPE && LA553_0 <= PLUS)||(LA553_0 >= RIGHTBOTTOM_SYM && LA553_0 <= RIGHTTOP_SYM)||(LA553_0 >= SASS_AT_ROOT && LA553_0 <= SASS_DEBUG)||(LA553_0 >= SASS_EACH && LA553_0 <= SASS_ELSE)||(LA553_0 >= SASS_ERROR && LA553_0 <= SASS_FUNCTION)||(LA553_0 >= SASS_IF && LA553_0 <= SASS_MIXIN)||(LA553_0 >= SASS_RETURN && LA553_0 <= SEMI)||LA553_0==STAR||LA553_0==SUPPORTS_SYM||LA553_0==TILDE||(LA553_0 >= TOPCENTER_SYM && LA553_0 <= TOPRIGHT_SYM)||LA553_0==VARIABLE||LA553_0==WEBKIT_KEYFRAMES_SYM) ) { - alt553=1; + int LA554_0 = input.LA(1); + if ( ((LA554_0 >= AT_IDENT && LA554_0 <= AT_SIGN)||(LA554_0 >= BOTTOMCENTER_SYM && LA554_0 <= BOTTOMRIGHT_SYM)||(LA554_0 >= CHARSET_SYM && LA554_0 <= COLON)||LA554_0==CONTAINER_SYM||LA554_0==COUNTER_STYLE_SYM||(LA554_0 >= DCOLON && LA554_0 <= DOT)||LA554_0==FONT_FACE_SYM||(LA554_0 >= GEN && LA554_0 <= GREATER)||(LA554_0 >= HASH && LA554_0 <= HASH_SYMBOL)||LA554_0==IDENT||LA554_0==IMPORT_SYM||LA554_0==KEYFRAMES_SYM||LA554_0==LAYER_SYM||(LA554_0 >= LBRACKET && LA554_0 <= LEFTTOP_SYM)||LA554_0==LESS_AND||(LA554_0 >= MEDIA_SYM && LA554_0 <= MOZ_DOCUMENT_SYM)||LA554_0==NAMESPACE_SYM||LA554_0==PAGE_SYM||(LA554_0 >= PIPE && LA554_0 <= PLUS)||(LA554_0 >= RIGHTBOTTOM_SYM && LA554_0 <= RIGHTTOP_SYM)||(LA554_0 >= SASS_AT_ROOT && LA554_0 <= SASS_DEBUG)||(LA554_0 >= SASS_EACH && LA554_0 <= SASS_ELSE)||(LA554_0 >= SASS_ERROR && LA554_0 <= SASS_FUNCTION)||(LA554_0 >= SASS_IF && LA554_0 <= SASS_MIXIN)||(LA554_0 >= SASS_RETURN && LA554_0 <= SEMI)||LA554_0==STAR||LA554_0==SUPPORTS_SYM||LA554_0==TILDE||(LA554_0 >= TOPCENTER_SYM && LA554_0 <= TOPRIGHT_SYM)||LA554_0==VARIABLE||LA554_0==WEBKIT_KEYFRAMES_SYM) ) { + alt554=1; } - } finally {dbg.exitDecision(553);} + } finally {dbg.exitDecision(554);} - switch (alt553) { + switch (alt554) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1562:16: declarations { dbg.location(1562,16); - pushFollow(FOLLOW_declarations_in_sass_control_block11428); + pushFollow(FOLLOW_declarations_in_sass_control_block11452); declarations(); state._fsp--; if (state.failed) return; @@ -36901,9 +37102,9 @@ public final void sass_control_block() throws RecognitionException { break; } - } finally {dbg.exitSubRule(553);} + } finally {dbg.exitSubRule(554);} dbg.location(1562,30); - match(input,RBRACE,FOLLOW_RBRACE_in_sass_control_block11431); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_sass_control_block11455); if (state.failed) return; } } @@ -36943,45 +37144,16 @@ public final void sass_function_declaration() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:5: SASS_FUNCTION ws sass_function_name ( ws )? LPAREN ( ws )? ( cp_args_list )? RPAREN ( ws )? LBRACE ( ws )? ( declarations )? RBRACE { dbg.location(1571,5); - match(input,SASS_FUNCTION,FOLLOW_SASS_FUNCTION_in_sass_function_declaration11473); if (state.failed) return;dbg.location(1571,19); - pushFollow(FOLLOW_ws_in_sass_function_declaration11475); + match(input,SASS_FUNCTION,FOLLOW_SASS_FUNCTION_in_sass_function_declaration11497); if (state.failed) return;dbg.location(1571,19); + pushFollow(FOLLOW_ws_in_sass_function_declaration11499); ws(); state._fsp--; if (state.failed) return;dbg.location(1571,22); - pushFollow(FOLLOW_sass_function_name_in_sass_function_declaration11477); + pushFollow(FOLLOW_sass_function_name_in_sass_function_declaration11501); sass_function_name(); state._fsp--; if (state.failed) return;dbg.location(1571,41); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:41: ( ws )? - int alt554=2; - try { dbg.enterSubRule(554); - try { dbg.enterDecision(554, decisionCanBacktrack[554]); - - int LA554_0 = input.LA(1); - if ( (LA554_0==COMMENT||LA554_0==NL||LA554_0==WS) ) { - alt554=1; - } - } finally {dbg.exitDecision(554);} - - switch (alt554) { - case 1 : - dbg.enterAlt(1); - - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:41: ws - { - dbg.location(1571,41); - pushFollow(FOLLOW_ws_in_sass_function_declaration11479); - ws(); - state._fsp--; - if (state.failed) return; - } - break; - - } - } finally {dbg.exitSubRule(554);} - dbg.location(1571,45); - match(input,LPAREN,FOLLOW_LPAREN_in_sass_function_declaration11482); if (state.failed) return;dbg.location(1571,52); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:52: ( ws )? int alt555=2; try { dbg.enterSubRule(555); try { dbg.enterDecision(555, decisionCanBacktrack[555]); @@ -36996,10 +37168,10 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:52: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:41: ws { - dbg.location(1571,52); - pushFollow(FOLLOW_ws_in_sass_function_declaration11484); + dbg.location(1571,41); + pushFollow(FOLLOW_ws_in_sass_function_declaration11503); ws(); state._fsp--; if (state.failed) return; @@ -37008,14 +37180,15 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(555);} - dbg.location(1571,56); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:56: ( cp_args_list )? + dbg.location(1571,45); + match(input,LPAREN,FOLLOW_LPAREN_in_sass_function_declaration11506); if (state.failed) return;dbg.location(1571,52); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:52: ( ws )? int alt556=2; try { dbg.enterSubRule(556); try { dbg.enterDecision(556, decisionCanBacktrack[556]); int LA556_0 = input.LA(1); - if ( (LA556_0==AT_IDENT||(LA556_0 >= BOTTOMCENTER_SYM && LA556_0 <= BOTTOMRIGHT_SYM)||LA556_0==CHARSET_SYM||(LA556_0 >= COUNTER_STYLE_SYM && LA556_0 <= CP_DOTS)||LA556_0==FONT_FACE_SYM||LA556_0==IDENT||LA556_0==IMPORT_SYM||(LA556_0 >= LEFTBOTTOM_SYM && LA556_0 <= LEFTTOP_SYM)||LA556_0==LESS_REST||LA556_0==MEDIA_SYM||LA556_0==MOZ_DOCUMENT_SYM||LA556_0==NAMESPACE_SYM||LA556_0==PAGE_SYM||(LA556_0 >= RIGHTBOTTOM_SYM && LA556_0 <= RIGHTTOP_SYM)||(LA556_0 >= SASS_AT_ROOT && LA556_0 <= SASS_DEBUG)||(LA556_0 >= SASS_EACH && LA556_0 <= SASS_ELSE)||LA556_0==SASS_EXTEND||(LA556_0 >= SASS_FOR && LA556_0 <= SASS_FUNCTION)||(LA556_0 >= SASS_IF && LA556_0 <= SASS_MIXIN)||(LA556_0 >= SASS_RETURN && LA556_0 <= SASS_WHILE)||(LA556_0 >= TOPCENTER_SYM && LA556_0 <= TOPRIGHT_SYM)||LA556_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( (LA556_0==COMMENT||LA556_0==NL||LA556_0==WS) ) { alt556=1; } } finally {dbg.exitDecision(556);} @@ -37024,11 +37197,11 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:56: cp_args_list + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:52: ws { - dbg.location(1571,56); - pushFollow(FOLLOW_cp_args_list_in_sass_function_declaration11487); - cp_args_list(); + dbg.location(1571,52); + pushFollow(FOLLOW_ws_in_sass_function_declaration11508); + ws(); state._fsp--; if (state.failed) return; } @@ -37036,15 +37209,14 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(556);} - dbg.location(1571,70); - match(input,RPAREN,FOLLOW_RPAREN_in_sass_function_declaration11490); if (state.failed) return;dbg.location(1571,77); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:77: ( ws )? + dbg.location(1571,56); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:56: ( cp_args_list )? int alt557=2; try { dbg.enterSubRule(557); try { dbg.enterDecision(557, decisionCanBacktrack[557]); int LA557_0 = input.LA(1); - if ( (LA557_0==COMMENT||LA557_0==NL||LA557_0==WS) ) { + if ( (LA557_0==AT_IDENT||(LA557_0 >= BOTTOMCENTER_SYM && LA557_0 <= BOTTOMRIGHT_SYM)||LA557_0==CHARSET_SYM||(LA557_0 >= COUNTER_STYLE_SYM && LA557_0 <= CP_DOTS)||LA557_0==FONT_FACE_SYM||LA557_0==IDENT||LA557_0==IMPORT_SYM||LA557_0==KEYFRAMES_SYM||(LA557_0 >= LEFTBOTTOM_SYM && LA557_0 <= LEFTTOP_SYM)||LA557_0==LESS_REST||LA557_0==MEDIA_SYM||LA557_0==MOZ_DOCUMENT_SYM||LA557_0==NAMESPACE_SYM||LA557_0==PAGE_SYM||(LA557_0 >= RIGHTBOTTOM_SYM && LA557_0 <= RIGHTTOP_SYM)||(LA557_0 >= SASS_AT_ROOT && LA557_0 <= SASS_DEBUG)||(LA557_0 >= SASS_EACH && LA557_0 <= SASS_ELSE)||LA557_0==SASS_EXTEND||(LA557_0 >= SASS_FOR && LA557_0 <= SASS_FUNCTION)||(LA557_0 >= SASS_IF && LA557_0 <= SASS_MIXIN)||(LA557_0 >= SASS_RETURN && LA557_0 <= SASS_WHILE)||(LA557_0 >= TOPCENTER_SYM && LA557_0 <= TOPRIGHT_SYM)||LA557_0==WEBKIT_KEYFRAMES_SYM) ) { alt557=1; } } finally {dbg.exitDecision(557);} @@ -37053,11 +37225,11 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:77: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:56: cp_args_list { - dbg.location(1571,77); - pushFollow(FOLLOW_ws_in_sass_function_declaration11492); - ws(); + dbg.location(1571,56); + pushFollow(FOLLOW_cp_args_list_in_sass_function_declaration11511); + cp_args_list(); state._fsp--; if (state.failed) return; } @@ -37065,9 +37237,9 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(557);} - dbg.location(1571,81); - match(input,LBRACE,FOLLOW_LBRACE_in_sass_function_declaration11495); if (state.failed) return;dbg.location(1571,88); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:88: ( ws )? + dbg.location(1571,70); + match(input,RPAREN,FOLLOW_RPAREN_in_sass_function_declaration11514); if (state.failed) return;dbg.location(1571,77); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:77: ( ws )? int alt558=2; try { dbg.enterSubRule(558); try { dbg.enterDecision(558, decisionCanBacktrack[558]); @@ -37082,10 +37254,10 @@ public final void sass_function_declaration() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:88: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:77: ws { - dbg.location(1571,88); - pushFollow(FOLLOW_ws_in_sass_function_declaration11497); + dbg.location(1571,77); + pushFollow(FOLLOW_ws_in_sass_function_declaration11516); ws(); state._fsp--; if (state.failed) return; @@ -37094,26 +37266,55 @@ public final void sass_function_declaration() throws RecognitionException { } } finally {dbg.exitSubRule(558);} - dbg.location(1571,92); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:92: ( declarations )? + dbg.location(1571,81); + match(input,LBRACE,FOLLOW_LBRACE_in_sass_function_declaration11519); if (state.failed) return;dbg.location(1571,88); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:88: ( ws )? int alt559=2; try { dbg.enterSubRule(559); try { dbg.enterDecision(559, decisionCanBacktrack[559]); int LA559_0 = input.LA(1); - if ( ((LA559_0 >= AT_IDENT && LA559_0 <= AT_SIGN)||(LA559_0 >= BOTTOMCENTER_SYM && LA559_0 <= BOTTOMRIGHT_SYM)||(LA559_0 >= CHARSET_SYM && LA559_0 <= COLON)||LA559_0==CONTAINER_SYM||LA559_0==COUNTER_STYLE_SYM||(LA559_0 >= DCOLON && LA559_0 <= DOT)||LA559_0==FONT_FACE_SYM||(LA559_0 >= GEN && LA559_0 <= GREATER)||(LA559_0 >= HASH && LA559_0 <= HASH_SYMBOL)||LA559_0==IDENT||LA559_0==IMPORT_SYM||LA559_0==LAYER_SYM||(LA559_0 >= LBRACKET && LA559_0 <= LEFTTOP_SYM)||LA559_0==LESS_AND||(LA559_0 >= MEDIA_SYM && LA559_0 <= MOZ_DOCUMENT_SYM)||LA559_0==NAMESPACE_SYM||LA559_0==PAGE_SYM||(LA559_0 >= PIPE && LA559_0 <= PLUS)||(LA559_0 >= RIGHTBOTTOM_SYM && LA559_0 <= RIGHTTOP_SYM)||(LA559_0 >= SASS_AT_ROOT && LA559_0 <= SASS_DEBUG)||(LA559_0 >= SASS_EACH && LA559_0 <= SASS_ELSE)||(LA559_0 >= SASS_ERROR && LA559_0 <= SASS_FUNCTION)||(LA559_0 >= SASS_IF && LA559_0 <= SASS_MIXIN)||(LA559_0 >= SASS_RETURN && LA559_0 <= SEMI)||LA559_0==STAR||LA559_0==SUPPORTS_SYM||LA559_0==TILDE||(LA559_0 >= TOPCENTER_SYM && LA559_0 <= TOPRIGHT_SYM)||LA559_0==VARIABLE||LA559_0==WEBKIT_KEYFRAMES_SYM) ) { + if ( (LA559_0==COMMENT||LA559_0==NL||LA559_0==WS) ) { alt559=1; } } finally {dbg.exitDecision(559);} switch (alt559) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:88: ws + { + dbg.location(1571,88); + pushFollow(FOLLOW_ws_in_sass_function_declaration11521); + ws(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(559);} + dbg.location(1571,92); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:92: ( declarations )? + int alt560=2; + try { dbg.enterSubRule(560); + try { dbg.enterDecision(560, decisionCanBacktrack[560]); + + int LA560_0 = input.LA(1); + if ( ((LA560_0 >= AT_IDENT && LA560_0 <= AT_SIGN)||(LA560_0 >= BOTTOMCENTER_SYM && LA560_0 <= BOTTOMRIGHT_SYM)||(LA560_0 >= CHARSET_SYM && LA560_0 <= COLON)||LA560_0==CONTAINER_SYM||LA560_0==COUNTER_STYLE_SYM||(LA560_0 >= DCOLON && LA560_0 <= DOT)||LA560_0==FONT_FACE_SYM||(LA560_0 >= GEN && LA560_0 <= GREATER)||(LA560_0 >= HASH && LA560_0 <= HASH_SYMBOL)||LA560_0==IDENT||LA560_0==IMPORT_SYM||LA560_0==KEYFRAMES_SYM||LA560_0==LAYER_SYM||(LA560_0 >= LBRACKET && LA560_0 <= LEFTTOP_SYM)||LA560_0==LESS_AND||(LA560_0 >= MEDIA_SYM && LA560_0 <= MOZ_DOCUMENT_SYM)||LA560_0==NAMESPACE_SYM||LA560_0==PAGE_SYM||(LA560_0 >= PIPE && LA560_0 <= PLUS)||(LA560_0 >= RIGHTBOTTOM_SYM && LA560_0 <= RIGHTTOP_SYM)||(LA560_0 >= SASS_AT_ROOT && LA560_0 <= SASS_DEBUG)||(LA560_0 >= SASS_EACH && LA560_0 <= SASS_ELSE)||(LA560_0 >= SASS_ERROR && LA560_0 <= SASS_FUNCTION)||(LA560_0 >= SASS_IF && LA560_0 <= SASS_MIXIN)||(LA560_0 >= SASS_RETURN && LA560_0 <= SEMI)||LA560_0==STAR||LA560_0==SUPPORTS_SYM||LA560_0==TILDE||(LA560_0 >= TOPCENTER_SYM && LA560_0 <= TOPRIGHT_SYM)||LA560_0==VARIABLE||LA560_0==WEBKIT_KEYFRAMES_SYM) ) { + alt560=1; + } + } finally {dbg.exitDecision(560);} + + switch (alt560) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1571:92: declarations { dbg.location(1571,92); - pushFollow(FOLLOW_declarations_in_sass_function_declaration11500); + pushFollow(FOLLOW_declarations_in_sass_function_declaration11524); declarations(); state._fsp--; if (state.failed) return; @@ -37121,9 +37322,9 @@ public final void sass_function_declaration() throws RecognitionException { break; } - } finally {dbg.exitSubRule(559);} + } finally {dbg.exitSubRule(560);} dbg.location(1571,106); - match(input,RBRACE,FOLLOW_RBRACE_in_sass_function_declaration11503); if (state.failed) return; + match(input,RBRACE,FOLLOW_RBRACE_in_sass_function_declaration11527); if (state.failed) return; } } @@ -37163,7 +37364,7 @@ public final void sass_function_name() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1576:5: IDENT { dbg.location(1576,5); - match(input,IDENT,FOLLOW_IDENT_in_sass_function_name11524); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_sass_function_name11548); if (state.failed) return; } } @@ -37203,12 +37404,12 @@ public final void sass_function_return() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1581:5: SASS_RETURN ws cp_expression { dbg.location(1581,5); - match(input,SASS_RETURN,FOLLOW_SASS_RETURN_in_sass_function_return11545); if (state.failed) return;dbg.location(1581,17); - pushFollow(FOLLOW_ws_in_sass_function_return11547); + match(input,SASS_RETURN,FOLLOW_SASS_RETURN_in_sass_function_return11569); if (state.failed) return;dbg.location(1581,17); + pushFollow(FOLLOW_ws_in_sass_function_return11571); ws(); state._fsp--; if (state.failed) return;dbg.location(1581,20); - pushFollow(FOLLOW_cp_expression_in_sass_function_return11549); + pushFollow(FOLLOW_cp_expression_in_sass_function_return11573); cp_expression(); state._fsp--; if (state.failed) return; @@ -37251,7 +37452,7 @@ public final void sass_content() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1586:5: SASS_CONTENT { dbg.location(1586,5); - match(input,SASS_CONTENT,FOLLOW_SASS_CONTENT_in_sass_content11570); if (state.failed) return; + match(input,SASS_CONTENT,FOLLOW_SASS_CONTENT_in_sass_content11594); if (state.failed) return; } } @@ -37295,7 +37496,7 @@ public final void less_import_types() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "less_import_types", "tokenNameIs(new String[]{\"LESS\", \"CSS\", \"REFERENCE\", \"INLINE\", \"ONCE\", \"MULTIPLE\", \"OPTIONAL\"})"); }dbg.location(1590,104); - match(input,IDENT,FOLLOW_IDENT_in_less_import_types11589); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_less_import_types11613); if (state.failed) return; } } @@ -37342,7 +37543,7 @@ public final void less_when() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "less_when", "tokenNameEquals(\"when\")"); }dbg.location(1597,32); - match(input,IDENT,FOLLOW_IDENT_in_less_when11612); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_less_when11636); if (state.failed) return; } } @@ -37386,7 +37587,7 @@ public final void key_and() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "key_and", "tokenNameEquals(\"and\")"); }dbg.location(1601,31); - match(input,IDENT,FOLLOW_IDENT_in_key_and11631); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_key_and11655); if (state.failed) return; } } @@ -37430,7 +37631,7 @@ public final void key_or() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "key_or", "tokenNameEquals(\"or\")"); }dbg.location(1605,30); - match(input,IDENT,FOLLOW_IDENT_in_key_or11649); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_key_or11673); if (state.failed) return; } } @@ -37474,7 +37675,7 @@ public final void key_only() throws RecognitionException { if (state.backtracking>0) {state.failed=true; return;} throw new FailedPredicateException(input, "key_only", "tokenNameEquals(\"only\")"); }dbg.location(1609,32); - match(input,IDENT,FOLLOW_IDENT_in_key_only11667); if (state.failed) return; + match(input,IDENT,FOLLOW_IDENT_in_key_only11691); if (state.failed) return; } } @@ -37506,17 +37707,17 @@ public final void synpred1_Css3_fragment() throws RecognitionException { { dbg.location(333,62); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:333:62: ( ws )? - int alt560=2; - try { dbg.enterSubRule(560); - try { dbg.enterDecision(560, decisionCanBacktrack[560]); + int alt561=2; + try { dbg.enterSubRule(561); + try { dbg.enterDecision(561, decisionCanBacktrack[561]); - int LA560_0 = input.LA(1); - if ( (LA560_0==COMMENT||LA560_0==NL||LA560_0==WS) ) { - alt560=1; + int LA561_0 = input.LA(1); + if ( (LA561_0==COMMENT||LA561_0==NL||LA561_0==WS) ) { + alt561=1; } - } finally {dbg.exitDecision(560);} + } finally {dbg.exitDecision(561);} - switch (alt560) { + switch (alt561) { case 1 : dbg.enterAlt(1); @@ -37531,7 +37732,7 @@ public final void synpred1_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(560);} + } finally {dbg.exitSubRule(561);} dbg.location(333,66); pushFollow(FOLLOW_mediaQueryList_in_synpred1_Css3473); mediaQueryList(); @@ -37551,17 +37752,17 @@ public final void synpred2_Css3_fragment() throws RecognitionException { { dbg.location(336,116); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:336:116: ( ws )? - int alt561=2; - try { dbg.enterSubRule(561); - try { dbg.enterDecision(561, decisionCanBacktrack[561]); + int alt562=2; + try { dbg.enterSubRule(562); + try { dbg.enterDecision(562, decisionCanBacktrack[562]); - int LA561_0 = input.LA(1); - if ( (LA561_0==COMMENT||LA561_0==NL||LA561_0==WS) ) { - alt561=1; + int LA562_0 = input.LA(1); + if ( (LA562_0==COMMENT||LA562_0==NL||LA562_0==WS) ) { + alt562=1; } - } finally {dbg.exitDecision(561);} + } finally {dbg.exitDecision(562);} - switch (alt561) { + switch (alt562) { case 1 : dbg.enterAlt(1); @@ -37576,7 +37777,7 @@ public final void synpred2_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(561);} + } finally {dbg.exitSubRule(562);} dbg.location(336,120); pushFollow(FOLLOW_mediaQueryList_in_synpred2_Css3543); mediaQueryList(); @@ -37596,17 +37797,17 @@ public final void synpred3_Css3_fragment() throws RecognitionException { { dbg.location(338,119); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:338:119: ( ws )? - int alt562=2; - try { dbg.enterSubRule(562); - try { dbg.enterDecision(562, decisionCanBacktrack[562]); + int alt563=2; + try { dbg.enterSubRule(563); + try { dbg.enterDecision(563, decisionCanBacktrack[563]); - int LA562_0 = input.LA(1); - if ( (LA562_0==COMMENT||LA562_0==NL||LA562_0==WS) ) { - alt562=1; + int LA563_0 = input.LA(1); + if ( (LA563_0==COMMENT||LA563_0==NL||LA563_0==WS) ) { + alt563=1; } - } finally {dbg.exitDecision(562);} + } finally {dbg.exitDecision(563);} - switch (alt562) { + switch (alt563) { case 1 : dbg.enterAlt(1); @@ -37621,7 +37822,7 @@ public final void synpred3_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(562);} + } finally {dbg.exitSubRule(563);} dbg.location(338,123); pushFollow(FOLLOW_mediaQueryList_in_synpred3_Css3603); mediaQueryList(); @@ -37641,17 +37842,17 @@ public final void synpred4_Css3_fragment() throws RecognitionException { { dbg.location(410,28); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:410:28: ( ws )? - int alt563=2; - try { dbg.enterSubRule(563); - try { dbg.enterDecision(563, decisionCanBacktrack[563]); + int alt564=2; + try { dbg.enterSubRule(564); + try { dbg.enterDecision(564, decisionCanBacktrack[564]); - int LA563_0 = input.LA(1); - if ( (LA563_0==COMMENT||LA563_0==NL||LA563_0==WS) ) { - alt563=1; + int LA564_0 = input.LA(1); + if ( (LA564_0==COMMENT||LA564_0==NL||LA564_0==WS) ) { + alt564=1; } - } finally {dbg.exitDecision(563);} + } finally {dbg.exitDecision(564);} - switch (alt563) { + switch (alt564) { case 1 : dbg.enterAlt(1); @@ -37666,7 +37867,7 @@ public final void synpred4_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(563);} + } finally {dbg.exitSubRule(564);} dbg.location(410,32); match(input,SEMI,FOLLOW_SEMI_in_synpred4_Css31173); if (state.failed) return; } @@ -37677,28 +37878,28 @@ public final void synpred4_Css3_fragment() throws RecognitionException { // $ANTLR start synpred5_Css3 public final void synpred5_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:5: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | SEMI ) )* LBRACE ) ) - int alt568=2; - try { dbg.enterDecision(568, decisionCanBacktrack[568]); + int alt569=2; + try { dbg.enterDecision(569, decisionCanBacktrack[569]); - int LA568_0 = input.LA(1); - if ( (LA568_0==SASS_MIXIN) ) { - alt568=1; + int LA569_0 = input.LA(1); + if ( (LA569_0==SASS_MIXIN) ) { + alt569=1; } - else if ( (LA568_0==DOT||LA568_0==HASH) ) { - alt568=2; + else if ( (LA569_0==DOT||LA569_0==HASH) ) { + alt569=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 568, 0, input); + new NoViableAltException("", 569, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(568);} + } finally {dbg.exitDecision(569);} - switch (alt568) { + switch (alt569) { case 1 : dbg.enterAlt(1); @@ -37721,29 +37922,29 @@ else if ( (LA568_0==DOT||LA568_0==HASH) ) { { dbg.location(419,20); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:20: ( ( DOT IDENT ) | HASH ) - int alt564=2; - try { dbg.enterSubRule(564); - try { dbg.enterDecision(564, decisionCanBacktrack[564]); + int alt565=2; + try { dbg.enterSubRule(565); + try { dbg.enterDecision(565, decisionCanBacktrack[565]); - int LA564_0 = input.LA(1); - if ( (LA564_0==DOT) ) { - alt564=1; + int LA565_0 = input.LA(1); + if ( (LA565_0==DOT) ) { + alt565=1; } - else if ( (LA564_0==HASH) ) { - alt564=2; + else if ( (LA565_0==HASH) ) { + alt565=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 564, 0, input); + new NoViableAltException("", 565, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(564);} + } finally {dbg.exitDecision(565);} - switch (alt564) { + switch (alt565) { case 1 : dbg.enterAlt(1); @@ -37773,20 +37974,20 @@ else if ( (LA564_0==HASH) ) { break; } - } finally {dbg.exitSubRule(564);} + } finally {dbg.exitSubRule(565);} dbg.location(419,41); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:41: ( ws )? - int alt565=2; - try { dbg.enterSubRule(565); - try { dbg.enterDecision(565, decisionCanBacktrack[565]); + int alt566=2; + try { dbg.enterSubRule(566); + try { dbg.enterDecision(566, decisionCanBacktrack[566]); - int LA565_0 = input.LA(1); - if ( (LA565_0==COMMENT||LA565_0==NL||LA565_0==WS) ) { - alt565=1; + int LA566_0 = input.LA(1); + if ( (LA566_0==COMMENT||LA566_0==NL||LA566_0==WS) ) { + alt566=1; } - } finally {dbg.exitDecision(565);} + } finally {dbg.exitDecision(566);} - switch (alt565) { + switch (alt566) { case 1 : dbg.enterAlt(1); @@ -37801,25 +38002,25 @@ else if ( (LA564_0==HASH) ) { break; } - } finally {dbg.exitSubRule(565);} + } finally {dbg.exitSubRule(566);} dbg.location(419,45); match(input,LPAREN,FOLLOW_LPAREN_in_synpred5_Css31291); if (state.failed) return;dbg.location(419,52); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:52: (~ RPAREN )* - try { dbg.enterSubRule(566); + try { dbg.enterSubRule(567); - loop566: + loop567: while (true) { - int alt566=2; - try { dbg.enterDecision(566, decisionCanBacktrack[566]); + int alt567=2; + try { dbg.enterDecision(567, decisionCanBacktrack[567]); - int LA566_0 = input.LA(1); - if ( ((LA566_0 >= A && LA566_0 <= RIGHTTOP_SYM)||(LA566_0 >= S && LA566_0 <= Z)) ) { - alt566=1; + int LA567_0 = input.LA(1); + if ( ((LA567_0 >= A && LA567_0 <= RIGHTTOP_SYM)||(LA567_0 >= S && LA567_0 <= Z)) ) { + alt567=1; } - } finally {dbg.exitDecision(566);} + } finally {dbg.exitDecision(567);} - switch (alt566) { + switch (alt567) { case 1 : dbg.enterAlt(1); @@ -37841,28 +38042,28 @@ else if ( (LA564_0==HASH) ) { break; default : - break loop566; + break loop567; } } - } finally {dbg.exitSubRule(566);} + } finally {dbg.exitSubRule(567);} dbg.location(419,63); match(input,RPAREN,FOLLOW_RPAREN_in_synpred5_Css31299); if (state.failed) return;dbg.location(419,70); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:419:70: (~ ( LBRACE | SEMI ) )* - try { dbg.enterSubRule(567); + try { dbg.enterSubRule(568); - loop567: + loop568: while (true) { - int alt567=2; - try { dbg.enterDecision(567, decisionCanBacktrack[567]); + int alt568=2; + try { dbg.enterDecision(568, decisionCanBacktrack[568]); - int LA567_0 = input.LA(1); - if ( ((LA567_0 >= A && LA567_0 <= LAYER_SYM)||(LA567_0 >= LBRACKET && LA567_0 <= SASS_WHILE)||(LA567_0 >= SOLIDUS && LA567_0 <= Z)) ) { - alt567=1; + int LA568_0 = input.LA(1); + if ( ((LA568_0 >= A && LA568_0 <= LAYER_SYM)||(LA568_0 >= LBRACKET && LA568_0 <= SASS_WHILE)||(LA568_0 >= SOLIDUS && LA568_0 <= Z)) ) { + alt568=1; } - } finally {dbg.exitDecision(567);} + } finally {dbg.exitDecision(568);} - switch (alt567) { + switch (alt568) { case 1 : dbg.enterAlt(1); @@ -37884,10 +38085,10 @@ else if ( (LA564_0==HASH) ) { break; default : - break loop567; + break loop568; } } - } finally {dbg.exitSubRule(567);} + } finally {dbg.exitSubRule(568);} dbg.location(419,86); match(input,LBRACE,FOLLOW_LBRACE_in_synpred5_Css31309); if (state.failed) return; } @@ -37912,21 +38113,21 @@ public final void synpred6_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(421,22); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:421:22: ( ( ws )? IMPORTANT_SYM )? - int alt570=2; - try { dbg.enterSubRule(570); - try { dbg.enterDecision(570, decisionCanBacktrack[570]); + int alt571=2; + try { dbg.enterSubRule(571); + try { dbg.enterDecision(571, decisionCanBacktrack[571]); try { isCyclicDecision = true; - alt570 = dfa570.predict(input); + alt571 = dfa571.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(570);} + } finally {dbg.exitDecision(571);} - switch (alt570) { + switch (alt571) { case 1 : dbg.enterAlt(1); @@ -37934,17 +38135,17 @@ public final void synpred6_Css3_fragment() throws RecognitionException { { dbg.location(421,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:421:23: ( ws )? - int alt569=2; - try { dbg.enterSubRule(569); - try { dbg.enterDecision(569, decisionCanBacktrack[569]); + int alt570=2; + try { dbg.enterSubRule(570); + try { dbg.enterDecision(570, decisionCanBacktrack[570]); - int LA569_0 = input.LA(1); - if ( (LA569_0==COMMENT||LA569_0==NL||LA569_0==WS) ) { - alt569=1; + int LA570_0 = input.LA(1); + if ( (LA570_0==COMMENT||LA570_0==NL||LA570_0==WS) ) { + alt570=1; } - } finally {dbg.exitDecision(569);} + } finally {dbg.exitDecision(570);} - switch (alt569) { + switch (alt570) { case 1 : dbg.enterAlt(1); @@ -37959,27 +38160,27 @@ public final void synpred6_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(569);} + } finally {dbg.exitSubRule(570);} dbg.location(421,27); match(input,IMPORTANT_SYM,FOLLOW_IMPORTANT_SYM_in_synpred6_Css31333); if (state.failed) return; } break; } - } finally {dbg.exitSubRule(570);} + } finally {dbg.exitSubRule(571);} dbg.location(421,43); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:421:43: ( ws )? - int alt571=2; - try { dbg.enterSubRule(571); - try { dbg.enterDecision(571, decisionCanBacktrack[571]); + int alt572=2; + try { dbg.enterSubRule(572); + try { dbg.enterDecision(572, decisionCanBacktrack[572]); - int LA571_0 = input.LA(1); - if ( (LA571_0==COMMENT||LA571_0==NL||LA571_0==WS) ) { - alt571=1; + int LA572_0 = input.LA(1); + if ( (LA572_0==COMMENT||LA572_0==NL||LA572_0==WS) ) { + alt572=1; } - } finally {dbg.exitDecision(571);} + } finally {dbg.exitDecision(572);} - switch (alt571) { + switch (alt572) { case 1 : dbg.enterAlt(1); @@ -37994,7 +38195,7 @@ public final void synpred6_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(571);} + } finally {dbg.exitSubRule(572);} dbg.location(421,47); match(input,SEMI,FOLLOW_SEMI_in_synpred6_Css31340); if (state.failed) return; } @@ -38028,21 +38229,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { { dbg.location(423,8); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) - int alt577=3; - try { dbg.enterSubRule(577); - try { dbg.enterDecision(577, decisionCanBacktrack[577]); + int alt578=3; + try { dbg.enterSubRule(578); + try { dbg.enterDecision(578, decisionCanBacktrack[578]); try { isCyclicDecision = true; - alt577 = dfa577.predict(input); + alt578 = dfa578.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(577);} + } finally {dbg.exitDecision(578);} - switch (alt577) { + switch (alt578) { case 1 : dbg.enterAlt(1); @@ -38057,21 +38258,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { dbg.location(423,10); match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred8_Css31388); if (state.failed) return;dbg.location(423,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:23: ( ws selectorsGroup )? - int alt572=2; - try { dbg.enterSubRule(572); - try { dbg.enterDecision(572, decisionCanBacktrack[572]); + int alt573=2; + try { dbg.enterSubRule(573); + try { dbg.enterDecision(573, decisionCanBacktrack[573]); try { isCyclicDecision = true; - alt572 = dfa572.predict(input); + alt573 = dfa573.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(572);} + } finally {dbg.exitDecision(573);} - switch (alt572) { + switch (alt573) { case 1 : dbg.enterAlt(1); @@ -38090,7 +38291,7 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(572);} + } finally {dbg.exitSubRule(573);} } @@ -38115,17 +38316,17 @@ public final void synpred8_Css3_fragment() throws RecognitionException { if (state.failed) return;dbg.location(423,65); match(input,LPAREN,FOLLOW_LPAREN_in_synpred8_Css31406); if (state.failed) return;dbg.location(423,72); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:72: ( ws )? - int alt573=2; - try { dbg.enterSubRule(573); - try { dbg.enterDecision(573, decisionCanBacktrack[573]); + int alt574=2; + try { dbg.enterSubRule(574); + try { dbg.enterDecision(574, decisionCanBacktrack[574]); - int LA573_0 = input.LA(1); - if ( (LA573_0==COMMENT||LA573_0==NL||LA573_0==WS) ) { - alt573=1; + int LA574_0 = input.LA(1); + if ( (LA574_0==COMMENT||LA574_0==NL||LA574_0==WS) ) { + alt574=1; } - } finally {dbg.exitDecision(573);} + } finally {dbg.exitDecision(574);} - switch (alt573) { + switch (alt574) { case 1 : dbg.enterAlt(1); @@ -38140,21 +38341,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(573);} + } finally {dbg.exitSubRule(574);} dbg.location(423,76); match(input,IDENT,FOLLOW_IDENT_in_synpred8_Css31411); if (state.failed) return;dbg.location(423,82); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:82: ( ws )? - int alt574=2; - try { dbg.enterSubRule(574); - try { dbg.enterDecision(574, decisionCanBacktrack[574]); + int alt575=2; + try { dbg.enterSubRule(575); + try { dbg.enterDecision(575, decisionCanBacktrack[575]); - int LA574_0 = input.LA(1); - if ( (LA574_0==COMMENT||LA574_0==NL||LA574_0==WS) ) { - alt574=1; + int LA575_0 = input.LA(1); + if ( (LA575_0==COMMENT||LA575_0==NL||LA575_0==WS) ) { + alt575=1; } - } finally {dbg.exitDecision(574);} + } finally {dbg.exitDecision(575);} - switch (alt574) { + switch (alt575) { case 1 : dbg.enterAlt(1); @@ -38169,21 +38370,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(574);} + } finally {dbg.exitSubRule(575);} dbg.location(423,86); match(input,COLON,FOLLOW_COLON_in_synpred8_Css31416); if (state.failed) return;dbg.location(423,92); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:92: ( ws )? - int alt575=2; - try { dbg.enterSubRule(575); - try { dbg.enterDecision(575, decisionCanBacktrack[575]); + int alt576=2; + try { dbg.enterSubRule(576); + try { dbg.enterDecision(576, decisionCanBacktrack[576]); - int LA575_0 = input.LA(1); - if ( (LA575_0==COMMENT||LA575_0==NL||LA575_0==WS) ) { - alt575=1; + int LA576_0 = input.LA(1); + if ( (LA576_0==COMMENT||LA576_0==NL||LA576_0==WS) ) { + alt576=1; } - } finally {dbg.exitDecision(575);} + } finally {dbg.exitDecision(576);} - switch (alt575) { + switch (alt576) { case 1 : dbg.enterAlt(1); @@ -38198,21 +38399,21 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(575);} + } finally {dbg.exitSubRule(576);} dbg.location(423,96); match(input,IDENT,FOLLOW_IDENT_in_synpred8_Css31421); if (state.failed) return;dbg.location(423,102); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:102: ( ws )? - int alt576=2; - try { dbg.enterSubRule(576); - try { dbg.enterDecision(576, decisionCanBacktrack[576]); + int alt577=2; + try { dbg.enterSubRule(577); + try { dbg.enterDecision(577, decisionCanBacktrack[577]); - int LA576_0 = input.LA(1); - if ( (LA576_0==COMMENT||LA576_0==NL||LA576_0==WS) ) { - alt576=1; + int LA577_0 = input.LA(1); + if ( (LA577_0==COMMENT||LA577_0==NL||LA577_0==WS) ) { + alt577=1; } - } finally {dbg.exitDecision(576);} + } finally {dbg.exitDecision(577);} - switch (alt576) { + switch (alt577) { case 1 : dbg.enterAlt(1); @@ -38227,7 +38428,7 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(576);} + } finally {dbg.exitSubRule(577);} dbg.location(423,106); match(input,RPAREN,FOLLOW_RPAREN_in_synpred8_Css31426); if (state.failed) return; } @@ -38248,20 +38449,20 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(577);} + } finally {dbg.exitSubRule(578);} dbg.location(423,132); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:423:132: ( ws )? - int alt578=2; - try { dbg.enterSubRule(578); - try { dbg.enterDecision(578, decisionCanBacktrack[578]); + int alt579=2; + try { dbg.enterSubRule(579); + try { dbg.enterDecision(579, decisionCanBacktrack[579]); - int LA578_0 = input.LA(1); - if ( (LA578_0==COMMENT||LA578_0==NL||LA578_0==WS) ) { - alt578=1; + int LA579_0 = input.LA(1); + if ( (LA579_0==COMMENT||LA579_0==NL||LA579_0==WS) ) { + alt579=1; } - } finally {dbg.exitDecision(578);} + } finally {dbg.exitDecision(579);} - switch (alt578) { + switch (alt579) { case 1 : dbg.enterAlt(1); @@ -38276,7 +38477,7 @@ public final void synpred8_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(578);} + } finally {dbg.exitSubRule(579);} dbg.location(423,136); match(input,LBRACE,FOLLOW_LBRACE_in_synpred8_Css31437); if (state.failed) return; } @@ -38310,17 +38511,17 @@ public final void synpred10_Css3_fragment() throws RecognitionException { { dbg.location(439,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:439:18: ( ws )? - int alt579=2; - try { dbg.enterSubRule(579); - try { dbg.enterDecision(579, decisionCanBacktrack[579]); + int alt580=2; + try { dbg.enterSubRule(580); + try { dbg.enterDecision(580, decisionCanBacktrack[580]); - int LA579_0 = input.LA(1); - if ( (LA579_0==COMMENT||LA579_0==NL||LA579_0==WS) ) { - alt579=1; + int LA580_0 = input.LA(1); + if ( (LA580_0==COMMENT||LA580_0==NL||LA580_0==WS) ) { + alt580=1; } - } finally {dbg.exitDecision(579);} + } finally {dbg.exitDecision(580);} - switch (alt579) { + switch (alt580) { case 1 : dbg.enterAlt(1); @@ -38335,7 +38536,7 @@ public final void synpred10_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(579);} + } finally {dbg.exitSubRule(580);} dbg.location(439,22); match(input,COMMA,FOLLOW_COMMA_in_synpred10_Css31567); if (state.failed) return; } @@ -38352,17 +38553,17 @@ public final void synpred11_Css3_fragment() throws RecognitionException { { dbg.location(444,45); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:444:45: ( ws )? - int alt580=2; - try { dbg.enterSubRule(580); - try { dbg.enterDecision(580, decisionCanBacktrack[580]); + int alt581=2; + try { dbg.enterSubRule(581); + try { dbg.enterDecision(581, decisionCanBacktrack[581]); - int LA580_0 = input.LA(1); - if ( (LA580_0==COMMENT||LA580_0==NL||LA580_0==WS) ) { - alt580=1; + int LA581_0 = input.LA(1); + if ( (LA581_0==COMMENT||LA581_0==NL||LA581_0==WS) ) { + alt581=1; } - } finally {dbg.exitDecision(580);} + } finally {dbg.exitDecision(581);} - switch (alt580) { + switch (alt581) { case 1 : dbg.enterAlt(1); @@ -38377,7 +38578,7 @@ public final void synpred11_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(580);} + } finally {dbg.exitSubRule(581);} dbg.location(444,49); pushFollow(FOLLOW_key_and_in_synpred11_Css31614); key_and(); @@ -38397,17 +38598,17 @@ public final void synpred12_Css3_fragment() throws RecognitionException { { dbg.location(445,25); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:445:25: ( ws )? - int alt581=2; - try { dbg.enterSubRule(581); - try { dbg.enterDecision(581, decisionCanBacktrack[581]); + int alt582=2; + try { dbg.enterSubRule(582); + try { dbg.enterDecision(582, decisionCanBacktrack[582]); - int LA581_0 = input.LA(1); - if ( (LA581_0==COMMENT||LA581_0==NL||LA581_0==WS) ) { - alt581=1; + int LA582_0 = input.LA(1); + if ( (LA582_0==COMMENT||LA582_0==NL||LA582_0==WS) ) { + alt582=1; } - } finally {dbg.exitDecision(581);} + } finally {dbg.exitDecision(582);} - switch (alt581) { + switch (alt582) { case 1 : dbg.enterAlt(1); @@ -38422,7 +38623,7 @@ public final void synpred12_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(581);} + } finally {dbg.exitSubRule(582);} dbg.location(445,29); pushFollow(FOLLOW_key_and_in_synpred12_Css31644); key_and(); @@ -38470,17 +38671,17 @@ public final void synpred15_Css3_fragment() throws RecognitionException { { dbg.location(480,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:480:23: ( ws )? - int alt582=2; - try { dbg.enterSubRule(582); - try { dbg.enterDecision(582, decisionCanBacktrack[582]); + int alt583=2; + try { dbg.enterSubRule(583); + try { dbg.enterDecision(583, decisionCanBacktrack[583]); - int LA582_0 = input.LA(1); - if ( (LA582_0==COMMENT||LA582_0==NL||LA582_0==WS) ) { - alt582=1; + int LA583_0 = input.LA(1); + if ( (LA583_0==COMMENT||LA583_0==NL||LA583_0==WS) ) { + alt583=1; } - } finally {dbg.exitDecision(582);} + } finally {dbg.exitDecision(583);} - switch (alt582) { + switch (alt583) { case 1 : dbg.enterAlt(1); @@ -38495,7 +38696,7 @@ public final void synpred15_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(582);} + } finally {dbg.exitSubRule(583);} dbg.location(480,27); match(input,SEMI,FOLLOW_SEMI_in_synpred15_Css31904); if (state.failed) return; } @@ -38506,28 +38707,28 @@ public final void synpred15_Css3_fragment() throws RecognitionException { // $ANTLR start synpred16_Css3 public final void synpred16_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:9: ( SASS_MIXIN | ( ( ( DOT IDENT ) | HASH ) ( ws )? LPAREN (~ RPAREN )* RPAREN (~ ( LBRACE | RBRACE | SEMI ) )* LBRACE ) ) - int alt587=2; - try { dbg.enterDecision(587, decisionCanBacktrack[587]); + int alt588=2; + try { dbg.enterDecision(588, decisionCanBacktrack[588]); - int LA587_0 = input.LA(1); - if ( (LA587_0==SASS_MIXIN) ) { - alt587=1; + int LA588_0 = input.LA(1); + if ( (LA588_0==SASS_MIXIN) ) { + alt588=1; } - else if ( (LA587_0==DOT||LA587_0==HASH) ) { - alt587=2; + else if ( (LA588_0==DOT||LA588_0==HASH) ) { + alt588=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 587, 0, input); + new NoViableAltException("", 588, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(587);} + } finally {dbg.exitDecision(588);} - switch (alt587) { + switch (alt588) { case 1 : dbg.enterAlt(1); @@ -38550,29 +38751,29 @@ else if ( (LA587_0==DOT||LA587_0==HASH) ) { { dbg.location(488,24); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:24: ( ( DOT IDENT ) | HASH ) - int alt583=2; - try { dbg.enterSubRule(583); - try { dbg.enterDecision(583, decisionCanBacktrack[583]); + int alt584=2; + try { dbg.enterSubRule(584); + try { dbg.enterDecision(584, decisionCanBacktrack[584]); - int LA583_0 = input.LA(1); - if ( (LA583_0==DOT) ) { - alt583=1; + int LA584_0 = input.LA(1); + if ( (LA584_0==DOT) ) { + alt584=1; } - else if ( (LA583_0==HASH) ) { - alt583=2; + else if ( (LA584_0==HASH) ) { + alt584=2; } else { if (state.backtracking>0) {state.failed=true; return;} NoViableAltException nvae = - new NoViableAltException("", 583, 0, input); + new NoViableAltException("", 584, 0, input); dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(583);} + } finally {dbg.exitDecision(584);} - switch (alt583) { + switch (alt584) { case 1 : dbg.enterAlt(1); @@ -38602,20 +38803,20 @@ else if ( (LA583_0==HASH) ) { break; } - } finally {dbg.exitSubRule(583);} + } finally {dbg.exitSubRule(584);} dbg.location(488,45); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:45: ( ws )? - int alt584=2; - try { dbg.enterSubRule(584); - try { dbg.enterDecision(584, decisionCanBacktrack[584]); + int alt585=2; + try { dbg.enterSubRule(585); + try { dbg.enterDecision(585, decisionCanBacktrack[585]); - int LA584_0 = input.LA(1); - if ( (LA584_0==COMMENT||LA584_0==NL||LA584_0==WS) ) { - alt584=1; + int LA585_0 = input.LA(1); + if ( (LA585_0==COMMENT||LA585_0==NL||LA585_0==WS) ) { + alt585=1; } - } finally {dbg.exitDecision(584);} + } finally {dbg.exitDecision(585);} - switch (alt584) { + switch (alt585) { case 1 : dbg.enterAlt(1); @@ -38630,25 +38831,25 @@ else if ( (LA583_0==HASH) ) { break; } - } finally {dbg.exitSubRule(584);} + } finally {dbg.exitSubRule(585);} dbg.location(488,49); match(input,LPAREN,FOLLOW_LPAREN_in_synpred16_Css31999); if (state.failed) return;dbg.location(488,56); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:56: (~ RPAREN )* - try { dbg.enterSubRule(585); + try { dbg.enterSubRule(586); - loop585: + loop586: while (true) { - int alt585=2; - try { dbg.enterDecision(585, decisionCanBacktrack[585]); + int alt586=2; + try { dbg.enterDecision(586, decisionCanBacktrack[586]); - int LA585_0 = input.LA(1); - if ( ((LA585_0 >= A && LA585_0 <= RIGHTTOP_SYM)||(LA585_0 >= S && LA585_0 <= Z)) ) { - alt585=1; + int LA586_0 = input.LA(1); + if ( ((LA586_0 >= A && LA586_0 <= RIGHTTOP_SYM)||(LA586_0 >= S && LA586_0 <= Z)) ) { + alt586=1; } - } finally {dbg.exitDecision(585);} + } finally {dbg.exitDecision(586);} - switch (alt585) { + switch (alt586) { case 1 : dbg.enterAlt(1); @@ -38670,28 +38871,28 @@ else if ( (LA583_0==HASH) ) { break; default : - break loop585; + break loop586; } } - } finally {dbg.exitSubRule(585);} + } finally {dbg.exitSubRule(586);} dbg.location(488,67); match(input,RPAREN,FOLLOW_RPAREN_in_synpred16_Css32007); if (state.failed) return;dbg.location(488,74); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:488:74: (~ ( LBRACE | RBRACE | SEMI ) )* - try { dbg.enterSubRule(586); + try { dbg.enterSubRule(587); - loop586: + loop587: while (true) { - int alt586=2; - try { dbg.enterDecision(586, decisionCanBacktrack[586]); + int alt587=2; + try { dbg.enterDecision(587, decisionCanBacktrack[587]); - int LA586_0 = input.LA(1); - if ( ((LA586_0 >= A && LA586_0 <= LAYER_SYM)||(LA586_0 >= LBRACKET && LA586_0 <= R)||(LA586_0 >= RBRACKET && LA586_0 <= SASS_WHILE)||(LA586_0 >= SOLIDUS && LA586_0 <= Z)) ) { - alt586=1; + int LA587_0 = input.LA(1); + if ( ((LA587_0 >= A && LA587_0 <= LAYER_SYM)||(LA587_0 >= LBRACKET && LA587_0 <= R)||(LA587_0 >= RBRACKET && LA587_0 <= SASS_WHILE)||(LA587_0 >= SOLIDUS && LA587_0 <= Z)) ) { + alt587=1; } - } finally {dbg.exitDecision(586);} + } finally {dbg.exitDecision(587);} - switch (alt586) { + switch (alt587) { case 1 : dbg.enterAlt(1); @@ -38713,10 +38914,10 @@ else if ( (LA583_0==HASH) ) { break; default : - break loop586; + break loop587; } } - } finally {dbg.exitSubRule(586);} + } finally {dbg.exitSubRule(587);} dbg.location(488,97); match(input,LBRACE,FOLLOW_LBRACE_in_synpred16_Css32019); if (state.failed) return; } @@ -38741,17 +38942,17 @@ public final void synpred17_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(490,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:490:26: ( ws )? - int alt588=2; - try { dbg.enterSubRule(588); - try { dbg.enterDecision(588, decisionCanBacktrack[588]); + int alt589=2; + try { dbg.enterSubRule(589); + try { dbg.enterDecision(589, decisionCanBacktrack[589]); - int LA588_0 = input.LA(1); - if ( (LA588_0==COMMENT||LA588_0==NL||LA588_0==WS) ) { - alt588=1; + int LA589_0 = input.LA(1); + if ( (LA589_0==COMMENT||LA589_0==NL||LA589_0==WS) ) { + alt589=1; } - } finally {dbg.exitDecision(588);} + } finally {dbg.exitDecision(589);} - switch (alt588) { + switch (alt589) { case 1 : dbg.enterAlt(1); @@ -38766,7 +38967,7 @@ public final void synpred17_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(588);} + } finally {dbg.exitSubRule(589);} dbg.location(490,30); match(input,SEMI,FOLLOW_SEMI_in_synpred17_Css32050); if (state.failed) return; } @@ -38804,17 +39005,17 @@ public final void synpred19_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(493,24); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:493:24: ( ws )? - int alt589=2; - try { dbg.enterSubRule(589); - try { dbg.enterDecision(589, decisionCanBacktrack[589]); + int alt590=2; + try { dbg.enterSubRule(590); + try { dbg.enterDecision(590, decisionCanBacktrack[590]); - int LA589_0 = input.LA(1); - if ( (LA589_0==COMMENT||LA589_0==NL||LA589_0==WS) ) { - alt589=1; + int LA590_0 = input.LA(1); + if ( (LA590_0==COMMENT||LA590_0==NL||LA590_0==WS) ) { + alt590=1; } - } finally {dbg.exitDecision(589);} + } finally {dbg.exitDecision(590);} - switch (alt589) { + switch (alt590) { case 1 : dbg.enterAlt(1); @@ -38829,7 +39030,7 @@ public final void synpred19_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(589);} + } finally {dbg.exitSubRule(590);} dbg.location(493,28); match(input,COLON,FOLLOW_COLON_in_synpred19_Css32102); if (state.failed) return; } @@ -38864,17 +39065,17 @@ public final void synpred21_Css3_fragment() throws RecognitionException { dbg.location(534,2); match(input,LPAREN,FOLLOW_LPAREN_in_synpred21_Css32409); if (state.failed) return;dbg.location(534,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:534:9: ( ws )? - int alt590=2; - try { dbg.enterSubRule(590); - try { dbg.enterDecision(590, decisionCanBacktrack[590]); + int alt591=2; + try { dbg.enterSubRule(591); + try { dbg.enterDecision(591, decisionCanBacktrack[591]); - int LA590_0 = input.LA(1); - if ( (LA590_0==COMMENT||LA590_0==NL||LA590_0==WS) ) { - alt590=1; + int LA591_0 = input.LA(1); + if ( (LA591_0==COMMENT||LA591_0==NL||LA591_0==WS) ) { + alt591=1; } - } finally {dbg.exitDecision(590);} + } finally {dbg.exitDecision(591);} - switch (alt590) { + switch (alt591) { case 1 : dbg.enterAlt(1); @@ -38889,24 +39090,24 @@ public final void synpred21_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(590);} + } finally {dbg.exitSubRule(591);} dbg.location(534,13); pushFollow(FOLLOW_supportsCondition_in_synpred21_Css32414); supportsCondition(); state._fsp--; if (state.failed) return;dbg.location(534,31); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:534:31: ( ws )? - int alt591=2; - try { dbg.enterSubRule(591); - try { dbg.enterDecision(591, decisionCanBacktrack[591]); + int alt592=2; + try { dbg.enterSubRule(592); + try { dbg.enterDecision(592, decisionCanBacktrack[592]); - int LA591_0 = input.LA(1); - if ( (LA591_0==COMMENT||LA591_0==NL||LA591_0==WS) ) { - alt591=1; + int LA592_0 = input.LA(1); + if ( (LA592_0==COMMENT||LA592_0==NL||LA592_0==WS) ) { + alt592=1; } - } finally {dbg.exitDecision(591);} + } finally {dbg.exitDecision(592);} - switch (alt591) { + switch (alt592) { case 1 : dbg.enterAlt(1); @@ -38921,7 +39122,7 @@ public final void synpred21_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(591);} + } finally {dbg.exitSubRule(592);} dbg.location(534,35); match(input,RPAREN,FOLLOW_RPAREN_in_synpred21_Css32419); if (state.failed) return; } @@ -38964,17 +39165,17 @@ public final void synpred23_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(553,39); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:553:39: ( ws )? - int alt592=2; - try { dbg.enterSubRule(592); - try { dbg.enterDecision(592, decisionCanBacktrack[592]); + int alt593=2; + try { dbg.enterSubRule(593); + try { dbg.enterDecision(593, decisionCanBacktrack[593]); - int LA592_0 = input.LA(1); - if ( (LA592_0==COMMENT||LA592_0==NL||LA592_0==WS) ) { - alt592=1; + int LA593_0 = input.LA(1); + if ( (LA593_0==COMMENT||LA593_0==NL||LA593_0==WS) ) { + alt593=1; } - } finally {dbg.exitDecision(592);} + } finally {dbg.exitDecision(593);} - switch (alt592) { + switch (alt593) { case 1 : dbg.enterAlt(1); @@ -38989,7 +39190,7 @@ public final void synpred23_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(592);} + } finally {dbg.exitSubRule(593);} dbg.location(553,43); match(input,LBRACE,FOLLOW_LBRACE_in_synpred23_Css32517); if (state.failed) return; } @@ -39007,17 +39208,17 @@ public final void synpred24_Css3_fragment() throws RecognitionException { dbg.location(579,2); match(input,LPAREN,FOLLOW_LPAREN_in_synpred24_Css32765); if (state.failed) return;dbg.location(579,9); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:579:9: ( ws )? - int alt593=2; - try { dbg.enterSubRule(593); - try { dbg.enterDecision(593, decisionCanBacktrack[593]); + int alt594=2; + try { dbg.enterSubRule(594); + try { dbg.enterDecision(594, decisionCanBacktrack[594]); - int LA593_0 = input.LA(1); - if ( (LA593_0==COMMENT||LA593_0==NL||LA593_0==WS) ) { - alt593=1; + int LA594_0 = input.LA(1); + if ( (LA594_0==COMMENT||LA594_0==NL||LA594_0==WS) ) { + alt594=1; } - } finally {dbg.exitDecision(593);} + } finally {dbg.exitDecision(594);} - switch (alt593) { + switch (alt594) { case 1 : dbg.enterAlt(1); @@ -39032,24 +39233,24 @@ public final void synpred24_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(593);} + } finally {dbg.exitSubRule(594);} dbg.location(579,13); pushFollow(FOLLOW_containerCondition_in_synpred24_Css32770); containerCondition(); state._fsp--; if (state.failed) return;dbg.location(579,32); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:579:32: ( ws )? - int alt594=2; - try { dbg.enterSubRule(594); - try { dbg.enterDecision(594, decisionCanBacktrack[594]); + int alt595=2; + try { dbg.enterSubRule(595); + try { dbg.enterDecision(595, decisionCanBacktrack[595]); - int LA594_0 = input.LA(1); - if ( (LA594_0==COMMENT||LA594_0==NL||LA594_0==WS) ) { - alt594=1; + int LA595_0 = input.LA(1); + if ( (LA595_0==COMMENT||LA595_0==NL||LA595_0==WS) ) { + alt595=1; } - } finally {dbg.exitDecision(594);} + } finally {dbg.exitDecision(595);} - switch (alt594) { + switch (alt595) { case 1 : dbg.enterAlt(1); @@ -39064,7 +39265,7 @@ public final void synpred24_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(594);} + } finally {dbg.exitSubRule(595);} dbg.location(579,36); match(input,RPAREN,FOLLOW_RPAREN_in_synpred24_Css32775); if (state.failed) return; } @@ -39103,17 +39304,17 @@ public final void synpred26_Css3_fragment() throws RecognitionException { }dbg.location(581,32); match(input,IDENT,FOLLOW_IDENT_in_synpred26_Css32787); if (state.failed) return;dbg.location(581,38); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:581:38: ( ws )? - int alt595=2; - try { dbg.enterSubRule(595); - try { dbg.enterDecision(595, decisionCanBacktrack[595]); + int alt596=2; + try { dbg.enterSubRule(596); + try { dbg.enterDecision(596, decisionCanBacktrack[596]); - int LA595_0 = input.LA(1); - if ( (LA595_0==COMMENT||LA595_0==NL||LA595_0==WS) ) { - alt595=1; + int LA596_0 = input.LA(1); + if ( (LA596_0==COMMENT||LA596_0==NL||LA596_0==WS) ) { + alt596=1; } - } finally {dbg.exitDecision(595);} + } finally {dbg.exitDecision(596);} - switch (alt595) { + switch (alt596) { case 1 : dbg.enterAlt(1); @@ -39128,21 +39329,21 @@ public final void synpred26_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(595);} + } finally {dbg.exitSubRule(596);} dbg.location(581,42); match(input,LPAREN,FOLLOW_LPAREN_in_synpred26_Css32792); if (state.failed) return;dbg.location(581,49); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:581:49: ( ws )? - int alt596=2; - try { dbg.enterSubRule(596); - try { dbg.enterDecision(596, decisionCanBacktrack[596]); + int alt597=2; + try { dbg.enterSubRule(597); + try { dbg.enterDecision(597, decisionCanBacktrack[597]); - int LA596_0 = input.LA(1); - if ( (LA596_0==COMMENT||LA596_0==NL||LA596_0==WS) ) { - alt596=1; + int LA597_0 = input.LA(1); + if ( (LA597_0==COMMENT||LA597_0==NL||LA597_0==WS) ) { + alt597=1; } - } finally {dbg.exitDecision(596);} + } finally {dbg.exitDecision(597);} - switch (alt596) { + switch (alt597) { case 1 : dbg.enterAlt(1); @@ -39157,24 +39358,24 @@ public final void synpred26_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(596);} + } finally {dbg.exitSubRule(597);} dbg.location(581,53); pushFollow(FOLLOW_styleQuery_in_synpred26_Css32797); styleQuery(); state._fsp--; if (state.failed) return;dbg.location(581,64); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:581:64: ( ws )? - int alt597=2; - try { dbg.enterSubRule(597); - try { dbg.enterDecision(597, decisionCanBacktrack[597]); + int alt598=2; + try { dbg.enterSubRule(598); + try { dbg.enterDecision(598, decisionCanBacktrack[598]); - int LA597_0 = input.LA(1); - if ( (LA597_0==COMMENT||LA597_0==NL||LA597_0==WS) ) { - alt597=1; + int LA598_0 = input.LA(1); + if ( (LA598_0==COMMENT||LA598_0==NL||LA598_0==WS) ) { + alt598=1; } - } finally {dbg.exitDecision(597);} + } finally {dbg.exitDecision(598);} - switch (alt597) { + switch (alt598) { case 1 : dbg.enterAlt(1); @@ -39189,7 +39390,7 @@ public final void synpred26_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(597);} + } finally {dbg.exitSubRule(598);} dbg.location(581,68); match(input,RPAREN,FOLLOW_RPAREN_in_synpred26_Css32802); if (state.failed) return; } @@ -39207,17 +39408,17 @@ public final void synpred27_Css3_fragment() throws RecognitionException { dbg.location(617,9); match(input,LPAREN,FOLLOW_LPAREN_in_synpred27_Css33093); if (state.failed) return;dbg.location(617,16); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:617:16: ( ws )? - int alt598=2; - try { dbg.enterSubRule(598); - try { dbg.enterDecision(598, decisionCanBacktrack[598]); + int alt599=2; + try { dbg.enterSubRule(599); + try { dbg.enterDecision(599, decisionCanBacktrack[599]); - int LA598_0 = input.LA(1); - if ( (LA598_0==COMMENT||LA598_0==NL||LA598_0==WS) ) { - alt598=1; + int LA599_0 = input.LA(1); + if ( (LA599_0==COMMENT||LA599_0==NL||LA599_0==WS) ) { + alt599=1; } - } finally {dbg.exitDecision(598);} + } finally {dbg.exitDecision(599);} - switch (alt598) { + switch (alt599) { case 1 : dbg.enterAlt(1); @@ -39232,24 +39433,24 @@ public final void synpred27_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(598);} + } finally {dbg.exitSubRule(599);} dbg.location(617,20); pushFollow(FOLLOW_styleCondition_in_synpred27_Css33098); styleCondition(); state._fsp--; if (state.failed) return;dbg.location(617,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:617:35: ( ws )? - int alt599=2; - try { dbg.enterSubRule(599); - try { dbg.enterDecision(599, decisionCanBacktrack[599]); + int alt600=2; + try { dbg.enterSubRule(600); + try { dbg.enterDecision(600, decisionCanBacktrack[600]); - int LA599_0 = input.LA(1); - if ( (LA599_0==COMMENT||LA599_0==NL||LA599_0==WS) ) { - alt599=1; + int LA600_0 = input.LA(1); + if ( (LA600_0==COMMENT||LA600_0==NL||LA600_0==WS) ) { + alt600=1; } - } finally {dbg.exitDecision(599);} + } finally {dbg.exitDecision(600);} - switch (alt599) { + switch (alt600) { case 1 : dbg.enterAlt(1); @@ -39264,7 +39465,7 @@ public final void synpred27_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(599);} + } finally {dbg.exitSubRule(600);} dbg.location(617,39); match(input,RPAREN,FOLLOW_RPAREN_in_synpred27_Css33103); if (state.failed) return; } @@ -39282,17 +39483,17 @@ public final void synpred28_Css3_fragment() throws RecognitionException { dbg.location(618,11); match(input,LPAREN,FOLLOW_LPAREN_in_synpred28_Css33115); if (state.failed) return;dbg.location(618,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:618:18: ( ws )? - int alt600=2; - try { dbg.enterSubRule(600); - try { dbg.enterDecision(600, decisionCanBacktrack[600]); + int alt601=2; + try { dbg.enterSubRule(601); + try { dbg.enterDecision(601, decisionCanBacktrack[601]); - int LA600_0 = input.LA(1); - if ( (LA600_0==COMMENT||LA600_0==NL||LA600_0==WS) ) { - alt600=1; + int LA601_0 = input.LA(1); + if ( (LA601_0==COMMENT||LA601_0==NL||LA601_0==WS) ) { + alt601=1; } - } finally {dbg.exitDecision(600);} + } finally {dbg.exitDecision(601);} - switch (alt600) { + switch (alt601) { case 1 : dbg.enterAlt(1); @@ -39307,24 +39508,24 @@ public final void synpred28_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(600);} + } finally {dbg.exitSubRule(601);} dbg.location(618,22); pushFollow(FOLLOW_styleFeature_in_synpred28_Css33120); styleFeature(); state._fsp--; if (state.failed) return;dbg.location(618,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:618:35: ( ws )? - int alt601=2; - try { dbg.enterSubRule(601); - try { dbg.enterDecision(601, decisionCanBacktrack[601]); + int alt602=2; + try { dbg.enterSubRule(602); + try { dbg.enterDecision(602, decisionCanBacktrack[602]); - int LA601_0 = input.LA(1); - if ( (LA601_0==COMMENT||LA601_0==NL||LA601_0==WS) ) { - alt601=1; + int LA602_0 = input.LA(1); + if ( (LA602_0==COMMENT||LA602_0==NL||LA602_0==WS) ) { + alt602=1; } - } finally {dbg.exitDecision(601);} + } finally {dbg.exitDecision(602);} - switch (alt601) { + switch (alt602) { case 1 : dbg.enterAlt(1); @@ -39339,7 +39540,7 @@ public final void synpred28_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(601);} + } finally {dbg.exitSubRule(602);} dbg.location(618,39); match(input,RPAREN,FOLLOW_RPAREN_in_synpred28_Css33125); if (state.failed) return; } @@ -39357,17 +39558,17 @@ public final void synpred29_Css3_fragment() throws RecognitionException { dbg.location(626,9); match(input,LPAREN,FOLLOW_LPAREN_in_synpred29_Css33195); if (state.failed) return;dbg.location(626,16); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:626:16: ( ws )? - int alt602=2; - try { dbg.enterSubRule(602); - try { dbg.enterDecision(602, decisionCanBacktrack[602]); + int alt603=2; + try { dbg.enterSubRule(603); + try { dbg.enterDecision(603, decisionCanBacktrack[603]); - int LA602_0 = input.LA(1); - if ( (LA602_0==COMMENT||LA602_0==NL||LA602_0==WS) ) { - alt602=1; + int LA603_0 = input.LA(1); + if ( (LA603_0==COMMENT||LA603_0==NL||LA603_0==WS) ) { + alt603=1; } - } finally {dbg.exitDecision(602);} + } finally {dbg.exitDecision(603);} - switch (alt602) { + switch (alt603) { case 1 : dbg.enterAlt(1); @@ -39382,24 +39583,24 @@ public final void synpred29_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(602);} + } finally {dbg.exitSubRule(603);} dbg.location(626,20); pushFollow(FOLLOW_sizeFeatureFixedValue_in_synpred29_Css33200); sizeFeatureFixedValue(); state._fsp--; if (state.failed) return;dbg.location(626,42); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:626:42: ( ws )? - int alt603=2; - try { dbg.enterSubRule(603); - try { dbg.enterDecision(603, decisionCanBacktrack[603]); + int alt604=2; + try { dbg.enterSubRule(604); + try { dbg.enterDecision(604, decisionCanBacktrack[604]); - int LA603_0 = input.LA(1); - if ( (LA603_0==COMMENT||LA603_0==NL||LA603_0==WS) ) { - alt603=1; + int LA604_0 = input.LA(1); + if ( (LA604_0==COMMENT||LA604_0==NL||LA604_0==WS) ) { + alt604=1; } - } finally {dbg.exitDecision(603);} + } finally {dbg.exitDecision(604);} - switch (alt603) { + switch (alt604) { case 1 : dbg.enterAlt(1); @@ -39414,7 +39615,7 @@ public final void synpred29_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(603);} + } finally {dbg.exitSubRule(604);} dbg.location(626,46); match(input,RPAREN,FOLLOW_RPAREN_in_synpred29_Css33205); if (state.failed) return; } @@ -39432,17 +39633,17 @@ public final void synpred30_Css3_fragment() throws RecognitionException { dbg.location(627,11); match(input,LPAREN,FOLLOW_LPAREN_in_synpred30_Css33217); if (state.failed) return;dbg.location(627,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:627:18: ( ws )? - int alt604=2; - try { dbg.enterSubRule(604); - try { dbg.enterDecision(604, decisionCanBacktrack[604]); + int alt605=2; + try { dbg.enterSubRule(605); + try { dbg.enterDecision(605, decisionCanBacktrack[605]); - int LA604_0 = input.LA(1); - if ( (LA604_0==COMMENT||LA604_0==NL||LA604_0==WS) ) { - alt604=1; + int LA605_0 = input.LA(1); + if ( (LA605_0==COMMENT||LA605_0==NL||LA605_0==WS) ) { + alt605=1; } - } finally {dbg.exitDecision(604);} + } finally {dbg.exitDecision(605);} - switch (alt604) { + switch (alt605) { case 1 : dbg.enterAlt(1); @@ -39457,24 +39658,24 @@ public final void synpred30_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(604);} + } finally {dbg.exitSubRule(605);} dbg.location(627,22); pushFollow(FOLLOW_sizeFeatureRangeSingle_in_synpred30_Css33222); sizeFeatureRangeSingle(); state._fsp--; if (state.failed) return;dbg.location(627,45); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:627:45: ( ws )? - int alt605=2; - try { dbg.enterSubRule(605); - try { dbg.enterDecision(605, decisionCanBacktrack[605]); + int alt606=2; + try { dbg.enterSubRule(606); + try { dbg.enterDecision(606, decisionCanBacktrack[606]); - int LA605_0 = input.LA(1); - if ( (LA605_0==COMMENT||LA605_0==NL||LA605_0==WS) ) { - alt605=1; + int LA606_0 = input.LA(1); + if ( (LA606_0==COMMENT||LA606_0==NL||LA606_0==WS) ) { + alt606=1; } - } finally {dbg.exitDecision(605);} + } finally {dbg.exitDecision(606);} - switch (alt605) { + switch (alt606) { case 1 : dbg.enterAlt(1); @@ -39489,7 +39690,7 @@ public final void synpred30_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(605);} + } finally {dbg.exitSubRule(606);} dbg.location(627,49); match(input,RPAREN,FOLLOW_RPAREN_in_synpred30_Css33227); if (state.failed) return; } @@ -39507,17 +39708,17 @@ public final void synpred31_Css3_fragment() throws RecognitionException { dbg.location(628,11); match(input,LPAREN,FOLLOW_LPAREN_in_synpred31_Css33239); if (state.failed) return;dbg.location(628,18); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:628:18: ( ws )? - int alt606=2; - try { dbg.enterSubRule(606); - try { dbg.enterDecision(606, decisionCanBacktrack[606]); + int alt607=2; + try { dbg.enterSubRule(607); + try { dbg.enterDecision(607, decisionCanBacktrack[607]); - int LA606_0 = input.LA(1); - if ( (LA606_0==COMMENT||LA606_0==NL||LA606_0==WS) ) { - alt606=1; + int LA607_0 = input.LA(1); + if ( (LA607_0==COMMENT||LA607_0==NL||LA607_0==WS) ) { + alt607=1; } - } finally {dbg.exitDecision(606);} + } finally {dbg.exitDecision(607);} - switch (alt606) { + switch (alt607) { case 1 : dbg.enterAlt(1); @@ -39532,24 +39733,24 @@ public final void synpred31_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(606);} + } finally {dbg.exitSubRule(607);} dbg.location(628,22); pushFollow(FOLLOW_sizeFeatureRangeBetweenLt_in_synpred31_Css33244); sizeFeatureRangeBetweenLt(); state._fsp--; if (state.failed) return;dbg.location(628,48); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:628:48: ( ws )? - int alt607=2; - try { dbg.enterSubRule(607); - try { dbg.enterDecision(607, decisionCanBacktrack[607]); + int alt608=2; + try { dbg.enterSubRule(608); + try { dbg.enterDecision(608, decisionCanBacktrack[608]); - int LA607_0 = input.LA(1); - if ( (LA607_0==COMMENT||LA607_0==NL||LA607_0==WS) ) { - alt607=1; + int LA608_0 = input.LA(1); + if ( (LA608_0==COMMENT||LA608_0==NL||LA608_0==WS) ) { + alt608=1; } - } finally {dbg.exitDecision(607);} + } finally {dbg.exitDecision(608);} - switch (alt607) { + switch (alt608) { case 1 : dbg.enterAlt(1); @@ -39564,7 +39765,7 @@ public final void synpred31_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(607);} + } finally {dbg.exitSubRule(608);} dbg.location(628,52); match(input,RPAREN,FOLLOW_RPAREN_in_synpred31_Css33249); if (state.failed) return; } @@ -39633,52 +39834,52 @@ public final void synpred35_Css3_fragment() throws RecognitionException { state._fsp--; if (state.failed) return;dbg.location(716,87); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:716:87: ( LBRACE | ( componentValue )=> componentValue ) - int alt608=2; - try { dbg.enterSubRule(608); - try { dbg.enterDecision(608, decisionCanBacktrack[608]); + int alt609=2; + try { dbg.enterSubRule(609); + try { dbg.enterDecision(609, decisionCanBacktrack[609]); - int LA608_0 = input.LA(1); - if ( (LA608_0==LBRACE) ) { - int LA608_1 = input.LA(2); - if ( (LA608_1==EOF) ) { - alt608=1; + int LA609_0 = input.LA(1); + if ( (LA609_0==LBRACE) ) { + int LA609_1 = input.LA(2); + if ( (LA609_1==EOF) ) { + alt609=1; } - else if ( (LA608_1==LPAREN) && (synpred34_Css3())) { - alt608=2; + else if ( (LA609_1==LPAREN) && (synpred34_Css3())) { + alt609=2; } - else if ( (LA608_1==LBRACE) && (synpred34_Css3())) { - alt608=2; + else if ( (LA609_1==LBRACE) && (synpred34_Css3())) { + alt609=2; } - else if ( (LA608_1==LBRACKET) && (synpred34_Css3())) { - alt608=2; + else if ( (LA609_1==LBRACKET) && (synpred34_Css3())) { + alt609=2; } - else if ( (LA608_1==IDENT) && (synpred34_Css3())) { - alt608=2; + else if ( (LA609_1==IDENT) && (synpred34_Css3())) { + alt609=2; } - else if ( ((LA608_1 >= A && LA608_1 <= I)||(LA608_1 >= IMPORTANT_SYM && LA608_1 <= LAYER_SYM)||(LA608_1 >= LEFTBOTTOM_SYM && LA608_1 <= LINE_COMMENT)||(LA608_1 >= M && LA608_1 <= R)||(LA608_1 >= REM && LA608_1 <= RIGHTTOP_SYM)||(LA608_1 >= S && LA608_1 <= Z)) && (synpred34_Css3())) { - alt608=2; + else if ( ((LA609_1 >= A && LA609_1 <= I)||(LA609_1 >= IMPORTANT_SYM && LA609_1 <= LAYER_SYM)||(LA609_1 >= LEFTBOTTOM_SYM && LA609_1 <= LINE_COMMENT)||(LA609_1 >= M && LA609_1 <= R)||(LA609_1 >= REM && LA609_1 <= RIGHTTOP_SYM)||(LA609_1 >= S && LA609_1 <= Z)) && (synpred34_Css3())) { + alt609=2; } - else if ( (LA608_1==RBRACE) && (synpred34_Css3())) { - alt608=2; + else if ( (LA609_1==RBRACE) && (synpred34_Css3())) { + alt609=2; } } - else if ( (LA608_0==LPAREN) && (synpred34_Css3())) { - alt608=2; + else if ( (LA609_0==LPAREN) && (synpred34_Css3())) { + alt609=2; } - else if ( (LA608_0==LBRACKET) && (synpred34_Css3())) { - alt608=2; + else if ( (LA609_0==LBRACKET) && (synpred34_Css3())) { + alt609=2; } - else if ( (LA608_0==IDENT) && (synpred34_Css3())) { - alt608=2; + else if ( (LA609_0==IDENT) && (synpred34_Css3())) { + alt609=2; } - else if ( ((LA608_0 >= A && LA608_0 <= I)||(LA608_0 >= IMPORTANT_SYM && LA608_0 <= LAYER_SYM)||(LA608_0 >= LEFTBOTTOM_SYM && LA608_0 <= LINE_COMMENT)||(LA608_0 >= M && LA608_0 <= R)||(LA608_0 >= REM && LA608_0 <= RIGHTTOP_SYM)||(LA608_0 >= S && LA608_0 <= Z)) && (synpred34_Css3())) { - alt608=2; + else if ( ((LA609_0 >= A && LA609_0 <= I)||(LA609_0 >= IMPORTANT_SYM && LA609_0 <= LAYER_SYM)||(LA609_0 >= LEFTBOTTOM_SYM && LA609_0 <= LINE_COMMENT)||(LA609_0 >= M && LA609_0 <= R)||(LA609_0 >= REM && LA609_0 <= RIGHTTOP_SYM)||(LA609_0 >= S && LA609_0 <= Z)) && (synpred34_Css3())) { + alt609=2; } - } finally {dbg.exitDecision(608);} + } finally {dbg.exitDecision(609);} - switch (alt608) { + switch (alt609) { case 1 : dbg.enterAlt(1); @@ -39702,7 +39903,7 @@ else if ( ((LA608_0 >= A && LA608_0 <= I)||(LA608_0 >= IMPORTANT_SYM && LA608_0 break; } - } finally {dbg.exitSubRule(608);} + } finally {dbg.exitSubRule(609);} } @@ -39749,24 +39950,24 @@ public final void synpred38_Css3_fragment() throws RecognitionException { { dbg.location(853,28); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:28: ( ws )? - int alt609=2; - try { dbg.enterSubRule(609); - try { dbg.enterDecision(609, decisionCanBacktrack[609]); + int alt610=2; + try { dbg.enterSubRule(610); + try { dbg.enterDecision(610, decisionCanBacktrack[610]); - int LA609_0 = input.LA(1); - if ( (LA609_0==COMMENT||LA609_0==NL||LA609_0==WS) ) { - alt609=1; + int LA610_0 = input.LA(1); + if ( (LA610_0==COMMENT||LA610_0==NL||LA610_0==WS) ) { + alt610=1; } - } finally {dbg.exitDecision(609);} + } finally {dbg.exitDecision(610);} - switch (alt609) { + switch (alt610) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:853:28: ws { dbg.location(853,28); - pushFollow(FOLLOW_ws_in_synpred38_Css35090); + pushFollow(FOLLOW_ws_in_synpred38_Css35110); ws(); state._fsp--; if (state.failed) return; @@ -39774,9 +39975,9 @@ public final void synpred38_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(609);} + } finally {dbg.exitSubRule(610);} dbg.location(853,32); - match(input,COMMA,FOLLOW_COMMA_in_synpred38_Css35093); if (state.failed) return; + match(input,COMMA,FOLLOW_COMMA_in_synpred38_Css35113); if (state.failed) return; } } @@ -39790,7 +39991,7 @@ public final void synpred39_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:861:42: function { dbg.location(861,42); - pushFollow(FOLLOW_function_in_synpred39_Css35184); + pushFollow(FOLLOW_function_in_synpred39_Css35204); function(); state._fsp--; if (state.failed) return; @@ -39807,7 +40008,7 @@ public final void synpred40_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:889:6: cp_variable_declaration { dbg.location(889,6); - pushFollow(FOLLOW_cp_variable_declaration_in_synpred40_Css35484); + pushFollow(FOLLOW_cp_variable_declaration_in_synpred40_Css35504); cp_variable_declaration(); state._fsp--; if (state.failed) return; @@ -39824,7 +40025,7 @@ public final void synpred41_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:890:8: sass_map { dbg.location(890,8); - pushFollow(FOLLOW_sass_map_in_synpred41_Css35496); + pushFollow(FOLLOW_sass_map_in_synpred41_Css35516); sass_map(); state._fsp--; if (state.failed) return; @@ -39841,7 +40042,7 @@ public final void synpred42_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:891:8: sass_nested_properties { dbg.location(891,8); - pushFollow(FOLLOW_sass_nested_properties_in_synpred42_Css35509); + pushFollow(FOLLOW_sass_nested_properties_in_synpred42_Css35529); sass_nested_properties(); state._fsp--; if (state.failed) return; @@ -39859,21 +40060,21 @@ public final void synpred43_Css3_fragment() throws RecognitionException { { dbg.location(892,8); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:8: ( ( SASS_AT_ROOT ( ws selectorsGroup )? ) | ( SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN ) | selectorsGroup ) - int alt615=3; - try { dbg.enterSubRule(615); - try { dbg.enterDecision(615, decisionCanBacktrack[615]); + int alt616=3; + try { dbg.enterSubRule(616); + try { dbg.enterDecision(616, decisionCanBacktrack[616]); try { isCyclicDecision = true; - alt615 = dfa615.predict(input); + alt616 = dfa616.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(615);} + } finally {dbg.exitDecision(616);} - switch (alt615) { + switch (alt616) { case 1 : dbg.enterAlt(1); @@ -39886,34 +40087,34 @@ public final void synpred43_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:10: SASS_AT_ROOT ( ws selectorsGroup )? { dbg.location(892,10); - match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred43_Css35523); if (state.failed) return;dbg.location(892,23); + match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred43_Css35543); if (state.failed) return;dbg.location(892,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:23: ( ws selectorsGroup )? - int alt610=2; - try { dbg.enterSubRule(610); - try { dbg.enterDecision(610, decisionCanBacktrack[610]); + int alt611=2; + try { dbg.enterSubRule(611); + try { dbg.enterDecision(611, decisionCanBacktrack[611]); try { isCyclicDecision = true; - alt610 = dfa610.predict(input); + alt611 = dfa611.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(610);} + } finally {dbg.exitDecision(611);} - switch (alt610) { + switch (alt611) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:24: ws selectorsGroup { dbg.location(892,24); - pushFollow(FOLLOW_ws_in_synpred43_Css35526); + pushFollow(FOLLOW_ws_in_synpred43_Css35546); ws(); state._fsp--; if (state.failed) return;dbg.location(892,27); - pushFollow(FOLLOW_selectorsGroup_in_synpred43_Css35528); + pushFollow(FOLLOW_selectorsGroup_in_synpred43_Css35548); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -39921,7 +40122,7 @@ public final void synpred43_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(610);} + } finally {dbg.exitSubRule(611);} } @@ -39939,42 +40140,13 @@ public final void synpred43_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:49: SASS_AT_ROOT ws LPAREN ( ws )? IDENT ( ws )? COLON ( ws )? IDENT ( ws )? RPAREN { dbg.location(892,49); - match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred43_Css35537); if (state.failed) return;dbg.location(892,62); - pushFollow(FOLLOW_ws_in_synpred43_Css35539); + match(input,SASS_AT_ROOT,FOLLOW_SASS_AT_ROOT_in_synpred43_Css35557); if (state.failed) return;dbg.location(892,62); + pushFollow(FOLLOW_ws_in_synpred43_Css35559); ws(); state._fsp--; if (state.failed) return;dbg.location(892,65); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred43_Css35541); if (state.failed) return;dbg.location(892,72); + match(input,LPAREN,FOLLOW_LPAREN_in_synpred43_Css35561); if (state.failed) return;dbg.location(892,72); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:72: ( ws )? - int alt611=2; - try { dbg.enterSubRule(611); - try { dbg.enterDecision(611, decisionCanBacktrack[611]); - - int LA611_0 = input.LA(1); - if ( (LA611_0==COMMENT||LA611_0==NL||LA611_0==WS) ) { - alt611=1; - } - } finally {dbg.exitDecision(611);} - - switch (alt611) { - case 1 : - dbg.enterAlt(1); - - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:72: ws - { - dbg.location(892,72); - pushFollow(FOLLOW_ws_in_synpred43_Css35543); - ws(); - state._fsp--; - if (state.failed) return; - } - break; - - } - } finally {dbg.exitSubRule(611);} - dbg.location(892,76); - match(input,IDENT,FOLLOW_IDENT_in_synpred43_Css35546); if (state.failed) return;dbg.location(892,82); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:82: ( ws )? int alt612=2; try { dbg.enterSubRule(612); try { dbg.enterDecision(612, decisionCanBacktrack[612]); @@ -39989,10 +40161,10 @@ public final void synpred43_Css3_fragment() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:82: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:72: ws { - dbg.location(892,82); - pushFollow(FOLLOW_ws_in_synpred43_Css35548); + dbg.location(892,72); + pushFollow(FOLLOW_ws_in_synpred43_Css35563); ws(); state._fsp--; if (state.failed) return; @@ -40001,9 +40173,9 @@ public final void synpred43_Css3_fragment() throws RecognitionException { } } finally {dbg.exitSubRule(612);} - dbg.location(892,86); - match(input,COLON,FOLLOW_COLON_in_synpred43_Css35551); if (state.failed) return;dbg.location(892,92); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:92: ( ws )? + dbg.location(892,76); + match(input,IDENT,FOLLOW_IDENT_in_synpred43_Css35566); if (state.failed) return;dbg.location(892,82); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:82: ( ws )? int alt613=2; try { dbg.enterSubRule(613); try { dbg.enterDecision(613, decisionCanBacktrack[613]); @@ -40018,10 +40190,10 @@ public final void synpred43_Css3_fragment() throws RecognitionException { case 1 : dbg.enterAlt(1); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:92: ws + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:82: ws { - dbg.location(892,92); - pushFollow(FOLLOW_ws_in_synpred43_Css35553); + dbg.location(892,82); + pushFollow(FOLLOW_ws_in_synpred43_Css35568); ws(); state._fsp--; if (state.failed) return; @@ -40030,9 +40202,9 @@ public final void synpred43_Css3_fragment() throws RecognitionException { } } finally {dbg.exitSubRule(613);} - dbg.location(892,96); - match(input,IDENT,FOLLOW_IDENT_in_synpred43_Css35556); if (state.failed) return;dbg.location(892,102); - // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:102: ( ws )? + dbg.location(892,86); + match(input,COLON,FOLLOW_COLON_in_synpred43_Css35571); if (state.failed) return;dbg.location(892,92); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:92: ( ws )? int alt614=2; try { dbg.enterSubRule(614); try { dbg.enterDecision(614, decisionCanBacktrack[614]); @@ -40044,13 +40216,42 @@ public final void synpred43_Css3_fragment() throws RecognitionException { } finally {dbg.exitDecision(614);} switch (alt614) { + case 1 : + dbg.enterAlt(1); + + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:92: ws + { + dbg.location(892,92); + pushFollow(FOLLOW_ws_in_synpred43_Css35573); + ws(); + state._fsp--; + if (state.failed) return; + } + break; + + } + } finally {dbg.exitSubRule(614);} + dbg.location(892,96); + match(input,IDENT,FOLLOW_IDENT_in_synpred43_Css35576); if (state.failed) return;dbg.location(892,102); + // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:102: ( ws )? + int alt615=2; + try { dbg.enterSubRule(615); + try { dbg.enterDecision(615, decisionCanBacktrack[615]); + + int LA615_0 = input.LA(1); + if ( (LA615_0==COMMENT||LA615_0==NL||LA615_0==WS) ) { + alt615=1; + } + } finally {dbg.exitDecision(615);} + + switch (alt615) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:102: ws { dbg.location(892,102); - pushFollow(FOLLOW_ws_in_synpred43_Css35558); + pushFollow(FOLLOW_ws_in_synpred43_Css35578); ws(); state._fsp--; if (state.failed) return; @@ -40058,9 +40259,9 @@ public final void synpred43_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(614);} + } finally {dbg.exitSubRule(615);} dbg.location(892,106); - match(input,RPAREN,FOLLOW_RPAREN_in_synpred43_Css35561); if (state.failed) return; + match(input,RPAREN,FOLLOW_RPAREN_in_synpred43_Css35581); if (state.failed) return; } } @@ -40071,7 +40272,7 @@ public final void synpred43_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:116: selectorsGroup { dbg.location(892,116); - pushFollow(FOLLOW_selectorsGroup_in_synpred43_Css35566); + pushFollow(FOLLOW_selectorsGroup_in_synpred43_Css35586); selectorsGroup(); state._fsp--; if (state.failed) return; @@ -40079,27 +40280,27 @@ public final void synpred43_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(615);} + } finally {dbg.exitSubRule(616);} dbg.location(892,132); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:132: ( ws )? - int alt616=2; - try { dbg.enterSubRule(616); - try { dbg.enterDecision(616, decisionCanBacktrack[616]); + int alt617=2; + try { dbg.enterSubRule(617); + try { dbg.enterDecision(617, decisionCanBacktrack[617]); - int LA616_0 = input.LA(1); - if ( (LA616_0==COMMENT||LA616_0==NL||LA616_0==WS) ) { - alt616=1; + int LA617_0 = input.LA(1); + if ( (LA617_0==COMMENT||LA617_0==NL||LA617_0==WS) ) { + alt617=1; } - } finally {dbg.exitDecision(616);} + } finally {dbg.exitDecision(617);} - switch (alt616) { + switch (alt617) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:892:132: ws { dbg.location(892,132); - pushFollow(FOLLOW_ws_in_synpred43_Css35569); + pushFollow(FOLLOW_ws_in_synpred43_Css35589); ws(); state._fsp--; if (state.failed) return; @@ -40107,9 +40308,9 @@ public final void synpred43_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(616);} + } finally {dbg.exitSubRule(617);} dbg.location(892,136); - match(input,LBRACE,FOLLOW_LBRACE_in_synpred43_Css35572); if (state.failed) return; + match(input,LBRACE,FOLLOW_LBRACE_in_synpred43_Css35592); if (state.failed) return; } } @@ -40123,7 +40324,7 @@ public final void synpred44_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:893:8: propertyDeclaration { dbg.location(893,8); - pushFollow(FOLLOW_propertyDeclaration_in_synpred44_Css35584); + pushFollow(FOLLOW_propertyDeclaration_in_synpred44_Css35604); propertyDeclaration(); state._fsp--; if (state.failed) return; @@ -40140,29 +40341,29 @@ public final void synpred45_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:8: property ( ws )? COLON (~ ( LBRACE | SEMI | RBRACE ) )* ( RBRACE | SEMI ) { dbg.location(895,8); - pushFollow(FOLLOW_property_in_synpred45_Css35601); + pushFollow(FOLLOW_property_in_synpred45_Css35621); property(); state._fsp--; if (state.failed) return;dbg.location(895,17); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:17: ( ws )? - int alt617=2; - try { dbg.enterSubRule(617); - try { dbg.enterDecision(617, decisionCanBacktrack[617]); + int alt618=2; + try { dbg.enterSubRule(618); + try { dbg.enterDecision(618, decisionCanBacktrack[618]); - int LA617_0 = input.LA(1); - if ( (LA617_0==COMMENT||LA617_0==NL||LA617_0==WS) ) { - alt617=1; + int LA618_0 = input.LA(1); + if ( (LA618_0==COMMENT||LA618_0==NL||LA618_0==WS) ) { + alt618=1; } - } finally {dbg.exitDecision(617);} + } finally {dbg.exitDecision(618);} - switch (alt617) { + switch (alt618) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:17: ws { dbg.location(895,17); - pushFollow(FOLLOW_ws_in_synpred45_Css35603); + pushFollow(FOLLOW_ws_in_synpred45_Css35623); ws(); state._fsp--; if (state.failed) return; @@ -40170,25 +40371,25 @@ public final void synpred45_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(617);} + } finally {dbg.exitSubRule(618);} dbg.location(895,21); - match(input,COLON,FOLLOW_COLON_in_synpred45_Css35606); if (state.failed) return;dbg.location(895,27); + match(input,COLON,FOLLOW_COLON_in_synpred45_Css35626); if (state.failed) return;dbg.location(895,27); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:895:27: (~ ( LBRACE | SEMI | RBRACE ) )* - try { dbg.enterSubRule(618); + try { dbg.enterSubRule(619); - loop618: + loop619: while (true) { - int alt618=2; - try { dbg.enterDecision(618, decisionCanBacktrack[618]); + int alt619=2; + try { dbg.enterDecision(619, decisionCanBacktrack[619]); - int LA618_0 = input.LA(1); - if ( ((LA618_0 >= A && LA618_0 <= LAYER_SYM)||(LA618_0 >= LBRACKET && LA618_0 <= R)||(LA618_0 >= RBRACKET && LA618_0 <= SASS_WHILE)||(LA618_0 >= SOLIDUS && LA618_0 <= Z)) ) { - alt618=1; + int LA619_0 = input.LA(1); + if ( ((LA619_0 >= A && LA619_0 <= LAYER_SYM)||(LA619_0 >= LBRACKET && LA619_0 <= R)||(LA619_0 >= RBRACKET && LA619_0 <= SASS_WHILE)||(LA619_0 >= SOLIDUS && LA619_0 <= Z)) ) { + alt619=1; } - } finally {dbg.exitDecision(618);} + } finally {dbg.exitDecision(619);} - switch (alt618) { + switch (alt619) { case 1 : dbg.enterAlt(1); @@ -40210,10 +40411,10 @@ public final void synpred45_Css3_fragment() throws RecognitionException { break; default : - break loop618; + break loop619; } } - } finally {dbg.exitSubRule(618);} + } finally {dbg.exitSubRule(619);} dbg.location(895,50); if ( input.LA(1)==RBRACE||input.LA(1)==SEMI ) { input.consume(); @@ -40239,7 +40440,7 @@ public final void synpred46_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:896:8: cp_mixin_declaration { dbg.location(896,8); - pushFollow(FOLLOW_cp_mixin_declaration_in_synpred46_Css35635); + pushFollow(FOLLOW_cp_mixin_declaration_in_synpred46_Css35655); cp_mixin_declaration(); state._fsp--; if (state.failed) return; @@ -40256,7 +40457,7 @@ public final void synpred47_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:897:8: cp_mixin_call { dbg.location(897,8); - pushFollow(FOLLOW_cp_mixin_call_in_synpred47_Css35647); + pushFollow(FOLLOW_cp_mixin_call_in_synpred47_Css35667); cp_mixin_call(); state._fsp--; if (state.failed) return; @@ -40273,7 +40474,7 @@ public final void synpred48_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:898:8: cp_mixin_call { dbg.location(898,8); - pushFollow(FOLLOW_cp_mixin_call_in_synpred48_Css35668); + pushFollow(FOLLOW_cp_mixin_call_in_synpred48_Css35688); cp_mixin_call(); state._fsp--; if (state.failed) return; @@ -40291,24 +40492,24 @@ public final void synpred49_Css3_fragment() throws RecognitionException { { dbg.location(932,66); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:66: ( ws )? - int alt619=2; - try { dbg.enterSubRule(619); - try { dbg.enterDecision(619, decisionCanBacktrack[619]); + int alt620=2; + try { dbg.enterSubRule(620); + try { dbg.enterDecision(620, decisionCanBacktrack[620]); - int LA619_0 = input.LA(1); - if ( (LA619_0==COMMENT||LA619_0==NL||LA619_0==WS) ) { - alt619=1; + int LA620_0 = input.LA(1); + if ( (LA620_0==COMMENT||LA620_0==NL||LA620_0==WS) ) { + alt620=1; } - } finally {dbg.exitDecision(619);} + } finally {dbg.exitDecision(620);} - switch (alt619) { + switch (alt620) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:932:66: ws { dbg.location(932,66); - pushFollow(FOLLOW_ws_in_synpred49_Css35964); + pushFollow(FOLLOW_ws_in_synpred49_Css35984); ws(); state._fsp--; if (state.failed) return; @@ -40316,9 +40517,9 @@ public final void synpred49_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(619);} + } finally {dbg.exitSubRule(620);} dbg.location(932,70); - pushFollow(FOLLOW_esPred_in_synpred49_Css35967); + pushFollow(FOLLOW_esPred_in_synpred49_Css35987); esPred(); state._fsp--; if (state.failed) return; @@ -40335,7 +40536,7 @@ public final void synpred50_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:5: typeSelector { dbg.location(933,5); - pushFollow(FOLLOW_typeSelector_in_synpred50_Css36002); + pushFollow(FOLLOW_typeSelector_in_synpred50_Css36022); typeSelector(); state._fsp--; if (state.failed) return; @@ -40353,24 +40554,24 @@ public final void synpred51_Css3_fragment() throws RecognitionException { { dbg.location(933,35); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:35: ( ws )? - int alt620=2; - try { dbg.enterSubRule(620); - try { dbg.enterDecision(620, decisionCanBacktrack[620]); + int alt621=2; + try { dbg.enterSubRule(621); + try { dbg.enterDecision(621, decisionCanBacktrack[621]); - int LA620_0 = input.LA(1); - if ( (LA620_0==COMMENT||LA620_0==NL||LA620_0==WS) ) { - alt620=1; + int LA621_0 = input.LA(1); + if ( (LA621_0==COMMENT||LA621_0==NL||LA621_0==WS) ) { + alt621=1; } - } finally {dbg.exitDecision(620);} + } finally {dbg.exitDecision(621);} - switch (alt620) { + switch (alt621) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:933:35: ws { dbg.location(933,35); - pushFollow(FOLLOW_ws_in_synpred51_Css36009); + pushFollow(FOLLOW_ws_in_synpred51_Css36029); ws(); state._fsp--; if (state.failed) return; @@ -40378,9 +40579,9 @@ public final void synpred51_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(620);} + } finally {dbg.exitSubRule(621);} dbg.location(933,39); - pushFollow(FOLLOW_esPred_in_synpred51_Css36012); + pushFollow(FOLLOW_esPred_in_synpred51_Css36032); esPred(); state._fsp--; if (state.failed) return; @@ -40398,17 +40599,17 @@ public final void synpred52_Css3_fragment() throws RecognitionException { { dbg.location(947,8); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:947:8: ( IDENT | STAR )? - int alt621=2; - try { dbg.enterSubRule(621); - try { dbg.enterDecision(621, decisionCanBacktrack[621]); + int alt622=2; + try { dbg.enterSubRule(622); + try { dbg.enterDecision(622, decisionCanBacktrack[622]); - int LA621_0 = input.LA(1); - if ( (LA621_0==IDENT||LA621_0==STAR) ) { - alt621=1; + int LA622_0 = input.LA(1); + if ( (LA622_0==IDENT||LA622_0==STAR) ) { + alt622=1; } - } finally {dbg.exitDecision(621);} + } finally {dbg.exitDecision(622);} - switch (alt621) { + switch (alt622) { case 1 : dbg.enterAlt(1); @@ -40430,9 +40631,9 @@ public final void synpred52_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(621);} + } finally {dbg.exitSubRule(622);} dbg.location(947,24); - match(input,PIPE,FOLLOW_PIPE_in_synpred52_Css36123); if (state.failed) return; + match(input,PIPE,FOLLOW_PIPE_in_synpred52_Css36143); if (state.failed) return; } } @@ -40446,29 +40647,29 @@ public final void synpred53_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:59: functionName ( ws )? LPAREN { dbg.location(1110,59); - pushFollow(FOLLOW_functionName_in_synpred53_Css37722); + pushFollow(FOLLOW_functionName_in_synpred53_Css37742); functionName(); state._fsp--; if (state.failed) return;dbg.location(1110,72); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:72: ( ws )? - int alt622=2; - try { dbg.enterSubRule(622); - try { dbg.enterDecision(622, decisionCanBacktrack[622]); + int alt623=2; + try { dbg.enterSubRule(623); + try { dbg.enterDecision(623, decisionCanBacktrack[623]); - int LA622_0 = input.LA(1); - if ( (LA622_0==COMMENT||LA622_0==NL||LA622_0==WS) ) { - alt622=1; + int LA623_0 = input.LA(1); + if ( (LA623_0==COMMENT||LA623_0==NL||LA623_0==WS) ) { + alt623=1; } - } finally {dbg.exitDecision(622);} + } finally {dbg.exitDecision(623);} - switch (alt622) { + switch (alt623) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1110:72: ws { dbg.location(1110,72); - pushFollow(FOLLOW_ws_in_synpred53_Css37724); + pushFollow(FOLLOW_ws_in_synpred53_Css37744); ws(); state._fsp--; if (state.failed) return; @@ -40476,9 +40677,9 @@ public final void synpred53_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(622);} + } finally {dbg.exitSubRule(623);} dbg.location(1110,76); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred53_Css37727); if (state.failed) return; + match(input,LPAREN,FOLLOW_LPAREN_in_synpred53_Css37747); if (state.failed) return; } } @@ -40492,29 +40693,29 @@ public final void synpred54_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:65: functionName ( ws )? LPAREN { dbg.location(1112,65); - pushFollow(FOLLOW_functionName_in_synpred54_Css37757); + pushFollow(FOLLOW_functionName_in_synpred54_Css37777); functionName(); state._fsp--; if (state.failed) return;dbg.location(1112,78); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:78: ( ws )? - int alt623=2; - try { dbg.enterSubRule(623); - try { dbg.enterDecision(623, decisionCanBacktrack[623]); + int alt624=2; + try { dbg.enterSubRule(624); + try { dbg.enterDecision(624, decisionCanBacktrack[624]); - int LA623_0 = input.LA(1); - if ( (LA623_0==COMMENT||LA623_0==NL||LA623_0==WS) ) { - alt623=1; + int LA624_0 = input.LA(1); + if ( (LA624_0==COMMENT||LA624_0==NL||LA624_0==WS) ) { + alt624=1; } - } finally {dbg.exitDecision(623);} + } finally {dbg.exitDecision(624);} - switch (alt623) { + switch (alt624) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1112:78: ws { dbg.location(1112,78); - pushFollow(FOLLOW_ws_in_synpred54_Css37759); + pushFollow(FOLLOW_ws_in_synpred54_Css37779); ws(); state._fsp--; if (state.failed) return; @@ -40522,9 +40723,9 @@ public final void synpred54_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(623);} + } finally {dbg.exitSubRule(624);} dbg.location(1112,82); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred54_Css37762); if (state.failed) return; + match(input,LPAREN,FOLLOW_LPAREN_in_synpred54_Css37782); if (state.failed) return; } } @@ -40539,28 +40740,28 @@ public final void synpred55_Css3_fragment() throws RecognitionException { { dbg.location(1152,15); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:15: ( ws | ( ( ws )? operator ( ws )? ) |) - int alt626=3; - try { dbg.enterSubRule(626); - try { dbg.enterDecision(626, decisionCanBacktrack[626]); + int alt627=3; + try { dbg.enterSubRule(627); + try { dbg.enterDecision(627, decisionCanBacktrack[627]); try { isCyclicDecision = true; - alt626 = dfa626.predict(input); + alt627 = dfa627.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(626);} + } finally {dbg.exitDecision(627);} - switch (alt626) { + switch (alt627) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:17: ws { dbg.location(1152,17); - pushFollow(FOLLOW_ws_in_synpred55_Css37932); + pushFollow(FOLLOW_ws_in_synpred55_Css37952); ws(); state._fsp--; if (state.failed) return; @@ -40579,24 +40780,24 @@ public final void synpred55_Css3_fragment() throws RecognitionException { { dbg.location(1152,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:23: ( ws )? - int alt624=2; - try { dbg.enterSubRule(624); - try { dbg.enterDecision(624, decisionCanBacktrack[624]); + int alt625=2; + try { dbg.enterSubRule(625); + try { dbg.enterDecision(625, decisionCanBacktrack[625]); - int LA624_0 = input.LA(1); - if ( (LA624_0==COMMENT||LA624_0==NL||LA624_0==WS) ) { - alt624=1; + int LA625_0 = input.LA(1); + if ( (LA625_0==COMMENT||LA625_0==NL||LA625_0==WS) ) { + alt625=1; } - } finally {dbg.exitDecision(624);} + } finally {dbg.exitDecision(625);} - switch (alt624) { + switch (alt625) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:23: ws { dbg.location(1152,23); - pushFollow(FOLLOW_ws_in_synpred55_Css37937); + pushFollow(FOLLOW_ws_in_synpred55_Css37957); ws(); state._fsp--; if (state.failed) return; @@ -40604,31 +40805,31 @@ public final void synpred55_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(624);} + } finally {dbg.exitSubRule(625);} dbg.location(1152,27); - pushFollow(FOLLOW_operator_in_synpred55_Css37940); + pushFollow(FOLLOW_operator_in_synpred55_Css37960); operator(); state._fsp--; if (state.failed) return;dbg.location(1152,36); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:36: ( ws )? - int alt625=2; - try { dbg.enterSubRule(625); - try { dbg.enterDecision(625, decisionCanBacktrack[625]); + int alt626=2; + try { dbg.enterSubRule(626); + try { dbg.enterDecision(626, decisionCanBacktrack[626]); - int LA625_0 = input.LA(1); - if ( (LA625_0==COMMENT||LA625_0==NL||LA625_0==WS) ) { - alt625=1; + int LA626_0 = input.LA(1); + if ( (LA626_0==COMMENT||LA626_0==NL||LA626_0==WS) ) { + alt626=1; } - } finally {dbg.exitDecision(625);} + } finally {dbg.exitDecision(626);} - switch (alt625) { + switch (alt626) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1152:36: ws { dbg.location(1152,36); - pushFollow(FOLLOW_ws_in_synpred55_Css37942); + pushFollow(FOLLOW_ws_in_synpred55_Css37962); ws(); state._fsp--; if (state.failed) return; @@ -40636,7 +40837,7 @@ public final void synpred55_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(625);} + } finally {dbg.exitSubRule(626);} } @@ -40651,9 +40852,9 @@ public final void synpred55_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(626);} + } finally {dbg.exitSubRule(627);} dbg.location(1152,58); - pushFollow(FOLLOW_term_in_synpred55_Css37951); + pushFollow(FOLLOW_term_in_synpred55_Css37971); term(); state._fsp--; if (state.failed) return; @@ -40670,29 +40871,29 @@ public final void synpred56_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:10: functionName ( ws )? LPAREN { dbg.location(1159,10); - pushFollow(FOLLOW_functionName_in_synpred56_Css38024); + pushFollow(FOLLOW_functionName_in_synpred56_Css38044); functionName(); state._fsp--; if (state.failed) return;dbg.location(1159,23); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:23: ( ws )? - int alt627=2; - try { dbg.enterSubRule(627); - try { dbg.enterDecision(627, decisionCanBacktrack[627]); + int alt628=2; + try { dbg.enterSubRule(628); + try { dbg.enterDecision(628, decisionCanBacktrack[628]); - int LA627_0 = input.LA(1); - if ( (LA627_0==COMMENT||LA627_0==NL||LA627_0==WS) ) { - alt627=1; + int LA628_0 = input.LA(1); + if ( (LA628_0==COMMENT||LA628_0==NL||LA628_0==WS) ) { + alt628=1; } - } finally {dbg.exitDecision(627);} + } finally {dbg.exitDecision(628);} - switch (alt627) { + switch (alt628) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1159:23: ws { dbg.location(1159,23); - pushFollow(FOLLOW_ws_in_synpred56_Css38026); + pushFollow(FOLLOW_ws_in_synpred56_Css38046); ws(); state._fsp--; if (state.failed) return; @@ -40700,9 +40901,9 @@ public final void synpred56_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(627);} + } finally {dbg.exitSubRule(628);} dbg.location(1159,27); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred56_Css38029); if (state.failed) return; + match(input,LPAREN,FOLLOW_LPAREN_in_synpred56_Css38049); if (state.failed) return; } } @@ -40716,29 +40917,29 @@ public final void synpred57_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:10: fnAttributeName ( ws )? ( OPEQ | COLON ) { dbg.location(1225,10); - pushFollow(FOLLOW_fnAttributeName_in_synpred57_Css38636); + pushFollow(FOLLOW_fnAttributeName_in_synpred57_Css38656); fnAttributeName(); state._fsp--; if (state.failed) return;dbg.location(1225,26); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:26: ( ws )? - int alt628=2; - try { dbg.enterSubRule(628); - try { dbg.enterDecision(628, decisionCanBacktrack[628]); + int alt629=2; + try { dbg.enterSubRule(629); + try { dbg.enterDecision(629, decisionCanBacktrack[629]); - int LA628_0 = input.LA(1); - if ( (LA628_0==COMMENT||LA628_0==NL||LA628_0==WS) ) { - alt628=1; + int LA629_0 = input.LA(1); + if ( (LA629_0==COMMENT||LA629_0==NL||LA629_0==WS) ) { + alt629=1; } - } finally {dbg.exitDecision(628);} + } finally {dbg.exitDecision(629);} - switch (alt628) { + switch (alt629) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1225:26: ws { dbg.location(1225,26); - pushFollow(FOLLOW_ws_in_synpred57_Css38638); + pushFollow(FOLLOW_ws_in_synpred57_Css38658); ws(); state._fsp--; if (state.failed) return; @@ -40746,7 +40947,7 @@ public final void synpred57_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(628);} + } finally {dbg.exitSubRule(629);} dbg.location(1225,30); if ( input.LA(1)==COLON||input.LA(1)==OPEQ ) { input.consume(); @@ -40772,7 +40973,7 @@ public final void synpred58_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1226:12: cp_expression { dbg.location(1226,12); - pushFollow(FOLLOW_cp_expression_in_synpred58_Css38676); + pushFollow(FOLLOW_cp_expression_in_synpred58_Css38696); cp_expression(); state._fsp--; if (state.failed) return; @@ -40790,28 +40991,28 @@ public final void synpred59_Css3_fragment() throws RecognitionException { { dbg.location(1238,21); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:21: ( ws | ( ( ws )? SOLIDUS ( ws )? ) |) - int alt631=3; - try { dbg.enterSubRule(631); - try { dbg.enterDecision(631, decisionCanBacktrack[631]); + int alt632=3; + try { dbg.enterSubRule(632); + try { dbg.enterDecision(632, decisionCanBacktrack[632]); try { isCyclicDecision = true; - alt631 = dfa631.predict(input); + alt632 = dfa632.predict(input); } catch (NoViableAltException nvae) { dbg.recognitionException(nvae); throw nvae; } - } finally {dbg.exitDecision(631);} + } finally {dbg.exitDecision(632);} - switch (alt631) { + switch (alt632) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:23: ws { dbg.location(1238,23); - pushFollow(FOLLOW_ws_in_synpred59_Css38770); + pushFollow(FOLLOW_ws_in_synpred59_Css38790); ws(); state._fsp--; if (state.failed) return; @@ -40830,24 +41031,24 @@ public final void synpred59_Css3_fragment() throws RecognitionException { { dbg.location(1238,29); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:29: ( ws )? - int alt629=2; - try { dbg.enterSubRule(629); - try { dbg.enterDecision(629, decisionCanBacktrack[629]); + int alt630=2; + try { dbg.enterSubRule(630); + try { dbg.enterDecision(630, decisionCanBacktrack[630]); - int LA629_0 = input.LA(1); - if ( (LA629_0==COMMENT||LA629_0==NL||LA629_0==WS) ) { - alt629=1; + int LA630_0 = input.LA(1); + if ( (LA630_0==COMMENT||LA630_0==NL||LA630_0==WS) ) { + alt630=1; } - } finally {dbg.exitDecision(629);} + } finally {dbg.exitDecision(630);} - switch (alt629) { + switch (alt630) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:29: ws { dbg.location(1238,29); - pushFollow(FOLLOW_ws_in_synpred59_Css38775); + pushFollow(FOLLOW_ws_in_synpred59_Css38795); ws(); state._fsp--; if (state.failed) return; @@ -40855,28 +41056,28 @@ public final void synpred59_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(629);} + } finally {dbg.exitSubRule(630);} dbg.location(1238,33); - match(input,SOLIDUS,FOLLOW_SOLIDUS_in_synpred59_Css38778); if (state.failed) return;dbg.location(1238,41); + match(input,SOLIDUS,FOLLOW_SOLIDUS_in_synpred59_Css38798); if (state.failed) return;dbg.location(1238,41); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:41: ( ws )? - int alt630=2; - try { dbg.enterSubRule(630); - try { dbg.enterDecision(630, decisionCanBacktrack[630]); + int alt631=2; + try { dbg.enterSubRule(631); + try { dbg.enterDecision(631, decisionCanBacktrack[631]); - int LA630_0 = input.LA(1); - if ( (LA630_0==COMMENT||LA630_0==NL||LA630_0==WS) ) { - alt630=1; + int LA631_0 = input.LA(1); + if ( (LA631_0==COMMENT||LA631_0==NL||LA631_0==WS) ) { + alt631=1; } - } finally {dbg.exitDecision(630);} + } finally {dbg.exitDecision(631);} - switch (alt630) { + switch (alt631) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1238:41: ws { dbg.location(1238,41); - pushFollow(FOLLOW_ws_in_synpred59_Css38780); + pushFollow(FOLLOW_ws_in_synpred59_Css38800); ws(); state._fsp--; if (state.failed) return; @@ -40884,7 +41085,7 @@ public final void synpred59_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(630);} + } finally {dbg.exitSubRule(631);} } @@ -40899,9 +41100,9 @@ public final void synpred59_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(631);} + } finally {dbg.exitSubRule(632);} dbg.location(1238,63); - pushFollow(FOLLOW_term_in_synpred59_Css38789); + pushFollow(FOLLOW_term_in_synpred59_Css38809); term(); state._fsp--; if (state.failed) return; @@ -40919,24 +41120,24 @@ public final void synpred61_Css3_fragment() throws RecognitionException { { dbg.location(1273,7); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:7: ( ws )? - int alt632=2; - try { dbg.enterSubRule(632); - try { dbg.enterDecision(632, decisionCanBacktrack[632]); + int alt633=2; + try { dbg.enterSubRule(633); + try { dbg.enterDecision(633, decisionCanBacktrack[633]); - int LA632_0 = input.LA(1); - if ( (LA632_0==COMMENT||LA632_0==NL||LA632_0==WS) ) { - alt632=1; + int LA633_0 = input.LA(1); + if ( (LA633_0==COMMENT||LA633_0==NL||LA633_0==WS) ) { + alt633=1; } - } finally {dbg.exitDecision(632);} + } finally {dbg.exitDecision(633);} - switch (alt632) { + switch (alt633) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:7: ws { dbg.location(1273,7); - pushFollow(FOLLOW_ws_in_synpred61_Css39245); + pushFollow(FOLLOW_ws_in_synpred61_Css39269); ws(); state._fsp--; if (state.failed) return; @@ -40944,28 +41145,28 @@ public final void synpred61_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(632);} + } finally {dbg.exitSubRule(633);} dbg.location(1273,11); - match(input,COMMA,FOLLOW_COMMA_in_synpred61_Css39248); if (state.failed) return;dbg.location(1273,17); + match(input,COMMA,FOLLOW_COMMA_in_synpred61_Css39272); if (state.failed) return;dbg.location(1273,17); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:17: ( ws )? - int alt633=2; - try { dbg.enterSubRule(633); - try { dbg.enterDecision(633, decisionCanBacktrack[633]); + int alt634=2; + try { dbg.enterSubRule(634); + try { dbg.enterDecision(634, decisionCanBacktrack[634]); - int LA633_0 = input.LA(1); - if ( (LA633_0==COMMENT||LA633_0==NL||LA633_0==WS) ) { - alt633=1; + int LA634_0 = input.LA(1); + if ( (LA634_0==COMMENT||LA634_0==NL||LA634_0==WS) ) { + alt634=1; } - } finally {dbg.exitDecision(633);} + } finally {dbg.exitDecision(634);} - switch (alt633) { + switch (alt634) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1273:17: ws { dbg.location(1273,17); - pushFollow(FOLLOW_ws_in_synpred61_Css39250); + pushFollow(FOLLOW_ws_in_synpred61_Css39274); ws(); state._fsp--; if (state.failed) return; @@ -40973,9 +41174,9 @@ public final void synpred61_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(633);} + } finally {dbg.exitSubRule(634);} dbg.location(1273,21); - pushFollow(FOLLOW_cp_expression_in_synpred61_Css39253); + pushFollow(FOLLOW_cp_expression_in_synpred61_Css39277); cp_expression(); state._fsp--; if (state.failed) return; @@ -40992,7 +41193,7 @@ public final void synpred62_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1289:8: cp_expression_atom { dbg.location(1289,8); - pushFollow(FOLLOW_cp_expression_atom_in_synpred62_Css39320); + pushFollow(FOLLOW_cp_expression_atom_in_synpred62_Css39344); cp_expression_atom(); state._fsp--; if (state.failed) return; @@ -41010,24 +41211,24 @@ public final void synpred63_Css3_fragment() throws RecognitionException { { dbg.location(1291,10); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:10: ( ws )? - int alt634=2; - try { dbg.enterSubRule(634); - try { dbg.enterDecision(634, decisionCanBacktrack[634]); + int alt635=2; + try { dbg.enterSubRule(635); + try { dbg.enterDecision(635, decisionCanBacktrack[635]); - int LA634_0 = input.LA(1); - if ( (LA634_0==COMMENT||LA634_0==NL||LA634_0==WS) ) { - alt634=1; + int LA635_0 = input.LA(1); + if ( (LA635_0==COMMENT||LA635_0==NL||LA635_0==WS) ) { + alt635=1; } - } finally {dbg.exitDecision(634);} + } finally {dbg.exitDecision(635);} - switch (alt634) { + switch (alt635) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1291:10: ws { dbg.location(1291,10); - pushFollow(FOLLOW_ws_in_synpred63_Css39343); + pushFollow(FOLLOW_ws_in_synpred63_Css39367); ws(); state._fsp--; if (state.failed) return; @@ -41035,9 +41236,9 @@ public final void synpred63_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(634);} + } finally {dbg.exitSubRule(635);} dbg.location(1291,14); - pushFollow(FOLLOW_cp_expression_operator_in_synpred63_Css39346); + pushFollow(FOLLOW_cp_expression_operator_in_synpred63_Css39370); cp_expression_operator(); state._fsp--; if (state.failed) return; @@ -41055,24 +41256,24 @@ public final void synpred64_Css3_fragment() throws RecognitionException { { dbg.location(1292,12); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:12: ( ws )? - int alt635=2; - try { dbg.enterSubRule(635); - try { dbg.enterDecision(635, decisionCanBacktrack[635]); + int alt636=2; + try { dbg.enterSubRule(636); + try { dbg.enterDecision(636, decisionCanBacktrack[636]); - int LA635_0 = input.LA(1); - if ( (LA635_0==COMMENT||LA635_0==NL||LA635_0==WS) ) { - alt635=1; + int LA636_0 = input.LA(1); + if ( (LA636_0==COMMENT||LA636_0==NL||LA636_0==WS) ) { + alt636=1; } - } finally {dbg.exitDecision(635);} + } finally {dbg.exitDecision(636);} - switch (alt635) { + switch (alt636) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1292:12: ws { dbg.location(1292,12); - pushFollow(FOLLOW_ws_in_synpred64_Css39372); + pushFollow(FOLLOW_ws_in_synpred64_Css39396); ws(); state._fsp--; if (state.failed) return; @@ -41080,9 +41281,9 @@ public final void synpred64_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(635);} + } finally {dbg.exitSubRule(636);} dbg.location(1292,16); - pushFollow(FOLLOW_cp_expression_atom_in_synpred64_Css39375); + pushFollow(FOLLOW_cp_expression_atom_in_synpred64_Css39399); cp_expression_atom(); state._fsp--; if (state.failed) return; @@ -41099,7 +41300,7 @@ public final void synpred65_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1306:14: cp_math_expression { dbg.location(1306,14); - pushFollow(FOLLOW_cp_math_expression_in_synpred65_Css39515); + pushFollow(FOLLOW_cp_math_expression_in_synpred65_Css39539); cp_math_expression(); state._fsp--; if (state.failed) return; @@ -41117,24 +41318,24 @@ public final void synpred66_Css3_fragment() throws RecognitionException { { dbg.location(1333,14); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:14: ( ws )? - int alt636=2; - try { dbg.enterSubRule(636); - try { dbg.enterDecision(636, decisionCanBacktrack[636]); + int alt637=2; + try { dbg.enterSubRule(637); + try { dbg.enterDecision(637, decisionCanBacktrack[637]); - int LA636_0 = input.LA(1); - if ( (LA636_0==COMMENT||LA636_0==NL||LA636_0==WS) ) { - alt636=1; + int LA637_0 = input.LA(1); + if ( (LA637_0==COMMENT||LA637_0==NL||LA637_0==WS) ) { + alt637=1; } - } finally {dbg.exitDecision(636);} + } finally {dbg.exitDecision(637);} - switch (alt636) { + switch (alt637) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1333:14: ws { dbg.location(1333,14); - pushFollow(FOLLOW_ws_in_synpred66_Css39648); + pushFollow(FOLLOW_ws_in_synpred66_Css39672); ws(); state._fsp--; if (state.failed) return; @@ -41142,7 +41343,7 @@ public final void synpred66_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(636);} + } finally {dbg.exitSubRule(637);} dbg.location(1333,18); if ( input.LA(1)==MINUS||input.LA(1)==PLUS||(input.LA(1) >= SOLIDUS && input.LA(1) <= STAR) ) { input.consume(); @@ -41169,24 +41370,24 @@ public final void synpred67_Css3_fragment() throws RecognitionException { { dbg.location(1365,78); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:78: ( ws )? - int alt637=2; - try { dbg.enterSubRule(637); - try { dbg.enterDecision(637, decisionCanBacktrack[637]); + int alt638=2; + try { dbg.enterSubRule(638); + try { dbg.enterDecision(638, decisionCanBacktrack[638]); - int LA637_0 = input.LA(1); - if ( (LA637_0==COMMENT||LA637_0==NL||LA637_0==WS) ) { - alt637=1; + int LA638_0 = input.LA(1); + if ( (LA638_0==COMMENT||LA638_0==NL||LA638_0==WS) ) { + alt638=1; } - } finally {dbg.exitDecision(637);} + } finally {dbg.exitDecision(638);} - switch (alt637) { + switch (alt638) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:78: ws { dbg.location(1365,78); - pushFollow(FOLLOW_ws_in_synpred67_Css39940); + pushFollow(FOLLOW_ws_in_synpred67_Css39964); ws(); state._fsp--; if (state.failed) return; @@ -41194,31 +41395,31 @@ public final void synpred67_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(637);} + } finally {dbg.exitSubRule(638);} dbg.location(1365,82); - pushFollow(FOLLOW_combinator_in_synpred67_Css39943); + pushFollow(FOLLOW_combinator_in_synpred67_Css39967); combinator(); state._fsp--; if (state.failed) return;dbg.location(1365,93); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:93: ( ws )? - int alt638=2; - try { dbg.enterSubRule(638); - try { dbg.enterDecision(638, decisionCanBacktrack[638]); + int alt639=2; + try { dbg.enterSubRule(639); + try { dbg.enterDecision(639, decisionCanBacktrack[639]); - int LA638_0 = input.LA(1); - if ( (LA638_0==COMMENT||LA638_0==NL||LA638_0==WS) ) { - alt638=1; + int LA639_0 = input.LA(1); + if ( (LA639_0==COMMENT||LA639_0==NL||LA639_0==WS) ) { + alt639=1; } - } finally {dbg.exitDecision(638);} + } finally {dbg.exitDecision(639);} - switch (alt638) { + switch (alt639) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:93: ws { dbg.location(1365,93); - pushFollow(FOLLOW_ws_in_synpred67_Css39945); + pushFollow(FOLLOW_ws_in_synpred67_Css39969); ws(); state._fsp--; if (state.failed) return; @@ -41226,7 +41427,7 @@ public final void synpred67_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(638);} + } finally {dbg.exitSubRule(639);} } @@ -41241,7 +41442,7 @@ public final void synpred68_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:173: pseudo { dbg.location(1365,173); - pushFollow(FOLLOW_pseudo_in_synpred68_Css39981); + pushFollow(FOLLOW_pseudo_in_synpred68_Css310005); pseudo(); state._fsp--; if (state.failed) return; @@ -41259,24 +41460,24 @@ public final void synpred69_Css3_fragment() throws RecognitionException { { dbg.location(1365,192); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:192: ( ws )? - int alt639=2; - try { dbg.enterSubRule(639); - try { dbg.enterDecision(639, decisionCanBacktrack[639]); + int alt640=2; + try { dbg.enterSubRule(640); + try { dbg.enterDecision(640, decisionCanBacktrack[640]); - int LA639_0 = input.LA(1); - if ( (LA639_0==COMMENT||LA639_0==NL||LA639_0==WS) ) { - alt639=1; + int LA640_0 = input.LA(1); + if ( (LA640_0==COMMENT||LA640_0==NL||LA640_0==WS) ) { + alt640=1; } - } finally {dbg.exitDecision(639);} + } finally {dbg.exitDecision(640);} - switch (alt639) { + switch (alt640) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1365:192: ws { dbg.location(1365,192); - pushFollow(FOLLOW_ws_in_synpred69_Css39989); + pushFollow(FOLLOW_ws_in_synpred69_Css310013); ws(); state._fsp--; if (state.failed) return; @@ -41284,9 +41485,9 @@ public final void synpred69_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(639);} + } finally {dbg.exitSubRule(640);} dbg.location(1365,196); - match(input,LPAREN,FOLLOW_LPAREN_in_synpred69_Css39992); if (state.failed) return; + match(input,LPAREN,FOLLOW_LPAREN_in_synpred69_Css310016); if (state.failed) return; } } @@ -41300,7 +41501,7 @@ public final void synpred70_Css3_fragment() throws RecognitionException { // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1374:26: webkitKeyframeSelectors { dbg.location(1374,26); - pushFollow(FOLLOW_webkitKeyframeSelectors_in_synpred70_Css310108); + pushFollow(FOLLOW_webkitKeyframeSelectors_in_synpred70_Css310132); webkitKeyframeSelectors(); state._fsp--; if (state.failed) return; @@ -41318,24 +41519,24 @@ public final void synpred71_Css3_fragment() throws RecognitionException { { dbg.location(1552,20); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:20: ( ws )? - int alt640=2; - try { dbg.enterSubRule(640); - try { dbg.enterDecision(640, decisionCanBacktrack[640]); + int alt641=2; + try { dbg.enterSubRule(641); + try { dbg.enterDecision(641, decisionCanBacktrack[641]); - int LA640_0 = input.LA(1); - if ( (LA640_0==COMMENT||LA640_0==NL||LA640_0==WS) ) { - alt640=1; + int LA641_0 = input.LA(1); + if ( (LA641_0==COMMENT||LA641_0==NL||LA641_0==WS) ) { + alt641=1; } - } finally {dbg.exitDecision(640);} + } finally {dbg.exitDecision(641);} - switch (alt640) { + switch (alt641) { case 1 : dbg.enterAlt(1); // /home/matthias/src/netbeans/ide/css.lib/src/org/netbeans/modules/css/lib/Css3.g:1552:20: ws { dbg.location(1552,20); - pushFollow(FOLLOW_ws_in_synpred71_Css311353); + pushFollow(FOLLOW_ws_in_synpred71_Css311377); ws(); state._fsp--; if (state.failed) return; @@ -41343,9 +41544,9 @@ public final void synpred71_Css3_fragment() throws RecognitionException { break; } - } finally {dbg.exitSubRule(640);} + } finally {dbg.exitSubRule(641);} dbg.location(1552,24); - match(input,COMMA,FOLLOW_COMMA_in_synpred71_Css311356); if (state.failed) return; + match(input,COMMA,FOLLOW_COMMA_in_synpred71_Css311380); if (state.failed) return; } } @@ -42508,60 +42709,60 @@ public final boolean synpred28_Css3() { protected DFA155 dfa155 = new DFA155(this); protected DFA173 dfa173 = new DFA173(this); protected DFA186 dfa186 = new DFA186(this); - protected DFA224 dfa224 = new DFA224(this); + protected DFA225 dfa225 = new DFA225(this); + protected DFA237 dfa237 = new DFA237(this); protected DFA236 dfa236 = new DFA236(this); - protected DFA235 dfa235 = new DFA235(this); - protected DFA255 dfa255 = new DFA255(this); - protected DFA257 dfa257 = new DFA257(this); - protected DFA262 dfa262 = new DFA262(this); - protected DFA267 dfa267 = new DFA267(this); - protected DFA273 dfa273 = new DFA273(this); + protected DFA256 dfa256 = new DFA256(this); + protected DFA258 dfa258 = new DFA258(this); + protected DFA263 dfa263 = new DFA263(this); protected DFA268 dfa268 = new DFA268(this); - protected DFA290 dfa290 = new DFA290(this); + protected DFA274 dfa274 = new DFA274(this); + protected DFA269 dfa269 = new DFA269(this); + protected DFA291 dfa291 = new DFA291(this); + protected DFA284 dfa284 = new DFA284(this); protected DFA283 dfa283 = new DFA283(this); - protected DFA282 dfa282 = new DFA282(this); - protected DFA287 dfa287 = new DFA287(this); - protected DFA292 dfa292 = new DFA292(this); - protected DFA294 dfa294 = new DFA294(this); - protected DFA298 dfa298 = new DFA298(this); + protected DFA288 dfa288 = new DFA288(this); + protected DFA293 dfa293 = new DFA293(this); + protected DFA295 dfa295 = new DFA295(this); + protected DFA299 dfa299 = new DFA299(this); + protected DFA307 dfa307 = new DFA307(this); protected DFA306 dfa306 = new DFA306(this); protected DFA305 dfa305 = new DFA305(this); - protected DFA304 dfa304 = new DFA304(this); - protected DFA310 dfa310 = new DFA310(this); - protected DFA313 dfa313 = new DFA313(this); - protected DFA336 dfa336 = new DFA336(this); - protected DFA359 dfa359 = new DFA359(this); + protected DFA311 dfa311 = new DFA311(this); + protected DFA314 dfa314 = new DFA314(this); + protected DFA337 dfa337 = new DFA337(this); + protected DFA360 dfa360 = new DFA360(this); + protected DFA375 dfa375 = new DFA375(this); protected DFA374 dfa374 = new DFA374(this); - protected DFA373 dfa373 = new DFA373(this); - protected DFA388 dfa388 = new DFA388(this); + protected DFA389 dfa389 = new DFA389(this); + protected DFA399 dfa399 = new DFA399(this); protected DFA398 dfa398 = new DFA398(this); - protected DFA397 dfa397 = new DFA397(this); - protected DFA407 dfa407 = new DFA407(this); - protected DFA413 dfa413 = new DFA413(this); - protected DFA419 dfa419 = new DFA419(this); - protected DFA433 dfa433 = new DFA433(this); - protected DFA438 dfa438 = new DFA438(this); - protected DFA445 dfa445 = new DFA445(this); - protected DFA449 dfa449 = new DFA449(this); - protected DFA464 dfa464 = new DFA464(this); - protected DFA466 dfa466 = new DFA466(this); - protected DFA479 dfa479 = new DFA479(this); - protected DFA482 dfa482 = new DFA482(this); - protected DFA498 dfa498 = new DFA498(this); - protected DFA527 dfa527 = new DFA527(this); + protected DFA408 dfa408 = new DFA408(this); + protected DFA414 dfa414 = new DFA414(this); + protected DFA420 dfa420 = new DFA420(this); + protected DFA434 dfa434 = new DFA434(this); + protected DFA439 dfa439 = new DFA439(this); + protected DFA446 dfa446 = new DFA446(this); + protected DFA450 dfa450 = new DFA450(this); + protected DFA465 dfa465 = new DFA465(this); + protected DFA467 dfa467 = new DFA467(this); + protected DFA480 dfa480 = new DFA480(this); + protected DFA483 dfa483 = new DFA483(this); + protected DFA499 dfa499 = new DFA499(this); protected DFA528 dfa528 = new DFA528(this); - protected DFA534 dfa534 = new DFA534(this); + protected DFA529 dfa529 = new DFA529(this); + protected DFA535 dfa535 = new DFA535(this); + protected DFA543 dfa543 = new DFA543(this); protected DFA542 dfa542 = new DFA542(this); - protected DFA541 dfa541 = new DFA541(this); - protected DFA545 dfa545 = new DFA545(this); - protected DFA550 dfa550 = new DFA550(this); - protected DFA570 dfa570 = new DFA570(this); - protected DFA577 dfa577 = new DFA577(this); - protected DFA572 dfa572 = new DFA572(this); - protected DFA615 dfa615 = new DFA615(this); - protected DFA610 dfa610 = new DFA610(this); - protected DFA626 dfa626 = new DFA626(this); - protected DFA631 dfa631 = new DFA631(this); + protected DFA546 dfa546 = new DFA546(this); + protected DFA551 dfa551 = new DFA551(this); + protected DFA571 dfa571 = new DFA571(this); + protected DFA578 dfa578 = new DFA578(this); + protected DFA573 dfa573 = new DFA573(this); + protected DFA616 dfa616 = new DFA616(this); + protected DFA611 dfa611 = new DFA611(this); + protected DFA627 dfa627 = new DFA627(this); + protected DFA632 dfa632 = new DFA632(this); static final String DFA3_eotS = "\5\uffff"; static final String DFA3_eofS = @@ -42569,20 +42770,21 @@ public final boolean synpred28_Css3() { static final String DFA3_minS = "\1\6\1\23\1\uffff\1\23\1\uffff"; static final String DFA3_maxS = - "\1\u0099\1\u009a\1\uffff\1\u009a\1\uffff"; + "\1\u009a\1\u009b\1\uffff\1\u009b\1\uffff"; static final String DFA3_acceptS = "\2\uffff\1\2\1\uffff\1\1"; static final String DFA3_specialS = "\5\uffff}>"; static final String[] DFA3_transitionS = { "\2\2\2\uffff\5\2\3\uffff\1\1\1\2\2\uffff\1\2\1\uffff\1\2\5\uffff\3\2"+ - "\7\uffff\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff"+ - "\1\2\1\uffff\4\2\2\uffff\1\2\6\uffff\3\2\5\uffff\1\2\11\uffff\1\2\2\uffff"+ - "\2\2\6\uffff\3\2\2\uffff\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff"+ - "\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff\1\2", - "\1\2\1\uffff\1\3\76\uffff\1\3\62\uffff\1\4\22\uffff\1\3", + "\7\uffff\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\4\uffff"+ + "\1\2\1\uffff\1\2\1\uffff\4\2\2\uffff\1\2\6\uffff\3\2\5\uffff\1\2\11\uffff"+ + "\1\2\2\uffff\2\2\6\uffff\3\2\2\uffff\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff"+ + "\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff"+ + "\1\2", + "\1\2\1\uffff\1\3\77\uffff\1\3\62\uffff\1\4\22\uffff\1\3", "", - "\1\2\1\uffff\1\3\76\uffff\1\3\62\uffff\1\4\22\uffff\1\3", + "\1\2\1\uffff\1\3\77\uffff\1\3\62\uffff\1\4\22\uffff\1\3", "" }; @@ -42632,34 +42834,34 @@ public void error(NoViableAltException nvae) { "\1\6\1\25\1\uffff\1\25\1\24\1\25\1\64\1\24\1\25\1\uffff\1\24\1\25\1\24"+ "\1\64\2\24"; static final String DFA5_maxS = - "\1\u0099\1\u009a\1\uffff\3\u009a\1\64\2\u009a\1\uffff\3\u009a\1\64\2\u009a"; + "\1\u009a\1\u009b\1\uffff\3\u009b\1\64\2\u009b\1\uffff\3\u009b\1\64\2\u009b"; static final String DFA5_acceptS = "\2\uffff\1\2\6\uffff\1\1\6\uffff"; static final String DFA5_specialS = "\20\uffff}>"; static final String[] DFA5_transitionS = { "\2\2\2\uffff\5\2\3\uffff\2\2\2\uffff\1\2\1\uffff\1\2\5\uffff\3\2\7\uffff"+ - "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\1\1\1\uffff"+ - "\4\2\2\uffff\1\2\6\uffff\3\2\5\uffff\1\2\11\uffff\1\2\2\uffff\2\2\6\uffff"+ - "\3\2\2\uffff\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff\6\2\1\uffff"+ - "\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff\1\2", - "\1\3\76\uffff\1\3\105\uffff\1\3", - "", - "\1\5\36\uffff\1\4\10\uffff\1\2\26\uffff\1\5\105\uffff\1\5", - "\1\10\1\7\12\uffff\1\6\34\uffff\1\2\26\uffff\1\7\57\uffff\1\11\25\uffff"+ + "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\4\uffff\1\2\1\uffff"+ + "\1\1\1\uffff\4\2\2\uffff\1\2\6\uffff\3\2\5\uffff\1\2\11\uffff\1\2\2\uffff"+ + "\2\2\6\uffff\3\2\2\uffff\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff"+ + "\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff\1\2", + "\1\3\77\uffff\1\3\105\uffff\1\3", + "", + "\1\5\36\uffff\1\4\11\uffff\1\2\26\uffff\1\5\105\uffff\1\5", + "\1\10\1\7\12\uffff\1\6\35\uffff\1\2\26\uffff\1\7\57\uffff\1\11\25\uffff"+ "\1\7", - "\1\5\36\uffff\1\4\10\uffff\1\2\26\uffff\1\5\105\uffff\1\5", + "\1\5\36\uffff\1\4\11\uffff\1\2\26\uffff\1\5\105\uffff\1\5", "\1\12", - "\1\10\1\7\47\uffff\1\2\26\uffff\1\7\105\uffff\1\7", - "\1\13\36\uffff\1\14\37\uffff\1\13\105\uffff\1\13", + "\1\10\1\7\50\uffff\1\2\26\uffff\1\7\105\uffff\1\7", + "\1\13\36\uffff\1\14\40\uffff\1\13\105\uffff\1\13", "", - "\1\10\1\7\12\uffff\1\6\34\uffff\1\2\26\uffff\1\7\57\uffff\1\11\25\uffff"+ + "\1\10\1\7\12\uffff\1\6\35\uffff\1\2\26\uffff\1\7\57\uffff\1\11\25\uffff"+ "\1\7", - "\1\13\36\uffff\1\14\37\uffff\1\13\105\uffff\1\13", - "\1\10\1\16\12\uffff\1\15\63\uffff\1\16\57\uffff\1\11\25\uffff\1\16", + "\1\13\36\uffff\1\14\40\uffff\1\13\105\uffff\1\13", + "\1\10\1\16\12\uffff\1\15\64\uffff\1\16\57\uffff\1\11\25\uffff\1\16", "\1\17", - "\1\10\1\16\76\uffff\1\16\105\uffff\1\16", - "\1\10\1\16\12\uffff\1\15\63\uffff\1\16\57\uffff\1\11\25\uffff\1\16" + "\1\10\1\16\77\uffff\1\16\105\uffff\1\16", + "\1\10\1\16\12\uffff\1\15\64\uffff\1\16\57\uffff\1\11\25\uffff\1\16" }; static final short[] DFA5_eot = DFA.unpackEncodedString(DFA5_eotS); @@ -42707,21 +42909,21 @@ public void error(NoViableAltException nvae) { static final String DFA7_minS = "\1\6\1\23\1\uffff\1\23\1\uffff"; static final String DFA7_maxS = - "\1\u0099\1\u009a\1\uffff\1\u009a\1\uffff"; + "\1\u009a\1\u009b\1\uffff\1\u009b\1\uffff"; static final String DFA7_acceptS = "\2\uffff\1\2\1\uffff\1\1"; static final String DFA7_specialS = "\5\uffff}>"; static final String[] DFA7_transitionS = { "\2\2\2\uffff\5\2\3\uffff\2\2\2\uffff\1\2\1\uffff\1\2\5\uffff\3\2\7\uffff"+ - "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\4\2\2\uffff\1\2\6\uffff\3\2\5\uffff\1\1\11\uffff\1\2\2\uffff\2\2\6\uffff"+ - "\3\2\2\uffff\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff\6\2\1\uffff"+ - "\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff\1\2", - "\1\2\1\uffff\1\3\36\uffff\1\4\37\uffff\1\3\62\uffff\1\4\14\uffff\1\4"+ + "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\4\uffff\1\2\1\uffff"+ + "\1\2\1\uffff\4\2\2\uffff\1\2\6\uffff\3\2\5\uffff\1\1\11\uffff\1\2\2\uffff"+ + "\2\2\6\uffff\3\2\2\uffff\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff"+ + "\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\10\uffff\1\2", + "\1\2\1\uffff\1\3\36\uffff\1\4\40\uffff\1\3\62\uffff\1\4\14\uffff\1\4"+ "\5\uffff\1\3", "", - "\1\2\1\uffff\1\3\36\uffff\1\4\37\uffff\1\3\62\uffff\1\4\14\uffff\1\4"+ + "\1\2\1\uffff\1\3\36\uffff\1\4\40\uffff\1\3\62\uffff\1\4\14\uffff\1\4"+ "\5\uffff\1\3", "" }; @@ -42771,21 +42973,21 @@ public void error(NoViableAltException nvae) { static final String DFA10_minS = "\1\6\1\uffff\2\23\1\uffff"; static final String DFA10_maxS = - "\1\u0099\1\uffff\2\u009a\1\uffff"; + "\1\u009a\1\uffff\2\u009b\1\uffff"; static final String DFA10_acceptS = "\1\uffff\1\2\2\uffff\1\1"; static final String DFA10_specialS = "\5\uffff}>"; static final String[] DFA10_transitionS = { "\2\1\2\uffff\5\1\3\uffff\2\1\2\uffff\1\1\1\uffff\1\1\5\uffff\3\1\7\uffff"+ - "\1\1\2\uffff\2\1\2\uffff\2\1\3\uffff\1\1\1\uffff\1\1\5\uffff\1\1\1\uffff"+ - "\4\1\2\uffff\1\1\6\uffff\3\1\5\uffff\1\2\11\uffff\1\1\2\uffff\2\1\6\uffff"+ - "\3\1\2\uffff\3\1\1\uffff\2\1\2\uffff\5\1\1\uffff\3\1\1\uffff\6\1\1\uffff"+ - "\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\5\1\10\uffff\1\1", + "\1\1\2\uffff\2\1\2\uffff\2\1\3\uffff\1\1\1\uffff\1\1\4\uffff\1\1\1\uffff"+ + "\1\1\1\uffff\4\1\2\uffff\1\1\6\uffff\3\1\5\uffff\1\2\11\uffff\1\1\2\uffff"+ + "\2\1\6\uffff\3\1\2\uffff\3\1\1\uffff\2\1\2\uffff\5\1\1\uffff\3\1\1\uffff"+ + "\6\1\1\uffff\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\5\1\10\uffff\1\1", "", - "\1\1\1\uffff\1\3\36\uffff\1\4\37\uffff\1\3\62\uffff\1\4\14\uffff\1\4"+ + "\1\1\1\uffff\1\3\36\uffff\1\4\40\uffff\1\3\62\uffff\1\4\14\uffff\1\4"+ "\5\uffff\1\3", - "\1\1\1\uffff\1\3\36\uffff\1\4\37\uffff\1\3\62\uffff\1\4\14\uffff\1\4"+ + "\1\1\1\uffff\1\3\36\uffff\1\4\40\uffff\1\3\62\uffff\1\4\14\uffff\1\4"+ "\5\uffff\1\3", "" }; @@ -42835,15 +43037,15 @@ public void error(NoViableAltException nvae) { static final String DFA44_minS = "\1\66\2\25\1\0\1\uffff\1\0\2\uffff"; static final String DFA44_maxS = - "\1\66\2\u009a\1\0\1\uffff\1\0\2\uffff"; + "\1\66\2\u009b\1\0\1\uffff\1\0\2\uffff"; static final String DFA44_acceptS = "\4\uffff\1\3\1\uffff\1\1\1\2"; static final String DFA44_specialS = "\3\uffff\1\0\1\uffff\1\1\2\uffff}>"; static final String[] DFA44_transitionS = { "\1\1", - "\1\2\63\uffff\1\4\12\uffff\1\2\62\uffff\1\3\14\uffff\1\3\5\uffff\1\2", - "\1\2\63\uffff\1\4\12\uffff\1\2\62\uffff\1\5\14\uffff\1\5\5\uffff\1\2", + "\1\2\64\uffff\1\4\12\uffff\1\2\62\uffff\1\3\14\uffff\1\3\5\uffff\1\2", + "\1\2\64\uffff\1\4\12\uffff\1\2\62\uffff\1\5\14\uffff\1\5\5\uffff\1\2", "\1\uffff", "", "\1\uffff", @@ -42934,24 +43136,24 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc static final String DFA32_minS = "\2\6\2\uffff"; static final String DFA32_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA32_acceptS = "\2\uffff\1\2\1\1"; static final String DFA32_specialS = "\4\uffff}>"; static final String[] DFA32_transitionS = { "\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\2\1\uffff\1\2\5\uffff\3\2\7\uffff"+ - "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\4\2\2\uffff\1\2\4\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\1\2"+ - "\4\uffff\1\2\2\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\3\2\1\uffff"+ - "\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff\1\2\1\1", + "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\4\uffff\1\2\1\uffff"+ + "\1\2\1\uffff\4\2\2\uffff\1\2\4\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1"+ + "\3\uffff\1\2\4\uffff\1\2\2\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff"+ + "\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff"+ + "\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff\1\2\1\1", "\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\2\1\uffff\1\2\5\uffff\3\2\7\uffff"+ - "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\4\2\2\uffff\1\2\4\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\1\2"+ - "\4\uffff\1\2\2\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\3\2\1\uffff"+ - "\2\2\1\uffff\6\2\1\uffff\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff\1\2\1\1", + "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\4\uffff\1\2\1\uffff"+ + "\1\2\1\uffff\4\2\2\uffff\1\2\4\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1"+ + "\3\uffff\1\2\4\uffff\1\2\2\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff"+ + "\3\2\1\uffff\2\2\1\uffff\6\2\1\uffff\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff"+ + "\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff\1\2\1\1", "", "" }; @@ -43001,32 +43203,32 @@ public void error(NoViableAltException nvae) { static final String DFA47_minS = "\2\6\1\uffff\1\6\1\23\1\64\1\23\1\uffff"; static final String DFA47_maxS = - "\2\u009a\1\uffff\2\u009a\1\u0081\1\u009a\1\uffff"; + "\2\u009b\1\uffff\2\u009b\1\u0082\1\u009b\1\uffff"; static final String DFA47_acceptS = "\2\uffff\1\2\4\uffff\1\1"; static final String DFA47_specialS = "\10\uffff}>"; static final String[] DFA47_transitionS = { "\2\2\2\uffff\5\2\3\uffff\2\2\1\uffff\2\2\1\uffff\1\2\5\uffff\3\2\7\uffff"+ - "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\1\2\1\uffff"+ - "\4\2\2\uffff\1\2\4\uffff\1\1\1\uffff\3\2\5\uffff\2\2\3\uffff\1\2\4\uffff"+ - "\1\2\2\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\2\uffff"+ - "\5\2\1\uffff\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff"+ - "\5\2\6\uffff\1\2\1\uffff\2\2", + "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\4\uffff\1\2\1\uffff"+ + "\1\2\1\uffff\4\2\2\uffff\1\2\4\uffff\1\1\1\uffff\3\2\5\uffff\2\2\3\uffff"+ + "\1\2\4\uffff\1\2\2\uffff\2\2\2\uffff\1\2\3\uffff\4\2\1\uffff\3\2\1\uffff"+ + "\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff"+ + "\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff\2\2", "\1\2\3\uffff\5\2\3\uffff\1\2\2\uffff\1\3\2\uffff\1\2\17\uffff\1\2\2"+ - "\uffff\1\2\4\uffff\1\2\3\uffff\1\4\1\uffff\1\2\10\uffff\3\2\11\uffff"+ - "\1\2\1\uffff\1\2\5\uffff\1\2\1\3\10\uffff\1\2\12\uffff\3\2\2\uffff\3"+ - "\2\1\uffff\2\2\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\5\2\10\uffff"+ - "\5\2\10\uffff\1\2\1\3", + "\uffff\1\2\4\uffff\1\2\3\uffff\1\4\1\uffff\1\2\4\uffff\1\2\4\uffff\3"+ + "\2\11\uffff\1\2\1\uffff\1\2\5\uffff\1\2\1\3\10\uffff\1\2\12\uffff\3\2"+ + "\2\uffff\3\2\1\uffff\2\2\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff"+ + "\5\2\10\uffff\5\2\10\uffff\1\2\1\3", "", "\1\2\3\uffff\5\2\3\uffff\1\2\2\uffff\1\3\2\uffff\1\2\17\uffff\1\2\2"+ - "\uffff\1\2\4\uffff\1\2\3\uffff\1\4\1\uffff\1\2\10\uffff\3\2\11\uffff"+ - "\1\2\1\uffff\1\2\5\uffff\1\2\1\3\10\uffff\1\2\12\uffff\3\2\2\uffff\3"+ - "\2\1\uffff\2\2\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\5\2\10\uffff"+ - "\5\2\10\uffff\1\2\1\3", - "\1\2\1\uffff\1\6\12\uffff\1\5\63\uffff\1\6\26\uffff\1\7\56\uffff\1\6", - "\1\7\114\uffff\1\2", - "\1\2\1\uffff\1\6\76\uffff\1\6\26\uffff\1\7\56\uffff\1\6", + "\uffff\1\2\4\uffff\1\2\3\uffff\1\4\1\uffff\1\2\4\uffff\1\2\4\uffff\3"+ + "\2\11\uffff\1\2\1\uffff\1\2\5\uffff\1\2\1\3\10\uffff\1\2\12\uffff\3\2"+ + "\2\uffff\3\2\1\uffff\2\2\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff"+ + "\5\2\10\uffff\5\2\10\uffff\1\2\1\3", + "\1\2\1\uffff\1\6\12\uffff\1\5\64\uffff\1\6\26\uffff\1\7\56\uffff\1\6", + "\1\7\115\uffff\1\2", + "\1\2\1\uffff\1\6\77\uffff\1\6\26\uffff\1\7\56\uffff\1\6", "" }; @@ -43075,17 +43277,17 @@ public void error(NoViableAltException nvae) { static final String DFA48_minS = "\2\25\1\uffff\2\25\1\uffff"; static final String DFA48_maxS = - "\2\u009a\1\uffff\2\u009a\1\uffff"; + "\2\u009b\1\uffff\2\u009b\1\uffff"; static final String DFA48_acceptS = "\2\uffff\1\2\2\uffff\1\1"; static final String DFA48_specialS = "\6\uffff}>"; static final String[] DFA48_transitionS = { - "\1\1\76\uffff\1\1\57\uffff\1\2\25\uffff\1\1", - "\1\1\36\uffff\1\3\37\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\77\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\36\uffff\1\3\40\uffff\1\1\57\uffff\1\2\25\uffff\1\1", "", - "\1\4\63\uffff\1\2\12\uffff\1\4\105\uffff\1\4", - "\1\4\36\uffff\1\5\24\uffff\1\2\12\uffff\1\4\105\uffff\1\4", + "\1\4\64\uffff\1\2\12\uffff\1\4\105\uffff\1\4", + "\1\4\36\uffff\1\5\25\uffff\1\2\12\uffff\1\4\105\uffff\1\4", "" }; @@ -43134,14 +43336,14 @@ public void error(NoViableAltException nvae) { static final String DFA49_minS = "\2\25\2\uffff"; static final String DFA49_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA49_acceptS = "\2\uffff\1\2\1\1"; static final String DFA49_specialS = "\4\uffff}>"; static final String[] DFA49_transitionS = { - "\1\1\76\uffff\1\1\57\uffff\1\2\25\uffff\1\1", - "\1\1\36\uffff\1\3\37\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\77\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\36\uffff\1\3\40\uffff\1\1\57\uffff\1\2\25\uffff\1\1", "", "" }; @@ -43191,14 +43393,14 @@ public void error(NoViableAltException nvae) { static final String DFA54_minS = "\2\24\2\uffff"; static final String DFA54_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA54_acceptS = "\2\uffff\1\2\1\1"; static final String DFA54_specialS = "\4\uffff}>"; static final String[] DFA54_transitionS = { - "\1\3\1\1\76\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\3\1\1\76\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\3\1\1\77\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\3\1\1\77\uffff\1\1\26\uffff\1\2\56\uffff\1\1", "", "" }; @@ -43248,17 +43450,17 @@ public void error(NoViableAltException nvae) { static final String DFA59_minS = "\2\25\1\uffff\2\25\1\0\1\uffff"; static final String DFA59_maxS = - "\2\u009a\1\uffff\2\u009a\1\0\1\uffff"; + "\2\u009b\1\uffff\2\u009b\1\0\1\uffff"; static final String DFA59_acceptS = "\2\uffff\1\2\3\uffff\1\1"; static final String DFA59_specialS = "\5\uffff\1\0\1\uffff}>"; static final String[] DFA59_transitionS = { - "\1\1\76\uffff\1\1\57\uffff\1\2\25\uffff\1\1", - "\1\1\36\uffff\1\3\37\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\77\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\36\uffff\1\3\40\uffff\1\1\57\uffff\1\2\25\uffff\1\1", "", - "\1\4\63\uffff\1\2\12\uffff\1\4\105\uffff\1\4", - "\1\4\36\uffff\1\5\24\uffff\1\2\12\uffff\1\4\105\uffff\1\4", + "\1\4\64\uffff\1\2\12\uffff\1\4\105\uffff\1\4", + "\1\4\36\uffff\1\5\25\uffff\1\2\12\uffff\1\4\105\uffff\1\4", "\1\uffff", "" }; @@ -43332,15 +43534,15 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc static final String DFA58_minS = "\1\64\2\25\1\0\2\uffff"; static final String DFA58_maxS = - "\1\64\2\u009a\1\0\2\uffff"; + "\1\64\2\u009b\1\0\2\uffff"; static final String DFA58_acceptS = "\4\uffff\1\1\1\2"; static final String DFA58_specialS = "\3\uffff\1\0\2\uffff}>"; static final String[] DFA58_transitionS = { "\1\1", - "\1\2\76\uffff\1\2\105\uffff\1\2", - "\1\2\36\uffff\1\3\37\uffff\1\2\105\uffff\1\2", + "\1\2\77\uffff\1\2\105\uffff\1\2", + "\1\2\36\uffff\1\3\40\uffff\1\2\105\uffff\1\2", "\1\uffff", "", "" @@ -43415,17 +43617,17 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc static final String DFA60_minS = "\2\25\1\uffff\2\25\1\uffff"; static final String DFA60_maxS = - "\2\u009a\1\uffff\2\u009a\1\uffff"; + "\2\u009b\1\uffff\2\u009b\1\uffff"; static final String DFA60_acceptS = "\2\uffff\1\2\2\uffff\1\1"; static final String DFA60_specialS = "\6\uffff}>"; static final String[] DFA60_transitionS = { - "\1\1\76\uffff\1\1\57\uffff\1\2\25\uffff\1\1", - "\1\1\36\uffff\1\3\37\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\77\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\36\uffff\1\3\40\uffff\1\1\57\uffff\1\2\25\uffff\1\1", "", - "\1\4\63\uffff\1\2\12\uffff\1\4\105\uffff\1\4", - "\1\4\36\uffff\1\5\24\uffff\1\2\12\uffff\1\4\105\uffff\1\4", + "\1\4\64\uffff\1\2\12\uffff\1\4\105\uffff\1\4", + "\1\4\36\uffff\1\5\25\uffff\1\2\12\uffff\1\4\105\uffff\1\4", "" }; @@ -43474,14 +43676,14 @@ public void error(NoViableAltException nvae) { static final String DFA61_minS = "\2\25\2\uffff"; static final String DFA61_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA61_acceptS = "\2\uffff\1\2\1\1"; static final String DFA61_specialS = "\4\uffff}>"; static final String[] DFA61_transitionS = { - "\1\1\76\uffff\1\1\57\uffff\1\2\25\uffff\1\1", - "\1\1\36\uffff\1\3\37\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\77\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\1\36\uffff\1\3\40\uffff\1\1\57\uffff\1\2\25\uffff\1\1", "", "" }; @@ -43531,14 +43733,14 @@ public void error(NoViableAltException nvae) { static final String DFA66_minS = "\2\24\2\uffff"; static final String DFA66_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA66_acceptS = "\2\uffff\1\2\1\1"; static final String DFA66_specialS = "\4\uffff}>"; static final String[] DFA66_transitionS = { - "\1\3\1\1\76\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\3\1\1\76\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\3\1\1\77\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\3\1\1\77\uffff\1\1\26\uffff\1\2\56\uffff\1\1", "", "" }; @@ -43588,14 +43790,14 @@ public void error(NoViableAltException nvae) { static final String DFA72_minS = "\2\24\2\uffff"; static final String DFA72_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA72_acceptS = "\2\uffff\1\2\1\1"; static final String DFA72_specialS = "\4\uffff}>"; static final String[] DFA72_transitionS = { - "\1\3\1\1\76\uffff\1\1\57\uffff\1\2\25\uffff\1\1", - "\1\3\1\1\36\uffff\1\2\37\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\3\1\1\77\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\3\1\1\36\uffff\1\2\40\uffff\1\1\57\uffff\1\2\25\uffff\1\1", "", "" }; @@ -43645,14 +43847,14 @@ public void error(NoViableAltException nvae) { static final String DFA75_minS = "\2\24\2\uffff"; static final String DFA75_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA75_acceptS = "\2\uffff\1\2\1\1"; static final String DFA75_specialS = "\4\uffff}>"; static final String[] DFA75_transitionS = { - "\1\3\1\1\76\uffff\1\1\57\uffff\1\2\25\uffff\1\1", - "\1\3\1\1\36\uffff\1\2\37\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\3\1\1\77\uffff\1\1\57\uffff\1\2\25\uffff\1\1", + "\1\3\1\1\36\uffff\1\2\40\uffff\1\1\57\uffff\1\2\25\uffff\1\1", "", "" }; @@ -43702,24 +43904,24 @@ public void error(NoViableAltException nvae) { static final String DFA81_minS = "\2\6\1\0\1\uffff\1\0\1\uffff"; static final String DFA81_maxS = - "\2\u009a\1\0\1\uffff\1\0\1\uffff"; + "\2\u009b\1\0\1\uffff\1\0\1\uffff"; static final String DFA81_acceptS = "\3\uffff\1\2\1\uffff\1\1"; static final String DFA81_specialS = "\2\uffff\1\0\1\uffff\1\1\1\uffff}>"; static final String[] DFA81_transitionS = { "\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\2\uffff\1\3\5\uffff\3\3\7\uffff"+ - "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\7\uffff\4\3\2\uffff"+ - "\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+ - "\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff\3\3\1\uffff"+ - "\5\3\1\2\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3"+ - "\1\uffff\1\3\1\1", + "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\4\uffff\1\3\3\uffff"+ + "\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3"+ + "\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff"+ + "\3\3\1\uffff\5\3\1\2\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3"+ + "\6\uffff\1\3\1\uffff\1\3\1\1", "\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\2\uffff\1\3\5\uffff\3\3\7\uffff"+ - "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\7\uffff\4\3\2\uffff"+ - "\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+ - "\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff\3\3\1\uffff"+ - "\5\3\1\4\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3"+ - "\1\uffff\1\3\1\1", + "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\4\uffff\1\3\3\uffff"+ + "\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3"+ + "\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff"+ + "\3\3\1\uffff\5\3\1\4\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3"+ + "\6\uffff\1\3\1\uffff\1\3\1\1", "\1\uffff", "", "\1\uffff", @@ -43807,24 +44009,24 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc static final String DFA87_minS = "\2\6\2\uffff"; static final String DFA87_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA87_acceptS = "\2\uffff\1\1\1\2"; static final String DFA87_specialS = "\4\uffff}>"; static final String[] DFA87_transitionS = { "\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\2\uffff\1\3\5\uffff\3\3\7\uffff"+ - "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\7\uffff\4\3\2\uffff"+ - "\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+ - "\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff\3\3\1\uffff"+ - "\6\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+ - "\1\3\1\1", + "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\4\uffff\1\3\3\uffff"+ + "\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3"+ + "\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff"+ + "\3\3\1\uffff\6\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff"+ + "\1\3\1\uffff\1\3\1\1", "\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\2\uffff\1\3\5\uffff\3\3\7\uffff"+ - "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\7\uffff\4\3\2\uffff"+ - "\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+ - "\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff\3\3\1\uffff"+ - "\6\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+ - "\1\3\1\1", + "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\4\uffff\1\3\3\uffff"+ + "\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3"+ + "\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff"+ + "\3\3\1\uffff\6\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff"+ + "\1\3\1\uffff\1\3\1\1", "", "" }; @@ -43874,24 +44076,24 @@ public void error(NoViableAltException nvae) { static final String DFA89_minS = "\2\6\2\uffff"; static final String DFA89_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA89_acceptS = "\2\uffff\1\1\1\2"; static final String DFA89_specialS = "\4\uffff}>"; static final String[] DFA89_transitionS = { "\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\2\uffff\1\3\5\uffff\3\3\7\uffff"+ - "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\7\uffff\4\3\2\uffff"+ - "\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+ - "\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff\3\3\1\uffff"+ - "\6\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+ - "\1\3\1\1", + "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\4\uffff\1\3\3\uffff"+ + "\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3"+ + "\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff"+ + "\3\3\1\uffff\6\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff"+ + "\1\3\1\uffff\1\3\1\1", "\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\2\uffff\1\3\5\uffff\3\3\7\uffff"+ - "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\7\uffff\4\3\2\uffff"+ - "\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3"+ - "\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff\3\3\1\uffff"+ - "\6\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff\1\3\1\uffff"+ - "\1\3\1\1", + "\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\2\1\3\4\uffff\1\3\3\uffff"+ + "\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3\2\uffff\2\3"+ + "\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff\5\3\1\uffff"+ + "\3\3\1\uffff\6\3\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3\1\uffff\5\3\6\uffff"+ + "\1\3\1\uffff\1\3\1\1", "", "" }; @@ -43941,24 +44143,24 @@ public void error(NoViableAltException nvae) { static final String DFA93_minS = "\2\6\2\uffff"; static final String DFA93_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA93_acceptS = "\2\uffff\1\2\1\1"; static final String DFA93_specialS = - "\1\1\1\0\2\uffff}>"; + "\1\0\1\1\2\uffff}>"; static final String[] DFA93_transitionS = { "\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\2\1\uffff\1\2\5\uffff\3\2\7\uffff"+ - "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\6\2\2\uffff"+ - "\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+ - "\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff\3\2\1\uffff"+ - "\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff"+ - "\1\2\1\1", + "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\4\uffff\1\2\1\uffff"+ + "\6\2\2\uffff\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2"+ + "\2\uffff\1\2\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\2\uffff\5\2\1\uffff"+ + "\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff"+ + "\1\2\1\uffff\1\2\1\1", "\2\2\2\uffff\5\2\3\uffff\2\2\1\3\1\1\1\2\1\uffff\1\2\5\uffff\3\2\7\uffff"+ - "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\5\uffff\6\2\2\uffff"+ - "\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2\2\uffff\1\2"+ - "\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\1\uffff\6\2\1\uffff\3\2\1\uffff"+ - "\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff\1\2\1\uffff"+ - "\1\2\1\1", + "\1\2\2\uffff\2\2\2\uffff\2\2\3\uffff\1\2\1\uffff\1\2\4\uffff\1\2\1\uffff"+ + "\6\2\2\uffff\1\2\6\uffff\3\2\5\uffff\1\2\1\1\10\uffff\1\2\2\uffff\2\2"+ + "\2\uffff\1\2\3\uffff\4\2\1\uffff\3\2\1\uffff\2\2\1\uffff\6\2\1\uffff"+ + "\3\2\1\uffff\6\2\1\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\5\2\6\uffff"+ + "\1\2\1\uffff\1\2\1\1", "", "" }; @@ -44005,29 +44207,29 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc int _s = s; switch ( s ) { case 0 : - int LA93_1 = input.LA(1); + int LA93_0 = input.LA(1); - int index93_1 = input.index(); + int index93_0 = input.index(); input.rewind(); s = -1; - if ( (LA93_1==EOF||(LA93_1 >= AT_IDENT && LA93_1 <= AT_SIGN)||(LA93_1 >= BOTTOMCENTER_SYM && LA93_1 <= BOTTOMRIGHT_SYM)||(LA93_1 >= CHARSET_SYM && LA93_1 <= COLON)||LA93_1==CONTAINER_SYM||LA93_1==COUNTER_STYLE_SYM||(LA93_1 >= DCOLON && LA93_1 <= DOT)||LA93_1==FONT_FACE_SYM||(LA93_1 >= GEN && LA93_1 <= GREATER)||(LA93_1 >= HASH && LA93_1 <= HASH_SYMBOL)||LA93_1==IDENT||LA93_1==IMPORT_SYM||(LA93_1 >= LAYER_SYM && LA93_1 <= LEFTTOP_SYM)||LA93_1==LESS_AND||(LA93_1 >= MEDIA_SYM && LA93_1 <= MOZ_DOCUMENT_SYM)||LA93_1==NAMESPACE_SYM||LA93_1==PAGE_SYM||(LA93_1 >= PIPE && LA93_1 <= PLUS)||LA93_1==RBRACE||(LA93_1 >= RIGHTBOTTOM_SYM && LA93_1 <= RPAREN)||(LA93_1 >= SASS_AT_ROOT && LA93_1 <= SASS_DEBUG)||(LA93_1 >= SASS_EACH && LA93_1 <= SASS_ELSE)||(LA93_1 >= SASS_ERROR && LA93_1 <= SASS_FUNCTION)||(LA93_1 >= SASS_IF && LA93_1 <= SASS_MIXIN)||(LA93_1 >= SASS_RETURN && LA93_1 <= SEMI)||LA93_1==STAR||LA93_1==SUPPORTS_SYM||LA93_1==TILDE||(LA93_1 >= TOPCENTER_SYM && LA93_1 <= TOPRIGHT_SYM)||LA93_1==VARIABLE||LA93_1==WEBKIT_KEYFRAMES_SYM) ) {s = 2;} - else if ( (LA93_1==COMMENT||LA93_1==NL||LA93_1==WS) ) {s = 1;} - else if ( (LA93_1==COMMA) && (synpred10_Css3())) {s = 3;} + if ( (LA93_0==COMMENT||LA93_0==NL||LA93_0==WS) ) {s = 1;} + else if ( (LA93_0==EOF||(LA93_0 >= AT_IDENT && LA93_0 <= AT_SIGN)||(LA93_0 >= BOTTOMCENTER_SYM && LA93_0 <= BOTTOMRIGHT_SYM)||(LA93_0 >= CHARSET_SYM && LA93_0 <= COLON)||LA93_0==CONTAINER_SYM||LA93_0==COUNTER_STYLE_SYM||(LA93_0 >= DCOLON && LA93_0 <= DOT)||LA93_0==FONT_FACE_SYM||(LA93_0 >= GEN && LA93_0 <= GREATER)||(LA93_0 >= HASH && LA93_0 <= HASH_SYMBOL)||LA93_0==IDENT||LA93_0==IMPORT_SYM||LA93_0==KEYFRAMES_SYM||(LA93_0 >= LAYER_SYM && LA93_0 <= LEFTTOP_SYM)||LA93_0==LESS_AND||(LA93_0 >= MEDIA_SYM && LA93_0 <= MOZ_DOCUMENT_SYM)||LA93_0==NAMESPACE_SYM||LA93_0==PAGE_SYM||(LA93_0 >= PIPE && LA93_0 <= PLUS)||LA93_0==RBRACE||(LA93_0 >= RIGHTBOTTOM_SYM && LA93_0 <= RPAREN)||(LA93_0 >= SASS_AT_ROOT && LA93_0 <= SASS_DEBUG)||(LA93_0 >= SASS_EACH && LA93_0 <= SASS_ELSE)||(LA93_0 >= SASS_EXTEND && LA93_0 <= SASS_FUNCTION)||(LA93_0 >= SASS_IF && LA93_0 <= SASS_MIXIN)||(LA93_0 >= SASS_RETURN && LA93_0 <= SEMI)||LA93_0==STAR||LA93_0==SUPPORTS_SYM||LA93_0==TILDE||(LA93_0 >= TOPCENTER_SYM && LA93_0 <= TOPRIGHT_SYM)||LA93_0==VARIABLE||LA93_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;} + else if ( (LA93_0==COMMA) && (synpred10_Css3())) {s = 3;} - input.seek(index93_1); + input.seek(index93_0); if ( s>=0 ) return s; break; case 1 : - int LA93_0 = input.LA(1); + int LA93_1 = input.LA(1); - int index93_0 = input.index(); + int index93_1 = input.index(); input.rewind(); s = -1; - if ( (LA93_0==COMMENT||LA93_0==NL||LA93_0==WS) ) {s = 1;} - else if ( (LA93_0==EOF||(LA93_0 >= AT_IDENT && LA93_0 <= AT_SIGN)||(LA93_0 >= BOTTOMCENTER_SYM && LA93_0 <= BOTTOMRIGHT_SYM)||(LA93_0 >= CHARSET_SYM && LA93_0 <= COLON)||LA93_0==CONTAINER_SYM||LA93_0==COUNTER_STYLE_SYM||(LA93_0 >= DCOLON && LA93_0 <= DOT)||LA93_0==FONT_FACE_SYM||(LA93_0 >= GEN && LA93_0 <= GREATER)||(LA93_0 >= HASH && LA93_0 <= HASH_SYMBOL)||LA93_0==IDENT||LA93_0==IMPORT_SYM||(LA93_0 >= LAYER_SYM && LA93_0 <= LEFTTOP_SYM)||LA93_0==LESS_AND||(LA93_0 >= MEDIA_SYM && LA93_0 <= MOZ_DOCUMENT_SYM)||LA93_0==NAMESPACE_SYM||LA93_0==PAGE_SYM||(LA93_0 >= PIPE && LA93_0 <= PLUS)||LA93_0==RBRACE||(LA93_0 >= RIGHTBOTTOM_SYM && LA93_0 <= RPAREN)||(LA93_0 >= SASS_AT_ROOT && LA93_0 <= SASS_DEBUG)||(LA93_0 >= SASS_EACH && LA93_0 <= SASS_ELSE)||(LA93_0 >= SASS_EXTEND && LA93_0 <= SASS_FUNCTION)||(LA93_0 >= SASS_IF && LA93_0 <= SASS_MIXIN)||(LA93_0 >= SASS_RETURN && LA93_0 <= SEMI)||LA93_0==STAR||LA93_0==SUPPORTS_SYM||LA93_0==TILDE||(LA93_0 >= TOPCENTER_SYM && LA93_0 <= TOPRIGHT_SYM)||LA93_0==VARIABLE||LA93_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;} - else if ( (LA93_0==COMMA) && (synpred10_Css3())) {s = 3;} + if ( (LA93_1==EOF||(LA93_1 >= AT_IDENT && LA93_1 <= AT_SIGN)||(LA93_1 >= BOTTOMCENTER_SYM && LA93_1 <= BOTTOMRIGHT_SYM)||(LA93_1 >= CHARSET_SYM && LA93_1 <= COLON)||LA93_1==CONTAINER_SYM||LA93_1==COUNTER_STYLE_SYM||(LA93_1 >= DCOLON && LA93_1 <= DOT)||LA93_1==FONT_FACE_SYM||(LA93_1 >= GEN && LA93_1 <= GREATER)||(LA93_1 >= HASH && LA93_1 <= HASH_SYMBOL)||LA93_1==IDENT||LA93_1==IMPORT_SYM||LA93_1==KEYFRAMES_SYM||(LA93_1 >= LAYER_SYM && LA93_1 <= LEFTTOP_SYM)||LA93_1==LESS_AND||(LA93_1 >= MEDIA_SYM && LA93_1 <= MOZ_DOCUMENT_SYM)||LA93_1==NAMESPACE_SYM||LA93_1==PAGE_SYM||(LA93_1 >= PIPE && LA93_1 <= PLUS)||LA93_1==RBRACE||(LA93_1 >= RIGHTBOTTOM_SYM && LA93_1 <= RPAREN)||(LA93_1 >= SASS_AT_ROOT && LA93_1 <= SASS_DEBUG)||(LA93_1 >= SASS_EACH && LA93_1 <= SASS_ELSE)||(LA93_1 >= SASS_ERROR && LA93_1 <= SASS_FUNCTION)||(LA93_1 >= SASS_IF && LA93_1 <= SASS_MIXIN)||(LA93_1 >= SASS_RETURN && LA93_1 <= SEMI)||LA93_1==STAR||LA93_1==SUPPORTS_SYM||LA93_1==TILDE||(LA93_1 >= TOPCENTER_SYM && LA93_1 <= TOPRIGHT_SYM)||LA93_1==VARIABLE||LA93_1==WEBKIT_KEYFRAMES_SYM) ) {s = 2;} + else if ( (LA93_1==COMMENT||LA93_1==NL||LA93_1==WS) ) {s = 1;} + else if ( (LA93_1==COMMA) && (synpred10_Css3())) {s = 3;} - input.seek(index93_0); + input.seek(index93_1); if ( s>=0 ) return s; break; } @@ -44046,14 +44248,14 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc static final String DFA106_minS = "\2\23\2\uffff"; static final String DFA106_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA106_acceptS = "\2\uffff\1\1\1\2"; static final String DFA106_specialS = "\4\uffff}>"; static final String[] DFA106_transitionS = { - "\1\2\1\uffff\1\1\76\uffff\1\1\26\uffff\1\3\56\uffff\1\1", - "\1\2\1\uffff\1\1\76\uffff\1\1\26\uffff\1\3\56\uffff\1\1", + "\1\2\1\uffff\1\1\77\uffff\1\1\26\uffff\1\3\56\uffff\1\1", + "\1\2\1\uffff\1\1\77\uffff\1\1\26\uffff\1\3\56\uffff\1\1", "", "" }; @@ -44103,24 +44305,24 @@ public void error(NoViableAltException nvae) { static final String DFA115_minS = "\2\6\1\0\1\uffff\1\0\1\uffff"; static final String DFA115_maxS = - "\2\u009a\1\0\1\uffff\1\0\1\uffff"; + "\2\u009b\1\0\1\uffff\1\0\1\uffff"; static final String DFA115_acceptS = "\3\uffff\1\2\1\uffff\1\1"; static final String DFA115_specialS = "\2\uffff\1\0\1\uffff\1\1\1\uffff}>"; static final String[] DFA115_transitionS = { "\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\3\1\uffff\1\3\5\uffff\3\3"+ - "\7\uffff\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\5\uffff"+ - "\1\3\1\uffff\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3"+ - "\2\uffff\2\3\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff"+ - "\5\3\1\uffff\3\3\1\uffff\5\3\1\2\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3"+ - "\1\uffff\5\3\10\uffff\1\3\1\1", + "\7\uffff\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\4\uffff"+ + "\1\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1"+ + "\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff"+ + "\2\3\2\uffff\5\3\1\uffff\3\3\1\uffff\5\3\1\2\1\uffff\1\3\1\uffff\1\3"+ + "\1\uffff\1\3\1\uffff\5\3\10\uffff\1\3\1\1", "\2\3\2\uffff\5\3\3\uffff\2\3\1\uffff\1\1\1\3\1\uffff\1\3\5\uffff\3\3"+ - "\7\uffff\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\5\uffff"+ - "\1\3\1\uffff\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1\10\uffff\1\3"+ - "\2\uffff\2\3\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff\2\3\2\uffff"+ - "\5\3\1\uffff\3\3\1\uffff\5\3\1\4\1\uffff\1\3\1\uffff\1\3\1\uffff\1\3"+ - "\1\uffff\5\3\10\uffff\1\3\1\1", + "\7\uffff\1\3\2\uffff\2\3\2\uffff\2\3\3\uffff\1\3\1\uffff\1\3\4\uffff"+ + "\1\3\1\uffff\1\3\1\uffff\4\3\2\uffff\1\3\6\uffff\3\3\5\uffff\1\3\1\1"+ + "\10\uffff\1\3\2\uffff\2\3\2\uffff\1\3\3\uffff\3\3\2\uffff\3\3\1\uffff"+ + "\2\3\2\uffff\5\3\1\uffff\3\3\1\uffff\5\3\1\4\1\uffff\1\3\1\uffff\1\3"+ + "\1\uffff\1\3\1\uffff\5\3\10\uffff\1\3\1\1", "\1\uffff", "", "\1\uffff", @@ -44208,14 +44410,14 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc static final String DFA124_minS = "\2\25\2\uffff"; static final String DFA124_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA124_acceptS = "\2\uffff\1\2\1\1"; static final String DFA124_specialS = "\4\uffff}>"; static final String[] DFA124_transitionS = { - "\1\1\47\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\1\36\uffff\1\3\10\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ + "\1\1\50\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\36\uffff\1\3\11\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ "\1", "", "" @@ -44266,14 +44468,14 @@ public void error(NoViableAltException nvae) { static final String DFA126_minS = "\2\25\2\uffff"; static final String DFA126_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA126_acceptS = "\2\uffff\1\2\1\1"; static final String DFA126_specialS = "\4\uffff}>"; static final String[] DFA126_transitionS = { - "\1\1\47\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\1\36\uffff\1\3\10\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ + "\1\1\50\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\36\uffff\1\3\11\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ "\1", "", "" @@ -44324,14 +44526,14 @@ public void error(NoViableAltException nvae) { static final String DFA127_minS = "\2\25\2\uffff"; static final String DFA127_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA127_acceptS = "\2\uffff\1\2\1\1"; static final String DFA127_specialS = "\4\uffff}>"; static final String[] DFA127_transitionS = { - "\1\1\47\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\1\36\uffff\1\3\10\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ + "\1\1\50\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\36\uffff\1\3\11\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ "\1", "", "" @@ -44382,14 +44584,14 @@ public void error(NoViableAltException nvae) { static final String DFA141_minS = "\2\25\2\uffff"; static final String DFA141_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA141_acceptS = "\2\uffff\1\2\1\1"; static final String DFA141_specialS = "\4\uffff}>"; static final String[] DFA141_transitionS = { - "\1\1\47\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\1\36\uffff\1\3\10\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ + "\1\1\50\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\36\uffff\1\3\11\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ "\1", "", "" @@ -44440,14 +44642,14 @@ public void error(NoViableAltException nvae) { static final String DFA143_minS = "\2\25\2\uffff"; static final String DFA143_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA143_acceptS = "\2\uffff\1\2\1\1"; static final String DFA143_specialS = "\4\uffff}>"; static final String[] DFA143_transitionS = { - "\1\1\47\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\1\36\uffff\1\3\10\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ + "\1\1\50\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\36\uffff\1\3\11\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ "\1", "", "" @@ -44498,14 +44700,14 @@ public void error(NoViableAltException nvae) { static final String DFA144_minS = "\2\25\2\uffff"; static final String DFA144_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA144_acceptS = "\2\uffff\1\2\1\1"; static final String DFA144_specialS = "\4\uffff}>"; static final String[] DFA144_transitionS = { - "\1\1\47\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\1\36\uffff\1\3\10\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ + "\1\1\50\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\36\uffff\1\3\11\uffff\1\2\26\uffff\1\1\26\uffff\1\2\56\uffff\1"+ "\1", "", "" @@ -44556,14 +44758,14 @@ public void error(NoViableAltException nvae) { static final String DFA154_minS = "\2\25\2\uffff"; static final String DFA154_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA154_acceptS = "\2\uffff\1\2\1\1"; static final String DFA154_specialS = "\4\uffff}>"; static final String[] DFA154_transitionS = { - "\1\1\76\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\1\36\uffff\1\3\37\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\77\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\36\uffff\1\3\40\uffff\1\1\26\uffff\1\2\56\uffff\1\1", "", "" }; @@ -44613,14 +44815,14 @@ public void error(NoViableAltException nvae) { static final String DFA155_minS = "\2\25\2\uffff"; static final String DFA155_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA155_acceptS = "\2\uffff\1\2\1\1"; static final String DFA155_specialS = "\4\uffff}>"; static final String[] DFA155_transitionS = { - "\1\1\76\uffff\1\1\26\uffff\1\2\56\uffff\1\1", - "\1\1\36\uffff\1\3\37\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\77\uffff\1\1\26\uffff\1\2\56\uffff\1\1", + "\1\1\36\uffff\1\3\40\uffff\1\1\26\uffff\1\2\56\uffff\1\1", "", "" }; @@ -44670,14 +44872,14 @@ public void error(NoViableAltException nvae) { static final String DFA173_minS = "\2\23\2\uffff"; static final String DFA173_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA173_acceptS = "\2\uffff\1\1\1\2"; static final String DFA173_specialS = "\4\uffff}>"; static final String[] DFA173_transitionS = { - "\1\2\1\uffff\1\1\76\uffff\1\1\26\uffff\1\3\56\uffff\1\1", - "\1\2\1\uffff\1\1\76\uffff\1\1\26\uffff\1\3\56\uffff\1\1", + "\1\2\1\uffff\1\1\77\uffff\1\1\26\uffff\1\3\56\uffff\1\1", + "\1\2\1\uffff\1\1\77\uffff\1\1\26\uffff\1\3\56\uffff\1\1", "", "" }; @@ -44725,25 +44927,25 @@ public void error(NoViableAltException nvae) { static final String DFA186_eofS = "\12\uffff"; static final String DFA186_minS = - "\1\74\2\25\1\24\1\25\1\uffff\1\64\1\24\1\uffff\1\24"; + "\1\75\2\25\1\24\1\25\1\uffff\1\64\1\24\1\uffff\1\24"; static final String DFA186_maxS = - "\1\74\4\u009a\1\uffff\1\64\1\u009a\1\uffff\1\u009a"; + "\1\75\4\u009b\1\uffff\1\64\1\u009b\1\uffff\1\u009b"; static final String DFA186_acceptS = "\5\uffff\1\1\2\uffff\1\2\1\uffff"; static final String DFA186_specialS = "\12\uffff}>"; static final String[] DFA186_transitionS = { "\1\1", - "\1\2\76\uffff\1\2\105\uffff\1\2", - "\1\4\36\uffff\1\3\10\uffff\1\5\26\uffff\1\4\105\uffff\1\4", - "\1\10\1\7\12\uffff\1\6\34\uffff\1\5\26\uffff\1\7\57\uffff\1\10\25\uffff"+ + "\1\2\77\uffff\1\2\105\uffff\1\2", + "\1\4\36\uffff\1\3\11\uffff\1\5\26\uffff\1\4\105\uffff\1\4", + "\1\10\1\7\12\uffff\1\6\35\uffff\1\5\26\uffff\1\7\57\uffff\1\10\25\uffff"+ "\1\7", - "\1\4\36\uffff\1\3\10\uffff\1\5\26\uffff\1\4\105\uffff\1\4", + "\1\4\36\uffff\1\3\11\uffff\1\5\26\uffff\1\4\105\uffff\1\4", "", "\1\11", - "\1\10\1\7\47\uffff\1\5\26\uffff\1\7\105\uffff\1\7", + "\1\10\1\7\50\uffff\1\5\26\uffff\1\7\105\uffff\1\7", "", - "\1\10\1\7\12\uffff\1\6\34\uffff\1\5\26\uffff\1\7\57\uffff\1\10\25\uffff"+ + "\1\10\1\7\12\uffff\1\6\35\uffff\1\5\26\uffff\1\7\57\uffff\1\10\25\uffff"+ "\1\7" }; @@ -44785,53 +44987,53 @@ public void error(NoViableAltException nvae) { } } - static final String DFA224_eotS = + static final String DFA225_eotS = "\4\uffff"; - static final String DFA224_eofS = + static final String DFA225_eofS = "\1\2\3\uffff"; - static final String DFA224_minS = + static final String DFA225_minS = "\2\24\2\uffff"; - static final String DFA224_maxS = - "\2\u009a\2\uffff"; - static final String DFA224_acceptS = + static final String DFA225_maxS = + "\2\u009b\2\uffff"; + static final String DFA225_acceptS = "\2\uffff\1\2\1\1"; - static final String DFA224_specialS = + static final String DFA225_specialS = "\4\uffff}>"; - static final String[] DFA224_transitionS = { - "\1\3\1\1\47\uffff\1\2\26\uffff\1\1\105\uffff\1\1", - "\1\3\1\1\47\uffff\1\2\26\uffff\1\1\105\uffff\1\1", + static final String[] DFA225_transitionS = { + "\1\3\1\1\50\uffff\1\2\26\uffff\1\1\105\uffff\1\1", + "\1\3\1\1\50\uffff\1\2\26\uffff\1\1\105\uffff\1\1", "", "" }; - static final short[] DFA224_eot = DFA.unpackEncodedString(DFA224_eotS); - static final short[] DFA224_eof = DFA.unpackEncodedString(DFA224_eofS); - static final char[] DFA224_min = DFA.unpackEncodedStringToUnsignedChars(DFA224_minS); - static final char[] DFA224_max = DFA.unpackEncodedStringToUnsignedChars(DFA224_maxS); - static final short[] DFA224_accept = DFA.unpackEncodedString(DFA224_acceptS); - static final short[] DFA224_special = DFA.unpackEncodedString(DFA224_specialS); - static final short[][] DFA224_transition; + static final short[] DFA225_eot = DFA.unpackEncodedString(DFA225_eotS); + static final short[] DFA225_eof = DFA.unpackEncodedString(DFA225_eofS); + static final char[] DFA225_min = DFA.unpackEncodedStringToUnsignedChars(DFA225_minS); + static final char[] DFA225_max = DFA.unpackEncodedStringToUnsignedChars(DFA225_maxS); + static final short[] DFA225_accept = DFA.unpackEncodedString(DFA225_acceptS); + static final short[] DFA225_special = DFA.unpackEncodedString(DFA225_specialS); + static final short[][] DFA225_transition; static { - int numStates = DFA224_transitionS.length; - DFA224_transition = new short[numStates][]; + int numStates = DFA225_transitionS.length; + DFA225_transition = new short[numStates][]; for (int i=0; i"; + static final String[] DFA236_transitionS = { + "\2\1\2\uffff\5\2\3\uffff\1\1\5\uffff\1\1\17\uffff\1\1\2\uffff\1\1\4\uffff"+ + "\1\1\3\uffff\1\1\1\uffff\1\1\4\uffff\1\1\4\uffff\3\2\11\uffff\3\1\5\uffff"+ + "\1\1\11\uffff\1\1\12\uffff\3\2\2\uffff\3\1\1\uffff\2\1\2\uffff\1\1\1"+ + "\uffff\3\1\1\uffff\3\1\1\uffff\5\1\2\uffff\1\1\5\uffff\5\2\6\uffff\1"+ + "\1\1\uffff\1\1", + "", + "\1\1\1\uffff\1\3\50\uffff\1\4\26\uffff\1\3\105\uffff\1\3", + "\1\1\1\uffff\1\3\50\uffff\1\4\26\uffff\1\3\105\uffff\1\3", + "" }; static final short[] DFA236_eot = DFA.unpackEncodedString(DFA236_eotS); @@ -44909,68 +45173,6 @@ public DFA236(BaseRecognizer recognizer) { this.transition = DFA236_transition; } @Override - public String getDescription() { - return "()* loopback of 762:13: ( ( ws )? ({...}? ( SEMI ( ws )? ) | ( SEMI ( ws )? )? ) ( propertyDeclaration | margin ) )*"; - } - public void error(NoViableAltException nvae) { - dbg.recognitionException(nvae); - } - } - - static final String DFA235_eotS = - "\5\uffff"; - static final String DFA235_eofS = - "\5\uffff"; - static final String DFA235_minS = - "\1\6\1\uffff\2\23\1\uffff"; - static final String DFA235_maxS = - "\1\u0099\1\uffff\2\u009a\1\uffff"; - static final String DFA235_acceptS = - "\1\uffff\1\1\2\uffff\1\2"; - static final String DFA235_specialS = - "\5\uffff}>"; - static final String[] DFA235_transitionS = { - "\2\1\2\uffff\5\2\3\uffff\1\1\5\uffff\1\1\17\uffff\1\1\2\uffff\1\1\4\uffff"+ - "\1\1\3\uffff\1\1\1\uffff\1\1\10\uffff\3\2\11\uffff\3\1\5\uffff\1\1\11"+ - "\uffff\1\1\12\uffff\3\2\2\uffff\3\1\1\uffff\2\1\2\uffff\1\1\1\uffff\3"+ - "\1\1\uffff\3\1\1\uffff\5\1\2\uffff\1\1\5\uffff\5\2\6\uffff\1\1\1\uffff"+ - "\1\1", - "", - "\1\1\1\uffff\1\3\47\uffff\1\4\26\uffff\1\3\105\uffff\1\3", - "\1\1\1\uffff\1\3\47\uffff\1\4\26\uffff\1\3\105\uffff\1\3", - "" - }; - - static final short[] DFA235_eot = DFA.unpackEncodedString(DFA235_eotS); - static final short[] DFA235_eof = DFA.unpackEncodedString(DFA235_eofS); - static final char[] DFA235_min = DFA.unpackEncodedStringToUnsignedChars(DFA235_minS); - static final char[] DFA235_max = DFA.unpackEncodedStringToUnsignedChars(DFA235_maxS); - static final short[] DFA235_accept = DFA.unpackEncodedString(DFA235_acceptS); - static final short[] DFA235_special = DFA.unpackEncodedString(DFA235_specialS); - static final short[][] DFA235_transition; - - static { - int numStates = DFA235_transitionS.length; - DFA235_transition = new short[numStates][]; - for (int i=0; i=0 ) return s; break; case 1 : - int LA257_4 = input.LA(1); + int LA258_4 = input.LA(1); - int index257_4 = input.index(); + int index258_4 = input.index(); input.rewind(); s = -1; if ( (synpred38_Css3()) ) {s = 5;} else if ( (true) ) {s = 3;} - input.seek(index257_4); + input.seek(index258_4); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 257, _s, input); + new NoViableAltException(getDescription(), 258, _s, input); error(nvae); throw nvae; } } - static final String DFA262_eotS = + static final String DFA263_eotS = "\4\uffff"; - static final String DFA262_eofS = + static final String DFA263_eofS = "\4\uffff"; - static final String DFA262_minS = + static final String DFA263_minS = "\2\23\2\uffff"; - static final String DFA262_maxS = - "\2\u009a\2\uffff"; - static final String DFA262_acceptS = + static final String DFA263_maxS = + "\2\u009b\2\uffff"; + static final String DFA263_acceptS = "\2\uffff\1\2\1\1"; - static final String DFA262_specialS = + static final String DFA263_specialS = "\4\uffff}>"; - static final String[] DFA262_transitionS = { - "\1\2\1\uffff\1\1\76\uffff\1\1\62\uffff\1\3\22\uffff\1\1", - "\1\2\1\uffff\1\1\76\uffff\1\1\62\uffff\1\3\22\uffff\1\1", + static final String[] DFA263_transitionS = { + "\1\2\1\uffff\1\1\77\uffff\1\1\62\uffff\1\3\22\uffff\1\1", + "\1\2\1\uffff\1\1\77\uffff\1\1\62\uffff\1\3\22\uffff\1\1", "", "" }; - static final short[] DFA262_eot = DFA.unpackEncodedString(DFA262_eotS); - static final short[] DFA262_eof = DFA.unpackEncodedString(DFA262_eofS); - static final char[] DFA262_min = DFA.unpackEncodedStringToUnsignedChars(DFA262_minS); - static final char[] DFA262_max = DFA.unpackEncodedStringToUnsignedChars(DFA262_maxS); - static final short[] DFA262_accept = DFA.unpackEncodedString(DFA262_acceptS); - static final short[] DFA262_special = DFA.unpackEncodedString(DFA262_specialS); - static final short[][] DFA262_transition; + static final short[] DFA263_eot = DFA.unpackEncodedString(DFA263_eotS); + static final short[] DFA263_eof = DFA.unpackEncodedString(DFA263_eofS); + static final char[] DFA263_min = DFA.unpackEncodedStringToUnsignedChars(DFA263_minS); + static final char[] DFA263_max = DFA.unpackEncodedStringToUnsignedChars(DFA263_maxS); + static final short[] DFA263_accept = DFA.unpackEncodedString(DFA263_acceptS); + static final short[] DFA263_special = DFA.unpackEncodedString(DFA263_specialS); + static final short[][] DFA263_transition; static { - int numStates = DFA262_transitionS.length; - DFA262_transition = new short[numStates][]; + int numStates = DFA263_transitionS.length; + DFA263_transition = new short[numStates][]; for (int i=0; i"; + static final String[] DFA306_transitionS = { + "\1\2\1\1\26\uffff\1\3\21\uffff\1\2\26\uffff\1\1\14\uffff\1\3\11\uffff"+ + "\1\2\36\uffff\1\3\17\uffff\1\1", + "\1\3\13\uffff\1\3\1\2\1\1\10\uffff\3\3\12\uffff\2\3\2\uffff\2\3\3\uffff"+ + "\1\3\11\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff\2"+ + "\3\11\uffff\1\2\12\uffff\1\3\17\uffff\1\3\3\uffff\1\3\17\uffff\1\1", + "", + "" + }; + static final short[] DFA306_eot = DFA.unpackEncodedString(DFA306_eotS); static final short[] DFA306_eof = DFA.unpackEncodedString(DFA306_eofS); static final char[] DFA306_min = DFA.unpackEncodedStringToUnsignedChars(DFA306_minS); @@ -45909,7 +46171,7 @@ public DFA306(BaseRecognizer recognizer) { } @Override public String getDescription() { - return "919:1: selector : ( ( combinator ( ws )? )? simpleSelectorSequence ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )* |{...}? combinator );"; + return "()* loopback of 920:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*"; } public void error(NoViableAltException nvae) { dbg.recognitionException(nvae); @@ -45921,19 +46183,18 @@ public void error(NoViableAltException nvae) { static final String DFA305_eofS = "\4\uffff"; static final String DFA305_minS = - "\1\24\1\7\2\uffff"; + "\1\25\1\7\2\uffff"; static final String DFA305_maxS = - "\2\u009a\2\uffff"; + "\2\u009b\2\uffff"; static final String DFA305_acceptS = - "\2\uffff\1\2\1\1"; + "\2\uffff\1\1\1\2"; static final String DFA305_specialS = "\4\uffff}>"; static final String[] DFA305_transitionS = { - "\1\2\1\1\26\uffff\1\3\20\uffff\1\2\26\uffff\1\1\14\uffff\1\3\11\uffff"+ - "\1\2\36\uffff\1\3\17\uffff\1\1", - "\1\3\13\uffff\1\3\1\2\1\1\10\uffff\3\3\12\uffff\2\3\2\uffff\2\3\3\uffff"+ - "\1\3\10\uffff\1\2\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13\uffff\2"+ - "\3\11\uffff\1\2\12\uffff\1\3\17\uffff\1\3\3\uffff\1\3\17\uffff\1\1", + "\1\1\26\uffff\1\2\50\uffff\1\1\14\uffff\1\2\50\uffff\1\2\17\uffff\1\1", + "\1\3\13\uffff\1\3\1\uffff\1\1\10\uffff\3\3\12\uffff\1\3\1\2\2\uffff"+ + "\2\3\3\uffff\1\3\12\uffff\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13"+ + "\uffff\1\3\1\2\24\uffff\1\3\17\uffff\1\3\3\uffff\1\2\17\uffff\1\1", "", "" }; @@ -45968,65 +46229,6 @@ public DFA305(BaseRecognizer recognizer) { this.transition = DFA305_transition; } @Override - public String getDescription() { - return "()* loopback of 920:49: ( ( ( ( ws )? combinator ( ws )? ) | ws ) simpleSelectorSequence )*"; - } - public void error(NoViableAltException nvae) { - dbg.recognitionException(nvae); - } - } - - static final String DFA304_eotS = - "\4\uffff"; - static final String DFA304_eofS = - "\4\uffff"; - static final String DFA304_minS = - "\1\25\1\7\2\uffff"; - static final String DFA304_maxS = - "\2\u009a\2\uffff"; - static final String DFA304_acceptS = - "\2\uffff\1\1\1\2"; - static final String DFA304_specialS = - "\4\uffff}>"; - static final String[] DFA304_transitionS = { - "\1\1\26\uffff\1\2\47\uffff\1\1\14\uffff\1\2\50\uffff\1\2\17\uffff\1\1", - "\1\3\13\uffff\1\3\1\uffff\1\1\10\uffff\3\3\12\uffff\1\3\1\2\2\uffff"+ - "\2\3\3\uffff\1\3\11\uffff\1\3\5\uffff\1\3\7\uffff\1\3\7\uffff\1\1\13"+ - "\uffff\1\3\1\2\24\uffff\1\3\17\uffff\1\3\3\uffff\1\2\17\uffff\1\1", - "", - "" - }; - - static final short[] DFA304_eot = DFA.unpackEncodedString(DFA304_eotS); - static final short[] DFA304_eof = DFA.unpackEncodedString(DFA304_eofS); - static final char[] DFA304_min = DFA.unpackEncodedStringToUnsignedChars(DFA304_minS); - static final char[] DFA304_max = DFA.unpackEncodedStringToUnsignedChars(DFA304_maxS); - static final short[] DFA304_accept = DFA.unpackEncodedString(DFA304_acceptS); - static final short[] DFA304_special = DFA.unpackEncodedString(DFA304_specialS); - static final short[][] DFA304_transition; - - static { - int numStates = DFA304_transitionS.length; - DFA304_transition = new short[numStates][]; - for (int i=0; i"; - static final String[] DFA374_transitionS = { - "\1\67\1\12\1\24\2\uffff\5\51\3\uffff\1\52\1\2\1\55\1\1\2\uffff\1\52\5"+ - "\uffff\1\2\1\20\1\2\1\uffff\1\64\3\uffff\1\66\1\uffff\1\43\1\71\1\uffff"+ - "\1\30\1\2\2\uffff\1\10\1\17\3\uffff\1\23\1\2\1\41\6\uffff\1\2\1\21\3"+ - "\51\1\63\1\uffff\1\6\1\75\5\uffff\1\46\1\25\1\44\5\uffff\1\52\1\1\4\uffff"+ - "\1\60\3\uffff\1\42\1\62\1\77\1\2\1\15\2\uffff\1\2\1\uffff\1\65\1\72\3"+ - "\51\1\2\1\uffff\1\14\1\40\1\32\1\uffff\1\36\1\52\2\uffff\1\47\1\2\1\35"+ - "\2\52\1\uffff\1\34\1\13\1\11\1\uffff\2\52\1\33\1\32\1\37\1\2\1\56\1\2"+ - "\1\73\1\2\1\uffff\1\57\1\70\5\51\2\uffff\1\61\1\76\2\uffff\1\31\1\uffff"+ - "\1\45\1\1", + "\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\uffff\1\40\1\41\2"+ + "\uffff\1\42\1\uffff\1\43\20\uffff}>"; + static final String[] DFA375_transitionS = { + "\1\70\1\12\1\24\2\uffff\5\52\3\uffff\1\53\1\2\1\56\1\1\2\uffff\1\53\5"+ + "\uffff\1\2\1\20\1\2\1\uffff\1\65\3\uffff\1\67\1\uffff\1\43\1\72\1\uffff"+ + "\1\30\1\2\2\uffff\1\10\1\17\3\uffff\1\23\1\2\1\41\4\uffff\1\46\2\uffff"+ + "\1\2\1\21\3\52\1\64\1\uffff\1\6\1\76\5\uffff\1\47\1\25\1\44\5\uffff\1"+ + "\53\1\1\4\uffff\1\61\3\uffff\1\42\1\63\1\100\1\2\1\15\2\uffff\1\2\1\uffff"+ + "\1\66\1\73\3\52\1\2\1\uffff\1\14\1\40\1\32\1\uffff\1\36\1\53\2\uffff"+ + "\1\50\1\2\1\35\2\53\1\uffff\1\34\1\13\1\11\1\uffff\2\53\1\33\1\32\1\37"+ + "\1\2\1\57\1\2\1\74\1\2\1\uffff\1\60\1\71\5\52\2\uffff\1\62\1\77\2\uffff"+ + "\1\31\1\uffff\1\45\1\1", "\1\uffff", "", "", @@ -46355,6 +46558,7 @@ public void error(NoViableAltException nvae) { "\1\uffff", "\1\uffff", "\1\uffff", + "\1\uffff", "", "\1\uffff", "\1\uffff", @@ -46381,34 +46585,34 @@ public void error(NoViableAltException nvae) { "" }; - static final short[] DFA374_eot = DFA.unpackEncodedString(DFA374_eotS); - static final short[] DFA374_eof = DFA.unpackEncodedString(DFA374_eofS); - static final char[] DFA374_min = DFA.unpackEncodedStringToUnsignedChars(DFA374_minS); - static final char[] DFA374_max = DFA.unpackEncodedStringToUnsignedChars(DFA374_maxS); - static final short[] DFA374_accept = DFA.unpackEncodedString(DFA374_acceptS); - static final short[] DFA374_special = DFA.unpackEncodedString(DFA374_specialS); - static final short[][] DFA374_transition; + static final short[] DFA375_eot = DFA.unpackEncodedString(DFA375_eotS); + static final short[] DFA375_eof = DFA.unpackEncodedString(DFA375_eofS); + static final char[] DFA375_min = DFA.unpackEncodedStringToUnsignedChars(DFA375_minS); + static final char[] DFA375_max = DFA.unpackEncodedStringToUnsignedChars(DFA375_maxS); + static final short[] DFA375_accept = DFA.unpackEncodedString(DFA375_acceptS); + static final short[] DFA375_special = DFA.unpackEncodedString(DFA375_specialS); + static final short[][] DFA375_transition; static { - int numStates = DFA374_transitionS.length; - DFA374_transition = new short[numStates][]; + int numStates = DFA375_transitionS.length; + DFA375_transition = new short[numStates][]; for (int i=0; i= BOTTOMCENTER_SYM && LA374_0 <= BOTTOMRIGHT_SYM)||(LA374_0 >= LEFTBOTTOM_SYM && LA374_0 <= LEFTTOP_SYM)||(LA374_0 >= RIGHTBOTTOM_SYM && LA374_0 <= RIGHTTOP_SYM)||(LA374_0 >= TOPCENTER_SYM && LA374_0 <= TOPRIGHT_SYM)) ) {s = 41;} - else if ( (LA374_0==CHARSET_SYM||LA374_0==COUNTER_STYLE_SYM||LA374_0==NAMESPACE_SYM||LA374_0==SASS_ELSE||(LA374_0 >= SASS_FORWARD && LA374_0 <= SASS_FUNCTION)||(LA374_0 >= SASS_RETURN && LA374_0 <= SASS_USE)) ) {s = 42;} - else if ( (LA374_0==COMMA) ) {s = 45;} - else if ( (LA374_0==SOLIDUS) && (synpred55_Css3())) {s = 46;} - else if ( (LA374_0==TILDE) ) {s = 47;} - else if ( (LA374_0==NUMBER) && (synpred55_Css3())) {s = 48;} - else if ( (LA374_0==URANGE) && (synpred55_Css3())) {s = 49;} - else if ( (LA374_0==PERCENTAGE) && (synpred55_Css3())) {s = 50;} - else if ( (LA374_0==LENGTH) && (synpred55_Css3())) {s = 51;} - else if ( (LA374_0==EMS) && (synpred55_Css3())) {s = 52;} - else if ( (LA374_0==REM) && (synpred55_Css3())) {s = 53;} - else if ( (LA374_0==EXS) && (synpred55_Css3())) {s = 54;} - else if ( (LA374_0==ANGLE) && (synpred55_Css3())) {s = 55;} - else if ( (LA374_0==TIME) && (synpred55_Css3())) {s = 56;} - else if ( (LA374_0==FREQ) && (synpred55_Css3())) {s = 57;} - else if ( (LA374_0==RESOLUTION) && (synpred55_Css3())) {s = 58;} - else if ( (LA374_0==STRING) && (synpred55_Css3())) {s = 59;} - else if ( (LA374_0==LESS_JS_STRING) && (synpred55_Css3())) {s = 61;} - else if ( (LA374_0==URI) && (synpred55_Css3())) {s = 62;} - else if ( (LA374_0==PERCENTAGE_SYMBOL) && (synpred55_Css3())) {s = 63;} + if ( (LA375_0==COMMENT||LA375_0==NL||LA375_0==WS) ) {s = 1;} + else if ( (LA375_0==EOF||LA375_0==COLON||LA375_0==DCOLON||LA375_0==DOT||LA375_0==GREATER||LA375_0==IMPORTANT_SYM||LA375_0==LBRACE||LA375_0==PIPE||LA375_0==RBRACE||LA375_0==RPAREN||LA375_0==SASS_EXTEND_ONLY_SELECTOR||LA375_0==SEMI||LA375_0==STAR||LA375_0==SUPPORTS_SYM) ) {s = 2;} + else if ( (LA375_0==LESS_AND) ) {s = 6;} + else if ( (LA375_0==HASH) ) {s = 8;} + else if ( (LA375_0==SASS_MIXIN) ) {s = 9;} + else if ( (LA375_0==AT_IDENT) ) {s = 10;} + else if ( (LA375_0==SASS_INCLUDE) ) {s = 11;} + else if ( (LA375_0==SASS_AT_ROOT) ) {s = 12;} + else if ( (LA375_0==PLUS) ) {s = 13;} + else if ( (LA375_0==HASH_SYMBOL) ) {s = 15;} + else if ( (LA375_0==DIMENSION) ) {s = 16;} + else if ( (LA375_0==LBRACKET) ) {s = 17;} + else if ( (LA375_0==IDENT) ) {s = 19;} + else if ( (LA375_0==AT_SIGN) ) {s = 20;} + else if ( (LA375_0==MINUS) ) {s = 21;} + else if ( (LA375_0==GEN) ) {s = 24;} + else if ( (LA375_0==VARIABLE) ) {s = 25;} + else if ( (LA375_0==SASS_DEBUG||LA375_0==SASS_WARN) ) {s = 26;} + else if ( (LA375_0==SASS_VAR) ) {s = 27;} + else if ( (LA375_0==SASS_IF) ) {s = 28;} + else if ( (LA375_0==SASS_FOR) ) {s = 29;} + else if ( (LA375_0==SASS_EACH) ) {s = 30;} + else if ( (LA375_0==SASS_WHILE) ) {s = 31;} + else if ( (LA375_0==SASS_CONTENT) ) {s = 32;} + else if ( (LA375_0==IMPORT_SYM) ) {s = 33;} + else if ( (LA375_0==PAGE_SYM) ) {s = 34;} + else if ( (LA375_0==FONT_FACE_SYM) ) {s = 35;} + else if ( (LA375_0==MOZ_DOCUMENT_SYM) ) {s = 36;} + else if ( (LA375_0==WEBKIT_KEYFRAMES_SYM) ) {s = 37;} + else if ( (LA375_0==KEYFRAMES_SYM) ) {s = 38;} + else if ( (LA375_0==MEDIA_SYM) ) {s = 39;} + else if ( (LA375_0==SASS_EXTEND) ) {s = 40;} + else if ( ((LA375_0 >= BOTTOMCENTER_SYM && LA375_0 <= BOTTOMRIGHT_SYM)||(LA375_0 >= LEFTBOTTOM_SYM && LA375_0 <= LEFTTOP_SYM)||(LA375_0 >= RIGHTBOTTOM_SYM && LA375_0 <= RIGHTTOP_SYM)||(LA375_0 >= TOPCENTER_SYM && LA375_0 <= TOPRIGHT_SYM)) ) {s = 42;} + else if ( (LA375_0==CHARSET_SYM||LA375_0==COUNTER_STYLE_SYM||LA375_0==NAMESPACE_SYM||LA375_0==SASS_ELSE||(LA375_0 >= SASS_FORWARD && LA375_0 <= SASS_FUNCTION)||(LA375_0 >= SASS_RETURN && LA375_0 <= SASS_USE)) ) {s = 43;} + else if ( (LA375_0==COMMA) ) {s = 46;} + else if ( (LA375_0==SOLIDUS) && (synpred55_Css3())) {s = 47;} + else if ( (LA375_0==TILDE) ) {s = 48;} + else if ( (LA375_0==NUMBER) && (synpred55_Css3())) {s = 49;} + else if ( (LA375_0==URANGE) && (synpred55_Css3())) {s = 50;} + else if ( (LA375_0==PERCENTAGE) && (synpred55_Css3())) {s = 51;} + else if ( (LA375_0==LENGTH) && (synpred55_Css3())) {s = 52;} + else if ( (LA375_0==EMS) && (synpred55_Css3())) {s = 53;} + else if ( (LA375_0==REM) && (synpred55_Css3())) {s = 54;} + else if ( (LA375_0==EXS) && (synpred55_Css3())) {s = 55;} + else if ( (LA375_0==ANGLE) && (synpred55_Css3())) {s = 56;} + else if ( (LA375_0==TIME) && (synpred55_Css3())) {s = 57;} + else if ( (LA375_0==FREQ) && (synpred55_Css3())) {s = 58;} + else if ( (LA375_0==RESOLUTION) && (synpred55_Css3())) {s = 59;} + else if ( (LA375_0==STRING) && (synpred55_Css3())) {s = 60;} + else if ( (LA375_0==LESS_JS_STRING) && (synpred55_Css3())) {s = 62;} + else if ( (LA375_0==URI) && (synpred55_Css3())) {s = 63;} + else if ( (LA375_0==PERCENTAGE_SYMBOL) && (synpred55_Css3())) {s = 64;} - input.seek(index374_0); + input.seek(index375_0); if ( s>=0 ) return s; break; case 1 : - int LA374_1 = input.LA(1); + int LA375_1 = input.LA(1); - int index374_1 = input.index(); + int index375_1 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_1); + input.seek(index375_1); if ( s>=0 ) return s; break; case 2 : - int LA374_6 = input.LA(1); + int LA375_6 = input.LA(1); - int index374_6 = input.index(); + int index375_6 = input.index(); input.rewind(); s = -1; - if ( ((synpred55_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 63;} + if ( ((synpred55_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_6); + input.seek(index375_6); if ( s>=0 ) return s; break; case 3 : - int LA374_8 = input.LA(1); + int LA375_8 = input.LA(1); - int index374_8 = input.index(); + int index375_8 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_8); + input.seek(index375_8); if ( s>=0 ) return s; break; case 4 : - int LA374_9 = input.LA(1); + int LA375_9 = input.LA(1); - int index374_9 = input.index(); + int index375_9 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_9); + input.seek(index375_9); if ( s>=0 ) return s; break; case 5 : - int LA374_10 = input.LA(1); + int LA375_10 = input.LA(1); - int index374_10 = input.index(); + int index375_10 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_10); + input.seek(index375_10); if ( s>=0 ) return s; break; case 6 : - int LA374_11 = input.LA(1); + int LA375_11 = input.LA(1); - int index374_11 = input.index(); + int index375_11 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_11); + input.seek(index375_11); if ( s>=0 ) return s; break; case 7 : - int LA374_12 = input.LA(1); + int LA375_12 = input.LA(1); - int index374_12 = input.index(); + int index375_12 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_12); + input.seek(index375_12); if ( s>=0 ) return s; break; case 8 : - int LA374_13 = input.LA(1); + int LA375_13 = input.LA(1); - int index374_13 = input.index(); + int index375_13 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_13); + input.seek(index375_13); if ( s>=0 ) return s; break; case 9 : - int LA374_15 = input.LA(1); + int LA375_15 = input.LA(1); - int index374_15 = input.index(); + int index375_15 = input.index(); input.rewind(); s = -1; - if ( ((synpred55_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 63;} + if ( ((synpred55_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_15); + input.seek(index375_15); if ( s>=0 ) return s; break; case 10 : - int LA374_16 = input.LA(1); + int LA375_16 = input.LA(1); - int index374_16 = input.index(); + int index375_16 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (evalPredicate(tokenNameStartsWith("."),"tokenNameStartsWith(\".\")")) ) {s = 2;} - input.seek(index374_16); + input.seek(index375_16); if ( s>=0 ) return s; break; case 11 : - int LA374_17 = input.LA(1); + int LA375_17 = input.LA(1); - int index374_17 = input.index(); + int index375_17 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_17); + input.seek(index375_17); if ( s>=0 ) return s; break; case 12 : - int LA374_19 = input.LA(1); + int LA375_19 = input.LA(1); - int index374_19 = input.index(); + int index375_19 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_19); + input.seek(index375_19); if ( s>=0 ) return s; break; case 13 : - int LA374_20 = input.LA(1); + int LA375_20 = input.LA(1); - int index374_20 = input.index(); + int index375_20 = input.index(); input.rewind(); s = -1; - if ( ((synpred55_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( ((synpred55_Css3()&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_20); + input.seek(index375_20); if ( s>=0 ) return s; break; case 14 : - int LA374_21 = input.LA(1); + int LA375_21 = input.LA(1); - int index374_21 = input.index(); + int index375_21 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_21); + input.seek(index375_21); if ( s>=0 ) return s; break; case 15 : - int LA374_24 = input.LA(1); + int LA375_24 = input.LA(1); - int index374_24 = input.index(); + int index375_24 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_24); + input.seek(index375_24); if ( s>=0 ) return s; break; case 16 : - int LA374_25 = input.LA(1); + int LA375_25 = input.LA(1); - int index374_25 = input.index(); + int index375_25 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_25); + input.seek(index375_25); if ( s>=0 ) return s; break; case 17 : - int LA374_26 = input.LA(1); + int LA375_26 = input.LA(1); - int index374_26 = input.index(); + int index375_26 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_26); + input.seek(index375_26); if ( s>=0 ) return s; break; case 18 : - int LA374_27 = input.LA(1); + int LA375_27 = input.LA(1); - int index374_27 = input.index(); + int index375_27 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_27); + input.seek(index375_27); if ( s>=0 ) return s; break; case 19 : - int LA374_28 = input.LA(1); + int LA375_28 = input.LA(1); - int index374_28 = input.index(); + int index375_28 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_28); + input.seek(index375_28); if ( s>=0 ) return s; break; case 20 : - int LA374_29 = input.LA(1); + int LA375_29 = input.LA(1); - int index374_29 = input.index(); + int index375_29 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_29); + input.seek(index375_29); if ( s>=0 ) return s; break; case 21 : - int LA374_30 = input.LA(1); + int LA375_30 = input.LA(1); - int index374_30 = input.index(); + int index375_30 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_30); + input.seek(index375_30); if ( s>=0 ) return s; break; case 22 : - int LA374_31 = input.LA(1); + int LA375_31 = input.LA(1); - int index374_31 = input.index(); + int index375_31 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_31); + input.seek(index375_31); if ( s>=0 ) return s; break; case 23 : - int LA374_32 = input.LA(1); + int LA375_32 = input.LA(1); - int index374_32 = input.index(); + int index375_32 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_32); + input.seek(index375_32); if ( s>=0 ) return s; break; case 24 : - int LA374_33 = input.LA(1); + int LA375_33 = input.LA(1); - int index374_33 = input.index(); + int index375_33 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_33); + input.seek(index375_33); if ( s>=0 ) return s; break; case 25 : - int LA374_34 = input.LA(1); + int LA375_34 = input.LA(1); - int index374_34 = input.index(); + int index375_34 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_34); + input.seek(index375_34); if ( s>=0 ) return s; break; case 26 : - int LA374_35 = input.LA(1); + int LA375_35 = input.LA(1); - int index374_35 = input.index(); + int index375_35 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_35); + input.seek(index375_35); if ( s>=0 ) return s; break; case 27 : - int LA374_36 = input.LA(1); + int LA375_36 = input.LA(1); - int index374_36 = input.index(); + int index375_36 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_36); + input.seek(index375_36); if ( s>=0 ) return s; break; case 28 : - int LA374_37 = input.LA(1); + int LA375_37 = input.LA(1); - int index374_37 = input.index(); + int index375_37 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_37); + input.seek(index375_37); if ( s>=0 ) return s; break; case 29 : - int LA374_38 = input.LA(1); + int LA375_38 = input.LA(1); - int index374_38 = input.index(); + int index375_38 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_38); + input.seek(index375_38); if ( s>=0 ) return s; break; case 30 : - int LA374_39 = input.LA(1); + int LA375_39 = input.LA(1); - int index374_39 = input.index(); + int index375_39 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_39); + input.seek(index375_39); if ( s>=0 ) return s; break; case 31 : - int LA374_41 = input.LA(1); + int LA375_40 = input.LA(1); - int index374_41 = input.index(); + int index375_40 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_41); + input.seek(index375_40); if ( s>=0 ) return s; break; case 32 : - int LA374_42 = input.LA(1); + int LA375_42 = input.LA(1); - int index374_42 = input.index(); + int index375_42 = input.index(); input.rewind(); s = -1; - if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_42); + input.seek(index375_42); if ( s>=0 ) return s; break; case 33 : - int LA374_45 = input.LA(1); + int LA375_43 = input.LA(1); - int index374_45 = input.index(); + int index375_43 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (((synpred55_Css3()&&evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()"))&&evalPredicate(isLessSource(),"isLessSource()"))) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_45); + input.seek(index375_43); if ( s>=0 ) return s; break; case 34 : - int LA374_47 = input.LA(1); + int LA375_46 = input.LA(1); - int index374_47 = input.index(); + int index375_46 = input.index(); input.rewind(); s = -1; - if ( (synpred55_Css3()) ) {s = 63;} + if ( (synpred55_Css3()) ) {s = 64;} else if ( (true) ) {s = 2;} - input.seek(index374_47); + input.seek(index375_46); + if ( s>=0 ) return s; + break; + case 35 : + int LA375_48 = input.LA(1); + + int index375_48 = input.index(); + input.rewind(); + s = -1; + if ( (synpred55_Css3()) ) {s = 64;} + else if ( (true) ) {s = 2;} + + input.seek(index375_48); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 374, _s, input); + new NoViableAltException(getDescription(), 375, _s, input); error(nvae); throw nvae; } } - static final String DFA373_eotS = + static final String DFA374_eotS = "\5\uffff"; - static final String DFA373_eofS = + static final String DFA374_eofS = "\5\uffff"; - static final String DFA373_minS = + static final String DFA374_minS = "\2\5\3\uffff"; - static final String DFA373_maxS = - "\2\u009a\3\uffff"; - static final String DFA373_acceptS = + static final String DFA374_maxS = + "\2\u009b\3\uffff"; + static final String DFA374_acceptS = "\2\uffff\1\2\1\3\1\1"; - static final String DFA373_specialS = + static final String DFA374_specialS = "\5\uffff}>"; - static final String[] DFA373_transitionS = { + static final String[] DFA374_transitionS = { "\3\3\2\uffff\5\3\3\uffff\1\3\1\uffff\1\2\1\1\2\uffff\1\3\6\uffff\1\3"+ "\2\uffff\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff"+ - "\1\3\1\uffff\1\3\7\uffff\5\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1"+ - "\4\uffff\1\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff"+ - "\2\3\2\uffff\1\3\1\uffff\3\3\1\uffff\3\3\1\uffff\5\3\1\uffff\1\2\1\uffff"+ - "\1\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1", + "\1\3\1\uffff\1\3\4\uffff\1\3\3\uffff\5\3\1\uffff\2\3\5\uffff\3\3\5\uffff"+ + "\1\3\1\1\4\uffff\1\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3"+ + "\1\uffff\2\3\2\uffff\1\3\1\uffff\3\3\1\uffff\3\3\1\uffff\5\3\1\uffff"+ + "\1\2\1\uffff\1\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1", "\3\4\2\uffff\5\4\3\uffff\1\4\1\uffff\1\2\1\1\2\uffff\1\4\6\uffff\1\4"+ "\2\uffff\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\3\uffff"+ - "\1\4\1\uffff\1\4\7\uffff\5\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1"+ - "\4\uffff\1\4\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff"+ - "\2\4\2\uffff\1\4\1\uffff\3\4\1\uffff\3\4\1\uffff\5\4\1\uffff\1\2\1\uffff"+ - "\1\4\2\uffff\7\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\1\1", + "\1\4\1\uffff\1\4\4\uffff\1\4\3\uffff\5\4\1\uffff\2\4\5\uffff\3\4\5\uffff"+ + "\1\4\1\1\4\uffff\1\4\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4"+ + "\1\uffff\2\4\2\uffff\1\4\1\uffff\3\4\1\uffff\3\4\1\uffff\5\4\1\uffff"+ + "\1\2\1\uffff\1\4\2\uffff\7\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\1\1", "", "", "" }; - static final short[] DFA373_eot = DFA.unpackEncodedString(DFA373_eotS); - static final short[] DFA373_eof = DFA.unpackEncodedString(DFA373_eofS); - static final char[] DFA373_min = DFA.unpackEncodedStringToUnsignedChars(DFA373_minS); - static final char[] DFA373_max = DFA.unpackEncodedStringToUnsignedChars(DFA373_maxS); - static final short[] DFA373_accept = DFA.unpackEncodedString(DFA373_acceptS); - static final short[] DFA373_special = DFA.unpackEncodedString(DFA373_specialS); - static final short[][] DFA373_transition; + static final short[] DFA374_eot = DFA.unpackEncodedString(DFA374_eotS); + static final short[] DFA374_eof = DFA.unpackEncodedString(DFA374_eofS); + static final char[] DFA374_min = DFA.unpackEncodedStringToUnsignedChars(DFA374_minS); + static final char[] DFA374_max = DFA.unpackEncodedStringToUnsignedChars(DFA374_maxS); + static final short[] DFA374_accept = DFA.unpackEncodedString(DFA374_acceptS); + static final short[] DFA374_special = DFA.unpackEncodedString(DFA374_specialS); + static final short[][] DFA374_transition; static { - int numStates = DFA373_transitionS.length; - DFA373_transition = new short[numStates][]; + int numStates = DFA374_transitionS.length; + DFA374_transition = new short[numStates][]; for (int i=0; i= BOTTOMCENTER_SYM && LA398_1 <= BOTTOMRIGHT_SYM)||LA398_1==CHARSET_SYM||LA398_1==COUNTER_STYLE_SYM||LA398_1==FONT_FACE_SYM||LA398_1==IMPORT_SYM||(LA398_1 >= LEFTBOTTOM_SYM && LA398_1 <= LEFTTOP_SYM)||LA398_1==MEDIA_SYM||LA398_1==MOZ_DOCUMENT_SYM||LA398_1==NAMESPACE_SYM||LA398_1==PAGE_SYM||(LA398_1 >= RIGHTBOTTOM_SYM && LA398_1 <= RIGHTTOP_SYM)||(LA398_1 >= SASS_AT_ROOT && LA398_1 <= SASS_DEBUG)||(LA398_1 >= SASS_EACH && LA398_1 <= SASS_ELSE)||LA398_1==SASS_EXTEND||(LA398_1 >= SASS_FOR && LA398_1 <= SASS_FUNCTION)||(LA398_1 >= SASS_IF && LA398_1 <= SASS_MIXIN)||(LA398_1 >= SASS_RETURN && LA398_1 <= SASS_USE)||(LA398_1 >= SASS_WARN && LA398_1 <= SASS_WHILE)||(LA398_1 >= TOPCENTER_SYM && LA398_1 <= TOPRIGHT_SYM)||LA398_1==WEBKIT_KEYFRAMES_SYM) && (synpred59_Css3())) {s = 33;} - else if ( (LA398_1==SASS_VAR) && (synpred59_Css3())) {s = 34;} - else if ( (LA398_1==LESS_AND) && (synpred59_Css3())) {s = 35;} - else if ( (LA398_1==HASH_SYMBOL) && (synpred59_Css3())) {s = 36;} - else if ( (LA398_1==AT_SIGN) && (synpred59_Css3())) {s = 37;} - else if ( (LA398_1==PERCENTAGE_SYMBOL) && (synpred59_Css3())) {s = 38;} - else if ( (LA398_1==SOLIDUS) && (synpred59_Css3())) {s = 3;} + if ( (LA399_1==COMMA||LA399_1==RPAREN||LA399_1==SEMI) ) {s = 2;} + else if ( (LA399_1==COMMENT||LA399_1==NL||LA399_1==WS) ) {s = 1;} + else if ( (LA399_1==MINUS||LA399_1==PLUS) && (synpred59_Css3())) {s = 4;} + else if ( (LA399_1==IDENT) && (synpred59_Css3())) {s = 32;} + else if ( (LA399_1==VARIABLE) && (synpred59_Css3())) {s = 6;} + else if ( (LA399_1==LBRACKET) && (synpred59_Css3())) {s = 7;} + else if ( (LA399_1==NUMBER) && (synpred59_Css3())) {s = 8;} + else if ( (LA399_1==URANGE) && (synpred59_Css3())) {s = 9;} + else if ( (LA399_1==PERCENTAGE) && (synpred59_Css3())) {s = 10;} + else if ( (LA399_1==LENGTH) && (synpred59_Css3())) {s = 11;} + else if ( (LA399_1==EMS) && (synpred59_Css3())) {s = 12;} + else if ( (LA399_1==REM) && (synpred59_Css3())) {s = 13;} + else if ( (LA399_1==EXS) && (synpred59_Css3())) {s = 14;} + else if ( (LA399_1==ANGLE) && (synpred59_Css3())) {s = 15;} + else if ( (LA399_1==TIME) && (synpred59_Css3())) {s = 16;} + else if ( (LA399_1==FREQ) && (synpred59_Css3())) {s = 17;} + else if ( (LA399_1==RESOLUTION) && (synpred59_Css3())) {s = 18;} + else if ( (LA399_1==DIMENSION) && (synpred59_Css3())) {s = 19;} + else if ( (LA399_1==STRING) && (synpred59_Css3())) {s = 20;} + else if ( (LA399_1==TILDE) && (synpred59_Css3())) {s = 21;} + else if ( (LA399_1==LESS_JS_STRING) && (synpred59_Css3())) {s = 22;} + else if ( (LA399_1==GEN) && (synpred59_Css3())) {s = 23;} + else if ( (LA399_1==URI) && (synpred59_Css3())) {s = 24;} + else if ( (LA399_1==HASH) && (synpred59_Css3())) {s = 25;} + else if ( (LA399_1==AT_IDENT||(LA399_1 >= BOTTOMCENTER_SYM && LA399_1 <= BOTTOMRIGHT_SYM)||LA399_1==CHARSET_SYM||LA399_1==COUNTER_STYLE_SYM||LA399_1==FONT_FACE_SYM||LA399_1==IMPORT_SYM||LA399_1==KEYFRAMES_SYM||(LA399_1 >= LEFTBOTTOM_SYM && LA399_1 <= LEFTTOP_SYM)||LA399_1==MEDIA_SYM||LA399_1==MOZ_DOCUMENT_SYM||LA399_1==NAMESPACE_SYM||LA399_1==PAGE_SYM||(LA399_1 >= RIGHTBOTTOM_SYM && LA399_1 <= RIGHTTOP_SYM)||(LA399_1 >= SASS_AT_ROOT && LA399_1 <= SASS_DEBUG)||(LA399_1 >= SASS_EACH && LA399_1 <= SASS_ELSE)||LA399_1==SASS_EXTEND||(LA399_1 >= SASS_FOR && LA399_1 <= SASS_FUNCTION)||(LA399_1 >= SASS_IF && LA399_1 <= SASS_MIXIN)||(LA399_1 >= SASS_RETURN && LA399_1 <= SASS_USE)||(LA399_1 >= SASS_WARN && LA399_1 <= SASS_WHILE)||(LA399_1 >= TOPCENTER_SYM && LA399_1 <= TOPRIGHT_SYM)||LA399_1==WEBKIT_KEYFRAMES_SYM) && (synpred59_Css3())) {s = 33;} + else if ( (LA399_1==SASS_VAR) && (synpred59_Css3())) {s = 34;} + else if ( (LA399_1==LESS_AND) && (synpred59_Css3())) {s = 35;} + else if ( (LA399_1==HASH_SYMBOL) && (synpred59_Css3())) {s = 36;} + else if ( (LA399_1==AT_SIGN) && (synpred59_Css3())) {s = 37;} + else if ( (LA399_1==PERCENTAGE_SYMBOL) && (synpred59_Css3())) {s = 38;} + else if ( (LA399_1==SOLIDUS) && (synpred59_Css3())) {s = 3;} - input.seek(index398_1); + input.seek(index399_1); if ( s>=0 ) return s; break; case 1 : - int LA398_0 = input.LA(1); + int LA399_0 = input.LA(1); - int index398_0 = input.index(); + int index399_0 = input.index(); input.rewind(); s = -1; - if ( (LA398_0==COMMENT||LA398_0==NL||LA398_0==WS) ) {s = 1;} - else if ( (LA398_0==COMMA||LA398_0==RPAREN||LA398_0==SEMI) ) {s = 2;} - else if ( (LA398_0==SOLIDUS) && (synpred59_Css3())) {s = 3;} - else if ( (LA398_0==MINUS||LA398_0==PLUS) && (synpred59_Css3())) {s = 4;} - else if ( (LA398_0==IDENT) && (synpred59_Css3())) {s = 5;} - else if ( (LA398_0==VARIABLE) && (synpred59_Css3())) {s = 6;} - else if ( (LA398_0==LBRACKET) && (synpred59_Css3())) {s = 7;} - else if ( (LA398_0==NUMBER) && (synpred59_Css3())) {s = 8;} - else if ( (LA398_0==URANGE) && (synpred59_Css3())) {s = 9;} - else if ( (LA398_0==PERCENTAGE) && (synpred59_Css3())) {s = 10;} - else if ( (LA398_0==LENGTH) && (synpred59_Css3())) {s = 11;} - else if ( (LA398_0==EMS) && (synpred59_Css3())) {s = 12;} - else if ( (LA398_0==REM) && (synpred59_Css3())) {s = 13;} - else if ( (LA398_0==EXS) && (synpred59_Css3())) {s = 14;} - else if ( (LA398_0==ANGLE) && (synpred59_Css3())) {s = 15;} - else if ( (LA398_0==TIME) && (synpred59_Css3())) {s = 16;} - else if ( (LA398_0==FREQ) && (synpred59_Css3())) {s = 17;} - else if ( (LA398_0==RESOLUTION) && (synpred59_Css3())) {s = 18;} - else if ( (LA398_0==DIMENSION) && (synpred59_Css3())) {s = 19;} - else if ( (LA398_0==STRING) && (synpred59_Css3())) {s = 20;} - else if ( (LA398_0==TILDE) && (synpred59_Css3())) {s = 21;} - else if ( (LA398_0==LESS_JS_STRING) && (synpred59_Css3())) {s = 22;} - else if ( (LA398_0==GEN) && (synpred59_Css3())) {s = 23;} - else if ( (LA398_0==URI) && (synpred59_Css3())) {s = 24;} - else if ( (LA398_0==HASH) && (synpred59_Css3())) {s = 25;} - else if ( (LA398_0==AT_IDENT||(LA398_0 >= BOTTOMCENTER_SYM && LA398_0 <= BOTTOMRIGHT_SYM)||LA398_0==CHARSET_SYM||LA398_0==COUNTER_STYLE_SYM||LA398_0==FONT_FACE_SYM||LA398_0==IMPORT_SYM||(LA398_0 >= LEFTBOTTOM_SYM && LA398_0 <= LEFTTOP_SYM)||LA398_0==MEDIA_SYM||LA398_0==MOZ_DOCUMENT_SYM||LA398_0==NAMESPACE_SYM||LA398_0==PAGE_SYM||(LA398_0 >= RIGHTBOTTOM_SYM && LA398_0 <= RIGHTTOP_SYM)||(LA398_0 >= SASS_AT_ROOT && LA398_0 <= SASS_DEBUG)||(LA398_0 >= SASS_EACH && LA398_0 <= SASS_ELSE)||LA398_0==SASS_EXTEND||(LA398_0 >= SASS_FOR && LA398_0 <= SASS_FUNCTION)||(LA398_0 >= SASS_IF && LA398_0 <= SASS_MIXIN)||(LA398_0 >= SASS_RETURN && LA398_0 <= SASS_USE)||(LA398_0 >= SASS_WARN && LA398_0 <= SASS_WHILE)||(LA398_0 >= TOPCENTER_SYM && LA398_0 <= TOPRIGHT_SYM)||LA398_0==WEBKIT_KEYFRAMES_SYM) && (synpred59_Css3())) {s = 26;} - else if ( (LA398_0==SASS_VAR) && (synpred59_Css3())) {s = 27;} - else if ( (LA398_0==LESS_AND) && (synpred59_Css3())) {s = 28;} - else if ( (LA398_0==HASH_SYMBOL) && (synpred59_Css3())) {s = 29;} - else if ( (LA398_0==AT_SIGN) && (synpred59_Css3())) {s = 30;} - else if ( (LA398_0==PERCENTAGE_SYMBOL) && (synpred59_Css3())) {s = 31;} + if ( (LA399_0==COMMENT||LA399_0==NL||LA399_0==WS) ) {s = 1;} + else if ( (LA399_0==COMMA||LA399_0==RPAREN||LA399_0==SEMI) ) {s = 2;} + else if ( (LA399_0==SOLIDUS) && (synpred59_Css3())) {s = 3;} + else if ( (LA399_0==MINUS||LA399_0==PLUS) && (synpred59_Css3())) {s = 4;} + else if ( (LA399_0==IDENT) && (synpred59_Css3())) {s = 5;} + else if ( (LA399_0==VARIABLE) && (synpred59_Css3())) {s = 6;} + else if ( (LA399_0==LBRACKET) && (synpred59_Css3())) {s = 7;} + else if ( (LA399_0==NUMBER) && (synpred59_Css3())) {s = 8;} + else if ( (LA399_0==URANGE) && (synpred59_Css3())) {s = 9;} + else if ( (LA399_0==PERCENTAGE) && (synpred59_Css3())) {s = 10;} + else if ( (LA399_0==LENGTH) && (synpred59_Css3())) {s = 11;} + else if ( (LA399_0==EMS) && (synpred59_Css3())) {s = 12;} + else if ( (LA399_0==REM) && (synpred59_Css3())) {s = 13;} + else if ( (LA399_0==EXS) && (synpred59_Css3())) {s = 14;} + else if ( (LA399_0==ANGLE) && (synpred59_Css3())) {s = 15;} + else if ( (LA399_0==TIME) && (synpred59_Css3())) {s = 16;} + else if ( (LA399_0==FREQ) && (synpred59_Css3())) {s = 17;} + else if ( (LA399_0==RESOLUTION) && (synpred59_Css3())) {s = 18;} + else if ( (LA399_0==DIMENSION) && (synpred59_Css3())) {s = 19;} + else if ( (LA399_0==STRING) && (synpred59_Css3())) {s = 20;} + else if ( (LA399_0==TILDE) && (synpred59_Css3())) {s = 21;} + else if ( (LA399_0==LESS_JS_STRING) && (synpred59_Css3())) {s = 22;} + else if ( (LA399_0==GEN) && (synpred59_Css3())) {s = 23;} + else if ( (LA399_0==URI) && (synpred59_Css3())) {s = 24;} + else if ( (LA399_0==HASH) && (synpred59_Css3())) {s = 25;} + else if ( (LA399_0==AT_IDENT||(LA399_0 >= BOTTOMCENTER_SYM && LA399_0 <= BOTTOMRIGHT_SYM)||LA399_0==CHARSET_SYM||LA399_0==COUNTER_STYLE_SYM||LA399_0==FONT_FACE_SYM||LA399_0==IMPORT_SYM||LA399_0==KEYFRAMES_SYM||(LA399_0 >= LEFTBOTTOM_SYM && LA399_0 <= LEFTTOP_SYM)||LA399_0==MEDIA_SYM||LA399_0==MOZ_DOCUMENT_SYM||LA399_0==NAMESPACE_SYM||LA399_0==PAGE_SYM||(LA399_0 >= RIGHTBOTTOM_SYM && LA399_0 <= RIGHTTOP_SYM)||(LA399_0 >= SASS_AT_ROOT && LA399_0 <= SASS_DEBUG)||(LA399_0 >= SASS_EACH && LA399_0 <= SASS_ELSE)||LA399_0==SASS_EXTEND||(LA399_0 >= SASS_FOR && LA399_0 <= SASS_FUNCTION)||(LA399_0 >= SASS_IF && LA399_0 <= SASS_MIXIN)||(LA399_0 >= SASS_RETURN && LA399_0 <= SASS_USE)||(LA399_0 >= SASS_WARN && LA399_0 <= SASS_WHILE)||(LA399_0 >= TOPCENTER_SYM && LA399_0 <= TOPRIGHT_SYM)||LA399_0==WEBKIT_KEYFRAMES_SYM) && (synpred59_Css3())) {s = 26;} + else if ( (LA399_0==SASS_VAR) && (synpred59_Css3())) {s = 27;} + else if ( (LA399_0==LESS_AND) && (synpred59_Css3())) {s = 28;} + else if ( (LA399_0==HASH_SYMBOL) && (synpred59_Css3())) {s = 29;} + else if ( (LA399_0==AT_SIGN) && (synpred59_Css3())) {s = 30;} + else if ( (LA399_0==PERCENTAGE_SYMBOL) && (synpred59_Css3())) {s = 31;} - input.seek(index398_0); + input.seek(index399_0); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 398, _s, input); + new NoViableAltException(getDescription(), 399, _s, input); error(nvae); throw nvae; } } - static final String DFA397_eotS = + static final String DFA398_eotS = "\5\uffff"; - static final String DFA397_eofS = + static final String DFA398_eofS = "\5\uffff"; - static final String DFA397_minS = + static final String DFA398_minS = "\2\5\3\uffff"; - static final String DFA397_maxS = - "\2\u009a\3\uffff"; - static final String DFA397_acceptS = + static final String DFA398_maxS = + "\2\u009b\3\uffff"; + static final String DFA398_acceptS = "\2\uffff\1\2\1\3\1\1"; - static final String DFA397_specialS = + static final String DFA398_specialS = "\5\uffff}>"; - static final String[] DFA397_transitionS = { + static final String[] DFA398_transitionS = { "\3\3\2\uffff\5\3\3\uffff\1\3\2\uffff\1\1\2\uffff\1\3\6\uffff\1\3\2\uffff"+ "\1\3\3\uffff\1\3\1\uffff\2\3\1\uffff\1\3\3\uffff\2\3\3\uffff\1\3\1\uffff"+ - "\1\3\7\uffff\5\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1\4\uffff\1\3"+ - "\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff\2\3\2\uffff"+ - "\1\3\1\uffff\3\3\1\uffff\3\3\1\uffff\5\3\1\uffff\1\2\1\uffff\1\3\2\uffff"+ - "\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1", + "\1\3\4\uffff\1\3\3\uffff\5\3\1\uffff\2\3\5\uffff\3\3\5\uffff\1\3\1\1"+ + "\4\uffff\1\3\3\uffff\3\3\1\uffff\1\3\4\uffff\5\3\2\uffff\3\3\1\uffff"+ + "\2\3\2\uffff\1\3\1\uffff\3\3\1\uffff\3\3\1\uffff\5\3\1\uffff\1\2\1\uffff"+ + "\1\3\2\uffff\7\3\2\uffff\2\3\2\uffff\1\3\1\uffff\1\3\1\1", "\3\4\2\uffff\5\4\3\uffff\1\4\2\uffff\1\1\2\uffff\1\4\6\uffff\1\4\2\uffff"+ "\1\4\3\uffff\1\4\1\uffff\2\4\1\uffff\1\4\3\uffff\2\4\3\uffff\1\4\1\uffff"+ - "\1\4\7\uffff\5\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1\4\uffff\1\4"+ - "\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff\2\4\2\uffff"+ - "\1\4\1\uffff\3\4\1\uffff\3\4\1\uffff\5\4\1\uffff\1\2\1\uffff\1\4\2\uffff"+ - "\7\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\1\1", + "\1\4\4\uffff\1\4\3\uffff\5\4\1\uffff\2\4\5\uffff\3\4\5\uffff\1\4\1\1"+ + "\4\uffff\1\4\3\uffff\3\4\1\uffff\1\4\4\uffff\5\4\2\uffff\3\4\1\uffff"+ + "\2\4\2\uffff\1\4\1\uffff\3\4\1\uffff\3\4\1\uffff\5\4\1\uffff\1\2\1\uffff"+ + "\1\4\2\uffff\7\4\2\uffff\2\4\2\uffff\1\4\1\uffff\1\4\1\1", "", "", "" }; - static final short[] DFA397_eot = DFA.unpackEncodedString(DFA397_eotS); - static final short[] DFA397_eof = DFA.unpackEncodedString(DFA397_eofS); - static final char[] DFA397_min = DFA.unpackEncodedStringToUnsignedChars(DFA397_minS); - static final char[] DFA397_max = DFA.unpackEncodedStringToUnsignedChars(DFA397_maxS); - static final short[] DFA397_accept = DFA.unpackEncodedString(DFA397_acceptS); - static final short[] DFA397_special = DFA.unpackEncodedString(DFA397_specialS); - static final short[][] DFA397_transition; + static final short[] DFA398_eot = DFA.unpackEncodedString(DFA398_eotS); + static final short[] DFA398_eof = DFA.unpackEncodedString(DFA398_eofS); + static final char[] DFA398_min = DFA.unpackEncodedStringToUnsignedChars(DFA398_minS); + static final char[] DFA398_max = DFA.unpackEncodedStringToUnsignedChars(DFA398_maxS); + static final short[] DFA398_accept = DFA.unpackEncodedString(DFA398_acceptS); + static final short[] DFA398_special = DFA.unpackEncodedString(DFA398_specialS); + static final short[][] DFA398_transition; static { - int numStates = DFA397_transitionS.length; - DFA397_transition = new short[numStates][]; + int numStates = DFA398_transitionS.length; + DFA398_transition = new short[numStates][]; for (int i=0; i"; - static final String[] DFA413_transitionS = { - "\3\2\2\uffff\5\2\3\uffff\2\2\1\61\1\1\1\2\1\uffff\1\2\5\uffff\3\2\1\uffff"+ - "\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\2\2\2\uffff\2\2\3\uffff\3\2\5\uffff"+ - "\7\2\1\uffff\2\2\3\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1\3\uffff\2\2"+ - "\3\uffff\5\2\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff\11\2\1\uffff"+ - "\6\2\1\uffff\3\2\1\uffff\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\1", + static final String DFA414_eotS = + "\111\uffff"; + static final String DFA414_eofS = + "\1\2\110\uffff"; + static final String DFA414_minS = + "\1\5\1\0\60\uffff\1\0\26\uffff"; + static final String DFA414_maxS = + "\1\u009b\1\0\60\uffff\1\0\26\uffff"; + static final String DFA414_acceptS = + "\2\uffff\1\2\105\uffff\1\1"; + static final String DFA414_specialS = + "\1\uffff\1\0\60\uffff\1\1\26\uffff}>"; + static final String[] DFA414_transitionS = { + "\3\2\2\uffff\5\2\3\uffff\2\2\1\62\1\1\1\2\1\uffff\1\2\5\uffff\3\2\1\uffff"+ + "\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\2\2\2\uffff\2\2\3\uffff\3\2\4\uffff"+ + "\1\2\1\uffff\7\2\1\uffff\2\2\3\uffff\1\2\1\uffff\3\2\5\uffff\1\2\1\1"+ + "\3\uffff\2\2\3\uffff\5\2\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff"+ + "\11\2\1\uffff\6\2\1\uffff\3\2\1\uffff\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff"+ + "\1\2\1\1", "\1\uffff", "", "", @@ -47427,6 +47645,7 @@ public void error(NoViableAltException nvae) { "", "", "", + "", "\1\uffff", "", "", @@ -47452,34 +47671,34 @@ public void error(NoViableAltException nvae) { "" }; - static final short[] DFA413_eot = DFA.unpackEncodedString(DFA413_eotS); - static final short[] DFA413_eof = DFA.unpackEncodedString(DFA413_eofS); - static final char[] DFA413_min = DFA.unpackEncodedStringToUnsignedChars(DFA413_minS); - static final char[] DFA413_max = DFA.unpackEncodedStringToUnsignedChars(DFA413_maxS); - static final short[] DFA413_accept = DFA.unpackEncodedString(DFA413_acceptS); - static final short[] DFA413_special = DFA.unpackEncodedString(DFA413_specialS); - static final short[][] DFA413_transition; + static final short[] DFA414_eot = DFA.unpackEncodedString(DFA414_eotS); + static final short[] DFA414_eof = DFA.unpackEncodedString(DFA414_eofS); + static final char[] DFA414_min = DFA.unpackEncodedStringToUnsignedChars(DFA414_minS); + static final char[] DFA414_max = DFA.unpackEncodedStringToUnsignedChars(DFA414_maxS); + static final short[] DFA414_accept = DFA.unpackEncodedString(DFA414_acceptS); + static final short[] DFA414_special = DFA.unpackEncodedString(DFA414_specialS); + static final short[][] DFA414_transition; static { - int numStates = DFA413_transitionS.length; - DFA413_transition = new short[numStates][]; + int numStates = DFA414_transitionS.length; + DFA414_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; case 1 : - int LA413_49 = input.LA(1); + int LA414_50 = input.LA(1); - int index413_49 = input.index(); + int index414_50 = input.index(); input.rewind(); s = -1; - if ( (synpred61_Css3()) ) {s = 71;} + if ( (synpred61_Css3()) ) {s = 72;} else if ( (true) ) {s = 2;} - input.seek(index413_49); + input.seek(index414_50); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 413, _s, input); + new NoViableAltException(getDescription(), 414, _s, input); error(nvae); throw nvae; } } - static final String DFA419_eotS = - "\120\uffff"; - static final String DFA419_eofS = - "\1\2\117\uffff"; - static final String DFA419_minS = - "\1\5\1\0\2\uffff\13\0\2\uffff\1\0\1\uffff\6\0\1\uffff\2\0\3\uffff\14\0"+ + static final String DFA420_eotS = + "\121\uffff"; + static final String DFA420_eofS = + "\1\2\120\uffff"; + static final String DFA420_minS = + "\1\5\1\0\2\uffff\13\0\2\uffff\1\0\1\uffff\6\0\1\uffff\2\0\3\uffff\15\0"+ "\1\uffff\2\0\1\uffff\1\0\2\uffff\1\0\3\uffff\21\0\2\uffff\1\0\6\uffff"; - static final String DFA419_maxS = - "\1\u009a\1\0\2\uffff\13\0\2\uffff\1\0\1\uffff\6\0\1\uffff\2\0\3\uffff"+ - "\14\0\1\uffff\2\0\1\uffff\1\0\2\uffff\1\0\3\uffff\21\0\2\uffff\1\0\6\uffff"; - static final String DFA419_acceptS = - "\2\uffff\1\3\107\uffff\5\1\1\2"; - static final String DFA419_specialS = + static final String DFA420_maxS = + "\1\u009b\1\0\2\uffff\13\0\2\uffff\1\0\1\uffff\6\0\1\uffff\2\0\3\uffff"+ + "\15\0\1\uffff\2\0\1\uffff\1\0\2\uffff\1\0\3\uffff\21\0\2\uffff\1\0\6\uffff"; + static final String DFA420_acceptS = + "\2\uffff\1\3\110\uffff\5\1\1\2"; + static final String DFA420_specialS = "\1\0\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\2\uffff"+ "\1\15\1\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\uffff\1\24\1\25\3\uffff"+ - "\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\uffff\1"+ - "\42\1\43\1\uffff\1\44\2\uffff\1\45\3\uffff\1\46\1\47\1\50\1\51\1\52\1"+ - "\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66\2\uffff\1\67"+ - "\6\uffff}>"; - static final String[] DFA419_transitionS = { - "\1\76\1\24\1\12\2\uffff\5\54\3\uffff\1\62\2\2\1\111\1\2\1\uffff\1\55"+ - "\1\2\1\112\1\113\2\uffff\1\2\1\32\1\2\1\uffff\1\73\3\uffff\1\75\1\uffff"+ - "\1\46\1\100\1\uffff\1\14\1\102\1\116\1\uffff\1\23\1\11\3\uffff\1\7\1"+ - "\4\1\44\5\uffff\2\2\1\33\3\54\1\72\1\114\1\21\1\103\1\115\1\2\1\uffff"+ - "\1\106\1\uffff\1\51\1\10\1\47\5\uffff\1\62\1\111\3\uffff\1\66\1\5\3\uffff"+ - "\1\45\1\71\1\105\1\2\1\30\2\uffff\1\2\1\uffff\1\74\1\101\3\54\1\2\1\uffff"+ - "\1\26\1\43\1\27\1\2\1\41\1\62\2\uffff\1\52\1\2\1\40\1\62\1\57\1\2\1\37"+ - "\1\25\1\15\1\uffff\2\62\1\16\1\27\1\42\1\2\1\uffff\1\2\1\6\1\2\1\uffff"+ - "\1\67\1\77\5\54\2\uffff\1\70\1\104\2\uffff\1\13\1\uffff\1\50\1\1", + "\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\uffff"+ + "\1\43\1\44\1\uffff\1\45\2\uffff\1\46\3\uffff\1\47\1\50\1\51\1\52\1\53"+ + "\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67\2\uffff\1"+ + "\70\6\uffff}>"; + static final String[] DFA420_transitionS = { + "\1\77\1\24\1\12\2\uffff\5\55\3\uffff\1\63\2\2\1\112\1\2\1\uffff\1\56"+ + "\1\2\1\113\1\114\2\uffff\1\2\1\32\1\2\1\uffff\1\74\3\uffff\1\76\1\uffff"+ + "\1\46\1\101\1\uffff\1\14\1\103\1\117\1\uffff\1\23\1\11\3\uffff\1\7\1"+ + "\4\1\44\4\uffff\1\51\1\uffff\2\2\1\33\3\55\1\73\1\115\1\21\1\104\1\116"+ + "\1\2\1\uffff\1\107\1\uffff\1\52\1\10\1\47\5\uffff\1\63\1\112\3\uffff"+ + "\1\67\1\5\3\uffff\1\45\1\72\1\106\1\2\1\30\2\uffff\1\2\1\uffff\1\75\1"+ + "\102\3\55\1\2\1\uffff\1\26\1\43\1\27\1\2\1\41\1\63\2\uffff\1\53\1\2\1"+ + "\40\1\63\1\60\1\2\1\37\1\25\1\15\1\uffff\2\63\1\16\1\27\1\42\1\2\1\uffff"+ + "\1\2\1\6\1\2\1\uffff\1\70\1\100\5\55\2\uffff\1\71\1\105\2\uffff\1\13"+ + "\1\uffff\1\50\1\1", "\1\uffff", "", "", @@ -47597,6 +47817,7 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "\1\uffff", "\1\uffff", "\1\uffff", + "\1\uffff", "", "\1\uffff", "\1\uffff", @@ -47636,34 +47857,34 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "" }; - static final short[] DFA419_eot = DFA.unpackEncodedString(DFA419_eotS); - static final short[] DFA419_eof = DFA.unpackEncodedString(DFA419_eofS); - static final char[] DFA419_min = DFA.unpackEncodedStringToUnsignedChars(DFA419_minS); - static final char[] DFA419_max = DFA.unpackEncodedStringToUnsignedChars(DFA419_maxS); - static final short[] DFA419_accept = DFA.unpackEncodedString(DFA419_acceptS); - static final short[] DFA419_special = DFA.unpackEncodedString(DFA419_specialS); - static final short[][] DFA419_transition; + static final short[] DFA420_eot = DFA.unpackEncodedString(DFA420_eotS); + static final short[] DFA420_eof = DFA.unpackEncodedString(DFA420_eofS); + static final char[] DFA420_min = DFA.unpackEncodedStringToUnsignedChars(DFA420_minS); + static final char[] DFA420_max = DFA.unpackEncodedStringToUnsignedChars(DFA420_maxS); + static final short[] DFA420_accept = DFA.unpackEncodedString(DFA420_acceptS); + static final short[] DFA420_special = DFA.unpackEncodedString(DFA420_specialS); + static final short[][] DFA420_transition; static { - int numStates = DFA419_transitionS.length; - DFA419_transition = new short[numStates][]; + int numStates = DFA420_transitionS.length; + DFA420_transition = new short[numStates][]; for (int i=0; i= COLON && LA419_0 <= COMMA)||LA419_0==CONTAINER_SYM||LA419_0==CP_DOTS||LA419_0==DCOLON||LA419_0==DOT||(LA419_0 >= LAYER_SYM && LA419_0 <= LBRACE)||LA419_0==LESS_REST||LA419_0==PIPE||LA419_0==RBRACE||LA419_0==RPAREN||LA419_0==SASS_DEFAULT||LA419_0==SASS_EXTEND_ONLY_SELECTOR||LA419_0==SASS_GLOBAL||LA419_0==SEMI||LA419_0==STAR||LA419_0==SUPPORTS_SYM) ) {s = 2;} - else if ( (LA419_0==IMPORTANT_SYM) ) {s = 4;} - else if ( (LA419_0==NUMBER) ) {s = 5;} - else if ( (LA419_0==STRING) ) {s = 6;} - else if ( (LA419_0==IDENT) ) {s = 7;} - else if ( (LA419_0==MINUS) ) {s = 8;} - else if ( (LA419_0==HASH_SYMBOL) ) {s = 9;} - else if ( (LA419_0==AT_SIGN) ) {s = 10;} - else if ( (LA419_0==VARIABLE) ) {s = 11;} - else if ( (LA419_0==GEN) ) {s = 12;} - else if ( (LA419_0==SASS_MIXIN) ) {s = 13;} - else if ( (LA419_0==SASS_VAR) ) {s = 14;} - else if ( (LA419_0==LESS_AND) ) {s = 17;} - else if ( (LA419_0==HASH) ) {s = 19;} - else if ( (LA419_0==AT_IDENT) ) {s = 20;} - else if ( (LA419_0==SASS_INCLUDE) ) {s = 21;} - else if ( (LA419_0==SASS_AT_ROOT) ) {s = 22;} - else if ( (LA419_0==SASS_DEBUG||LA419_0==SASS_WARN) ) {s = 23;} - else if ( (LA419_0==PLUS) ) {s = 24;} - else if ( (LA419_0==DIMENSION) ) {s = 26;} - else if ( (LA419_0==LBRACKET) ) {s = 27;} - else if ( (LA419_0==SASS_IF) ) {s = 31;} - else if ( (LA419_0==SASS_FOR) ) {s = 32;} - else if ( (LA419_0==SASS_EACH) ) {s = 33;} - else if ( (LA419_0==SASS_WHILE) ) {s = 34;} - else if ( (LA419_0==SASS_CONTENT) ) {s = 35;} - else if ( (LA419_0==IMPORT_SYM) ) {s = 36;} - else if ( (LA419_0==PAGE_SYM) ) {s = 37;} - else if ( (LA419_0==FONT_FACE_SYM) ) {s = 38;} - else if ( (LA419_0==MOZ_DOCUMENT_SYM) ) {s = 39;} - else if ( (LA419_0==WEBKIT_KEYFRAMES_SYM) ) {s = 40;} - else if ( (LA419_0==MEDIA_SYM) ) {s = 41;} - else if ( (LA419_0==SASS_EXTEND) ) {s = 42;} - else if ( ((LA419_0 >= BOTTOMCENTER_SYM && LA419_0 <= BOTTOMRIGHT_SYM)||(LA419_0 >= LEFTBOTTOM_SYM && LA419_0 <= LEFTTOP_SYM)||(LA419_0 >= RIGHTBOTTOM_SYM && LA419_0 <= RIGHTTOP_SYM)||(LA419_0 >= TOPCENTER_SYM && LA419_0 <= TOPRIGHT_SYM)) ) {s = 44;} - else if ( (LA419_0==COUNTER_STYLE_SYM) ) {s = 45;} - else if ( (LA419_0==SASS_FUNCTION) ) {s = 47;} - else if ( (LA419_0==CHARSET_SYM||LA419_0==NAMESPACE_SYM||LA419_0==SASS_ELSE||LA419_0==SASS_FORWARD||(LA419_0 >= SASS_RETURN && LA419_0 <= SASS_USE)) ) {s = 50;} - else if ( (LA419_0==NOT) ) {s = 54;} - else if ( (LA419_0==TILDE) ) {s = 55;} - else if ( (LA419_0==URANGE) ) {s = 56;} - else if ( (LA419_0==PERCENTAGE) ) {s = 57;} - else if ( (LA419_0==LENGTH) ) {s = 58;} - else if ( (LA419_0==EMS) ) {s = 59;} - else if ( (LA419_0==REM) ) {s = 60;} - else if ( (LA419_0==EXS) ) {s = 61;} - else if ( (LA419_0==ANGLE) ) {s = 62;} - else if ( (LA419_0==TIME) ) {s = 63;} - else if ( (LA419_0==FREQ) ) {s = 64;} - else if ( (LA419_0==RESOLUTION) ) {s = 65;} - else if ( (LA419_0==GREATER) ) {s = 66;} - else if ( (LA419_0==LESS_JS_STRING) ) {s = 67;} - else if ( (LA419_0==URI) ) {s = 68;} - else if ( (LA419_0==PERCENTAGE_SYMBOL) ) {s = 69;} - else if ( (LA419_0==LPAREN) ) {s = 70;} - else if ( (LA419_0==COMMENT||LA419_0==NL) ) {s = 73;} - else if ( (LA419_0==CP_EQ) && (synpred63_Css3())) {s = 74;} - else if ( (LA419_0==CP_NOT_EQ) && (synpred63_Css3())) {s = 75;} - else if ( (LA419_0==LESS) && (synpred63_Css3())) {s = 76;} - else if ( (LA419_0==LESS_OR_EQ) && (synpred63_Css3())) {s = 77;} - else if ( (LA419_0==GREATER_OR_EQ) && (synpred63_Css3())) {s = 78;} + if ( (LA420_0==WS) ) {s = 1;} + else if ( (LA420_0==EOF||(LA420_0 >= COLON && LA420_0 <= COMMA)||LA420_0==CONTAINER_SYM||LA420_0==CP_DOTS||LA420_0==DCOLON||LA420_0==DOT||(LA420_0 >= LAYER_SYM && LA420_0 <= LBRACE)||LA420_0==LESS_REST||LA420_0==PIPE||LA420_0==RBRACE||LA420_0==RPAREN||LA420_0==SASS_DEFAULT||LA420_0==SASS_EXTEND_ONLY_SELECTOR||LA420_0==SASS_GLOBAL||LA420_0==SEMI||LA420_0==STAR||LA420_0==SUPPORTS_SYM) ) {s = 2;} + else if ( (LA420_0==IMPORTANT_SYM) ) {s = 4;} + else if ( (LA420_0==NUMBER) ) {s = 5;} + else if ( (LA420_0==STRING) ) {s = 6;} + else if ( (LA420_0==IDENT) ) {s = 7;} + else if ( (LA420_0==MINUS) ) {s = 8;} + else if ( (LA420_0==HASH_SYMBOL) ) {s = 9;} + else if ( (LA420_0==AT_SIGN) ) {s = 10;} + else if ( (LA420_0==VARIABLE) ) {s = 11;} + else if ( (LA420_0==GEN) ) {s = 12;} + else if ( (LA420_0==SASS_MIXIN) ) {s = 13;} + else if ( (LA420_0==SASS_VAR) ) {s = 14;} + else if ( (LA420_0==LESS_AND) ) {s = 17;} + else if ( (LA420_0==HASH) ) {s = 19;} + else if ( (LA420_0==AT_IDENT) ) {s = 20;} + else if ( (LA420_0==SASS_INCLUDE) ) {s = 21;} + else if ( (LA420_0==SASS_AT_ROOT) ) {s = 22;} + else if ( (LA420_0==SASS_DEBUG||LA420_0==SASS_WARN) ) {s = 23;} + else if ( (LA420_0==PLUS) ) {s = 24;} + else if ( (LA420_0==DIMENSION) ) {s = 26;} + else if ( (LA420_0==LBRACKET) ) {s = 27;} + else if ( (LA420_0==SASS_IF) ) {s = 31;} + else if ( (LA420_0==SASS_FOR) ) {s = 32;} + else if ( (LA420_0==SASS_EACH) ) {s = 33;} + else if ( (LA420_0==SASS_WHILE) ) {s = 34;} + else if ( (LA420_0==SASS_CONTENT) ) {s = 35;} + else if ( (LA420_0==IMPORT_SYM) ) {s = 36;} + else if ( (LA420_0==PAGE_SYM) ) {s = 37;} + else if ( (LA420_0==FONT_FACE_SYM) ) {s = 38;} + else if ( (LA420_0==MOZ_DOCUMENT_SYM) ) {s = 39;} + else if ( (LA420_0==WEBKIT_KEYFRAMES_SYM) ) {s = 40;} + else if ( (LA420_0==KEYFRAMES_SYM) ) {s = 41;} + else if ( (LA420_0==MEDIA_SYM) ) {s = 42;} + else if ( (LA420_0==SASS_EXTEND) ) {s = 43;} + else if ( ((LA420_0 >= BOTTOMCENTER_SYM && LA420_0 <= BOTTOMRIGHT_SYM)||(LA420_0 >= LEFTBOTTOM_SYM && LA420_0 <= LEFTTOP_SYM)||(LA420_0 >= RIGHTBOTTOM_SYM && LA420_0 <= RIGHTTOP_SYM)||(LA420_0 >= TOPCENTER_SYM && LA420_0 <= TOPRIGHT_SYM)) ) {s = 45;} + else if ( (LA420_0==COUNTER_STYLE_SYM) ) {s = 46;} + else if ( (LA420_0==SASS_FUNCTION) ) {s = 48;} + else if ( (LA420_0==CHARSET_SYM||LA420_0==NAMESPACE_SYM||LA420_0==SASS_ELSE||LA420_0==SASS_FORWARD||(LA420_0 >= SASS_RETURN && LA420_0 <= SASS_USE)) ) {s = 51;} + else if ( (LA420_0==NOT) ) {s = 55;} + else if ( (LA420_0==TILDE) ) {s = 56;} + else if ( (LA420_0==URANGE) ) {s = 57;} + else if ( (LA420_0==PERCENTAGE) ) {s = 58;} + else if ( (LA420_0==LENGTH) ) {s = 59;} + else if ( (LA420_0==EMS) ) {s = 60;} + else if ( (LA420_0==REM) ) {s = 61;} + else if ( (LA420_0==EXS) ) {s = 62;} + else if ( (LA420_0==ANGLE) ) {s = 63;} + else if ( (LA420_0==TIME) ) {s = 64;} + else if ( (LA420_0==FREQ) ) {s = 65;} + else if ( (LA420_0==RESOLUTION) ) {s = 66;} + else if ( (LA420_0==GREATER) ) {s = 67;} + else if ( (LA420_0==LESS_JS_STRING) ) {s = 68;} + else if ( (LA420_0==URI) ) {s = 69;} + else if ( (LA420_0==PERCENTAGE_SYMBOL) ) {s = 70;} + else if ( (LA420_0==LPAREN) ) {s = 71;} + else if ( (LA420_0==COMMENT||LA420_0==NL) ) {s = 74;} + else if ( (LA420_0==CP_EQ) && (synpred63_Css3())) {s = 75;} + else if ( (LA420_0==CP_NOT_EQ) && (synpred63_Css3())) {s = 76;} + else if ( (LA420_0==LESS) && (synpred63_Css3())) {s = 77;} + else if ( (LA420_0==LESS_OR_EQ) && (synpred63_Css3())) {s = 78;} + else if ( (LA420_0==GREATER_OR_EQ) && (synpred63_Css3())) {s = 79;} - input.seek(index419_0); + input.seek(index420_0); if ( s>=0 ) return s; break; case 1 : - int LA419_1 = input.LA(1); + int LA420_1 = input.LA(1); - int index419_1 = input.index(); + int index420_1 = input.index(); input.rewind(); s = -1; - if ( (synpred63_Css3()) ) {s = 78;} - else if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred63_Css3()) ) {s = 79;} + else if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_1); + input.seek(index420_1); if ( s>=0 ) return s; break; case 2 : - int LA419_4 = input.LA(1); + int LA420_4 = input.LA(1); - int index419_4 = input.index(); + int index420_4 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_4); + input.seek(index420_4); if ( s>=0 ) return s; break; case 3 : - int LA419_5 = input.LA(1); + int LA420_5 = input.LA(1); - int index419_5 = input.index(); + int index420_5 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_5); + input.seek(index420_5); if ( s>=0 ) return s; break; case 4 : - int LA419_6 = input.LA(1); + int LA420_6 = input.LA(1); - int index419_6 = input.index(); + int index420_6 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_6); + input.seek(index420_6); if ( s>=0 ) return s; break; case 5 : - int LA419_7 = input.LA(1); + int LA420_7 = input.LA(1); - int index419_7 = input.index(); + int index420_7 = input.index(); input.rewind(); s = -1; - if ( ((synpred63_Css3()&&(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")||evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")))) ) {s = 78;} - else if ( (synpred64_Css3()) ) {s = 79;} + if ( ((synpred63_Css3()&&(evalPredicate(tokenNameEquals("or"),"tokenNameEquals(\"or\")")||evalPredicate(tokenNameEquals("and"),"tokenNameEquals(\"and\")")))) ) {s = 79;} + else if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_7); + input.seek(index420_7); if ( s>=0 ) return s; break; case 6 : - int LA419_8 = input.LA(1); + int LA420_8 = input.LA(1); - int index419_8 = input.index(); + int index420_8 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_8); + input.seek(index420_8); if ( s>=0 ) return s; break; case 7 : - int LA419_9 = input.LA(1); + int LA420_9 = input.LA(1); - int index419_9 = input.index(); + int index420_9 = input.index(); input.rewind(); s = -1; - if ( ((synpred64_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} + if ( ((synpred64_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_9); + input.seek(index420_9); if ( s>=0 ) return s; break; case 8 : - int LA419_10 = input.LA(1); + int LA420_10 = input.LA(1); - int index419_10 = input.index(); + int index420_10 = input.index(); input.rewind(); s = -1; - if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred64_Css3())) ) {s = 79;} + if ( ((evalPredicate(isLessSource(),"isLessSource()")&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_10); + input.seek(index420_10); if ( s>=0 ) return s; break; case 9 : - int LA419_11 = input.LA(1); + int LA420_11 = input.LA(1); - int index419_11 = input.index(); + int index420_11 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_11); + input.seek(index420_11); if ( s>=0 ) return s; break; case 10 : - int LA419_12 = input.LA(1); + int LA420_12 = input.LA(1); - int index419_12 = input.index(); + int index420_12 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_12); + input.seek(index420_12); if ( s>=0 ) return s; break; case 11 : - int LA419_13 = input.LA(1); + int LA420_13 = input.LA(1); - int index419_13 = input.index(); + int index420_13 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_13); + input.seek(index420_13); if ( s>=0 ) return s; break; case 12 : - int LA419_14 = input.LA(1); + int LA420_14 = input.LA(1); - int index419_14 = input.index(); + int index420_14 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred64_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred64_Css3())&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_14); + input.seek(index420_14); if ( s>=0 ) return s; break; case 13 : - int LA419_17 = input.LA(1); + int LA420_17 = input.LA(1); - int index419_17 = input.index(); + int index420_17 = input.index(); input.rewind(); s = -1; - if ( ((synpred64_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 79;} + if ( ((synpred64_Css3()&&evalPredicate(isScssSource(),"isScssSource()"))) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_17); + input.seek(index420_17); if ( s>=0 ) return s; break; case 14 : - int LA419_19 = input.LA(1); + int LA420_19 = input.LA(1); - int index419_19 = input.index(); + int index420_19 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_19); + input.seek(index420_19); if ( s>=0 ) return s; break; case 15 : - int LA419_20 = input.LA(1); + int LA420_20 = input.LA(1); - int index419_20 = input.index(); + int index420_20 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_20); + input.seek(index420_20); if ( s>=0 ) return s; break; case 16 : - int LA419_21 = input.LA(1); + int LA420_21 = input.LA(1); - int index419_21 = input.index(); + int index420_21 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_21); + input.seek(index420_21); if ( s>=0 ) return s; break; case 17 : - int LA419_22 = input.LA(1); + int LA420_22 = input.LA(1); - int index419_22 = input.index(); + int index420_22 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_22); + input.seek(index420_22); if ( s>=0 ) return s; break; case 18 : - int LA419_23 = input.LA(1); + int LA420_23 = input.LA(1); - int index419_23 = input.index(); + int index420_23 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_23); + input.seek(index420_23); if ( s>=0 ) return s; break; case 19 : - int LA419_24 = input.LA(1); + int LA420_24 = input.LA(1); - int index419_24 = input.index(); + int index420_24 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_24); + input.seek(index420_24); if ( s>=0 ) return s; break; case 20 : - int LA419_26 = input.LA(1); + int LA420_26 = input.LA(1); - int index419_26 = input.index(); + int index420_26 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_26); + input.seek(index420_26); if ( s>=0 ) return s; break; case 21 : - int LA419_27 = input.LA(1); + int LA420_27 = input.LA(1); - int index419_27 = input.index(); + int index420_27 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_27); + input.seek(index420_27); if ( s>=0 ) return s; break; case 22 : - int LA419_31 = input.LA(1); + int LA420_31 = input.LA(1); - int index419_31 = input.index(); + int index420_31 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_31); + input.seek(index420_31); if ( s>=0 ) return s; break; case 23 : - int LA419_32 = input.LA(1); + int LA420_32 = input.LA(1); - int index419_32 = input.index(); + int index420_32 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_32); + input.seek(index420_32); if ( s>=0 ) return s; break; case 24 : - int LA419_33 = input.LA(1); + int LA420_33 = input.LA(1); - int index419_33 = input.index(); + int index420_33 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_33); + input.seek(index420_33); if ( s>=0 ) return s; break; case 25 : - int LA419_34 = input.LA(1); + int LA420_34 = input.LA(1); - int index419_34 = input.index(); + int index420_34 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_34); + input.seek(index420_34); if ( s>=0 ) return s; break; case 26 : - int LA419_35 = input.LA(1); + int LA420_35 = input.LA(1); - int index419_35 = input.index(); + int index420_35 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_35); + input.seek(index420_35); if ( s>=0 ) return s; break; case 27 : - int LA419_36 = input.LA(1); + int LA420_36 = input.LA(1); - int index419_36 = input.index(); + int index420_36 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_36); + input.seek(index420_36); if ( s>=0 ) return s; break; case 28 : - int LA419_37 = input.LA(1); + int LA420_37 = input.LA(1); - int index419_37 = input.index(); + int index420_37 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_37); + input.seek(index420_37); if ( s>=0 ) return s; break; case 29 : - int LA419_38 = input.LA(1); + int LA420_38 = input.LA(1); - int index419_38 = input.index(); + int index420_38 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_38); + input.seek(index420_38); if ( s>=0 ) return s; break; case 30 : - int LA419_39 = input.LA(1); + int LA420_39 = input.LA(1); - int index419_39 = input.index(); + int index420_39 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_39); + input.seek(index420_39); if ( s>=0 ) return s; break; case 31 : - int LA419_40 = input.LA(1); + int LA420_40 = input.LA(1); - int index419_40 = input.index(); + int index420_40 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_40); + input.seek(index420_40); if ( s>=0 ) return s; break; case 32 : - int LA419_41 = input.LA(1); + int LA420_41 = input.LA(1); - int index419_41 = input.index(); + int index420_41 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_41); + input.seek(index420_41); if ( s>=0 ) return s; break; case 33 : - int LA419_42 = input.LA(1); + int LA420_42 = input.LA(1); - int index419_42 = input.index(); + int index420_42 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_42); + input.seek(index420_42); if ( s>=0 ) return s; break; case 34 : - int LA419_44 = input.LA(1); + int LA420_43 = input.LA(1); - int index419_44 = input.index(); + int index420_43 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_44); + input.seek(index420_43); if ( s>=0 ) return s; break; case 35 : - int LA419_45 = input.LA(1); + int LA420_45 = input.LA(1); - int index419_45 = input.index(); + int index420_45 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_45); + input.seek(index420_45); if ( s>=0 ) return s; break; case 36 : - int LA419_47 = input.LA(1); + int LA420_46 = input.LA(1); - int index419_47 = input.index(); + int index420_46 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_47); + input.seek(index420_46); if ( s>=0 ) return s; break; case 37 : - int LA419_50 = input.LA(1); + int LA420_48 = input.LA(1); - int index419_50 = input.index(); + int index420_48 = input.index(); input.rewind(); s = -1; - if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_50); + input.seek(index420_48); if ( s>=0 ) return s; break; case 38 : - int LA419_54 = input.LA(1); + int LA420_51 = input.LA(1); - int index419_54 = input.index(); + int index420_51 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&evalPredicate(isLessSource(),"isLessSource()"))&&synpred64_Css3())) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_54); + input.seek(index420_51); if ( s>=0 ) return s; break; case 39 : - int LA419_55 = input.LA(1); + int LA420_55 = input.LA(1); - int index419_55 = input.index(); + int index420_55 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_55); + input.seek(index420_55); if ( s>=0 ) return s; break; case 40 : - int LA419_56 = input.LA(1); + int LA420_56 = input.LA(1); - int index419_56 = input.index(); + int index420_56 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_56); + input.seek(index420_56); if ( s>=0 ) return s; break; case 41 : - int LA419_57 = input.LA(1); + int LA420_57 = input.LA(1); - int index419_57 = input.index(); + int index420_57 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_57); + input.seek(index420_57); if ( s>=0 ) return s; break; case 42 : - int LA419_58 = input.LA(1); + int LA420_58 = input.LA(1); - int index419_58 = input.index(); + int index420_58 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_58); + input.seek(index420_58); if ( s>=0 ) return s; break; case 43 : - int LA419_59 = input.LA(1); + int LA420_59 = input.LA(1); - int index419_59 = input.index(); + int index420_59 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_59); + input.seek(index420_59); if ( s>=0 ) return s; break; case 44 : - int LA419_60 = input.LA(1); + int LA420_60 = input.LA(1); - int index419_60 = input.index(); + int index420_60 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_60); + input.seek(index420_60); if ( s>=0 ) return s; break; case 45 : - int LA419_61 = input.LA(1); + int LA420_61 = input.LA(1); - int index419_61 = input.index(); + int index420_61 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_61); + input.seek(index420_61); if ( s>=0 ) return s; break; case 46 : - int LA419_62 = input.LA(1); + int LA420_62 = input.LA(1); - int index419_62 = input.index(); + int index420_62 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_62); + input.seek(index420_62); if ( s>=0 ) return s; break; case 47 : - int LA419_63 = input.LA(1); + int LA420_63 = input.LA(1); - int index419_63 = input.index(); + int index420_63 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_63); + input.seek(index420_63); if ( s>=0 ) return s; break; case 48 : - int LA419_64 = input.LA(1); + int LA420_64 = input.LA(1); - int index419_64 = input.index(); + int index420_64 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_64); + input.seek(index420_64); if ( s>=0 ) return s; break; case 49 : - int LA419_65 = input.LA(1); + int LA420_65 = input.LA(1); - int index419_65 = input.index(); + int index420_65 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_65); + input.seek(index420_65); if ( s>=0 ) return s; break; case 50 : - int LA419_66 = input.LA(1); + int LA420_66 = input.LA(1); - int index419_66 = input.index(); + int index420_66 = input.index(); input.rewind(); s = -1; - if ( (synpred63_Css3()) ) {s = 78;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_66); + input.seek(index420_66); if ( s>=0 ) return s; break; case 51 : - int LA419_67 = input.LA(1); + int LA420_67 = input.LA(1); - int index419_67 = input.index(); + int index420_67 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred63_Css3()) ) {s = 79;} else if ( (true) ) {s = 2;} - input.seek(index419_67); + input.seek(index420_67); if ( s>=0 ) return s; break; case 52 : - int LA419_68 = input.LA(1); + int LA420_68 = input.LA(1); - int index419_68 = input.index(); + int index420_68 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_68); + input.seek(index420_68); if ( s>=0 ) return s; break; case 53 : - int LA419_69 = input.LA(1); + int LA420_69 = input.LA(1); - int index419_69 = input.index(); + int index420_69 = input.index(); input.rewind(); s = -1; - if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred64_Css3())) ) {s = 79;} - else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {s = 2;} + if ( (synpred64_Css3()) ) {s = 80;} + else if ( (true) ) {s = 2;} - input.seek(index419_69); + input.seek(index420_69); if ( s>=0 ) return s; break; case 54 : - int LA419_70 = input.LA(1); + int LA420_70 = input.LA(1); - int index419_70 = input.index(); + int index420_70 = input.index(); input.rewind(); s = -1; - if ( (synpred64_Css3()) ) {s = 79;} - else if ( (true) ) {s = 2;} + if ( ((evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")&&synpred64_Css3())) ) {s = 80;} + else if ( (evalPredicate(isCssPreprocessorSource(),"isCssPreprocessorSource()")) ) {s = 2;} - input.seek(index419_70); + input.seek(index420_70); if ( s>=0 ) return s; break; case 55 : - int LA419_73 = input.LA(1); + int LA420_71 = input.LA(1); + + int index420_71 = input.index(); + input.rewind(); + s = -1; + if ( (synpred64_Css3()) ) {s = 80;} + else if ( (true) ) {s = 2;} - int index419_73 = input.index(); + input.seek(index420_71); + if ( s>=0 ) return s; + break; + case 56 : + int LA420_74 = input.LA(1); + + int index420_74 = input.index(); input.rewind(); s = -1; - if ( (synpred63_Css3()) ) {s = 78;} - else if ( (synpred64_Css3()) ) {s = 79;} + if ( (synpred63_Css3()) ) {s = 79;} + else if ( (synpred64_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index419_73); + input.seek(index420_74); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 419, _s, input); + new NoViableAltException(getDescription(), 420, _s, input); error(nvae); throw nvae; } } - static final String DFA433_eotS = - "\120\uffff"; - static final String DFA433_eofS = - "\1\2\117\uffff"; - static final String DFA433_minS = - "\1\5\1\0\13\uffff\1\0\34\uffff\1\0\10\uffff\1\0\32\uffff\1\0\1\uffff"; - static final String DFA433_maxS = - "\1\u009a\1\0\13\uffff\1\0\34\uffff\1\0\10\uffff\1\0\32\uffff\1\0\1\uffff"; - static final String DFA433_acceptS = - "\2\uffff\1\2\114\uffff\1\1"; - static final String DFA433_specialS = - "\1\0\1\1\13\uffff\1\2\34\uffff\1\3\10\uffff\1\4\32\uffff\1\5\1\uffff}>"; - static final String[] DFA433_transitionS = { - "\3\2\2\uffff\5\2\3\uffff\3\2\1\116\1\2\1\uffff\4\2\2\uffff\3\2\1\uffff"+ - "\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\2\2\3\uffff\3\2\5\uffff"+ - "\14\2\1\uffff\1\2\1\uffff\1\2\1\15\1\2\5\uffff\1\2\1\116\3\uffff\2\2"+ - "\3\uffff\4\2\1\52\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff\11\2\1"+ - "\uffff\6\2\1\117\1\63\2\2\1\uffff\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff"+ - "\1\2\1\1", + static final String DFA434_eotS = + "\121\uffff"; + static final String DFA434_eofS = + "\1\2\120\uffff"; + static final String DFA434_minS = + "\1\5\1\0\13\uffff\1\0\34\uffff\1\0\10\uffff\1\0\33\uffff\1\0\1\uffff"; + static final String DFA434_maxS = + "\1\u009b\1\0\13\uffff\1\0\34\uffff\1\0\10\uffff\1\0\33\uffff\1\0\1\uffff"; + static final String DFA434_acceptS = + "\2\uffff\1\2\115\uffff\1\1"; + static final String DFA434_specialS = + "\1\0\1\1\13\uffff\1\2\34\uffff\1\3\10\uffff\1\4\33\uffff\1\5\1\uffff}>"; + static final String[] DFA434_transitionS = { + "\3\2\2\uffff\5\2\3\uffff\3\2\1\117\1\2\1\uffff\4\2\2\uffff\3\2\1\uffff"+ + "\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\3\2\1\uffff\2\2\3\uffff\3\2\4\uffff"+ + "\1\2\1\uffff\14\2\1\uffff\1\2\1\uffff\1\2\1\15\1\2\5\uffff\1\2\1\117"+ + "\3\uffff\2\2\3\uffff\4\2\1\52\2\uffff\1\2\1\uffff\6\2\1\uffff\6\2\2\uffff"+ + "\11\2\1\uffff\6\2\1\120\1\63\2\2\1\uffff\7\2\2\uffff\2\2\2\uffff\1\2"+ + "\1\uffff\1\2\1\1", "\1\uffff", "", "", @@ -48516,38 +48750,39 @@ public int specialStateTransition(int s, IntStream _input) throws NoViableAltExc "", "", "", + "", "\1\uffff", "" }; - static final short[] DFA433_eot = DFA.unpackEncodedString(DFA433_eotS); - static final short[] DFA433_eof = DFA.unpackEncodedString(DFA433_eofS); - static final char[] DFA433_min = DFA.unpackEncodedStringToUnsignedChars(DFA433_minS); - static final char[] DFA433_max = DFA.unpackEncodedStringToUnsignedChars(DFA433_maxS); - static final short[] DFA433_accept = DFA.unpackEncodedString(DFA433_acceptS); - static final short[] DFA433_special = DFA.unpackEncodedString(DFA433_specialS); - static final short[][] DFA433_transition; + static final short[] DFA434_eot = DFA.unpackEncodedString(DFA434_eotS); + static final short[] DFA434_eof = DFA.unpackEncodedString(DFA434_eofS); + static final char[] DFA434_min = DFA.unpackEncodedStringToUnsignedChars(DFA434_minS); + static final char[] DFA434_max = DFA.unpackEncodedStringToUnsignedChars(DFA434_maxS); + static final short[] DFA434_accept = DFA.unpackEncodedString(DFA434_acceptS); + static final short[] DFA434_special = DFA.unpackEncodedString(DFA434_specialS); + static final short[][] DFA434_transition; static { - int numStates = DFA433_transitionS.length; - DFA433_transition = new short[numStates][]; + int numStates = DFA434_transitionS.length; + DFA434_transition = new short[numStates][]; for (int i=0; i= ANGLE && LA433_0 <= AT_SIGN)||(LA433_0 >= BOTTOMCENTER_SYM && LA433_0 <= BOTTOMRIGHT_SYM)||(LA433_0 >= CHARSET_SYM && LA433_0 <= COMMA)||LA433_0==CONTAINER_SYM||(LA433_0 >= COUNTER_STYLE_SYM && LA433_0 <= CP_NOT_EQ)||(LA433_0 >= DCOLON && LA433_0 <= DOT)||LA433_0==EMS||LA433_0==EXS||(LA433_0 >= FONT_FACE_SYM && LA433_0 <= FREQ)||(LA433_0 >= GEN && LA433_0 <= GREATER_OR_EQ)||(LA433_0 >= HASH && LA433_0 <= HASH_SYMBOL)||(LA433_0 >= IDENT && LA433_0 <= IMPORT_SYM)||(LA433_0 >= LAYER_SYM && LA433_0 <= LESS_REST)||LA433_0==LPAREN||LA433_0==MEDIA_SYM||LA433_0==MOZ_DOCUMENT_SYM||LA433_0==NAMESPACE_SYM||(LA433_0 >= NOT && LA433_0 <= NUMBER)||(LA433_0 >= PAGE_SYM && LA433_0 <= PIPE)||LA433_0==RBRACE||(LA433_0 >= REM && LA433_0 <= RPAREN)||(LA433_0 >= SASS_AT_ROOT && LA433_0 <= SASS_ELSE)||(LA433_0 >= SASS_EXTEND && LA433_0 <= SASS_MIXIN)||(LA433_0 >= SASS_RETURN && LA433_0 <= SEMI)||(LA433_0 >= STRING && LA433_0 <= SUPPORTS_SYM)||(LA433_0 >= TILDE && LA433_0 <= TOPRIGHT_SYM)||(LA433_0 >= URANGE && LA433_0 <= URI)||LA433_0==VARIABLE||LA433_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;} - else if ( (LA433_0==MINUS) ) {s = 13;} - else if ( (LA433_0==PLUS) ) {s = 42;} - else if ( (LA433_0==STAR) ) {s = 51;} - else if ( (LA433_0==COMMENT||LA433_0==NL) ) {s = 78;} - else if ( (LA433_0==SOLIDUS) && (synpred66_Css3())) {s = 79;} + if ( (LA434_0==WS) ) {s = 1;} + else if ( (LA434_0==EOF||(LA434_0 >= ANGLE && LA434_0 <= AT_SIGN)||(LA434_0 >= BOTTOMCENTER_SYM && LA434_0 <= BOTTOMRIGHT_SYM)||(LA434_0 >= CHARSET_SYM && LA434_0 <= COMMA)||LA434_0==CONTAINER_SYM||(LA434_0 >= COUNTER_STYLE_SYM && LA434_0 <= CP_NOT_EQ)||(LA434_0 >= DCOLON && LA434_0 <= DOT)||LA434_0==EMS||LA434_0==EXS||(LA434_0 >= FONT_FACE_SYM && LA434_0 <= FREQ)||(LA434_0 >= GEN && LA434_0 <= GREATER_OR_EQ)||(LA434_0 >= HASH && LA434_0 <= HASH_SYMBOL)||(LA434_0 >= IDENT && LA434_0 <= IMPORT_SYM)||LA434_0==KEYFRAMES_SYM||(LA434_0 >= LAYER_SYM && LA434_0 <= LESS_REST)||LA434_0==LPAREN||LA434_0==MEDIA_SYM||LA434_0==MOZ_DOCUMENT_SYM||LA434_0==NAMESPACE_SYM||(LA434_0 >= NOT && LA434_0 <= NUMBER)||(LA434_0 >= PAGE_SYM && LA434_0 <= PIPE)||LA434_0==RBRACE||(LA434_0 >= REM && LA434_0 <= RPAREN)||(LA434_0 >= SASS_AT_ROOT && LA434_0 <= SASS_ELSE)||(LA434_0 >= SASS_EXTEND && LA434_0 <= SASS_MIXIN)||(LA434_0 >= SASS_RETURN && LA434_0 <= SEMI)||(LA434_0 >= STRING && LA434_0 <= SUPPORTS_SYM)||(LA434_0 >= TILDE && LA434_0 <= TOPRIGHT_SYM)||(LA434_0 >= URANGE && LA434_0 <= URI)||LA434_0==VARIABLE||LA434_0==WEBKIT_KEYFRAMES_SYM) ) {s = 2;} + else if ( (LA434_0==MINUS) ) {s = 13;} + else if ( (LA434_0==PLUS) ) {s = 42;} + else if ( (LA434_0==STAR) ) {s = 51;} + else if ( (LA434_0==COMMENT||LA434_0==NL) ) {s = 79;} + else if ( (LA434_0==SOLIDUS) && (synpred66_Css3())) {s = 80;} - input.seek(index433_0); + input.seek(index434_0); if ( s>=0 ) return s; break; case 1 : - int LA433_1 = input.LA(1); + int LA434_1 = input.LA(1); - int index433_1 = input.index(); + int index434_1 = input.index(); input.rewind(); s = -1; - if ( (synpred66_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index433_1); + input.seek(index434_1); if ( s>=0 ) return s; break; case 2 : - int LA433_13 = input.LA(1); + int LA434_13 = input.LA(1); - int index433_13 = input.index(); + int index434_13 = input.index(); input.rewind(); s = -1; - if ( (synpred66_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index433_13); + input.seek(index434_13); if ( s>=0 ) return s; break; case 3 : - int LA433_42 = input.LA(1); + int LA434_42 = input.LA(1); - int index433_42 = input.index(); + int index434_42 = input.index(); input.rewind(); s = -1; - if ( (synpred66_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index433_42); + input.seek(index434_42); if ( s>=0 ) return s; break; case 4 : - int LA433_51 = input.LA(1); + int LA434_51 = input.LA(1); - int index433_51 = input.index(); + int index434_51 = input.index(); input.rewind(); s = -1; - if ( (synpred66_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index433_51); + input.seek(index434_51); if ( s>=0 ) return s; break; case 5 : - int LA433_78 = input.LA(1); + int LA434_79 = input.LA(1); - int index433_78 = input.index(); + int index434_79 = input.index(); input.rewind(); s = -1; - if ( (synpred66_Css3()) ) {s = 79;} + if ( (synpred66_Css3()) ) {s = 80;} else if ( (true) ) {s = 2;} - input.seek(index433_78); + input.seek(index434_79); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 433, _s, input); + new NoViableAltException(getDescription(), 434, _s, input); error(nvae); throw nvae; } } - static final String DFA438_eotS = + static final String DFA439_eotS = "\6\uffff"; - static final String DFA438_eofS = + static final String DFA439_eofS = "\6\uffff"; - static final String DFA438_minS = + static final String DFA439_minS = "\2\5\3\uffff\1\5"; - static final String DFA438_maxS = - "\1\u0099\1\u009a\3\uffff\1\u009a"; - static final String DFA438_acceptS = + static final String DFA439_maxS = + "\1\u009a\1\u009b\3\uffff\1\u009b"; + static final String DFA439_acceptS = "\2\uffff\1\1\1\2\1\3\1\uffff"; - static final String DFA438_specialS = + static final String DFA439_specialS = "\6\uffff}>"; - static final String[] DFA438_transitionS = { + static final String[] DFA439_transitionS = { "\3\2\2\uffff\5\2\3\uffff\1\2\5\uffff\1\2\6\uffff\1\2\2\uffff\1\2\3\uffff"+ - "\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\3\uffff\1\2\1\3\1\2\7\uffff"+ - "\5\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\1\1\2\5\uffff\1\2\5\uffff"+ - "\1\2\3\uffff\3\2\1\uffff\1\1\4\uffff\5\2\2\uffff\3\2\1\uffff\2\2\2\uffff"+ - "\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\5\2\3\uffff\1\2\2\uffff\7\2\2\uffff"+ - "\2\2\2\uffff\1\2\1\uffff\1\2", + "\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\3\uffff\1\2\1\3\1\2\4\uffff"+ + "\1\2\3\uffff\5\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\1\1\2\5\uffff"+ + "\1\2\5\uffff\1\2\3\uffff\3\2\1\uffff\1\1\4\uffff\5\2\2\uffff\3\2\1\uffff"+ + "\2\2\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\5\2\3\uffff\1\2\2\uffff"+ + "\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2", "\3\2\2\uffff\5\2\3\uffff\1\2\2\uffff\1\5\2\uffff\1\2\6\uffff\1\2\2\uffff"+ "\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\3\uffff\1\2\1\uffff"+ - "\1\2\7\uffff\5\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\uffff\1\2\5\uffff"+ - "\1\2\1\5\4\uffff\1\2\3\uffff\3\2\6\uffff\5\2\2\uffff\3\2\1\uffff\2\2"+ - "\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\5\2\3\uffff\1\2\2\uffff"+ - "\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\5", + "\1\2\4\uffff\1\2\3\uffff\5\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\uffff"+ + "\1\2\5\uffff\1\2\1\5\4\uffff\1\2\3\uffff\3\2\6\uffff\5\2\2\uffff\3\2"+ + "\1\uffff\2\2\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\5\2\3\uffff"+ + "\1\2\2\uffff\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\5", "", "", "", "\3\2\2\uffff\5\2\3\uffff\1\2\2\uffff\1\5\2\uffff\1\2\6\uffff\1\2\2\uffff"+ "\1\2\3\uffff\1\2\1\uffff\2\2\1\uffff\1\2\3\uffff\2\2\3\uffff\1\2\1\uffff"+ - "\1\2\7\uffff\5\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\uffff\1\2\5\uffff"+ - "\1\2\1\5\4\uffff\1\2\3\uffff\3\2\6\uffff\5\2\2\uffff\3\2\1\uffff\2\2"+ - "\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\5\2\3\uffff\1\2\2\uffff"+ - "\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\5" + "\1\2\4\uffff\1\2\3\uffff\5\2\1\uffff\2\2\3\uffff\1\4\1\uffff\1\2\1\uffff"+ + "\1\2\5\uffff\1\2\1\5\4\uffff\1\2\3\uffff\3\2\6\uffff\5\2\2\uffff\3\2"+ + "\1\uffff\2\2\2\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\5\2\3\uffff"+ + "\1\2\2\uffff\7\2\2\uffff\2\2\2\uffff\1\2\1\uffff\1\2\1\5" }; - static final short[] DFA438_eot = DFA.unpackEncodedString(DFA438_eotS); - static final short[] DFA438_eof = DFA.unpackEncodedString(DFA438_eofS); - static final char[] DFA438_min = DFA.unpackEncodedStringToUnsignedChars(DFA438_minS); - static final char[] DFA438_max = DFA.unpackEncodedStringToUnsignedChars(DFA438_maxS); - static final short[] DFA438_accept = DFA.unpackEncodedString(DFA438_acceptS); - static final short[] DFA438_special = DFA.unpackEncodedString(DFA438_specialS); - static final short[][] DFA438_transition; + static final short[] DFA439_eot = DFA.unpackEncodedString(DFA439_eotS); + static final short[] DFA439_eof = DFA.unpackEncodedString(DFA439_eofS); + static final char[] DFA439_min = DFA.unpackEncodedStringToUnsignedChars(DFA439_minS); + static final char[] DFA439_max = DFA.unpackEncodedStringToUnsignedChars(DFA439_maxS); + static final short[] DFA439_accept = DFA.unpackEncodedString(DFA439_acceptS); + static final short[] DFA439_special = DFA.unpackEncodedString(DFA439_specialS); + static final short[][] DFA439_transition; static { - int numStates = DFA438_transitionS.length; - DFA438_transition = new short[numStates][]; + int numStates = DFA439_transitionS.length; + DFA439_transition = new short[numStates][]; for (int i=0; i"; - static final String[] DFA550_transitionS = { - "\1\2\1\1\76\uffff\1\1\105\uffff\1\1", - "\1\2\1\1\36\uffff\1\3\37\uffff\1\1\105\uffff\1\1", + static final String DFA551_specialS = + "\1\1\1\0\2\uffff}>"; + static final String[] DFA551_transitionS = { + "\1\2\1\1\77\uffff\1\1\105\uffff\1\1", + "\1\2\1\1\36\uffff\1\3\40\uffff\1\1\105\uffff\1\1", "", "" }; - static final short[] DFA550_eot = DFA.unpackEncodedString(DFA550_eotS); - static final short[] DFA550_eof = DFA.unpackEncodedString(DFA550_eofS); - static final char[] DFA550_min = DFA.unpackEncodedStringToUnsignedChars(DFA550_minS); - static final char[] DFA550_max = DFA.unpackEncodedStringToUnsignedChars(DFA550_maxS); - static final short[] DFA550_accept = DFA.unpackEncodedString(DFA550_acceptS); - static final short[] DFA550_special = DFA.unpackEncodedString(DFA550_specialS); - static final short[][] DFA550_transition; + static final short[] DFA551_eot = DFA.unpackEncodedString(DFA551_eotS); + static final short[] DFA551_eof = DFA.unpackEncodedString(DFA551_eofS); + static final char[] DFA551_min = DFA.unpackEncodedStringToUnsignedChars(DFA551_minS); + static final char[] DFA551_max = DFA.unpackEncodedStringToUnsignedChars(DFA551_maxS); + static final short[] DFA551_accept = DFA.unpackEncodedString(DFA551_acceptS); + static final short[] DFA551_special = DFA.unpackEncodedString(DFA551_specialS); + static final short[][] DFA551_transition; static { - int numStates = DFA550_transitionS.length; - DFA550_transition = new short[numStates][]; + int numStates = DFA551_transitionS.length; + DFA551_transition = new short[numStates][]; for (int i=0; i=0 ) return s; break; case 1 : - int LA550_1 = input.LA(1); + int LA551_0 = input.LA(1); - int index550_1 = input.index(); + int index551_0 = input.index(); input.rewind(); s = -1; - if ( (LA550_1==IDENT) ) {s = 3;} - else if ( (LA550_1==COMMENT||LA550_1==NL||LA550_1==WS) ) {s = 1;} - else if ( (LA550_1==COMMA) && (synpred71_Css3())) {s = 2;} + if ( (LA551_0==COMMENT||LA551_0==NL||LA551_0==WS) ) {s = 1;} + else if ( (LA551_0==COMMA) && (synpred71_Css3())) {s = 2;} - input.seek(index550_1); + input.seek(index551_0); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 550, _s, input); + new NoViableAltException(getDescription(), 551, _s, input); error(nvae); throw nvae; } } - static final String DFA570_eotS = + static final String DFA571_eotS = "\4\uffff"; - static final String DFA570_eofS = + static final String DFA571_eofS = "\4\uffff"; - static final String DFA570_minS = + static final String DFA571_minS = "\2\25\2\uffff"; - static final String DFA570_maxS = - "\2\u009a\2\uffff"; - static final String DFA570_acceptS = + static final String DFA571_maxS = + "\2\u009b\2\uffff"; + static final String DFA571_acceptS = "\2\uffff\1\1\1\2"; - static final String DFA570_specialS = + static final String DFA571_specialS = "\4\uffff}>"; - static final String[] DFA570_transitionS = { - "\1\1\37\uffff\1\2\36\uffff\1\1\57\uffff\1\3\25\uffff\1\1", - "\1\1\37\uffff\1\2\36\uffff\1\1\57\uffff\1\3\25\uffff\1\1", + static final String[] DFA571_transitionS = { + "\1\1\37\uffff\1\2\37\uffff\1\1\57\uffff\1\3\25\uffff\1\1", + "\1\1\37\uffff\1\2\37\uffff\1\1\57\uffff\1\3\25\uffff\1\1", "", "" }; - static final short[] DFA570_eot = DFA.unpackEncodedString(DFA570_eotS); - static final short[] DFA570_eof = DFA.unpackEncodedString(DFA570_eofS); - static final char[] DFA570_min = DFA.unpackEncodedStringToUnsignedChars(DFA570_minS); - static final char[] DFA570_max = DFA.unpackEncodedStringToUnsignedChars(DFA570_maxS); - static final short[] DFA570_accept = DFA.unpackEncodedString(DFA570_acceptS); - static final short[] DFA570_special = DFA.unpackEncodedString(DFA570_specialS); - static final short[][] DFA570_transition; + static final short[] DFA571_eot = DFA.unpackEncodedString(DFA571_eotS); + static final short[] DFA571_eof = DFA.unpackEncodedString(DFA571_eofS); + static final char[] DFA571_min = DFA.unpackEncodedStringToUnsignedChars(DFA571_minS); + static final char[] DFA571_max = DFA.unpackEncodedStringToUnsignedChars(DFA571_maxS); + static final short[] DFA571_accept = DFA.unpackEncodedString(DFA571_acceptS); + static final short[] DFA571_special = DFA.unpackEncodedString(DFA571_specialS); + static final short[][] DFA571_transition; static { - int numStates = DFA570_transitionS.length; - DFA570_transition = new short[numStates][]; + int numStates = DFA571_transitionS.length; + DFA571_transition = new short[numStates][]; for (int i=0; i codesMap = new HashMap<>(); diff --git a/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/Css3ParserTest.java b/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/Css3ParserTest.java index 572196f9f843..f314fbdb2c6c 100644 --- a/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/Css3ParserTest.java +++ b/ide/css.lib/test/unit/src/org/netbeans/modules/css/lib/Css3ParserTest.java @@ -1251,6 +1251,64 @@ public void testIssue211103() throws IOException, ParseException, BadLocationExc // // // } + + public void testKeyFramesShort() throws ParseException, BadLocationException { + assertParses( + """ + @-webkit-keyframes ozx-delay-anim { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + """, false + ); + assertParses( + """ + @keyframes ozx-delay-anim { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + """, false + ); + assertParses( + """ + @-webkit-keyframes ozx-delay-anim { + from { + transform: rotate(0deg); + } + 50% { + transform: rotate(180deg); + } + to { + transform: rotate(360deg); + } + } + """, false + ); + assertParses( + """ + @keyframes ozx-delay-anim { + from { + transform: rotate(0deg); + } + 50% { + transform: rotate(180deg); + } + to { + transform: rotate(360deg); + } + } + """, false + ); + } + public void testWebkitKeyFrames() { String code = "@-webkit-keyframes spin { 40% { left: 150px; } from { left: 2px } }"; // 012345678901234567890123456789012345678901234567890123456789 @@ -1293,6 +1351,99 @@ public void testWebkitKeyFrames() { } + public void testKeyFrames() { + String code = "@keyframes spin { 40% { left: 150px; } from { left: 2px } }"; + // 012345678901234567890123456789012345678901234567890123456789 + // 0 1 2 3 4 5 + CssParserResult result = TestUtil.parse(code); + + assertResultOK(result); + +// TestUtil.dumpResult(result); + Node wkf = NodeUtil.query(result.getParseTree(), + "styleSheet/body/bodyItem/at_rule/vendorAtRule/webkitKeyframes"); + + assertNotNull(wkf); + + Node atRuleName = NodeUtil.query(wkf, "atRuleId"); + assertNotNull(atRuleName); + assertEquals("spin", atRuleName.image().toString()); + + //block1 + Node block = NodeUtil.query(wkf, "webkitKeyframesBlock|0"); + Node selectors = NodeUtil.query(block, "webkitKeyframeSelectors"); + assertNotNull(selectors); + assertEquals("40%", selectors.image().toString()); + + Node declarations = NodeUtil.query(wkf, "webkitKeyframesBlock/declarations"); + assertNotNull(declarations); + assertNotNull(NodeUtil.query(declarations, "declaration/propertyDeclaration/property")); + assertNotNull(NodeUtil.query(declarations, "declaration/propertyDeclaration/propertyValue")); + + //block2 + block = NodeUtil.query(wkf, "webkitKeyframesBlock|1"); + selectors = NodeUtil.query(block, "webkitKeyframeSelectors"); + assertNotNull(selectors); + assertEquals("from", selectors.image().toString()); + + declarations = NodeUtil.query(wkf, "webkitKeyframesBlock/declarations"); + assertNotNull(declarations); + assertNotNull(NodeUtil.query(declarations, "declaration/propertyDeclaration/property")); + assertNotNull(NodeUtil.query(declarations, "declaration/propertyDeclaration/propertyValue")); + + } + + public void testKeyframesVendored() { + assertParses( + """ + @keyframes ozx-delay-anim { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + """, false + ); + assertParses( + """ + @-webkit-keyframes ozx-delay-anim { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + """, false + ); + assertParses( + """ + @-moz-keyframes ozx-delay-anim { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + """, false + ); + assertParses( + """ + @-o-keyframes ozx-delay-anim { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } + } + """, false + ); + } + //http://en.wikipedia.org/wiki/CSS_filter#Star_hack //Bug 215168 - Netbeans doesn't know about CSS star hack public void testIEPropertyStarHack() throws ParseException, BadLocationException { From 561a96ebc2da1e3c9f5dec30deb982e0a389ebb2 Mon Sep 17 00:00:00 2001 From: Junichi Yamamoto Date: Fri, 20 Dec 2024 13:37:47 +0900 Subject: [PATCH 86/94] PHP 8.3 Support: Arbitrary static variable initializers (Part 2) - https://github.com/apache/netbeans/issues/6701 - https://github.com/apache/netbeans/issues/8073 - https://wiki.php.net/rfc/arbitrary_static_variable_initializers - Fix the formatter - Add unit tests - Formatter - Code Completion - GotoDeclaration and MarkOccurrences --- .../php/editor/indent/FormatVisitor.java | 11 ++++- ...estArbitraryStaticVariableInitializers.php | 47 ++++++++++++++++++ ...ryStaticVariableInitializers_01.completion | 4 ++ ...ryStaticVariableInitializers_02.completion | 4 ++ ...ryStaticVariableInitializers_03.completion | 4 ++ ...ryStaticVariableInitializers_04.completion | 4 ++ ...ryStaticVariableInitializers_05.completion | 4 ++ ...ryStaticVariableInitializers_06.completion | 4 ++ ...ryStaticVariableInitializers_07.completion | 4 ++ ...ryStaticVariableInitializers_08.completion | 4 ++ ...ryStaticVariableInitializers_09.completion | 4 ++ ...ryStaticVariableInitializers_10.completion | 4 ++ ...ryStaticVariableInitializers_11.completion | 4 ++ ...arbitraryStaticVariableInitializers_01.php | 45 +++++++++++++++++ ...ryStaticVariableInitializers_01a.formatted | 49 +++++++++++++++++++ ...estArbitraryStaticVariableInitializers.php | 45 +++++++++++++++++ ...estArbitraryStaticVariableInitializers.php | 45 +++++++++++++++++ ...StaticVariableInitializers_01a.occurrences | 4 ++ ...StaticVariableInitializers_01b.occurrences | 4 ++ ...StaticVariableInitializers_01c.occurrences | 4 ++ ...StaticVariableInitializers_01d.occurrences | 4 ++ ...StaticVariableInitializers_01e.occurrences | 4 ++ ...StaticVariableInitializers_01f.occurrences | 4 ++ ...StaticVariableInitializers_02a.occurrences | 2 + ...StaticVariableInitializers_02b.occurrences | 2 + ...StaticVariableInitializers_03a.occurrences | 2 + ...StaticVariableInitializers_03b.occurrences | 2 + ...StaticVariableInitializers_04a.occurrences | 2 + ...StaticVariableInitializers_04b.occurrences | 2 + .../completion/PHP83CodeCompletionTest.java | 45 ++++++++++++++++- .../editor/csl/GotoDeclarationPHP83Test.java | 32 +++++++++++- .../csl/OccurrencesFinderImplPHP83Test.java | 48 ++++++++++++++++++ .../php/editor/indent/PHPFormatterTest.java | 5 ++ 33 files changed, 447 insertions(+), 5 deletions(-) create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_05.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_06.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_07.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_08.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_09.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_10.completion create mode 100644 php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_11.completion create mode 100644 php/php.editor/test/unit/data/testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php create mode 100644 php/php.editor/test/unit/data/testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php.testArbitraryStaticVariableInitializers_01a.formatted create mode 100644 php/php.editor/test/unit/data/testfiles/gotodeclaration/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01a.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01b.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01c.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01d.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01e.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01f.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02a.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02b.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03a.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03b.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04a.occurrences create mode 100644 php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04b.occurrences diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java b/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java index 51ee5e5f4c58..d4806e161771 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/indent/FormatVisitor.java @@ -280,11 +280,18 @@ public void visit(StaticStatement node) { List expressions = node.getExpressions(); for (Expression expression : expressions) { addAllUntilOffset(expression.getStartOffset()); + // e.g. static $variable = new class() {} + boolean addIndent = !(expression instanceof Assignment + && isAnonymousClass(((Assignment) expression).getRightHandSide())); if (moveNext() && lastIndex < ts.index()) { addFormatToken(formatTokens); // add the first token of the expression and then add the indentation - formatTokens.add(new FormatToken.IndentToken(ts.offset() + ts.token().length(), options.continualIndentSize)); + if (addIndent) { + formatTokens.add(new FormatToken.IndentToken(ts.offset() + ts.token().length(), options.continualIndentSize)); + } scan(expression); - formatTokens.add(new FormatToken.IndentToken(expression.getEndOffset(), -1 * options.continualIndentSize)); + if (addIndent) { + formatTokens.add(new FormatToken.IndentToken(expression.getEndOffset(), -1 * options.continualIndentSize)); + } } } } diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php new file mode 100644 index 000000000000..bc28a9771532 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php @@ -0,0 +1,47 @@ +field; + static $example4 = $this->method(); + static $example5 = new class() {}; + static $example6 = new stdClass(...[0]); + static $example6 = new stdClass($param1); + static $example7 = new (Test); + static $example8 = new static; + static $example9 = $param1 <= 100 ? run($param1 + 1) : "Test $param1"; + static $example10 = test(), $example11 = test(); + } +} + +$variable = 1; +static $example1 = test(); +static $example2 = $variable; diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01.completion new file mode 100644 index 000000000000..71f1bbcc2910 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example1 = te|st(); +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +METHOD test() [PUBLIC] testArbitraryStaticVariableInitializers.php diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02.completion new file mode 100644 index 000000000000..d424df3d0fc4 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example2 = $para|m1; +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +VARIABLE int $param1 [PUBLIC] testArbitraryStaticVariableInitializers.php diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03.completion new file mode 100644 index 000000000000..35c3c8655457 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example3 = $this->fi|eld; +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +VARIABLE int field [PRIVATE] Example diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04.completion new file mode 100644 index 000000000000..6be54f3c54ff --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example4 = $this->metho|d(); +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +METHOD method() [PUBLIC] Example diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_05.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_05.completion new file mode 100644 index 000000000000..37eefbf8044e --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_05.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example6 = new stdClass($param|1); +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +VARIABLE int $param1 [PUBLIC] testArbitraryStaticVariableInitializers.php diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_06.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_06.completion new file mode 100644 index 000000000000..7b053d3f54f2 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_06.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example9 = $param1 <= 100 ? ru|n($param1 + 1) : "Test $param1"; +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +METHOD run(int $param1) [PUBLIC] Example diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_07.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_07.completion new file mode 100644 index 000000000000..c7516ffa8ddf --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_07.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example9 = $param1 <= 100 ? run($param1 + 1) : "Test $param|1"; +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +VARIABLE int $param1 [PUBLIC] testArbitraryStaticVariableInitializers.php diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_08.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_08.completion new file mode 100644 index 000000000000..6aad93fe616a --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_08.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example10 = tes|t(), $example11 = test(); +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +METHOD test() [PUBLIC] testArbitraryStaticVariableInitializers.php diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_09.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_09.completion new file mode 100644 index 000000000000..e0e0e372d27c --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_09.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example10 = test(), $example11 = tes|t(); +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +METHOD test() [PUBLIC] testArbitraryStaticVariableInitializers.php diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_10.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_10.completion new file mode 100644 index 000000000000..71f1bbcc2910 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_10.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example1 = te|st(); +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +METHOD test() [PUBLIC] testArbitraryStaticVariableInitializers.php diff --git a/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_11.completion b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_11.completion new file mode 100644 index 000000000000..e9fa0ead848e --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/completion/lib/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_11.completion @@ -0,0 +1,4 @@ +Code completion result for source line: +static $example2 = $variab|le; +(QueryType=COMPLETION, prefixSearch=true, caseSensitive=true) +VARIABLE int $variable [PUBLIC] testArbitraryStaticVariableInitializers.php diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php b/php/php.editor/test/unit/data/testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php new file mode 100644 index 000000000000..dfb9dcbd6ca5 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php @@ -0,0 +1,45 @@ +field; + static $example4 = $this-> method(); + static $example5 = new class() {}; + static $example6 = new stdClass(...[0]); + static $example6 = new stdClass($param1); + static $example7 = new (Test); + static $example8 = new static; + static $example9 = $param1 <= 100 ? run($param1 + 1) : "Test $param1"; + static $example10 = rand(), $example11 = rand(); + } +} + +$variable = 1; + static $example1 = rand(); + static $example2 = $variable; diff --git a/php/php.editor/test/unit/data/testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php.testArbitraryStaticVariableInitializers_01a.formatted b/php/php.editor/test/unit/data/testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php.testArbitraryStaticVariableInitializers_01a.formatted new file mode 100644 index 000000000000..f3ff39044260 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php.testArbitraryStaticVariableInitializers_01a.formatted @@ -0,0 +1,49 @@ +field; + static $example4 = $this->method(); + static $example5 = new class() { + + }; + static $example6 = new stdClass(...[0]); + static $example6 = new stdClass($param1); + static $example7 = new (Test); + static $example8 = new static; + static $example9 = $param1 <= 100 ? run($param1 + 1) : "Test $param1"; + static $example10 = rand(), $example11 = rand(); + } +} + +$variable = 1; +static $example1 = rand(); +static $example2 = $variable; diff --git a/php/php.editor/test/unit/data/testfiles/gotodeclaration/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php b/php/php.editor/test/unit/data/testfiles/gotodeclaration/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php new file mode 100644 index 000000000000..9f8b8f6e44a0 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/gotodeclaration/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php @@ -0,0 +1,45 @@ +field; + static $example4 = $this->method(); + static $example5 = new class() {}; + static $example6 = new stdClass(...[0]); + static $example6 = new stdClass($param1); + static $example7 = new (Test); + static $example8 = new static; + static $example9 = $param1 <= 100 ? run($param1 + 1) : "Test $param1"; + static $example10 = rand(), $example11 = rand(); + } +} + +$variable = 1; +static $example1 = rand(); +static $example2 = $variable; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php new file mode 100644 index 000000000000..9f8b8f6e44a0 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php @@ -0,0 +1,45 @@ +field; + static $example4 = $this->method(); + static $example5 = new class() {}; + static $example6 = new stdClass(...[0]); + static $example6 = new stdClass($param1); + static $example7 = new (Test); + static $example8 = new static; + static $example9 = $param1 <= 100 ? run($param1 + 1) : "Test $param1"; + static $example10 = rand(), $example11 = rand(); + } +} + +$variable = 1; +static $example1 = rand(); +static $example2 = $variable; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01a.occurrences new file mode 100644 index 000000000000..4fd09a6bc2a5 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01a.occurrences @@ -0,0 +1,4 @@ + public function run(int $|>MARK_OCCURRENCES:par^am1<|) : void { + static $example2 = $|>MARK_OCCURRENCES:param1<|; + static $example6 = new stdClass($|>MARK_OCCURRENCES:param1<|); + static $example9 = $|>MARK_OCCURRENCES:param1<| <= 100 ? run($|>MARK_OCCURRENCES:param1<| + 1) : "Test $|>MARK_OCCURRENCES:param1<|"; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01b.occurrences new file mode 100644 index 000000000000..c2dfd322962b --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01b.occurrences @@ -0,0 +1,4 @@ + public function run(int $|>MARK_OCCURRENCES:param1<|) : void { + static $example2 = $|>MARK_OCCURRENCES:para^m1<|; + static $example6 = new stdClass($|>MARK_OCCURRENCES:param1<|); + static $example9 = $|>MARK_OCCURRENCES:param1<| <= 100 ? run($|>MARK_OCCURRENCES:param1<| + 1) : "Test $|>MARK_OCCURRENCES:param1<|"; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01c.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01c.occurrences new file mode 100644 index 000000000000..f8decf9ca525 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01c.occurrences @@ -0,0 +1,4 @@ + public function run(int $|>MARK_OCCURRENCES:param1<|) : void { + static $example2 = $|>MARK_OCCURRENCES:param1<|; + static $example6 = new stdClass($|>MARK_OCCURRENCES:para^m1<|); + static $example9 = $|>MARK_OCCURRENCES:param1<| <= 100 ? run($|>MARK_OCCURRENCES:param1<| + 1) : "Test $|>MARK_OCCURRENCES:param1<|"; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01d.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01d.occurrences new file mode 100644 index 000000000000..d7366951d0e9 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01d.occurrences @@ -0,0 +1,4 @@ + public function run(int $|>MARK_OCCURRENCES:param1<|) : void { + static $example2 = $|>MARK_OCCURRENCES:param1<|; + static $example6 = new stdClass($|>MARK_OCCURRENCES:param1<|); + static $example9 = $|>MARK_OCCURRENCES:para^m1<| <= 100 ? run($|>MARK_OCCURRENCES:param1<| + 1) : "Test $|>MARK_OCCURRENCES:param1<|"; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01e.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01e.occurrences new file mode 100644 index 000000000000..6e975b4f5f04 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01e.occurrences @@ -0,0 +1,4 @@ + public function run(int $|>MARK_OCCURRENCES:param1<|) : void { + static $example2 = $|>MARK_OCCURRENCES:param1<|; + static $example6 = new stdClass($|>MARK_OCCURRENCES:param1<|); + static $example9 = $|>MARK_OCCURRENCES:param1<| <= 100 ? run($|>MARK_OCCURRENCES:p^aram1<| + 1) : "Test $|>MARK_OCCURRENCES:param1<|"; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01f.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01f.occurrences new file mode 100644 index 000000000000..97efffeaa602 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_01f.occurrences @@ -0,0 +1,4 @@ + public function run(int $|>MARK_OCCURRENCES:param1<|) : void { + static $example2 = $|>MARK_OCCURRENCES:param1<|; + static $example6 = new stdClass($|>MARK_OCCURRENCES:param1<|); + static $example9 = $|>MARK_OCCURRENCES:param1<| <= 100 ? run($|>MARK_OCCURRENCES:param1<| + 1) : "Test $|>MARK_OCCURRENCES:para^m1<|"; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02a.occurrences new file mode 100644 index 000000000000..6ecc80a811da --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02a.occurrences @@ -0,0 +1,2 @@ + private int $|>MARK_OCCURRENCES:fie^ld<| = 1; + static $example3 = $this->|>MARK_OCCURRENCES:field<|; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02b.occurrences new file mode 100644 index 000000000000..e1d8e94533b2 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_02b.occurrences @@ -0,0 +1,2 @@ + private int $|>MARK_OCCURRENCES:field<| = 1; + static $example3 = $this->|>MARK_OCCURRENCES:fiel^d<|; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03a.occurrences new file mode 100644 index 000000000000..37ebfaef4103 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03a.occurrences @@ -0,0 +1,2 @@ + public function |>MARK_OCCURRENCES:met^hod<|(): int { + static $example4 = $this->|>MARK_OCCURRENCES:method<|(); diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03b.occurrences new file mode 100644 index 000000000000..5c2db7adcfc2 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_03b.occurrences @@ -0,0 +1,2 @@ + public function |>MARK_OCCURRENCES:method<|(): int { + static $example4 = $this->|>MARK_OCCURRENCES:meth^od<|(); diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04a.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04a.occurrences new file mode 100644 index 000000000000..fdd4d0344a84 --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04a.occurrences @@ -0,0 +1,2 @@ +$|>MARK_OCCURRENCES:vari^able<| = 1; +static $example2 = $|>MARK_OCCURRENCES:variable<|; diff --git a/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04b.occurrences b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04b.occurrences new file mode 100644 index 000000000000..78cc6b57ecaf --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/markoccurences/php83/testArbitraryStaticVariableInitializers/testArbitraryStaticVariableInitializers.php.testArbitraryStaticVariableInitializers_04b.occurrences @@ -0,0 +1,2 @@ +$|>MARK_OCCURRENCES:variable<| = 1; +static $example2 = $|>MARK_OCCURRENCES:varia^ble<|; diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHP83CodeCompletionTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHP83CodeCompletionTest.java index c50329786616..c1987dcdddce 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHP83CodeCompletionTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/completion/PHP83CodeCompletionTest.java @@ -476,6 +476,50 @@ public void testTypedClassConstantsTypingInterface10() throws Exception { checkCompletion("typedClassConstantsTypingInterface10", " public const (A&B)|(A&C) CONST_NAME = ^"); } + public void testArbitraryStaticVariableInitializers_01() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example1 = te^st();"); + } + + public void testArbitraryStaticVariableInitializers_02() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example2 = $para^m1;"); + } + + public void testArbitraryStaticVariableInitializers_03() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example3 = $this->fi^eld;"); + } + + public void testArbitraryStaticVariableInitializers_04() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example4 = $this->metho^d();"); + } + + public void testArbitraryStaticVariableInitializers_05() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example6 = new stdClass($param^1);"); + } + + public void testArbitraryStaticVariableInitializers_06() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example9 = $param1 <= 100 ? ru^n($param1 + 1) : \"Test $param1\";"); + } + + public void testArbitraryStaticVariableInitializers_07() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example9 = $param1 <= 100 ? run($param1 + 1) : \"Test $param^1\";"); + } + + public void testArbitraryStaticVariableInitializers_08() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example10 = tes^t(), $example11 = test();"); + } + + public void testArbitraryStaticVariableInitializers_09() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", " static $example10 = test(), $example11 = tes^t();"); + } + + public void testArbitraryStaticVariableInitializers_10() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", "static $example1 = te^st();"); + } + + public void testArbitraryStaticVariableInitializers_11() throws Exception { + checkCompletion("testArbitraryStaticVariableInitializers", "static $example2 = $variab^le;"); + } + public void testOverrideAttribute01() throws Exception { checkCompletionCustomTemplateResult(getTestPath("testOverrideAttribute01"), " test^", new DefaultFilter(PhpVersion.PHP_83, "test"), true); @@ -505,5 +549,4 @@ public void testOverrideAttributeEnum01_PHP82() throws Exception { checkCompletionCustomTemplateResult(getTestPath("testOverrideAttributeEnum01"), " test^", new DefaultFilter(PhpVersion.PHP_82, "test"), true); } - } diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP83Test.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP83Test.java index 69c6051c2172..12df8d0f47db 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP83Test.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/GotoDeclarationPHP83Test.java @@ -369,7 +369,35 @@ public void testTypedClassConstants_26a() throws Exception { checkDeclaration(getTestPath(), " public const static A = EnumT^est::Test; // enum", "enum ^EnumTest {"); } - public void testTypedClassConstants_01() throws Exception { -// checkDeclaration(getTestPath(), "", ""); + public void testArbitraryStaticVariableInitializers_01a() throws Exception { + checkDeclaration(getTestPath(), " static $example2 = $pa^ram1;", " public function run(int $^param1) : void {"); + } + + public void testArbitraryStaticVariableInitializers_01b() throws Exception { + checkDeclaration(getTestPath(), " static $example6 = new stdClass($para^m1);", " public function run(int $^param1) : void {"); + } + + public void testArbitraryStaticVariableInitializers_01c() throws Exception { + checkDeclaration(getTestPath(), " static $example9 = $par^am1 <= 100 ? run($param1 + 1) : \"Test $param1\";", " public function run(int $^param1) : void {"); + } + + public void testArbitraryStaticVariableInitializers_01d() throws Exception { + checkDeclaration(getTestPath(), " static $example9 = $param1 <= 100 ? run($param^1 + 1) : \"Test $param1\";", " public function run(int $^param1) : void {"); + } + + public void testArbitraryStaticVariableInitializers_01e() throws Exception { + checkDeclaration(getTestPath(), " static $example9 = $param1 <= 100 ? run($param1 + 1) : \"Test $par^am1\";", " public function run(int $^param1) : void {"); + } + + public void testArbitraryStaticVariableInitializers_02a() throws Exception { + checkDeclaration(getTestPath(), " static $example3 = $this->fie^ld;", " private int $^field = 1;"); + } + + public void testArbitraryStaticVariableInitializers_03a() throws Exception { + checkDeclaration(getTestPath(), " static $example4 = $this->meth^od();", " public function ^method(): int {"); + } + + public void testArbitraryStaticVariableInitializers_04a() throws Exception { + checkDeclaration(getTestPath(), "static $example2 = $varia^ble;", "$^variable = 1;"); } } diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP83Test.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP83Test.java index 1ae59db1446a..4de8be8cd635 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP83Test.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/csl/OccurrencesFinderImplPHP83Test.java @@ -588,4 +588,52 @@ public void testTypedClassConstants_23a() throws Exception { public void testTypedClassConstants_23b() throws Exception { checkOccurrences(getTestPath(), " case T^est;", true); } + + public void testArbitraryStaticVariableInitializers_01a() throws Exception { + checkOccurrences(getTestPath(), " public function run(int $par^am1) : void {", true); + } + + public void testArbitraryStaticVariableInitializers_01b() throws Exception { + checkOccurrences(getTestPath(), " static $example2 = $para^m1;", true); + } + + public void testArbitraryStaticVariableInitializers_01c() throws Exception { + checkOccurrences(getTestPath(), " static $example6 = new stdClass($para^m1);", true); + } + + public void testArbitraryStaticVariableInitializers_01d() throws Exception { + checkOccurrences(getTestPath(), " static $example9 = $para^m1 <= 100 ? run($param1 + 1) : \"Test $param1\";", true); + } + + public void testArbitraryStaticVariableInitializers_01e() throws Exception { + checkOccurrences(getTestPath(), " static $example9 = $param1 <= 100 ? run($p^aram1 + 1) : \"Test $param1\";", true); + } + + public void testArbitraryStaticVariableInitializers_01f() throws Exception { + checkOccurrences(getTestPath(), " static $example9 = $param1 <= 100 ? run($param1 + 1) : \"Test $para^m1\";", true); + } + + public void testArbitraryStaticVariableInitializers_02a() throws Exception { + checkOccurrences(getTestPath(), " private int $fie^ld = 1;", true); + } + + public void testArbitraryStaticVariableInitializers_02b() throws Exception { + checkOccurrences(getTestPath(), " static $example3 = $this->fiel^d;", true); + } + + public void testArbitraryStaticVariableInitializers_03a() throws Exception { + checkOccurrences(getTestPath(), " public function met^hod(): int {", true); + } + + public void testArbitraryStaticVariableInitializers_03b() throws Exception { + checkOccurrences(getTestPath(), " static $example4 = $this->meth^od();", true); + } + + public void testArbitraryStaticVariableInitializers_04a() throws Exception { + checkOccurrences(getTestPath(), "$vari^able = 1;", true); + } + + public void testArbitraryStaticVariableInitializers_04b() throws Exception { + checkOccurrences(getTestPath(), "static $example2 = $varia^ble;", true); + } } diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTest.java index 5765a7c50708..db211dd07d6a 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/indent/PHPFormatterTest.java @@ -1139,6 +1139,11 @@ public void testTypedClassConstants_02() throws Exception { reformatFileContents("testfiles/formatting/php83/typedClassConstants_02.php", options, false, true); } + public void testArbitraryStaticVariableInitializers_01a() throws Exception { + HashMap options = new HashMap<>(FmtOptions.getDefaults()); + reformatFileContents("testfiles/formatting/php83/arbitraryStaticVariableInitializers_01.php", options, false, true); + } + public void testGH7185_01() throws Exception { HashMap options = new HashMap<>(FmtOptions.getDefaults()); reformatFileContents("testfiles/formatting/issueGH7185_01.php", options, false, false); From 6b86a362fda86431e667d7d15c8c095977d16a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 14 Dec 2024 23:45:11 +0100 Subject: [PATCH 87/94] Maven: Improve dependency resolution (for example for annotation processors like lombok) Resolution of processors also needs to take into account, that for example the version for an artifact could be provided by DependencyManagement. Closes: #8054 Closes: #8041 --- .../maven/api/PluginPropertyUtils.java | 27 ++++- .../maven/api/PluginPropertyUtilsTest.java | 105 ++++++++++++++++++ 2 files changed, 129 insertions(+), 3 deletions(-) diff --git a/java/maven/src/org/netbeans/modules/maven/api/PluginPropertyUtils.java b/java/maven/src/org/netbeans/modules/maven/api/PluginPropertyUtils.java index 9dd86aa3798d..86248895872a 100644 --- a/java/maven/src/org/netbeans/modules/maven/api/PluginPropertyUtils.java +++ b/java/maven/src/org/netbeans/modules/maven/api/PluginPropertyUtils.java @@ -26,6 +26,8 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.Optional; import java.util.Properties; import java.util.Set; import org.apache.maven.artifact.Artifact; @@ -39,6 +41,7 @@ import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException; import org.apache.maven.artifact.versioning.VersionRange; import org.apache.maven.model.Dependency; +import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.InputLocation; import org.apache.maven.model.Plugin; import org.apache.maven.model.PluginExecution; @@ -613,8 +616,10 @@ static class DependencyListBuilder implements ConfigurationBuilder build(Xpp3Dom configRoot, ExpressionEvaluator eval) { item.setScope(s.getValue()); item.setLocation(PROP_SCOPE, (InputLocation)s.getInputLocation()); } + if (item.getVersion() == null && dependencyManagement != null && dependencyManagement.getDependencies() != null) { + dependencyManagement + .getDependencies() + .stream() + .filter(d -> { + return Objects.equals(item.getGroupId(), d.getGroupId()) + && Objects.equals(item.getArtifactId(), d.getArtifactId()) + && Objects.equals(item.getClassifier(), d.getClassifier()) + && Objects.equals(item.getType(), d.getType()); + }) + .findFirst() + .ifPresent(d -> { + item.setVersion(d.getVersion()); + item.setLocation(PROP_VERSION, d.getLocation(PROP_VERSION)); + }); + } coords.add(item); } return coords; @@ -793,7 +814,7 @@ public String getDefaultScope() { } MavenProject mavenProject = projectImpl.getOriginalMavenProject(); - DependencyListBuilder bld = new DependencyListBuilder(query.getPathProperty(), query.getArtifactType()); + DependencyListBuilder bld = new DependencyListBuilder(mavenProject.getDependencyManagement(), query.getPathProperty(), query.getArtifactType()); List coordinates = PluginPropertyUtils.getPluginPropertyBuildable(mavenProject, query.getPluginGroupId(), query.getPluginArtifactId(), query.getGoal(), bld); if (coordinates == null) { return null; @@ -833,7 +854,7 @@ public String getDefaultScope() { artifact = new DefaultArtifact( coord.getGroupId(), coord.getArtifactId(), - "", + (VersionRange) null, coord.getScope() == null ? query.getDefaultScope() : coord.getScope(), coord.getType(), coord.getClassifier(), diff --git a/java/maven/test/unit/src/org/netbeans/modules/maven/api/PluginPropertyUtilsTest.java b/java/maven/test/unit/src/org/netbeans/modules/maven/api/PluginPropertyUtilsTest.java index e35bfc12c11e..0b6cdff8ba10 100644 --- a/java/maven/test/unit/src/org/netbeans/modules/maven/api/PluginPropertyUtilsTest.java +++ b/java/maven/test/unit/src/org/netbeans/modules/maven/api/PluginPropertyUtilsTest.java @@ -20,12 +20,17 @@ package org.netbeans.modules.maven.api; import java.io.File; +import java.io.IOException; import java.io.StringReader; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.resolver.ArtifactResolutionException; import org.apache.maven.model.Dependency; import org.codehaus.plexus.util.xml.Xpp3Dom; import org.codehaus.plexus.util.xml.Xpp3DomBuilder; +import org.netbeans.api.project.Project; import org.netbeans.api.project.ProjectManager; import org.netbeans.junit.NbTestCase; import org.openide.filesystems.FileObject; @@ -202,6 +207,7 @@ public void testDependencyListBuilder() throws Exception { // Matching filter for propertyItemName should yield correct result PluginPropertyUtils.DependencyListBuilder bld = new PluginPropertyUtils.DependencyListBuilder( + null, "annotationProcessorPaths", null ); @@ -266,10 +272,109 @@ public void testDependencyListBuilder() throws Exception { // Filter with null value for propertyItemName should yield full list Xpp3Dom configRoot2 = Xpp3DomBuilder.build(new StringReader(testPom2)).getChild("build").getChild("plugins").getChildren()[0].getChild("configuration"); PluginPropertyUtils.DependencyListBuilder bld2 = new PluginPropertyUtils.DependencyListBuilder( + null, "annotationProcessorPaths", null ); List dependencies3 = bld2.build(configRoot2, PluginPropertyUtils.DUMMY_EVALUATOR); assertEquals(2, dependencies3.size()); } + + public void testDependencyBuilderWithDependencyManagement() throws IOException { + TestFileUtils.writeFile(d, "pom.xml", + """ + + + 4.0.0 + let.me.reproduce + annotation-processor-netbeans-reproducer + 1.0-SNAPSHOT + jar + + + + org.projectlombok + lombok + 1.18.36 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + + + org.projectlombok + lombok + jar + + + + + + + + """ + ); + Project project = ProjectManager.getDefault().findProject(d); + assert project != null; + PluginPropertyUtils.PluginConfigPathParams query = new PluginPropertyUtils.PluginConfigPathParams("org.apache.maven.plugins", "maven-compiler-plugin", "annotationProcessorPaths"); + query.setDefaultScope(Artifact.SCOPE_RUNTIME); + query.setGoal("runtime"); + List errorList = new ArrayList<>(); + List artifacts = PluginPropertyUtils.getPluginPathProperty(project, query, true, errorList); + assertNotNull(artifacts); + assert artifacts != null; + assertEquals(1, artifacts.size()); + assertEquals("org.projectlombok", artifacts.get(0).getGroupId()); + assertEquals("lombok", artifacts.get(0).getArtifactId()); + assertEquals("1.18.36", artifacts.get(0).getVersion()); + assertNull(artifacts.get(0).getClassifier()); + } + + public void testDependencyBuilderWithoutVersion() throws IOException { + TestFileUtils.writeFile(d, "pom.xml", + """ + + + 4.0.0 + let.me.reproduce + annotation-processor-netbeans-reproducer + 1.0-SNAPSHOT + jar + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + + + org.projectlombok + lombok + + + + + + + + """ + ); + Project project = ProjectManager.getDefault().findProject(d); + assert project != null; + PluginPropertyUtils.PluginConfigPathParams query = new PluginPropertyUtils.PluginConfigPathParams("org.apache.maven.plugins", "maven-compiler-plugin", "annotationProcessorPaths"); + query.setDefaultScope(Artifact.SCOPE_RUNTIME); + query.setGoal("runtime"); + List errorList = new ArrayList<>(); + List artifacts = PluginPropertyUtils.getPluginPathProperty(project, query, true, errorList); + assertNotNull(artifacts); + assert artifacts != null; + assertEquals(0, artifacts.size()); + } } From 2b82c086c7a6a80c7249a4eeea85699caef35ea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Mon, 11 Nov 2024 23:57:35 +0100 Subject: [PATCH 88/94] Fix CDI Unittests Start: 85 passed, 45 failed - Add "Java SE Platforms and Libraries" as test dependency Status: 125 passed, 5 failed - Reference code uses wrong placement of annotations, method annotations come before the return type - There is not mention in the spec, that an @Injectable field may not be initialized Status: 130 passed --- enterprise/web.beans/nbproject/project.xml | 8 ++++++-- .../modules/web/beans/model/InterceptorBindingsTest.java | 8 ++++---- .../web/beans/model/InterceptorResolutionTest.java | 8 ++++---- .../org/netbeans/modules/web/beans/model/ModelTest.java | 3 +-- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/enterprise/web.beans/nbproject/project.xml b/enterprise/web.beans/nbproject/project.xml index 4d547be3ba12..fb13eb641ed2 100644 --- a/enterprise/web.beans/nbproject/project.xml +++ b/enterprise/web.beans/nbproject/project.xml @@ -418,6 +418,10 @@ + + org.netbeans.modules.java.j2seplatform + + org.netbeans.modules.javahelp @@ -456,12 +460,12 @@ org.openide.text - org.openide.util.ui + org.openide.util.lookup - org.openide.util.lookup + org.openide.util.ui diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsTest.java index 9fad04a94fa3..22e398e9c5d6 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsTest.java @@ -239,21 +239,21 @@ public void testMethodInterceptorBindings() throws IOException{ "package foo; " + "@IBinding1 "+ "public class One {" + - " void @IBinding3 method1(){} "+ - " void @Stereotype2 method2(){} "+ + " @IBinding3 void method1(){} "+ + " @Stereotype2 void method2(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Two.java", "package foo; " + "@Stereotype2 "+ "public class Two {" + - " void @IBinding1 method(){} "+ + " @IBinding1 void method(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Three.java", "package foo; " + "public class Three {" + - " void @IBinding1 method(){} "+ + " @IBinding1 void method(){} "+ "}" ); TestWebBeansModelImpl modelImpl = createModelImpl(true ); diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionTest.java index 7665ba348fb0..c97b90cc9e2d 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionTest.java @@ -219,7 +219,7 @@ public void testEnabledInterceptor() throws IOException{ "package foo; " + "@IBinding1 "+ "public class One {" + - " void @IBinding2 method1(){} "+ + " @IBinding2 void method1(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Iceptor1.java", @@ -277,7 +277,7 @@ public void testDeclaredInterceptor() throws IOException{ "import javax.interceptor.*; "+ "@Interceptors({DeclaredIceptor1.class, DeclaredIceptor2.class}) "+ "public class One {" + - " void @IBinding1 @Interceptors({DeclaredIceptor3.class}) method(){} "+ + " @IBinding1 @Interceptors({DeclaredIceptor3.class}) void method(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Iceptor1.java", @@ -394,7 +394,7 @@ public void testInterceptorMixedCases() throws IOException{ "package foo; " + "@IBinding3 "+ "public class One {" + - " void @IBinding2 method1(){} "+ + " @IBinding2 void method1(){} "+ " @Stereotype2 @IBinding1(\"c\") void method2(){} "+ "}" ); @@ -402,7 +402,7 @@ public void testInterceptorMixedCases() throws IOException{ "package foo; " + "@Stereotype1 "+ "public class Two {" + - " void @IBinding1(\"b\") method(){} "+ + " @IBinding1(\"b\") void method(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Iceptor1.java", diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelTest.java index 58d0e880479d..255b1ca372f0 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelTest.java @@ -92,9 +92,8 @@ public Void run( WebBeansModel model ) throws Exception { assertNotNull( fieldA ); DependencyInjectionResult result = model.lookupInjectables(fieldA, null, new AtomicBoolean(false)); - assertEquals(DependencyInjectionResult.ResultKind.DEFINITION_ERROR, + assertEquals(DependencyInjectionResult.ResultKind.INJECTABLE_RESOLVED, result.getKind()); - assertTrue( result instanceof DependencyInjectionResult.Error); VariableElement fieldB = variables.get("myFieldB"); assertNotNull( fieldB ); From fcdd3e8f0d96bbb8b99efd665ab2418675c2c1ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 9 Nov 2024 12:44:27 +0100 Subject: [PATCH 89/94] Merge jakarta.web.beans and web.beans The jakarta.web.beans module was created as a copy of the web.beans module, just using the new namespaces after the death of JavaEE and the inception of JakartaEE. Other modules followed a different route, where the existing implementations were extended to support both the old and new XML/package namespaces. This becomes a problem, when it hits the UI as the user then does not know what to do (which template/menu entry to choose and "what the heck is JakartaEE and why is that not JavaEE anymore?!"). What is more codepaths are duplicated and fixes for one area are highly likely to be relevant for the other also. This change integrates the unittests from the jakarta.web.beans project, if they actually check jakarta* functions and modifies the codepaths, so that both namespaces are supported. Closes: #7918 --- .../j2ee.api.ejbmodule/nbproject/project.xml | 1 - enterprise/j2ee.common/nbproject/project.xml | 1 - enterprise/jakarta.web.beans/build.xml | 25 - enterprise/jakarta.web.beans/licenseinfo.xml | 39 - enterprise/jakarta.web.beans/manifest.mf | 6 - ...org-netbeans-modules-jakarta-web-beans.sig | 539 ----------- .../nbproject/project.properties | 27 - .../jakarta.web.beans/nbproject/project.xml | 481 ---------- .../jakarta/web/beans/BeansDataLoader.java | 57 -- .../jakarta/web/beans/BeansDataObject.java | 113 --- .../jakarta/web/beans/Bundle.properties | 18 - .../modules/jakarta/web/beans/CarCdiUtil.java | 59 -- .../jakarta/web/beans/CdiProjectOpenHook.java | 72 -- .../modules/jakarta/web/beans/CdiUtil.java | 332 ------- .../modules/jakarta/web/beans/EjbCdiUtil.java | 61 -- .../jakarta/web/beans/MetaModelSupport.java | 108 --- ...eanInjectionTargetQueryImplementation.java | 122 --- .../modules/jakarta/web/beans/WebCdiUtil.java | 71 -- .../web/beans/actions/Bundle.properties | 31 - .../web/beans/actions/InterceptorFactory.java | 106 --- .../beans/actions/InterceptorGenerator.java | 264 ------ .../web/beans/actions/InterceptorPanel.form | 98 -- .../web/beans/actions/InterceptorPanel.java | 218 ----- .../beans/analysis/AbstractAnalysisTask.java | 65 -- .../web/beans/analysis/BeansXmlFix.java | 95 -- .../web/beans/analysis/Bundle.properties | 21 - .../analysis/CancellableAnalysysTask.java | 85 -- .../web/beans/analysis/CdiAnalysisResult.java | 134 --- .../web/beans/analysis/CdiAnalysisTask.java | 130 --- .../analysis/CdiEditorAnalysisFactory.java | 232 ----- .../beans/analysis/CdiEditorAnalysisTask.java | 50 - .../CdiEditorAwareJavaSourceTaskFactory.java | 45 - .../beans/analysis/WebBeansAnalysisTask.java | 206 ----- .../analysis/WebBeansEditorAnalysisTask.java | 54 -- .../WebBeansModelAnalysisFactory.java | 50 - .../analyzer/AbstractDecoratorAnalyzer.java | 187 ---- .../AbstractInterceptedElementAnalyzer.java | 51 - .../analyzer/AbstractProducerAnalyzer.java | 80 -- .../analyzer/AbstractScopedAnalyzer.java | 138 --- .../analyzer/AbstractTypedAnalyzer.java | 182 ---- .../analyzer/AnnotationElementAnalyzer.java | 72 -- .../analyzer/AnnotationModelAnalyzer.java | 69 -- .../analysis/analyzer/AnnotationUtil.java | 217 ----- .../beans/analysis/analyzer/Bundle.properties | 18 - .../analyzer/ClassElementAnalyzer.java | 69 -- .../analysis/analyzer/ClassModelAnalyzer.java | 77 -- .../beans/analysis/analyzer/CtorAnalyzer.java | 67 -- .../analysis/analyzer/ElementAnalyzer.java | 38 - .../analyzer/FieldElementAnalyzer.java | 74 -- .../analysis/analyzer/FieldModelAnalyzer.java | 74 -- .../analyzer/MethodElementAnalyzer.java | 84 -- .../analyzer/MethodModelAnalyzer.java | 81 -- .../analysis/analyzer/ModelAnalyzer.java | 126 --- .../analyzer/annotation/Bundle.properties | 46 - .../annotation/CdiAnnotationAnalyzer.java | 101 -- .../InterceptorBindingAnalyzer.java | 146 --- .../InterceptorBindingMembersAnalyzer.java | 90 -- .../InterceptorBindingVerifier.java | 63 -- .../annotation/QualifierAnalyzer.java | 101 -- .../annotation/QualifierVerifier.java | 104 --- .../annotation/RuntimeRetentionAnalyzer.java | 79 -- .../analyzer/annotation/ScopeAnalyzer.java | 106 --- .../analyzer/annotation/ScopeVerifier.java | 56 -- .../annotation/StereotypeAnalyzer.java | 262 ------ .../annotation/StereotypeVerifier.java | 68 -- .../analyzer/annotation/TargetAnalyzer.java | 123 --- .../analyzer/annotation/TargetVerifier.java | 35 - .../analysis/analyzer/field/Bundle.properties | 48 - .../analyzer/field/DelegateFieldAnalizer.java | 133 --- .../field/InjectionPointAnalyzer.java | 226 ----- .../analyzer/field/ProducerFieldAnalyzer.java | 104 --- .../analyzer/field/ScopedFieldAnalyzer.java | 110 --- .../analyzer/field/TypedFieldAnalyzer.java | 72 -- .../analyzer/method/AnnotationsAnalyzer.java | 242 ----- .../analyzer/method/Bundle.properties | 87 -- .../method/DelegateMethodAnalyzer.java | 138 --- .../InjectionPointParameterAnalyzer.java | 257 ------ .../method/InterceptedMethodAnalyzer.java | 188 ---- .../method/ProducerMethodAnalyzer.java | 125 --- .../analyzer/method/ScopedMethodAnalyzer.java | 120 --- .../analyzer/method/TypedMethodAnalyzer.java | 205 ---- .../analyzer/type/AnnotationsAnalyzer.java | 275 ------ .../analysis/analyzer/type/Bundle.properties | 93 -- .../analysis/analyzer/type/CtorsAnalyzer.java | 67 -- .../type/DeclaredIBindingsAnalyzer.java | 164 ---- .../type/InterceptedBeanAnalyzer.java | 117 --- .../analyzer/type/ManagedBeansAnalizer.java | 173 ---- .../analyzer/type/NamedModelAnalyzer.java | 73 -- .../analyzer/type/ScopedBeanAnalyzer.java | 225 ----- .../analyzer/type/SessionBeanAnalyzer.java | 89 -- .../analyzer/type/TypedClassAnalizer.java | 104 --- .../model/AbstractModelImplementation.java | 68 -- .../web/beans/api/model/BeanArchiveType.java | 29 - .../web/beans/api/model/BeansModel.java | 61 -- .../beans/api/model/BeansModelFactory.java | 51 - .../web/beans/api/model/BeansResult.java | 35 - .../web/beans/api/model/CdiException.java | 33 - .../api/model/DependencyInjectionResult.java | 119 --- .../model/InjectionPointDefinitionError.java | 53 -- .../beans/api/model/InterceptorsResult.java | 58 -- .../web/beans/api/model/ModelUnit.java | 133 --- .../jakarta/web/beans/api/model/Result.java | 45 - .../web/beans/api/model/WebBeansModel.java | 303 ------ .../beans/api/model/WebBeansModelFactory.java | 61 -- .../beans/completion/BeansCompletionItem.java | 366 -------- .../completion/BeansCompletionManager.java | 145 --- .../completion/BeansCompletionProvider.java | 483 ---------- .../web/beans/completion/BeansCompletor.java | 157 ---- .../beans/completion/BeansXmlConstants.java | 31 - .../beans/completion/CCPaintComponent.java | 316 ------- .../web/beans/completion/CCParser.java | 444 --------- .../beans/completion/CompletionContext.java | 295 ------ .../completion/CompletionContextResolver.java | 33 - .../beans/completion/ContextUtilities.java | 146 --- .../web/beans/completion/DocumentContext.java | 236 ----- .../completion/EditorContextFactory.java | 42 - .../jakarta/web/beans/completion/Utils.java | 77 -- .../jakarta/web/beans/hints/Bundle.properties | 35 - .../web/beans/hints/CDIAnnotation.java | 96 -- .../web/beans/hints/CreateAnnotationFix.java | 119 --- .../beans/hints/CreateInterceptorBinding.java | 67 -- .../web/beans/hints/CreateQualifier.java | 417 --------- .../web/beans/hints/CreateQualifierFix.java | 67 -- .../beans/hints/EditorAnnotationsHelper.java | 252 ----- .../model/AbstractAssignabilityChecker.java | 353 ------- .../impl/model/AbstractObjectProvider.java | 147 --- .../impl/model/AnnotationObjectProvider.java | 474 ---------- .../model/ArchiveTypeBindingTypeFilter.java | 83 -- .../impl/model/AssignabilityChecker.java | 149 --- .../web/beans/impl/model/BeansFilter.java | 54 -- .../web/beans/impl/model/BeansModelImpl.java | 504 ---------- .../beans/impl/model/BindingQualifier.java | 85 -- .../web/beans/impl/model/Bundle.properties | 45 - .../jakarta/web/beans/impl/model/Checker.java | 29 - .../impl/model/DecoratorInterceptorLogic.java | 410 -------- .../web/beans/impl/model/DecoratorObject.java | 59 -- .../impl/model/DecoratorObjectProvider.java | 44 - .../impl/model/DefaultBindingTypeFilter.java | 129 --- .../model/DelegateAssignabilityChecker.java | 262 ------ .../beans/impl/model/EnableBeansFilter.java | 597 ------------ .../impl/model/EventAssignabilityChecker.java | 148 --- .../impl/model/EventInjectionPointLogic.java | 514 ----------- .../impl/model/FieldInjectionPointLogic.java | 872 ------------------ .../jakarta/web/beans/impl/model/Filter.java | 39 - .../impl/model/InterceptorBindingChecker.java | 97 -- .../beans/impl/model/InterceptorObject.java | 61 -- .../impl/model/InterceptorObjectProvider.java | 45 - .../beans/impl/model/MemberBindingFilter.java | 164 ---- .../beans/impl/model/MemberCheckerFilter.java | 245 ----- .../beans/impl/model/MultiLookupStrategy.java | 69 -- .../web/beans/impl/model/NamedStereotype.java | 66 -- .../model/NamedStereotypeObjectProvider.java | 114 --- .../beans/impl/model/NormalScopeChecker.java | 42 - .../web/beans/impl/model/PackagingFilter.java | 149 --- .../model/ParameterInjectionPointLogic.java | 327 ------- .../beans/impl/model/QualifierChecker.java | 136 --- .../impl/model/RestrictedTypedFilter.java | 140 --- .../impl/model/ResultLookupStrategy.java | 46 - .../impl/model/RuntimeAnnotationChecker.java | 97 -- .../web/beans/impl/model/ScopeChecker.java | 88 -- .../model/SingleResultLookupStrategy.java | 92 -- .../beans/impl/model/StereotypeChecker.java | 99 -- .../beans/impl/model/StereotypedObject.java | 63 -- .../impl/model/StereotypedObjectProvider.java | 49 - .../beans/impl/model/TypeBindingFilter.java | 191 ---- .../impl/model/TypeProductionFilter.java | 346 ------- .../model/WebBeansModelImplementation.java | 217 ----- .../impl/model/WebBeansModelProviderImpl.java | 642 ------------- .../model/WebBeansProviderFactoryImpl.java | 49 - .../beans/impl/model/results/BaseResult.java | 59 -- .../model/results/DefinitionErrorResult.java | 58 -- .../beans/impl/model/results/ErrorImpl.java | 57 -- .../model/results/InjectableResultImpl.java | 75 -- .../model/results/InjectablesResultImpl.java | 71 -- .../model/results/InterceptorsResultImpl.java | 210 ----- .../model/results/ResolutionErrorImpl.java | 68 -- .../beans/impl/model/results/ResultImpl.java | 147 --- .../model/spi/WebBeansModelProvider.java | 84 -- .../spi/WebBeansModelProviderFactory.java | 31 - .../web/beans/navigation/BindingsPanel.java | 492 ---------- .../web/beans/navigation/Bundle.properties | 112 --- .../web/beans/navigation/CDIPanel.form | 474 ---------- .../web/beans/navigation/CDIPanel.java | 855 ----------------- .../web/beans/navigation/DecoratorsModel.java | 160 ---- .../web/beans/navigation/DecoratorsPanel.java | 134 --- .../navigation/DocumentationScrollPane.java | 441 --------- .../web/beans/navigation/EventsModel.java | 144 --- .../web/beans/navigation/EventsPanel.java | 74 -- .../web/beans/navigation/HTMLDocView.java | 113 --- .../beans/navigation/InjectableTreeNode.java | 217 ----- .../beans/navigation/InjectablesModel.java | 418 --------- .../beans/navigation/InjectablesPopup.form | 94 -- .../beans/navigation/InjectablesPopup.java | 212 ----- .../beans/navigation/InterceptorsModel.java | 157 ---- .../beans/navigation/InterceptorsPanel.java | 188 ---- .../web/beans/navigation/JavaElement.java | 52 -- .../beans/navigation/JavaHierarchyModel.java | 34 - .../navigation/JavaTreeCellRenderer.java | 54 -- .../web/beans/navigation/MethodTreeNode.java | 82 -- .../web/beans/navigation/NoBorderToolBar.java | 50 - .../web/beans/navigation/ObserversModel.java | 158 ---- .../web/beans/navigation/ObserversPanel.java | 99 -- .../web/beans/navigation/PopupUtil.java | 239 ----- .../web/beans/navigation/ResizablePopup.java | 87 -- .../web/beans/navigation/TypeTreeNode.java | 62 -- .../jakarta/web/beans/navigation/Utils.java | 589 ------------ .../navigation/WebBeansNavigationOptions.java | 106 --- .../navigation/actions/AbstractCdiAction.java | 118 --- .../actions/AbstractInjectableAction.java | 45 - .../actions/AbstractWebBeansAction.java | 78 -- .../navigation/actions/Bundle.properties | 75 -- .../navigation/actions/CdiGlyphAction.java | 292 ------ .../actions/DecoratoresActionStrategy.java | 114 --- .../actions/EventsActionStartegy.java | 124 --- .../actions/GoToDecoratorAtCaretAction.java | 262 ------ .../actions/GoToInjectableAtCaretAction.java | 236 ----- .../actions/InjectablesActionStrategy.java | 125 --- .../actions/InspectCDIAtCaretAction.java | 198 ---- .../actions/InterceptorsActionStrategy.java | 105 --- .../actions/ModelActionStrategy.java | 50 - .../actions/ObserversActionStrategy.java | 109 --- .../navigation/actions/PositionStrategy.java | 31 - .../actions/WebBeansActionHelper.java | 778 ---------------- .../web/beans/resources/BeansResolver.xml | 41 - .../jakarta/web/beans/resources/BeansXml.html | 29 - .../web/beans/resources/Bundle.properties | 34 - .../web/beans/resources/Interceptor.html | 29 - .../web/beans/resources/Interceptor.template | 27 - .../web/beans/resources/Qualifier.html | 29 - .../web/beans/resources/Qualifier.template | 27 - .../jakarta/web/beans/resources/Scope.html | 29 - .../web/beans/resources/Scope.template | 28 - .../web/beans/resources/Stereotype.html | 29 - .../web/beans/resources/Stereotype.template | 26 - .../jakarta/web/beans/resources/delegate.png | Bin 513 -> 0 bytes .../jakarta/web/beans/resources/event.png | Bin 511 -> 0 bytes .../web/beans/resources/injection_point.png | Bin 511 -> 0 bytes .../jakarta/web/beans/resources/layer.xml | 154 ---- .../jakarta/web/beans/resources/observer.png | Bin 511 -> 0 bytes ...a-web-beans-annotations-decorated-bean.xml | 30 - ...a-web-beans-annotations-delegate-point.xml | 30 - ...es-jakarta-web-beans-annotations-event.xml | 30 - ...-web-beans-annotations-injection-point.xml | 30 - ...arta-web-beans-annotations-intercepted.xml | 30 - ...jakarta-web-beans-annotations-observer.xml | 30 - .../web/beans/wizard/BeansXmlIterator.java | 324 ------- .../web/beans/wizard/Bundle.properties | 21 - .../web/beans/xml/AlternativeElement.java | 29 - .../jakarta/web/beans/xml/Alternatives.java | 40 - .../jakarta/web/beans/xml/BeanClass.java | 32 - .../web/beans/xml/BeanClassContainer.java | 36 - .../modules/jakarta/web/beans/xml/Beans.java | 43 - .../web/beans/xml/BeansAttributes.java | 54 -- .../jakarta/web/beans/xml/BeansElement.java | 31 - .../jakarta/web/beans/xml/Decorators.java | 31 - .../jakarta/web/beans/xml/Interceptors.java | 31 - .../jakarta/web/beans/xml/Stereotype.java | 32 - .../web/beans/xml/WebBeansComponent.java | 38 - .../beans/xml/WebBeansComponentFactory.java | 38 - .../jakarta/web/beans/xml/WebBeansModel.java | 33 - .../web/beans/xml/WebBeansModelFactory.java | 54 -- .../web/beans/xml/WebBeansVisitor.java | 34 - .../web/beans/xml/impl/AlternativesImpl.java | 112 --- .../xml/impl/BaseClassContainerImpl.java | 57 -- .../web/beans/xml/impl/BeanClassImpl.java | 69 -- .../jakarta/web/beans/xml/impl/BeansImpl.java | 86 -- .../beans/xml/impl/ClassContainerImpl.java | 57 -- .../web/beans/xml/impl/DecoratorsImpl.java | 55 -- .../web/beans/xml/impl/InterceptorsImpl.java | 55 -- .../web/beans/xml/impl/StereotypeImpl.java | 71 -- .../web/beans/xml/impl/SyncUpdateVisitor.java | 171 ---- .../impl/WebBeansComponentBuildVisitor.java | 157 ---- .../impl/WebBeansComponentFactoryImpl.java | 113 --- .../beans/xml/impl/WebBeansComponentImpl.java | 85 -- .../web/beans/xml/impl/WebBeansElements.java | 82 -- .../web/beans/xml/impl/WebBeansModelImpl.java | 114 --- .../beans/analysis/BaseAnalisysTestCase.java | 349 ------- .../beans/analysis/CdiAnalysisTestResult.java | 97 -- .../beans/analysis/CdiAnalysisTestTask.java | 59 -- .../web/beans/analysis/TestProblems.java | 35 - .../analysis/WebBeansAnalysisTestResult.java | 135 --- .../analysis/WebBeansAnalysisTestTask.java | 81 -- .../web/beans/model/CommonTestCase.java | 216 ----- .../web/beans/model/TestBeansModelImpl.java | 165 ---- .../beans/model/TestWebBeansModelImpl.java | 87 -- .../model/TestWebBeansModelProviderImpl.java | 135 --- .../beans/testutilities/CdiTestUtilities.java | 525 ----------- .../beans/xdm/model/BeansComponentTest.java | 180 ---- .../web/beans/xdm/model/SyncUpdateTest.java | 104 --- .../web/beans/xdm/model/TestCatalogModel.java | 178 ---- .../jakarta/web/beans/xdm/model/Util.java | 204 ---- .../xdm/model/alternatives-beans-orig.xml | 27 - .../beans/xdm/model/alternatives-beans.xml | 30 - .../web/beans/xdm/model/beans-orig.xml | 28 - .../web/beans/xdm/model/empty-beans.xml | 23 - enterprise/web.beans/licenseinfo.xml | 2 + enterprise/web.beans/nbproject/project.xml | 9 + .../modules/web/beans/BeansDataLoader.java | 57 -- .../modules/web/beans/BeansDataObject.java | 4 +- .../netbeans/modules/web/beans/CdiUtil.java | 6 +- .../web/beans/actions/InterceptorFactory.java | 27 +- .../beans/actions/InterceptorGenerator.java | 17 +- .../analyzer/AbstractDecoratorAnalyzer.java | 14 +- .../analyzer/AbstractScopedAnalyzer.java | 6 +- .../analyzer/AbstractTypedAnalyzer.java | 10 +- .../analysis/analyzer/AnnotationUtil.java | 212 +++-- .../beans/analysis/analyzer/CtorAnalyzer.java | 8 +- .../InterceptorBindingAnalyzer.java | 4 +- .../InterceptorBindingMembersAnalyzer.java | 8 +- .../annotation/QualifierAnalyzer.java | 4 +- .../analyzer/annotation/ScopeAnalyzer.java | 8 +- .../annotation/StereotypeAnalyzer.java | 23 +- .../analyzer/field/DelegateFieldAnalizer.java | 15 +- .../field/InjectionPointAnalyzer.java | 24 +- .../analyzer/field/ScopedFieldAnalyzer.java | 7 +- .../analyzer/method/AnnotationsAnalyzer.java | 16 +- .../method/DelegateMethodAnalyzer.java | 12 +- .../InjectionPointParameterAnalyzer.java | 29 +- .../method/InterceptedMethodAnalyzer.java | 6 +- .../method/ProducerMethodAnalyzer.java | 14 +- .../analyzer/method/ScopedMethodAnalyzer.java | 7 +- .../analyzer/method/TypedMethodAnalyzer.java | 4 +- .../analyzer/type/AnnotationsAnalyzer.java | 56 +- .../analysis/analyzer/type/Bundle.properties | 2 +- .../analysis/analyzer/type/CtorsAnalyzer.java | 6 +- .../type/InterceptedBeanAnalyzer.java | 4 +- .../analyzer/type/ManagedBeansAnalizer.java | 21 +- .../analyzer/type/NamedModelAnalyzer.java | 10 +- .../analyzer/type/ScopedBeanAnalyzer.java | 30 +- .../analyzer/type/SessionBeanAnalyzer.java | 17 +- .../web/beans/api/model/WebBeansModel.java | 3 +- .../web/beans/completion/BeansCompletor.java | 2 +- .../web/beans/hints/CreateQualifier.java | 75 +- .../impl/model/AbstractObjectProvider.java | 50 +- .../impl/model/AnnotationObjectProvider.java | 114 +-- .../model/ArchiveTypeBindingTypeFilter.java | 20 +- .../web/beans/impl/model/BeansFilter.java | 2 +- .../impl/model/DecoratorInterceptorLogic.java | 38 +- .../web/beans/impl/model/DecoratorObject.java | 11 +- .../impl/model/DecoratorObjectProvider.java | 4 +- .../impl/model/DefaultBindingTypeFilter.java | 35 +- .../beans/impl/model/EnableBeansFilter.java | 53 +- .../impl/model/EventInjectionPointLogic.java | 49 +- .../impl/model/FieldInjectionPointLogic.java | 130 +-- .../impl/model/InterceptorBindingChecker.java | 17 +- .../beans/impl/model/InterceptorObject.java | 5 +- .../impl/model/InterceptorObjectProvider.java | 4 +- .../beans/impl/model/MemberBindingFilter.java | 7 +- .../beans/impl/model/MemberCheckerFilter.java | 4 +- .../beans/impl/model/MultiLookupStrategy.java | 19 +- .../web/beans/impl/model/NamedStereotype.java | 5 +- .../model/NamedStereotypeObjectProvider.java | 58 +- .../beans/impl/model/NormalScopeChecker.java | 13 +- .../model/ParameterInjectionPointLogic.java | 67 +- .../beans/impl/model/QualifierChecker.java | 21 +- .../impl/model/RestrictedTypedFilter.java | 6 +- .../impl/model/RuntimeAnnotationChecker.java | 13 +- .../web/beans/impl/model/ScopeChecker.java | 18 +- .../beans/impl/model/StereotypeChecker.java | 12 +- .../impl/model/StereotypedObjectProvider.java | 12 +- .../beans/impl/model/TypeBindingFilter.java | 7 +- .../model/WebBeansModelImplementation.java | 38 +- .../impl/model/WebBeansModelProviderImpl.java | 89 +- .../model/results/InterceptorsResultImpl.java | 8 +- .../beans/impl/model/results/ResultImpl.java | 6 +- .../web/beans/navigation/BindingsPanel.java | 54 +- .../web/beans/navigation/CDIPanel.java | 4 +- .../web/beans/navigation/DecoratorsPanel.java | 8 +- .../web/beans/navigation/ObserversPanel.java | 4 - .../actions/WebBeansActionHelper.java | 64 +- .../web/beans/resources/BeansResolver.xml | 41 - .../web/beans/resources/Bundle.properties | 2 - .../web/beans/resources/Interceptor.template | 4 + .../web/beans/resources/Qualifier.template | 4 + .../web/beans/resources/Scope.template | 8 + .../web/beans/resources/Stereotype.template | 4 + .../web/beans/resources/expandTree.png | Bin 0 -> 351 bytes .../modules/web/beans/resources/fqn.png | Bin 0 -> 531 bytes .../modules/web/beans/resources/layer.xml | 8 +- .../web/beans/wizard/BeansXmlIterator.java | 40 +- .../web/beans/wizard/CDIBeanIterator.java | 173 ++++ .../web/beans/xml/WebBeansComponent.java | 1 + .../impl/WebBeansComponentBuildVisitor.java | 9 +- .../beans/xml/impl/WebBeansComponentImpl.java | 2 +- .../web/beans/xml/impl/WebBeansElements.java | 2 +- .../beans/analysis/BaseAnalisysTestCase.java | 17 +- .../analysis/CdiAnalysisJakartaTest.java} | 12 +- .../web/beans/analysis/CdiAnalysisTest.java | 2 +- .../WebBeansAnalysisJakartaTest.java} | 55 +- .../beans/analysis/WebBeansAnalysisTest.java | 57 +- .../beans/model/AlternativeJakartaTest.java} | 12 +- .../web/beans/model/AlternativeTest.java | 5 +- .../web/beans/model/AnyJakartaTest.java} | 14 +- .../modules/web/beans/model/AnyTest.java | 2 +- .../web/beans/model/CommonTestCase.java | 26 +- .../web/beans/model/CurrentJakartaTest.java} | 10 +- .../modules/web/beans/model/CurrentTest.java | 2 +- .../beans/model/DecoratorJakartaTest.java} | 10 +- .../web/beans/model/DecoratorTest.java | 2 +- .../DelegateAssignabilityJakartaTest.java} | 10 +- .../model/DelegateAssignabilityTest.java | 2 +- .../model/DisabledBeansJakartaTest.java} | 12 +- .../web/beans/model/DisabledBeansTest.java | 2 +- .../web/beans/model/EventJakartaTest.java} | 10 +- .../modules/web/beans/model/EventTest.java | 2 +- .../InterceptorBindingsJakartaTest.java} | 20 +- .../beans/model/InterceptorBindingsTest.java | 2 +- .../InterceptorResolutionJakartaTest.java} | 20 +- .../model/InterceptorResolutionTest.java | 2 +- .../web/beans/model/ModelJakartaTest.java} | 15 +- .../modules/web/beans/model/ModelTest.java | 24 +- .../web/beans/model/NamedJakartaTest.java} | 12 +- .../modules/web/beans/model/NamedTest.java | 2 +- .../web/beans/model/NewJakartaTest.java} | 14 +- .../modules/web/beans/model/NewTest.java | 2 +- .../beans/model/ObserversJakartaTest.java} | 10 +- .../web/beans/model/ObserversTest.java | 2 +- .../beans/model/ParametersJakartaTest.java} | 14 +- .../web/beans/model/ParametersTest.java | 2 +- .../beans/model/ProgrammaticJakartaTest.java} | 14 +- .../web/beans/model/ProgrammaticTest.java | 2 +- .../beans/model/QualifiersJakartaTest.java} | 10 +- .../web/beans/model/QualifiersTest.java | 2 +- ...arameterizedAssignabilityJakartaTest.java} | 10 +- .../RawParameterizedAssignabilityTest.java | 2 +- .../web/beans/model/ScopeJakartaTest.java} | 21 +- .../modules/web/beans/model/ScopeTest.java | 21 +- .../beans/model/SpecializesJakartaTest.java} | 10 +- .../web/beans/model/SpecializesTest.java | 2 +- .../web/beans/model/TypedJakartaTest.java} | 10 +- .../modules/web/beans/model/TypedTest.java | 2 +- .../beans/testutilities/CdiTestUtilities.java | 152 +-- .../beans/xdm/model/BeansComponentTest.java | 25 + .../web/beans/xdm/model/beans_jakarta.xml} | 2 +- enterprise/web.el/nbproject/project.xml | 9 - .../web.jsf.editor/nbproject/project.xml | 9 - .../web/jsf/editor/JsfSupportImpl.java | 16 +- .../editor/el/WebBeansELVariableResolver.java | 29 +- enterprise/web.jsf/nbproject/project.xml | 9 - .../hints/rules/FlowScopedBeanWithoutCdi.java | 18 +- .../palette/items/ManagedBeanCustomizer.java | 34 +- .../web/jsf/wizards/ManagedBeanIterator.java | 11 +- .../jsf/wizards/ManagedBeanPanelVisual.java | 9 +- .../wizards/PersistenceClientIterator.java | 4 - enterprise/web.kit/nbproject/project.xml | 7 - ide/xml.text/nbproject/project.xml | 1 - .../nbproject/project.xml | 1 - .../nbproject/project.xml | 1 - .../nbcode/nbproject/platform.properties | 1 - java/javaee.injection/nbproject/project.xml | 1 - nbbuild/cluster.properties | 1 - 451 files changed, 1712 insertions(+), 40326 deletions(-) delete mode 100644 enterprise/jakarta.web.beans/build.xml delete mode 100644 enterprise/jakarta.web.beans/licenseinfo.xml delete mode 100644 enterprise/jakarta.web.beans/manifest.mf delete mode 100644 enterprise/jakarta.web.beans/nbproject/org-netbeans-modules-jakarta-web-beans.sig delete mode 100644 enterprise/jakarta.web.beans/nbproject/project.properties delete mode 100644 enterprise/jakarta.web.beans/nbproject/project.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/BeansDataLoader.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/BeansDataObject.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CarCdiUtil.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CdiProjectOpenHook.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CdiUtil.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/EjbCdiUtil.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/MetaModelSupport.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/WebBeanInjectionTargetQueryImplementation.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/WebCdiUtil.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorGenerator.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorPanel.form delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorPanel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/AbstractAnalysisTask.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/BeansXmlFix.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CancellableAnalysysTask.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisResult.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTask.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAnalysisFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAnalysisTask.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAwareJavaSourceTaskFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTask.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansEditorAnalysisTask.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansModelAnalysisFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractDecoratorAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractInterceptedElementAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractProducerAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractScopedAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationElementAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationModelAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationUtil.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ClassElementAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ClassModelAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/CtorAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ElementAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/FieldElementAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/FieldModelAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/MethodElementAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/MethodModelAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ModelAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/CdiAnnotationAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingVerifier.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/QualifierVerifier.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/RuntimeRetentionAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/ScopeVerifier.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/StereotypeVerifier.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/TargetAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/TargetVerifier.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/ProducerFieldAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/TypedFieldAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/CtorsAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/DeclaredIBindingsAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/TypedClassAnalizer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/AbstractModelImplementation.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeanArchiveType.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansModelFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansResult.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/CdiException.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/DependencyInjectionResult.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/InjectionPointDefinitionError.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/InterceptorsResult.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/ModelUnit.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/Result.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/WebBeansModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/WebBeansModelFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionItem.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionManager.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionProvider.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletor.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansXmlConstants.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CCPaintComponent.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CCParser.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CompletionContext.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CompletionContextResolver.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/ContextUtilities.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/DocumentContext.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/EditorContextFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/Utils.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CDIAnnotation.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateAnnotationFix.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateInterceptorBinding.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateQualifier.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateQualifierFix.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/EditorAnnotationsHelper.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AbstractAssignabilityChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AbstractObjectProvider.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AnnotationObjectProvider.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ArchiveTypeBindingTypeFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AssignabilityChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BeansFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BeansModelImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BindingQualifier.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Checker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorInterceptorLogic.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorObject.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorObjectProvider.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DefaultBindingTypeFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DelegateAssignabilityChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EnableBeansFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EventAssignabilityChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EventInjectionPointLogic.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/FieldInjectionPointLogic.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Filter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorBindingChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorObject.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorObjectProvider.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MemberBindingFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MemberCheckerFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MultiLookupStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NamedStereotype.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NamedStereotypeObjectProvider.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NormalScopeChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/PackagingFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ParameterInjectionPointLogic.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/QualifierChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/RestrictedTypedFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ResultLookupStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/RuntimeAnnotationChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ScopeChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/SingleResultLookupStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypeChecker.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypedObject.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypedObjectProvider.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/TypeBindingFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/TypeProductionFilter.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansModelImplementation.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansModelProviderImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansProviderFactoryImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/BaseResult.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/DefinitionErrorResult.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ErrorImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InjectableResultImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InjectablesResultImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InterceptorsResultImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ResolutionErrorImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ResultImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/model/spi/WebBeansModelProvider.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/model/spi/WebBeansModelProviderFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/BindingsPanel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/CDIPanel.form delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/CDIPanel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DecoratorsModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DecoratorsPanel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DocumentationScrollPane.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/EventsModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/EventsPanel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/HTMLDocView.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectableTreeNode.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesPopup.form delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesPopup.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InterceptorsModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InterceptorsPanel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaElement.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaHierarchyModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaTreeCellRenderer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/MethodTreeNode.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/NoBorderToolBar.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ObserversModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ObserversPanel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/PopupUtil.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ResizablePopup.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/TypeTreeNode.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/Utils.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/WebBeansNavigationOptions.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractCdiAction.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractInjectableAction.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractWebBeansAction.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/CdiGlyphAction.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/DecoratoresActionStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/EventsActionStartegy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/GoToDecoratorAtCaretAction.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/GoToInjectableAtCaretAction.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InjectablesActionStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InspectCDIAtCaretAction.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InterceptorsActionStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/ModelActionStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/ObserversActionStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/PositionStrategy.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/WebBeansActionHelper.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/BeansResolver.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/BeansXml.html delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.html delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.template delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.html delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.template delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Scope.html delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Scope.template delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.html delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.template delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/delegate.png delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/event.png delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/injection_point.png delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/layer.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/observer.png delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-decorated-bean.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-delegate-point.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-event.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-injection-point.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-intercepted.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-observer.xml delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/wizard/BeansXmlIterator.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/wizard/Bundle.properties delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/AlternativeElement.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Alternatives.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeanClass.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeanClassContainer.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Beans.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeansAttributes.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeansElement.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Decorators.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Interceptors.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Stereotype.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansComponent.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansComponentFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansModel.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansModelFactory.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansVisitor.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/AlternativesImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BaseClassContainerImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BeanClassImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BeansImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/ClassContainerImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/DecoratorsImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/InterceptorsImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/StereotypeImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/SyncUpdateVisitor.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentBuildVisitor.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentFactoryImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentImpl.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansElements.java delete mode 100644 enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansModelImpl.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/BaseAnalisysTestCase.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTestResult.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTestTask.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/TestProblems.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTestResult.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTestTask.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/CommonTestCase.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestBeansModelImpl.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestWebBeansModelImpl.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestWebBeansModelProviderImpl.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/testutilities/CdiTestUtilities.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/BeansComponentTest.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/SyncUpdateTest.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/TestCatalogModel.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/Util.java delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/alternatives-beans-orig.xml delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/alternatives-beans.xml delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/beans-orig.xml delete mode 100644 enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/empty-beans.xml delete mode 100644 enterprise/web.beans/src/org/netbeans/modules/web/beans/BeansDataLoader.java delete mode 100644 enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/BeansResolver.xml create mode 100644 enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/expandTree.png create mode 100644 enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/fqn.png create mode 100644 enterprise/web.beans/src/org/netbeans/modules/web/beans/wizard/CDIBeanIterator.java rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/CdiAnalysisJakartaTest.java} (99%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/WebBeansAnalysisJakartaTest.java} (99%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/AlternativeTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AlternativeJakartaTest.java} (99%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/AnyTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AnyJakartaTest.java} (96%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/CurrentTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CurrentJakartaTest.java} (98%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DecoratorTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DecoratorJakartaTest.java} (97%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DelegateAssignabilityTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DelegateAssignabilityJakartaTest.java} (98%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DisabledBeansTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DisabledBeansJakartaTest.java} (99%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/EventTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/EventJakartaTest.java} (99%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/InterceptorBindingsTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsJakartaTest.java} (96%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/InterceptorResolutionTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionJakartaTest.java} (97%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ModelTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelJakartaTest.java} (98%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/NamedTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NamedJakartaTest.java} (98%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/NewTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NewJakartaTest.java} (92%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ObserversTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ObserversJakartaTest.java} (99%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ParametersTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ParametersJakartaTest.java} (98%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ProgrammaticTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ProgrammaticJakartaTest.java} (93%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/QualifiersTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/QualifiersJakartaTest.java} (98%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/RawParameterizedAssignabilityTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/RawParameterizedAssignabilityJakartaTest.java} (98%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ScopeTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ScopeJakartaTest.java} (95%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/SpecializesTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/SpecializesJakartaTest.java} (99%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TypedTest.java => web.beans/test/unit/src/org/netbeans/modules/web/beans/model/TypedJakartaTest.java} (98%) rename enterprise/{jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/beans.xml => web.beans/test/unit/src/org/netbeans/modules/web/beans/xdm/model/beans_jakarta.xml} (95%) diff --git a/enterprise/j2ee.api.ejbmodule/nbproject/project.xml b/enterprise/j2ee.api.ejbmodule/nbproject/project.xml index 32419ba3813d..67806c00d601 100644 --- a/enterprise/j2ee.api.ejbmodule/nbproject/project.xml +++ b/enterprise/j2ee.api.ejbmodule/nbproject/project.xml @@ -247,7 +247,6 @@ org.netbeans.modules.maven.jaxws org.netbeans.modules.profiler.j2ee org.netbeans.modules.web.beans - org.netbeans.modules.jakarta.web.beans org.netbeans.modules.web.project org.netbeans.modules.websvc.core org.netbeans.modules.websvc.dev diff --git a/enterprise/j2ee.common/nbproject/project.xml b/enterprise/j2ee.common/nbproject/project.xml index d3188a0893e6..9f1b7cb18d9c 100644 --- a/enterprise/j2ee.common/nbproject/project.xml +++ b/enterprise/j2ee.common/nbproject/project.xml @@ -522,7 +522,6 @@ org.netbeans.modules.visualweb.dataconnectivity org.netbeans.modules.visualweb.project.jsf org.netbeans.modules.web.beans - org.netbeans.modules.jakarta.web.beans org.netbeans.modules.web.core org.netbeans.modules.web.freeform org.netbeans.modules.web.jsf diff --git a/enterprise/jakarta.web.beans/build.xml b/enterprise/jakarta.web.beans/build.xml deleted file mode 100644 index bb0563e052d1..000000000000 --- a/enterprise/jakarta.web.beans/build.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Builds, tests, and runs the project org.netbeans.modules.jakarta.web.beans - - diff --git a/enterprise/jakarta.web.beans/licenseinfo.xml b/enterprise/jakarta.web.beans/licenseinfo.xml deleted file mode 100644 index fb786cf0fc7b..000000000000 --- a/enterprise/jakarta.web.beans/licenseinfo.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - - src/org/netbeans/modules/jakarta/web/beans/resources/delegate.png - src/org/netbeans/modules/jakarta/web/beans/resources/injection_point.png - src/org/netbeans/modules/jakarta/web/beans/resources/event.png - src/org/netbeans/modules/jakarta/web/beans/resources/observer.png - - - - - src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.template - src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.template - src/org/netbeans/modules/jakarta/web/beans/resources/Scope.template - src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.template - - - - diff --git a/enterprise/jakarta.web.beans/manifest.mf b/enterprise/jakarta.web.beans/manifest.mf deleted file mode 100644 index 0ca7ffc5c649..000000000000 --- a/enterprise/jakarta.web.beans/manifest.mf +++ /dev/null @@ -1,6 +0,0 @@ -Manifest-Version: 1.0 -OpenIDE-Module: org.netbeans.modules.jakarta.web.beans/1 -OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/jakarta/web/beans/resources/Bundle.properties -OpenIDE-Module-Layer: org/netbeans/modules/jakarta/web/beans/resources/layer.xml -OpenIDE-Module-Specification-Version: 2.46 -AutoUpdate-Show-In-Client: false diff --git a/enterprise/jakarta.web.beans/nbproject/org-netbeans-modules-jakarta-web-beans.sig b/enterprise/jakarta.web.beans/nbproject/org-netbeans-modules-jakarta-web-beans.sig deleted file mode 100644 index 93e189c853b9..000000000000 --- a/enterprise/jakarta.web.beans/nbproject/org-netbeans-modules-jakarta-web-beans.sig +++ /dev/null @@ -1,539 +0,0 @@ -#Signature file v4.1 -#Version 2.45 - -CLSS public java.beans.FeatureDescriptor -cons public init() -meth public boolean isExpert() -meth public boolean isHidden() -meth public boolean isPreferred() -meth public java.lang.Object getValue(java.lang.String) -meth public java.lang.String getDisplayName() -meth public java.lang.String getName() -meth public java.lang.String getShortDescription() -meth public java.lang.String toString() -meth public java.util.Enumeration attributeNames() -meth public void setDisplayName(java.lang.String) -meth public void setExpert(boolean) -meth public void setHidden(boolean) -meth public void setName(java.lang.String) -meth public void setPreferred(boolean) -meth public void setShortDescription(java.lang.String) -meth public void setValue(java.lang.String,java.lang.Object) -supr java.lang.Object - -CLSS public abstract interface java.io.Serializable - -CLSS public abstract interface java.lang.Comparable<%0 extends java.lang.Object> -meth public abstract int compareTo({java.lang.Comparable%0}) - -CLSS public abstract java.lang.Enum<%0 extends java.lang.Enum<{java.lang.Enum%0}>> -cons protected init(java.lang.String,int) -intf java.io.Serializable -intf java.lang.Comparable<{java.lang.Enum%0}> -meth protected final java.lang.Object clone() throws java.lang.CloneNotSupportedException -meth protected final void finalize() -meth public final boolean equals(java.lang.Object) -meth public final int compareTo({java.lang.Enum%0}) -meth public final int hashCode() -meth public final int ordinal() -meth public final java.lang.Class<{java.lang.Enum%0}> getDeclaringClass() -meth public final java.lang.String name() -meth public java.lang.String toString() -meth public static <%0 extends java.lang.Enum<{%%0}>> {%%0} valueOf(java.lang.Class<{%%0}>,java.lang.String) -supr java.lang.Object - -CLSS public java.lang.Exception -cons protected init(java.lang.String,java.lang.Throwable,boolean,boolean) -cons public init() -cons public init(java.lang.String) -cons public init(java.lang.String,java.lang.Throwable) -cons public init(java.lang.Throwable) -supr java.lang.Throwable - -CLSS public java.lang.Object -cons public init() -meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException -meth protected void finalize() throws java.lang.Throwable -meth public boolean equals(java.lang.Object) -meth public final java.lang.Class getClass() -meth public final void notify() -meth public final void notifyAll() -meth public final void wait() throws java.lang.InterruptedException -meth public final void wait(long) throws java.lang.InterruptedException -meth public final void wait(long,int) throws java.lang.InterruptedException -meth public int hashCode() -meth public java.lang.String toString() - -CLSS public java.lang.Throwable -cons protected init(java.lang.String,java.lang.Throwable,boolean,boolean) -cons public init() -cons public init(java.lang.String) -cons public init(java.lang.String,java.lang.Throwable) -cons public init(java.lang.Throwable) -intf java.io.Serializable -meth public final java.lang.Throwable[] getSuppressed() -meth public final void addSuppressed(java.lang.Throwable) -meth public java.lang.StackTraceElement[] getStackTrace() -meth public java.lang.String getLocalizedMessage() -meth public java.lang.String getMessage() -meth public java.lang.String toString() -meth public java.lang.Throwable fillInStackTrace() -meth public java.lang.Throwable getCause() -meth public java.lang.Throwable initCause(java.lang.Throwable) -meth public void printStackTrace() -meth public void printStackTrace(java.io.PrintStream) -meth public void printStackTrace(java.io.PrintWriter) -meth public void setStackTrace(java.lang.StackTraceElement[]) -supr java.lang.Object - -CLSS public org.netbeans.modules.jakarta.web.beans.BeansDataObject -cons public init(org.openide.filesystems.FileObject,org.openide.loaders.MultiFileLoader) throws java.io.IOException -meth protected int associateLookup() -supr org.openide.loaders.MultiDataObject - -CLSS public org.netbeans.modules.jakarta.web.beans.CarCdiUtil -cons public init(org.netbeans.api.project.Project) -meth public java.util.Collection getBeansTargetFolder(boolean) -supr org.netbeans.modules.jakarta.web.beans.CdiUtil - -CLSS public org.netbeans.modules.jakarta.web.beans.CdiProjectOpenHook -cons public init(org.netbeans.api.project.Project) -meth protected void projectClosed() -meth protected void projectOpened() -supr org.netbeans.spi.project.ui.ProjectOpenedHook -hfds myProject - -CLSS public org.netbeans.modules.jakarta.web.beans.CdiUtil -cons public init(org.netbeans.api.project.Project) -fld public final static java.lang.String BEANS = "beans" -fld public final static java.lang.String BEANS_XML = "beans.xml" -fld public final static java.lang.String WEB_INF = "WEB-INF" -meth protected org.netbeans.api.project.Project getProject() -meth public boolean isCdi11OrLater() -meth public boolean isCdiEnabled() -meth public java.util.Collection getBeansTargetFolder(boolean) -meth public org.openide.filesystems.FileObject enableCdi() - anno 0 org.netbeans.api.annotations.common.CheckForNull() -meth public static boolean isCdi11OrLater(org.netbeans.api.project.Project) -meth public static boolean isCdiEnabled(org.netbeans.api.project.Project) -meth public static java.util.Collection getBeansTargetFolder(org.netbeans.api.project.Project,boolean) -meth public void log(java.lang.String,java.lang.Class,java.lang.Object[]) -meth public void log(java.lang.String,java.lang.Class,java.lang.Object[],boolean) -supr java.lang.Object -hfds LOG,META_INF,myMessages,myProject - -CLSS public org.netbeans.modules.jakarta.web.beans.EjbCdiUtil -cons public init(org.netbeans.api.project.Project) -meth public java.util.Collection getBeansTargetFolder(boolean) -supr org.netbeans.modules.jakarta.web.beans.CdiUtil - -CLSS public org.netbeans.modules.jakarta.web.beans.MetaModelSupport -cons public init(org.netbeans.api.project.Project) -meth public org.netbeans.api.java.classpath.ClassPath getClassPath(java.lang.String) -meth public org.netbeans.modules.j2ee.metadata.model.api.MetadataModel getMetaModel() -supr java.lang.Object -hfds MODELS,myProject - -CLSS public org.netbeans.modules.jakarta.web.beans.WebBeanInjectionTargetQueryImplementation -cons public init() -intf org.netbeans.modules.javaee.injection.spi.InjectionTargetQueryImplementation -meth public boolean isInjectionTarget(org.netbeans.api.java.source.CompilationController,javax.lang.model.element.TypeElement) -meth public boolean isStaticReferenceRequired(org.netbeans.api.java.source.CompilationController,javax.lang.model.element.TypeElement) -supr java.lang.Object - -CLSS public org.netbeans.modules.jakarta.web.beans.WebCdiUtil -cons public init(org.netbeans.api.project.Project) -meth public java.util.Collection getBeansTargetFolder(boolean) -supr org.netbeans.modules.jakarta.web.beans.CdiUtil - -CLSS public abstract org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation -cons protected init(org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit) -meth protected org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel getModel() -meth protected org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider getProvider() -meth public org.netbeans.modules.jakarta.web.beans.api.model.BeansModel getBeansModel() -meth public org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit getModelUnit() -supr java.lang.Object -hfds myModel,myProvider,myUnit - -CLSS public final !enum org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType -fld public final static org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType EXPLICIT -fld public final static org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType IMPLICIT -fld public final static org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType NONE -meth public static org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType valueOf(java.lang.String) -meth public static org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType[] values() -supr java.lang.Enum - -CLSS public abstract interface org.netbeans.modules.jakarta.web.beans.api.model.BeansModel -meth public abstract boolean isCdi11OrLater() -meth public abstract java.util.LinkedHashSet getDecoratorClasses() -meth public abstract java.util.LinkedHashSet getInterceptorClasses() -meth public abstract java.util.Set getAlternativeClasses() -meth public abstract java.util.Set getAlternativeStereotypes() -meth public abstract org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType getBeanArchiveType() - -CLSS public final org.netbeans.modules.jakarta.web.beans.api.model.BeansModelFactory -meth public static org.netbeans.modules.jakarta.web.beans.api.model.BeansModel createModel(org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit) -meth public static org.netbeans.modules.jakarta.web.beans.api.model.BeansModel getModel(org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit) -supr java.lang.Object -hfds MODELS - -CLSS public abstract interface org.netbeans.modules.jakarta.web.beans.api.model.BeansResult -meth public abstract boolean isDisabled(javax.lang.model.element.Element) - -CLSS public org.netbeans.modules.jakarta.web.beans.api.model.CdiException -cons public init(java.lang.String) -supr java.lang.Exception -hfds serialVersionUID - -CLSS public abstract interface org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -innr public abstract interface static ApplicableResult -innr public abstract interface static Error -innr public abstract interface static InjectableResult -innr public abstract interface static ResolutionResult -innr public final static !enum ResultKind -meth public abstract javax.lang.model.element.VariableElement getVariable() -meth public abstract javax.lang.model.type.TypeMirror getVariableType() -meth public abstract org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResultKind getKind() - -CLSS public abstract interface static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ApplicableResult - outer org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -intf org.netbeans.modules.jakarta.web.beans.api.model.BeansResult -intf org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -meth public abstract java.util.Set getProductions() -meth public abstract java.util.Set getTypeElements() - -CLSS public abstract interface static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$Error - outer org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -intf org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -meth public abstract java.lang.String getMessage() - -CLSS public abstract interface static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$InjectableResult - outer org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -intf org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -meth public abstract javax.lang.model.element.Element getElement() - -CLSS public abstract interface static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResolutionResult - outer org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -intf org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -intf org.netbeans.modules.jakarta.web.beans.api.model.Result -meth public abstract boolean hasAlternative(javax.lang.model.element.Element) -meth public abstract boolean isAlternative(javax.lang.model.element.Element) - -CLSS public final static !enum org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResultKind - outer org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult -fld public final static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResultKind DEFINITION_ERROR -fld public final static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResultKind INJECTABLES_RESOLVED -fld public final static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResultKind INJECTABLE_RESOLVED -fld public final static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResultKind RESOLUTION_ERROR -meth public static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResultKind valueOf(java.lang.String) -meth public static org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult$ResultKind[] values() -supr java.lang.Enum - -CLSS public org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError -cons public init(javax.lang.model.element.Element,java.lang.String) -meth public javax.lang.model.element.Element getErrorElement() -supr org.netbeans.modules.jakarta.web.beans.api.model.CdiException -hfds myElement,serialVersionUID - -CLSS public abstract interface org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult -intf org.netbeans.modules.jakarta.web.beans.api.model.BeansResult -intf org.netbeans.modules.jakarta.web.beans.api.model.Result -meth public abstract java.util.List getAllInterceptors() -meth public abstract java.util.List getDeclaredInterceptors() -meth public abstract java.util.List getResolvedInterceptors() -meth public abstract javax.lang.model.element.Element getElement() - -CLSS public org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit -meth public boolean equals(java.lang.Object) -meth public int hashCode() -meth public org.netbeans.api.java.classpath.ClassPath getBootPath() -meth public org.netbeans.api.java.classpath.ClassPath getCompilePath() -meth public org.netbeans.api.java.classpath.ClassPath getSourcePath() -meth public org.netbeans.api.java.source.ClasspathInfo getClassPathInfo() -meth public org.netbeans.api.project.Project getProject() -meth public static org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit create(org.netbeans.api.java.classpath.ClassPath,org.netbeans.api.java.classpath.ClassPath,org.netbeans.api.java.classpath.ClassPath,org.netbeans.api.project.Project) -supr java.lang.Object -hfds myBootPath,myClassPathInfo,myCompilePath,myProject,mySourcePath - -CLSS public abstract interface org.netbeans.modules.jakarta.web.beans.api.model.Result -meth public abstract java.util.List getAllStereotypes(javax.lang.model.element.Element) -meth public abstract java.util.List getStereotypes(javax.lang.model.element.Element) - -CLSS public final org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel -meth public boolean hasImplicitDefaultQualifier(javax.lang.model.element.Element) -meth public boolean isCdi11OrLater() -meth public boolean isDynamicInjectionPoint(javax.lang.model.element.VariableElement) -meth public boolean isEventInjectionPoint(javax.lang.model.element.VariableElement) -meth public boolean isInjectionPoint(javax.lang.model.element.VariableElement) throws org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError -meth public java.lang.String getName(javax.lang.model.element.Element) -meth public java.lang.String getScope(javax.lang.model.element.Element) throws org.netbeans.modules.jakarta.web.beans.api.model.CdiException -meth public java.util.Collection getInterceptorBindings(javax.lang.model.element.Element) -meth public java.util.Collection getDecorators(javax.lang.model.element.TypeElement) -meth public java.util.List getQualifiers(javax.lang.model.element.Element,boolean) -meth public java.util.List getNamedElements() -meth public java.util.List getObservers(javax.lang.model.element.VariableElement,javax.lang.model.type.DeclaredType) -meth public java.util.List getEventInjectionPoints(javax.lang.model.element.ExecutableElement,javax.lang.model.type.DeclaredType) -meth public javax.lang.model.element.VariableElement getObserverParameter(javax.lang.model.element.ExecutableElement) -meth public javax.lang.model.type.TypeMirror resolveType(java.lang.String) -meth public org.netbeans.api.java.source.CompilationController getCompilationController() -meth public org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation getModelImplementation() -meth public org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult lookupInjectables(javax.lang.model.element.VariableElement,javax.lang.model.type.DeclaredType,java.util.concurrent.atomic.AtomicBoolean) -meth public org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult getInterceptors(javax.lang.model.element.Element) -supr java.lang.Object -hfds myImpl - -CLSS public final org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModelFactory -meth public static org.netbeans.modules.j2ee.metadata.model.api.MetadataModel createMetaModel(org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit) -meth public static org.netbeans.modules.j2ee.metadata.model.api.MetadataModel getMetaModel(org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit) -supr java.lang.Object -hfds MODELS - -CLSS public abstract interface org.netbeans.modules.javaee.injection.spi.InjectionTargetQueryImplementation -meth public abstract boolean isInjectionTarget(org.netbeans.api.java.source.CompilationController,javax.lang.model.element.TypeElement) -meth public abstract boolean isStaticReferenceRequired(org.netbeans.api.java.source.CompilationController,javax.lang.model.element.TypeElement) - -CLSS public abstract org.netbeans.spi.project.ui.ProjectOpenedHook -cons protected init() -meth protected abstract void projectClosed() -meth protected abstract void projectOpened() -supr java.lang.Object - -CLSS public abstract org.openide.loaders.DataObject -cons public init(org.openide.filesystems.FileObject,org.openide.loaders.DataLoader) throws org.openide.loaders.DataObjectExistsException -fld public final static java.lang.String PROP_COOKIE = "cookie" -fld public final static java.lang.String PROP_FILES = "files" -fld public final static java.lang.String PROP_HELP = "helpCtx" -fld public final static java.lang.String PROP_MODIFIED = "modified" -fld public final static java.lang.String PROP_NAME = "name" -fld public final static java.lang.String PROP_PRIMARY_FILE = "primaryFile" -fld public final static java.lang.String PROP_TEMPLATE = "template" -fld public final static java.lang.String PROP_VALID = "valid" -innr public abstract interface static !annotation Registration -innr public abstract interface static !annotation Registrations -innr public abstract interface static Container -innr public abstract interface static Factory -innr public final static Registry -intf java.io.Serializable -intf org.openide.nodes.Node$Cookie -intf org.openide.util.HelpCtx$Provider -intf org.openide.util.Lookup$Provider -meth protected <%0 extends org.openide.nodes.Node$Cookie> {%%0} getCookie(org.openide.loaders.DataShadow,java.lang.Class<{%%0}>) -meth protected abstract org.openide.filesystems.FileObject handleMove(org.openide.loaders.DataFolder) throws java.io.IOException -meth protected abstract org.openide.filesystems.FileObject handleRename(java.lang.String) throws java.io.IOException -meth protected abstract org.openide.loaders.DataObject handleCopy(org.openide.loaders.DataFolder) throws java.io.IOException -meth protected abstract org.openide.loaders.DataObject handleCreateFromTemplate(org.openide.loaders.DataFolder,java.lang.String) throws java.io.IOException -meth protected abstract void handleDelete() throws java.io.IOException -meth protected final void firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) -meth protected final void fireVetoableChange(java.lang.String,java.lang.Object,java.lang.Object) throws java.beans.PropertyVetoException -meth protected final void markFiles() throws java.io.IOException -meth protected org.openide.filesystems.FileLock takePrimaryFileLock() throws java.io.IOException -meth protected org.openide.loaders.DataObject handleCopyRename(org.openide.loaders.DataFolder,java.lang.String,java.lang.String) throws java.io.IOException -meth protected org.openide.loaders.DataShadow handleCreateShadow(org.openide.loaders.DataFolder) throws java.io.IOException -meth protected org.openide.nodes.Node createNodeDelegate() -meth protected void dispose() -meth public <%0 extends org.openide.nodes.Node$Cookie> {%%0} getCookie(java.lang.Class<{%%0}>) -meth public abstract boolean isCopyAllowed() -meth public abstract boolean isDeleteAllowed() -meth public abstract boolean isMoveAllowed() -meth public abstract boolean isRenameAllowed() -meth public abstract org.openide.util.HelpCtx getHelpCtx() -meth public boolean isModified() -meth public boolean isShadowAllowed() -meth public final boolean isTemplate() -meth public final boolean isValid() -meth public final org.openide.filesystems.FileObject getPrimaryFile() -meth public final org.openide.loaders.DataFolder getFolder() -meth public final org.openide.loaders.DataLoader getLoader() -meth public final org.openide.loaders.DataObject copy(org.openide.loaders.DataFolder) throws java.io.IOException -meth public final org.openide.loaders.DataObject createFromTemplate(org.openide.loaders.DataFolder) throws java.io.IOException -meth public final org.openide.loaders.DataObject createFromTemplate(org.openide.loaders.DataFolder,java.lang.String) throws java.io.IOException -meth public final org.openide.loaders.DataObject createFromTemplate(org.openide.loaders.DataFolder,java.lang.String,java.util.Map) throws java.io.IOException -meth public final org.openide.loaders.DataShadow createShadow(org.openide.loaders.DataFolder) throws java.io.IOException -meth public final org.openide.nodes.Node getNodeDelegate() -meth public final void delete() throws java.io.IOException -meth public final void move(org.openide.loaders.DataFolder) throws java.io.IOException -meth public final void rename(java.lang.String) throws java.io.IOException -meth public final void setTemplate(boolean) throws java.io.IOException -meth public java.lang.Object writeReplace() -meth public java.lang.String getName() -meth public java.lang.String toString() -meth public java.util.Set files() -meth public org.openide.util.Lookup getLookup() -meth public static org.openide.loaders.DataObject find(org.openide.filesystems.FileObject) throws org.openide.loaders.DataObjectNotFoundException -meth public static org.openide.loaders.DataObject$Registry getRegistry() -meth public void addPropertyChangeListener(java.beans.PropertyChangeListener) -meth public void addVetoableChangeListener(java.beans.VetoableChangeListener) -meth public void removePropertyChangeListener(java.beans.PropertyChangeListener) -meth public void removeVetoableChangeListener(java.beans.VetoableChangeListener) -meth public void setModified(boolean) -meth public void setValid(boolean) throws java.beans.PropertyVetoException -supr java.lang.Object -hfds BEING_CREATED,EA_ASSIGNED_LOADER,EA_ASSIGNED_LOADER_MODULE,LOCK,LOG,OBJ_LOG,PROGRESS_INFO_TL,REGISTRY_INSTANCE,changeSupport,changeSupportUpdater,item,loader,modif,modified,nodeDelegate,serialVersionUID,syncModified,synchObject,vetoableChangeSupport,warnedClasses -hcls CreateAction,DOSavable,ModifiedRegistry,ProgressInfo,Replace - -CLSS public org.openide.loaders.MultiDataObject -cons public init(org.openide.filesystems.FileObject,org.openide.loaders.MultiFileLoader) throws org.openide.loaders.DataObjectExistsException -innr public abstract Entry -meth protected final org.openide.loaders.MultiDataObject$Entry registerEntry(org.openide.filesystems.FileObject) -meth protected final org.openide.nodes.CookieSet getCookieSet() -meth protected final void addSecondaryEntry(org.openide.loaders.MultiDataObject$Entry) -meth protected final void registerEditor(java.lang.String,boolean) -meth protected final void removeSecondaryEntry(org.openide.loaders.MultiDataObject$Entry) -meth protected final void setCookieSet(org.openide.nodes.CookieSet) - anno 0 java.lang.Deprecated() -meth protected int associateLookup() -meth protected org.openide.filesystems.FileLock takePrimaryFileLock() throws java.io.IOException -meth protected org.openide.filesystems.FileObject handleMove(org.openide.loaders.DataFolder) throws java.io.IOException -meth protected org.openide.filesystems.FileObject handleRename(java.lang.String) throws java.io.IOException -meth protected org.openide.loaders.DataObject handleCopy(org.openide.loaders.DataFolder) throws java.io.IOException -meth protected org.openide.loaders.DataObject handleCopyRename(org.openide.loaders.DataFolder,java.lang.String,java.lang.String) throws java.io.IOException -meth protected org.openide.loaders.DataObject handleCreateFromTemplate(org.openide.loaders.DataFolder,java.lang.String) throws java.io.IOException -meth protected org.openide.nodes.Node createNodeDelegate() -meth protected void handleDelete() throws java.io.IOException -meth public <%0 extends org.openide.nodes.Node$Cookie> {%%0} getCookie(java.lang.Class<{%%0}>) -meth public boolean isCopyAllowed() -meth public boolean isDeleteAllowed() -meth public boolean isMoveAllowed() -meth public boolean isRenameAllowed() -meth public final java.util.Set secondaryEntries() -meth public final org.openide.loaders.MultiDataObject$Entry findSecondaryEntry(org.openide.filesystems.FileObject) -meth public final org.openide.loaders.MultiDataObject$Entry getPrimaryEntry() -meth public final org.openide.loaders.MultiFileLoader getMultiFileLoader() -meth public java.util.Set files() -meth public org.openide.util.HelpCtx getHelpCtx() -meth public org.openide.util.Lookup getLookup() -supr org.openide.loaders.DataObject -hfds ERR,RECOGNIZER,TEMPLATE_ATTRIBUTES,chLis,checked,cookieSet,cookieSetLock,delayProcessor,delayedPropFilesLock,delayedPropFilesTask,firingProcessor,later,primary,secondary,secondaryCreationLock,serialVersionUID -hcls ChangeAndBefore,EmptyRecognizer,EntryReplace,Pair - -CLSS public abstract org.openide.nodes.Node -cons protected init(org.openide.nodes.Children) -cons protected init(org.openide.nodes.Children,org.openide.util.Lookup) -fld public final static java.lang.String PROP_COOKIE = "cookie" -fld public final static java.lang.String PROP_DISPLAY_NAME = "displayName" -fld public final static java.lang.String PROP_ICON = "icon" -fld public final static java.lang.String PROP_LEAF = "leaf" -fld public final static java.lang.String PROP_NAME = "name" -fld public final static java.lang.String PROP_OPENED_ICON = "openedIcon" -fld public final static java.lang.String PROP_PARENT_NODE = "parentNode" -fld public final static java.lang.String PROP_PROPERTY_SETS = "propertySets" -fld public final static java.lang.String PROP_SHORT_DESCRIPTION = "shortDescription" -fld public final static org.openide.nodes.Node EMPTY -innr public abstract interface static Cookie -innr public abstract interface static Handle -innr public abstract static IndexedProperty -innr public abstract static Property -innr public abstract static PropertySet -intf org.openide.util.HelpCtx$Provider -intf org.openide.util.Lookup$Provider -meth protected final boolean hasPropertyChangeListener() -meth protected final void fireCookieChange() -meth protected final void fireDisplayNameChange(java.lang.String,java.lang.String) -meth protected final void fireIconChange() -meth protected final void fireNameChange(java.lang.String,java.lang.String) -meth protected final void fireNodeDestroyed() -meth protected final void fireOpenedIconChange() -meth protected final void firePropertyChange(java.lang.String,java.lang.Object,java.lang.Object) -meth protected final void firePropertySetsChange(org.openide.nodes.Node$PropertySet[],org.openide.nodes.Node$PropertySet[]) -meth protected final void fireShortDescriptionChange(java.lang.String,java.lang.String) -meth protected final void setChildren(org.openide.nodes.Children) -meth protected java.lang.Object clone() throws java.lang.CloneNotSupportedException -meth public <%0 extends org.openide.nodes.Node$Cookie> {%%0} getCookie(java.lang.Class<{%%0}>) -meth public abstract boolean canCopy() -meth public abstract boolean canCut() -meth public abstract boolean canDestroy() -meth public abstract boolean canRename() -meth public abstract boolean hasCustomizer() -meth public abstract java.awt.Component getCustomizer() -meth public abstract java.awt.Image getIcon(int) -meth public abstract java.awt.Image getOpenedIcon(int) -meth public abstract java.awt.datatransfer.Transferable clipboardCopy() throws java.io.IOException -meth public abstract java.awt.datatransfer.Transferable clipboardCut() throws java.io.IOException -meth public abstract java.awt.datatransfer.Transferable drag() throws java.io.IOException -meth public abstract org.openide.nodes.Node cloneNode() -meth public abstract org.openide.nodes.Node$Handle getHandle() -meth public abstract org.openide.nodes.Node$PropertySet[] getPropertySets() -meth public abstract org.openide.util.HelpCtx getHelpCtx() -meth public abstract org.openide.util.datatransfer.NewType[] getNewTypes() -meth public abstract org.openide.util.datatransfer.PasteType getDropType(java.awt.datatransfer.Transferable,int,int) -meth public abstract org.openide.util.datatransfer.PasteType[] getPasteTypes(java.awt.datatransfer.Transferable) -meth public boolean equals(java.lang.Object) -meth public final boolean isLeaf() -meth public final javax.swing.JPopupMenu getContextMenu() -meth public final org.openide.nodes.Children getChildren() -meth public final org.openide.nodes.Node getParentNode() -meth public final org.openide.util.Lookup getLookup() -meth public final void addNodeListener(org.openide.nodes.NodeListener) -meth public final void addPropertyChangeListener(java.beans.PropertyChangeListener) -meth public final void removeNodeListener(org.openide.nodes.NodeListener) -meth public final void removePropertyChangeListener(java.beans.PropertyChangeListener) -meth public int hashCode() -meth public java.lang.String getHtmlDisplayName() -meth public java.lang.String toString() -meth public javax.swing.Action getPreferredAction() -meth public javax.swing.Action[] getActions(boolean) -meth public org.openide.util.actions.SystemAction getDefaultAction() - anno 0 java.lang.Deprecated() -meth public org.openide.util.actions.SystemAction[] getActions() - anno 0 java.lang.Deprecated() -meth public org.openide.util.actions.SystemAction[] getContextActions() - anno 0 java.lang.Deprecated() -meth public void destroy() throws java.io.IOException -meth public void setDisplayName(java.lang.String) -meth public void setHidden(boolean) - anno 0 java.lang.Deprecated() -meth public void setName(java.lang.String) -meth public void setShortDescription(java.lang.String) -supr java.beans.FeatureDescriptor -hfds BLOCK_EVENTS,INIT_LOCK,LOCK,TEMPL_COOKIE,err,hierarchy,listeners,lookups,parent,warnedBadProperties -hcls LookupEventList,PropertyEditorRef - -CLSS public abstract interface static org.openide.nodes.Node$Cookie - outer org.openide.nodes.Node - -CLSS public final org.openide.util.HelpCtx -cons public init(java.lang.Class) - anno 0 java.lang.Deprecated() -cons public init(java.lang.String) -cons public init(java.net.URL) - anno 0 java.lang.Deprecated() -fld public final static org.openide.util.HelpCtx DEFAULT_HELP -innr public abstract interface static Displayer -innr public abstract interface static Provider -meth public boolean display() -meth public boolean equals(java.lang.Object) -meth public int hashCode() -meth public java.lang.String getHelpID() -meth public java.lang.String toString() -meth public java.net.URL getHelp() -meth public static org.openide.util.HelpCtx findHelp(java.awt.Component) -meth public static org.openide.util.HelpCtx findHelp(java.lang.Object) -meth public static void setHelpIDString(javax.swing.JComponent,java.lang.String) -supr java.lang.Object -hfds err,helpCtx,helpID - -CLSS public abstract interface static org.openide.util.HelpCtx$Provider - outer org.openide.util.HelpCtx -meth public abstract org.openide.util.HelpCtx getHelpCtx() - -CLSS public abstract org.openide.util.Lookup -cons public init() -fld public final static org.openide.util.Lookup EMPTY -innr public abstract interface static Provider -innr public abstract static Item -innr public abstract static Result -innr public final static Template -meth public <%0 extends java.lang.Object> java.util.Collection lookupAll(java.lang.Class<{%%0}>) -meth public <%0 extends java.lang.Object> org.openide.util.Lookup$Item<{%%0}> lookupItem(org.openide.util.Lookup$Template<{%%0}>) -meth public <%0 extends java.lang.Object> org.openide.util.Lookup$Result<{%%0}> lookupResult(java.lang.Class<{%%0}>) -meth public abstract <%0 extends java.lang.Object> org.openide.util.Lookup$Result<{%%0}> lookup(org.openide.util.Lookup$Template<{%%0}>) -meth public abstract <%0 extends java.lang.Object> {%%0} lookup(java.lang.Class<{%%0}>) -meth public static org.openide.util.Lookup getDefault() -supr java.lang.Object -hfds LOG,defaultLookup,defaultLookupProvider -hcls DefLookup,Empty - -CLSS public abstract interface static org.openide.util.Lookup$Provider - outer org.openide.util.Lookup -meth public abstract org.openide.util.Lookup getLookup() - diff --git a/enterprise/jakarta.web.beans/nbproject/project.properties b/enterprise/jakarta.web.beans/nbproject/project.properties deleted file mode 100644 index ea59ff1cb5d3..000000000000 --- a/enterprise/jakarta.web.beans/nbproject/project.properties +++ /dev/null @@ -1,27 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 -nbm.module.author=Josh Juneau -requires.nb.javac=true - -test-unit-sys-prop.java.awt.headless=true -test.config.stable.includes=\ -**/*Test.class -test.config.stableBTD.includes=\ - **/xdm/model/*Test.class diff --git a/enterprise/jakarta.web.beans/nbproject/project.xml b/enterprise/jakarta.web.beans/nbproject/project.xml deleted file mode 100644 index 87cc689e8318..000000000000 --- a/enterprise/jakarta.web.beans/nbproject/project.xml +++ /dev/null @@ -1,481 +0,0 @@ - - - - org.netbeans.modules.apisupport.project - - - org.netbeans.modules.jakarta.web.beans - - - org.netbeans.api.annotations.common - - - - 1 - 1.17 - - - - org.netbeans.api.java.classpath - - - - 1 - 1.20 - - - - org.netbeans.api.web.webmodule - - - - 1.0 - - - - org.netbeans.libs.javacapi - - - - 0.5 - - - - org.netbeans.modules.editor - - - - 3 - 1.53 - - - - org.netbeans.modules.editor.completion - - - - 1 - 1.38 - - - - org.netbeans.modules.editor.document - - - - 1.3 - - - - org.netbeans.modules.editor.lib - - - - 3 - 4.0 - - - - org.netbeans.modules.editor.lib2 - - - - 1 - 2.0 - - - - org.netbeans.modules.editor.mimelookup - - - - 1 - 1.34 - - - - org.netbeans.modules.j2ee.api.ejbmodule - - - - 1.15 - - - - org.netbeans.modules.j2ee.common - - - - 1 - 1.86 - - - - org.netbeans.modules.j2ee.core - - - - 0-1 - 1.1 - - - - org.netbeans.modules.j2ee.metadata - - - - 0-1 - 1.7 - - - - org.netbeans.modules.j2ee.metadata.model.support - - - - 1 - 1.14 - - - - org.netbeans.modules.java.hints.legacy.spi - - - - 1 - 1.0 - - - - org.netbeans.modules.java.lexer - - - - 1 - 1.11 - - - - org.netbeans.modules.java.project - - - - 1 - 1.62 - - - - org.netbeans.modules.java.source - - - - 0.141 - - - - org.netbeans.modules.java.source.base - - - - 1.0 - - - - org.netbeans.modules.java.sourceui - - - - 1 - 1.8 - - - - org.netbeans.modules.javaee.injection - - - - 1.0 - - - - org.netbeans.modules.lexer - - - - 2 - 1.36 - - - - org.netbeans.modules.libs.corba.omgapi - - - - 1.0 - - - - org.netbeans.modules.parsing.api - - - - 1 - 9.0 - - - - org.netbeans.modules.projectapi - - - - 1 - - - - org.netbeans.modules.projectuiapi - - - - 1 - 1.78 - - - - org.netbeans.modules.projectuiapi.base - - - - 1 - 1.78 - - - - org.netbeans.modules.xml.lexer - - - - 1.30 - - - - org.netbeans.modules.xml.retriever - - - - 1 - 1.1 - - - - org.netbeans.modules.xml.text - - - - 2 - 1.60 - - - - org.netbeans.modules.xml.xam - - - - 1 - 1.6 - - - - org.netbeans.spi.editor.hints - - - - 0-1 - 1.15 - - - - org.openide.awt - - - - 7.11 - - - - org.openide.dialogs - - - - 7.14 - - - - org.openide.filesystems - - - - 9.0 - - - - org.openide.loaders - - - - 7.61 - - - - org.openide.nodes - - - - 7.13 - - - - org.openide.text - - - - 6.40 - - - - org.openide.util - - - - 9.3 - - - - org.openide.util.lookup - - - - 8.0 - - - - org.openide.util.ui - - - - 9.3 - - - - org.openide.windows - - - - 6.28 - - - - - - - unit - - org.netbeans.libs.junit4 - - - - org.netbeans.modules.csl.api - - - - org.netbeans.modules.editor.mimelookup.impl - - - org.netbeans.modules.j2ee.dd - - - - - org.netbeans.modules.j2ee.metadata.model.support - - - - - org.netbeans.modules.javahelp - - - - - org.netbeans.modules.masterfs - - - org.netbeans.modules.nbjunit - - - - - org.netbeans.modules.parsing.nb - - - org.netbeans.modules.projectapi.nb - - - org.netbeans.modules.projectui - - - org.netbeans.modules.xml.retriever - - - - org.netbeans.modules.xml.text - - - - org.netbeans.modules.xml.xdm - - - - org.openide.text - - - org.openide.util.ui - - - - - org.openide.util.lookup - - - - - - - org.netbeans.modules.j2ee.ejbcore - org.netbeans.modules.web.el - org.netbeans.modules.web.jsf - org.netbeans.modules.web.jsf.editor - org.netbeans.gradle.javaee.project - org.netbeans.modules.jakarta.web.beans - org.netbeans.modules.jakarta.web.beans.api.model - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/BeansDataLoader.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/BeansDataLoader.java deleted file mode 100644 index d415a39dddd4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/BeansDataLoader.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -//package org.netbeans.modules.jakarta.web.beans; -// -//import java.io.IOException; -//import org.openide.filesystems.FileObject; -//import org.openide.loaders.DataLoader; -//import org.openide.loaders.DataObject; -//import org.openide.util.NbBundle; -// -///** -// */ -//public class BeansDataLoader extends DataLoader { -// -// public static final String REQUIRED_MIME = "text/x-beans-jakarta+xml"; -// -// public BeansDataLoader() { -// super(BeansDataObject.class.getName()); -// } -// -// @Override -// protected void initialize() { -// super.initialize(); -// } -// -// @Override -// protected String defaultDisplayName() { -// return NbBundle.getMessage(BeansDataLoader.class, "LBL_loaderName"); // NOI18N -// } -// -// @Override -// protected String actionsContext() { -// return "Loaders/" + REQUIRED_MIME + "/Actions"; -// } -// -// @Override -// protected DataObject handleFindDataObject(FileObject fo, RecognizedFiles recognized) throws IOException { -// return new BeansDataObject(fo, this); -// } -//} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/BeansDataObject.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/BeansDataObject.java deleted file mode 100644 index 995e71be9d1c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/BeansDataObject.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans; - -import java.io.IOException; -import org.openide.awt.ActionID; -import org.openide.awt.ActionReference; -import org.openide.awt.ActionReferences; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.MIMEResolver; -import org.openide.loaders.DataObject; -import org.openide.loaders.DataObjectExistsException; -import org.openide.loaders.MultiDataObject; -import org.openide.loaders.MultiFileLoader; -import org.openide.util.Lookup; -import org.openide.util.NbBundle.Messages; -import org.openide.windows.TopComponent; - -@Messages({ - "LBL_Beans_LOADER_JAKARTA=Files of Beans" -}) -@MIMEResolver.NamespaceRegistration( - displayName = "#LBL_Beans_LOADER_JAKARTA", - mimeType = "text/x-beans-jakarta+xml", - elementNS = {"https://jakarta.ee/xml/ns/jakartaee"}, - position = 819 -) -@DataObject.Registration( - mimeType = "text/x-beans-jakarta+xml", - iconBase = "org/netbeans/modules/jakarta/web/beans/resources/delegate.png", - displayName = "#LBL_Beans_LOADER_JAKARTA" -) -@ActionReferences({ - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "System", id = "org.openide.actions.OpenAction"), - position = 100, - separatorAfter = 200 - ), - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "Edit", id = "org.openide.actions.CutAction"), - position = 300 - ), - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "Edit", id = "org.openide.actions.CopyAction"), - position = 400, - separatorAfter = 500 - ), - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "Edit", id = "org.openide.actions.DeleteAction"), - position = 600 - ), - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "System", id = "org.openide.actions.RenameAction"), - position = 700, - separatorAfter = 800 - ), - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "System", id = "org.openide.actions.SaveAsTemplateAction"), - position = 900, - separatorAfter = 1000 - ), - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "System", id = "org.openide.actions.FileSystemAction"), - position = 1100, - separatorAfter = 1200 - ), - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "System", id = "org.openide.actions.ToolsAction"), - position = 1300 - ), - @ActionReference( - path = "Loaders/text/x-beans-jakarta+xml/Actions", - id = @ActionID(category = "System", id = "org.openide.actions.PropertiesAction"), - position = 1400 - ) -}) -public class BeansDataObject extends MultiDataObject { - - public BeansDataObject(FileObject pf, MultiFileLoader loader) throws DataObjectExistsException, IOException { - super(pf, loader); - registerEditor("text/x-beans-jakarta+xml", false); - } - - @Override - protected int associateLookup() { - return 1; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/Bundle.properties deleted file mode 100644 index 19b03cffa460..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/Bundle.properties +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -USG_CDI_BEANS_OPENED_PROJECT=Opened Project "{0}" with existing beans.xml file. \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CarCdiUtil.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CarCdiUtil.java deleted file mode 100644 index 2195f29d3454..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CarCdiUtil.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans; - -import java.util.Collection; -import java.util.Collections; - -import org.netbeans.api.project.Project; -import org.netbeans.modules.j2ee.api.ejbjar.Car; -import org.netbeans.spi.project.ProjectServiceProvider; -import org.netbeans.spi.project.ui.ProjectOpenedHook; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -@ProjectServiceProvider(service=CdiUtil.class, projectType = { - "org-netbeans-modules-j2ee-clientproject","org-netbeans-modules-maven/app-client"}) -public class CarCdiUtil extends CdiUtil { - - public CarCdiUtil( Project project ) { - super(project); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.CdiUtil#getBeansTargetFolder(boolean) - */ - @Override - public Collection getBeansTargetFolder( boolean create ) { - Project project = getProject(); - if ( project == null ){ - return Collections.emptyList(); - } - Car cars[] = Car.getCars(project); - if (cars.length > 0) { - return Collections.singleton(cars[0].getMetaInf()); - } - return super.getBeansTargetFolder(create); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CdiProjectOpenHook.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CdiProjectOpenHook.java deleted file mode 100644 index 873f6b89d025..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CdiProjectOpenHook.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans; - -import java.lang.ref.WeakReference; - -import org.netbeans.api.project.Project; -import org.netbeans.spi.project.ProjectServiceProvider; -import org.netbeans.spi.project.ui.ProjectOpenedHook; - - -/** - * @author ads - * - */ -@ProjectServiceProvider(service={ProjectOpenedHook.class}, projectType = { - "org-netbeans-modules-java-j2seproject", - "org-netbeans-modules-j2ee-clientproject", - "org-netbeans-modules-j2ee-ejbjarproject", - "org-netbeans-modules-web-project", - "org-netbeans-modules-maven/jar", - "org-netbeans-modules-maven/war", - "org-netbeans-modules-maven/ejb", - "org-netbeans-modules-maven/app-client"} - ) -public class CdiProjectOpenHook extends ProjectOpenedHook { - - public CdiProjectOpenHook(Project project){ - myProject = new WeakReference( project ); - } - - /* (non-Javadoc) - * @see org.netbeans.spi.project.ui.ProjectOpenedHook#projectClosed() - */ - @Override - protected void projectClosed() { - } - - /* (non-Javadoc) - * @see org.netbeans.spi.project.ui.ProjectOpenedHook#projectOpened() - */ - @Override - protected void projectOpened() { - Project project = myProject.get(); - if ( project == null ){ - return; - } - CdiUtil util = project.getLookup().lookup(CdiUtil.class); - if ( util!= null && util.isCdiEnabled() ){ - util.log("USG_CDI_BEANS_OPENED_PROJECT", CdiProjectOpenHook.class, - new Object[]{project.getClass().getName()}); // NOI18N - } - } - - private WeakReference myProject; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CdiUtil.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CdiUtil.java deleted file mode 100644 index b1637583d913..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/CdiUtil.java +++ /dev/null @@ -1,332 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans; - -import java.io.IOException; -import java.lang.ref.WeakReference; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Set; -import java.util.concurrent.CopyOnWriteArraySet; -import java.util.logging.Level; -import java.util.logging.LogRecord; -import java.util.logging.Logger; -import org.netbeans.api.annotations.common.CheckForNull; -import org.netbeans.api.j2ee.core.Profile; -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.java.project.JavaProjectConstants; - -import org.netbeans.api.project.Project; -import org.netbeans.api.project.ProjectUtils; -import org.netbeans.api.project.SourceGroup; -import org.netbeans.api.project.SourceGroupModifier; -import org.netbeans.api.project.Sources; -import org.netbeans.modules.j2ee.api.ejbjar.EjbJar; -import org.netbeans.modules.j2ee.common.dd.DDHelper; -import org.netbeans.modules.jakarta.web.beans.xml.BeansAttributes; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModelFactory; -import org.netbeans.modules.xml.retriever.catalog.Utilities; -import org.netbeans.modules.xml.xam.ModelSource; -import org.netbeans.modules.xml.xam.locator.CatalogModelException; -import org.netbeans.spi.project.ProjectServiceProvider; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.openide.util.Exceptions; -import org.openide.util.NbBundle; - - -/** - * @author ads - * beware, non-static methods may behave differently in different projects(by type) if provider is overrided and registred to appropriate project type - * known subclasses #WebCdiUtil - */ -@ProjectServiceProvider(service=CdiUtil.class, projectType = { - "org-netbeans-modules-java-j2seproject", "org-netbeans-modules-maven/jar"}) -public class CdiUtil { - - private static final Logger LOG = Logger.getLogger("org.netbeans.ui.metrics.cdi"); // NOI18N - - public static final String BEANS = "beans"; // NOI18N - public static final String BEANS_XML = BEANS+".xml"; // NOI18N - private static final String META_INF = "META-INF"; // NOI18N - public static final String WEB_INF = "WEB-INF"; // NOI18N - - public CdiUtil(Project project){ - myProject = new WeakReference<>( project ); - myMessages = new CopyOnWriteArraySet<>(); - } - - public void log(String message , Class clazz, Object[] params){ - log(message, clazz, params , false ); - } - - - public void log(String message , Class clazz, Object[] params, boolean once){ - if (!once) { - if (myMessages.contains(message)) { - return; - } - else { - myMessages.add(message); - } - } - - LogRecord logRecord = new LogRecord(Level.INFO, message); - logRecord.setLoggerName(LOG.getName()); - logRecord.setResourceBundle(NbBundle.getBundle(clazz)); - logRecord.setResourceBundleName(clazz.getPackage().getName() + ".Bundle"); // NOI18N - if (params != null) { - logRecord.setParameters(params); - } - LOG.log(logRecord); - } - - /** - * check if cdi is enabled in supplied project, general implementation - * @param project - * @return - */ - public static boolean isCdiEnabled(Project project){ - return (getBeansXmlExists(project)!=null) || isCdi11OrLater(project); - } - - private static FileObject getBeansXmlExists(Project project){ - Collection beansTargetFolder = getBeansTargetFolder(project, false); - for (FileObject fileObject : beansTargetFolder) { - if ( fileObject != null && fileObject.getFileObject(BEANS_XML)!=null){ - return fileObject.getFileObject(BEANS_XML); - } - } - return null; - } - - private FileObject getBeansXmlExists(){ - Collection beansTargetFolder = getBeansTargetFolder(false); - for (FileObject fileObject : beansTargetFolder) { - if ( fileObject != null && fileObject.getFileObject(BEANS_XML)!=null){ - return fileObject.getFileObject(BEANS_XML); - } - } - return null; - } - - /** - * check if cdi is enabled in the project where CdiUtil is registered as a service - * @return ch - */ - public boolean isCdiEnabled(){ - Project project = getProject(); - if ( project == null ){ - return false; - } - Collection beansTargetFolder = getBeansTargetFolder(false); - for (FileObject fileObject : beansTargetFolder) { - if ( fileObject != null && fileObject.getFileObject(BEANS_XML)!=null){ - return true; - } - } - // #229078 - since CDI 1.1 beans.xml is optional in case of 'implicit bean archive' - if (isCdi11OrLater()) { - return true; - } - return false; - } - - /** - * Avoid static methods usage as much as possible, use isCdi11OrLater() instead - * @param p - * @return - */ - public static boolean isCdi11OrLater(Project p) { - if(! (hasResource(p, "javax/enterprise/inject/spi/AfterTypeDiscovery.class") - || hasResource(p, "jakarta/enterprise/inject/spi/AfterTypeDiscovery.class"))) { - return false; - } else { - FileObject beans = getBeansXmlExists(p); - if(beans == null) { - return true;//no beans.xml and ee7 environment, default cdi 1.1 behavior - } - WebBeansModel model = WebBeansModelFactory.getInstance().getModel(getModelSource(beans, true)); - if (model == null) { - return false;//??? - } - - String attribute = model.getRootComponent().getAttribute(BeansAttributes.VERSION); - if(attribute == null || attribute.equals("1.0")) { - return false;//no version attribute in cdi1.0 or equal to "1.0" in cdi 1.1. - } - return true; - } - } - - public boolean isCdi11OrLater() { - if (!(hasResource(getProject(), "javax/enterprise/inject/spi/AfterTypeDiscovery.class") - || hasResource(getProject(), "jakarta/enterprise/inject/spi/AfterTypeDiscovery.class"))) { - return false; - } else { - FileObject beans = getBeansXmlExists(); - if(beans == null) { - return true;//no beans.xml and ee7 environment, default cdi 1.1 behavior - } - WebBeansModel model = WebBeansModelFactory.getInstance().getModel(getModelSource(beans, true)); - if (model == null || model.getRootComponent() == null) { - return false;//empty? as in cdi1.0 - } - - String attribute = model.getRootComponent().getAttribute(BeansAttributes.XMLNS); - String version = model.getRootComponent().getAttribute(BeansAttributes.VERSION); - if(attribute != null && attribute.startsWith("http://java")) {//NOI18N - return false;//only cdi1.0 use java.sun.com namespace, also default for future usage is cdi 1.1 (in case of corrupted beans without namespace) - } else if ("1.0".equals(version)){//NOI18N - return false;//we can fall back with version attribute if exists. - } - return true; - } - } - - private static ModelSource getModelSource( FileObject fileObject , - boolean isEditable ) - { - try { - return Utilities.createModelSource( fileObject,isEditable); - } catch (CatalogModelException ex) { - Logger.getLogger("global").log(java.util.logging.Level.SEVERE, - ex.getMessage(), ex); // NOI18N - } - return null; - } - - private static boolean hasResource(Project project, String resource) { - SourceGroup[] sgs = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); - if (sgs.length < 1) { - return false; - } - FileObject sourceRoot = sgs[0].getRootFolder(); - ClassPath classPath = ClassPath.getClassPath(sourceRoot, ClassPath.COMPILE); - if (classPath == null) { - return false; - } - FileObject resourceFile = classPath.findResource(resource); - if (resourceFile != null) { - return true; - } - return false; - } - - public Collection getBeansTargetFolder(boolean create) - { - Project project = getProject(); - if ( project == null ){ - return Collections.emptyList(); - } - return getBeansTargetFolder(project, create); - } - - protected Project getProject(){ - return myProject.get(); - } - - /** - * Enables CDI in the project and returns reference to the created beans.xml file if any. - * @return reference to beans.xml if was created, {@code null} otherwise - * @since 2.3 - */ - @CheckForNull - public FileObject enableCdi() { - Collection infs = getBeansTargetFolder(true); - for (FileObject inf : infs) { - if (inf != null) { - FileObject beansXml = inf.getFileObject(CdiUtil.BEANS_XML); - if (beansXml != null) { - return null; - } - try { - EjbJar ejbJar = EjbJar.getEjbJar(myProject.get().getProjectDirectory()); - Profile profile = ejbJar != null ? ejbJar.getJ2eeProfile() : Profile.JAVA_EE_6_WEB; - LOG.log(Level.INFO, "Creating beans.xml file for project: {0}", myProject.get().getProjectDirectory()); - return DDHelper.createBeansXml(profile, inf, CdiUtil.BEANS); - } catch (IOException exception) { - Exceptions.printStackTrace(exception); - } - return null; - } - } - return null; - } - - public static Collection getBeansTargetFolder(Project project, - boolean create) - { - Sources sources = ProjectUtils.getSources(project); - Collection result = new ArrayList<>(2); - SourceGroup[] sourceGroups = sources.getSourceGroups( - JavaProjectConstants.SOURCES_TYPE_RESOURCES ); - if (sourceGroups != null && sourceGroups.length > 0) { - FileObject fileObject = getDefaultBeansTargetFolder(sourceGroups, false); - if (fileObject != null) { - result.add(fileObject); - } - } - else { - sourceGroups = sources.getSourceGroups( - JavaProjectConstants.SOURCES_TYPE_JAVA); - FileObject fileObject = getDefaultBeansTargetFolder(sourceGroups, false); - if ( fileObject != null ){ - result.add(fileObject); - } - } - if ( result.isEmpty() && create ){ - SourceGroup resourcesSourceGroup = SourceGroupModifier.createSourceGroup( - project, JavaProjectConstants.SOURCES_TYPE_RESOURCES, - JavaProjectConstants.SOURCES_HINT_MAIN); - if ( resourcesSourceGroup != null ){ - sourceGroups = new SourceGroup[]{resourcesSourceGroup}; - } - FileObject fileObject = getDefaultBeansTargetFolder(sourceGroups, true); - result.add(fileObject); - } - return result; - } - - private static FileObject getDefaultBeansTargetFolder( SourceGroup[] sourceGroups, - boolean create ) - { - if ( sourceGroups.length >0 ){ - FileObject metaInf = sourceGroups[0].getRootFolder().getFileObject( META_INF ); - if ( metaInf == null && create ){ - try { - metaInf = FileUtil.createFolder( - sourceGroups[0].getRootFolder(), META_INF); - } - catch( IOException e ){ - Logger.getLogger( CdiUtil.class.getName() ).log( - Level.WARNING, null, e ); - } - } - return metaInf; - } - return null; - } - - private WeakReference myProject; - private Set myMessages; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/EjbCdiUtil.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/EjbCdiUtil.java deleted file mode 100644 index 1c5fe1ba295b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/EjbCdiUtil.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans; - -import java.util.Collection; -import java.util.Collections; - -import org.netbeans.api.project.Project; -import org.netbeans.modules.j2ee.api.ejbjar.EjbJar; -import org.netbeans.spi.project.ProjectServiceProvider; -import org.netbeans.spi.project.ui.ProjectOpenedHook; -import org.openide.filesystems.FileObject; - - - -/** - * @author ads - * - */ -@ProjectServiceProvider(service=CdiUtil.class, projectType = { - "org-netbeans-modules-j2ee-ejbjarproject", "org-netbeans-modules-maven/ejb"}) -public class EjbCdiUtil extends CdiUtil { - - public EjbCdiUtil( Project project ) { - super(project); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.CdiUtil#getBeansTargetFolder(boolean) - */ - @Override - public Collection getBeansTargetFolder(boolean create) - { - Project project = getProject(); - if ( project == null ){ - return Collections.emptyList(); - } - EjbJar ejbs[] = EjbJar.getEjbJars(project); - if (ejbs.length > 0) { - return Collections.singleton(ejbs[0].getMetaInf()); - } - return super.getBeansTargetFolder(create); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/MetaModelSupport.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/MetaModelSupport.java deleted file mode 100644 index 8f70d513704c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/MetaModelSupport.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans; - - - -import java.lang.ref.WeakReference; -import java.util.HashMap; -import java.util.WeakHashMap; - -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.java.project.JavaProjectConstants; -import org.netbeans.api.project.Project; -import org.netbeans.api.project.SourceGroup; -import org.netbeans.api.project.Sources; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.web.api.webmodule.WebProjectConstants; -import org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModelFactory; - -import org.netbeans.spi.java.classpath.ClassPathProvider; -import org.netbeans.spi.java.classpath.support.ClassPathSupport; -import org.openide.filesystems.FileObject; - -/** - * @author ads - * - */ -public class MetaModelSupport { - - public MetaModelSupport( Project project ){ - myProject = project; - } - - public MetadataModel getMetaModel(){ - synchronized (MODELS) { - MetadataModel metadataModel = MODELS.get( myProject ); - if ( metadataModel != null ){ - return metadataModel; - } - ClassPath boot = getClassPath( ClassPath.BOOT); - ClassPath compile = getClassPath( ClassPath.COMPILE ); - ClassPath src = getClassPath( ClassPath.SOURCE); - if ( boot == null || compile == null || src == null ){ - return null; - } - ModelUnit modelUnit = ModelUnit.create( boot, compile , src, myProject); - metadataModel = WebBeansModelFactory.getMetaModel( modelUnit ); - MODELS.put( myProject, metadataModel ); - return metadataModel; - } - } - - public ClassPath getClassPath( String type ) { - ClassPathProvider provider = getProject().getLookup().lookup( - ClassPathProvider.class); - if ( provider == null ){ - return null; - } - Sources sources = getProject().getLookup().lookup(Sources.class); - if ( sources == null ){ - return null; - } - SourceGroup[] sourceGroups = sources.getSourceGroups( - JavaProjectConstants.SOURCES_TYPE_JAVA ); - SourceGroup[] webGroup = sources.getSourceGroups( - WebProjectConstants.TYPE_WEB_INF); - ClassPath[] paths = new ClassPath[ sourceGroups.length+webGroup.length]; - int i=0; - for (SourceGroup sourceGroup : sourceGroups) { - FileObject rootFolder = sourceGroup.getRootFolder(); - paths[ i ] = provider.findClassPath( rootFolder, type); - i++; - } - for (SourceGroup sourceGroup : webGroup) { - FileObject rootFolder = sourceGroup.getRootFolder(); - paths[ i ] = provider.findClassPath( rootFolder, type); - i++; - } - return ClassPathSupport.createProxyClassPath( paths ); - } - - private Project getProject(){ - return myProject; - } - - private Project myProject; - - private static WeakHashMap> - MODELS = new WeakHashMap>(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/WebBeanInjectionTargetQueryImplementation.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/WebBeanInjectionTargetQueryImplementation.java deleted file mode 100644 index 761f3b6a66fb..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/WebBeanInjectionTargetQueryImplementation.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans; - -import java.io.IOException; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.TypeElement; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.modules.javaee.injection.spi.InjectionTargetQueryImplementation; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -import org.openide.util.Parameters; - - -/** - * @author ads - * - */ -@org.openide.util.lookup.ServiceProvider(service=org.netbeans.modules.javaee.injection.spi.InjectionTargetQueryImplementation.class) -public class WebBeanInjectionTargetQueryImplementation implements - InjectionTargetQueryImplementation -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.common.queries.spi.InjectionTargetQueryImplementation#isInjectionTarget(org.netbeans.modules.j2ee.common.queries.spi.CompilationController, javax.lang.model.element.TypeElement) - */ - @Override - public boolean isInjectionTarget( CompilationController controller, - TypeElement typeElement ) - { - try { - Parameters.notNull("controller", controller); - Parameters.notNull("typeElement", typeElement); - - Project project = FileOwnerQuery.getOwner( controller.getFileObject() ); - if ( project == null ){ - return false; - } - MetaModelSupport support = new MetaModelSupport(project); - MetadataModel metaModel = support.getMetaModel(); - final ElementHandle handle = ElementHandle.create(typeElement); - return metaModel.runReadAction(new MetadataModelAction() { - - @Override - public Boolean run( WebBeansModel model ) throws Exception { - TypeElement element = handle.resolve(model.getCompilationController()); - if ( element == null ){ - return false; - } - List qualifiers = model.getQualifiers( - element, true); - if ( qualifiers.size() == 0 ){ - /* - * @Named is special case. - * It could be present implicitly : there are - * stereotype declared for the element which - * is annotated by @Named. - */ - if ( model.getName( element ) != null ){ - return true; - } - return false; - } - else { - /* - * There are some qualifiers. - * So this bean is eligible for injection. But it - * doesn't mean it is really managed by J2EE container. - */ - return true; - } - } - }); - } catch (MetadataModelException ex) { - Logger.getLogger( WebBeanInjectionTargetQueryImplementation.class.getName()). - log( Level.WARNING, ex.getMessage(), ex); - } catch (IOException ex) { - Logger.getLogger( WebBeanInjectionTargetQueryImplementation.class.getName()). - log( Level.WARNING, ex.getMessage(), ex); - } - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.common.queries.spi.InjectionTargetQueryImplementation#isStaticReferenceRequired(org.netbeans.modules.j2ee.common.queries.spi.CompilationController, javax.lang.model.element.TypeElement) - */ - @Override - public boolean isStaticReferenceRequired( CompilationController controller, - TypeElement typeElement ) - { - return false; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/WebCdiUtil.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/WebCdiUtil.java deleted file mode 100644 index 33607ae0a78a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/WebCdiUtil.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans; - -import java.io.IOException; -import java.util.Collection; -import java.util.Collections; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.netbeans.api.project.Project; -import org.netbeans.modules.web.api.webmodule.WebModule; -import org.netbeans.spi.project.ProjectServiceProvider; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; - - -/** - * @author ads - * - */ -@ProjectServiceProvider(service={CdiUtil.class}, projectType = { - "org-netbeans-modules-web-project", "org-netbeans-modules-maven/war"}) -public class WebCdiUtil extends CdiUtil { - - public WebCdiUtil( Project project ) { - super(project); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.CdiUtil#getBeansTargetFolder(boolean) - */ - @Override - public Collection getBeansTargetFolder( boolean create ) { - Project project = getProject(); - if ( project == null ){ - return Collections.emptyList(); - } - WebModule wm = WebModule.getWebModule(project.getProjectDirectory()); - if (wm != null && wm.getDocumentBase() != null) { - FileObject webInf = wm.getWebInf(); - if (webInf == null && create ) { - try { - webInf = FileUtil.createFolder(wm.getDocumentBase(), WEB_INF); - } catch (IOException ex) { - Logger.getLogger( WebCdiUtil.class.getName() ).log( - Level.WARNING, null, ex ); - } - } - return Collections.singleton(webInf); - } - return super.getBeansTargetFolder(create); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/Bundle.properties deleted file mode 100644 index 034e41231a39..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/Bundle.properties +++ /dev/null @@ -1,31 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -LBL_GenerateInterceptor=Generate Interceptor... -LBL_InterceptorName=Choose &Interceptor Name: -ACSN_InterceptorName=Interceptor name chooser -ACSD_InterceptorName=Enter interceptor name - -TITLE_Interceptor=Create Interceptor For "{0}" Interceptor Binding -LBL_InvalidInterceptorName="{0}" is not valid Java type name. -LBL_FileExists=File "{0}" already exists. - -LBL_OK=&OK -LBL_Cancel=&Cancel - -USG_CDI_GENERATE_INTERCEPTOR=Generated interceptor via editor "Insert Code..." \ -context popup menu action for project "{0}". diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorFactory.java deleted file mode 100644 index 101acea9d17e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorFactory.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.actions; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.TypeElement; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.spi.editor.codegen.CodeGenerator; -import org.netbeans.spi.editor.codegen.CodeGenerator.Factory; -import org.openide.util.Lookup; - -import com.sun.source.util.TreePath; - - -/** - * @author ads - * - */ -public class InterceptorFactory implements Factory { - - static final String INTERCEPTOR_BINDING = "InterceptorBinding"; // NOI18N - - private static final String INTERCEPTOR_BINDING_FQN = - "jakarta.interceptor." +INTERCEPTOR_BINDING; // NOI18N - - /* (non-Javadoc) - * @see org.netbeans.spi.editor.codegen.CodeGenerator.Factory#create(org.openide.util.Lookup) - */ - @Override - public List create( Lookup lookup ) { - CompilationController controller = lookup.lookup(CompilationController.class); - JTextComponent component = lookup.lookup(JTextComponent.class); - List result = new ArrayList(1); - if (component != null && controller != null) { - try { - controller.toPhase(JavaSource.Phase.ELEMENTS_RESOLVED); - - TypeElement interceptorBinding = controller.getElements(). - getTypeElement( INTERCEPTOR_BINDING_FQN ); - if ( interceptorBinding == null ){ - return result; - } - int dot = component.getCaret().getDot(); - TreePath tp = controller.getTreeUtilities().pathFor(dot); - if ( tp == null ){ - return result; - } - Element contextElement = controller.getTrees().getElement(tp ); - if ( contextElement == null || - contextElement.getKind() != ElementKind.ANNOTATION_TYPE ) - { - return result; - } - - List annotations = controller. - getElements().getAllAnnotationMirrors( contextElement ); - boolean isInterceptorBinding = false; - for (AnnotationMirror annotation : annotations) { - Element annotationElement = controller.getTypes().asElement( - annotation.getAnnotationType()); - if ( interceptorBinding.equals( annotationElement) ){ - isInterceptorBinding = true; - break; - } - } - if ( isInterceptorBinding ){ - result.add( new InterceptorGenerator( - contextElement.getSimpleName().toString(), - controller.getFileObject()) ); - } - } catch (IOException ex) { - Logger.getLogger( InterceptorFactory.class.getName()).log( - Level.INFO, null, ex ); - } - } - return result; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorGenerator.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorGenerator.java deleted file mode 100644 index 44fc21724500..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorGenerator.java +++ /dev/null @@ -1,264 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.actions; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.swing.JButton; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.ui.ElementOpen; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.api.java.source.ModificationResult; -import org.netbeans.api.java.source.CancellableTask; -import org.netbeans.api.java.source.Task; -import org.netbeans.api.java.source.TreeMaker; -import org.netbeans.api.java.source.TreeUtilities; -import org.netbeans.api.java.source.WorkingCopy; -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.spi.editor.codegen.CodeGenerator; -import org.openide.DialogDescriptor; -import org.openide.DialogDisplayer; -import org.openide.awt.Mnemonics; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.openide.loaders.DataFolder; -import org.openide.loaders.DataObject; -import org.openide.util.HelpCtx; -import org.openide.util.NbBundle; - -import com.sun.source.tree.AnnotationTree; -import com.sun.source.tree.ClassTree; -import com.sun.source.tree.CompilationUnitTree; -import com.sun.source.tree.ExpressionTree; -import com.sun.source.tree.ModifiersTree; -import com.sun.source.tree.Tree; - - -/** - * @author ads - * - */ -class InterceptorGenerator implements CodeGenerator { - - private static final Logger LOG = Logger.getLogger( - InterceptorGenerator.class.getName() ); - - private static final String INTERCEPTOR = "jakarta.interceptor.Interceptor"; // NOI18N - - InterceptorGenerator( String bindingName, FileObject bindingFileObject ) { - myBindingName = bindingName; - myBindingFileObject = bindingFileObject; - } - - /* (non-Javadoc) - * @see org.netbeans.spi.editor.codegen.CodeGenerator#getDisplayName() - */ - @Override - public String getDisplayName() { - return NbBundle.getMessage( InterceptorGenerator.class, - "LBL_GenerateInterceptor"); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.spi.editor.codegen.CodeGenerator#invoke() - */ - @Override - public void invoke() { - JButton ok = new JButton(); - Mnemonics.setLocalizedText(ok, NbBundle.getMessage(InterceptorGenerator.class, - "LBL_OK") ); // NOI18N - JButton cancel = new JButton(); - Mnemonics.setLocalizedText(cancel, NbBundle.getMessage(InterceptorGenerator.class, - "LBL_Cancel")); // NOI18N - - InterceptorPanel panel = new InterceptorPanel( ok , myBindingName, - myBindingFileObject); - - DialogDescriptor descriptor = new DialogDescriptor( panel, - NbBundle.getMessage(InterceptorGenerator.class, "TITLE_Interceptor",// NOI18N - myBindingName ), - true, new Object[]{ ok, cancel }, - null, DialogDescriptor.DEFAULT_ALIGN, - new HelpCtx(InterceptorGenerator.class), - null); - descriptor.setClosingOptions( new Object[] { ok , cancel }); - Object closedOption = DialogDisplayer.getDefault().notify( descriptor ); - FileObject targetFolder = myBindingFileObject.getParent(); - if ( closedOption == ok && targetFolder != null ){ - createInterceptor(panel, targetFolder); - } - } - - private void createInterceptor( InterceptorPanel panel, - FileObject targetFolder ) - { - FileObject templateFileObject = FileUtil.getConfigFile( - "Templates/Classes/Class.java"); // NOI18N - try { - DataObject templateDataObject = DataObject - .find(templateFileObject); - DataFolder dataFolder = DataFolder.findFolder(targetFolder); - DataObject createdDataObject = templateDataObject.createFromTemplate( - dataFolder,panel.getInterceptorName(), - Collections. emptyMap()); - modifyClass( createdDataObject.getPrimaryFile() , - getType(myBindingFileObject, ElementKind.ANNOTATION_TYPE)); - - Project project = FileOwnerQuery.getOwner(myBindingFileObject); - if ( project != null ){ - CdiUtil logger = project.getLookup().lookup(CdiUtil.class); - if ( logger != null ){ - logger.log("USG_CDI_GENERATE_INTERCEPTOR", // NOI18N - InterceptorGenerator.class, - new Object[]{project.getClass().getName()}); - } - } - } - catch (IOException e) { - LOG.log(Level.WARNING , null , e ); - } - } - - private ElementHandle getType( FileObject fileObject , - final ElementKind kind ) throws IOException - { - JavaSource javaSource = JavaSource.forFileObject(fileObject); - final List> result = - new ArrayList>(1); - javaSource.runUserActionTask( new Task() { - - @Override - public void run( CompilationController controller ) throws Exception { - controller.toPhase(JavaSource.Phase.RESOLVED); - - String typeName = controller.getFileObject().getName(); - List topLevelElements = - controller.getTopLevelElements(); - for (TypeElement typeElement : topLevelElements) { - if ( kind == typeElement.getKind() && typeName.contentEquals( - typeElement.getSimpleName())) - { - result.add(ElementHandle.create( typeElement)); - return; - } - } - } - },true); - return result.get(0); - } - - private void modifyClass( FileObject fileObject , - final ElementHandle handle ) - { - JavaSource javaSource = JavaSource.forFileObject(fileObject); - try { - ModificationResult result = javaSource.runModificationTask( - new CancellableTask() { - - @Override - public void run(WorkingCopy copy) throws IOException { - copy.toPhase(JavaSource.Phase.RESOLVED); - - TreeMaker maker = copy.getTreeMaker(); - ClassTree tree = getTopLevelClassTree(copy); - if ( tree ==null ){ - return; - } - Element element = copy.getTrees().getElement( - copy.getTrees().getPath(copy.getCompilationUnit(), tree) ); - - ModifiersTree modifiers = tree.getModifiers(); - - modifiers = addAnnotation(INTERCEPTOR, maker, modifiers); - TypeElement annotation = handle.resolve( copy ); - if ( annotation != null ){ - modifiers = addAnnotation(annotation.getQualifiedName().toString(), - maker, modifiers); - } - - copy.rewrite(tree.getModifiers(), modifiers); - - ElementOpen.open(copy.getClasspathInfo(), element); - } - - private ModifiersTree addAnnotation( String annotationFqn , - TreeMaker maker,ModifiersTree modifiers ) - { - AnnotationTree newAnnotation = maker.Annotation( - maker.QualIdent(annotationFqn) , - Collections.emptyList()); - - if (modifiers != null) { - modifiers = maker.addModifiersAnnotation(modifiers, - newAnnotation); - } - return modifiers; - } - - @Override - public void cancel() { - } - }); - result.commit(); - } - catch (IOException e) { - LOG.log(Level.WARNING , null , e ); - } - - } - - public static ClassTree getTopLevelClassTree(CompilationController controller) { - String className = controller.getFileObject().getName(); - - CompilationUnitTree cu = controller.getCompilationUnit(); - if (cu != null) { - List decls = cu.getTypeDecls(); - for (Tree decl : decls) { - if (!TreeUtilities.CLASS_TREE_KINDS.contains(decl.getKind())) { - continue; - } - - ClassTree classTree = (ClassTree) decl; - - if (classTree.getSimpleName().contentEquals(className) && - classTree.getModifiers().getFlags().contains(Modifier.PUBLIC)) { - return classTree; - } - } - } - return null; - } - - - private String myBindingName; - private FileObject myBindingFileObject; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorPanel.form b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorPanel.form deleted file mode 100644 index 16680ddd9bcd..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorPanel.form +++ /dev/null @@ -1,98 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorPanel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorPanel.java deleted file mode 100644 index 9c305c302dd9..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/actions/InterceptorPanel.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/* - * InterceptorPanel.java - * - * Created on 06.04.2011, 11:10:22 - */ -package org.netbeans.modules.jakarta.web.beans.actions; - -import java.net.MalformedURLException; -import java.net.URL; - -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; -import javax.swing.text.BadLocationException; - -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; -import org.openide.util.Utilities; - -/** - * - * @author den - */ -public class InterceptorPanel extends javax.swing.JPanel { - - private static final long serialVersionUID = 984990919698645497L; - - private static final String JAVA = "java"; // NOI18N - - - public InterceptorPanel( JButton approveButton, String bindingName, - FileObject bindingFileObject ) - { - initComponents(); - myBindingName = bindingName; - myBindingFileObject = bindingFileObject; - - myInterceptorName.getDocument().addDocumentListener( - createValidationListener( approveButton ) ); - myInterceptorName.setText( getProposedName() ); - URL errorUrl; - try { - errorUrl = new URL("nbresloc:/org/netbeans/modules/dialogs/error.gif"); - myStatusLbl.setIcon( new ImageIcon( errorUrl )); - } - catch (MalformedURLException e) { - assert false; - } - - myStatusLbl.setVisible( false ); - } - - String getInterceptorName(){ - return myInterceptorName.getText(); - } - - private DocumentListener createValidationListener(final JButton button ) { - DocumentListener listener = new DocumentListener() { - - @Override - public void removeUpdate( DocumentEvent e ) { - checkName(e); - } - - @Override - public void insertUpdate( DocumentEvent e ) { - checkName(e); - } - - @Override - public void changedUpdate( DocumentEvent e ) { - checkName(e); - } - - private void checkName(DocumentEvent e){ - try { - String text = e.getDocument().getText(0, - e.getDocument().getLength()); - if ( text == null || text.trim().length() == 0 || - !Utilities.isJavaIdentifier( text )) - { - myStatusLbl.setText(NbBundle.getMessage( - InterceptorGenerator.class, - "LBL_InvalidInterceptorName", text )); - myStatusLbl.setVisible( true ); - button.setEnabled( false ); - return; - } - FileObject packageFolder = myBindingFileObject.getParent(); - if ( packageFolder == null ){ - return; - } - FileObject file = packageFolder.getFileObject( text,JAVA); - if ( file != null ){ - myStatusLbl.setText(NbBundle.getMessage( - InterceptorGenerator.class, - "LBL_FileExists", file.getNameExt() )); - myStatusLbl.setVisible( true ); - button.setEnabled( false ); - return; - } - - myStatusLbl.setText(""); - myStatusLbl.setVisible( false ); - button.setEnabled( true ); - } - catch (BadLocationException ex ) { - /* - * should be never appear because text access is done inside - * event handling - */ - assert false; - } - } - }; - return listener; - } - - private String getProposedName() { - StringBuilder result = new StringBuilder(); - if ( myBindingName.endsWith(InterceptorFactory.INTERCEPTOR_BINDING)){ - result.append( myBindingName.substring(0, myBindingName.length() - - InterceptorFactory.INTERCEPTOR_BINDING.length() )); - } - else { - result.append( myBindingName ); - } - result.append("Interceptor"); // NOI18N - - FileObject packageFolder = myBindingFileObject.getParent(); - if ( packageFolder == null ){ - return result.toString(); - } - int index = 1; - String next = result.toString(); - while( packageFolder.getFileObject( next, JAVA) != null ){ - next = result.toString()+index; - index++; - } - return result.toString(); - } - - /** This method is called from within the constructor to - * initialize the form. - * WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. - */ - @SuppressWarnings("unchecked") - // //GEN-BEGIN:initComponents - private void initComponents() { - - myInterceptorNameLbl = new javax.swing.JLabel(); - myInterceptorName = new javax.swing.JTextField(); - myStatusLbl = new javax.swing.JLabel(); - - org.openide.awt.Mnemonics.setLocalizedText(myInterceptorNameLbl, org.openide.util.NbBundle.getMessage(InterceptorPanel.class, "LBL_InterceptorName")); // NOI18N - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addComponent(myInterceptorNameLbl) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(myInterceptorName, javax.swing.GroupLayout.DEFAULT_SIZE, 244, Short.MAX_VALUE)) - .addComponent(myStatusLbl)) - .addContainerGap()) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(myInterceptorNameLbl) - .addComponent(myInterceptorName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE) - .addComponent(myStatusLbl) - .addContainerGap()) - ); - - myInterceptorNameLbl.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(InterceptorPanel.class, "ACSN_InterceptorName")); // NOI18N - myInterceptorNameLbl.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(InterceptorPanel.class, "ACSD_InterceptorName")); // NOI18N - myInterceptorName.getAccessibleContext().setAccessibleName(myInterceptorNameLbl.getAccessibleContext().getAccessibleName()); - myInterceptorName.getAccessibleContext().setAccessibleDescription(getAccessibleContext().getAccessibleDescription()); - }// //GEN-END:initComponents - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JTextField myInterceptorName; - private javax.swing.JLabel myInterceptorNameLbl; - private javax.swing.JLabel myStatusLbl; - // End of variables declaration//GEN-END:variables - - private String myBindingName; - private FileObject myBindingFileObject; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/AbstractAnalysisTask.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/AbstractAnalysisTask.java deleted file mode 100644 index f5c18d134a10..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/AbstractAnalysisTask.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.spi.editor.hints.ErrorDescription; - - -/** - * @author ads - * - */ -abstract class AbstractAnalysisTask { - - AbstractAnalysisTask( ){ - cancel = new AtomicBoolean( false ); - } - - protected boolean isCancelled() { - return cancel.get(); - } - - protected AtomicBoolean getCancel(){ - return cancel; - } - - protected CdiAnalysisResult getResult(){ - return myResult; - } - - protected void setResult( CdiAnalysisResult result ){ - myResult = result; - } - - abstract void run( CompilationInfo compInfo ); - - abstract List getProblems(); - - void stop(){ - cancel.set( true ); - } - - private AtomicBoolean cancel; - private CdiAnalysisResult myResult; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/BeansXmlFix.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/BeansXmlFix.java deleted file mode 100644 index eea1f406e205..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/BeansXmlFix.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.Collection; -import java.util.Iterator; - -import org.netbeans.api.j2ee.core.Profile; -import org.netbeans.api.project.Project; -import org.netbeans.modules.j2ee.common.dd.DDHelper; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.spi.editor.hints.ChangeInfo; -import org.netbeans.spi.editor.hints.Fix; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -class BeansXmlFix implements Fix { - - BeansXmlFix( Project project , FileObject fileObject , - CdiEditorAwareJavaSourceTaskFactory factory ) - { - myProject = project; - myFileObject = fileObject; - myFactory = factory; - } - - /* (non-Javadoc) - * @see org.netbeans.spi.editor.hints.Fix#getText() - */ - @Override - public String getText() { - return NbBundle.getMessage( BeansXmlFix.class, "MSG_HintCreateBeansXml"); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.spi.editor.hints.Fix#implement() - */ - @Override - public ChangeInfo implement() throws Exception { - CdiUtil util = myProject.getLookup().lookup( CdiUtil.class); - Collection infs; - if ( util == null ){ - infs= CdiUtil.getBeansTargetFolder(myProject, true); - } - else { - infs = util.getBeansTargetFolder(true); - } - for (FileObject inf : infs) { - if (inf != null) { - FileObject beansXml = inf - .getFileObject(CdiUtil.BEANS_XML); - if (beansXml != null) { - return null; - } - DDHelper.createBeansXml(Profile.JAVA_EE_6_FULL, inf, - CdiUtil.BEANS); - CdiUtil logger = myProject.getLookup().lookup(CdiUtil.class); - if ( logger!= null ){ - logger.log("USG_CDI_BEANS_FIX", BeansXmlFix.class, - new Object[]{myProject.getClass().getName()}, true ); - } - if (myFactory != null) { - myFactory.restart(myFileObject); - } - return null; - } - } - return null; - } - - private Project myProject; - private CdiEditorAwareJavaSourceTaskFactory myFactory; - private FileObject myFileObject; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/Bundle.properties deleted file mode 100644 index a7bbcd24d870..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/Bundle.properties +++ /dev/null @@ -1,21 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ERR_RequireWebBeans=CDI artifact is found but there is no beans.xml file. -MSG_HintCreateBeansXml=Create beans.xml file - -USG_CDI_BEANS_FIX=beans.xml file is created via fix hint for project "{0}". \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CancellableAnalysysTask.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CancellableAnalysysTask.java deleted file mode 100644 index 6b1e5f15bb5a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CancellableAnalysysTask.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.concurrent.atomic.AtomicReference; - -import org.netbeans.api.java.source.CancellableTask; -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.WebBeansActionHelper; -import org.netbeans.spi.editor.hints.HintsController; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -abstract class CancellableAnalysysTask implements CancellableTask{ - - CancellableAnalysysTask(FileObject javaFile, - CdiEditorAwareJavaSourceTaskFactory factory ) - { - myFileObject = javaFile; - myTask = new AtomicReference(); - myFactory = factory; - } - - /* (non-Javadoc) - * @see org.netbeans.api.java.source.Task#run(java.lang.Object) - */ - @Override - public void run( CompilationInfo compInfo ) throws Exception { - if ( !WebBeansActionHelper.isEnabled() ){ - return; - } - AbstractAnalysisTask task = createTask(); - myTask.set( task ); - task.run( compInfo ); - myTask.compareAndSet( task, null); - HintsController.setErrors(myFileObject, getLayerName(), task.getProblems()); - } - - /* (non-Javadoc) - * @see org.netbeans.api.java.source.CancellableTask#cancel() - */ - @Override - public void cancel() { - AbstractAnalysisTask task = myTask.getAndSet(null); - if ( task != null ){ - task.stop(); - } - } - - protected abstract String getLayerName(); - - protected abstract AbstractAnalysisTask createTask(); - - protected FileObject getFileObject(){ - return myFileObject; - } - - protected CdiEditorAwareJavaSourceTaskFactory getFactory(){ - return myFactory; - } - - private FileObject myFileObject; - private AtomicReference myTask; - private CdiEditorAwareJavaSourceTaskFactory myFactory; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisResult.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisResult.java deleted file mode 100644 index 95d2865c1ac0..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisResult.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; - -import javax.lang.model.element.Element; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.modules.jakarta.web.beans.hints.CDIAnnotation; -import org.netbeans.spi.editor.hints.ErrorDescription; -import org.netbeans.spi.editor.hints.Fix; -import org.netbeans.spi.editor.hints.Severity; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - - -/** - * @author ads - * - */ -public class CdiAnalysisResult { - - public CdiAnalysisResult( CompilationInfo info, - CdiEditorAwareJavaSourceTaskFactory factory ) - { - myInfo = info; - myProblems = new LinkedList(); - myCollectedAnnotations = new LinkedList(); - } - - public void addError( Element subject, String message ) { - addNotification( Severity.ERROR, subject, message); - } - - public void addError( Element subject, String message , Fix fix ) { - addNotification( Severity.ERROR, subject, message, fix ); - } - - public void addNotification( Severity severity, - Element element, String message ) - { - addNotification(severity, element, message , null ); - } - - public void addNotification( Severity severity, - Element element, String message , Fix fix ) - { - ErrorDescription description = CdiEditorAnalysisFactory. - createNotification( severity, element, myInfo , message, fix ); - if ( description == null ){ - return; - } - getProblems().add( description ); - } - - public CompilationInfo getInfo() { - return myInfo; - } - - public List getProblems(){ - return myProblems; - } - - public void requireCdiEnabled( Element element ){ - if ( isCdiRequired ){ - return; - } - isCdiRequired = true; - FileObject fileObject = getInfo().getFileObject(); - if ( fileObject ==null ){ - return; - } - Project project = FileOwnerQuery.getOwner( fileObject ); - if ( project == null ){ - return; - } - CdiUtil lookup = project.getLookup().lookup( CdiUtil.class ); - boolean needFix = false; - if ( lookup == null ){ - //in general main use is is when lookup!=null, if lookup == null nly some general hevavior is supported - needFix = !CdiUtil.isCdiEnabled(project); - } - else { - needFix = !lookup.isCdiEnabled(); - } - if ( needFix) { - Fix fix = new BeansXmlFix( project , fileObject , myFactory ); - addError(element, NbBundle.getMessage(CdiAnalysisResult.class, - "ERR_RequireWebBeans"), fix ); // NOI18N - } - } - - public boolean requireBeansXml(){ - return isCdiRequired; - } - - public void addAnnotation( CDIAnnotation annotation ) { - myCollectedAnnotations.add(annotation); - } - - public List getAnnotations(){ - return Collections.unmodifiableList(myCollectedAnnotations); - } - - private CompilationInfo myInfo ; - private List myProblems; - private boolean isCdiRequired; - private List myCollectedAnnotations; - private CdiEditorAnalysisFactory myFactory; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTask.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTask.java deleted file mode 100644 index 452f9df05d7d..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTask.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.TypeElement; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationElementAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassElementAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.CtorAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldElementAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.netbeans.spi.editor.hints.ErrorDescription; - - -/** - * @author ads - * - */ -public class CdiAnalysisTask extends AbstractAnalysisTask { - - public CdiAnalysisTask( CdiEditorAwareJavaSourceTaskFactory factory ){ - myFactory =factory; - } - - - protected CdiAnalysisResult createResult( CompilationInfo info ){ - return new CdiAnalysisResult(info, myFactory ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.AbstractAnalysisTask#getProblems() - */ - @Override - List getProblems() { - return getResult().getProblems(); - } - - @Override - protected void run( CompilationInfo compInfo ) { - setResult( createResult( compInfo ) ); - List types = compInfo.getTopLevelElements(); - for (TypeElement typeElement : types) { - if ( isCancelled() ){ - break; - } - analyzeType(typeElement, null ); - } - EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance(getResult()); - if ( helper == null ){ - return; - } - helper.publish( getResult() ); - } - - private void analyzeType(TypeElement typeElement , TypeElement parent ) - { - ElementKind kind = typeElement.getKind(); - ElementAnalyzer analyzer = ANALIZERS.get( kind ); - if ( analyzer != null ){ - analyzer.analyze(typeElement, parent, getCancel(), getResult() ); - } - if ( isCancelled() ){ - return; - } - List enclosedElements = typeElement.getEnclosedElements(); - List types = ElementFilter.typesIn(enclosedElements); - for (TypeElement innerType : types) { - analyzeType(innerType, typeElement ); - } - Set enclosedSet = new HashSet( enclosedElements ); - enclosedSet.removeAll( types ); - for(Element element : enclosedSet ){ - analyze(typeElement, element); - } - } - - private void analyze( TypeElement typeElement, Element element ) - { - ElementAnalyzer analyzer; - if ( isCancelled() ){ - return; - } - analyzer = ANALIZERS.get( element.getKind() ); - if ( analyzer == null ){ - return; - } - analyzer.analyze(element, typeElement, getCancel(), getResult() ); - } - - private CdiEditorAwareJavaSourceTaskFactory myFactory; - private static final Map ANALIZERS = - new HashMap(); - - static { - ANALIZERS.put(ElementKind.CLASS, new ClassElementAnalyzer()); - ANALIZERS.put(ElementKind.FIELD, new FieldElementAnalyzer()); - ANALIZERS.put(ElementKind.METHOD, new MethodElementAnalyzer()); - ANALIZERS.put(ElementKind.CONSTRUCTOR, new CtorAnalyzer()); - ANALIZERS.put(ElementKind.ANNOTATION_TYPE, new AnnotationElementAnalyzer()); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAnalysisFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAnalysisFactory.java deleted file mode 100644 index dac280b9cc25..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAnalysisFactory.java +++ /dev/null @@ -1,232 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.VariableElement; - -import org.netbeans.api.java.lexer.JavaTokenId; -import org.netbeans.api.java.source.CancellableTask; -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.JavaSource.Phase; -import org.netbeans.api.java.source.JavaSource.Priority; -import org.netbeans.api.java.source.JavaSourceTaskFactory; -import org.netbeans.api.java.source.TreeUtilities; -import org.netbeans.api.lexer.Token; -import org.netbeans.api.lexer.TokenSequence; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.spi.editor.hints.ErrorDescription; -import org.netbeans.spi.editor.hints.ErrorDescriptionFactory; -import org.netbeans.spi.editor.hints.Fix; -import org.netbeans.spi.editor.hints.Severity; -import org.openide.filesystems.FileObject; -import org.openide.util.lookup.ServiceProvider; - -import com.sun.source.tree.ClassTree; -import com.sun.source.tree.MethodTree; -import com.sun.source.tree.Tree; -import com.sun.source.tree.VariableTree; -import com.sun.source.util.SourcePositions; - - -/** - * @author ads - * - */ -@ServiceProvider(service=JavaSourceTaskFactory.class) -public class CdiEditorAnalysisFactory extends CdiEditorAwareJavaSourceTaskFactory { - - public CdiEditorAnalysisFactory( ){ - super(Priority.BELOW_NORMAL); - } - - /* (non-Javadoc) - * @see org.netbeans.api.java.source.JavaSourceTaskFactory#createTask(org.openide.filesystems.FileObject) - */ - @Override - protected CancellableTask createTask( FileObject fileObject ) { - return new CdiEditorAnalysisTask( fileObject , this ); - } - - public static ErrorDescription createError( Element subject , - CompilationInfo info ,String description) - { - return createNotification(Severity.ERROR, subject, info, description); - } - - public static ErrorDescription createNotification( Severity severity, - Element subject , CompilationInfo info ,String description) - { - return createNotification(severity, subject, info, description, null); - } - - public static ErrorDescription createNotification( Severity severity, - Element subject , CompilationInfo info ,String description, Fix fix ) - { - Tree elementTree = info.getTrees().getTree(subject); - return createNotification(severity, elementTree, info, description, fix ); - } - - public static ErrorDescription createNotification( Severity severity, - Element subject , WebBeansModel model, CompilationInfo info , - String description) - { - return createNotification(severity, subject, model , info, description, - null); - } - - public static ErrorDescription createNotification( Severity severity, - Element subject , WebBeansModel model, CompilationInfo info , - String description, Fix fix ) - { - ElementHandle handle = ElementHandle.create( subject ); - Element element = handle.resolve(info); - if ( element == null){ - return null; - } - Tree elementTree = info.getTrees().getTree(element); - return createNotification(severity, elementTree, info, description, fix ); - } - - public static ErrorDescription createNotification( Severity severity, - VariableElement element, ExecutableElement parent , - WebBeansModel model, CompilationInfo info ,String description, Fix fix) - { - VariableElement var = resolveParameter(element, parent, info); - if ( var == null ){ - return null; - } - Tree elementTree = info.getTrees().getTree(var); - return createNotification(severity, elementTree, info, description, fix ); - } - - public static ErrorDescription createNotification( Severity severity, - VariableElement element, ExecutableElement parent , - WebBeansModel model, CompilationInfo info ,String description) - { - return createNotification( severity, element, parent, model , info , - description, null ); - } - - public static VariableElement resolveParameter( VariableElement element, - ExecutableElement parent,CompilationInfo info ) - { - List parameters = parent.getParameters(); - int i=0; - for (VariableElement param : parameters) { - if ( param.equals( element )){ - break; - } - i++; - } - if ( i == parameters.size() ){ - return null; - } - ElementHandle handle = ElementHandle.create( parent ); - ExecutableElement method = handle.resolve(info); - if ( method == null){ - return null; - } - parameters = method.getParameters(); - int j=0; - VariableElement var = null; - for (VariableElement param : parameters) { - if ( i==j){ - var = param; - } - j++; - } - return var; - } - - private static ErrorDescription createNotification( Severity severity, - Tree tree, CompilationInfo info, String description, Fix fix ) - { - - List fixes; - if ( fix != null ){ - fixes = Collections.singletonList( fix ); - } - else { - fixes = Collections.emptyList(); - } - if (tree != null){ - List position = getElementPosition(info, tree); - if(position.get(1) > position.get(0)) { - return ErrorDescriptionFactory.createErrorDescription( - severity, description, fixes, - info.getFileObject(), position.get(0), position.get(1)); - } - } - return null; - } - - public static List getElementPosition(CompilationInfo info, Tree tree){ - SourcePositions srcPos = info.getTrees().getSourcePositions(); - - int startOffset = (int) srcPos.getStartPosition(info.getCompilationUnit(), tree); - int endOffset = (int) srcPos.getEndPosition(info.getCompilationUnit(), tree); - - Tree startTree = null; - - if (TreeUtilities.CLASS_TREE_KINDS.contains(tree.getKind())){ - startTree = ((ClassTree)tree).getModifiers(); - - } else if (tree.getKind() == Tree.Kind.METHOD){ - startTree = ((MethodTree)tree).getReturnType(); - } else if (tree.getKind() == Tree.Kind.VARIABLE){ - startTree = ((VariableTree)tree).getType(); - } - - if (startTree != null){ - int searchStart = (int) srcPos.getEndPosition(info.getCompilationUnit(), - startTree); - - TokenSequence tokenSequence = info.getTreeUtilities().tokensFor(tree); - - if (tokenSequence != null){ - boolean eob = false; - tokenSequence.move(searchStart); - - do{ - eob = !tokenSequence.moveNext(); - } - while (!eob && tokenSequence.token().id() != JavaTokenId.IDENTIFIER); - - if (!eob){ - Token identifier = tokenSequence.token(); - startOffset = identifier.offset(info.getTokenHierarchy()); - endOffset = startOffset + identifier.length(); - } - } - } - - List result = new ArrayList(2); - result.add(startOffset); - result.add(endOffset ); - return result; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAnalysisTask.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAnalysisTask.java deleted file mode 100644 index 6a97c968a7d4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAnalysisTask.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -class CdiEditorAnalysisTask extends CancellableAnalysysTask { - - CdiEditorAnalysisTask(FileObject javaFile, - CdiEditorAwareJavaSourceTaskFactory factory ) - { - super( javaFile , factory ); - } - - @Override - protected String getLayerName() { - return "CDI Analyser"; //NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CancellableAnalysysTask#createTask() - */ - @Override - protected AbstractAnalysisTask createTask() { - return new CdiAnalysisTask( getFactory() ); - }; - - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAwareJavaSourceTaskFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAwareJavaSourceTaskFactory.java deleted file mode 100644 index 61ba37f7e71f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiEditorAwareJavaSourceTaskFactory.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import org.netbeans.api.java.source.JavaSource.Phase; -import org.netbeans.api.java.source.JavaSource.Priority; -import org.netbeans.api.java.source.support.EditorAwareJavaSourceTaskFactory; -import org.netbeans.modules.parsing.spi.TaskIndexingMode; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public abstract class CdiEditorAwareJavaSourceTaskFactory extends - EditorAwareJavaSourceTaskFactory -{ - - protected CdiEditorAwareJavaSourceTaskFactory( Priority priority ) { - super(Phase.RESOLVED, priority, /*TaskIndexingMode.ALLOWED_DURING_SCAN ,*/ - "text/x-java"); // NOI18N - } - - void restart( FileObject fileObject ){ - reschedule( fileObject ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTask.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTask.java deleted file mode 100644 index 989d74f569a9..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTask.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.TypeElement; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.MetaModelSupport; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationModelAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldModelAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodModelAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.netbeans.spi.editor.hints.ErrorDescription; - - -/** - * @author ads - * - */ -public class WebBeansAnalysisTask extends AbstractAnalysisTask { - - private static final Logger LOG = Logger.getLogger( - WebBeansAnalysisTask.class.getName()); - - public WebBeansAnalysisTask( CdiEditorAwareJavaSourceTaskFactory factory ){ - myFactory = factory; - } - - protected Result createResult( CompilationInfo compInfo ) - { - return new Result( compInfo , myFactory ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.AbstractAnalysisTask#getResult() - */ - @Override - protected Result getResult() { - return (Result)super.getResult(); - } - - protected MetadataModel getModel(CompilationInfo compInfo){ - Project project = FileOwnerQuery.getOwner( compInfo.getFileObject() ); - if ( project == null ){ - return null; - } - MetaModelSupport support = new MetaModelSupport(project); - return support.getMetaModel(); - } - - @Override - List getProblems(){ - return getResult().getProblems(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.AbstractAnalysisTask#run(org.netbeans.api.java.source.CompilationInfo) - */ - @Override - protected void run( final CompilationInfo compInfo ) { - setResult( createResult( compInfo ) ); - List types = compInfo.getTopLevelElements(); - final List> handles = - new ArrayList>(1); - for (TypeElement typeElement : types) { - if ( isCancelled() ){ - break; - } - handles.add(ElementHandle.create(typeElement)); - } - MetadataModel metaModel = getModel(compInfo); - if ( metaModel == null ){ - return; - } - try { - metaModel.runReadAction( - new MetadataModelAction() - { - @Override - public Void run( WebBeansModel model ) throws Exception { - CompilationController controller = model.getCompilationController(); - for (ElementHandle handle : handles) { - if(isCancelled()) { - break; - } - TypeElement type = handle.resolve( controller ); - if ( type == null ){ - continue; - } - analyzeType( type , null , model , compInfo ); - } - return null; - } - }); - } - catch (MetadataModelException e) { - LOG.log( Level.INFO , null , e); - } - catch (IOException e) { - LOG.log( Level.INFO , null , e); - } - finally { - EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance(getResult()); - if ( helper == null ){ - return; - } - helper.publish( getResult() ); - } - } - - private void analyzeType(TypeElement typeElement , TypeElement parent , - WebBeansModel model , CompilationInfo info ) - { - ElementKind kind = typeElement.getKind(); - ModelAnalyzer analyzer = ANALIZERS.get( kind ); - if ( analyzer != null ){ - analyzer.analyze(typeElement, parent, model, getCancel(), getResult()); - } - if ( isCancelled() ){ - return; - } - List enclosedElements = typeElement.getEnclosedElements(); - List types = ElementFilter.typesIn(enclosedElements); - for (TypeElement innerType : types) { - if ( innerType == null ){ - continue; - } - analyzeType(innerType, typeElement , model , info ); - } - Set enclosedSet = new HashSet( enclosedElements ); - enclosedSet.removeAll( types ); - for(Element element : enclosedSet ){ - if ( element == null ){ - continue; - } - analyze(typeElement, model, element, info ); - } - } - - private void analyze( TypeElement typeElement, WebBeansModel model, - Element element, CompilationInfo info ) - { - ModelAnalyzer analyzer; - if ( isCancelled() ){ - return; - } - analyzer = ANALIZERS.get( element.getKind() ); - if ( analyzer == null ){ - return; - } - analyzer.analyze(element, typeElement, model, getCancel(), getResult()); - } - - private CdiEditorAwareJavaSourceTaskFactory myFactory; - - private static final Map ANALIZERS = - new HashMap(); - - static { - ANALIZERS.put(ElementKind.CLASS, new ClassModelAnalyzer()); - ANALIZERS.put(ElementKind.FIELD, new FieldModelAnalyzer()); - ANALIZERS.put(ElementKind.METHOD, new MethodModelAnalyzer()); - ANALIZERS.put(ElementKind.ANNOTATION_TYPE, new AnnotationModelAnalyzer()); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansEditorAnalysisTask.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansEditorAnalysisTask.java deleted file mode 100644 index ef7bd0a7ce5a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansEditorAnalysisTask.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -class WebBeansEditorAnalysisTask extends CancellableAnalysysTask { - - - WebBeansEditorAnalysisTask(FileObject javaFile, - CdiEditorAwareJavaSourceTaskFactory factory ) - { - super( javaFile , factory ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CancellableAnalysysTask#getLayerName() - */ - @Override - protected String getLayerName() { - return "Web Beans Model Analyzer"; // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CancellableAnalysysTask#createTask() - */ - @Override - protected AbstractAnalysisTask createTask() { - return new WebBeansAnalysisTask( getFactory() ); - } - - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansModelAnalysisFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansModelAnalysisFactory.java deleted file mode 100644 index a5ed362ecc38..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansModelAnalysisFactory.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import org.netbeans.api.java.source.CancellableTask; -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.java.source.JavaSource.Priority; -import org.netbeans.api.java.source.JavaSourceTaskFactory; -import org.openide.filesystems.FileObject; -import org.openide.util.lookup.ServiceProvider; - - -/** - * @author ads - * - */ -@ServiceProvider(service=JavaSourceTaskFactory.class) -public class WebBeansModelAnalysisFactory extends - CdiEditorAwareJavaSourceTaskFactory -{ - - public WebBeansModelAnalysisFactory( ) { - super(Priority.LOW); - } - - /* (non-Javadoc) - * @see org.netbeans.api.java.source.JavaSourceTaskFactory#createTask(org.openide.filesystems.FileObject) - */ - @Override - protected CancellableTask createTask( FileObject fileObject ) { - return new WebBeansEditorAnalysisTask( fileObject, this ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractDecoratorAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractDecoratorAnalyzer.java deleted file mode 100644 index 68de8c5c40a9..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractDecoratorAnalyzer.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field.DelegateFieldAnalizer; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public abstract class AbstractDecoratorAnalyzer { - - protected void analyzeDecoratedBeans( DependencyInjectionResult res, - VariableElement element, T t, TypeElement decorator , - WebBeansModel model, Result result ) - { - Set decoratedBeans = null; - if ( res instanceof DependencyInjectionResult.ApplicableResult ){ - DependencyInjectionResult.ApplicableResult appResult = - (DependencyInjectionResult.ApplicableResult) res; - decoratedBeans = appResult.getTypeElements(); - } - else if ( res instanceof DependencyInjectionResult.InjectableResult ){ - Element decorated = ((DependencyInjectionResult.InjectableResult)res). - getElement(); - if ( decorated instanceof TypeElement ){ - decoratedBeans = Collections.singleton( (TypeElement)decorated); - } - } - if ( decoratedBeans == null ){ - return; - } - for( TypeElement decorated : decoratedBeans ){ - Set modifiers = decorated.getModifiers(); - if ( modifiers.contains(Modifier.FINAL)){ - addClassError( element , t , decorated, model , result ); - return; - } - } - if ( decoratedBeans.isEmpty() ){ - return; - } - /* - * The rule : "If a decorator matches a managed bean with a non-static, - * non-private, final method, the decorator shouldn't also implement that method." - * is actually nonsense. - * Each Java class has final wait(). Decorator is also java class - * so it also has a method wait() . So it always implements - * non-static, non-private final method. - * I believe one need to care about ONLY methods in decorated types : - * all methods that are defined in interfaces ( decorated types ) - * and which are implemented in the decorator and decorated bean. - * - * Here is implementation of this requirement. - */ - Collection decoratedTypes = DelegateFieldAnalizer - .getDecoratedTypes(decorator, model.getCompilationController()); - for (TypeMirror typeMirror : decoratedTypes) { - Element decoratedTypeElement = model.getCompilationController() - .getTypes().asElement(typeMirror); - if (!(decoratedTypeElement instanceof TypeElement)) { - continue; - } - TypeElement iface = (TypeElement) decoratedTypeElement; - List methods = ElementFilter.methodsIn(iface - .getEnclosedElements()); - for (ExecutableElement method : methods) { - Element decoratorMethod = model.getCompilationController() - .getElementUtilities() - .getImplementationOf(method, decorator); - if (decoratorMethod == null) { - continue; - } - if (decoratorMethod.getModifiers().contains(Modifier.ABSTRACT)) - { - continue; - } - for (TypeElement decorated : decoratedBeans) { - Element decoratedMethod = model.getCompilationController() - .getElementUtilities() - .getImplementationOf(method, decorated); - if (decoratedMethod == null) { - continue; - } - if (decoratedMethod.getModifiers().contains(Modifier.FINAL)) - { - addMethodError( element , t, decorated, decoratedMethod, - model , result ); - } - } - } - } - } - - protected boolean checkBuiltInBeans( VariableElement element, - TypeMirror elementType, WebBeansModel model, AtomicBoolean cancel ) - { - TypeElement context = model.getCompilationController().getElements(). - getTypeElement(AnnotationUtil.CONTEXT); - if ( context != null && context.equals(model.getCompilationController(). - getTypes().asElement(elementType))) - { - /* This is built-in jakarta.enterprise.context.spi.Context bean - * provided by container for each scope - */ - return true; - } - if ( cancel.get()){ - return true; - } - - Element varElement = model.getCompilationController().getTypes(). - asElement(elementType); - if ( varElement instanceof TypeElement ){ - if ( !((TypeElement)varElement).getQualifiedName().contentEquals( - AnnotationUtil.CONVERSATION)) - { - return false; - } - } - else { - return false; - } - - if ( model.hasImplicitDefaultQualifier( element ) ){ - return true; - } - List qualifiers = model.getQualifiers(element, true); - AnnotationHelper helper = new AnnotationHelper(model.getCompilationController()); - Map qualifiersFqns = helper. - getAnnotationsByType(qualifiers); - boolean hasOnlyDefault = false; - if ( qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN)){ - HashSet fqns = new HashSet(qualifiersFqns.keySet()); - fqns.remove( AnnotationUtil.NAMED ); - fqns.remove( AnnotationUtil.ANY ); - hasOnlyDefault = fqns.size() == 1; - } - return hasOnlyDefault; - } - - protected abstract void addMethodError( VariableElement element, T t, - TypeElement decorated, Element decoratedMethod, - WebBeansModel model, Result result ); - - protected abstract void addClassError( VariableElement element , T t, - TypeElement decoratedBean, WebBeansModel model, Result result ); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractInterceptedElementAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractInterceptedElementAnalyzer.java deleted file mode 100644 index 61e733ee6437..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractInterceptedElementAnalyzer.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; - -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public abstract class AbstractInterceptedElementAnalyzer { - - - protected Set getInterceptorBindings(Element element, - WebBeansModel model) - { - Collection interceptorBindings = model - .getInterceptorBindings(element); - return new HashSet( interceptorBindings ); - } - - protected boolean hasInterceptorBindings(Element element, - WebBeansModel model ) - { - return !getInterceptorBindings(element, model).isEmpty(); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractProducerAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractProducerAnalyzer.java deleted file mode 100644 index efde11dc2877..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractProducerAnalyzer.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.List; - -import javax.lang.model.element.Element; -import javax.lang.model.type.ArrayType; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; - - -/** - * @author ads - * - */ -public abstract class AbstractProducerAnalyzer { - - protected abstract void hasTypeVar( Element element, TypeMirror type, - CdiAnalysisResult result ); - - protected abstract void hasWildCard(Element element, TypeMirror type, - CdiAnalysisResult result); - - protected void checkType( Element element, TypeMirror type, - CdiAnalysisResult result ) - { - if ( type.getKind() == TypeKind.TYPEVAR ){ - hasTypeVar(element, type, result ); - } - else if (hasWildCard(type)) { - hasWildCard( element, type, result ); - return; - } - } - - protected boolean hasType(TypeMirror typeMirror, TypeKind kind ){ - if ( typeMirror instanceof DeclaredType ){ - List typeArguments = - ((DeclaredType)typeMirror).getTypeArguments(); - for (TypeMirror paramType : typeArguments) { - if ( paramType.getKind() == kind ){ - return true; - } - else { - if ( hasType(paramType, kind) ){ - return true; - } - } - } - } - else if ( typeMirror instanceof ArrayType ){ - return hasType( ((ArrayType)typeMirror).getComponentType(), kind); - } - return false; - } - - private boolean hasWildCard(TypeMirror typeMirror){ - return hasType(typeMirror, TypeKind.WILDCARD); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractScopedAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractScopedAnalyzer.java deleted file mode 100644 index 4ecdf1a8a9aa..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractScopedAnalyzer.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.io.Serializable; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.ArrayType; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public abstract class AbstractScopedAnalyzer { - - public void analyzeScope( Element element, - WebBeansModel model, AtomicBoolean cancel , Result result ) - { - try { - String scope = model.getScope( element ); - if ( cancel.get() ){ - return; - } - TypeElement scopeElement = model.getCompilationController(). - getElements().getTypeElement( scope ); - if ( scopeElement == null ){ - return; - } - checkScope( scopeElement , element , model, cancel, result ); - } - catch (CdiException e) { - result.requireCdiEnabled(element, model); - informCdiException(e, element, model, result ); - } - } - - protected abstract void checkScope( TypeElement scopeElement, Element element, - WebBeansModel model, AtomicBoolean cancel, Result result ); - - protected boolean hasTypeVarParameter(TypeMirror type ){ - if ( type.getKind() == TypeKind.TYPEVAR){ - return true; - } - if ( type instanceof DeclaredType ){ - List typeArguments = - ((DeclaredType)type).getTypeArguments(); - for (TypeMirror typeArg : typeArguments) { - if ( hasTypeVarParameter(typeArg)){ - return true; - } - } - } - else if ( type instanceof ArrayType ){ - return hasTypeVarParameter(((ArrayType)type).getComponentType()); - } - return false; - } - - protected boolean isPassivatingScope( TypeElement scope, WebBeansModel model ) { - AnnotationMirror normalScope = AnnotationUtil.getAnnotationMirror( - scope, model.getCompilationController(), AnnotationUtil.NORMAL_SCOPE_FQN); - if ( normalScope==null){ - return false; - } - Map elementValues = - normalScope.getElementValues(); - boolean isPassivating = false; - for (Entry entry: - elementValues.entrySet()) - { - ExecutableElement key = entry.getKey(); - if ( key.getSimpleName().contentEquals(AnnotationUtil.PASSIVATING)){ - isPassivating = Boolean.TRUE.toString().equals(entry.getValue().toString()); - } - } - return isPassivating; - } - - protected boolean isSerializable( Element element, WebBeansModel model ) { - TypeMirror elementType = element.asType(); - if ( elementType == null || elementType.getKind() == TypeKind.ERROR){ - return true; - } - return isSerializable(elementType, model); - } - - protected boolean isSerializable( TypeMirror type, WebBeansModel model ) { - TypeElement serializable = model.getCompilationController().getElements(). - getTypeElement(Serializable.class.getCanonicalName()); - if ( serializable == null ){ - return true; - } - TypeMirror serializableType = serializable.asType(); - if ( serializableType == null || serializableType.getKind() == TypeKind.ERROR){ - return true; - } - return model.getCompilationController().getTypes().isSubtype(type, - serializableType); - } - - private void informCdiException(CdiException exception , Element element, - WebBeansModel model, Result result ) - { - result.addError( element, model, exception.getMessage()); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java deleted file mode 100644 index bc05fd57e19e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; - - -/** - * @author ads - * - */ -public abstract class AbstractTypedAnalyzer { - - public void analyze( Element element, TypeMirror elementType, - AtomicBoolean cancel , CdiAnalysisResult result ) - { - CompilationInfo compInfo = result.getInfo(); - List list = getRestrictedTypes(element, compInfo, cancel); - if ( list == null ){ - return; - } - result.requireCdiEnabled(element); - for (TypeMirror type : list) { - if ( cancel.get()){ - return; - } - boolean isSubtype = hasBeanType(element, elementType, type, compInfo); - if (!isSubtype) { - addError(element, result ); - } - } - // check @Specializes types restriction conformance - if ( cancel.get()){ - return; - } - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, - compInfo)) - { - result.requireCdiEnabled(element); - checkSpecializes( element , elementType , list, cancel , result ); - } - } - - protected abstract void checkSpecializes( Element element, TypeMirror elementType, - List restrictedTypes, AtomicBoolean cancel , CdiAnalysisResult result ); - - protected boolean hasBeanType( Element subject, TypeMirror elementType, - TypeMirror requiredBeanType,CompilationInfo compInfo ) - { - return compInfo.getTypes().isSubtype(elementType, requiredBeanType); - } - - protected abstract void addError ( Element element , - CdiAnalysisResult result ); - - protected void collectAncestors(TypeElement type , Set ancestors, - CompilationInfo compInfo ) - { - TypeMirror superclass = type.getSuperclass(); - addAncestor( superclass, ancestors, compInfo); - List interfaces = type.getInterfaces(); - for (TypeMirror interfaze : interfaces) { - addAncestor(interfaze, ancestors, compInfo); - } - } - - private void addAncestor( TypeMirror parent , Set ancestors, - CompilationInfo compInfo) - { - if ( parent == null ){ - return; - } - Element parentElement = compInfo.getTypes().asElement( parent ); - if ( parentElement instanceof TypeElement ){ - if ( ancestors.contains( (TypeElement)parentElement)) - { - return; - } - ancestors.add( (TypeElement)parentElement); - collectAncestors((TypeElement)parentElement, ancestors, compInfo); - } - } - - protected List getRestrictedTypes(Element element, - CompilationInfo compInfo , AtomicBoolean cancel) - { - AnnotationMirror typedMirror = AnnotationUtil.getAnnotationMirror(element, - AnnotationUtil.TYPED, compInfo); - if ( typedMirror == null ){ - return null; - } - Map values = - typedMirror.getElementValues(); - AnnotationValue restrictedTypes = null; - for (Entry entry : - values.entrySet() ) - { - ExecutableElement key = entry.getKey(); - AnnotationValue value = entry.getValue(); - if ( AnnotationUtil.VALUE.contentEquals(key.getSimpleName())){ - restrictedTypes = value; - break; - } - } - if ( restrictedTypes == null ){ - return Collections.emptyList(); - } - if ( cancel.get() ){ - return Collections.emptyList(); - } - Object value = restrictedTypes.getValue(); - if ( value instanceof List ){ - List result = new ArrayList(((List)value).size()); - for( Object type : (List)value){ - AnnotationValue annotationValue = (AnnotationValue)type; - type = annotationValue.getValue(); - if (type instanceof TypeMirror){ - result.add( (TypeMirror)type); - } - } - return result; - } - return Collections.emptyList(); - } - - protected Set getUnrestrictedBeanTypes( TypeElement element, - CompilationInfo compInfo) - { - Set set = new HashSet(); - set.add( element ); - collectAncestors(element, set, compInfo); - return set; - } - - protected Set getElements( Collection types , - CompilationInfo info ) - { - Set result = new HashSet(); - for (TypeMirror typeMirror : types) { - Element element = info.getTypes().asElement(typeMirror); - if ( element instanceof TypeElement ){ - result.add( (TypeElement)element); - } - } - return result; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationElementAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationElementAnalyzer.java deleted file mode 100644 index f80dccb6a85c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationElementAnalyzer.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.InterceptorBindingMembersAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.QualifierAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.ScopeAnalyzer; - - -/** - * @author ads - * - */ -public class AnnotationElementAnalyzer implements ElementAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.ElementAnalyzer#analyze(javax.lang.model.element.Element, javax.lang.model.element.TypeElement, org.netbeans.api.java.source.CompilationInfo, java.util.List, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( Element element, TypeElement parent, - AtomicBoolean cancel, CdiAnalysisResult result ) - { - TypeElement subject = (TypeElement) element; - for( AnnotationAnalyzer analyzer : ANALYZERS ){ - if ( cancel.get() ){ - return; - } - analyzer.analyze( subject, cancel , result ); - } - } - - public interface AnnotationAnalyzer { - public static final String INCORRECT_RUNTIME = "ERR_IncorrectRuntimeRetention"; //NOI18N - - void analyze( TypeElement element , AtomicBoolean cancel, - CdiAnalysisResult result ); - } - - private static final List ANALYZERS = - new LinkedList(); - - static { - ANALYZERS.add( new ScopeAnalyzer() ); - ANALYZERS.add( new QualifierAnalyzer() ); - ANALYZERS.add( new InterceptorBindingMembersAnalyzer() ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationModelAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationModelAnalyzer.java deleted file mode 100644 index f5518d8cb18b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationModelAnalyzer.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.InterceptorBindingAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.StereotypeAnalyzer; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public class AnnotationModelAnalyzer implements ModelAnalyzer { - - @Override - public void analyze( Element element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel, - Result result ) - { - TypeElement subject = (TypeElement) element; - for( AnnotationAnalyzer analyzer : ANALYZERS ){ - if ( cancel.get() ){ - return; - } - analyzer.analyze( subject, model, cancel, result ); - } - } - - public interface AnnotationAnalyzer { - public static final String INCORRECT_RUNTIME = "ERR_IncorrectRuntimeRetention"; //NOI18N - - void analyze( TypeElement element , WebBeansModel model, - AtomicBoolean cancel, - Result result ); - } - - private static final List ANALYZERS = - new LinkedList(); - - static { - ANALYZERS.add( new StereotypeAnalyzer()); - ANALYZERS.add( new InterceptorBindingAnalyzer() ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationUtil.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationUtil.java deleted file mode 100644 index c8436b029fce..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/AnnotationUtil.java +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.util.Elements; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public final class AnnotationUtil { - - public static final String ANY = "jakarta.enterprise.inject.Any"; // NOI18N - - public static final String VALUE = "value"; // NOI18N - - public static final String INJECT = "Inject"; // NOI18N - - public static final String INJECT_FQN = "jakarta.inject."+INJECT; // NOI18N - - public static final String DECORATOR = "jakarta.decorator.Decorator"; // NOI18N - - public static final String PRODUCES = "Produces"; - - public static final String PRODUCES_FQN = "jakarta.enterprise.inject."+ // NOI18N - PRODUCES; - - public static final String INTERCEPTOR_BINDING = "InterceptorBinding"; // NOI18N - - public static final String INTERCEPTOR_BINDING_FQN - = "jakarta.interceptor."+INTERCEPTOR_BINDING; // NOI18N - - public static final String INTERCEPTOR = "jakarta.interceptor.Interceptor"; // NOI18N - - public static final String NORMAL_SCOPE = "NormalScope"; // NOI18N - - public static final String NORMAL_SCOPE_FQN - = "jakarta.enterprise.context."+NORMAL_SCOPE;// NOI18N - - public static final String SCOPE = "Scope"; // NOI18N - - public static final String SCOPE_FQN = "jakarta.inject."+SCOPE; // NOI18N - - public static final String REQUEST_SCOPE_FQN = "jakarta.enterprise.context.RequestScoped";// NOI18N - public static final String SESSION_SCOPE_FQN = "jakarta.enterprise.context.SessionScoped";// NOI18N - public static final String APPLICATION_SCOPE_FQN = "jakarta.enterprise.context.ApplicationScoped";// NOI18N - public static final String CONVERSATION_SCOPE_FQN = "jakarta.enterprise.context.ConversationScoped";// NOI18N - public static final String DEPENDENT_SCOPE_FQN = "jakarta.enterprise.context.Dependent";// NOI18N - - - public static final String DISPOSES = "Disposes"; // NOI18N - - public static final String DISPOSES_FQN = "jakarta.enterprise.inject."+ // NOI18N - DISPOSES; - - public static final String OBSERVES = "Observes"; // NOI18N - - public static final String OBSERVES_FQN = "jakarta.enterprise.event."+ // NOI18N - OBSERVES; - - public static final String STATELESS = "jakarta.ejb.Stateless"; // NOI18N - - public static final String STATEFUL = "jakarta.ejb.Stateful"; // NOI18N - - public static final String SINGLETON = "jakarta.ejb.Singleton"; // NOI18N - public static final String CDISINGLETON = "jakarta.inject.Singleton"; // NOI18N - - public static final String APPLICATION_SCOPED - = "jakarta.enterprise.context.ApplicationScoped"; // NOI18N - - public static final String DEPENDENT - = "jakarta.enterprise.context.Dependent"; // NOI18N - - public static final String STEREOTYPE = "Stereotype"; // NOI18N - - public static final String STEREOTYPE_FQN = - "jakarta.enterprise.inject."+STEREOTYPE; // NOI18N - - public static final String NAMED = "jakarta.inject.Named"; // NOI18N - - public static final String QUALIFIER = "Qualifier"; // NOI18N - - public static final String QUALIFIER_FQN= - "jakarta.inject."+QUALIFIER; // NOI18N - - public static final String DELEGATE_FQN = - "jakarta.decorator.Delegate"; // NOI18N - - public static final String SPECIALIZES = "jakarta.enterprise.inject.Specializes"; // NOI18N - - public static final String INJECTION_POINT = - "jakarta.enterprise.inject.spi.InjectionPoint"; // NOI18N - - public static final String DEFAULT_FQN = "jakarta.enterprise.inject.Default"; // NOI18N - - public static final String POST_CONSTRUCT = "jakarta.annotation.PostConstruct"; // NOI18N - - public static final String PRE_DESTROY = "jakarta.annotation.PreDestroy"; // NOI18N - - public static final String POST_ACTIVATE = "jakarta.ejb.PostActivate"; // NOI18N - - public static final String PRE_PASSIVATE = "jakarta.ejb.PrePassivate"; // NOI18N - - public static final String CONTEXT = "jakarta.enterprise.context.spi.Context"; // NOI18N - - public static final String CONVERSATION = "jakarta.enterprise.context.Conversation";// NOI18N - - public static final String ALTERNATVE = "jakarta.enterprise.inject.Alternative"; // NOI18N - - public static final String TYPED = "jakarta.enterprise.inject.Typed"; // NOI18N - - public static final String NON_BINDING = "jakarta.enterprise.util.Nonbinding"; // NOI18N - - public static final String PASSIVATING = "passivating"; // NOI18N - - public static final String PROVIDER = "jakarta.inject.Provider";// NOI18N - - private AnnotationUtil(){ - } - - public static boolean hasAnnotation(Element element, String annotation, - CompilationInfo info ) - { - return getAnnotationMirror(element, annotation, info)!=null; - } - - public static AnnotationMirror getAnnotationMirror(Element element, - String annotation,CompilationInfo info ) - { - return getAnnotationMirror(element, info, annotation); - } - - /** - * return AnnotationMirror for first found annotation from annotationFqns - * @param element - * @param info - * @param annotationFqns - * @return - */ - public static AnnotationMirror getAnnotationMirror(Element element, - CompilationInfo info , String... annotationFqns) - { - Set set = new HashSet(); - Elements els = info.getElements(); - for( String annotation : annotationFqns){ - TypeElement annotationElement = els.getTypeElement( - annotation); - if ( annotationElement != null ){ - set.add( annotationElement ); - } - } - - List annotations = - els.getAllAnnotationMirrors( element ); - for (AnnotationMirror annotationMirror : annotations) { - Element declaredAnnotation = info.getTypes().asElement( - annotationMirror.getAnnotationType()); - if ( set.contains( declaredAnnotation ) ){ - return annotationMirror; - } - } - return null; - } - - public static boolean isSessionBean(Element element , - CompilationInfo compInfo ) - { - return getAnnotationMirror(element, compInfo, STATEFUL, STATELESS, - SINGLETON)!= null; - } - - public static boolean isDelegate(Element element, TypeElement parent, - WebBeansModel model ) - { - return AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DELEGATE_FQN, model.getCompilationController()) - && AnnotationUtil.hasAnnotation( parent, - AnnotationUtil.DECORATOR, model.getCompilationController()); - } - - public static boolean isLifecycleCallback( ExecutableElement element , - CompilationInfo info ) - { - AnnotationMirror annotationMirror = getAnnotationMirror(element, info, - POST_ACTIVATE, POST_CONSTRUCT , PRE_DESTROY, PRE_PASSIVATE); - return annotationMirror != null; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/Bundle.properties deleted file mode 100644 index 2fcfd0daeb80..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/Bundle.properties +++ /dev/null @@ -1,18 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ERR_BadAnnotationParamCtor=A bean constructor should not have a parameter annotated @{0}. \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ClassElementAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ClassElementAnalyzer.java deleted file mode 100644 index d054c4b97540..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ClassElementAnalyzer.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.AnnotationsAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.CtorsAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.TypedClassAnalizer; - - -/** - * @author ads - * - */ -public class ClassElementAnalyzer implements ElementAnalyzer { - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.ElementAnalyzer#analyze(javax.lang.model.element.Element, javax.lang.model.element.TypeElement, org.netbeans.api.java.source.CompilationInfo, java.util.List, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( Element element, TypeElement parent, - AtomicBoolean cancel, CdiAnalysisResult result ) - { - TypeElement subject = (TypeElement) element; - for( ClassAnalyzer analyzer : ANALYZERS ){ - if ( cancel.get() ){ - return; - } - analyzer.analyze( subject, parent, cancel, result ); - } - } - - public interface ClassAnalyzer { - void analyze( TypeElement element , TypeElement parent, AtomicBoolean cancel, - CdiAnalysisResult result ); - } - - private static final List ANALYZERS= new LinkedList(); - - static { - ANALYZERS.add( new TypedClassAnalizer() ); - ANALYZERS.add( new AnnotationsAnalyzer()); - ANALYZERS.add( new CtorsAnalyzer() ); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ClassModelAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ClassModelAnalyzer.java deleted file mode 100644 index 5619878d45dd..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ClassModelAnalyzer.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.DeclaredIBindingsAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.InterceptedBeanAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.ManagedBeansAnalizer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.NamedModelAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.ScopedBeanAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type.SessionBeanAnalyzer; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public class ClassModelAnalyzer implements ModelAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer#analyze(javax.lang.model.element.Element, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( Element element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel, - Result result ) - { - TypeElement subject = (TypeElement) element; - for( ClassAnalyzer analyzer : ANALYZERS ){ - if ( cancel.get() ){ - return; - } - analyzer.analyze( subject, parent, model, cancel, result); - } - } - - public interface ClassAnalyzer { - void analyze( TypeElement element , TypeElement parent, - WebBeansModel model,AtomicBoolean cancel, - Result result ); - } - - private static final List ANALYZERS= new LinkedList(); - - static { - ANALYZERS.add( new ManagedBeansAnalizer()); - ANALYZERS.add( new ScopedBeanAnalyzer()); - ANALYZERS.add( new SessionBeanAnalyzer()); - ANALYZERS.add( new InterceptedBeanAnalyzer() ); - ANALYZERS.add( new NamedModelAnalyzer() ); - ANALYZERS.add( new DeclaredIBindingsAnalyzer()); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/CtorAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/CtorAnalyzer.java deleted file mode 100644 index 2be7b4474e40..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/CtorAnalyzer.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class CtorAnalyzer implements ElementAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.ElementAnalyzer#analyze(javax.lang.model.element.Element, javax.lang.model.element.TypeElement, org.netbeans.api.java.source.CompilationInfo, java.util.List, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( Element element, TypeElement parent, - AtomicBoolean cancel, CdiAnalysisResult result ) - { - ExecutableElement ctor = (ExecutableElement)element; - List parameters = ctor.getParameters(); - for (VariableElement param : parameters) { - if ( cancel.get() ){ - return; - } - boolean isDisposer = AnnotationUtil.hasAnnotation(param, - AnnotationUtil.DISPOSES_FQN, result.getInfo()); - boolean isObserver = AnnotationUtil.hasAnnotation(param, - AnnotationUtil.OBSERVES_FQN, result.getInfo()); - if ( isDisposer || isObserver ){ - result.requireCdiEnabled(element); - String annotation = isDisposer ? AnnotationUtil.DISPOSES : - AnnotationUtil.OBSERVES; - result.addError( element, NbBundle.getMessage( - CtorAnalyzer.class, "ERR_BadAnnotationParamCtor", annotation)); // NOI18N - break; - } - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ElementAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ElementAnalyzer.java deleted file mode 100644 index 05f042d51dd6..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ElementAnalyzer.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; - - -/** - * @author ads - * - */ -public interface ElementAnalyzer { - - void analyze( Element element , TypeElement parent, AtomicBoolean cancel, - CdiAnalysisResult result ); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/FieldElementAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/FieldElementAnalyzer.java deleted file mode 100644 index 406509e67b12..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/FieldElementAnalyzer.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field.DelegateFieldAnalizer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field.ProducerFieldAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field.TypedFieldAnalyzer; - - -/** - * @author ads - * - */ -public class FieldElementAnalyzer implements ElementAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer#analyze(javax.lang.model.element.Element, javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( Element element, TypeElement parent, - AtomicBoolean cancel, CdiAnalysisResult result ) - { - VariableElement var = (VariableElement) element; - TypeMirror varType = result.getInfo().getTypes().asMemberOf( - (DeclaredType)parent.asType(), var ); - for (FieldAnalyzer analyzer : ANALYZERS) { - if ( cancel.get()){ - return; - } - analyzer.analyze(var, varType, parent, cancel, result ); - } - } - - public interface FieldAnalyzer { - void analyze( VariableElement element , TypeMirror elementType, - TypeElement parent, AtomicBoolean cancel, - CdiAnalysisResult result ); - } - - private static final List ANALYZERS= new LinkedList(); - - static { - ANALYZERS.add( new TypedFieldAnalyzer() ); - ANALYZERS.add( new DelegateFieldAnalizer()); - ANALYZERS.add( new ProducerFieldAnalyzer()); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/FieldModelAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/FieldModelAnalyzer.java deleted file mode 100644 index e8f5ca6a8a6e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/FieldModelAnalyzer.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field.InjectionPointAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field.ScopedFieldAnalyzer; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public class FieldModelAnalyzer implements ModelAnalyzer { - - @Override - public void analyze( Element element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel, - Result result ) - { - VariableElement var = (VariableElement) element; - if ( cancel.get()){ - return; - } - TypeMirror varType = model.getCompilationController().getTypes().asMemberOf( - (DeclaredType)parent.asType(), var ); - for (FieldAnalyzer analyzer : ANALYZERS) { - if ( cancel.get()){ - return; - } - analyzer.analyze(var, varType, parent, model, cancel, result ); - } - } - - public interface FieldAnalyzer { - void analyze( VariableElement element , TypeMirror elementType, - TypeElement parent, WebBeansModel model, - AtomicBoolean cancel, Result result ); - } - - private static final List ANALYZERS= new LinkedList(); - - static { - ANALYZERS.add( new ScopedFieldAnalyzer() ); - ANALYZERS.add( new InjectionPointAnalyzer()); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/MethodElementAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/MethodElementAnalyzer.java deleted file mode 100644 index fd7e08f9ccb9..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/MethodElementAnalyzer.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method.AnnotationsAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method.DelegateMethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method.ProducerMethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method.TypedMethodAnalyzer; - - -/** - * @author ads - * - */ -public class MethodElementAnalyzer implements ElementAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer#analyze(javax.lang.model.element.Element, javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( Element element, TypeElement parent, - AtomicBoolean cancel, CdiAnalysisResult result ) - { - ExecutableElement method = (ExecutableElement) element; - TypeMirror methodType = result.getInfo().getTypes().asMemberOf( - (DeclaredType)parent.asType(), method ); - if ( methodType instanceof ExecutableType ){ - if ( cancel.get()){ - return; - } - TypeMirror returnType = ((ExecutableType) methodType).getReturnType(); - for (MethodAnalyzer analyzer : ANALYZERS) { - if ( cancel.get() ){ - return; - } - analyzer.analyze(method, returnType, parent, cancel, - result ); - } - } - } - - public interface MethodAnalyzer { - void analyze( ExecutableElement element , TypeMirror returnType, - TypeElement parent, AtomicBoolean cancel , CdiAnalysisResult result ); - } - - private static final List ANALYZERS= new LinkedList(); - - static { - ANALYZERS.add( new TypedMethodAnalyzer() ); - ANALYZERS.add( new AnnotationsAnalyzer() ); - ANALYZERS.add( new DelegateMethodAnalyzer() ); - ANALYZERS.add( new ProducerMethodAnalyzer() ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/MethodModelAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/MethodModelAnalyzer.java deleted file mode 100644 index d8e96fe62d8c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/MethodModelAnalyzer.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method.InjectionPointParameterAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method.InterceptedMethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method.ScopedMethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public class MethodModelAnalyzer implements ModelAnalyzer { - - @Override - public void analyze( Element element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel, - Result result ) - { - ExecutableElement method = (ExecutableElement) element; - TypeMirror methodType = model.getCompilationController().getTypes(). - asMemberOf( (DeclaredType)parent.asType(), method ); - if ( methodType instanceof ExecutableType ){ - if ( cancel.get()){ - return; - } - TypeMirror returnType = ((ExecutableType) methodType).getReturnType(); - for (MethodAnalyzer analyzer : ANALYZERS) { - if ( cancel.get() ){ - return; - } - analyzer.analyze(method, returnType, parent, model, - cancel, result ); - } - } - } - - public interface MethodAnalyzer { - void analyze( ExecutableElement element , TypeMirror returnType, - TypeElement parent, WebBeansModel model, - AtomicBoolean cancel , Result result); - } - - private static final List ANALYZERS= new LinkedList(); - - static { - ANALYZERS.add( new ScopedMethodAnalyzer() ); - ANALYZERS.add( new InjectionPointParameterAnalyzer() ); - ANALYZERS.add( new InterceptedMethodAnalyzer() ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ModelAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ModelAnalyzer.java deleted file mode 100644 index dda42f87590c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/ModelAnalyzer.java +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer; - -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiEditorAnalysisFactory; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiEditorAwareJavaSourceTaskFactory; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.spi.editor.hints.ErrorDescription; -import org.netbeans.spi.editor.hints.Severity; - - -/** - * @author ads - * - */ -public interface ModelAnalyzer { - - void analyze( Element element , TypeElement parent, WebBeansModel model, - AtomicBoolean cancel, Result result ); - - public class Result extends CdiAnalysisResult { - - public Result( CompilationInfo info , - CdiEditorAwareJavaSourceTaskFactory factory ) - { - super(info, factory); - } - - public void addNotification( Severity severity, Element element, - WebBeansModel model, String message ) - { - ErrorDescription description = CdiEditorAnalysisFactory. - createNotification( severity, element, model, getInfo() , - message); - if ( description == null ){ - return; - } - getProblems().add( description ); - } - - public void addNotification( Severity severity, - VariableElement element, ExecutableElement method, - WebBeansModel model, String message ) - { - ErrorDescription description = CdiEditorAnalysisFactory. - createNotification( severity, element,method, model, getInfo() , - message); - if ( description == null ){ - return; - } - getProblems().add( description ); - } - - public void addError( Element element, - WebBeansModel model, String message ) - { - addNotification(Severity.ERROR, element, model, message); - } - - public void addError( VariableElement var, ExecutableElement element, - WebBeansModel model, String message ) - { - addNotification(Severity.ERROR, var, element, model, message); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#addError(javax.lang.model.element.Element, java.lang.String) - */ - @Override - public void addError( Element subject, String message ) { - ErrorDescription description = CdiEditorAnalysisFactory. - createNotification( Severity.ERROR, subject, getInfo() , - message); - if ( description == null ){ - return; - } - getProblems().add( description ); - } - - public void requireCdiEnabled( Element element , WebBeansModel model){ - ElementHandle handle = ElementHandle.create(element); - Element resolved = handle.resolve( getInfo() ); - if ( resolved == null ){ - return; - } - requireCdiEnabled( resolved ); - } - - public void requireCdiEnabled( VariableElement element , - ExecutableElement method ,WebBeansModel model) - { - VariableElement resolved = CdiEditorAnalysisFactory. - resolveParameter(element, method, getInfo()); - if ( resolved == null ){ - return; - } - requireCdiEnabled( resolved ); - } - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/Bundle.properties deleted file mode 100644 index d1b1b910987c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/Bundle.properties +++ /dev/null @@ -1,46 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ERR_NonEmptyNamedStereotype=A stereotype should not declare a non-empty @Named annotation. -ERR_IncorrectRuntimeRetention=The CDI annotation should be defined with @Retention(RUNTIME). -ERR_NoTarget=The CDI annotation is defined with @{0} but has no @Target. -ERR_NoRetention=The CDI annotation is defined with @{0} but has no @Retention. -ERR_IncorrectScopeTarget=The CDI annotation is declared as Scope but has wrong target \ -value. Correct target values is '{METHOD, FIELD, TYPE'}. -ERR_IncorrectInterceptorBindingTarget=The CDI Annotation is declared as Interceptor \ -Binding but it has wrong target values. Correct target values are '{METHOD, TYPE'} or TYPE. -ERR_IncorrectStereotypeTarget=The CDI Annotation is declared as Stereotype but it has \ -wrong target values. Correct target values are are '{METHOD, FIELD, TYPE'} or \ -'{METHOD, FIELD'} or TYPE or METHOD or FIELD. -ERR_IncorrectQualifierTarget=The CDI Annotation is declared as Qualifier but it \ -has wrong target values. Correct target values are \ -'{METHOD, FIELD, PARAMETER, TYPE'} or '{FIELD, PARAMETER'}. -ERR_IncorrectTargetWithInterceptorBindings=A stereotype with interceptor binding \ -declared must be defined as @Target(TYPE). -ERR_IncorrectTransitiveInterceptorBinding=Interceptor binding is defined as \ -@Target('{TYPE, METHOD'}) and declares interceptor binding {0} which is defined as \ -@Target(TYPE). -ERR_IncorrectTransitiveTarget=Stereotypes @{0} declared @Target('{TYPE'}) and may not \ -be applied to stereotypes declared @Target('{TYPE, METHOD, FIELD'}), @Target('{METHOD'}), \ -@Target('{FIELD'}) or @Target('{METHOD, FIELD'}). -WARN_QualifiedStereotype=A stereotype should not declare any qualifier annotation \ -other than @Named. Otherwise non-portable behavior results. -WARN_TypedStereotype=A stereotype should not be annotated @Typed. Otherwise non-portable behavior results. -WARN_ArrayAnnotationValuedQualifierMember=Array-valued or annotation-valued members \ -of a qualifier type should be annotated @Nonbinding. Otherwise non-portable behavior results. -WARN_ArrayAnnotationValuedIBindingMember=Array-valued or annotation-valued members of \ -an interceptor binding type should be annotated @Nonbinding. Otherwise non-portable behavior results. \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/CdiAnnotationAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/CdiAnnotationAnalyzer.java deleted file mode 100644 index 3f014c227496..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/CdiAnnotationAnalyzer.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -abstract class CdiAnnotationAnalyzer extends TargetAnalyzer { - - CdiAnnotationAnalyzer(TypeElement element, CdiAnalysisResult result ) - { - init( element , result.getInfo() ); - myResult =result; - } - - CdiAnnotationAnalyzer(TypeElement element, WebBeansModel model, - CdiAnalysisResult result ) - { - init( element , model.getCompilationController() ); - myModel = model; - myResult =result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#handleNoTarget() - */ - @Override - protected void handleNoTarget() { - if ( myResult== null){ - return; - } - Element subject = getElement(); - if ( myModel != null ){ - ElementHandle handle = ElementHandle.create( getElement()); - subject = handle.resolve(getResult().getInfo()); - } - if ( subject == null ){ - return; - } - myResult.addError( subject, NbBundle.getMessage(ScopeAnalyzer.class, - "ERR_NoTarget" , // NOI18N - getCdiMetaAnnotation())); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.RuntimeRetentionAnalyzer#handleNoRetention() - */ - @Override - protected void handleNoRetention() { - if ( myResult== null){ - return; - } - Element subject = getElement(); - if ( myModel != null ){ - ElementHandle handle = ElementHandle.create( getElement()); - subject = handle.resolve(getResult().getInfo()); - } - if ( subject == null ){ - return; - } - myResult.addError( subject, NbBundle.getMessage(ScopeAnalyzer.class, - "ERR_NoRetention", // NOI18N - getCdiMetaAnnotation())); - } - - protected abstract String getCdiMetaAnnotation(); - - protected CdiAnalysisResult getResult(){ - return myResult; - } - - private WebBeansModel myModel; - private CdiAnalysisResult myResult; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java deleted file mode 100644 index acb4181c2b9b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.ElementType; -import java.util.Collection; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationModelAnalyzer.AnnotationAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class InterceptorBindingAnalyzer implements AnnotationAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationModelAnalyzer.AnnotationAnalyzer#analyze(javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, WebBeansModel model, - AtomicBoolean cancel , - Result result ) - { - if ( !AnnotationUtil.hasAnnotation(element, - AnnotationUtil.INTERCEPTOR_BINDING_FQN , model.getCompilationController())) - { - return; - } - result.requireCdiEnabled(element, model); - InterceptorTargetAnalyzer analyzer = new InterceptorTargetAnalyzer( - element, model, result ); - if ( cancel.get() ){ - return; - } - if (!analyzer.hasRuntimeRetention()) { - result.addError(element, model, - NbBundle.getMessage(InterceptorBindingAnalyzer.class, - INCORRECT_RUNTIME)); - } - if ( cancel.get() ){ - return; - } - if (!analyzer.hasTarget()) { - result.addError(element, model, - NbBundle.getMessage(InterceptorBindingAnalyzer.class, - "ERR_IncorrectInterceptorBindingTarget")); // NOI18N - } - else { - if ( cancel.get() ){ - return; - } - Set declaredTargetTypes = analyzer.getDeclaredTargetTypes(); - if ( cancel.get() ){ - return; - } - checkTransitiveInterceptorBindings( element, declaredTargetTypes, - model , result ); - } - } - - private void checkTransitiveInterceptorBindings( TypeElement element, - Set declaredTargetTypes, WebBeansModel model, - Result result ) - { - if (declaredTargetTypes == null || declaredTargetTypes.size() == 1) { - return; - } - Collection interceptorBindings = model - .getInterceptorBindings(element); - for (AnnotationMirror iBinding : interceptorBindings) { - Element binding = iBinding.getAnnotationType().asElement(); - if (!(binding instanceof TypeElement)) { - continue; - } - Set bindingTargetTypes = TargetAnalyzer - .getDeclaredTargetTypes( - new AnnotationHelper(model - .getCompilationController()), - (TypeElement) binding); - if (bindingTargetTypes.size() == 1 - && bindingTargetTypes.contains(ElementType.TYPE)) - { - result.addError(element, model , - NbBundle.getMessage(InterceptorBindingAnalyzer.class, - "ERR_IncorrectTransitiveInterceptorBinding", // NOI18N - ((TypeElement) binding).getQualifiedName().toString())); - } - - } - } - - private static class InterceptorTargetAnalyzer extends CdiAnnotationAnalyzer { - - InterceptorTargetAnalyzer( TypeElement element , WebBeansModel model , - Result result) - { - super( element, model , result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.CdiAnnotationAnalyzer#getCdiMetaAnnotation() - */ - @Override - protected String getCdiMetaAnnotation() { - return AnnotationUtil.INTERCEPTOR_BINDING; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#getTargetVerifier() - */ - @Override - protected TargetVerifier getTargetVerifier() { - return InterceptorBindingVerifier.getInstance(); - } - - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java deleted file mode 100644 index 30bb55d24b44..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationElementAnalyzer.AnnotationAnalyzer; -import org.openide.util.NbBundle; -import org.netbeans.spi.editor.hints.Severity; - - - -/** - * @author ads - * - */ -public class InterceptorBindingMembersAnalyzer implements AnnotationAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationElementAnalyzer.AnnotationAnalyzer#analyze(javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult) - */ - @Override - public void analyze( TypeElement element, AtomicBoolean cancel, - CdiAnalysisResult result ) - { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN, - result.getInfo())) - { - checkMembers(element, result, NbBundle.getMessage( - QualifierAnalyzer.class, - "WARN_ArrayAnnotationValuedIBindingMember")); // NOI18N - } - } - - protected void checkMembers( TypeElement element, CdiAnalysisResult result , - String localizedWarning ) - { - List methods = ElementFilter.methodsIn( - element.getEnclosedElements()); - for (ExecutableElement executableElement : methods) { - TypeMirror returnType = executableElement.getReturnType(); - boolean warning = false; - if ( returnType.getKind() == TypeKind.ARRAY ){ - warning = true; - } - else if ( returnType.getKind() == TypeKind.DECLARED){ - Element returnElement = result.getInfo().getTypes().asElement( - returnType ); - warning = returnElement.getKind() == ElementKind.ANNOTATION_TYPE; - } - if ( !warning ){ - continue; - } - if (AnnotationUtil.hasAnnotation(executableElement, - AnnotationUtil.NON_BINDING, result.getInfo()) ) - { - continue; - } - result.addNotification(Severity.WARNING, element, localizedWarning); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingVerifier.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingVerifier.java deleted file mode 100644 index 3cd27b778d6d..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/InterceptorBindingVerifier.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.ElementType; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; - - -/** - * @author ads - * - */ -public class InterceptorBindingVerifier implements TargetVerifier { - - private InterceptorBindingVerifier(){ - } - - private static final InterceptorBindingVerifier INSTANCE = - new InterceptorBindingVerifier(); - - public static InterceptorBindingVerifier getInstance(){ - return INSTANCE; - } - - @Override - public boolean hasReqiredTarget( AnnotationMirror target , Set - targetTypes ) - { - int sz = 1; - if(targetTypes.size()>0){ - sz = targetTypes.size(); - if(targetTypes.contains( ElementType.TYPE)){ - sz--; - } - if ( targetTypes.contains( ElementType.METHOD)) { - sz--; - } - if (targetTypes.contains( ElementType.CONSTRUCTOR) ) - { - sz--; - } - } - return sz==0; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java deleted file mode 100644 index 169c61e35cee..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationElementAnalyzer.AnnotationAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.openide.util.NbBundle; -import org.netbeans.spi.editor.hints.Severity; - - -/** - * @author ads - * - */ -public class QualifierAnalyzer extends InterceptorBindingMembersAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationElementAnalyzer.AnnotationAnalyzer#analyze(javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( TypeElement element, AtomicBoolean cancel, - CdiAnalysisResult result ) - { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.QUALIFIER_FQN, - result.getInfo())) - { - result.requireCdiEnabled(element); - QualifierTargetAnalyzer analyzer = new QualifierTargetAnalyzer(element, - result ); - if ( !analyzer.hasRuntimeRetention() ){ - result.addError( element, - NbBundle.getMessage(QualifierTargetAnalyzer.class, - INCORRECT_RUNTIME)); - } - if ( !analyzer.hasTarget()){ - result.addError( element, - NbBundle.getMessage(QualifierTargetAnalyzer.class, - "ERR_IncorrectQualifierTarget")); // NOI18N - } - if ( cancel.get() ){ - return; - } - checkMembers( element, result , NbBundle.getMessage( - QualifierAnalyzer.class, - "WARN_ArrayAnnotationValuedQualifierMember")); // NOI18N - } - } - - private static class QualifierTargetAnalyzer extends CdiAnnotationAnalyzer{ - - QualifierTargetAnalyzer( TypeElement element, CdiAnalysisResult result) - { - super(element, result); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.CdiAnnotationAnalyzer#getCdiMetaAnnotation() - */ - @Override - protected String getCdiMetaAnnotation() { - return AnnotationUtil.QUALIFIER; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#getTargetVerifier() - */ - @Override - protected TargetVerifier getTargetVerifier() { - return QualifierVerifier.getInstance( true ); - } - - } -} \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/QualifierVerifier.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/QualifierVerifier.java deleted file mode 100644 index 459977029d48..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/QualifierVerifier.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.ElementType; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; - - -/** - * @author ads - * - */ -public class QualifierVerifier implements TargetVerifier { - - - private static final QualifierVerifier INSTANCE = new QualifierVerifier( false ); - - private static final QualifierVerifier EVENT_INSTANCE = - new QualifierVerifier( true ); - - private QualifierVerifier(boolean event){ - isEvent = event; - } - - public static QualifierVerifier getInstance( boolean event ){ - if ( event ){ - return EVENT_INSTANCE; - } - else { - return INSTANCE; - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetVerifier#hasReqiredTarget(javax.lang.model.element.AnnotationMirror, java.util.Set) - */ - @Override - public boolean hasReqiredTarget( AnnotationMirror target, - Set targetTypes ) - { - boolean hasRequiredTarget = false; -// if ( isEvent() ){ TODO: any reason why it was different, ins specification event qualifier is just the same as usual, and example have 4 targets but it's just example? see #225556 - //especially it was updated for evvents before but specification is new for all qualifiers. keep for now commented - boolean hasFieldParameterTarget = targetTypes.contains( - ElementType.FIELD) && - targetTypes.contains(ElementType.PARAMETER); - if ( !hasFieldParameterTarget){ - hasRequiredTarget = (targetTypes.size() == 1 && - (targetTypes.contains(ElementType.TYPE) || - targetTypes.contains(ElementType.METHOD) || - targetTypes.contains(ElementType.FIELD))) || - (targetTypes.size() == 2 && - targetTypes.contains(ElementType.METHOD) && - targetTypes.contains(ElementType.FIELD));//see #244059 - } - else { - if ( targetTypes.size() == 2 ){ - hasRequiredTarget = true; - } - else { - hasRequiredTarget = - (targetTypes.size() == 4 && - targetTypes.contains( ElementType.METHOD) && - targetTypes.contains( ElementType.TYPE)) || - (targetTypes.size() == 3 && - targetTypes.contains( ElementType.METHOD)); - } - } -// } -// else { -// hasRequiredTarget = targetTypes.size() == 4 && -// targetTypes.contains( ElementType.METHOD) && -// targetTypes.contains(ElementType.FIELD) && -// targetTypes.contains(ElementType.PARAMETER)&& -// targetTypes.contains( ElementType.TYPE); -// } - - return hasRequiredTarget; - } - - private boolean isEvent(){ - return isEvent; - } - - private boolean isEvent; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/RuntimeRetentionAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/RuntimeRetentionAnalyzer.java deleted file mode 100644 index 8d297fab7f65..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/RuntimeRetentionAnalyzer.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.util.Map; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.AnnotationParser; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; - - -/** - * @author ads - * - */ -public abstract class RuntimeRetentionAnalyzer { - - public void init( Element element, AnnotationHelper helper ) { - myHelper = helper; - myElement = element; - } - - public void init( Element element, CompilationInfo info ) { - init( element , new AnnotationHelper(info)); - } - - public boolean hasRuntimeRetention() { - Map types = getHelper() - .getAnnotationsByType(getElement().getAnnotationMirrors()); - AnnotationMirror retention = types.get(Retention.class.getCanonicalName()); - if ( retention == null ) { - handleNoRetention(); - return false; - } - - AnnotationParser parser = AnnotationParser.create(getHelper()); - parser.expectEnumConstant(AnnotationUtil.VALUE, getHelper().resolveType( - RetentionPolicy.class.getCanonicalName()), null); - - String retentionPolicy = parser.parse(retention).get(AnnotationUtil.VALUE, - String.class); - return RetentionPolicy.RUNTIME.toString().equals(retentionPolicy); - } - - protected abstract void handleNoRetention(); - - protected Element getElement(){ - return myElement; - } - - protected AnnotationHelper getHelper(){ - return myHelper; - } - - private AnnotationHelper myHelper; - private Element myElement; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java deleted file mode 100644 index 616fc5f8d7ce..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.TypeElement; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationElementAnalyzer.AnnotationAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class ScopeAnalyzer implements AnnotationAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationElementAnalyzer.AnnotationAnalyzer#analyze(javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( TypeElement element, AtomicBoolean cancel, - CdiAnalysisResult result) - { - CompilationInfo compInfo = result.getInfo(); - boolean isScope = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.SCOPE_FQN , compInfo); - boolean isNormalScope = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.NORMAL_SCOPE_FQN, compInfo); - if ( isScope || isNormalScope ){ - result.requireCdiEnabled(element); - ScopeTargetAnalyzer analyzer = new ScopeTargetAnalyzer(element, - result, isNormalScope); - if ( cancel.get() ){ - return; - } - if ( !analyzer.hasRuntimeRetention() ){ - result.addError( element, - NbBundle.getMessage(ScopeAnalyzer.class, - INCORRECT_RUNTIME)); - } - if ( cancel.get() ){ - return; - } - if ( !analyzer.hasTarget()){ - result.addError( element, - NbBundle.getMessage(ScopeAnalyzer.class, - "ERR_IncorrectScopeTarget")); // NOI18N - } - } - } - - private static class ScopeTargetAnalyzer extends CdiAnnotationAnalyzer { - - ScopeTargetAnalyzer(TypeElement element, CdiAnalysisResult result, - boolean normalScope ) - { - super( element , result ); - isNormalScope = normalScope; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#getTargetVerifier() - */ - @Override - protected TargetVerifier getTargetVerifier() { - return ScopeVerifier.getInstance(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.CdiAnnotationAnalyzer#getCdiMetaAnnotation() - */ - @Override - protected String getCdiMetaAnnotation() { - if ( isNormalScope ){ - return AnnotationUtil.NORMAL_SCOPE; - } - else { - return AnnotationUtil.SCOPE; - } - } - - private boolean isNormalScope; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/ScopeVerifier.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/ScopeVerifier.java deleted file mode 100644 index a816832c5906..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/ScopeVerifier.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.ElementType; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; - - -/** - * @author ads - * - */ -public class ScopeVerifier implements TargetVerifier { - - private static final ScopeVerifier INSTANCE = new ScopeVerifier(); - - private ScopeVerifier( ){ - } - - public static ScopeVerifier getInstance(){ - return INSTANCE; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetVerifier#hasReqiredTarget(javax.lang.model.element.AnnotationMirror, java.util.Set) - */ - @Override - public boolean hasReqiredTarget( AnnotationMirror target, - Set targetTypes ) - { - boolean hasRequiredTarget = targetTypes.contains( - ElementType.METHOD) && - targetTypes.contains(ElementType.FIELD) && - targetTypes.contains( ElementType.TYPE); - return hasRequiredTarget; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java deleted file mode 100644 index 7135d923c833..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.ElementType; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractScopedAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationModelAnalyzer.AnnotationAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelProviderImpl; -import org.openide.util.NbBundle; -import org.netbeans.spi.editor.hints.Severity; - - -/** - * @author ads - * - */ -public class StereotypeAnalyzer extends AbstractScopedAnalyzer implements AnnotationAnalyzer { - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationModelAnalyzer.AnnotationAnalyzer#analyze(javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, WebBeansModel model , - AtomicBoolean cancel , - Result result) - { - boolean isStereotype = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.STEREOTYPE_FQN, model.getCompilationController()); - if ( !isStereotype ){ - return; - } - result.requireCdiEnabled(element, model); - if ( cancel.get() ){ - return; - } - analyzeScope((Element)element, model, cancel, result ); - if (cancel.get() ){ - return; - } - checkName( element, model, result ); - if ( cancel.get() ){ - return; - } - Set targets = checkDefinition( element , model, result ); - if ( cancel.get() ){ - return; - } - checkInterceptorBindings( element , targets, model , result ); - if ( cancel.get() ){ - return; - } - checkTransitiveStereotypes( element , targets, model , result ); - if ( cancel.get() ){ - return; - } - checkTyped( element , model , result ); - if ( cancel.get() ){ - return; - } - checkQualifers( element , model, result ); - } - - private void checkQualifers( TypeElement element, WebBeansModel model, - Result result ) - { - List qualifiers = model.getQualifiers(element, true); - for (AnnotationMirror annotationMirror : qualifiers) { - Element annotation = annotationMirror.getAnnotationType().asElement(); - if ( annotation instanceof TypeElement && - ((TypeElement)annotation).getQualifiedName().contentEquals( - AnnotationUtil.NAMED)) - { - continue; - } - else { - result.addNotification( Severity.WARNING , element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, - "WARN_QualifiedStereotype")); // NOI18N - break; - } - } - } - - private void checkTyped( TypeElement element, WebBeansModel model, - Result result ) - { - AnnotationMirror typed = AnnotationUtil.getAnnotationMirror(element, - model.getCompilationController(), AnnotationUtil.TYPED); - if ( typed != null ){ - result.addNotification( Severity.WARNING , element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, - "WARN_TypedStereotype")); // NOI18N - } - } - - private void checkTransitiveStereotypes( TypeElement element, - final Set targets, WebBeansModel model, - Result result ) - { - AnnotationHelper helper = new AnnotationHelper( - model.getCompilationController()); - List stereotypes = WebBeansModelProviderImpl - .getAllStereotypes(element, helper); - for (AnnotationMirror stereotypeAnnotation : stereotypes) { - Element annotationElement = stereotypeAnnotation - .getAnnotationType().asElement(); - if (annotationElement instanceof TypeElement) { - TypeElement stereotype = (TypeElement) annotationElement; - Set declaredTargetTypes = TargetAnalyzer - .getDeclaredTargetTypes(helper, stereotype); - if (declaredTargetTypes != null - && declaredTargetTypes.size() == 1 - && declaredTargetTypes.contains(ElementType.TYPE)) - { - if (targets.size() == 1 - && targets.contains(ElementType.TYPE)) - { - continue; - } - else { - String fqn = stereotype.getQualifiedName().toString(); - result.addError(element, model, - NbBundle.getMessage( - StereotypeAnalyzer.class, - "ERR_IncorrectTransitiveTarget", // NOI18N - fqn)); - } - } - } - } - } - - private void checkInterceptorBindings( TypeElement element, - Set targets, WebBeansModel model, - Result result ) - { - if (targets == null) { - return; - } - if (targets.size() == 1 && targets.contains(ElementType.TYPE)) { - return; - } - int interceptorsCount = model.getInterceptorBindings(element).size(); - if (interceptorsCount != 0) { - result.addError(element,model, - NbBundle.getMessage(StereotypeAnalyzer.class, - "ERR_IncorrectTargetWithInterceptorBindings")); // NOI18N - } - } - - private Set checkDefinition( TypeElement element, - WebBeansModel model , Result result ) - { - StereotypeTargetAnalyzer analyzer = new StereotypeTargetAnalyzer(element, - model, result ); - if ( !analyzer.hasRuntimeRetention()){ - result.addError( element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, - INCORRECT_RUNTIME)); - } - if ( !analyzer.hasTarget()){ - result.addError( element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, - "ERR_IncorrectStereotypeTarget")); // NOI18N - return null; - } - else { - return analyzer.getDeclaredTargetTypes(); - } - } - - private void checkName( TypeElement element, WebBeansModel model, - Result result ) - { - AnnotationMirror named = AnnotationUtil.getAnnotationMirror(element, - AnnotationUtil.NAMED , model.getCompilationController()); - if ( named == null ){ - return; - } - Map members = - named.getElementValues(); - for (Entry entry: - members.entrySet()) - { - ExecutableElement member = entry.getKey(); - if ( member.getSimpleName().contentEquals(AnnotationUtil.VALUE)){ - result.addError( element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, - "ERR_NonEmptyNamedStereotype")); // NOI18N - } - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractScopedAnalyzer#checkScope(javax.lang.model.element.TypeElement, javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result) - */ - @Override - protected void checkScope( TypeElement scopeElement, Element element, - WebBeansModel model, AtomicBoolean cancel , Result result ) - { - } - - private static class StereotypeTargetAnalyzer extends CdiAnnotationAnalyzer{ - - StereotypeTargetAnalyzer( TypeElement element, WebBeansModel model, - Result result ) - { - super(element, model, result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.CdiAnnotationAnalyzer#getCdiMetaAnnotation() - */ - @Override - protected String getCdiMetaAnnotation() { - return AnnotationUtil.STEREOTYPE; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#getTargetVerifier() - */ - @Override - protected TargetVerifier getTargetVerifier() { - return StereotypeVerifier.getInstance(); - } - - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/StereotypeVerifier.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/StereotypeVerifier.java deleted file mode 100644 index f017ff6d47cb..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/StereotypeVerifier.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.ElementType; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; - - -/** - * @author ads - * - */ -public class StereotypeVerifier implements TargetVerifier { - - private static final StereotypeVerifier INSTANCE = new StereotypeVerifier(); - - private StereotypeVerifier(){ - } - - public static StereotypeVerifier getInstance(){ - return INSTANCE; - } - - @Override - public boolean hasReqiredTarget( AnnotationMirror target, - Set targetTypes ) - { - boolean hasRequiredTarget = false; - if ( targetTypes.contains( ElementType.METHOD) && - targetTypes.contains(ElementType.FIELD) && - targetTypes.contains( ElementType.TYPE) - && targetTypes.size() == 3) - { - hasRequiredTarget = true; - } - else if ( targetTypes.size() == 2 && - targetTypes.contains( ElementType.METHOD) && - targetTypes.contains(ElementType.FIELD)) - { - hasRequiredTarget = true; - } - else if ( targetTypes.size() == 1 ){ - hasRequiredTarget = targetTypes.contains( ElementType.METHOD) || - targetTypes.contains( ElementType.FIELD) || - targetTypes.contains( ElementType.TYPE); - } - return hasRequiredTarget; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/TargetAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/TargetAnalyzer.java deleted file mode 100644 index 91add8f98891..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/TargetAnalyzer.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Target; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.AnnotationParser; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.ArrayValueHandler; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; - - -/** - * @author ads - * - */ -public abstract class TargetAnalyzer extends RuntimeRetentionAnalyzer - implements TargetVerifier -{ - - public boolean hasTarget() { - Map types = getHelper() - .getAnnotationsByType(getElement().getAnnotationMirrors()); - AnnotationMirror target = types.get(Target.class.getCanonicalName()); - if (target == null) { - handleNoTarget(); - } - return hasReqiredTarget( target , getDeclaredTargetTypes( getHelper(), - target )); - } - - public Set getDeclaredTargetTypes() { - Map types = getHelper() - .getAnnotationsByType(getElement().getAnnotationMirrors()); - AnnotationMirror target = types.get(Target.class.getCanonicalName()); - if (target == null) { - return Collections.emptySet(); - } - return getDeclaredTargetTypes( getHelper(), target ); - } - - public static Set getDeclaredTargetTypes( - AnnotationHelper helper, TypeElement element ) - { - Map types = helper - .getAnnotationsByType(element.getAnnotationMirrors()); - AnnotationMirror target = types.get(Target.class.getCanonicalName()); - if (target == null) { - return Collections.emptySet(); - } - return getDeclaredTargetTypes( helper, target ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetVerifier#hasReqiredTarget(javax.lang.model.element.AnnotationMirror, java.util.Set) - */ - @Override - public boolean hasReqiredTarget( AnnotationMirror target, - Set set ) - { - return getTargetVerifier().hasReqiredTarget(target, set ); - } - - protected abstract TargetVerifier getTargetVerifier(); - - protected abstract void handleNoTarget(); - - private static Set getDeclaredTargetTypes( - AnnotationHelper helper, AnnotationMirror target) - { - AnnotationParser parser = AnnotationParser.create(helper); - final Set elementTypes = new HashSet(); - parser.expectEnumConstantArray( AnnotationUtil.VALUE, - helper.resolveType( - ElementType.class.getCanonicalName()), - new ArrayValueHandler() { - - @Override - public Object handleArray( List arrayMembers ) { - for (AnnotationValue arrayMember : arrayMembers) { - String value = arrayMember.getValue().toString(); - elementTypes.add(value); - } - return null; - } - } , null); - - parser.parse( target ); - Set result = new HashSet(); - for (String type : elementTypes) { - ElementType elementType = ElementType.valueOf(ElementType.class, type); - result.add( elementType ); - } - return result; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/TargetVerifier.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/TargetVerifier.java deleted file mode 100644 index 00ad26e90fd1..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/annotation/TargetVerifier.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation; - -import java.lang.annotation.ElementType; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; - - -/** - * @author ads - * - */ -public interface TargetVerifier { - - boolean hasReqiredTarget(AnnotationMirror target, Set targetTypes); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/Bundle.properties deleted file mode 100644 index 60bbef26f1e8..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/Bundle.properties +++ /dev/null @@ -1,48 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ERR_BadRestritedFieldType=Field\'s bean class specifies @Typed annotation, \ -and the value member specifies a class which does not correspond to a type in \ -the unrestricted set of bean types of a bean. -ERR_DelegateHasNoInject=Field is declared as @Delegate but it is not an injection point. -ERR_DelegateIsNotInDecorator=Field is declared as @Delegate but its enclosing \ -type element is not a decorator. -ERR_NonStaticProducerSessionBean=A producer field must be a static field of the \ -session bean class. - -ERR_ProducerHasTypeVar=A producer field type should not be a type variable. -ERR_ProducerHasWildcard=A producer field type should not contain a wildcard type parameter. - -ERR_WrongScopeParameterizedProducer=The producer field has parameterized type \ -with a type variable and has scope {0} (should be @Dependent). - -ERR_WrongQualifierInjectionPointMeta=An injection point has type InjectionPoint \ -and qualifier @Default but bean declares not @Dependent scope. - -ERR_DelegateTypeHasNoDecoratedType=The delegate type of a decorator must implement \ -or extend every decorated type of decorator. - -ERR_FinalDecoratedBean=Delegate injection point matches a managed bean {0} \ -which class is declared final. - -ERR_FinalMethodDecoratedBean=Delegate injection point matches a managed bean {0} \ -with final method {1} which is implemented by decorator. - -WARN_NamedInjectionPoint=The use of @Named as an injection point qualifier is not recommended. - -ERR_NotPassivationProducer=Producer field has a passivating scope {0} and should be \ -passivation capable. But its type is declared final and does not implement Serializable. \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java deleted file mode 100644 index a3169a7de804..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field; - -import java.io.Serializable; -import java.util.Collection; -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldElementAnalyzer.FieldAnalyzer; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class DelegateFieldAnalizer implements FieldAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldElementAnalyzer.FieldAnalyzer#analyze(javax.lang.model.element.VariableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, org.netbeans.api.java.source.CompilationInfo, java.util.List, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( VariableElement element, TypeMirror elementType, - TypeElement parent, AtomicBoolean cancel, - CdiAnalysisResult result ) - { - CompilationInfo compInfo = result.getInfo(); - if (!AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, - compInfo)) - { - return; - } - result.requireCdiEnabled(element); - if (!AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, - compInfo)) - { - result.addError(element, NbBundle.getMessage( - DelegateFieldAnalizer.class, - "ERR_DelegateHasNoInject")); // NOI18N - } - Element clazz = element.getEnclosingElement(); - if (!AnnotationUtil.hasAnnotation(clazz, AnnotationUtil.DECORATOR, - compInfo)) - { - result.addError(element, NbBundle.getMessage( - DelegateFieldAnalizer.class, - "ERR_DelegateIsNotInDecorator")); // NOI18N - } - EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance( - result); - if ( helper != null ){ - helper.addDelegate(result, element ); - } - if ( cancel.get()){ - return; - } - checkDelegateType(element, elementType, parent, result ); - } - - private void checkDelegateType( VariableElement element, - TypeMirror elementType, TypeElement parent, - CdiAnalysisResult result ) - { - Collection decoratedTypes = getDecoratedTypes( parent , - result.getInfo() ); - for (TypeMirror decoratedType : decoratedTypes) { - if ( !result.getInfo().getTypes().isSubtype( elementType,decoratedType )){ - result.addError(element, NbBundle.getMessage( - DelegateFieldAnalizer.class, - "ERR_DelegateTypeHasNoDecoratedType")); // NOI18N - return; - } - } - } - - public static Collection getDecoratedTypes( TypeElement element , - CompilationInfo info ) - { - TypeElement serializable = info.getElements().getTypeElement( - Serializable.class.getCanonicalName()); - Collection result = new LinkedList(); - collectDecoratedTypes( element.asType() , result , serializable, info ); - return result; - } - - private static void collectDecoratedTypes( TypeMirror type, - Collection result, TypeElement serializable, - CompilationInfo info) - { - List directSupertypes = info.getTypes(). - directSupertypes(type); - for (TypeMirror superType : directSupertypes) { - Element element = info.getTypes().asElement(superType); - if( element == null || element.equals( serializable) ) - { - continue; - } - if ( element.getKind() == ElementKind.INTERFACE ){ - result.add( superType ); - } - collectDecoratedTypes(superType, result, serializable, info); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java deleted file mode 100644 index bb3a48bde1d9..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field; - -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; -import javax.swing.text.Document; - -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldModelAnalyzer.FieldAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ResultKind; -import org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.netbeans.spi.editor.hints.Severity; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class InjectionPointAnalyzer extends AbstractDecoratorAnalyzer implements FieldAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldModelAnalyzer.FieldAnalyzer#analyze(javax.lang.model.element.VariableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( final VariableElement element, TypeMirror elementType, - TypeElement parent, WebBeansModel model, - AtomicBoolean cancel , - Result result ) - { - try { - if (model.isInjectionPoint(element) ){ - boolean isDelegate = false; - result.requireCdiEnabled(element, model); - checkInjectionPointMetadata( element, elementType , parent, model , - cancel , result ); - checkNamed( element, model , cancel, result); - if ( cancel.get() ){ - return; - } - if ( !model.isDynamicInjectionPoint(element)) { - isDelegate = AnnotationUtil.isDelegate(element, parent, model); - if (!checkBuiltInBeans(element, elementType, model, cancel)) - { - DependencyInjectionResult res = model - .lookupInjectables(element, null, cancel); - checkResult(res, element, model, result); - if (isDelegate) { - analyzeDecoratedBeans(res, element, null, parent, - model, result); - } - } - } - boolean isEvent = model.isEventInjectionPoint(element); - if ( isEvent ){ - ElementHandle modelHandle = ElementHandle.create(element); - EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance( - result); - if ( helper != null ){ - helper.addEventInjectionPoint( result, - modelHandle.resolve(result.getInfo())); - } - } - else if ( isDelegate || AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DELEGATE_FQN, model.getCompilationController())) - { - return; - } - else { - ElementHandle modelHandle = ElementHandle.create(element); - EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance( - result); - if (helper != null ){ - helper.addInjectionPoint( result, - modelHandle.resolve(result.getInfo())); - } - } - } - } - catch (InjectionPointDefinitionError e) { - result.requireCdiEnabled(element, model); - informInjectionPointDefError(e, element, model, result ); - } - } - - private void checkNamed( VariableElement element, WebBeansModel model, - AtomicBoolean cancel, Result result ) - { - if( cancel.get() ){ - return; - } - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, - model.getCompilationController()) ) - { - result.addNotification( Severity.WARNING , element, model, - NbBundle.getMessage(InjectionPointAnalyzer.class, - "WARN_NamedInjectionPoint")); // NOI18N - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer#addClassError(javax.lang.model.element.VariableElement, java.lang.Object, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result) - */ - @Override - protected void addClassError( VariableElement element, Void fake, - TypeElement decoratedBean, WebBeansModel model, Result result ) - { - result.addError( element , model, - NbBundle.getMessage(InjectionPointAnalyzer.class, - "ERR_FinalDecoratedBean", // NOI18N - decoratedBean.getQualifiedName().toString())); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer#addMethodError(javax.lang.model.element.VariableElement, java.lang.Object, javax.lang.model.element.TypeElement, javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result) - */ - @Override - protected void addMethodError( VariableElement element, Void fake, - TypeElement decoratedBean, Element decoratedMethod, - WebBeansModel model, Result result ) - { - result.addError( - element, model, NbBundle.getMessage( - InjectionPointAnalyzer.class, - "ERR_FinalMethodDecoratedBean", // NOI18N - decoratedBean.getQualifiedName().toString(), - decoratedMethod.getSimpleName().toString())); - } - - private void checkInjectionPointMetadata( VariableElement element, - TypeMirror elementType , TypeElement parent, WebBeansModel model, - AtomicBoolean cancel , Result result ) - { - TypeElement injectionPointType = model.getCompilationController(). - getElements().getTypeElement(AnnotationUtil.INJECTION_POINT); - if ( injectionPointType == null ){ - return; - } - Element varElement = model.getCompilationController().getTypes().asElement( - elementType ); - if ( !injectionPointType.equals(varElement)){ - return; - } - if ( cancel.get()){ - return; - } - List qualifiers = model.getQualifiers(element, true); - AnnotationHelper helper = new AnnotationHelper(model.getCompilationController()); - Map qualifiersFqns = helper. - getAnnotationsByType(qualifiers); - boolean hasDefault = model.hasImplicitDefaultQualifier( element ); - if ( !hasDefault && qualifiersFqns.keySet().contains(AnnotationUtil.DEFAULT_FQN)){ - hasDefault = true; - } - if ( !hasDefault || cancel.get() ){ - return; - } - try { - String scope = model.getScope( parent ); - if ( scope != null && !AnnotationUtil.DEPENDENT.equals( scope )){ - result.addError(element , model, - NbBundle.getMessage( - InjectionPointAnalyzer.class, "ERR_WrongQualifierInjectionPointMeta")); // NOI18N - } - } - catch (CdiException e) { - // this exception will be handled in the appropriate scope analyzer - return; - } - } - - private void checkResult( DependencyInjectionResult res , - VariableElement var, WebBeansModel model, - Result result ) - { - if ( res instanceof DependencyInjectionResult.Error ){ - ResultKind kind = res.getKind(); - Severity severity = Severity.WARNING; - if ( kind == DependencyInjectionResult.ResultKind.DEFINITION_ERROR){ - severity = Severity.ERROR; - } - String message = ((DependencyInjectionResult.Error)res).getMessage(); - result.addNotification(severity, var , model, message); - } - } - - private void informInjectionPointDefError(InjectionPointDefinitionError exception , - Element element, WebBeansModel model, - Result result ) - { - result.addError(element, model, exception.getMessage()); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/ProducerFieldAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/ProducerFieldAnalyzer.java deleted file mode 100644 index f2d3cbcd328b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/ProducerFieldAnalyzer.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field; - -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractProducerAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldElementAnalyzer.FieldAnalyzer; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class ProducerFieldAnalyzer extends AbstractProducerAnalyzer - implements FieldAnalyzer -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldElementAnalyzer.FieldAnalyzer#analyze(javax.lang.model.element.VariableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, org.netbeans.api.java.source.CompilationInfo, java.util.List, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( VariableElement element, TypeMirror elementType, - TypeElement parent, AtomicBoolean cancel, - CdiAnalysisResult result ) - { - CompilationInfo compInfo = result.getInfo(); - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - compInfo )) - { - return; - } - result.requireCdiEnabled(element); - if ( cancel.get() ){ - return; - } - checkSessionBean( element , parent , result ); - if ( cancel.get() ){ - return; - } - checkType( element, elementType, result ); - } - - @Override - protected void hasTypeVar( Element element, TypeMirror type, - CdiAnalysisResult result ) - { - result.addError( element, NbBundle.getMessage( - ProducerFieldAnalyzer.class, "ERR_ProducerHasTypeVar")); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractProducerAnalyzer#hasWildCard(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, org.netbeans.api.java.source.CompilationInfo, java.util.List) - */ - @Override - protected void hasWildCard( Element element, TypeMirror type, - CdiAnalysisResult result ) - { - result.addError(element, NbBundle.getMessage( - ProducerFieldAnalyzer.class,"ERR_ProducerHasWildcard")); // NOI18N - } - - private void checkSessionBean( VariableElement element, TypeElement parent, - CdiAnalysisResult result ) - { - if ( !AnnotationUtil.isSessionBean( parent , result.getInfo())) { - return; - } - Set modifiers = element.getModifiers(); - if ( !modifiers.contains(Modifier.STATIC)){ - result.addError( element, NbBundle.getMessage( - ProducerFieldAnalyzer.class, - "ERR_NonStaticProducerSessionBean")); // NOI18N - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java deleted file mode 100644 index e59eb61823e4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field; - -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractScopedAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldModelAnalyzer.FieldAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class ScopedFieldAnalyzer extends AbstractScopedAnalyzer implements - FieldAnalyzer -{ - - @Override - public void analyze( VariableElement element, TypeMirror elementType, - TypeElement parent, WebBeansModel model, - AtomicBoolean cancel, Result result ) - { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - model.getCompilationController())) - { - result.requireCdiEnabled(element, model); - analyzeScope(element, model, cancel , result ); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractScopedAnalyzer#checkScope(javax.lang.model.element.TypeElement, javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result) - */ - @Override - protected void checkScope( TypeElement scopeElement, Element element, - WebBeansModel model, AtomicBoolean cancel, Result result ) - { - if ( scopeElement.getQualifiedName().contentEquals( AnnotationUtil.DEPENDENT)){ - return; - } - if ( cancel.get() ){ - return; - } - if (hasTypeVarParameter(element.asType())) { - result.addError(element, model, - NbBundle.getMessage( - ScopedFieldAnalyzer.class, - "ERR_WrongScopeParameterizedProducer", // NOI18N - scopeElement.getQualifiedName().toString())); - } - if ( cancel.get() ){ - return; - } - checkPassivationCapable(scopeElement, element, model, result); - } - - private void checkPassivationCapable( TypeElement scopeElement, - Element element, WebBeansModel model, Result result ) - { - if ( !isPassivatingScope(scopeElement, model) ){ - return; - } - TypeMirror type = element.asType(); - if ( type.getKind().isPrimitive() ){ - return; - } - if ( isSerializable(type, model)){ - return; - } - Element typeElement = model.getCompilationController().getTypes(). - asElement( type ); - if ( typeElement == null ){ - return; - } - if ( typeElement.getModifiers().contains( Modifier.FINAL )){ - result.addError( element, model, - NbBundle.getMessage(ScopedFieldAnalyzer.class, - "ERR_NotPassivationProducer", // NOI18N - scopeElement.getQualifiedName().toString())); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/TypedFieldAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/TypedFieldAnalyzer.java deleted file mode 100644 index 4a1f3d802565..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/field/TypedFieldAnalyzer.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field; - -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldElementAnalyzer.FieldAnalyzer; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class TypedFieldAnalyzer extends AbstractTypedAnalyzer implements FieldAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.FieldElementAnalyzer.FieldAnalyzer#analyze(javax.lang.model.element.VariableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( VariableElement element, TypeMirror elementType, - TypeElement parent, AtomicBoolean cancel, - CdiAnalysisResult result ) - { - analyze(element, elementType, cancel , result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer#addError(javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - protected void addError( Element element, CdiAnalysisResult result ) - { - result.addError( element, NbBundle.getMessage( - TypedFieldAnalyzer.class, "ERR_BadRestritedFieldType")); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer#checkSpecializes(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, java.util.List, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - protected void checkSpecializes( Element element, TypeMirror elementType, - List restrictedTypes, AtomicBoolean cancel , CdiAnalysisResult result) - { - // production fields cannot be specialized - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java deleted file mode 100644 index d5ad97284c66..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java +++ /dev/null @@ -1,242 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method; - -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.type.TypeVariable; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class AnnotationsAnalyzer implements MethodAnalyzer { - - private static final String EJB = "ejb"; // NOI18N - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer#analyze(javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( ExecutableElement element, TypeMirror returnType, - TypeElement parent, AtomicBoolean cancel , CdiAnalysisResult result ) - { - checkProductionObserverDisposerInject( element , parent , - cancel , result ); - if ( cancel.get()){ - return; - } - } - - private void checkProductionObserverDisposerInject( - ExecutableElement element, TypeElement parent, AtomicBoolean cancel , - CdiAnalysisResult result ) - { - CompilationInfo compInfo = result.getInfo(); - boolean isProducer = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.PRODUCES_FQN, compInfo); - boolean isInitializer = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.INJECT_FQN, compInfo); - int observesCount = 0; - int disposesCount = 0; - List parameters = element.getParameters(); - for (VariableElement param : parameters) { - if ( cancel.get() ){ - return; - } - if ( AnnotationUtil.hasAnnotation( param, AnnotationUtil.OBSERVES_FQN, - compInfo)) - { - observesCount++; - } - if ( AnnotationUtil.hasAnnotation( param, AnnotationUtil.DISPOSES_FQN, - compInfo)) - { - disposesCount++; - } - } - if ( observesCount >0 ){ - EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance(result); - if ( helper != null ){ - helper.addObserver( result , element ); - } - } - String firstAnnotation = null; - String secondAnnotation = null; - if ( isProducer ){ - firstAnnotation = AnnotationUtil.PRODUCES; - if ( isInitializer ){ - secondAnnotation = AnnotationUtil.INJECT; - } - else if ( observesCount >0 ){ - secondAnnotation = AnnotationUtil.OBSERVES; - } - else if ( disposesCount >0 ){ - secondAnnotation = AnnotationUtil.DISPOSES; - } - } - else if ( isInitializer ){ - firstAnnotation = AnnotationUtil.INJECT; - if ( observesCount >0 ){ - secondAnnotation = AnnotationUtil.OBSERVES; - } - else if ( disposesCount >0 ){ - secondAnnotation = AnnotationUtil.DISPOSES; - } - } - else if ( observesCount >0 ){ - firstAnnotation = AnnotationUtil.OBSERVES; - if ( disposesCount >0 ){ - secondAnnotation = AnnotationUtil.DISPOSES; - } - } - if ( firstAnnotation != null && secondAnnotation != null ){ - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, "ERR_BothAnnotationsMethod", // NOI18N - firstAnnotation, secondAnnotation )); - } - - // Test quantity of observer parameters - if ( observesCount > 1){ - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, "ERR_ManyObservesParameter" )); // NOI18N - } - // Test quantity of disposes parameters - else if ( disposesCount >1 ){ - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, "ERR_ManyDisposesParameter")); // NOI18N - } - - // A producer/disposer method must be a non-abstract method . - checkAbstractMethod(element, result, isProducer, - disposesCount>0); - - checkBusinessMethod( element , result, isProducer, - disposesCount >0 , observesCount > 0); - - if ( isInitializer ){ - checkInitializerMethod(element, parent , result ); - } - } - - /** - * A producer/disposer/observer non-static method of a session bean class - * should be a business method of the session bean. - */ - private void checkBusinessMethod( ExecutableElement element, - CdiAnalysisResult result ,boolean isProducer, boolean isDisposer, boolean isObserver ) - { - CompilationInfo compInfo = result.getInfo(); - if ( !isProducer && !isDisposer && !isObserver ){ - return; - } - Set modifiers = element.getModifiers(); - if ( modifiers.contains(Modifier.STATIC) ){ - return; - } - TypeElement containingClass = compInfo.getElementUtilities(). - enclosingTypeElement(element); - if ( !AnnotationUtil.isSessionBean( containingClass, compInfo) ){ - return; - } - String methodName = element.getSimpleName().toString(); - boolean isBusinessMethod = true; - if ( methodName.startsWith(EJB)){ - isBusinessMethod = false; - } - if (AnnotationUtil.isLifecycleCallback(element, compInfo)){ - isBusinessMethod = false; - } - if ( modifiers.contains(Modifier.FINAL) || - !modifiers.contains( Modifier.PUBLIC) ) - { - isBusinessMethod = false; - } - if ( !isBusinessMethod ){ - String key = null; - if ( isProducer ){ - key = "ERR_ProducerNotBusiness"; // NOI18N - } - else if ( isDisposer ){ - key = "ERR_DisposerNotBusiness"; // NOI18N - } - else if ( isObserver ){ - key = "ERR_ObserverNotBusiness"; // NOI18N - } - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, key)); - } - } - - private void checkInitializerMethod( ExecutableElement element, - TypeElement parent, CdiAnalysisResult result ) - { - Set modifiers = element.getModifiers(); - boolean isAbstract = modifiers.contains( Modifier.ABSTRACT ); - boolean isStatic = modifiers.contains( Modifier.STATIC ); - if ( isAbstract || isStatic ){ - String key = isAbstract? "ERR_AbstractInitMethod": - "ERR_StaticInitMethod"; // NOI18N - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, key )); - } - TypeMirror method = result.getInfo().getTypes().asMemberOf( - (DeclaredType)parent.asType() , element); - if ( method instanceof ExecutableType ){ - List typeVariables = - ((ExecutableType)method).getTypeVariables(); - if ( typeVariables != null && typeVariables.size() > 0 ){ - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, "ERR_GenericInitMethod" ));// NOI18N - } - } - } - - private void checkAbstractMethod( ExecutableElement element, - CdiAnalysisResult result ,boolean isProducer, boolean isDisposer ) - { - if ( isProducer || isDisposer ){ - String key = isProducer? "ERR_AbstractProducerMethod": - "ERR_AbstractDisposerMethod"; // NOI18N - Set modifiers = element.getModifiers(); - if ( modifiers.contains( Modifier.ABSTRACT )){ - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, key )); - } - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/Bundle.properties deleted file mode 100644 index aee689a71b11..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/Bundle.properties +++ /dev/null @@ -1,87 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ERR_BadRestritedMethodType=Bean class of method return type specifies @Typed \ -annotation, and the value member specifies a class which does not correspond \ -to a type in the unrestricted set of bean types of a bean. -ERR_BothAnnotationsMethod=The method has both {0} and {1} annotations. -ERR_ManyObservesParameter=An observer method should have only one parameter \ -annotated by @Observes. -ERR_ManyDisposesParameter=A disposer method should have only one parameter \ -annotated by @Disposes. -ERR_AbstractProducerMethod=A producer method must be a non-abstract method of a \ -managed bean class or session bean class. -ERR_AbstractDisposerMethod=A disposer method must be a non-abstract method of a \ -managed bean class or session bean class. -ERR_WrongDelegateMethod=A delegate injection point must be initializer method \ -parameter or bean constructor method parameter. -ERR_DelegateIsNotInDecorator=Parameter is declared as @Delegate but its enclosing \ -type element is not a decorator. -ERR_FinalInterceptedMethod=The non-static, non-private method of a bean class of a \ -managed bean is final and declares a method level interceptor binding. -ERR_FinalInterceptedClass=The non-static, non-private method of a final bean class of a \ -managed bean declares a method level interceptor binding. - -ERR_ProducerReturnIsTypeVar=A producer method return type should not be a type variable. -ERR_ProducerReturnHasWildcard=A producer method return type should not contain a wildcard type parameter. - -ERR_WrongScopeParameterizedProducerReturn=The producer method return type is a \ -parameterized type with a type variable and has scope {0} (should be @Dependent). -ERR_StaticSpecializesProducer=A producer method annotated with @Specializes must be non-static. -ERR_NoDirectSpecializedProducer=A producer method annotated with @Specializes must \ -directly override another producer method. - -ERR_AbstractInitMethod=An initializer method should be a non-abstract. -ERR_StaticInitMethod=An initializer method should be a non-static. -ERR_GenericInitMethod=An initializer method should not be a generic. - -ERR_ParameterNamedInjectionPoint=An injection point has a @Named annotation \ -without value member specified. - -ERR_WrongQualifierInjectionPointMeta=An injection point has type InjectionPoint \ -and qualifier @Default but bean declares not @Dependent scope. - -ERR_BadSpecializesMethod=Method specializes another method but its bean type does \ -not have all bean types of specialized method. - -ERR_FinalDecoratedBean=Delegate injection point matches a managed bean {0} which \ -class is declared final. -ERR_FinalMethodDecoratedBean=Delegate injection point matches a managed bean {0} \ -with final method {1} which is implemented by decorator. -ERR_DelegateTypeHasNoDecoratedType=The delegate type of a decorator must implement \ -or extend every decorated type of decorator. - -WARN_CallbackInterceptorBinding=Interceptor bindings for lifecycle callback methods \ -includes only the interceptor bindings declared or inherited by the bean at the class \ -level. -ERR_LifecycleInterceptorTarget=An interceptor for lifecycle callbacks may only \ -declare interceptor binding types that are defined as @Target(TYPE). Interceptor {0} \ -declares mismatch interceptor binding {1}. - -ERR_ProducerNotBusiness=A producer non-static method of a session bean class \ -should be a business method of the session bean. - -ERR_DisposerNotBusiness=A disposer non-static method of a session bean class \ -should be a business method of the session bean. - -ERR_ObserverNotBusiness=An observer non-static method of a session bean class \ -should be a business method of the session bean. - -WARN_NamedInjectionPoint=The use of @Named as an injection point qualifier is not recommended. - -ERR_NotPassivationProducerReturn=Producer method has a passivating scope {0} and should be \ -passivation capable. But its return type is declared final and does not implement Serializable. \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java deleted file mode 100644 index 32b766b0a1d2..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java +++ /dev/null @@ -1,138 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method; - -import java.util.Collection; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiEditorAnalysisFactory; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field.DelegateFieldAnalizer; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class DelegateMethodAnalyzer implements MethodAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer#analyze(javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( ExecutableElement element, TypeMirror returnType, - TypeElement parent, AtomicBoolean cancel, CdiAnalysisResult result ) - { - List parameters = element.getParameters(); - int i=0; - for (VariableElement param : parameters) { - if (cancel.get()) { - return; - } - if (AnnotationUtil.hasAnnotation(param, - AnnotationUtil.DELEGATE_FQN, result.getInfo())) - { - result.requireCdiEnabled(element); - if (cancel.get()) { - return; - } - checkMethodDefinition(element, param, result ); - if (cancel.get()) { - return; - } - checkClassDefinition(parent, element, param, result ); - if (cancel.get()) { - return; - } - checkDelegateType(param, i, element, parent, result ); - VariableElement var = CdiEditorAnalysisFactory.resolveParameter( - param, element, result.getInfo()); - EditorAnnotationsHelper helper = EditorAnnotationsHelper. - getInstance(result); - if ( helper != null ){ - helper.addInjectionPoint(result, var); - } - } - i++; - } - } - - private void checkClassDefinition( TypeElement parent, - ExecutableElement element, VariableElement param, - CdiAnalysisResult result) - { - if ( !AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR, - result.getInfo())) - { - result.addError( param, - NbBundle.getMessage(DelegateFieldAnalizer.class, - "ERR_DelegateIsNotInDecorator")); // NOI18N - } - } - - private void checkDelegateType( VariableElement element, int i, - ExecutableElement method, TypeElement parent, - CdiAnalysisResult result ) - { - ExecutableType methodType = (ExecutableType) result.getInfo().getTypes() - .asMemberOf((DeclaredType) parent.asType(), method); - List parameterTypes = methodType - .getParameterTypes(); - TypeMirror parameterType = parameterTypes.get(i); - Collection decoratedTypes = DelegateFieldAnalizer - .getDecoratedTypes(parent, result.getInfo()); - for (TypeMirror decoratedType : decoratedTypes) { - if (!result.getInfo().getTypes().isSubtype(parameterType, decoratedType)) { - result.addError(element, NbBundle.getMessage( - DelegateMethodAnalyzer.class, - "ERR_DelegateTypeHasNoDecoratedType")); // NOI18N - return; - } - } - } - - private void checkMethodDefinition( ExecutableElement element, - VariableElement param, CdiAnalysisResult result ) - { - if ( element.getKind() == ElementKind.CONSTRUCTOR ){ - return; - } - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, - result.getInfo())) - { - result.addError( param, - NbBundle.getMessage(DelegateMethodAnalyzer.class, - "ERR_WrongDelegateMethod")); // NOI18N - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java deleted file mode 100644 index 9723ca5f4f37..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java +++ /dev/null @@ -1,257 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method; - -import java.util.List; -import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiEditorAnalysisFactory; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodModelAnalyzer.MethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.field.InjectionPointAnalyzer; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ResultKind; -import org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.netbeans.spi.editor.hints.Severity; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class InjectionPointParameterAnalyzer - extends AbstractDecoratorAnalyzer implements MethodAnalyzer -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodModelAnalyzer.MethodAnalyzer#analyze(javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result) - */ - @Override - public void analyze( ExecutableElement element, TypeMirror returnType, - TypeElement parent, WebBeansModel model , - AtomicBoolean cancel , Result result ) - { - for (VariableElement var : element.getParameters()) { - if (cancel.get()) { - return; - } - try { - if (model.isInjectionPoint(var)) { - boolean isDelegate = false; - result.requireCdiEnabled(element, model); - if ( cancel.get() ){ - return; - } - if (!model.isDynamicInjectionPoint(var)) { - isDelegate =AnnotationUtil.isDelegate(var, parent, model); - if (!checkBuiltInBeans(var, - getParameterType(var, element, parent, - model.getCompilationController()), - model, cancel)) - { - DependencyInjectionResult res = model - .lookupInjectables(var, - (DeclaredType) parent.asType(), cancel); - checkResult(res, element, var, model, result); - if (isDelegate) { - analyzeDecoratedBeans(res, var, element, - parent, model, result); - } - } - } - if ( cancel.get()){ - return; - } - checkName(element, var, model,result ); - if ( cancel.get()){ - return; - } - checkInjectionPointMetadata( var, element, parent , model , - cancel , result ); - if ( isDelegate || AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DELEGATE_FQN, model.getCompilationController())) - { - return; - } - else { - VariableElement param = CdiEditorAnalysisFactory. - resolveParameter(var, element, result.getInfo()); - EditorAnnotationsHelper helper = EditorAnnotationsHelper. - getInstance(result); - if ( helper != null ){ - helper.addInjectionPoint(result, param); - } - } - } - } - catch( InjectionPointDefinitionError e ){ - result.requireCdiEnabled(element, model); - informInjectionPointDefError(e, element, model, result ); - } - } - - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer#addClassError(javax.lang.model.element.VariableElement, java.lang.Object, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.api.java.source.CompilationInfo, java.util.List) - */ - @Override - protected void addClassError( VariableElement element, ExecutableElement method, - TypeElement decoratedBean, WebBeansModel model, - Result result ) - { - result.addError( element , method, model, - NbBundle.getMessage(InjectionPointParameterAnalyzer.class, - "ERR_FinalDecoratedBean", // NOI18N - decoratedBean.getQualifiedName().toString())); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer#addMethodError(javax.lang.model.element.VariableElement, java.lang.Object, javax.lang.model.element.TypeElement, javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result) - */ - @Override - protected void addMethodError( VariableElement element, - ExecutableElement method, TypeElement decoratedBean, - Element decoratedMethod, WebBeansModel model, Result result ) - { - result.addError( - element, method, model, NbBundle.getMessage( - InjectionPointParameterAnalyzer.class, - "ERR_FinalMethodDecoratedBean", // NOI18N - decoratedBean.getQualifiedName().toString(), - decoratedMethod.getSimpleName().toString())); - } - - private TypeMirror getParameterType( VariableElement var, - ExecutableElement element, TypeElement parent , - CompilationController controller ) - { - ExecutableType method = (ExecutableType)controller.getTypes().asMemberOf( - (DeclaredType)parent.asType(), element); - List parameterTypes = method.getParameterTypes(); - List parameters = element.getParameters(); - int paramIndex = parameters.indexOf(var); - return parameterTypes.get(paramIndex); - } - - private void checkInjectionPointMetadata( VariableElement var, - ExecutableElement method, TypeElement parent, WebBeansModel model, - AtomicBoolean cancel , Result result ) - { - TypeElement injectionPointType = model.getCompilationController() - .getElements().getTypeElement(AnnotationUtil.INJECTION_POINT); - if (injectionPointType == null) { - return; - } - Element varElement = model.getCompilationController().getTypes() - .asElement(var.asType()); - if (!injectionPointType.equals(varElement)) { - return; - } - if (cancel.get()) { - return; - } - List qualifiers = model.getQualifiers(varElement, - true); - AnnotationHelper helper = new AnnotationHelper( - model.getCompilationController()); - Map qualifiersFqns = helper - .getAnnotationsByType(qualifiers); - boolean hasDefault = model.hasImplicitDefaultQualifier(varElement); - if (!hasDefault - && qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN)) - { - hasDefault = true; - } - if (!hasDefault || cancel.get()) { - return; - } - try { - String scope = model.getScope(parent); - if (scope != null && !AnnotationUtil.DEPENDENT.equals(scope)) { - result.addError(var, method, model, - NbBundle.getMessage(InjectionPointParameterAnalyzer.class,"ERR_WrongQualifierInjectionPointMeta")); // NOI18N - } - } - catch (CdiException e) { - // this exception will be handled in the appropriate scope analyzer - return; - } - } - - private void checkName( ExecutableElement element, VariableElement var, - WebBeansModel model, Result result) - { - AnnotationMirror annotation = AnnotationUtil.getAnnotationMirror( - var , AnnotationUtil.NAMED, model.getCompilationController()); - if ( annotation!= null){ - result.addNotification( Severity.WARNING , var, element , model, - NbBundle.getMessage(InjectionPointAnalyzer.class, - "WARN_NamedInjectionPoint")); // NOI18N - if ( annotation.getElementValues().size() == 0 ){ - result.addError(var, element, model, - NbBundle.getMessage( InjectionPointParameterAnalyzer.class, - "ERR_ParameterNamedInjectionPoint")); // NOI18N - } - } - } - - private void checkResult( DependencyInjectionResult res , - ExecutableElement method , VariableElement element, WebBeansModel model, - Result result ) - { - if ( res instanceof DependencyInjectionResult.Error ){ - ResultKind kind = res.getKind(); - Severity severity = Severity.WARNING; - if ( kind == DependencyInjectionResult.ResultKind.DEFINITION_ERROR){ - severity = Severity.ERROR; - } - String message = ((DependencyInjectionResult.Error)res).getMessage(); - result.addNotification(severity, element , method , - model, message); - } - } - - private void informInjectionPointDefError(InjectionPointDefinitionError exception , - Element element, WebBeansModel model, - Result result ) - { - result.addError(element, model, exception.getMessage()); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java deleted file mode 100644 index 27eb796874f2..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method; - -import java.lang.annotation.ElementType; -import java.util.Collection; -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.Types; -import org.netbeans.api.java.source.CompilationController; - -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractInterceptedElementAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodModelAnalyzer.MethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetAnalyzer; -import org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.netbeans.spi.editor.hints.Severity; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class InterceptedMethodAnalyzer extends AbstractInterceptedElementAnalyzer - implements MethodAnalyzer -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodModelAnalyzer.MethodAnalyzer#analyze(javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( ExecutableElement element, TypeMirror returnType, - TypeElement parent, WebBeansModel model, - AtomicBoolean cancel , Result result ) - { - boolean hasInterceptorBindings = hasInterceptorBindings(element, model); - if ( hasInterceptorBindings ){ - result.requireCdiEnabled(element, model); - EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance(result); - ElementHandle handle = ElementHandle.create(element); - if ( helper != null ){ - helper.addInterceptedMethod(result, handle.resolve( result.getInfo())); - } - } - if (AnnotationUtil.isLifecycleCallback(element, model.getCompilationController() )) { - if (hasInterceptorBindings) { - result.addNotification( Severity.WARNING, element, model, - NbBundle.getMessage(InterceptedMethodAnalyzer.class, - "WARN_CallbackInterceptorBinding")); // NOI18N - } - if (cancel.get()) { - return; - } - InterceptorsResult interceptorResult = model - .getInterceptors(element); - List interceptors = interceptorResult - .getResolvedInterceptors(); - AnnotationHelper helper = null; - if ( interceptors.size() >0 ){ - helper = new AnnotationHelper(model.getCompilationController()); - } - for (TypeElement interceptor : interceptors) { - if (isLifecycleCallbackInterceptor(interceptor, model.getCompilationController())) { - Collection interceptorBindings = model - .getInterceptorBindings(interceptor); - for (AnnotationMirror annotationMirror : interceptorBindings) { - Element iBinding = model.getCompilationController().getTypes(). - asElement( annotationMirror.getAnnotationType() ); - if ( !( iBinding instanceof TypeElement )) { - continue; - } - Set declaredTargetTypes = TargetAnalyzer. - getDeclaredTargetTypes(helper, (TypeElement)iBinding); - if ( declaredTargetTypes.size() != 1 || - !declaredTargetTypes.contains(ElementType.TYPE)) - { - result.addError(element, model, - NbBundle.getMessage(InterceptedMethodAnalyzer.class, - "ERR_LifecycleInterceptorTarget" , // NOI18N - interceptor.getQualifiedName().toString(), - ((TypeElement)iBinding).getQualifiedName().toString())); - } - } - } - } - } - if (cancel.get()) { - return; - } - - Set modifiers = element.getModifiers(); - if ( modifiers.contains( Modifier.STATIC ) || - modifiers.contains( Modifier.PRIVATE)) - { - return; - } - boolean finalMethod = modifiers.contains( Modifier.FINAL ); - boolean finalClass = parent.getModifiers().contains( Modifier.FINAL); - if ( !finalMethod && !finalClass ){ - return; - } - if ( cancel.get() ){ - return; - } - if ( hasInterceptorBindings){ - if ( finalMethod ){ - result.addError(element, model, - NbBundle.getMessage( - InterceptedMethodAnalyzer.class, - "ERR_FinalInterceptedMethod")); // NOI18N - } - if ( finalClass && !AnnotationUtil.hasAnnotation(parent, - AnnotationUtil.INTERCEPTOR, model.getCompilationController())) - { - result.addError(element, model, - NbBundle.getMessage( - InterceptedMethodAnalyzer.class, - "ERR_FinalInterceptedClass")); // NOI18N - } - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractInterceptedElementAnalyzer#getInterceptorBindings(javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel) - */ - @Override - protected Set getInterceptorBindings( Element element, - WebBeansModel model ) - { - Set iBindings = super.getInterceptorBindings(element, model); - List annotations = model - .getCompilationController().getElements() - .getAllAnnotationMirrors(element); - iBindings.retainAll(annotations); - return iBindings; - } - - private static boolean isLifecycleCallbackInterceptor(TypeElement interceptor, CompilationController info) { - for (Element e : interceptor.getEnclosedElements()) { - if (e.getKind() == ElementKind.METHOD && e instanceof ExecutableElement) { - if (AnnotationUtil.isLifecycleCallback((ExecutableElement) e, info)) { - return true; - } - } - } - TypeMirror tm = interceptor.getSuperclass(); - if (tm.getKind() == TypeKind.DECLARED) { - Element e = info.getTypes().asElement(tm); - if (e instanceof TypeElement) { - return isLifecycleCallbackInterceptor((TypeElement) e, info); - } - } - - return false; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java deleted file mode 100644 index 3c288e3ce08e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method; - -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractProducerAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class ProducerMethodAnalyzer extends AbstractProducerAnalyzer - implements MethodAnalyzer -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer#analyze(javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( ExecutableElement element, TypeMirror returnType, - TypeElement parent, AtomicBoolean cancel , CdiAnalysisResult result ) - { - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - result.getInfo() )) - { - return; - } - result.requireCdiEnabled(element); - if ( cancel.get() ){ - return; - } - checkType( element, returnType, result ); - if ( cancel.get() ){ - return; - } - checkSpecializes( element , result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractProducerAnalyzer#hasTypeVar(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - protected void hasTypeVar( Element element, TypeMirror type, - CdiAnalysisResult result) - { - result.addError( element, NbBundle.getMessage( - ProducerMethodAnalyzer.class, "ERR_ProducerReturnIsTypeVar")); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractProducerAnalyzer#hasWildCard(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - protected void hasWildCard( Element element, TypeMirror type, - CdiAnalysisResult result ) - { - result.addError(element, NbBundle.getMessage( - ProducerMethodAnalyzer.class,"ERR_ProducerReturnHasWildcard")); // NOI18N - } - - private void checkSpecializes(ExecutableElement element, CdiAnalysisResult result ) - { - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, - result.getInfo() )) - { - return; - } - Set modifiers = element.getModifiers(); - if ( modifiers.contains( Modifier.STATIC )){ - result.addError( element, NbBundle.getMessage( - ProducerMethodAnalyzer.class, - "ERR_StaticSpecializesProducer")); // NOI18N - } - CompilationInfo compInfo = result.getInfo(); - ExecutableElement overridenMethod = compInfo.getElementUtilities(). - getOverriddenMethod( element ); - if ( overridenMethod == null ){ - return; - } - TypeElement superClass = compInfo.getElementUtilities(). - enclosingTypeElement( overridenMethod ); - TypeElement containingClass = compInfo.getElementUtilities(). - enclosingTypeElement( element ); - TypeMirror typeDirectSuper = containingClass.getSuperclass(); - if ( !superClass.equals(compInfo.getTypes().asElement(typeDirectSuper)) || - !AnnotationUtil.hasAnnotation(overridenMethod, - AnnotationUtil.PRODUCES_FQN, compInfo)) - { - result.addError( element, NbBundle.getMessage( - ProducerMethodAnalyzer.class, - "ERR_NoDirectSpecializedProducer")); // NOI18N - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java deleted file mode 100644 index dc84c12c454b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method; - -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractScopedAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodModelAnalyzer.MethodAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class ScopedMethodAnalyzer extends AbstractScopedAnalyzer implements - MethodAnalyzer -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodModelAnalyzer.MethodAnalyzer#analyze(javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result) - */ - @Override - public void analyze( ExecutableElement element, TypeMirror returnType, - TypeElement parent, WebBeansModel model, - AtomicBoolean cancel, Result result ) - { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - model.getCompilationController())) - { - result.requireCdiEnabled(element,model); - analyzeScope(element, model, cancel, result ); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractScopedAnalyzer#checkScope(javax.lang.model.element.TypeElement, javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result) - */ - @Override - protected void checkScope( TypeElement scopeElement, Element element, - WebBeansModel model, AtomicBoolean cancel, Result result ) - { - if ( scopeElement.getQualifiedName().contentEquals( AnnotationUtil.DEPENDENT)){ - return; - } - TypeMirror methodType = element.asType(); - if ( methodType instanceof ExecutableType ){ - TypeMirror returnType = ((ExecutableType)methodType).getReturnType(); - if ( cancel.get() ){ - return; - } - if ( hasTypeVarParameter( returnType )){ - result.addError( element, model, - NbBundle.getMessage(ScopedMethodAnalyzer.class, - "ERR_WrongScopeParameterizedProducerReturn", // NOI18N - scopeElement.getQualifiedName().toString())); - } - } - if ( cancel.get() ){ - return; - } - checkPassivationCapable( scopeElement , element , model , result ); - } - - private void checkPassivationCapable( TypeElement scopeElement, - Element element, WebBeansModel model, Result result ) - { - if ( !isPassivatingScope(scopeElement, model) ){ - return; - } - TypeMirror returnType = ((ExecutableElement)element).getReturnType(); - if ( returnType == null ){ - return; - } - if ( returnType.getKind().isPrimitive() ){ - return; - } - if ( isSerializable(returnType, model)){ - return; - } - Element returnTypeElement = model.getCompilationController().getTypes(). - asElement( returnType ); - if ( returnTypeElement == null ){ - return; - } - if ( returnTypeElement.getModifiers().contains( Modifier.FINAL )){ - result.addError( element, model, - NbBundle.getMessage(ScopedMethodAnalyzer.class, - "ERR_NotPassivationProducerReturn", // NOI18N - scopeElement.getQualifiedName().toString())); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java deleted file mode 100644 index dd98332aa42e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.method; - -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.PrimitiveType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class TypedMethodAnalyzer extends AbstractTypedAnalyzer implements - MethodAnalyzer -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer#analyze(javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - public void analyze( ExecutableElement element, TypeMirror returnType, - TypeElement parent, AtomicBoolean cancel , CdiAnalysisResult result ) - { - analyze(element, returnType, cancel , result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer#addError(javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - protected void addError( Element element, CdiAnalysisResult result ) - { - result.addError( element, NbBundle.getMessage( - TypedMethodAnalyzer.class, "ERR_BadRestritedMethodType")); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.AbstractTypedAnalyzer#hasBeanType(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, org.netbeans.api.java.source.CompilationInfo) - */ - @Override - protected boolean hasBeanType( Element subject, TypeMirror returnType, - TypeMirror requiredBeanType, CompilationInfo compInfo ) - { - return compInfo.getTypes().isSubtype(returnType, requiredBeanType); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer#checkSpecializes(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, java.util.List, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - protected void checkSpecializes( Element element, TypeMirror elementType, - List restrictedTypes, AtomicBoolean cancel , CdiAnalysisResult result ) - { - CompilationInfo compInfo = result.getInfo(); - if (!AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - compInfo)) - { - return; - } - ExecutableElement method = (ExecutableElement)element; - ExecutableElement overriddenMethod = compInfo.getElementUtilities(). - getOverriddenMethod(method); - if ( overriddenMethod == null ){ - return; - } - TypeElement clazz = compInfo.getElementUtilities(). - enclosingTypeElement(method); - TypeMirror superType = clazz.getSuperclass(); - TypeElement superClass = compInfo.getElementUtilities(). - enclosingTypeElement(overriddenMethod); - if ( !superClass.equals( compInfo.getTypes().asElement( superType))){ - return; - } - if ( cancel.get()){ - return; - } - List restrictedSuper = getRestrictedTypes(overriddenMethod, - compInfo, cancel); - if ( cancel.get()){ - return; - } - if ( restrictedSuper == null ) { - if (!hasUnrestrictedOverridenType(elementType, - restrictedTypes, compInfo,overriddenMethod, superClass) ) - { - result.addError( element, NbBundle.getMessage( - TypedMethodAnalyzer.class, "ERR_BadSpecializesMethod")); // NOI18N - } - } - else { - if (!hasRestrictedType(elementType, restrictedTypes, compInfo, - restrictedSuper)) - { - result.addError( element, NbBundle.getMessage( - TypedMethodAnalyzer.class, "ERR_BadSpecializesMethod")); // NOI18N - } - } - } - - private boolean hasRestrictedType( TypeMirror elementType, - List restrictedTypes, CompilationInfo compInfo, - List restrictedSuper ) - { - if ( elementType.getKind() == TypeKind.ARRAY ){ - for( TypeMirror mirror : restrictedSuper ){ - boolean found = false; - for( TypeMirror restrictedType : restrictedTypes ){ - if ( compInfo.getTypes().isSameType( restrictedType, mirror)){ - found = true; - break; - } - } - if ( !found ){ - return false; - } - } - return true; - } - else { - Set specializedBeanTypes = getElements( - restrictedSuper, compInfo); - Set restrictedElements = getElements(restrictedTypes, - compInfo); - restrictedElements.add( compInfo.getElements().getTypeElement( - Object.class.getCanonicalName())); - return restrictedElements.containsAll( specializedBeanTypes ); - } - } - - private boolean hasUnrestrictedOverridenType( TypeMirror elementType, - List restrictedTypes, CompilationInfo compInfo, - ExecutableElement overriddenMethod, TypeElement superClass ) - { - TypeMirror methodType = compInfo.getTypes().asMemberOf( - (DeclaredType)superClass.asType(), overriddenMethod); - TypeMirror returnOverriden = ((ExecutableType)methodType).getReturnType(); - if ( elementType.getKind() == TypeKind.ARRAY ){ - for( TypeMirror mirror : restrictedTypes ){ - if ( compInfo.getTypes().isSameType( mirror, returnOverriden)){ - return true; - } - } - return false; - } - else if ( returnOverriden.getKind().isPrimitive() ) { - TypeElement boxed = compInfo.getTypes().boxedClass( - (PrimitiveType)returnOverriden); - return hasUnrestrictedType(boxed, restrictedTypes, compInfo); - } - else if ( returnOverriden instanceof DeclaredType ){ - Element returnElement = compInfo.getTypes().asElement( returnOverriden); - if ( returnElement instanceof TypeElement ){ - return hasUnrestrictedType((TypeElement)returnElement, - restrictedTypes, compInfo); - } - } - return true; - } - - private boolean hasUnrestrictedType( TypeElement overriden, - List restrictedTypes,CompilationInfo compInfo ) - { - Set specializedBeanTypes = getUnrestrictedBeanTypes( - overriden, compInfo); - Set restrictedElements = getElements(restrictedTypes, - compInfo); - restrictedElements.add( compInfo.getElements().getTypeElement( - Object.class.getCanonicalName())); - return restrictedElements.containsAll(specializedBeanTypes); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java deleted file mode 100644 index 323460b97166..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java +++ /dev/null @@ -1,275 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type; - -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassElementAnalyzer.ClassAnalyzer; -import org.openide.util.NbBundle; -import org.netbeans.spi.editor.hints.Severity; - - -/** - * @author ads - * - */ -public class AnnotationsAnalyzer implements ClassAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassElementAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.api.java.source.CompilationInfo, java.util.List, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, TypeElement parent, - AtomicBoolean cancel, CdiAnalysisResult result ) - { - checkDecoratorInterceptor( element , cancel, result ); - } - - private void checkDecoratorInterceptor( TypeElement element, - AtomicBoolean cancel , CdiAnalysisResult result ) - { - CompilationInfo compInfo = result.getInfo(); - boolean isDecorator = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DECORATOR, compInfo); - boolean isInterceptor = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.INTERCEPTOR, compInfo); - if ( isDecorator && isInterceptor ){ - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, "ERR_DecoratorInterceptor"));// NOI18N - } - if ( isDecorator || isInterceptor ){ - result.requireCdiEnabled(element); - if ( cancel.get() ){ - return; - } - checkProducerFields( element , isDecorator , result); - if ( cancel.get() ){ - return; - } - checkMethods( element , isDecorator , result); - if ( cancel.get() ){ - return; - } - checkSession( element , result); - if ( cancel.get() ){ - return; - } - checkNamed( element , result ); - if ( cancel.get() ){ - return; - } - checkAlternatives(element , result ); - if ( cancel.get() ){ - return; - } - checkSpecializes( element , result ); - } - if ( isDecorator ){ - if ( cancel.get() ){ - return; - } - checkDelegateInjectionPoint(element , result); - } - } - - private void checkSpecializes( TypeElement element, CdiAnalysisResult result ) - { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, - result.getInfo()) ) - { - result.addNotification(Severity.WARNING, element, NbBundle.getMessage( - AnnotationsAnalyzer.class, - "WARN_SpecializesInterceptorDecorator")); // NOI18N - } - } - - private void checkAlternatives( TypeElement element, - CdiAnalysisResult result ) - { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.ALTERNATVE, - result.getInfo())) - { - result.addNotification(Severity.WARNING, element, NbBundle.getMessage( - AnnotationsAnalyzer.class, - "WARN_AlternativeInterceptorDecorator")); // NOI18N - } - } - - private void checkNamed( TypeElement element, CdiAnalysisResult result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, - result.getInfo())) - { - result.addNotification(Severity.WARNING, element, NbBundle.getMessage( - AnnotationsAnalyzer.class, "WARN_NamedInterceptorDecorator")); // NOI18N - } - } - - private void checkDelegateInjectionPoint( TypeElement element, - CdiAnalysisResult result ) - { - CompilationInfo compInfo = result.getInfo(); - List enclosedElements = element.getEnclosedElements(); - int count = 0; - for (Element child : enclosedElements) { - if ( child.getKind() == ElementKind.CONSTRUCTOR ) - { - count +=delegateInjectionPointCount(child, compInfo); - } - else if ( ! AnnotationUtil.hasAnnotation(child, AnnotationUtil.INJECT_FQN, - compInfo )) - { - continue; - } - if ( child.getKind() == ElementKind.FIELD && AnnotationUtil. - hasAnnotation(child, AnnotationUtil.DELEGATE_FQN, compInfo )) - { - count++; - } - else if ( child.getKind() ==ElementKind.METHOD ) - { - count+=delegateInjectionPointCount(child, compInfo); - } - } - if ( count != 1){ - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, "ERR_IncorrectDelegateCount")); // NOI18N - } - } - - private int delegateInjectionPointCount(Element element , - CompilationInfo compInfo) - { - int result=0; - ExecutableElement method = (ExecutableElement)element; - List parameters = method.getParameters(); - for (VariableElement par : parameters) { - if ( AnnotationUtil.hasAnnotation(par, AnnotationUtil.DELEGATE_FQN, - compInfo)) - { - result++; - } - } - return result; - } - - private void checkSession( TypeElement element, - CdiAnalysisResult result ) - { - if ( AnnotationUtil.isSessionBean(element, result.getInfo()) ) - { - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, "ERR_SesssionBeanID")); // NOI18N - } - } - - private void checkMethods( TypeElement element, boolean isDecorator, - CdiAnalysisResult result ) - { - CompilationInfo compInfo = result.getInfo(); - List methods = ElementFilter.methodsIn( - element.getEnclosedElements()); - for (ExecutableElement method : methods) { - boolean isProducer = AnnotationUtil.hasAnnotation(method, - AnnotationUtil.PRODUCES_FQN, compInfo); - boolean isDisposer = false; - boolean isObserver = false; - List parameters = method.getParameters(); - for (VariableElement param : parameters) { - if ( AnnotationUtil.hasAnnotation( param , AnnotationUtil.DISPOSES_FQN, - compInfo)) - { - isDisposer = true; - break; - } - if ( AnnotationUtil.hasAnnotation( param , AnnotationUtil.OBSERVES_FQN, - compInfo)) - { - isObserver = true; - break; - } - } - if ( isProducer || isDisposer || isObserver ){ - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, getMethodErrorKey(isDecorator, - isProducer, isDisposer) , - method.getSimpleName().toString())); - break; - } - } - } - - private String getMethodErrorKey(boolean isDecorator, boolean isProducer, - boolean isDisposer ) - { - String key= null; - if ( isDecorator ){ - if ( isProducer ){ - key = "ERR_DecoratorHasProducerMethod"; // NOI18N - } - else if ( isDisposer ){ - key = "ERR_DecoratorHasDisposerMethod"; // NOI18N - } - else { - key = "ERR_DecoratorHasObserverMethod"; // NOI18N - } - } - else { - if ( isProducer ){ - key = "ERR_InterceptorHasProducerMethod"; // NOI18N - } - else if ( isDisposer ){ - key = "ERR_InterceptorHasDisposerMethod"; // NOI18N - } - else { - key = "ERR_InterceptorHasObserverMethod"; // NOI18N - } - } - return key; - } - - private void checkProducerFields( TypeElement element, boolean isDecorator, - CdiAnalysisResult result ) - { - List fields = ElementFilter.fieldsIn( - element.getEnclosedElements() ); - for (VariableElement field : fields) { - if ( AnnotationUtil.hasAnnotation(field, AnnotationUtil.PRODUCES_FQN, - result.getInfo())) - { - String key= isDecorator ? "ERR_DecoratorHasProducerField": - "ERR_IntrerceptorHasProducerField"; // NOI18N - result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, key , field.getSimpleName().toString())); - break; - } - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/Bundle.properties deleted file mode 100644 index d2dbdddb8ed0..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/Bundle.properties +++ /dev/null @@ -1,93 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -ERR_BadRestritedType=Bean class specifies @Typed annotation, and the value member \ -specifies a class which does not correspond to a type in \ -the unrestricted set of bean types of a bean. -ERR_NonStaticInnerType=Non-static inner class cannot be managed bean or \ -superclass of managed bean. -WARN_QualifiedElementExtension=The element is not managed bean: it has \ -qualifiers but implements jakarta.enterprise.inject.spi.Extension. -WARN_QualifierAbstractClass=The element is not managed bean: it has \ -qualifiers but has abstract modifier. -WARN_QualifierNoCtorClass=The element is not managed bean: it has \ -qualifiers but does not have non-private constructor with no parameters or \ -annotated with @Inject . -ERR_FinalScopedClass=Class is unproxyable: it has normal scope and declared final. -WARN_FinalScopedClassMethod=Final method is declared in class with normal scope. -ERR_DecoratorInterceptor=A managed bean cannot be annotated with both \ -@Interceptor and @Decorator stereotypes. - -ERR_DecoratorHasProducerField=A decorator may not declare producer field "{0}". -ERR_IntrerceptorHasProducerField=An interceptor may not declare producer field "{0}". -ERR_DecoratorHasProducerMethod=A decorator may not declare producer method "{0}". -ERR_DecoratorHasDisposerMethod=A decorator may not declare disposer method "{0}". -ERR_DecoratorHasObserverMethod=A decorator may not declare observer method "{0}". -ERR_InterceptorHasProducerMethod=An interceptor may not declare producer method "{0}". -ERR_InterceptorHasDisposerMethod=An interceptor may not declare disposer method "{0}". -ERR_InterceptorHasObserverMethod=An interceptor may not declare observer method "{0}". - -ERR_InjectedCtor=A bean class should not have more than one constructor annotated @Inject. - -ERR_SesssionBeanID=A bean class of a session bean should not be annotated \ -@Interceptor or @Decorator. - -ERR_InvalidSingletonBeanScope=A singleton bean must belong to either the \ -@ApplicationScoped scope or to the @Dependent pseudo-scope. - -ERR_InvalidStatelessBeanScope=A stateless session bean must belong to the @Dependent pseudo-scope. - -ERR_IncorrectDelegateCount=A decorator must have exactly one delegate injection point. - -ERR_IcorrectScopeWithPublicField=A managed bean with a public field ("{0}") \ -should not declares any scope other than @Dependent. - -ERR_IncorrectScopeForParameterizedBean=A managed bean with a parameterized bean \ -class should not declares any scope other than @Dependent. - -ERR_FinalInterceptedBean=The bean class of a managed bean is final and declares \ -or inherits a class level interceptor binding or a stereotype with interceptor bindings. - -ERR_InterceptedBeanHasFinalMethod=The bean class of a managed bean has non-static, \ -non-private, final method "{0}" and declares or inherits a class level interceptor \ -binding or a stereotype with interceptor bindings. - -ERR_NamedSpecializes=Bean declares name explicitly using @Named but it \ -specializes another bean with name. - -ERR_BadSpecializesBeanType=Bean specializes another bean but it does not \ -have all bean types of specialized bean. - -ERR_InvalidDuplicateIBindings=The set of interceptor bindings has two instances of {0} \ -interceptor binding type and the instances have different values of some annotation member. - -WARN_ScopedDecoratorInterceptor=The @Dependent scope is the only scope which \ -interceptor or decorator could have. The non-portable behavior result otherwise. - -WARN_NamedInterceptorDecorator=An interceptor or decorator should not have a name. \ -Otherwise non-portable behavior results. - -WARN_AlternativeInterceptorDecorator=An interceptor or decorator should not be alternative. \ -Otherwise non-portable behavior results. - -WARN_SpecializesInterceptorDecorator=An interceptor or decorator should not \ -have @Specializes annotation. Otherwise non-portable behavior results. - -ERR_NotPassivationSessionBean=Session bean has a passivating scope {0} and should be \ -passivation capable. Stateless and singleton session beans are not passivation capable. -ERR_NotPassivationManagedBean=Bean has a passivating scope {0} and should be \ -passivation capable. Passivation capable bean should be serializable. diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/CtorsAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/CtorsAnalyzer.java deleted file mode 100644 index 946ea48adaf3..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/CtorsAnalyzer.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type; - -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassElementAnalyzer.ClassAnalyzer; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class CtorsAnalyzer implements ClassAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassElementAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.api.java.source.CompilationInfo, java.util.List, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, TypeElement parent, - AtomicBoolean cancel, CdiAnalysisResult result ) - { - List constructors = ElementFilter.constructorsIn( - element.getEnclosedElements()); - int injectCtorCount = 0; - for (ExecutableElement ctor : constructors) { - if ( cancel.get() ){ - return; - } - if ( AnnotationUtil.hasAnnotation( ctor , AnnotationUtil.INJECT_FQN, - result.getInfo())) - { - result.requireCdiEnabled( ctor ); - injectCtorCount++; - } - } - if ( injectCtorCount > 1){ - result.addError( element, NbBundle.getMessage( - CtorsAnalyzer.class, "ERR_InjectedCtor")); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/DeclaredIBindingsAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/DeclaredIBindingsAnalyzer.java deleted file mode 100644 index 009aa6413088..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/DeclaredIBindingsAnalyzer.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractInterceptedElementAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class DeclaredIBindingsAnalyzer extends - AbstractInterceptedElementAnalyzer implements ClassAnalyzer -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel, - Result result ) - { - Set interceptorBindings = getInterceptorBindings(element, - model); - Map iBindings = new HashMap(); - if ( !interceptorBindings.isEmpty() ){ - result.requireCdiEnabled(element, model); - } - for (AnnotationMirror annotationMirror : interceptorBindings) { - Element iBinding = annotationMirror.getAnnotationType().asElement(); - AnnotationMirror found = iBindings.get( iBinding ); - if ( found != null && !isSame( found, annotationMirror , - model.getCompilationController())) - { - result.addError( element, model, - NbBundle.getMessage(DeclaredIBindingsAnalyzer.class, - "ERR_InvalidDuplicateIBindings", // NOI18N - ((TypeElement)iBinding).getQualifiedName().toString())); - break; - } - else { - iBindings.put(iBinding, annotationMirror ); - } - } - } - - private boolean isSame( AnnotationMirror first, - AnnotationMirror second , CompilationController controller ) - { - Element firstElement = first.getAnnotationType().asElement(); - Element secondElement = second.getAnnotationType().asElement(); - if ( !firstElement.equals(secondElement)){ - return false; - } - Map firstValues = first.getElementValues(); - Map secondValues = second.getElementValues(); - if ( firstValues.size() != secondValues.size() ){ - return false; - } - for (Entry entry : - firstValues.entrySet()) - { - AnnotationValue secondValue = secondValues.get(entry.getKey()); - AnnotationValue firstValue = entry.getValue(); - if ( !isSame( firstValue, secondValue, controller )){ - return false; - } - } - return true; - } - - private boolean isSame( AnnotationValue first, - AnnotationValue second , CompilationController controller) - { - Object firstValue = first.getValue(); - Object secondValue = second.getValue(); - if ( firstValue == null ){ - return secondValue == null; - } - if ( firstValue instanceof TypeMirror ){ - TypeMirror firstMirror = (TypeMirror)firstValue; - if ( secondValue instanceof TypeMirror ){ - return controller.getTypes().isSameType(firstMirror, - (TypeMirror)secondValue ); - } - else { - return false; - } - } - else if ( firstValue instanceof AnnotationMirror ){ - if ( secondValue instanceof AnnotationMirror ){ - return isSame((AnnotationMirror)firstValue, (AnnotationMirror)second, - controller); - } - else { - return false; - } - } - else if ( firstValue instanceof List){ - if ( secondValue instanceof List){ - List firstList = (List)firstValue; - List secondList = (List) secondValue; - if ( firstList.size() != secondList.size() ){ - return false; - } - for (int i =0; i handle = ElementHandle.create(element); - if ( helper != null ){ - helper.addInterceptedBean( result , - handle.resolve( result.getInfo())); - } - } - - - Set modifiers = element.getModifiers(); - boolean isFinal = modifiers.contains(Modifier.FINAL); - List methods = ElementFilter.methodsIn( - element.getEnclosedElements()); - ExecutableElement badMethod = null; - for (ExecutableElement method : methods) { - if ( cancel.get() ){ - return; - } - modifiers = method.getModifiers(); - if ( !modifiers.contains( Modifier.FINAL )){ - continue; - } - if ( modifiers.contains( Modifier.STATIC ) || - modifiers.contains( Modifier.PRIVATE)) - { - continue; - } - badMethod = method; - break; - } - if ( badMethod == null && !isFinal ){ - return; - } - if ( cancel.get() ){ - return; - } - if (hasIBindings && isFinal) { - result.addError(element, model, - NbBundle.getMessage( - InterceptedBeanAnalyzer.class, - "ERR_FinalInterceptedBean")); // NOI18N - } - if (hasIBindings && badMethod != null) { - result.addError(element, model, - NbBundle.getMessage( - InterceptedBeanAnalyzer.class, - "ERR_InterceptedBeanHasFinalMethod", badMethod - .getSimpleName().toString())); // NOI18N - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java deleted file mode 100644 index 4724b014774d..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type; - -import java.util.Collection; -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.netbeans.spi.editor.hints.Severity; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class ManagedBeansAnalizer implements ClassAnalyzer { - - private static final String EXTENSION = "jakarta.enterprise.inject.spi.Extension"; //NOI18N - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel, - Result result ) - { - boolean cdiManaged = model.getQualifiers( element, true ).size()>0; - if ( !cdiManaged ){ - return; - } - result.requireCdiEnabled(element, model); - if (cancel.get()) { - return; - } - checkCtor(element, model, result ); - if (cancel.get()) { - return; - } - checkInner(element, parent, model, result); - if (cancel.get()) { - return; - } - checkAbstract(element, model, result); - if (cancel.get()) { - return; - } - checkImplementsExtension(element, model, result); - if (cancel.get()) { - return; - } - checkDecorators( element , model , result ); - } - - private void checkDecorators( TypeElement element, WebBeansModel model, - Result result ) - { - Collection decorators = model.getDecorators(element); - if ( decorators!= null && decorators.size() >0 ){ - EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance(result); - ElementHandle handle = ElementHandle.create(element); - if ( helper != null ){ - helper.addDecoratedBean( result , handle.resolve( result.getInfo() )); - } - } - } - - private void checkImplementsExtension( TypeElement element, - WebBeansModel model, Result result ) - { - TypeElement extension = model.getCompilationController().getElements(). - getTypeElement(EXTENSION); - if ( extension == null ){ - return; - } - TypeMirror elementType = element.asType(); - if ( model.getCompilationController().getTypes().isSubtype( - elementType, extension.asType())){ - result.addNotification(Severity.WARNING, element, - model, NbBundle.getMessage( ManagedBeansAnalizer.class, - "WARN_QualifiedElementExtension")); // NOI18N - } - } - - private void checkAbstract( TypeElement element, - WebBeansModel model, Result result ) - { - Set modifiers = element.getModifiers(); - if ( modifiers.contains( Modifier.ABSTRACT )){ - if ( AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DECORATOR, model.getCompilationController()) ){ - return; - } - - // element is abstract and has no Decorator annotation - result.addNotification( Severity.WARNING, element, model, - NbBundle.getMessage(ManagedBeansAnalizer.class, - "WARN_QualifierAbstractClass")); // NOI18N - } - } - - private void checkInner( TypeElement element, TypeElement parent, - WebBeansModel model, Result result ) - { - if ( parent == null ){ - return; - } - Set modifiers = element.getModifiers(); - if ( !modifiers.contains( Modifier.STATIC )){ - result.addError(element, model, - NbBundle.getMessage(ManagedBeansAnalizer.class, - "ERR_NonStaticInnerType")); // NOI18N - } - } - - private void checkCtor( TypeElement element, WebBeansModel model, - Result result ) - { - List ctors = ElementFilter.constructorsIn( - element.getEnclosedElements()); - for (ExecutableElement ctor : ctors) { - Set modifiers = ctor.getModifiers(); - if ( modifiers.contains( Modifier.PRIVATE )){ - continue; - } - List parameters = ctor.getParameters(); - if ( parameters.size() ==0 ){ - return; - } - if ( AnnotationUtil.hasAnnotation(ctor, AnnotationUtil.INJECT_FQN, - model.getCompilationController())) - { - return; - } - } - // there is no non-private ctors without params or annotated with @Inject - result.addNotification( Severity.WARNING, element, model, - NbBundle.getMessage(ManagedBeansAnalizer.class, - "WARN_QualifierNoCtorClass")); // NOI18N - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java deleted file mode 100644 index 81503316f9d0..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type; - -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class NamedModelAnalyzer implements ClassAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel, - Result result ) - { - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, - model.getCompilationController())) - { - return; - } - result.requireCdiEnabled(element, model); - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, - model.getCompilationController())) - { - return; - } - TypeMirror superclass = element.getSuperclass(); - Element superElement = model.getCompilationController().getTypes(). - asElement( superclass ); - if ( cancel.get() ){ - return; - } - String name = model.getName(superElement); - if ( name == null ){ - return; - } - result.addError( element, model, NbBundle.getMessage( - NamedModelAnalyzer.class, "ERR_NamedSpecializes")); // NOI18N - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java deleted file mode 100644 index 45ffa366548a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java +++ /dev/null @@ -1,225 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type; - -import java.io.Serializable; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractScopedAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.spi.editor.hints.Severity; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class ScopedBeanAnalyzer extends AbstractScopedAnalyzer - implements ClassAnalyzer -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel, - Result result ) - { - analyzeScope(element, model, cancel , result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractScopedAnalyzer#checkScope(javax.lang.model.element.TypeElement, javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - protected void checkScope( TypeElement scopeElement, Element element, - WebBeansModel model, AtomicBoolean cancel , Result result ) - { - if ( cancel.get() ){ - return; - } - checkProxiability(scopeElement, element, model, result ); - if ( cancel.get() ){ - return; - } - checkPublicField(scopeElement , element , model , result ); - if ( cancel.get() ){ - return; - } - checkParameterizedBean(scopeElement , element , model , result ); - if ( cancel.get() ){ - return; - } - checkInterceptorDecorator( scopeElement , element , model , result); - if ( cancel.get() ){ - return; - } - checkPassivationCapable( scopeElement , element , model , result ); - } - - private void checkPassivationCapable( TypeElement scopeElement, - Element element, WebBeansModel model, Result result ) - { - if ( !isPassivatingScope(scopeElement, model) ){ - return; - } - if ( AnnotationUtil.isSessionBean(element, model.getCompilationController())){ - if ( AnnotationUtil.hasAnnotation(element, - AnnotationUtil.STATEFUL, model.getCompilationController())) - { - return; - } - else { - result.addError(element, model , - NbBundle.getMessage(ScopedBeanAnalyzer.class, - "ERR_NotPassivationSessionBean", // NOI18N - scopeElement.getQualifiedName().toString())); - return; - } - } - if ( !isSerializable(element, model) ){ - result.addError(element, model , - NbBundle.getMessage(ScopedBeanAnalyzer.class, - "ERR_NotPassivationManagedBean", // NOI18N - scopeElement.getQualifiedName().toString())); - } - // TODO : all interceptors ans decorators of bean should be also passivation capable - } - - private void checkInterceptorDecorator( TypeElement scopeElement, - Element element, WebBeansModel model, Result result ) - { - if ( scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT)){ - return; - } - AnnotationMirror annotationMirror = AnnotationUtil.getAnnotationMirror( - element, model.getCompilationController(), - AnnotationUtil.INTERCEPTOR, AnnotationUtil.DECORATOR); - if ( annotationMirror!= null ){ - result.addNotification( Severity.WARNING, element, model, - NbBundle.getMessage(ScopedBeanAnalyzer.class, - "WARN_ScopedDecoratorInterceptor" )); // NOI18N - } - } - - private void checkParameterizedBean( TypeElement scopeElement, - Element element, WebBeansModel model, - Result result ) - { - if ( AnnotationUtil.DEPENDENT.contentEquals( - scopeElement.getQualifiedName())) - { - return; - } - result.requireCdiEnabled(element, model); - TypeMirror type = element.asType(); - if ( type instanceof DeclaredType ){ - List typeArguments = ((DeclaredType)type).getTypeArguments(); - if ( typeArguments.size() != 0 ){ - result.addError(element, model, - NbBundle.getMessage(ScopedBeanAnalyzer.class, - "ERR_IncorrectScopeForParameterizedBean" )); // NOI18N - } - } - } - - private void checkPublicField( TypeElement scopeElement, Element element, - WebBeansModel model, Result result ) - { - if ( AnnotationUtil.DEPENDENT.contentEquals( - scopeElement.getQualifiedName())) - { - return; - } - result.requireCdiEnabled(element, model); - List fields = ElementFilter.fieldsIn( - element.getEnclosedElements()); - for (VariableElement field : fields) { - Set modifiers = field.getModifiers(); - if ( modifiers.contains(Modifier.PUBLIC ) - && (!modifiers.contains(Modifier.STATIC) || !model.isCdi11OrLater())){ - result.addError(element, model , - NbBundle.getMessage(ScopedBeanAnalyzer.class, - "ERR_IcorrectScopeWithPublicField", - field.getSimpleName().toString())); - return; - } - } - } - - private void checkProxiability( TypeElement scopeElement, Element element, - WebBeansModel model, Result result ) - { - boolean isNormal = AnnotationUtil.hasAnnotation(scopeElement, - AnnotationUtil.NORMAL_SCOPE_FQN, model.getCompilationController()); - if ( isNormal ){ - result.requireCdiEnabled(element, model); - checkFinal( element , model, result ); - } - } - - private void checkFinal( Element element, WebBeansModel model, - Result result ) - { - if ( !( element instanceof TypeElement )){ - return; - } - Set modifiers = element.getModifiers(); - if ( modifiers.contains( Modifier.FINAL) ){ - result.addError( element, model, - NbBundle.getMessage(ScopedBeanAnalyzer.class, - "ERR_FinalScopedClass")); - return; - } - List methods = ElementFilter.methodsIn( - element.getEnclosedElements()); - for (ExecutableElement method : methods) { - modifiers = method.getModifiers(); - if (modifiers.contains(Modifier.FINAL)) { - result.addNotification( Severity.WARNING, method, model, - NbBundle.getMessage( - ScopedBeanAnalyzer.class, - "WARN_FinalScopedClassMethod")); - } - } - } - - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java deleted file mode 100644 index e13377f48e01..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type; - -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class SessionBeanAnalyzer implements ClassAnalyzer { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) - */ - @Override - public void analyze( TypeElement element, TypeElement parent, - WebBeansModel model, AtomicBoolean cancel , - Result result ) - { - boolean isSingleton = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.SINGLETON, model.getCompilationController()); - boolean isStateless = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.STATELESS, model.getCompilationController()); - if ( cancel.get() ){ - return; - } - try { - String scope = model.getScope( element ); - if ( isSingleton ) { - if ( AnnotationUtil.APPLICATION_SCOPED.equals( scope ) || - AnnotationUtil.DEPENDENT.equals( scope ) ) - { - return; - } - result.requireCdiEnabled(element, model); - result.addError( element, model, - NbBundle.getMessage(SessionBeanAnalyzer.class, - "ERR_InvalidSingletonBeanScope")); // NOI18N - } - else if ( isStateless ) { - if ( !AnnotationUtil.DEPENDENT.equals( scope ) ) - { - result.addError( element, model, - NbBundle.getMessage(SessionBeanAnalyzer.class, - "ERR_InvalidStatelessBeanScope")); // NOI18N - } - } - } - catch (CdiException e) { - result.requireCdiEnabled(element, model); - informCdiException(e, element, model, result ); - } - } - - private void informCdiException(CdiException exception , Element element, - WebBeansModel model, Result result ) - { - result.addError(element, model, exception.getMessage()); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/TypedClassAnalizer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/TypedClassAnalizer.java deleted file mode 100644 index f25e404250ea..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/analysis/analyzer/type/TypedClassAnalizer.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis.analyzer.type; - -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ClassElementAnalyzer.ClassAnalyzer; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class TypedClassAnalizer extends AbstractTypedAnalyzer implements - ClassAnalyzer -{ - - @Override - public void analyze( TypeElement element, TypeElement parent, - AtomicBoolean cancel, CdiAnalysisResult result ) - { - analyze(element, element.asType() , cancel , result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer#addError(javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - protected void addError( Element element, CdiAnalysisResult result ) - { - result.addError( element, NbBundle.getMessage( - TypedClassAnalizer.class, "ERR_BadRestritedType")); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AbstractTypedAnalyzer#checkSpecializes(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, java.util.List, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ElementAnalyzer.Result) - */ - @Override - protected void checkSpecializes( Element element, TypeMirror elementType, - List restrictedTypes, AtomicBoolean cancel , CdiAnalysisResult result ) - { - TypeElement typeElement = (TypeElement)element; - TypeMirror superclass = typeElement.getSuperclass(); - Element superElement = result.getInfo().getTypes().asElement(superclass); - if ( !( superElement instanceof TypeElement )){ - return; - } - List restrictedSuper = getRestrictedTypes(superElement, - result.getInfo(), cancel); - if ( cancel.get()){ - return; - } - /* - * No need to look at the TypeMirrors here. The correctness of the - * bean types are guaranteed by inheritance hierarchy. - * TypeMirrors here couldn't be arrays or primitives. - * ( But it is possible for production elements where TypeMirrors shouldn't - * be checked only against corresponding TypeElement ). - */ - - Set specializedBeanTypes; - if ( restrictedSuper == null ){ - specializedBeanTypes = getUnrestrictedBeanTypes( - (TypeElement)superElement, result.getInfo()); - } - else { - specializedBeanTypes = getElements( restrictedSuper, result.getInfo()); - } - Set restrictedElements = getElements(restrictedTypes, - result.getInfo()); - restrictedElements.add( result.getInfo().getElements().getTypeElement( - Object.class.getCanonicalName())); - if ( !restrictedElements.containsAll(specializedBeanTypes)){ - result.addError( element, NbBundle.getMessage( - TypedClassAnalizer.class, "ERR_BadSpecializesBeanType")); // NOI18N - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/AbstractModelImplementation.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/AbstractModelImplementation.java deleted file mode 100644 index 41a6ea2efa0b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/AbstractModelImplementation.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.util.Collection; - -import org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider; -import org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProviderFactory; -import org.openide.util.Lookup; - - -/** - * @author ads - * - */ -public abstract class AbstractModelImplementation { - - protected AbstractModelImplementation( ModelUnit unit ){ - myUnit = unit; - myModel = new WebBeansModel( this ); - Collection factories = - Lookup.getDefault().lookupAll( - WebBeansModelProviderFactory.class); - for( WebBeansModelProviderFactory factory : factories ){ - myProvider = factory.createWebBeansModelProvider(this); - if ( myProvider != null ){ - break; - } - } - - } - - public ModelUnit getModelUnit(){ - return myUnit; - } - - public BeansModel getBeansModel(){ - return BeansModelFactory.getModel(getModelUnit()); - } - - protected WebBeansModel getModel(){ - return myModel; - } - - protected WebBeansModelProvider getProvider(){ - return myProvider; - } - - private ModelUnit myUnit; - private WebBeansModel myModel; - private WebBeansModelProvider myProvider; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeanArchiveType.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeanArchiveType.java deleted file mode 100644 index e77dfb73cf15..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeanArchiveType.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -/** - * Defines whether the given project (model) internally work with implicit or explicite bean archive. - * @author Martin Fousek - */ -public enum BeanArchiveType { - NONE,//not an archive - IMPLICIT,//annotated - EXPLICIT;//all -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansModel.java deleted file mode 100644 index 791e76392b7b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansModel.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.util.LinkedHashSet; -import java.util.Set; - - -/** - * Merged model for beans.xml files. - * @author ads - * - */ -public interface BeansModel { - - /** - * @return all interceptor classes FQNs found in beans.xml files - */ - LinkedHashSet getInterceptorClasses(); - - /** - * @return all decorator classes FQNs found in beans.xml files - */ - LinkedHashSet getDecoratorClasses(); - - /** - * @return all alternative classes FQNs found in beans.xml files - */ - Set getAlternativeClasses(); - - /** - * @return all alternative stereotypes FQNs found in beans.xml files - */ - Set getAlternativeStereotypes(); - - /** - * Gets information about the Bean Archive type of the project. - * Introduced by CDI 1.1 with implicit bean archive. - * @return bean archive type, never {@code null} - */ - BeanArchiveType getBeanArchiveType(); - - boolean isCdi11OrLater(); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansModelFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansModelFactory.java deleted file mode 100644 index 9d2a1a80b355..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansModelFactory.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.util.Map; -import java.util.WeakHashMap; - -import org.netbeans.modules.jakarta.web.beans.impl.model.BeansModelImpl; - - -/** - * @author ads - * - */ -public final class BeansModelFactory { - - private BeansModelFactory(){ - } - - public static BeansModel createModel( ModelUnit unit ){ - return new BeansModelImpl(unit); - } - - public static synchronized BeansModel getModel( ModelUnit unit ){ - BeansModel model = MODELS.get( unit ); - if ( model == null ){ - model = createModel( unit ); - MODELS.put(unit, model); - } - return model; - } - - private static final Map MODELS = - new WeakHashMap(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansResult.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansResult.java deleted file mode 100644 index 9a1c0df9706a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/BeansResult.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import javax.lang.model.element.Element; - - -/** - * Common interface for result that contains elements which - * can be enabled/disabled via beans.xml file. - * - * @author ads - * - */ -public interface BeansResult { - - boolean isDisabled( Element element ); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/CdiException.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/CdiException.java deleted file mode 100644 index ca5b1812ad9e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/CdiException.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - - -/** - * @author ads - * - */ -public class CdiException extends Exception { - - private static final long serialVersionUID = 8768805477182583488L; - - public CdiException( String message ){ - super( message ); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/DependencyInjectionResult.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/DependencyInjectionResult.java deleted file mode 100644 index 0e29d76d363f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/DependencyInjectionResult.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.util.Set; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; - - -/** - * Represent eligible for injection element search result. - * - * @author ads - * - */ -public interface DependencyInjectionResult { - - enum ResultKind { - /** - * This kind correspond to Error result only - */ - DEFINITION_ERROR, - /** - * This kind represents at least InjectableResult and ResolutionResult. - * Also there could be additional hints with set of eligible for injection - * elements ( which are disabled , turned off alternatives, .... ) - * represented by ApplicableResult. - */ - INJECTABLE_RESOLVED, - /** - * - No eligible for injection element found at all - * - Only disabled beans are found - * - Ambiguous dependencies result - * It could be represented by Error only ( nothing found - * at all ) or Error, ResolutionResult and ApplicableResult with - * information about probable eligible for injection elements. - */ - RESOLUTION_ERROR, - /** - * This kind is like INJECTABLE_RESOLVED but it can contain - * several eligible for injection elements from very beginning. - * It is used when multiple eligible for injection elements are - * valid result. F.e. it is normal to find a number elements - * via programmatic lookup . - * It is represented at least by ApplicableResult and ResolutionResult. - */ - INJECTABLES_RESOLVED, - } - - /** - * @return element injection point which is used for injectable search - */ - VariableElement getVariable(); - - TypeMirror getVariableType(); - - ResultKind getKind(); - - interface Error extends DependencyInjectionResult { - - String getMessage(); - } - - interface ResolutionResult extends DependencyInjectionResult, Result { - - /** - * Check whether element is alternative. - * element could be eligible for injection element - * ( which is found as result here ) or stereotype. - * @param element checked element - * @return true if element is alternative - */ - boolean isAlternative( Element element ); - - boolean hasAlternative( Element element ); - } - - interface InjectableResult extends DependencyInjectionResult { - /** - * null is returned if there is no eligible element for injection - * ( no element which could be a pretender). - * - * it could be a result of unsatisfied or ambiguous dependency. - * F.e. unsatisfied dependency : there is a pretender satisfy typesafe - * resolution but something incorrect ( parameterized type is not valid , etc. ). - * Ambiguous dependency : there are a number of appropriate elements. - * - * - * @return element ( type definition, production field/method) - * that is used in injected point identified by {@link #getVariable()} - */ - Element getElement(); - } - - interface ApplicableResult extends DependencyInjectionResult, BeansResult { - public Set getTypeElements(); - - public Set getProductions(); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/InjectionPointDefinitionError.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/InjectionPointDefinitionError.java deleted file mode 100644 index aca0bda1be35..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/InjectionPointDefinitionError.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import javax.lang.model.element.Element; - - -/** - * This exception could be thrown when injection point deifinition - * contains error. - * @author ads - * - */ -public class InjectionPointDefinitionError extends CdiException { - - private static final long serialVersionUID = -6893993336079352757L; - - public InjectionPointDefinitionError(Element errorElement, String msg) { - super( msg ); - myElement = errorElement; - } - - /** - * There could be errors detected when element is checked as injection point. - * In most such cases possible injection point is the error element. - * But in some cases error could be detected on enclosing element. - * F.e. method could be wrongly defined . In this case its parameters - * cannot be considered as correct injection points. - * - * @return element that is wrongly defined - */ - public Element getErrorElement(){ - return myElement; - } - - private Element myElement; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/InterceptorsResult.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/InterceptorsResult.java deleted file mode 100644 index 76eecb47d7bf..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/InterceptorsResult.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.util.List; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - - -/** - * @author ads - * - */ -public interface InterceptorsResult extends Result, BeansResult { - - /** - * Subject element accessor . - * @return element which is used for interceptor resolution - */ - Element getElement(); - - /** - * Returns interceptors which have @Interceptor annotation and - * meets the interceptor resolution requirements. - * @return result of interceptor resolution. - */ - List getResolvedInterceptors(); - - /** - * Interceptors could be assigned via @Interceptors annotation. - * @return explicitly declared interceptors - */ - List getDeclaredInterceptors(); - - /** - * The result is union of resolved and declared interceptors. - * @return all available interceptors - */ - List getAllInterceptors(); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/ModelUnit.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/ModelUnit.java deleted file mode 100644 index 4a7b9d205683..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/ModelUnit.java +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.net.URISyntaxException; - -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.java.source.ClasspathInfo; -import org.netbeans.api.project.Project; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public class ModelUnit { - - private ModelUnit( ClassPath bootPath, ClassPath compilePath, - ClassPath sourcePath, Project project) - { - myBootPath= bootPath; - myCompilePath = compilePath; - mySourcePath = sourcePath; - myProject = project; - myClassPathInfo = ClasspathInfo.create(bootPath, - compilePath, sourcePath); - } - - public ClassPath getBootPath() { - return myBootPath; - } - - public ClassPath getCompilePath() { - return myCompilePath; - } - - public ClassPath getSourcePath() { - return mySourcePath; - } - - public Project getProject() { - return myProject; - } - - @Override - public int hashCode() { - return 37*(37*myBootPath.hashCode() + myCompilePath.hashCode()) - +mySourcePath.hashCode(); - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof ModelUnit) { - ModelUnit unit = (ModelUnit) obj; - return myBootPath.equals( unit.myBootPath ) && myCompilePath.equals( - unit.myCompilePath ) && mySourcePath.equals( mySourcePath ); - } - else { - return false; - } - } - - public static ModelUnit create(ClassPath bootPath, ClassPath compilePath, - ClassPath sourcePath, Project project) - { - return new ModelUnit(bootPath, compilePath, sourcePath, project); - } - - public ClasspathInfo getClassPathInfo(){ - return myClassPathInfo; - } - - private static boolean equals(ClassPath cp1, ClassPath cp2) { - if (cp1.entries().size() != cp2.entries().size()) { - return false; - } - for (int i = 0; i < cp1.entries().size(); i++) { - try { - if (!cp1.entries().get(i).getURL().toURI() - .equals(cp2.entries().get(i).getURL().toURI())) - { - return false; - } - } - catch (URISyntaxException e) { - if ( !cp1.entries().get(i).equals(cp2.entries().get(i)) ){ - return false; - } - } - } - return true; - } - - private static int computeClassPathHash(ClassPath classPath) { - int hashCode = 0; - for (ClassPath.Entry entry : classPath.entries()) { - hashCode = 37*hashCode + entry.getURL().getPath().hashCode(); - } - return hashCode; - } - - FileObject getSourceFileObject(){ - FileObject[] roots = mySourcePath.getRoots(); - if ( roots!= null && roots.length >0 ){ - return roots[0]; - } - return null; - } - - private final ClasspathInfo myClassPathInfo; - private final ClassPath myBootPath; - private final ClassPath myCompilePath; - private final ClassPath mySourcePath; - private final Project myProject; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/Result.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/Result.java deleted file mode 100644 index a4021a5d2de6..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/Result.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.util.List; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; - - -/** - * Common interface for results that contains elements with stereotypes. - * - * @author ads - * - */ -public interface Result { - - /** - * Return list of all element's stereotypes ( including recursively - * inherited ). - * @param element element with stereotypes - * @return list of element's stereotypes - */ - List getAllStereotypes( Element element ); - - List getStereotypes( Element element ); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/WebBeansModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/WebBeansModel.java deleted file mode 100644 index bec135996eaf..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/WebBeansModel.java +++ /dev/null @@ -1,303 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.util.Collection; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelProviderImpl; -import org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider; - - -/** - * @author ads - * - */ -public final class WebBeansModel { - - WebBeansModel( AbstractModelImplementation impl ){ - myImpl = impl; - } - - /** - * Find injectable elements that could be used for given injection point. - * - * parentType parameter could be a null . In this case - * type definition which contains element is used as parentType. - * This parameter is needed when element is defined in - * superclass and this superclass is generic. In this case element - * type ( TypeMirror ) could vary respectively subclass definition ( it could uses - * real class in generic type parameter ). Type of element in this case - * is not just element.asType(). It is - * CompilationInfo.getTypes().asMemberOf(parentType,element). - * This is significant difference. - * - * Return value depends on injection point type. - * Injection point could be defined via - * programmatic lookup which is dynamically specify injectable type. - * Such situation appears when injection point uses Instance interface. - * In case of @Any binding usage this list will contain all - * possible binding types for element ( all beans - * that implements or extends type parameter for Instance<> ). - * - * See parentType parameter explanation in - * {@link #lookupInjectables(VariableElement, DeclaredType)}. - * - * @param element injection point - * @param parentType parent type of element - * @return search result information - */ - public DependencyInjectionResult lookupInjectables( VariableElement element , - DeclaredType parentType, AtomicBoolean cancel) - { - return getProvider().lookupInjectables(element, parentType, cancel); - } - - /** - * Test if variable element is injection point. - *
 
-     * Two cases possible here:
-     * - element has @Inject annotation
-     * - element is parameter of method which is annotated with @Inject 
-     * 
- * - * @param element element for check - * @return true if element is simple injection point - * @throws WebBeansModelException if element could be injection - * point but something wrong ( f.e. it has bindings and has no @Produces - * annotation bit it is initialized ). - * @throws InjectionPointDefinitionError if element definition contains error - */ - public boolean isInjectionPoint( VariableElement element ) - throws InjectionPointDefinitionError - { - return getProvider().isInjectionPoint(element); - } - - /** - * Test if variable element is event injection point. - * - * @param element element for check - * @return true if element is event injection point - */ - public boolean isEventInjectionPoint( VariableElement element ) - { - TypeMirror elementType = element.asType(); - Element typeElement = getCompilationController(). - getTypes().asElement( elementType); - if ( typeElement instanceof TypeElement ){ - String typeElementFqn = ((TypeElement)typeElement).getQualifiedName(). - toString(); - if ( WebBeansModelProviderImpl.EVENT_INTERFACE.equals( typeElementFqn )){ - try { - return isInjectionPoint(element); - } - catch(InjectionPointDefinitionError e ){ - return false; - } - } - } - return false; - } - - /** - * Test if variable element is injection point that is used for - * programmatic lookup. It could happen if variable declared via - * Instance interface with qualifier annotations. - * Typesafe resolution in this case could not be done - * statically and method - * {@link #lookupInjectables1(VariableElement, DeclaredType)} should - * be used to access to possible bean types. - * @param element element for check - * @return true if element is dynamic injection point - */ - public boolean isDynamicInjectionPoint( VariableElement element ) { - return getProvider().isDynamicInjectionPoint(element); - } - - /** - * Access to @Named elements. Method {@link #getName(Element)} - * should be used for getting name of element. - * @return list of elements annotated with @Named - */ - public List getNamedElements(){ - return getProvider().getNamedElements( new AtomicBoolean(false) ); - } - - public boolean isCdi11OrLater() { - return getProvider().isCdi11OrLater(); - } - - /** - * Returns name of element if it annotated with @Named. - * Otherwise returns null. - * @param element @Named element - * @return name of element - */ - public String getName( Element element ){ - return getProvider().getName( element); - } - - /** - * This method is used for resolve name to Java model type. - * One can resolve enclosed elements ( fields , methods ,.... ) - * via Java model API and reference which method returns. - * @param fqn fully qualified name of type - * @return type with given FQN fqn - */ - public TypeMirror resolveType(String fqn){ - return getProvider().resolveType(fqn); - } - - public CompilationController getCompilationController(){ - return getProvider().getCompilationController(); - } - - /** - * Returns all qualifiers for element. - * element could be variable ( injection point , producer field ), - * type element ( bean type with binding ) and production method. - * @param element element with qualifiers - * @param all if true all annotations ( including inherited by @Specializes ) will be returned - * @return list of all bindings for element - */ - public List getQualifiers( Element element , boolean all){ - return getProvider().getQualifiers( element , all ); - } - - /** - * If element has no declared qualifiers or just @Named - * qualifier then it has implicit @Default qualifier. - * - * @param element element with qualifiers - * @return true if element has @Default qualifier which is not declared explicitly - */ - public boolean hasImplicitDefaultQualifier( Element element ){ - return getProvider().hasImplicitDefaultQualifier( element ); - } - - /** - * Returns all observer methods for given injection point element - * field. - * - * @param element event injection point - * @param parentType parent type of element - * @return list of observer methods that will be notified about event fired by element - */ - public List getObservers(VariableElement element , - DeclaredType parentType) - { - return getProvider().getObservers( element , parentType); - } - - /** - * Returns all event injection points that notifies observer method - * element on event fire. - * - * @param element observer method - * @param parentType parent type of element - * @return list of event injection points that are used for firing event - */ - public List getEventInjectionPoints( ExecutableElement element, - DeclaredType parentType ) - { - return getProvider().getEventInjectionPoints( element , parentType); - } - - /** - * Returns parameter of method element annotated by @Observes. - * Null will be returned if method is not observer method. - * - * @param element observer method - * @param parentType parent type of element - * @return observer parameter - */ - public VariableElement getObserverParameter(ExecutableElement element ) - { - return getProvider().getObserverParameter( element ); - } - - /** - * Returns Scope FQN for the specified element. - * @param element element which scope needs to be got - * @return scope of the element - */ - public String getScope( Element element ) throws CdiException{ - return getProvider().getScope( element ); - } - - /** - * Returns decorators for given type element. - * Decorator resolution is described in the 8.3 section of JSR-299 spec: - * - element bean should be assignable to the @Delegate injection point according special rules - * - decorator should be also enabled in the beans.xml - * The latter condition is not checked here. One should ask the - * BeansModel ( it is accessed via AbstractModelImplementation ) for - * enabled decorators. - * @param element decorated element - * @return collection of matched decorators - */ - public Collection getDecorators( TypeElement element ){ - return getProvider().getDecorators( element ); - } - - /** - * Lookup interceptors ( classes annotated with @Interceptor ) which - * are resolved for element. - * The element could be Class definition ( TypeElment ) - * or method ( ExecutableElement ). - * Interceptors could be applied to the methods only but class - * could also have interceptor bindings so this method could be - * useful for classes also. - * @param element type element or method element - * @return found interceptors - */ - public InterceptorsResult getInterceptors( Element element ){ - return getProvider().getInterceptors( element ); - } - - /** - * Returns interceptor bindings declared for element. - * @param element element annotated with interceptor bindings - * @return interceptor bindings - */ - public Collection getInterceptorBindings( Element element ){ - return getProvider().getInterceptorBindings(element); - } - - public AbstractModelImplementation getModelImplementation(){ - return myImpl; - } - - private WebBeansModelProvider getProvider(){ - return getModelImplementation().getProvider(); - } - - private AbstractModelImplementation myImpl; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/WebBeansModelFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/WebBeansModelFactory.java deleted file mode 100644 index b561c1bf7cc7..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/api/model/WebBeansModelFactory.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.api.model; - -import java.lang.ref.WeakReference; -import java.util.HashMap; - -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.spi.MetadataModelFactory; -import org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation; - - -/** - * @author ads - * - */ -public final class WebBeansModelFactory { - - private WebBeansModelFactory(){ - } - - public static synchronized MetadataModel getMetaModel( ModelUnit unit ){ - WeakReference> reference = MODELS.get( unit ); - MetadataModel metadataModel = null; - if ( reference != null ){ - metadataModel = reference.get(); - } - if ( metadataModel == null ){ - metadataModel = createMetaModel(unit); - if ( reference == null ){ - reference = new WeakReference>( metadataModel); - } - MODELS.put( unit, reference ); - } - return metadataModel; - } - - public static MetadataModel createMetaModel( ModelUnit unit ){ - return MetadataModelFactory.createMetadataModel( - WebBeansModelImplementation.createMetaModel(unit )); - } - - private static HashMap>> - MODELS = new HashMap>>(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionItem.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionItem.java deleted file mode 100644 index 13cd25a83242..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionItem.java +++ /dev/null @@ -1,366 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.completion; - -import org.netbeans.api.editor.completion.Completion; -import org.netbeans.editor.BaseDocument; -import org.netbeans.spi.editor.completion.*; - -import java.awt.Color; -import java.awt.Component; -import java.awt.Font; -import java.awt.Graphics; -import java.awt.event.KeyEvent; -import javax.swing.ImageIcon; -import javax.swing.text.BadLocationException; -import javax.swing.text.JTextComponent; -import javax.swing.text.Position; -import org.netbeans.spi.editor.completion.support.CompletionUtilities; - -/** - * - * @author Dusan Balek, Andrei Badea, Marek Fukala - */ -public abstract class BeansCompletionItem implements CompletionItem { - - static BeansCompletionItem createBeansTagValueItem(int substitutionOffset, String fullName, String simpleName) { - return new TagClassValueItem(substitutionOffset, fullName, simpleName); - } - protected int substituteOffset = -1; - - public abstract String getItemText(); - - public String getSubstitutionText() { - return getItemText(); - } - - public int getSubstituteOffset() { - return substituteOffset; - } - - public boolean substituteCommonText(JTextComponent c, int offset, int len, int subLen) { - // [PENDING] not enough info in parameters... - // commonText - // substituteExp - return false; - } - - public boolean substituteText(JTextComponent c, int offset, int len, boolean shifted) { - BaseDocument doc = (BaseDocument) c.getDocument(); - String text = getSubstitutionText(); - - if (text != null) { - if (toAdd != null && !toAdd.equals("\n")) // NOI18N - { - text += toAdd; - } - // Update the text - doc.atomicLock(); - try { - String textToReplace = doc.getText(offset, len); - if (text.equals(textToReplace)) { - return false; - } - - if(!shifted) {//we are not in part of literal completion - //dirty hack for @Table(name=CUS| - if (!text.startsWith("\"")) { - text = quoteText(text); - } - - //check if there is already an end quote - char ch = doc.getText(offset + len, 1).charAt(0); - if (ch == '"') { - //remove also this end quote since the inserted value is always quoted - len++; - } - } - - doc.remove(offset, len); - doc.insertString(offset, text, null); - } catch (BadLocationException e) { - // Can't update - } finally { - doc.atomicUnlock(); - } - return true; - - } else { - return false; - } - } - - public boolean canFilter() { - return true; - } - - public boolean cutomPosition() { - return false; - } - - public int getCutomPosition() { - return -1; - } - - public Component getPaintComponent(javax.swing.JList list, boolean isSelected, boolean cellHasFocus) { - Component ret = getPaintComponent(isSelected); - if (ret == null) { - return null; - } - if (isSelected) { - ret.setBackground(list.getSelectionBackground()); - ret.setForeground(list.getSelectionForeground()); - } else { - ret.setBackground(list.getBackground()); - ret.setForeground(list.getForeground()); - } - ret.getAccessibleContext().setAccessibleName(getItemText()); - ret.getAccessibleContext().setAccessibleDescription(getItemText()); - return ret; - } - - public abstract Component getPaintComponent(boolean isSelected); - - @Override - public int getPreferredWidth(Graphics g, Font defaultFont) { - Component renderComponent = getPaintComponent(false); - return renderComponent.getPreferredSize().width; - } - - @Override - public String toString() { - return getItemText(); - } - // CompletionItem implementation - public static final String COMPLETION_SUBSTITUTE_TEXT = "completion-substitute-text"; //NOI18N - static String toAdd; - - @Override - public void processKeyEvent(KeyEvent evt) { - if (evt.getID() == KeyEvent.KEY_TYPED) { - Completion completion = Completion.get(); - switch (evt.getKeyChar()) { - case ' ': - if (evt.getModifiers() == 0) { - completion.hideCompletion(); - completion.hideDocumentation(); - } - break; - } - } - } - - protected String quoteText(String s) { - return "\"" + s + "\""; - } - - @Override - public CharSequence getSortText() { - return getItemText(); - } - - @Override - public CharSequence getInsertPrefix() { - return getItemText(); - } - - @Override - public CompletionTask createDocumentationTask() { - return null; - } - - @Override - public CompletionTask createToolTipTask() { - return null; - } - - @Override - public boolean instantSubstitution(JTextComponent c) { - Completion completion = Completion.get(); - completion.hideCompletion(); - completion.hideDocumentation(); - defaultAction(c); - return true; - } - - @Override - public void defaultAction(JTextComponent component) { - Completion completion = Completion.get(); - completion.hideCompletion(); - completion.hideDocumentation(); - defaultAction(component, ""); - } - - private boolean defaultAction(JTextComponent component, String addText) { - int substOffset = substituteOffset; - if (substOffset == -1) { - substOffset = component.getCaret().getDot(); - } - BeansCompletionItem.toAdd = addText; - return substituteText(component, substOffset, component.getCaret().getDot() - substOffset, false); - } - - private abstract static class BeansXmlCompletionItem extends BeansCompletionItem { - ///////// - - protected int substitutionOffset; - - protected BeansXmlCompletionItem(int substitutionOffset) { - this.substitutionOffset = substitutionOffset; - } - - @Override - public void defaultAction(JTextComponent component) { - if (component != null) { - Completion.get().hideDocumentation(); - Completion.get().hideCompletion(); - int caretOffset = component.getSelectionEnd(); - substituteText(component, substitutionOffset, caretOffset - substitutionOffset, null); - } - } - - protected void substituteText(JTextComponent c, int offset, int len, String toAdd) { - BaseDocument doc = (BaseDocument) c.getDocument(); - CharSequence prefix = getInsertPrefix(); - String text = prefix.toString(); - if (toAdd != null) { - text += toAdd; - } - - doc.atomicLock(); - try { - Position position = doc.createPosition(offset); - doc.remove(offset, len); - doc.insertString(position.getOffset(), text.toString(), null); - } catch (BadLocationException ble) { - // nothing can be done to update - } finally { - doc.atomicUnlock(); - } - } - - @Override - public String getSubstitutionText() { - return getInsertPrefix().toString(); - } - - @Override - public void processKeyEvent(KeyEvent evt) { - } - - @Override - public int getPreferredWidth(Graphics g, Font defaultFont) { - return CompletionUtilities.getPreferredWidth(getLeftHtmlText(), - getRightHtmlText(), g, defaultFont); - } - - @Override - public void render(Graphics g, Font defaultFont, Color defaultColor, - Color backgroundColor, int width, int height, boolean selected) { - CompletionUtilities.renderHtml(getIcon(), getLeftHtmlText(), - getRightHtmlText(), g, defaultFont, defaultColor, width, height, selected); - } - - @Override - public CompletionTask createDocumentationTask() { - return null; - } - - @Override - public CompletionTask createToolTipTask() { - return null; - } - - @Override - public boolean instantSubstitution(JTextComponent component) { - defaultAction(component); - return true; - } - - protected String getLeftHtmlText() { - return null; - } - - protected String getRightHtmlText() { - return null; - } - - protected ImageIcon getIcon() { - return null; - } - - public abstract String getDisplayText(); - ///////// - } - - private static class TagClassValueItem extends BeansXmlCompletionItem { - - private final String displayText, simpleName; - CCPaintComponent.DBElementPaintComponent paintComponent; - - public TagClassValueItem(int substitutionOffset, String fullName, String simpleName) { - super(substitutionOffset); - this.displayText = fullName; - this.simpleName = simpleName; - } - - @Override - public int getSortPriority() { - return 100; - } - - @Override - public CharSequence getSortText() { - return displayText; - } - - - @Override - public CharSequence getInsertPrefix() { - return displayText; - } - - @Override - public String getDisplayText() { - return simpleName + (simpleName.length() completors = new HashMap<>(); - - private BeansCompletionManager() { - setupCompletors(); - } - - private void setupCompletors() { - - - // Items for property names - BeansCompletor.JavaClassesCompletor javaClassCompletor = new BeansCompletor.JavaClassesCompletor(BeansCompletor.TAG.CLASS); - registerCompletor(BeansXmlConstants.CLASS, null, javaClassCompletor); - - BeansCompletor.JavaClassesCompletor stereotypeClassCompletor = new BeansCompletor.JavaClassesCompletor(BeansCompletor.TAG.STEREOTYPE); - registerCompletor(BeansXmlConstants.STEREOTYPE, null, stereotypeClassCompletor); - } - - private static final BeansCompletionManager INSTANCE = new BeansCompletionManager(); - - public static BeansCompletionManager getDefault() { - return INSTANCE; - } - - public int completeAttributeValues(CompletionContext context, List valueItems) { - int anchorOffset = -1; - - if(context.getTag() == null) { - return anchorOffset; - } - - String tagName = context.getTag().getNodeName(); - Token attrib = ContextUtilities.getAttributeToken(context.getDocumentContext()); - String attribName = attrib != null ? attrib.text().toString(): null; - - BeansCompletor completor = locateCompletor(tagName, attribName); - if (completor != null) { - valueItems.addAll(completor.doCompletion(context)); - if (completor.getAnchorOffset() != -1) { - anchorOffset = completor.getAnchorOffset(); - } - } - - return anchorOffset; - } - - public int completeValues(CompletionContext context, List valueItems) { - int anchorOffset = -1; - DocumentContext docContext = context.getDocumentContext(); - SyntaxElement curElem = docContext.getCurrentElement(); - SyntaxElement prevElem = docContext.getCurrentElement().getPrevious(); - - String tagName = curElem.getType() == Node.ELEMENT_NODE ? curElem.getNode().getNodeName() : null; - BeansCompletor completor = locateCompletor(tagName, null); - if (completor != null) { - valueItems.addAll(completor.doCompletion(context)); - if (completor.getAnchorOffset() != -1) { - anchorOffset = completor.getAnchorOffset(); - } - } - return anchorOffset; - } - - public int completeAttributes(CompletionContext context, List attributeItems) { - return -1; - } - - public int completeElements(CompletionContext context, List elementItems) { - return -1; - } - - - - private void registerCompletor(String tagName, String attribName, - BeansCompletor completor) { - completors.put(createRegisteredName(tagName, attribName), completor); - } - - private static String createRegisteredName(String nodeName, String attributeName) { - StringBuilder builder = new StringBuilder(); - if (nodeName != null && nodeName.trim().length() > 0) { - builder.append("/nodeName="); // NOI18N - builder.append(nodeName); - } else { - builder.append("/nodeName="); // NOI18N - builder.append("*"); // NOI18N - } - - if (attributeName != null && attributeName.trim().length() > 0) { - builder.append("/attribute="); // NOI18N - builder.append(attributeName); - } - - return builder.toString(); - } - - private BeansCompletor locateCompletor(String nodeName, String attributeName) { - String key = createRegisteredName(nodeName, attributeName); - if (completors.containsKey(key)) { - return completors.get(key); - } - - key = createRegisteredName("*", attributeName); // NOI18N - if (completors.containsKey(key)) { - return completors.get(key); - } - - return null; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionProvider.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionProvider.java deleted file mode 100644 index e2cc635fc0f7..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletionProvider.java +++ /dev/null @@ -1,483 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.completion; - -import com.sun.source.util.TreePath; -import java.io.IOException; -import java.net.MalformedURLException; -import java.util.ArrayList; -import java.util.List; -import javax.lang.model.element.ElementKind; -import javax.lang.model.type.TypeKind; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; -import javax.swing.text.Element; -import javax.swing.text.JTextComponent; -import javax.swing.text.StyledDocument; -import org.netbeans.api.editor.mimelookup.MimeRegistration; -import org.netbeans.api.java.lexer.JavaTokenId; -import static org.netbeans.api.java.lexer.JavaTokenId.BLOCK_COMMENT; -import static org.netbeans.api.java.lexer.JavaTokenId.JAVADOC_COMMENT; -import static org.netbeans.api.java.lexer.JavaTokenId.LINE_COMMENT; -import static org.netbeans.api.java.lexer.JavaTokenId.WHITESPACE; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.api.lexer.Token; -import org.netbeans.api.lexer.TokenSequence; -import org.netbeans.editor.BaseDocument; -//import org.netbeans.modules.jakarta.web.beans.BeansDataLoader; -import org.netbeans.spi.editor.completion.CompletionProvider; -import static org.netbeans.spi.editor.completion.CompletionProvider.COMPLETION_QUERY_TYPE; -import org.netbeans.spi.editor.completion.CompletionResultSet; -import org.netbeans.spi.editor.completion.CompletionTask; -import org.netbeans.spi.editor.completion.support.AsyncCompletionQuery; -import org.netbeans.spi.editor.completion.support.AsyncCompletionTask; -import org.openide.ErrorManager; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.URLMapper; -import org.openide.util.Exceptions; - -/** - * - * @author sp153251 - */ -@MimeRegistration(mimeType = "text/x-beans-jakarta+xml", service = CompletionProvider.class)//NOI18N -public class BeansCompletionProvider implements CompletionProvider { - - @Override - public CompletionTask createTask(int queryType, JTextComponent component) { - if (queryType != CompletionProvider.COMPLETION_QUERY_TYPE && queryType !=CompletionProvider.COMPLETION_ALL_QUERY_TYPE) { - return null; - } - return new AsyncCompletionTask(new BeansCompletionQuery(queryType, component, component.getSelectionStart(), true), component); - } - - @Override - public int getAutoQueryTypes(JTextComponent component, String typedText) { - return 0;//will not appear automatically - } - - static int getRowFirstNonWhite(StyledDocument doc, int offset) - throws BadLocationException { - Element lineElement = doc.getParagraphElement(offset); - int start = lineElement.getStartOffset(); - while (start + 1 < lineElement.getEndOffset()) { - try { - if (doc.getText(start, 1).charAt(0) != ' ') { - break; - } - } catch (BadLocationException ex) { - throw (BadLocationException) new BadLocationException( - "calling getText(" + start + ", " + (start + 1) - + ") on doc of length: " + doc.getLength(), start).initCause(ex); - } - start++; - } - return start; - } - - static int indexOfWhite(char[] line) { - int i = line.length; - while (--i > -1) { - final char c = line[i]; - if (Character.isWhitespace(c)) { - return i; - } - } - return -1; - } - - static class BeansCompletionQuery extends AsyncCompletionQuery { - - private ArrayList resolvers; - private byte hasAdditionalItems = 0; //no additional items - private int anchorOffset; - private int queryType; - - public BeansCompletionQuery(int queryType, JTextComponent component, int caretOffset, boolean hasTask) { - this.queryType = queryType; - initResolvers(); - } - - private void initResolvers() { - //XXX temporary - should be registered somehow better - resolvers = new ArrayList(); - //resolvers.add(new DBCompletionContextResolver()); - } - - @Override - protected void query(CompletionResultSet resultSet, Document doc, int caretOffset) { - List completionItems = new ArrayList(); - - int anchorOffset = getCompletionItems(doc, caretOffset, completionItems); - resultSet.addAllItems(completionItems); - if (anchorOffset != -1) { - resultSet.setAnchorOffset(anchorOffset); - } - - resultSet.finish(); - } - - // This method is here for Unit testing purpose - int getCompletionItems(Document doc, int caretOffset, List completionItems) { - - int anchorOffset = -1; - CompletionContext context = new CompletionContext(doc, caretOffset); - - if (context.getCompletionType() == CompletionContext.CompletionType.NONE) { - return anchorOffset; - } - - switch (context.getCompletionType()) { -// case ATTRIBUTE_VALUE: -// anchorOffset = BeansCompletionManager.getDefault().completeAttributeValues(context, completionItems); -// break; -// case ATTRIBUTE: -// anchorOffset = BeansCompletionManager.getDefault().completeAttributes(context, completionItems); -// break; -// case TAG: -// anchorOffset = BeansCompletionManager.getDefault().completeElements(context, completionItems); -// break; - case VALUE: - anchorOffset = BeansCompletionManager.getDefault().completeValues(context, completionItems); - break; - } - - return anchorOffset; - } - - @Override - protected boolean canFilter(JTextComponent component) { - return false; - } - - @Override - protected void filter(CompletionResultSet resultSet) { - try { - resultSet.setAnchorOffset(anchorOffset); - } catch (Exception ex) { - Exceptions.printStackTrace(ex); - } - resultSet.finish(); - } - } - public final class Context { - - /** - * Text component - */ - private JTextComponent component; - CompilationController controller; - /** - * End position of the scanning - usually the caret position - */ - private int endOffset; - //private PersistenceUnit[] pus; - //private EntityMappings emaps; - private String completedMemberName, completedMemberJavaClassName; - private CCParser CCParser; - private CCParser.CC parsednn = null; - private CCParser.MD methodName = null; - - public Context(JTextComponent component, CompilationController controller, int endOffset, boolean autoPopup) { - this.component = component; - this.controller = controller; - this.endOffset = endOffset; - - FileObject documentFO = getFileObject(); - if (documentFO != null) { -// try { -// this.pus = PersistenceUtils.getPersistenceUnits(documentFO); -// } catch (IOException e) { -// ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, e); -// } - } - - this.CCParser = new CCParser(controller); - } - - /** - * Must be run under MDR transaction! - */ - public javax.lang.model.element.Element getJavaClass() { - TreePath path = null; -// try { -// path = getCompletionTreePath(getController(), endOffset, COMPLETION_QUERY_TYPE); -// } catch (IOException ex) { -// Exceptions.printStackTrace(ex); -// } - javax.lang.model.element.Element el = null; - try { - getController().toPhase(JavaSource.Phase.ELEMENTS_RESOLVED); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - while ((el == null || !(ElementKind.CLASS == el.getKind() || ElementKind.INTERFACE == el.getKind())) && path != null) { - path.getCompilationUnit().getTypeDecls(); - el = getController().getTrees().getElement(path); - path = path.getParentPath(); - } - return el; - } - - public BaseDocument getBaseDocument() { - BaseDocument doc = (BaseDocument) component.getDocument(); - return doc; - } - - public FileObject getFileObject() { - try { - return URLMapper.findFileObject(getController().getCompilationUnit().getSourceFile().toUri().toURL()); - } catch (MalformedURLException ex) { - Exceptions.printStackTrace(ex); - } - return null; - } - - /** - * @return an arrat of PUs which this sourcefile belongs to. - */ -// public PersistenceUnit[] getPersistenceUnits() { -// return this.pus; -// } -// -// public EntityMappings getEntityMappings() { -// if (emaps == null) { -// FileObject documentFO = getFileObject(); -// this.emaps = PersistenceUtils.getEntityMappings(documentFO); -// } -// return this.emaps; -// } - - public int getCompletionOffset() { - return endOffset; - } - - public CCParser.CC getParsedAnnotation() { - synchronized (CCParser) { - if (parsednn == null) { - parsednn = CCParser.parseAnnotation(getCompletionOffset()); - } - return parsednn; - } - } - - public String getCompletedMemberClassName() { - if (completedMemberJavaClassName == null) { - initCompletedMemberContext(); - } - return completedMemberJavaClassName; - } - - public String getCompletedMemberName() { - if (completedMemberName == null) { - initCompletedMemberContext(); - } - return completedMemberName; - } - - private void initCompletedMemberContext() { - //parse the text behind the cursor and try to find identifiers. - //it seems to be impossible to use JMI model for this since it havily - //relies on the state of the source (whether it contains errors, which types etc.) - String type = null; - String genericType = null; - String propertyName = null; - CCParser nnp = new CCParser(getController()); //helper parser - - TokenSequence ts = getController().getTokenHierarchy().tokenSequence(JavaTokenId.language()); - ts.move(getCompletionOffset() + 1); - nextNonWhitespaceToken(ts); - Token ti = ts.token(); - while (ti != null && propertyName == null) { - javax.lang.model.element.Element el = null; -// try { -// el = getController().getTrees().getElement(getCompletionTreePath(getController(), ts.offset() + 1, CompletionProvider.COMPLETION_QUERY_TYPE)); -// } catch (IOException ex) { -// Exceptions.printStackTrace(ex); -// } - //skip all annotations between the CC offset and the completed member - if (el!=null && el.getKind() == ElementKind.ANNOTATION_TYPE) { - //parse to find NN end - CCParser.CC parsed = nnp.parseAnnotation(ts.offset() + 1); - if (parsed != null) { - //parse after the NN end (skip) - ts.move(parsed.getEndOffset()); - ti = ts.token(); - continue; - } - } - - //test whether we have just found a type and '<' character after - if (genericType != null && ti.id() == JavaTokenId.LT) { - //maybe a start of generic - ts.moveNext(); - Token ti2 = ts.token(); - if (ti2.id() == JavaTokenId.IDENTIFIER) { - //found generic - //genericType = ti2.getImage(); - //ti = ti.getNext(); //skip the next IDENTIFIER token so it is not considered as property name - } else { - //false alarm - genericType = null; - } - } else if (ti.id() == JavaTokenId.IDENTIFIER) { - if (type == null) { - //type = ti.getImage(); - genericType = type; - } else { - //propertyName = ti.getImage(); - } - } - ts.moveNext(); - ti = ts.token(); - } - - completedMemberName = propertyName; - completedMemberJavaClassName = genericType == null ? type : genericType; - } - - private void initMethodContext() { - TokenSequence ts = getController().getTokenHierarchy().tokenSequence(JavaTokenId.language()); - ts.move(getCompletionOffset()); - previousNonWhitespaceToken(ts); - Token ti = ts.token(); - int lparpassed = 0; - String mname = null; - while (ti != null) { - javax.lang.model.element.Element el = null; - if (ti.id() == JavaTokenId.LPAREN) { - lparpassed++; - } else if (ti.id() == JavaTokenId.IDENTIFIER) { - break;//so far we have only simple model for method parameters without identifier checks - } else if (ti.id() == JavaTokenId.RPAREN) { - lparpassed--; - } -// try { -// el = getController().getTrees().getElement(getCompletionTreePath(getController(), ts.offset(), CompletionProvider.COMPLETION_QUERY_TYPE)); -// } catch (IOException ex) { -// Exceptions.printStackTrace(ex); -// } - // - if (lparpassed > 0) { - if (el != null && el.getKind() == ElementKind.METHOD) {//we insde parameters section - //parse to find NN end - mname = el.getSimpleName().toString(); - break; - } else if (el != null && el.getKind() == ElementKind.CLASS && el.asType().getKind() == TypeKind.ERROR && (el.asType().toString().indexOf('.') > 0 && el.asType().toString().indexOf('.') < (el.asType().toString().length() - 1))) {//NOI18N - mname = el.getSimpleName().toString();//supposed method name in case of error - break; - } else { - break; - } - } - - // - - if (!ts.movePrevious()) { - break; - } - ti = ts.token(); - } - if (mname != null) { - Token literalToComplete = null; - Token titk = ts.token(); - JavaTokenId id; - do { - id = titk.id(); - //ignore whitespaces - if (id == JavaTokenId.WHITESPACE || id == JavaTokenId.LINE_COMMENT || id == JavaTokenId.BLOCK_COMMENT || id == JavaTokenId.JAVADOC_COMMENT) { - if (!ts.moveNext()) { - break; - } - titk = ts.token(); - continue; - } - int tokenOffset = titk.offset(getController().getTokenHierarchy()); - if(tokenOffset>getCompletionOffset()){ - - break; - } - - if(id == JavaTokenId.STRING_LITERAL){ - if((tokenOffset + titk.length())>getCompletionOffset()){ - //we complete this literal - literalToComplete = titk; - break; - } - } - - if (!ts.moveNext()) { - break; - } - titk = ts.token();//get next token - - } while (titk != null); - methodName = new CCParser.MD(mname, literalToComplete != null ? literalToComplete.text().toString() : null, literalToComplete != null ? literalToComplete.offset(getController().getTokenHierarchy()) : getCompletionOffset(), true, true); - } - } - - private TokenSequence nextNonWhitespaceToken(TokenSequence ts) { - while (ts.moveNext()) { - switch (ts.token().id()) { - case WHITESPACE: - case LINE_COMMENT: - case BLOCK_COMMENT: - case JAVADOC_COMMENT: - break; - default: - return ts; - } - } - return null; - } - - private TokenSequence previousNonWhitespaceToken(TokenSequence ts) { - do { - if (ts.token() != null) { - switch (ts.token().id()) { - case WHITESPACE: - case LINE_COMMENT: - case BLOCK_COMMENT: - case JAVADOC_COMMENT: - break; - default: - return ts; - } - } - } while (ts.movePrevious()); - return null; - } - - /** - * @return the controller - */ - public CompilationController getController() { - return controller; - } - - public CCParser.MD getMethod() { - if (methodName == null) { - initMethodContext(); - } - return methodName; - } - } - private static final String EMPTY = ""; //NOI18N -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletor.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletor.java deleted file mode 100644 index df87004a348a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansCompletor.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.completion; - -import java.io.IOException; -import java.util.*; -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.TypeElement; -import javax.swing.text.Document; -import org.netbeans.api.java.source.ClassIndex; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.api.java.source.JavaSource.Phase; -import org.netbeans.api.java.source.Task; -import org.netbeans.modules.editor.NbEditorUtilities; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.openide.filesystems.FileObject; -import org.openide.util.Exceptions; - -/** - * Various completor for code completing XML tags and attributes - * - */ -public abstract class BeansCompletor { - - private int anchorOffset = -1; - - public enum TAG { - - CLASS, STEREOTYPE - }; - - TAG tag; - - public abstract List doCompletion(CompletionContext context); - - BeansCompletor(TAG tag) { - this.tag = tag; - } - - protected void setAnchorOffset(int anchorOffset) { - this.anchorOffset = anchorOffset; - } - - public int getAnchorOffset() { - return anchorOffset; - } - - /** - * A completor for completing class tag - */ - public static class JavaClassesCompletor extends BeansCompletor { - - JavaClassesCompletor(TAG tag) { - super(tag); - } - - @Override - public List doCompletion(final CompletionContext context) { - final List results = new ArrayList<>(); - try { - Document doc = context.getDocument(); - final String typedChars = context.getTypedPrefix(); - - JavaSource js = Utils.getJavaSource(doc); - if (js == null) { - return Collections.emptyList(); - } - FileObject fo = NbEditorUtilities.getFileObject(context.getDocument()); - doJavaCompletion(fo, js, results, typedChars, context.getCurrentTokenOffset()); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - - return results; - } - - private void doJavaCompletion(final FileObject fo, final JavaSource js, final List results, - final String typedPrefix, final int substitutionOffset) throws IOException { - js.runUserActionTask(new Task() { - - @Override - public void run(CompilationController cc) throws Exception { - cc.toPhase(Phase.ELEMENTS_RESOLVED); - Set> declaredTypes = null; - declaredTypes = cc.getClasspathInfo().getClassIndex().getDeclaredTypes(typedPrefix, ClassIndex.NameKind.PREFIX, Collections.singleton(ClassIndex.SearchScope.SOURCE));//to have dependencies: EnumSet.allOf(ClassIndex.SearchScope.class) - - // add classes - if (declaredTypes != null && declaredTypes.size() > 0) { - for (ElementHandle cl : declaredTypes) { - ElementKind kind = cl.getKind(); - switch (tag) { - case CLASS: { - - if (kind == ElementKind.CLASS) { - TypeElement te = cl.resolve(cc); - if (isAlternative(te)) { - - BeansCompletionItem item = BeansCompletionItem.createBeansTagValueItem(substitutionOffset-typedPrefix.length(), cl.getQualifiedName(), te.getSimpleName().toString()); - results.add(item); - } - } - - } - break; - case STEREOTYPE: { - if (kind == ElementKind.ANNOTATION_TYPE) { - TypeElement te = cl.resolve(cc); - if (isAlternative(te)) { - - BeansCompletionItem item = BeansCompletionItem.createBeansTagValueItem(substitutionOffset-typedPrefix.length(), cl.getQualifiedName(), te.getSimpleName().toString()); - results.add(item); - } - } - } - break; - } - } - } - } - }, true); - - setAnchorOffset(substitutionOffset); - } - } - - private static boolean isAlternative(TypeElement te) { - List annotationMirrors = te.getAnnotationMirrors(); - for (AnnotationMirror annotation : annotationMirrors) { - if (annotation.getAnnotationType().asElement() instanceof TypeElement) { - String typeName = ((TypeElement) annotation.getAnnotationType().asElement()).getQualifiedName().toString(); - if (AnnotationUtil.ALTERNATVE.equals(typeName)) { - return true; - } - } - } - return false; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansXmlConstants.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansXmlConstants.java deleted file mode 100644 index 58714d20a80f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/BeansXmlConstants.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.completion; - -/** - * - * @author sp153251 - */ -public class BeansXmlConstants { - - public static String ALTERNATIVES = "alternatives";//NOI18N - public static String CLASS = "class";//NOI18N - public static String STEREOTYPE = "stereotype";//NOI18N -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CCPaintComponent.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CCPaintComponent.java deleted file mode 100644 index dfc68ff5f57b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CCPaintComponent.java +++ /dev/null @@ -1,316 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.completion; - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.FontMetrics; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Insets; -import java.awt.font.TextAttribute; -import java.text.AttributedString; -import java.util.HashMap; -import java.util.Map; -import javax.swing.BorderFactory; -import javax.swing.Icon; -import javax.swing.JPanel; - -/** - * - * @author Dusan Balek, Andrei Badea, Marek Fukala - */ -public class CCPaintComponent extends JPanel { - - private static final int ICON_WIDTH = 16; - private static final int ICON_TEXT_GAP = 5; - - protected int drawX; - - protected int drawY; - - protected int drawHeight; - - private Font drawFont; - - private int fontHeight; - - private int ascent; - - private Map widths; - - private FontMetrics fontMetrics; - - private boolean isSelected; - - private boolean isDeprecated; - - private static final String THROWS = " throws "; // NOI18N - - - private static final String[] frequentWords = new String[] { - "", " ", "[]", "(", ")", ", ", "String", THROWS // NOI18N - }; - - public static final Color KEYWORD_COLOR = Color.darkGray; - public static final Color TYPE_COLOR = Color.black; - - /** When an outer method/constructor is rendered. */ - static final Color ENCLOSING_CALL_COLOR = Color.gray; - /** When an active parameter gets rendered. */ - static final Color ACTIVE_PARAMETER_COLOR = Color.black; - - public CCPaintComponent(){ - super(); - setOpaque(true); - setBorder(BorderFactory.createEmptyBorder(0, 3, 0, 3)); - } - - protected void setSelected(boolean isSelected){ - this.isSelected = isSelected; - } - - protected void setDeprecated(boolean isDeprecated){ - this.isDeprecated = isDeprecated; - } - - protected boolean isSelected(){ - return isSelected; - } - - protected boolean isDeprecated(){ - return isDeprecated; - } - - @Override - public void paintComponent(Graphics g) { - // clear background - g.setColor(getBackground()); - java.awt.Rectangle r = g.getClipBounds(); - g.fillRect(r.x, r.y, r.width, r.height); - draw(g); - } - - protected void draw(Graphics g){ - } - - - /** Draw the icon if it is valid for the given type. - * Here the initial drawing assignments are also done. - */ - protected void drawIcon(Graphics g, Icon icon) { - Insets i = getInsets(); - if (i != null) { - drawX = i.left; - drawY = i.top; - } else { - drawX = 0; - drawY = 0; - } - - if (icon != null) { - if (g != null) { - icon.paintIcon(this, g, drawX, drawY); - } - drawHeight = Math.max(fontHeight, icon.getIconHeight()); - } else { - drawHeight = fontHeight; - } - drawX += ICON_WIDTH + ICON_TEXT_GAP; - if (i != null) { - drawHeight += i.bottom; - } - drawHeight += drawY; - drawY += ascent; - } - - protected void drawString(Graphics g, String s){ - drawString(g, s, false); - } - - /** Draw string using the foreground color */ - protected void drawString(Graphics g, String s, boolean strike) { - if (g != null) { - g.setColor(getForeground()); - } - drawStringToGraphics(g, s, null, strike); - } - - - /** Draw string with given color which is first possibly modified - * by calling getColor() method to care about selection etc. - */ - protected void drawString(Graphics g, String s, Color c) { - if (g != null) { - g.setColor(getColor(s, c)); - } - drawStringToGraphics(g, s); - } - - protected void drawString(Graphics g, String s, Color c, Font font, boolean strike) { - if (g != null) { - g.setColor(getColor(s, c)); - g.setFont(font); - } - drawStringToGraphics(g, s, font, strike); - if (g != null) { - g.setFont(drawFont); - } - - } - - protected void drawTypeName(Graphics g, String s, Color c) { - if (g == null) { - drawString(g, " "); // NOI18N - drawString(g, s, c); - } else { - int w = getWidth() - getWidth(s) - drawX; - int spaceWidth = getWidth(" "); // NOI18N - if (w > spaceWidth * 2) { - drawX = getWidth() - 2 * spaceWidth - getWidth(s); - } else { - drawX = getWidth() - 2 * spaceWidth - getWidth(s) - getWidth("... "); // NOI18N - g.setColor(getBackground()); - g.fillRect(drawX, 0, getWidth() - drawX, getHeight()); - drawString(g, "... ", c); // NOI18N - } - drawString(g, s, c); - } - } - - protected void drawStringToGraphics(Graphics g, String s) { - drawStringToGraphics(g, s, null, false); - } - - protected void drawStringToGraphics(Graphics g, String s, Font font, boolean strike) { - if (g != null) { - if (!strike){ - g.drawString(s, drawX, drawY); - }else{ - Graphics2D g2 = ((Graphics2D)g); - AttributedString strikeText = new AttributedString(s); - strikeText.addAttribute(TextAttribute.STRIKETHROUGH, TextAttribute.STRIKETHROUGH_ON); - strikeText.addAttribute(TextAttribute.FONT, g.getFont()); - g2.drawString(strikeText.getIterator(), drawX, drawY); - } - } - drawX += getWidth(s, font); - } - - protected int getWidth(String s) { - Integer i = widths.get(s); - if (i != null) { - return i; - } else { - if (s == null) { - s = ""; - } - return fontMetrics.stringWidth(s); - } - } - - protected int getWidth(String s, Font font) { - if (font == null) { - return getWidth(s); - } - return getFontMetrics(font).stringWidth(s); - } - - protected Color getColor(String s, Color defaultColor) { - return isSelected ? getForeground() - : defaultColor; - } - - private void storeWidth(String s) { - fontMetrics.stringWidth(s); - } - - @Override - public void setFont(Font font) { - super.setFont(font); - - fontMetrics = this.getFontMetrics(font); - fontHeight = fontMetrics.getHeight(); - ascent = fontMetrics.getAscent(); - if (widths != null) { - widths.clear(); - } else { - widths = new HashMap<>(); - } - for (int i = 0; i < frequentWords.length; i++) { - storeWidth(frequentWords[i]); - } - drawFont = font; - } - - protected Font getDrawFont(){ - return drawFont; - } - - @Override - public Dimension getPreferredSize() { - draw(null); - Insets i = getInsets(); - if (i != null) { - drawX += i.right; - } - if (drawX > getMaximumSize().width) { - drawX = getMaximumSize().width; - } - return new Dimension(drawX, drawHeight); - } - - public static class NbStringPaintComponent extends CCPaintComponent { - - private String str; - - public void setString(String str){ - this.str = str; - } - - @Override - protected void draw(Graphics g){ - drawIcon(g, null); - drawString(g, str, TYPE_COLOR); - } - - } - - public static final class DBElementPaintComponent extends NbStringPaintComponent { - - } - - - public static final class BeansElementPaintComponent extends NbStringPaintComponent { - - private String puName; - - public void setContent(String puName) { - this.puName = puName; - } - - @Override - protected void draw(Graphics g){ - - drawString(g, puName, Color.BLACK, getDrawFont().deriveFont(Font.BOLD), false); - } - - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CCParser.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CCParser.java deleted file mode 100644 index 899bd8cc030b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CCParser.java +++ /dev/null @@ -1,444 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.completion; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.netbeans.api.java.lexer.JavaTokenId; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.lexer.Token; -import org.netbeans.api.lexer.TokenSequence; - -/** - * Builds an annotations tree containg NN name and attribs map. Supports nested annotations. - * - * @author Marek Fukala - */ - -public class CCParser { - - //parser states - private static final int INIT = 0; - private static final int NN = 1; //@ - private static final int ERROR = 2; - private static final int NNNAME = 3; //@Table - private static final int INNN = 4; //@Table( - private static final int ATTRNAME = 5; //@Table(name - private static final int EQ = 6; //@Table(name= - private static final int ATTRVALUE = 7; //@Table(name="hello" || @Table(name=@ - - private final CompilationController controller; - - CCParser(CompilationController controller) { - this.controller = controller; - } - - public CC parseAnnotation(int offset) { - int nnStart = findAnnotationStart(offset); - if(nnStart == -1) { - return null; - } else { - return parseAnnotationOnOffset(nnStart); - } - } - - /** very simple annotations parser */ - private CC parseAnnotationOnOffset(int offset) { - int state = INIT; - TokenSequence ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language()); - ts.moveStart(); - if (ts.move(offset) == 0) { - if(!ts.moveNext()) { - ts.movePrevious(); - } - } - Token titk = ts.token(); - JavaTokenId id = titk.id(); - - assert id == JavaTokenId.AT; - - int nnstart = ts.offset(); - int nnend; - String nnName = null; - String currAttrName = null; - String currAttrValue = null; - int currAttrStartOffset = -1; - boolean currAttrQuated = false; - int lparopened = 0; - - List attrs = new ArrayList(5); - //helper var - int eqOffset = -1; - - do { - id = titk.id(); - //ignore whitespaces - if(id == JavaTokenId.WHITESPACE || id==JavaTokenId.LINE_COMMENT || id==JavaTokenId.BLOCK_COMMENT || id==JavaTokenId.JAVADOC_COMMENT) { - if(!ts.moveNext()) { - break; - } - titk = ts.token(); - continue; - } - - switch(state) { - case INIT: - switch(id) { - case AT: - state = NN; - break; - default: - state = ERROR; - } - break; - case NN: - switch(id) { - case IDENTIFIER: - state = NNNAME; - nnName = titk.text().toString(); - break; - default: - state = ERROR; - } - break; - case NNNAME: - switch(id) { - case LPAREN: - state = INNN; - break; - case DOT: - case IDENTIFIER: - //add the token image to the NN name - nnName += titk.text().toString(); - break; - default: - //we are in NN name, but no parenthesis came - //this mean either error or annotation without parenthesis like @Id - nnend = nnstart + "@".length() + nnName.length(); - CC newNN = new CC(nnName, attrs, nnstart, nnend); - return newNN; - } - break; - case INNN: - switch(id) { - case IDENTIFIER: - currAttrName = titk.text().toString(); - state = ATTRNAME; - break; - //case JavaTokenContext.RPAREN_ID: - case COMMA: - //just consume, still in INNN - break; - default: - //we reached end of the annotation, or error - state = ERROR; - break; - } - break; - case ATTRNAME: - switch(id) { - case EQ: - state = EQ; - currAttrValue = ""; - currAttrStartOffset = -1; - currAttrQuated = false; - eqOffset = ts.offset(); - break; - default: - state = ERROR; - } - break; - case EQ: - switch(id) { - case STRING_LITERAL: - currAttrStartOffset = currAttrStartOffset<0 ? ts.offset() : currAttrStartOffset; - currAttrQuated = true;//currently is used in cc and we support qq for one literal only, may need to be revieved later for "combined" cases - currAttrValue += Utils.unquote(titk.text().toString()); - break; - case DOT: - case IDENTIFIER: - //need to collect data, do not switch to INNN here - //multidot identifier can be expected, and it may be summ with literals and with parensis - currAttrStartOffset = currAttrStartOffset<0 ? ts.offset() : currAttrStartOffset; - currAttrValue += titk.text().toString(); - break; - case PLUS: - currAttrStartOffset = currAttrStartOffset<0 ? ts.offset() : currAttrStartOffset; - currAttrValue += titk.text().toString(); - break; - case LPAREN: - lparopened++; - currAttrStartOffset = currAttrStartOffset<0 ? ts.offset() : currAttrStartOffset; - currAttrValue += titk.text().toString(); - break; - case AT: - //nested annotation - CC nestedNN = parseAnnotationOnOffset(ts.offset()); - attrs.add(new NNAttr(currAttrName, nestedNN, ts.offset(), false)); - state = INNN; - //I need to skip what was parsed in the nested annotation in this parser - if (ts.move(nestedNN.getEndOffset()) == 0) { - if(!ts.moveNext()) { - ts.movePrevious(); - } - } - titk = ts.token(); - continue; //next loop - case RPAREN: - lparopened--; - if(lparopened<0){ - state = INNN; - attrs.add(new NNAttr(currAttrName, currAttrValue, currAttrStartOffset, currAttrQuated)); - ts.movePrevious(); - break; - } - case COMMA: - state = INNN; - attrs.add(new NNAttr(currAttrName, currAttrValue, currAttrStartOffset, currAttrQuated)); - break; - default: - //ERROR => recover - //set the start offset of the value to the offset of the equator + 1 - attrs.add(new NNAttr(currAttrName, "", eqOffset + 1, false)); - state = INNN; - break; - } - } - - if(state == ERROR) { - //return what we parser so far to be error recovery as much as possible - nnend = ts.offset() + titk.text().toString().length(); - CC newNN = new CC(nnName, attrs, nnstart, nnend); - return newNN; - } - if(!ts.moveNext()) { - break; - } - titk = ts.token();//get next token - - } while(titk != null); - - - - return null; - } - - - private int findAnnotationStart(int offset) { - - if(offset>0){//0 can't contain any '@' before - - int parentCount = -100; - - TokenSequence ts = controller.getTokenHierarchy().tokenSequence(JavaTokenId.language()); - if (ts.move(offset) == 0 || !ts.moveNext()) { - ts.movePrevious(); - } - int len = offset - ts.offset(); - if (len > 0 && (ts.token().id() == JavaTokenId.IDENTIFIER || - ts.token().id().primaryCategory().startsWith("keyword") || //NOI18N - ts.token().id().primaryCategory().startsWith("string") || //NOI18N - ts.token().id().primaryCategory().equals("literal")) //NOI18N - && ts.token().length() >= len) { //TODO: Use isKeyword(...) when available - } - Token titk = ts.token(); - while(titk != null) { - JavaTokenId id = titk.id(); - - if(id == JavaTokenId.RPAREN) { - if(parentCount == -100) { - parentCount = 0; - } - parentCount++; - } else if(id == JavaTokenId.LPAREN) { - if(parentCount == -100) { - parentCount = 0; - } - parentCount--; - } else if(id == JavaTokenId.AT) { - if(parentCount == -1 || parentCount == -100) { //needed if offset is not within annotation content - return ts.offset(); - } - } - if (!ts.movePrevious()) { - break; - } - titk = ts.token(); - } - } - - return -1; - } - - public static class NNAttr { - private String name; - private Object value; - private int valueOffset; - private boolean quoted; - - NNAttr(String name, Object value, int valueOffset, boolean quoted) { - this.name = name; - this.value = value; - this.valueOffset = valueOffset; - this.quoted = quoted; - } - - public String getName() { - return name; - } - - public Object getValue() { - return value; - } - - public int getValueOffset() { - return valueOffset; - } - - public boolean isValueQuoted() { - return quoted; - } - - } - - public static class CC { - - private String name; - private List attributes; - private int startOffset, endOffset; - - public CC(String name, List attributes, int startOffset, int endOffset) { - this.name = name; - this.attributes = attributes; - this.startOffset = startOffset; - this.endOffset = endOffset; - } - - public String getName() { - return name; - } - - public List getAttributesList() { - return attributes; - } - - public Map getAttributes() { - HashMap map = new HashMap(); - for(NNAttr nnattr : getAttributesList()) { - map.put(nnattr.getName(), nnattr.getValue()); - } - return map; - } - - public NNAttr getAttributeForOffset(int offset) { - NNAttr prevnn = null; - for(NNAttr nnattr : getAttributesList()) { - if(nnattr.getValueOffset() >= offset) { - break; - } - prevnn = nnattr; - } - - if(prevnn == null) { - return null; - } - - int nnEndOffset = prevnn.getValueOffset() + prevnn.getValue().toString().length() + (prevnn.isValueQuoted() ? 2 : 0); - if(nnEndOffset >= offset && prevnn.getValueOffset() <= offset) { - return prevnn; - } else { - return null; - } - } - - public int getStartOffset() { - return startOffset; - } - - public int getEndOffset() { - return endOffset; - } - - @Override - public String toString() { - //just debug purposes -> no need for superb performance - String text = "@" + getName() + " [" + getStartOffset() + " - " + getEndOffset() + "]("; - for(NNAttr nnattr : getAttributesList()) { - String key = nnattr.getName(); - String value = nnattr.getValue().toString(); - text+=key+"="+value+ " (" + nnattr.getValueOffset() + ") ,"; - } - text = text.substring(0, text.length() -1); - text+=")"; - return text; - } - } - - public static class MD{ - private final String methodName; - private final boolean withQ; - private final boolean insideParam; - private int valueOffset; - private final String value; - public MD(String methodName, String value, int valueOffset, boolean withQ, boolean insideParam){ - this.methodName = methodName; - this.withQ = withQ; - this.insideParam = insideParam; - this.valueOffset = valueOffset; - this.value = value; - } - - /** - * @return the methodName - */ - public String getMethodName() { - return methodName; - } - - /** - * @return the withQ - */ - public boolean isWithQ() { - return withQ; - } - - /** - * @return the insideParam - */ - public boolean isInsideParam() { - return insideParam; - } - - /** - * @return the valueOffset - */ - public int getValueOffset() { - return valueOffset; - } - - public String getValue() { - return value; - } - } - public static final String CREATE_QUERY="createQuery";//NOI18N - public static final String CREATE_NAMEDQUERY="createNamedQuery";//NOI18N - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CompletionContext.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CompletionContext.java deleted file mode 100644 index 763cce75f93a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CompletionContext.java +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.completion; - -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; -import org.netbeans.api.lexer.Token; -import org.netbeans.api.lexer.TokenSequence; -import org.netbeans.api.xml.lexer.XMLTokenId; -import org.netbeans.modules.xml.text.api.dom.SyntaxElement; -import org.netbeans.modules.xml.text.api.dom.XMLSyntaxSupport; -import org.openide.util.Exceptions; -import org.w3c.dom.Node; -import org.w3c.dom.Text; - -/** - * Tracks context information for a code completion scenario - */ -public class CompletionContext { - private List existingAttributes; - - public static enum CompletionType { - TAG, - VALUE, - ATTRIBUTE, - ATTRIBUTE_VALUE, - NONE - }; - - private static final Logger LOGGER = Logger.getLogger(CompletionContext.class.getName()); - private CompletionType completionType = CompletionType.NONE; - private Document doc; - private int caretOffset; - private DocumentContext documentContext; - private String typedChars = ""; - private char lastTypedChar; - private XMLSyntaxSupport support; - - public CompletionContext(Document doc, int caretOffset) { - this.doc = doc; - this.caretOffset = caretOffset; - - try { - this.support = XMLSyntaxSupport.getSyntaxSupport(doc); - } catch (ClassCastException cce) { - LOGGER.log(Level.FINE, cce.getMessage()); - this.support = XMLSyntaxSupport.createSyntaxSupport(doc); - } - this.documentContext = EditorContextFactory.getDocumentContext(doc, caretOffset); - this.lastTypedChar = support.lastTypedChar(); - try { - initContext(); - } catch (BadLocationException ex) { - // ignore - } - } - - private void initContext() throws BadLocationException { - Token token = documentContext.getCurrentToken(); - if(token == null) - return; - - boolean tokenBoundary = (documentContext.getCurrentTokenOffset() == caretOffset) - || ((documentContext.getCurrentTokenOffset() + token.length()) == caretOffset); - - XMLTokenId id = token.id(); - SyntaxElement element = documentContext.getCurrentElement(); - String chars = token.text().toString().trim(); - int tOffset = documentContext.getCurrentTokenOffset(); - - switch (id) { - // - case TEXT: - Token previousTokenItem = support.getPreviousToken(tOffset); - if (previousTokenItem == null) { - completionType = CompletionType.NONE; - break; - } - String text = previousTokenItem.text().toString().trim(); - if (chars != null && chars.equals("") && - text.equals("/>")) { // NOI18N - completionType = CompletionType.NONE; - break; - } - if (chars != null && chars.equals("") && - text.equals(">")) { // NOI18N - completionType = CompletionType.VALUE; - break; - } - if (chars != null && !chars.startsWith("<") && - text.equals(">")) { // NOI18N - - completionType = CompletionType.VALUE; - typedChars = chars.substring(0, caretOffset - tOffset); - break; - } - if (chars != null && !chars.equals("<") && - text.equals(">")) { // NOI18N - completionType = CompletionType.NONE; - break; - } - if (chars != null && chars.startsWith("<")) { // NOI18N - typedChars = chars.substring(1); - } - completionType = CompletionType.TAG; - break; - - //start tag of an element - case TAG: - String tagName = element.getNode().getNodeName(); - if (support.isEndTag(element)) { - completionType = CompletionType.NONE; - break; - } - if (support.isEmptyTag(element)) { - if (chars.trim().equals("/>")) { - completionType = CompletionType.NONE; - break; - } - if (element.getElementOffset() + 1 == this.caretOffset) { - completionType = CompletionType.TAG; - break; - } - if (caretOffset > element.getElementOffset() + 1 && - caretOffset <= element.getElementOffset() + 1 + tagName.length()) { - completionType = CompletionType.TAG; - typedChars = tagName; - break; - } - completionType = CompletionType.ATTRIBUTE; - break; - } - - if (support.isStartTag(element)) { - if (token != null && - chars.equals(">")) { - completionType = CompletionType.NONE; - break; - } - if (token != null && - chars.startsWith(" previous = support.getPreviousToken(tOffset); - typedChars = previous.text().toString().trim(); - completionType = CompletionType.VALUE; - break; - } - } - - if (lastTypedChar == '>') { - completionType = CompletionType.VALUE; - break; - } - completionType = CompletionType.TAG; - break; - - //user enters an attribute name - case ARGUMENT: - completionType = CompletionType.ATTRIBUTE; - typedChars = chars.substring(0, caretOffset - tOffset); - break; - - //some random character - case CHARACTER: - //user enters = character, we should ignore all other operators - case OPERATOR: - completionType = CompletionType.NONE; - break; - //user enters either ' or " - case VALUE: - if(!tokenBoundary) { - completionType = CompletionType.ATTRIBUTE_VALUE; - typedChars = chars.substring(1, caretOffset - tOffset); - } else { - completionType = CompletionType.NONE; - } - break; - - //user enters white-space character - case WS: - completionType = CompletionType.NONE; - Token prev = support.skip(tOffset, false, XMLTokenId.WS); - if (prev == null) { - completionType = CompletionType.NONE; - break; - } - if(prev.id() == XMLTokenId.ARGUMENT) { - typedChars = prev.text().toString(); - completionType = CompletionType.ATTRIBUTE; - } else if ((prev.id() == XMLTokenId.VALUE) || - (prev.id() == XMLTokenId.TAG)) { - completionType = CompletionType.ATTRIBUTE; - } - break; - - default: - completionType = CompletionType.NONE; - break; - } - } - - public CompletionType getCompletionType() { - return completionType; - } - - public String getTypedPrefix() { - return typedChars; - } - - public Document getDocument() { - return this.doc; - } - - public DocumentContext getDocumentContext() { - return this.documentContext; - } - - public int getCaretOffset() { - return caretOffset; - } - - public Node getTag() { - SyntaxElement element = documentContext.getCurrentElement(); - return element.getType() == Node.ELEMENT_NODE ? element.getNode() : null; - } - - public Token getCurrentToken() { - return documentContext.getCurrentToken(); - } - - public int getCurrentTokenOffset() { - return documentContext.getCurrentTokenOffset(); - } - - private List getExistingAttributesLocked(TokenSequence ts) { - List existingAttributes = new ArrayList(); - while (ts.movePrevious()) { - Token item = ts.token(); - XMLTokenId tokenId = item.id(); - if (tokenId == XMLTokenId.TAG) { - break; - } - if (tokenId == XMLTokenId.ARGUMENT) { - existingAttributes.add(item.text().toString()); - } - } - return existingAttributes; - } - - public List getExistingAttributes() { - if (existingAttributes == null) { - try { - existingAttributes = support.runWithSequence( - documentContext.getCurrentTokenOffset(), - this::getExistingAttributesLocked - ); - } catch (BadLocationException ex) { - Exceptions.printStackTrace(ex); - } - } - return existingAttributes; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CompletionContextResolver.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CompletionContextResolver.java deleted file mode 100644 index c5f7b3363d65..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/CompletionContextResolver.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.completion; - -import java.util.List; - -/** - * - * @author marek - */ -public interface CompletionContextResolver { - - /** returns a list of completion items based on the given context */ - public List resolve(BeansCompletionProvider.Context ctx); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/ContextUtilities.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/ContextUtilities.java deleted file mode 100644 index 7b38722439f8..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/ContextUtilities.java +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.completion; - -import javax.swing.text.BadLocationException; -import javax.xml.XMLConstants; -import org.netbeans.api.lexer.Token; -import org.netbeans.api.lexer.TokenSequence; -import org.netbeans.api.xml.lexer.XMLTokenId; -import static org.netbeans.api.xml.lexer.XMLTokenId.ARGUMENT; -import static org.netbeans.api.xml.lexer.XMLTokenId.OPERATOR; -import org.netbeans.editor.TokenItem; -import org.netbeans.modules.xml.text.api.dom.SyntaxElement; -import org.netbeans.modules.xml.text.api.dom.TagElement; -import org.w3c.dom.Node; - -/** - * - * @author Rohan Ranade - */ -public final class ContextUtilities { - - private ContextUtilities() { - } - - public static boolean isValueToken(Token currentToken) { - if(currentToken != null) { - if (currentToken.id() == XMLTokenId.VALUE) { - return true; - } - } - - return false; - } - - public static boolean isTagToken(Token currentToken) { - if(currentToken != null) { - if (currentToken.id() == XMLTokenId.TAG) { - return true; - } - } - - return false; - } - - public static boolean isAttributeToken(Token currentToken) { - if(currentToken != null) { - if (currentToken.id() == XMLTokenId.ARGUMENT) { - return true; - } - } - - return false; - } - - public static Token getAttributeToken(DocumentContext context) { - if(context.getCurrentToken() == null ) { - return null; - } - return context.getSyntaxSupport().getAttributeToken(context.getCurrentTokenOffset()); - } - - public static String getAttributeTokenImage(DocumentContext context) { - Token tok = getAttributeToken(context); - if(tok != null) { - return tok.text().toString(); - } - - return null; - } - - /** - * Returns the prefix from the element's tag. - */ - public static String getPrefixFromTag(String tagName) { - if(tagName == null) return null; - return (tagName.indexOf(":") == -1) ? null : // NOI18N - tagName.substring(0, tagName.indexOf(":")); // NOI18N - } - - /** - * Returns the local name from the element's tag. - */ - public static String getLocalNameFromTag(String tagName) { - if(tagName == null) return null; - return (tagName.indexOf(":") == -1) ? tagName : // NOI18N - tagName.substring(tagName.indexOf(":")+1, tagName.length()); // NOI18N - } - - /** - * Returns any prefix declared with this namespace. For example, if - * the namespace was declared as xmlns:po, the prefix 'po' will be returned. - * Returns null for declaration that contains no prefix. - */ - public static String getPrefixFromNamespaceDeclaration(String namespace) { - if (!namespace.startsWith(XMLConstants.XMLNS_ATTRIBUTE)) return null; - int xmlnsLength = XMLConstants.XMLNS_ATTRIBUTE.length(); - if (namespace.length() == xmlnsLength) { - return ""; // NOI18N - } - if (namespace.charAt(xmlnsLength) == ':') { - return namespace.substring(xmlnsLength + 1); - } - return null; - } - - public static String getPrefixFromNodeName(String nodeName) { - int colonIndex = nodeName.indexOf(':'); - if (colonIndex <= 0) { - return null; - } - return nodeName.substring(0, colonIndex); - } - - public static SyntaxElement getRoot(SyntaxElement se) { - SyntaxElement root = null; - while( se != null) { - if(se.getType() == Node.ELEMENT_NODE && - ((TagElement)se).isStart()) { - root = se; - } - se = se.getPrevious(); - } - - return root; - } - -} - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/DocumentContext.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/DocumentContext.java deleted file mode 100644 index ed523c27bb1f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/DocumentContext.java +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.completion; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map.Entry; -import java.util.Stack; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; -import org.netbeans.api.lexer.Token; -import org.netbeans.api.xml.lexer.XMLTokenId; -import org.netbeans.editor.BaseDocument; -import org.netbeans.editor.TokenItem; -import org.netbeans.modules.xml.text.api.dom.SyntaxElement; -import org.netbeans.modules.xml.text.api.dom.XMLSyntaxSupport; -import org.w3c.dom.Attr; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; - -/** - * Tracks context information for XML files - * - * @author Rohan Ranade - */ -public class DocumentContext { - - //public static final String PREFIX = "ns"; //NOI18N - //public static final String XSI_SCHEMALOCATION = "schemaLocation"; //NOI18N - //public static final String XSI_NONS_SCHEMALOCATION = "noNamespaceSchemaLocation"; //NOI18N - - private static final Logger LOGGER = Logger.getLogger(DocumentContext.class.getName()); - private Document document; - private XMLSyntaxSupport syntaxSupport; - private int caretOffset = -1; - private SyntaxElement element; - private Token token; - private int tokenOffset; - private boolean valid = false; - private SyntaxElement docRoot; - private String defaultNamespace; - private HashMap declaredNamespaces = - new HashMap(); - private String schemaLocation; - private String noNamespaceSchemaLocation; - - DocumentContext(Document document) { - this.document = document; - try { - this.syntaxSupport = XMLSyntaxSupport.getSyntaxSupport(document); - } catch (ClassCastException cce) { - LOGGER.log(Level.FINE, cce.getMessage()); - this.syntaxSupport = XMLSyntaxSupport.createSyntaxSupport(document); - } - } - - public void reset(int caretOffset) { - this.caretOffset = caretOffset; - initialize(); - } - - private void initialize() { - valid = true; - declaredNamespaces.clear(); - try { - element = syntaxSupport.getElementChain(caretOffset); - int[] bounds = new int[1]; - token = syntaxSupport.getTokenAtPosition(caretOffset, bounds); - tokenOffset = bounds[0]; - this.docRoot = ContextUtilities.getRoot(element); - populateNamespaces(); - } catch (BadLocationException ex) { - // No context support available in this case - valid = false; - } - } - - public boolean isValid() { - return this.valid; - } - - public XMLTokenId getCurrentTokenId() { - if (isValid()) { - return token.id(); - } else { - return null; - } - } - - public Token getCurrentToken() { - if (isValid()) { - return token; - } else { - return null; - } - } - - public String getCurrentTokenImage() { - if (isValid()) { - return token.text().toString(); - } else { - return null; - } - } - - public SyntaxElement getCurrentElement() { - return this.element; - } - - public Document getDocument() { - return this.document; - } - - public String lookupNamespacePrefix(String prefix) { - return declaredNamespaces.get(prefix); - } - - public String getNamespacePrefix(String namespace) { - for(Entry entry : declaredNamespaces.entrySet()) { - if(entry.getValue().equals(namespace)) { - return entry.getKey(); - } - } - - return null; - } - - public Collection getDeclaredNamespaces() { - return declaredNamespaces.values(); - } - - public SyntaxElement getDocRoot() { - return docRoot; - } - - public int getCaretOffset() { - return this.caretOffset; - } - - public int getCurrentTokenOffset() { - return tokenOffset; - } - - private void populateNamespaces() { - // Find the a start or empty tag just before the current syntax element. - SyntaxElement element = this.element; - while (element != null && !syntaxSupport.isStartTag(element) && !syntaxSupport.isEmptyTag(element)) { - element = element.getPrevious(); - } - if (element == null) { - return; - } - - // To find all namespace declarations active at the caret offset, we - // need to look at xmlns attributes of the current element and its ancestors. - Node node = (Node)element; - while (node != null && element != null) { - if (syntaxSupport.isStartTag(element) || syntaxSupport.isEmptyTag(element)) { - NamedNodeMap attributes = node.getAttributes(); - for (int index = 0; index < attributes.getLength(); index++) { - Attr attr = (Attr) attributes.item(index); - String attrName = attr.getName(); - String attrValue = attr.getValue(); - if (attrName == null || attrValue == null) { - continue; - } - String prefix = ContextUtilities.getPrefixFromNamespaceDeclaration(attrName); - if (prefix == null) { - continue; - } - // Avoid overwriting a namespace declaration "closer" to the caret offset. - if (!declaredNamespaces.containsKey(prefix)) { - declaredNamespaces.put(prefix, attrValue); - } - } - } - node = node.getParentNode(); - } - } - - public String getNoNamespaceSchemaLocation() { - return noNamespaceSchemaLocation; - } - - public String getSchemaLocation() { - return schemaLocation; - } - - @Override - public boolean equals(Object obj) { - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final DocumentContext other = (DocumentContext) obj; - if (this.document != other.document && (this.document == null || !this.document.equals(other.document))) { - return false; - } - return true; - } - - @Override - public int hashCode() { - int hash = 5; - hash = 61 * hash + (this.document != null ? this.document.hashCode() : 0); - return hash; - } - - public XMLSyntaxSupport getSyntaxSupport() { - return syntaxSupport; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/EditorContextFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/EditorContextFactory.java deleted file mode 100644 index 7b788a91bd4e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/EditorContextFactory.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.completion; - -import java.util.Map; -import java.util.WeakHashMap; -import javax.swing.text.Document; - -/** - * - * @author Rohan Ranade - */ -public final class EditorContextFactory { -// private static Map contextCache = -// new WeakHashMap(); - - public static DocumentContext getDocumentContext(Document document, int caretOffset) { - //TODO, look if cache is useful and possible to iplemennt, see issue #221000 - DocumentContext context = new DocumentContext(document); - - context.reset(caretOffset); - - return context; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/Utils.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/Utils.java deleted file mode 100644 index bcb542529a51..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/completion/Utils.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.completion; - -import javax.swing.text.Document; -import org.netbeans.api.java.project.JavaProjectConstants; -import org.netbeans.api.java.source.ClasspathInfo; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.api.project.ProjectUtils; -import org.netbeans.api.project.SourceGroup; -import org.netbeans.modules.editor.NbEditorUtilities; -import org.openide.filesystems.FileObject; - -/** - * - * @author Marek Fukala - */ -public class Utils { - - public static String unquote(String quoted) { - if (quoted == null || quoted.length() <= 0) { - return quoted; - } - int start = 0; - int end = quoted.length(); - if (quoted.charAt(0) == '\"') { - start++; - } - if (quoted.charAt(end - 1) == '\"') { - end--; - } - if (start < end) { - return quoted.substring(start, end); - } else { - return ""; // NOI18N - } - } - public static JavaSource getJavaSource(Document doc) { - FileObject fileObject = NbEditorUtilities.getFileObject(doc); - if (fileObject == null) { - return null; - } - Project project = FileOwnerQuery.getOwner(fileObject); - if (project == null) { - return null; - } - // XXX this only works correctly with projects with a single sourcepath, - // but we don't plan to support another kind of projects anyway (what about Maven?). - // mkleint: Maven has just one sourceroot for java sources, the config files are placed under - // different source root though. JavaProjectConstants.SOURCES_TYPE_RESOURCES - SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); - for (SourceGroup sourceGroup : sourceGroups) { - return JavaSource.create(ClasspathInfo.create(sourceGroup.getRootFolder())); - } - return null; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/Bundle.properties deleted file mode 100644 index fffed14e0256..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/Bundle.properties +++ /dev/null @@ -1,35 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -LBL_CreateCDIAnnotation=Create CDI Annotation - -LBL_FixCreateQualifier=Create Qualifier {0} in {1} -LBL_FixCreateQualifierDefaultPackage=Create Qualifier {0} in default package - -LBL_FixCreateInterceptor=Create Interceptor Binding {0} in {1} -LBL_FixCreateInterceptorDefaultPackage=Create Interceptor Binding {0} in default package - -# CDI Annotaitons -LBL_InjectionPoint=Injection point -LBL_DelegatePoint=Delegate injection point -LBL_DecoratedBean=Decorated managed bean -LBL_Event=CDI Event -LBL_Observer=CDI Observer -LBL_Intercepted=Intercepted element - -USG_CDI_CREATE_QUALIFIER_FIX=Created qualifier via fix for project "{0}". -USG_CDI_CREATE_IBINDING_FIX=Created interceptor binding via fix for project "{0}". \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CDIAnnotation.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CDIAnnotation.java deleted file mode 100644 index dd2de36479e6..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CDIAnnotation.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.hints; - -import org.openide.text.Annotation; -import org.openide.text.Line.Part; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class CDIAnnotation extends Annotation { - - public enum CDIAnnotaitonType { - INJECTION_POINT("org-netbeans-modules-jakarta-web-beans-annotations-injection-point"), - DELEGATE_POINT("org-netbeans-modules-jakarta-web-beans-annotations-delegate-point"), - DECORATED_BEAN("org-netbeans-modules-jakarta-web-beans-annotations-decorated-bean"), - EVENT("org-netbeans-modules-jakarta-web-beans-annotations-event"), - OBSERVER("org-netbeans-modules-jakarta-web-beans-annotations-observer"), - INTERCEPTED_ELEMENT("org-netbeans-modules-editor-annotations-intercepted"); - - private CDIAnnotaitonType( String type ){ - myType = type; - } - - @Override - public String toString(){ - return myType; - } - - private final String myType; - } - - CDIAnnotation( CDIAnnotaitonType type, Part part){ - myType = type; - myPart = part; - } - - /* (non-Javadoc) - * @see org.openide.text.Annotation#getAnnotationType() - */ - @Override - public String getAnnotationType() { - return myType.toString(); - } - - /* (non-Javadoc) - * @see org.openide.text.Annotation#getShortDescription() - */ - @Override - public String getShortDescription() { - switch (myType) { - case INJECTION_POINT: - return NbBundle.getMessage(CDIAnnotation.class, "LBL_InjectionPoint"); //NOI18N - case DELEGATE_POINT: - return NbBundle.getMessage(CDIAnnotation.class, "LBL_DelegatePoint"); //NOI18N - case DECORATED_BEAN: - return NbBundle.getMessage(CDIAnnotation.class, "LBL_DecoratedBean"); //NOI18N - case EVENT: - return NbBundle.getMessage(CDIAnnotation.class, "LBL_Event"); //NOI18N - case OBSERVER: - return NbBundle.getMessage(CDIAnnotation.class, "LBL_Observer"); //NOI18N - case INTERCEPTED_ELEMENT: - return NbBundle.getMessage(CDIAnnotation.class, "LBL_Intercepted"); //NOI18N - default: - assert false; - return null; - } - } - - public Part getPart(){ - return myPart; - } - - - private CDIAnnotaitonType myType; - private Part myPart; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateAnnotationFix.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateAnnotationFix.java deleted file mode 100644 index 00178f6ef58b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateAnnotationFix.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.hints; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.java.source.ClasspathInfo.PathKind; -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.spi.editor.hints.ChangeInfo; -import org.netbeans.spi.editor.hints.Fix; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.openide.loaders.DataFolder; -import org.openide.loaders.DataObject; - - -/** - * @author ads - * - */ -abstract class CreateAnnotationFix implements Fix { - - CreateAnnotationFix(CompilationInfo compilationInfo, String name , - String packageName , FileObject fileObject) - { - myInfo = compilationInfo; - myName = name; - myPackage = packageName; - myFileObject = fileObject; - - } - - /* (non-Javadoc) - * @see org.netbeans.spi.editor.hints.Fix#implement() - */ - @Override - public ChangeInfo implement() throws Exception { - FileObject template = FileUtil.getConfigFile(getTemplate()); - FileObject target; - - FileObject root = myInfo.getClasspathInfo() - .getClassPath(PathKind.SOURCE) - .findOwnerRoot(myInfo.getFileObject()); - FileObject pakage = FileUtil.createFolder(root, getPackage().replace('.', '/')); - - DataObject templateDO = DataObject.find(template); - DataObject od = templateDO.createFromTemplate( - DataFolder.findFolder(pakage), getName()); - - target = od.getPrimaryFile(); - - /*JavaSource javaSource = JavaSource.forFileObject(target); - ModificationResult diff = javaSource. - runModificationTask(new Task() { - public void run(final WorkingCopy working) throws IOException { - working.toPhase(Phase.RESOLVED); - - TreeMaker make = working.getTreeMaker(); - CompilationUnitTree cut = working.getCompilationUnit(); - ExpressionTree pack = cut.getPackageName() ; - ClassTree source = (ClassTree) cut.getTypeDecls().get(0); - - ModifiersTree modifiers = make.Modifiers(EnumSet.of(Modifier.PUBLIC)); - - ClassTree targetTree = (ClassTree)(new TreePath( - new TreePath(cut), source)).getLeaf(); - ClassTree annotationTree = make.AnnotationType(modifiers, - targetTree.getSimpleName(), targetTree.getMembers()); - - working.rewrite(cut, make.CompilationUnit(pack, cut.getImports(), - Collections.singletonList(annotationTree), cut.getSourceFile())); - } - }); - diff.commit();*/ - Project project = FileOwnerQuery.getOwner( myInfo.getFileObject() ); - if ( project != null ){ - CdiUtil logger = project.getLookup().lookup(CdiUtil.class); - if ( logger!= null ){ - logger.log(getUsageLogMessage(), getClass(), - new Object[]{project.getClass().getName()}); - } - } - return new ChangeInfo(target, null, null); - } - - protected abstract String getTemplate(); - - protected abstract String getUsageLogMessage(); - - protected String getName(){ - return myName; - } - - protected String getPackage(){ - return myPackage; - } - - private CompilationInfo myInfo; - private String myName; - private String myPackage; - private FileObject myFileObject; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateInterceptorBinding.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateInterceptorBinding.java deleted file mode 100644 index a181a8902db9..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateInterceptorBinding.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.hints; - -import org.netbeans.api.java.source.CompilationInfo; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -final class CreateInterceptorBinding extends CreateAnnotationFix { - - CreateInterceptorBinding( CompilationInfo compilationInfo, String name, - String packageName, FileObject fileObject ) - { - super(compilationInfo, name, packageName, fileObject); - } - - /* (non-Javadoc) - * @see org.netbeans.spi.editor.hints.Fix#getText() - */ - @Override - public String getText() { - if ( getPackage() == null || getPackage().length() == 0 ){ - return NbBundle.getMessage(CreateQualifierFix.class, - "LBL_FixCreateInterceptorDefaultPackage"); - } - return NbBundle.getMessage(CreateQualifierFix.class, - "LBL_FixCreateInterceptor" , getName() , getPackage() ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.hints.CreateAnnotationFix#getUsageLogMessage() - */ - @Override - protected String getUsageLogMessage() { - return "USG_CDI_CREATE_IBINDING_FIX"; // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.hints.CreateAnnotationFix#getTemplate() - */ - @Override - protected String getTemplate() { - return "Templates/CDI_JakartaEE/Interceptor.java"; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateQualifier.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateQualifier.java deleted file mode 100644 index aaad535473a4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateQualifier.java +++ /dev/null @@ -1,417 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.hints; - -import java.io.IOException; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.PackageElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; - -import org.netbeans.api.editor.EditorRegistry; -import org.netbeans.api.j2ee.core.Profile; -import org.netbeans.api.java.lexer.JavaTokenId; -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.SourceUtils; -import org.netbeans.api.java.source.TreeUtilities; -import org.netbeans.api.lexer.Token; -import org.netbeans.api.lexer.TokenHierarchy; -import org.netbeans.api.lexer.TokenSequence; -import org.netbeans.modules.java.hints.spi.ErrorRule; -import org.netbeans.modules.editor.NbEditorUtilities; -import org.netbeans.modules.web.api.webmodule.WebModule; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.WebBeansActionHelper; -import org.netbeans.spi.editor.hints.Fix; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - -import com.sun.source.tree.Tree; -import com.sun.source.tree.Tree.Kind; -import com.sun.source.util.TreePath; - - -/** - * @author ads - * - */ -public class CreateQualifier implements ErrorRule { - - private static final String INJECT_ANNOTATION = - "jakarta.inject.Inject"; // NOI18N - - private static final String DISPOSES_ANNOTATION = - "jakarta.enterprise.inject.Disposes"; // NOI18N - - private static final String OBSERVES_ANNOTATION = - "jakarta.enterprise.event.Observes"; // NOI18N - - private static final String PRODUCER_ANNOTATION = - "jakarta.enterprise.inject.Produces"; // NOI18N - - private static final String INTERCEPTOR_ANNOTATION = - "jakarta.interceptor.Interceptor"; // NOI18N - - - /* (non-Javadoc) - * @see org.netbeans.modules.java.hints.spi.Rule#getId() - */ - @Override - public String getId() { - return CreateQualifier.class.getName(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.java.hints.spi.Rule#getDisplayName() - */ - @Override - public String getDisplayName() { - return NbBundle.getMessage(CreateQualifier.class, "LBL_CreateCDIAnnotation"); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.java.hints.spi.Rule#cancel() - */ - @Override - public void cancel() { - } - - /* (non-Javadoc) - * @see org.netbeans.modules.java.hints.spi.ErrorRule#getCodes() - */ - @Override - public Set getCodes() { - return new HashSet(Arrays.asList("compiler.err.cant.resolve.location", - "compiler.err.cant.resolve.location.args", - "compiler.err.cant.apply.symbol", "compiler.err.cant.resolve", - "compiler.err.cant.resolve.args")); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.java.hints.spi.ErrorRule#run(org.netbeans.api.java.source.CompilationInfo, java.lang.String, int, org.netbeans.modules.java.hints.spi.TreePath, org.netbeans.modules.java.hints.spi.ErrorRule.Data) - */ - @Override - public List run( CompilationInfo compilationInfo, - String diagnosticKey, int offset, TreePath treePath, - org.netbeans.modules.java.hints.spi.ErrorRule.Data data ) - { - try { - return analyze(compilationInfo, offset); - } catch (IOException e) { - Logger.getLogger(CreateQualifier.class.getName()). - log(Level.SEVERE, null, e); - return null; - } catch (ClassCastException e) { - Logger.getLogger(CreateQualifier.class.getName()). - log(Level.FINE, null, e); - return null; - } - } - - protected List analyze( CompilationInfo compilationInfo, int offset ) - throws IOException - { - TreePath errorPath = findUnresolvedElement(compilationInfo, offset); - if ( !checkProject(compilationInfo) || errorPath == null) { - return Collections.emptyList(); - } - - if (compilationInfo.getElements().getTypeElement("java.lang.Object") == null) { // NOI18N - // broken java platform - return Collections.emptyList(); - } - - Element element = compilationInfo.getTrees().getElement(errorPath); - if ( element == null || element.getSimpleName() == null || - errorPath.getLeaf().getKind() != Kind.IDENTIFIER ) - { - return Collections.emptyList(); - } - - TreePath parentPath = errorPath.getParentPath(); - if ( parentPath.getLeaf().getKind() != Kind.ANNOTATION ){ - return Collections.emptyList(); - } - Element annotation = compilationInfo.getTrees().getElement(parentPath); - TreePath path = parentPath; - while (path != null ){ - Tree leaf = path.getLeaf(); - Kind leafKind = leaf.getKind(); - if ( TreeUtilities.CLASS_TREE_KINDS.contains(leafKind) ){ - Element clazz = compilationInfo.getTrees().getElement(path); - if ( clazz != null && clazz.getKind() == ElementKind.CLASS ) - { - return analyzeClass( compilationInfo , (TypeElement)clazz , - annotation ); - } - } - else if ( leafKind == Kind.VARIABLE){ - Element var = compilationInfo.getTrees().getElement(path); - if ( var == null ){ - return null; - } - Element parent = var.getEnclosingElement(); - if ( var.getKind() == ElementKind.FIELD && - (parent instanceof TypeElement)) - { - return analyzeField( compilationInfo , var , annotation , - (TypeElement)parent); - } - } - else if ( leafKind == Kind.METHOD ){ - Element method = compilationInfo.getTrees().getElement(path); - if ( method != null && method.getKind() == ElementKind.METHOD){ - return analyzeMethodParameter( compilationInfo , - (ExecutableElement)method , annotation ); - } - } - path = path.getParentPath(); - } - - return null; - } - - private List analyzeMethodParameter( CompilationInfo compilationInfo, - ExecutableElement method, Element annotation ) - { - Element parent = method.getEnclosingElement(); - if ( !(parent instanceof TypeElement)){ - return Collections.emptyList(); - } - List parameters = method.getParameters(); - List allAnnotationMirrors = - compilationInfo.getElements().getAllAnnotationMirrors(method); - for (AnnotationMirror annotationMirror : allAnnotationMirrors) { - TypeElement annotationElement = (TypeElement)annotationMirror. - getAnnotationType().asElement(); - if ( annotationElement != null && annotationElement.getQualifiedName(). - contentEquals(INJECT_ANNOTATION) || - annotationElement.getQualifiedName(). - contentEquals(PRODUCER_ANNOTATION)) - { - - return createQualifierFix(compilationInfo, annotation, parent); - } - - } - boolean hasDisposesObserves = false; - boolean parameterHasAnnotation = false; - for (VariableElement variableElement : parameters) { - allAnnotationMirrors = - compilationInfo.getElements().getAllAnnotationMirrors(variableElement); - for (AnnotationMirror annotationMirror : allAnnotationMirrors) { - TypeElement annotationElement = (TypeElement)annotationMirror. - getAnnotationType().asElement(); - if ( annotationElement != null && annotationElement.getQualifiedName(). - contentEquals( OBSERVES_ANNOTATION ) || - annotationElement.getQualifiedName(). - contentEquals( DISPOSES_ANNOTATION )) - { - hasDisposesObserves= true; - } - else if ( annotationElement != null && - annotationElement.equals( annotation )) - { - parameterHasAnnotation = true; - } - } - } - if ( parameterHasAnnotation && hasDisposesObserves ){ - return createQualifierFix(compilationInfo, annotation, parent); - } - return Collections.emptyList(); - } - - - private List createQualifierFix( CompilationInfo compilationInfo, - Element annotation, Element classElement ) - { - PackageElement packageElement = compilationInfo.getElements() - .getPackageOf(classElement); - FileObject targetFile = SourceUtils.getFile( - ElementHandle.create(classElement), - compilationInfo.getClasspathInfo()); - return Collections. singletonList(new CreateQualifierFix( - compilationInfo, annotation.getSimpleName().toString(), - packageElement.getQualifiedName().toString(), - targetFile)); - } - - private List createInterceptorFix( CompilationInfo compilationInfo, - Element annotation, Element classElement ) - { - PackageElement packageElement = compilationInfo.getElements() - .getPackageOf(classElement); - FileObject targetFile = SourceUtils.getFile( - ElementHandle.create(classElement), - compilationInfo.getClasspathInfo()); - return Collections. singletonList(new CreateInterceptorBinding( - compilationInfo, annotation.getSimpleName().toString(), - packageElement.getQualifiedName().toString(), - targetFile)); - } - - private List analyzeField( CompilationInfo compilationInfo, - Element var, Element annotation , TypeElement parent ) - { - List allAnnotationMirrors = - compilationInfo.getElements().getAllAnnotationMirrors(var); - boolean isInjectionPoint = false; - boolean hasRequiredAnnotation = false; - for (AnnotationMirror annotationMirror : allAnnotationMirrors) { - Element annotationElement = annotationMirror.getAnnotationType(). - asElement(); - TypeElement annotationTypeElement = (TypeElement)annotationElement; - if ( annotationElement.equals( annotation)) - { - hasRequiredAnnotation = true; - } - else if ( annotationTypeElement!= null && - annotationTypeElement.getQualifiedName().contentEquals( - INJECT_ANNOTATION) || - annotationTypeElement.getQualifiedName(). - contentEquals(PRODUCER_ANNOTATION)) - { - isInjectionPoint = true; - } - } - if ( hasRequiredAnnotation && isInjectionPoint ){ - return createQualifierFix(compilationInfo, annotation, parent); - } - return Collections.emptyList(); - } - - private List analyzeClass( CompilationInfo compilationInfo, - TypeElement clazz, Element annotation ) - { - List allAnnotationMirrors = - compilationInfo.getElements().getAllAnnotationMirrors(clazz); - boolean isInterceptor = false; - boolean hasAnnotation = false; - for (AnnotationMirror annotationMirror : allAnnotationMirrors) { - Element annotationElement = annotationMirror.getAnnotationType().asElement(); - if ( annotationElement!= null && annotationElement.equals( annotation)){ - hasAnnotation = true; - } - if ( annotationElement instanceof TypeElement && - ((TypeElement)annotationElement).getQualifiedName(). - contentEquals(INTERCEPTOR_ANNOTATION)) - { - isInterceptor = true; - } - } - if ( !hasAnnotation ){ - return Collections.emptyList(); - } - if ( isInterceptor ){ - return createInterceptorFix(compilationInfo, annotation, clazz); - } - else { - return createQualifierFix(compilationInfo, annotation, clazz); - } - } - - private boolean checkProject(CompilationInfo info){ - final FileObject fileObject = info.getFileObject(); - return WebBeansActionHelper.isEnabled( fileObject ); - } - - private TreePath findUnresolvedElement(CompilationInfo info, int offset) - throws IOException - { - int[] span = findUnresolvedElementSpan(info, offset); - - if (span != null) { - return info.getTreeUtilities().pathFor(span[0] + 1); - } else { - return null; - } - } - - private int[] findUnresolvedElementSpan(CompilationInfo info, int offset) - throws IOException - { - Token t = findUnresolvedElementToken(info, offset); - - if (t != null) { - return new int[] { - t.offset(null), - t.offset(null) + t.length() - }; - } - - return null; - } - - private Token findUnresolvedElementToken(CompilationInfo info, int offset) - throws IOException - { - TokenHierarchy th = info.getTokenHierarchy(); - TokenSequence ts = th.tokenSequence(JavaTokenId.language()); - - if (ts == null) { - return null; - } - - ts.move(offset); - if (ts.moveNext()) { - Token t = ts.token(); - - if (t.id() == JavaTokenId.DOT) { - ts.moveNext(); - t = ts.token(); - } else { - if (t.id() == JavaTokenId.LT) { - ts.moveNext(); - t = ts.token(); - } else { - if (t.id() == JavaTokenId.NEW || t.id() == JavaTokenId.WHITESPACE) { - boolean cont = ts.moveNext(); - - while (cont && ts.token().id() == JavaTokenId.WHITESPACE) { - cont = ts.moveNext(); - } - - if (!cont) - return null; - - t = ts.token(); - } - } - } - - if (t.id() == JavaTokenId.IDENTIFIER) { - return ts.offsetToken(); - } - } - return null; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateQualifierFix.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateQualifierFix.java deleted file mode 100644 index 4ce84eda7913..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/CreateQualifierFix.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.hints; - -import org.netbeans.api.java.source.CompilationInfo; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -final class CreateQualifierFix extends CreateAnnotationFix { - - CreateQualifierFix( CompilationInfo compilationInfo, String name , - String packageName , FileObject fileObject) - { - super(compilationInfo, name, packageName, fileObject); - } - - /* (non-Javadoc) - * @see org.netbeans.spi.editor.hints.Fix#getText() - */ - @Override - public String getText() { - if ( getPackage() == null || getPackage().length() == 0 ){ - return NbBundle.getMessage(CreateQualifierFix.class, - "LBL_FixCreateQualifierDefaultPackage"); // NOI18N - } - return NbBundle.getMessage(CreateQualifierFix.class, - "LBL_FixCreateQualifier" , getName() , getPackage() ); // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.hints.CreateAnnotationFix#getUsageLogMessage() - */ - @Override - protected String getUsageLogMessage() { - return "USG_CDI_CREATE_QUALIFIER_FIX"; // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.hints.CreateAnnotationFix#getTemplate() - */ - @Override - protected String getTemplate() { - return "Templates/CDI_JakartaEE/Qualifier.java"; // NOI18N - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/EditorAnnotationsHelper.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/EditorAnnotationsHelper.java deleted file mode 100644 index d10d925cd0c9..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/hints/EditorAnnotationsHelper.java +++ /dev/null @@ -1,252 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.hints; - -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedList; -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.atomic.AtomicReference; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.swing.text.Document; -import javax.swing.text.StyledDocument; - -import org.netbeans.modules.editor.NbEditorUtilities; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.jakarta.web.beans.analysis.CdiEditorAnalysisFactory; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.hints.CDIAnnotation.CDIAnnotaitonType; -import org.openide.cookies.EditorCookie; -import org.openide.filesystems.FileObject; -import org.openide.loaders.DataObject; -import org.openide.text.Line; -import org.openide.text.Line.Part; -import org.openide.text.NbDocument; -import org.openide.util.RequestProcessor; - -import com.sun.source.tree.Tree; - - -/** - * @author ads - * - */ -public final class EditorAnnotationsHelper implements PropertyChangeListener { - - private static ConcurrentHashMap HELPERS - = new ConcurrentHashMap(); - - private static final RequestProcessor PROCESSOR = new RequestProcessor( - EditorAnnotationsHelper.class.getName(), 1, false, false); - - private EditorAnnotationsHelper( DataObject dataObject , - EditorCookie.Observable observable ) - { - myDataObject = dataObject; - myObservable = observable; - myModelAnnotations = new AtomicReference>( - Collections.emptyList()); - myAnnotations = new AtomicReference>( - Collections.emptyList()); - - observable.addPropertyChangeListener(this ); - } - - /* (non-Javadoc) - * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) - */ - @Override - public void propertyChange( PropertyChangeEvent evt ) { - if (EditorCookie.Observable.PROP_OPENED_PANES.endsWith(evt.getPropertyName()) - || evt.getPropertyName() == null) - { - if (myObservable.getOpenedPanes() == null) { - myObservable.removePropertyChangeListener(this); - - Runnable runnable = new Runnable() { - - @Override - public void run() { - HELPERS.remove(myDataObject); - List annotations = myModelAnnotations.get(); - for (CDIAnnotation annotation : annotations) { - annotation.detach(); - } - annotations = myAnnotations.get(); - for( CDIAnnotation annotation : annotations ){ - annotation.detach(); - } - myModelAnnotations.set( Collections.emptyList()); - myAnnotations.set( Collections.emptyList()); - } - }; - PROCESSOR.submit(runnable); - } - } - } - - public static EditorAnnotationsHelper getInstance( CdiAnalysisResult result ){ - return getInstance( result.getInfo().getFileObject()); - } - - public static EditorAnnotationsHelper getInstance( FileObject fileObject ){ - try { - DataObject dataObject = DataObject.find(fileObject); - EditorAnnotationsHelper helper = HELPERS.get(dataObject); - - if (helper != null) { - return helper; - } - - EditorCookie.Observable observable = dataObject.getLookup().lookup( - EditorCookie.Observable.class); - - if (observable == null) { - return null; - } - - helper = new EditorAnnotationsHelper( dataObject , observable ); - HELPERS.put(dataObject, helper ); - - return helper; - } catch (IOException ex) { - Logger.getLogger( EditorAnnotationsHelper.class.getName() ). - log(Level.INFO, null, ex); - return null; - } - } - - public void addInjectionPoint( CdiAnalysisResult result, VariableElement element ) - { - addAnnotation(result, element, CDIAnnotaitonType.INJECTION_POINT ); - } - - public void addDelegate( CdiAnalysisResult result , VariableElement element ) { - addAnnotation(result, element, CDIAnnotaitonType.DELEGATE_POINT ); - } - - public void addEventInjectionPoint( Result result, VariableElement element ) - { - addAnnotation(result, element, CDIAnnotaitonType.EVENT ); - } - - public void addObserver( CdiAnalysisResult result, ExecutableElement element ) - { - addAnnotation(result, element, CDIAnnotaitonType.OBSERVER ); - } - - public void addInterceptedBean(CdiAnalysisResult result , TypeElement element ) { - addAnnotation(result, element, CDIAnnotaitonType.INTERCEPTED_ELEMENT ); - } - - public void addInterceptedMethod( Result result, ExecutableElement element ) - { - addAnnotation(result, element, CDIAnnotaitonType.INTERCEPTED_ELEMENT ); - } - - public void addDecoratedBean( Result result, TypeElement element ) { - addAnnotation(result, element, CDIAnnotaitonType.DECORATED_BEAN ); - } - - public void publish( final CdiAnalysisResult result ) { - Runnable runnable = new Runnable() { - - @Override - public void run() { - AtomicReference> ref ; - if ( result instanceof Result ){ - ref = myAnnotations; - } - else if ( result.getClass() == CdiAnalysisResult.class ){ - ref = myModelAnnotations; - } - else { - ref = null; - assert false; - } - List annotations = ref.get(); - for (CDIAnnotation annotation : annotations) { - annotation.detach(); - } - List collected = result.getAnnotations(); - - for (CDIAnnotation annotation : collected) { - annotation.attach( annotation.getPart() ); - } - ref.set(collected); - } - }; - PROCESSOR.submit(runnable); - } - - public List getAnnotations(){ - List modelAnnotations = myModelAnnotations.get(); - List annotations = myAnnotations.get(); - List result = new ArrayList( - modelAnnotations.size() +annotations.size()); - result.addAll( modelAnnotations); - result.addAll( annotations ); - return result; - } - - private void addAnnotation( CdiAnalysisResult result, Element element , - CDIAnnotaitonType type ) - { - if ( element == null ){ - return; - } - Tree var = result.getInfo().getTrees().getTree( element ); - if ( var == null ){ - return; - } - List position = CdiEditorAnalysisFactory.getElementPosition( - result.getInfo(), var ); - Document document; - try { - document = result.getInfo().getDocument(); - if ( !( document instanceof StyledDocument) ){ - return; - } - } - catch (IOException e) { - return; - } - int start = position.get(0); - Line line = NbEditorUtilities.getLine( document , start, false); - Part part = line.createPart( NbDocument.findLineColumn((StyledDocument) document, - start), position.get( 1 ) -start); - result.addAnnotation( new CDIAnnotation( type, part)); - } - - private DataObject myDataObject; - private EditorCookie.Observable myObservable; - private AtomicReference> myModelAnnotations; - private AtomicReference> myAnnotations; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AbstractAssignabilityChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AbstractAssignabilityChecker.java deleted file mode 100644 index 622bee3503a0..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AbstractAssignabilityChecker.java +++ /dev/null @@ -1,353 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.List; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ReferenceType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.type.WildcardType; -import javax.lang.model.util.Types; - - -/** - * @author ads - * - */ -abstract class AbstractAssignabilityChecker implements Checker { - - enum AssignabilityType { - PLAIN, // Assignability for typesafe resolution for bean types by the web beans spec - EVENT, // Assignability for observer/event resolution - DECORATOR // Assignability for decorator resolution - } - - static AbstractAssignabilityChecker get( AssignabilityType type) { - switch ( type ){ - case PLAIN : - return new AssignabilityChecker(); - case EVENT: - return new EventAssignabilityChecker(); - case DECORATOR : - return new DelegateAssignabilityChecker(); - default: - // no other types are handled - assert false; - return null; - } - } - - void init( ReferenceType varType, ReferenceType checkedType, - Element originalElement, WebBeansModelImplementation impl) - { - myVarType = varType; - myType = checkedType; - myImpl = impl; - myOriginalElement = originalElement; - } - - void init( ReferenceType varType, ReferenceType checkedType, - WebBeansModelImplementation impl) - { - init( varType , checkedType , null, impl ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.Checker#check() - */ - @Override - public boolean check(){ - boolean check = checkAssignability( getVarType(), getType(), - myOriginalElement); - return check; - } - - public boolean checkAssignability( ReferenceType variableType , - ReferenceType refType , Element originalElement ) - { - boolean isDeclaredType = variableType instanceof DeclaredType && - variableType.getKind()!=TypeKind.ERROR ; - if ( !isDeclaredType ){ - return checkParameter(refType, variableType); - } - Element variableElement = ((DeclaredType)variableType).asElement(); - if ( !( variableElement instanceof TypeElement ) ){ - return false; - } - - if ( !( refType instanceof DeclaredType ) || - refType.getKind() == TypeKind.ERROR) - { - return false; - } - DeclaredType type = (DeclaredType)refType; - - Element refElement = getImplementation().getHelper(). - getCompilationController().getTypes().asElement( type ); - if ( !( refElement instanceof TypeElement ) ){ - return false; - } - - if ( !hasBeanType( originalElement, variableType) ){ - return false; - } - - /* - * Find ancestor of refType with the same raw type. - * Raw types should be identical for parameterized type by the spec. - * It means that inheritance by parameterized types are not allowed. - */ - Types types = getImplementation().getHelper().getCompilationController().getTypes(); - if ( !types.isSameType( types.erasure( variableType ) , types.erasure(type)) ){ - TypeMirror ancestor = getAncestor(type ,types.erasure( variableType ) , - types ); - // no appropriate type - if ( !(ancestor instanceof DeclaredType)){ - return false; - } - type = (DeclaredType) ancestor; - } - - List typeArguments = type.getTypeArguments(); - - TypeElement objectElement = getImplementation().getHelper(). - getCompilationController().getElements().getTypeElement( - Object.class.getCanonicalName()); - - List varTypeArguments = ((DeclaredType)variableType). - getTypeArguments(); - if ( varTypeArguments.size() == 0 || types.isSameType( variableType, - types.erasure( variableType ) )) - /* - * I'm not sure how to detect variable declaration with generic type: - * - it is unclear how many arguments has such type as result - * - probably such type could have typevar argument ( the same as generic - * declaration ). In the letter case this type mirror should be the same - * as generic declaration type mirror. So I put here comparison with - * type after erasure. - */ - { - return handleRequiredRawType(types, typeArguments, objectElement); - } - if ( typeArguments.size() == 0 || types.isSameType( type, - types.erasure( type ) )) - { - return handleBeanRawType(types, varTypeArguments, objectElement); - } - if ( varTypeArguments.size() != typeArguments.size() ){ - /* - * This should not happen because raw types are checked before. - * So generic type is the same. As consequence size of parameters - * and arguments should be the same. - */ - return false; - } - for ( int i=0; i< varTypeArguments.size() ; i++ ){ - TypeMirror argType = typeArguments.get(i); - if ( !checkParameter( argType , varTypeArguments.get(i) ) ){ - return false; - } - } - return true; - } - - protected abstract boolean handleBeanRawType( Types types, - List varTypeArguments, TypeElement objectElement ); - - protected abstract boolean hasBeanType(Element element,ReferenceType variableType); - - protected abstract boolean handleRequiredRawType( Types types, - List typeArguments, TypeElement objectElement ); - - public boolean checkAssignability( ReferenceType variableType , - ReferenceType refType ) - { - return checkAssignability(variableType, refType, null); - } - - protected boolean checkParameter( TypeMirror argType, TypeMirror varTypeArg ) - { - if ( argType == null || varTypeArg == null ){ - return false; - } - Types types = getImplementation().getHelper().getCompilationController(). - getTypes(); - - /* - * Implementation of spec item : - * the required type parameter and the bean type parameter are actual - * types with identical raw type, and, if the type is - * parameterized, the bean type parameter is assignable to the required - * type parameter according to these rules - */ - if ( argType.getKind()!= TypeKind.TYPEVAR && - varTypeArg.getKind()!= TypeKind.TYPEVAR && - (argType instanceof ReferenceType) && - (varTypeArg instanceof ReferenceType) ) - { - return checkIsAssignable(getImplementation().getHelper(). - getCompilationController().getTypes(), argType, varTypeArg); - } - - if ( varTypeArg.getKind() == TypeKind.WILDCARD ){ - return handleWildCard(argType, (WildcardType)varTypeArg, types); - } - - if ( argType.getKind() == TypeKind.TYPEVAR && - varTypeArg.getKind() == TypeKind.TYPEVAR) - { - return handleBothTypeVars(argType, varTypeArg, types); - } - - if (varTypeArg.getKind() != TypeKind.TYPEVAR - && argType.getKind() == TypeKind.TYPEVAR) - { - return handleBeanTypeVar(argType, varTypeArg, types); - } - if (argType.getKind() != TypeKind.TYPEVAR - && varTypeArg.getKind() == TypeKind.TYPEVAR) - { - return handleRequiredTypeVar(argType, varTypeArg, types); - } - - return false; - } - - protected abstract boolean handleRequiredTypeVar( TypeMirror argType, - TypeMirror varTypeArg, Types types ); - - protected abstract boolean handleBeanTypeVar( TypeMirror argType, TypeMirror varTypeArg, - Types types ); - - protected abstract boolean handleBothTypeVars( TypeMirror argType, - TypeMirror varTypeArg, Types types ); - - protected boolean handleWildCard( TypeMirror argType, WildcardType varTypeArg, - Types types ) - { - TypeMirror upperBound = varTypeArg.getExtendsBound(); - TypeMirror lowerBound = varTypeArg.getSuperBound(); - - if ( argType instanceof ReferenceType && - argType.getKind()!=TypeKind.TYPEVAR) - { - return handleWildCardActualType(argType, types, upperBound, - lowerBound); - } - - if ( argType.getKind() == TypeKind.TYPEVAR ){ - return handleWildCardTypeVar(argType, types, upperBound, lowerBound); - } - - return false; - } - - protected boolean handleWildCardActualType( TypeMirror argType, Types types, - TypeMirror upperBound, TypeMirror lowerBound ){ - /* - * Implementation of spec item : the required type parameter is - * a wildcard, the bean type parameter is an actual type and the - * actual type is assignable to the upper bound, if any, of the - * wildcard and assignable from the lower bound, if any, of the - * wildcard - */ - if ( upperBound == null || upperBound.getKind() == TypeKind.NULL){ - if ( lowerBound == null || lowerBound.getKind() == TypeKind.NULL){ - return true; - } - else { - return checkIsAssignable(types, lowerBound, argType); - } - } - else { - if ( lowerBound == null || lowerBound.getKind() == TypeKind.NULL){ - return checkIsAssignable(types, argType, upperBound); - } - else { - return checkIsAssignable(types, argType, upperBound) && - checkIsAssignable(types, lowerBound, argType); - } - } - } - - protected abstract boolean handleWildCardTypeVar( TypeMirror argType, Types types, - TypeMirror upperBound, TypeMirror lowerBound ); - - - protected boolean checkIsAssignable( Types types, TypeMirror from, - TypeMirror to ) - { - if ( isAssignable(from, to, types)){ - return true; - } - else if( to instanceof ReferenceType && from instanceof ReferenceType ) - { - return checkAssignability( (ReferenceType)to, - (ReferenceType)from); - } - else { - return false; - } - } - - protected boolean isAssignable( TypeMirror from, TypeMirror to, Types types ) - { - Element element = types.asElement(to); - boolean isGeneric = (element instanceof TypeElement) - && ((TypeElement) element).getTypeParameters().size() != 0; - return !isGeneric && ( to instanceof DeclaredType ); - } - - private TypeMirror getAncestor( TypeMirror subject , TypeMirror rawType , - Types types) - { - List directSupertypes = types.directSupertypes(subject); - for (TypeMirror typeMirror : directSupertypes) { - if ( types.isSameType(types.erasure( typeMirror), rawType)){ - return typeMirror; - } - TypeMirror found = getAncestor(typeMirror, rawType, types); - if ( found != null ){ - return found; - } - } - return null; - } - - protected ReferenceType getVarType(){ - return myVarType; - } - - protected WebBeansModelImplementation getImplementation(){ - return myImpl; - } - - protected ReferenceType getType(){ - return myType; - } - - private Element myOriginalElement; - private ReferenceType myVarType; - private WebBeansModelImplementation myImpl; - private ReferenceType myType; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AbstractObjectProvider.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AbstractObjectProvider.java deleted file mode 100644 index 3364ab786af3..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AbstractObjectProvider.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Collections; -import java.util.EnumSet; -import java.util.LinkedList; -import java.util.List; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHandler; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.ObjectProvider; - - -/** - * @author ads - * - */ -abstract class AbstractObjectProvider - implements ObjectProvider -{ - - AbstractObjectProvider(String annotation , AnnotationModelHelper helper) - { - myHelper = helper; - myAnnotationName = annotation; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.api.support.annotation.ObjectProvider#createInitialObjects() - */ - @Override - public List createInitialObjects() throws InterruptedException { - final List result = new LinkedList(); - getHelper().getAnnotationScanner().findAnnotations( - getAnnotation(), - EnumSet.of(ElementKind.CLASS, ElementKind.INTERFACE), - new AnnotationHandler() { - @Override - public void handleAnnotation(TypeElement type, - Element element, AnnotationMirror annotation) - { - result.add(createTypeElement(type)); - } - }); - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.api.support.annotation.ObjectProvider#createObjects(javax.lang.model.element.TypeElement) - */ - @Override - public List createObjects( TypeElement type ) { - if ((type.getKind() == ElementKind.CLASS || type.getKind() == ElementKind.INTERFACE) - && getHelper().hasAnnotation(type.getAnnotationMirrors(), - getAnnotation())) - { - return Collections.singletonList(createTypeElement(type)); - } - return Collections.emptyList(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.api.support.annotation.ObjectProvider#modifyObjects(javax.lang.model.element.TypeElement, java.util.List) - */ - @Override - public boolean modifyObjects( TypeElement type, List objects ) { - assert objects.size() ==1; - T object = objects.get(0); - assert object!= null; - if ( ! object.refresh(type)){ - objects.remove(0); - return true; - } - return false; - } - - protected abstract T createTypeElement( TypeElement element ); - - public static List getAnnotatedMembers( final String annotationName, - final AnnotationModelHelper helper ) - { - final List result = new LinkedList(); - try { - helper.getAnnotationScanner().findAnnotations( - annotationName, - EnumSet.of(ElementKind.FIELD, ElementKind.METHOD), - new AnnotationHandler() { - @Override - public void handleAnnotation(TypeElement type, - Element element, AnnotationMirror annotation) - { - result.add(element); - } - }); - } - catch (InterruptedException e) { - FieldInjectionPointLogic.LOGGER.warning("Finding annotation "+ - annotationName+" was interrupted"); // NOI18N - } - return result; - } - - protected AnnotationModelHelper getHelper(){ - return myHelper; - } - - protected String getAnnotation(){ - return myAnnotationName; - } - - public static List getNamedMembers( AnnotationModelHelper helper ) - { - List namedMembers = getAnnotatedMembers( - FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper); - return namedMembers; - } - - static interface Refreshable { - boolean refresh( TypeElement type ); - } - - private AnnotationModelHelper myHelper; - private String myAnnotationName; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AnnotationObjectProvider.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AnnotationObjectProvider.java deleted file mode 100644 index 629dde14f2eb..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AnnotationObjectProvider.java +++ /dev/null @@ -1,474 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.lang.annotation.Inherited; -import java.util.ArrayList; -import java.util.Collections; -import java.util.EnumSet; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.ClassIndex.SearchKind; -import org.netbeans.api.java.source.ClassIndex.SearchScope; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHandler; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationScanner; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.ObjectProvider; - - -/** - * This object provider cares about types that directly have annotations, - * types that inherit annotations ( they extends class or interface that - * directly have annotation and either - * - annotations is @Inherited - * - type specializes type with annotation ( each hierarchy step has @Specializes - * annotations ). - * - * So result object ( type ) could not have directly annotation under subject and also - * there could be objects ( types ) which don't have even inherited annotation. - * ( but hey have parents with this annotation and they specializes this parent ). - * @author ads - * - */ -public class AnnotationObjectProvider implements ObjectProvider { - - private static final String SPECILIZES_ANNOTATION = - "jakarta.enterprise.inject.Specializes"; // NOI18N - - static final Logger LOGGER = Logger.getLogger( - AnnotationObjectProvider.class.getName()); - - AnnotationObjectProvider( AnnotationModelHelper helper , String annotation) { - myHelper = helper; - myAnnotationName = annotation; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.api.support.annotation.ObjectProvider#createInitialObjects() - */ - @Override - public List createInitialObjects() throws InterruptedException { - final List result = new LinkedList(); - final Set set = new HashSet(); - getHelper().getAnnotationScanner().findAnnotations(getAnnotationName(), - AnnotationScanner.TYPE_KINDS, - new AnnotationHandler() { - @Override - public void handleAnnotation(TypeElement type, - Element element, AnnotationMirror annotation) - { - if ( !set.contains( type )){ - result.add( new BindingQualifier( getHelper(), type , - getAnnotationName())); - } - set.add( type ); - if ( !getHelper().hasAnnotation( annotation. - getAnnotationType().asElement(). - getAnnotationMirrors(), - Inherited.class.getCanonicalName())) - { - /* - * if annotation is inherited then method - * findAnnotations() - * method will return types with this annotation. - * Otherwise there could be implementors which - * specialize this type. - */ - collectSpecializedImplementors( type , set, result ); - } - } - - } ); - return new ArrayList( result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.api.support.annotation.ObjectProvider#createObjects(javax.lang.model.element.TypeElement) - */ - @Override - public List createObjects( TypeElement type ) { - final List result = new ArrayList(); - Map annotationsByType = - getHelper().getAnnotationsByType(getHelper().getCompilationController(). - getElements().getAllAnnotationMirrors( type )); - AnnotationMirror annotationMirror = annotationsByType.get( - getAnnotationName()); - if (annotationMirror != null ) { - result.add( new BindingQualifier(getHelper(), type, getAnnotationName())); - } - if ( annotationMirror == null || !getHelper().hasAnnotation( annotationMirror. - getAnnotationType().asElement(). - getAnnotationMirrors(), - Inherited.class.getCanonicalName())) - { - if ( checkSuper( type , getAnnotationName() , getHelper())!= null ){ - result.add( new BindingQualifier( getHelper(), type, getAnnotationName()) ); - } - } - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.api.support.annotation.ObjectProvider#modifyObjects(javax.lang.model.element.TypeElement, java.util.List) - */ - @Override - public boolean modifyObjects( TypeElement type, List bindings ) { - /* - * Type element couldn't have the same annotation twice. - * Provider based on single annotation ( its FQN ). - * So each type could have only one annotation at most. - */ - assert bindings.size() ==1; - BindingQualifier binding = bindings.get(0); - assert binding!= null; - if ( ! binding.refresh(type)){ - bindings.remove(0); - return true; - } - return false; - } - - static void visitSpecializes( TypeElement type, AnnotationModelHelper helper, - SpecializeVisitor visitor ) - { - if ( !hasSpecializes( type, helper )){ - return; - } - - TypeElement superClass = helper.getSuperclass(type); - if ( superClass != null ){ - if ( visitor.visit( superClass ) ){ - return; - } - visitSpecializes(superClass, helper, visitor); - } - - /* interfaces could not be injectables , but let's inspect them as possible - * injectables for notifying user about error if any. - */ - - List interfaces = type.getInterfaces(); - for (TypeMirror typeMirror : interfaces) { - Element el = helper.getCompilationController().getTypes(). - asElement(typeMirror); - if ( el instanceof TypeElement ){ - TypeElement interfaceElement = (TypeElement) el; - visitSpecializes( interfaceElement , helper , visitor ); - } - } - } - - static TypeElement checkSuper( TypeElement type , final String annotationName, - final AnnotationModelHelper helper ) - { - final TypeElement result[] = new TypeElement[1]; - SpecializeVisitor visitor = new SpecializeVisitor(){ - - @Override - public boolean visit( TypeElement element ) { - if ( FieldInjectionPointLogic.DEFAULT_QUALIFIER_ANNOTATION.equals( - annotationName)) - { - if ( checkSpecializedDefault( element, helper )){ - result[0] = element; - return true; - } - } - if ( hasAnnotation( element , annotationName, helper)){ - result[0] = element; - return true; - } - return false; - } - - @Override - public boolean visit( ExecutableElement element ) { - return false; - } - - }; - visitSpecializes(type, helper, visitor); - return result[0]; - } - - /* - * This method is called only for parent which are specialized. - * In this case @Default is not "inherited" by child from parents. - */ - static boolean checkSpecializedDefault( Element element , AnnotationModelHelper helper){ - return helper.hasAnnotation( helper.getCompilationController(). - getElements().getAllAnnotationMirrors(element), - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION); - } - - static boolean checkDefault( Element element , AnnotationModelHelper helper){ - Set qualifierNames = getQualifiers(element, helper , false ); - if ( qualifierNames.contains( - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION)) - { - return true; - } - qualifierNames.remove( ParameterInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION); - qualifierNames.remove( ParameterInjectionPointLogic.ANY_QUALIFIER_ANNOTATION); - if ( qualifierNames.size() == 0 ){ - return true; - } - return false; - } - - static Set getQualifiers(Element element , - AnnotationModelHelper helper , boolean event ) - { - final Set result = new HashSet(); - AnnotationHandleStrategy strategy = new AnnotationHandleStrategy(){ - - @Override - public void handleAnnotation( AnnotationMirror annotationMirror , - TypeElement annotationElement) - { - result.add(annotationElement.getQualifiedName().toString()); - } - }; - findQualifiers(element, helper, event, strategy); - return result; - } - - static void findQualifiers(Element element , - AnnotationModelHelper helper , boolean event , - AnnotationHandleStrategy strategy ) - { - List allAnnotationMirrors = - helper.getCompilationController().getElements(). - getAllAnnotationMirrors( element ); - for (AnnotationMirror annotationMirror : allAnnotationMirrors) { - DeclaredType annotationType = annotationMirror - .getAnnotationType(); - if ( annotationType == null || annotationType.getKind() == TypeKind.ERROR){ - continue; - } - TypeElement annotationElement = (TypeElement) annotationType - .asElement(); - if (annotationElement!= null && isQualifier(annotationElement, - helper , event )) - { - strategy.handleAnnotation(annotationMirror , annotationElement ); - } - } - } - - static boolean isQualifier( TypeElement annotationElement , - AnnotationModelHelper helper, boolean event ) - { - QualifierChecker checker = QualifierChecker.get( event ); - checker.init(annotationElement, helper ); - return checker.check(); - } - - public static boolean hasSpecializes( Element element , - AnnotationModelHelper helper ) - { - return hasAnnotation(element , SPECILIZES_ANNOTATION , helper ); - } - - static boolean hasAnnotation( Element element, String annotation, - AnnotationModelHelper helper ) - { - List allAnnotationMirrors = - helper.getCompilationController().getElements(). - getAllAnnotationMirrors(element); - return helper.hasAnnotation(allAnnotationMirrors, - annotation ); - } - - private String getAnnotationName(){ - return myAnnotationName; - } - - private AnnotationModelHelper getHelper(){ - return myHelper; - } - - private void collectSpecializedImplementors( TypeElement type, Set set, - List bindings ) - { - Set result = new HashSet(); - Set toProcess = new HashSet(); - toProcess.add(type); - while (toProcess.size() > 0) { - TypeElement element = toProcess.iterator().next(); - toProcess.remove(element); - Set implementors = doCollectSpecializedImplementors( - element,bindings); - if (implementors.size() == 0) { - continue; - } - result.addAll(implementors); - for (TypeElement impl : implementors) { - toProcess.add(impl); - } - } - for (TypeElement derivedElement : result) { - if (!hasSpecializes(derivedElement, getHelper())) { - continue; - } - handleSuper(type, derivedElement, bindings, set); - } - } - - private Set doCollectSpecializedImplementors( TypeElement type, - List bindings ) - { - Set result = new HashSet(); - ElementHandle handle = ElementHandle.create(type); - final Set> handles = getHelper() - .getClasspathInfo().getClassIndex().getElements( - handle, - EnumSet.of(SearchKind.IMPLEMENTORS), - EnumSet - .of(SearchScope.SOURCE, - SearchScope.DEPENDENCIES)); - if (handles == null) { - LOGGER.log(Level.WARNING, - "ClassIndex.getElements() was interrupted"); // NOI18N - return Collections.emptySet(); - } - for (ElementHandle elementHandle : handles) { - LOGGER.log(Level.FINE, "found derived element {0}", elementHandle - .getQualifiedName()); // NOI18N - TypeElement derivedElement = elementHandle.resolve(getHelper(). - getCompilationController()); - if (derivedElement == null) { - continue; - } - result.add(derivedElement); - } - return result; - } - - private boolean handleInterface( TypeElement element, TypeElement child, - Set collectedElements , Set bindingTypes ) - { - /* interfaces could not be injectables , but let's inspect them as possible - * injectables for notifying user about error if any. - */ - List interfaces = child.getInterfaces(); - for (TypeMirror typeMirror : interfaces) { - if ( getHelper().getCompilationController().getTypes().isSameType( - element.asType(), typeMirror) ) - { - return true; - } - if ( getHelper().getCompilationController().getTypes(). - isAssignable( typeMirror, element.asType())) - { - Element el = getHelper().getCompilationController(). - getTypes().asElement( typeMirror ); - if ( !( el instanceof TypeElement )){ - return false; - } - TypeElement interfaceElement = (TypeElement)el; - if ( bindingTypes.contains( interfaceElement) ){ - return true; - } - collectedElements.add( interfaceElement); - if ( !hasSpecializes( interfaceElement , getHelper() ) ){ - return false; - } - else { - return handleInterface(element, interfaceElement, - collectedElements, bindingTypes ); - } - } - } - - return false; - } - - private void handleSuper(TypeElement type ,TypeElement child, - List bindings, Set set) - { - if ( !getHelper().getCompilationController().getTypes().isAssignable( - child.asType(), type.asType())) - { - return; - } - List superclasses = getHelper().getSuperclasses( - child); - Set collectedSuper = new HashSet(); - collectedSuper.add( child ); - boolean specializes = true; - TypeElement previous = child; - for (TypeElement superElement : superclasses) { - if (superElement.equals(type) || set.contains( superElement)) { - break; - } - if ( getHelper().getCompilationController().getTypes(). - isAssignable( superElement.asType(), type.asType())) - { - previous = superElement; - } - else { - if ( !hasSpecializes(superElement, getHelper())) { - specializes = false; - break; - } - collectedSuper.add(superElement); - specializes = handleInterface(type, previous, collectedSuper, set ); - break; - } - } - if (specializes) { - for (TypeElement superElement : collectedSuper) { - if (!set.contains(superElement)) { - set.add(superElement); - bindings.add(new BindingQualifier(getHelper(), superElement, - getAnnotationName())); - } - } - } - } - - static interface AnnotationHandleStrategy { - void handleAnnotation( AnnotationMirror mirror , TypeElement annotation ); - } - - static interface SpecializeVisitor { - boolean visit( TypeElement superElement ); - boolean visit( ExecutableElement overridenElement ); - } - - private AnnotationModelHelper myHelper; - private String myAnnotationName; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ArchiveTypeBindingTypeFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ArchiveTypeBindingTypeFilter.java deleted file mode 100644 index ff28496b3d7d..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ArchiveTypeBindingTypeFilter.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Iterator; -import java.util.Set; -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; - -/** - * since cdi 1.1 behavior is based on archoe type, beans may not be discoverable - * - * @author sp153251 - */ -public class ArchiveTypeBindingTypeFilter extends Filter { - - static ArchiveTypeBindingTypeFilter get(Class clazz) { - assertElement(clazz); - // could be changed to cached ThreadLocal access - if (clazz.equals(Element.class) || clazz.equals(TypeElement.class)) { - return (ArchiveTypeBindingTypeFilter) new ArchiveTypeBindingTypeFilter<>(); - } - return null; - } - private WebBeansModelImplementation myImpl; - - void init(WebBeansModelImplementation impl) { - myImpl = impl; - } - - @Override - void filter(Set set) { - super.filter(set); - if (myImpl.getBeansModel() != null) { - switch (myImpl.getBeansModel().getBeanArchiveType()) { - case NONE: - set.clear(); - break; - case IMPLICIT: - CompilationController compInfo = myImpl.getModel().getCompilationController(); - for (Iterator iterator = set.iterator(); iterator - .hasNext();) { - Element element = iterator.next(); - //TODO: reqwrite with ScopeChecker, avoid duplicates - boolean isNormalScopeOrScopeOrSingleton = AnnotationUtil.getAnnotationMirror(element, compInfo, - AnnotationUtil.NORMAL_SCOPE_FQN, - AnnotationUtil.SCOPE_FQN, - AnnotationUtil.REQUEST_SCOPE_FQN, - AnnotationUtil.SESSION_SCOPE_FQN, - AnnotationUtil.APPLICATION_SCOPE_FQN, - AnnotationUtil.CONVERSATION_SCOPE_FQN, - AnnotationUtil.DEPENDENT_SCOPE_FQN, - AnnotationUtil.CDISINGLETON) != null; - if (isNormalScopeOrScopeOrSingleton) { - continue; - } - if (AnnotationUtil.isSessionBean(element, compInfo)) { - continue; - } - iterator.remove(); - } - } - } - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AssignabilityChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AssignabilityChecker.java deleted file mode 100644 index 164a763bd161..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/AssignabilityChecker.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.List; - -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.ReferenceType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.type.TypeVariable; -import javax.lang.model.util.Types; - - -/** - * @author ads - * - */ -class AssignabilityChecker extends DelegateAssignabilityChecker { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleBothTypeVars(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean handleBothTypeVars( TypeMirror argType, - TypeMirror varTypeArg, Types types ) - { - /* - * Implementation of spec item : - * the required type parameter and the bean type parameter are - * both type variables and the upper bound of the required - * type parameter is assignable to the upper bound, if any, - * of the bean type parameter - */ - return super.handleBothTypeVars(varTypeArg, argType, types); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleTypeVar(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean handleBeanTypeVar( TypeMirror argType, TypeMirror varTypeArg, - Types types ) - { - /* - * Implementation of spec item : the required type parameter is an - * actual type, the bean type parameter is a type variable and the - * actual type is assignable to the upper bound, if any, of the type - * variable - */ - - return super.handleRequiredTypeVar( varTypeArg , argType, types ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleWildCardTypeVar(javax.lang.model.type.TypeMirror, javax.lang.model.util.Types, javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror) - */ - @Override - protected boolean handleWildCardTypeVar( TypeMirror argType, Types types, - TypeMirror upperBound, TypeMirror lowerBound ) - { - /* - * Implementation of spec item : - * the required type parameter is a wildcard, - * the bean type parameter is a type variable and the upper bound of the type - * variable is assignable to or assignable from the upper bound, - * if any, of the wildcard and assignable from the lower - * bound, if any, of the wildcard - */ - TypeMirror typeUpper = ((TypeVariable) argType).getUpperBound(); - - if (typeUpper == null || typeUpper.getKind() == TypeKind.NULL) { - return upperBound == null || upperBound.getKind() == TypeKind.NULL; - } - - if (upperBound == null || upperBound.getKind() == TypeKind.NULL) { - if (lowerBound == null || lowerBound.getKind() == TypeKind.NULL) { - return true; - } - else { - return checkIsAssignable(types, lowerBound, typeUpper); - } - } - else { - if (lowerBound == null || lowerBound.getKind() == TypeKind.NULL) { - return checkIsAssignable(types, typeUpper, upperBound) - || checkIsAssignable(types, upperBound, typeUpper); - } - else { - if ((isAssignable(typeUpper, upperBound, types) || isAssignable( - upperBound, typeUpper, types)) - && isAssignable(lowerBound, typeUpper, types)) - { - return true; - } - else if (typeUpper instanceof ReferenceType - && lowerBound instanceof ReferenceType) - { - return (checkAssignability((ReferenceType) upperBound, - (ReferenceType) typeUpper) || checkAssignability( - (ReferenceType) typeUpper, - (ReferenceType) upperBound)) - && checkAssignability((ReferenceType) typeUpper, - (ReferenceType) lowerBound); - } - else { - return false; - } - } - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleBeanRawType(javax.lang.model.util.Types, java.util.List, javax.lang.model.element.TypeElement) - */ - @Override - protected boolean handleBeanRawType( Types types, - List varTypeArguments, - TypeElement objectElement ) - { - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.DelegateAssignabilityChecker#handleRequiredRawType(javax.lang.model.util.Types, java.util.List, javax.lang.model.element.TypeElement) - */ - @Override - protected boolean handleRequiredRawType( Types types, - List typeArguments, TypeElement objectElement ) - { - return super.handleBeanRawType(types, typeArguments, objectElement); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BeansFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BeansFilter.java deleted file mode 100644 index 354d24fcd451..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BeansFilter.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Iterator; -import java.util.Set; - -import javax.lang.model.element.TypeElement; - - -/** - * @author ads - * - */ -class BeansFilter extends Filter { - - static BeansFilter get() { - return new BeansFilter(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.Filter#filter(java.util.Set) - */ - @Override - void filter( Set set ) { - super.filter(set); - for (Iterator iterator = set.iterator(); iterator - .hasNext();) - { - TypeElement element = iterator.next(); - String name = element.getQualifiedName().toString(); - if (name.startsWith("java.") ||name.startsWith("jakarta.")) { // NOI18N - iterator.remove(); - } - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BeansModelImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BeansModelImpl.java deleted file mode 100644 index bbb848689317..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BeansModelImpl.java +++ /dev/null @@ -1,504 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; -import java.util.logging.Logger; - -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.project.Project; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType; -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit; -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClassContainer; -import org.netbeans.modules.jakarta.web.beans.xml.Beans; -import org.netbeans.modules.jakarta.web.beans.xml.BeansAttributes; -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModelFactory; -import org.netbeans.modules.xml.retriever.catalog.Utilities; -import org.netbeans.modules.xml.xam.ModelSource; -import org.netbeans.modules.xml.xam.locator.CatalogModelException; -import org.openide.filesystems.FileAttributeEvent; -import org.openide.filesystems.FileChangeListener; -import org.openide.filesystems.FileEvent; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileRenameEvent; -import org.openide.filesystems.FileUtil; - - -/** - * @author ads - * - */ -public class BeansModelImpl implements BeansModel { - - private static final String META_INF = "META-INF"; //NOI18N - - private static final String BEANS_XML ="beans.xml"; //NOI18N - - private static final String WEB_INF = "WEB-INF"; //NOI18N - - private BeanArchiveType beanArchType = null; - - private Boolean isCdi11OrLater = null; - - public BeansModelImpl( ModelUnit unit ){ - myUnit = unit; - myLock = new Object(); - registerChangeListeners(); - initModels(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansModel#getAlternativeClasses() - */ - public Set getAlternativeClasses() { - Set result = new HashSet(); - for( WebBeansModel model : getModels() ){ - Beans beans = model.getBeans(); - if ( beans == null ){ - // it could happen if model is not well formed xml ( or f.e. empty XML file ) - continue; - } - List alternatives = beans.getChildren(Alternatives.class); - for (Alternatives alternative : alternatives) { - List children = alternative.getChildren(BeanClass.class); - for (BeanClass beanClass : children) { - result.add( beanClass.getBeanClass()); - } - } - } - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansModel#getAlternativeStereotypes() - */ - public Set getAlternativeStereotypes() { - Set result = new HashSet(); - for( WebBeansModel model : getModels() ){ - Beans beans = model.getBeans(); - if ( beans == null ){ - // it could happen if model is not well formed xml ( or f.e. empty XML file ) - continue; - } - List alternatives = beans.getChildren(Alternatives.class); - for (Alternatives alternative : alternatives) { - List children = alternative.getChildren(Stereotype.class); - for (Stereotype stereotype : children) { - result.add( stereotype.getStereotype()); - } - } - } - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansModel#getDecoratorClasses() - */ - public LinkedHashSet getDecoratorClasses() { - return getBeanClasses( Decorators.class ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansModel#getIntercetorClasses() - */ - public LinkedHashSet getInterceptorClasses() { - return getBeanClasses( Interceptors.class ); - } - - public LinkedHashSet getBeanClasses( Class clazz) { - LinkedHashSet result = new LinkedHashSet(); - for (WebBeansModel model : getModels()) { - Beans beans = model.getBeans(); - if ( beans == null ){ - // it could happen if model is not well formed xml ( or f.e. empty XML file ) - continue; - } - List children = beans.getChildren(clazz); - for (BeanClassContainer container : children) { - List beansClasses = container.getBeansClasses(); - for (BeanClass beanClass : beansClasses) { - result.add( beanClass.getBeanClass()); - } - } - } - return result; - } - - @Override - public BeanArchiveType getBeanArchiveType() { - if(beanArchType == null) { - Project project = getUnit().getProject(); - if(project != null) { - // - CdiUtil lookup = project.getLookup().lookup( CdiUtil.class ); - // - if( lookup == null ) { - if (!CdiUtil.isCdiEnabled(project)) { - // no CDI - beanArchType = BeanArchiveType.NONE; - } else if (!CdiUtil.isCdi11OrLater(project)) { - // CDI 1.0 behaves like explicit bean archive - beanArchType = BeanArchiveType.EXPLICIT; - } else { - beanArchType = getBeansArchiveType(); - } - } else { - if (!lookup.isCdiEnabled()) { - // no CDI - beanArchType = BeanArchiveType.NONE; - } else if (!lookup.isCdi11OrLater()) { - // CDI 1.0 behaves like explicit bean archive - beanArchType = BeanArchiveType.EXPLICIT; - } else { - beanArchType = getBeansArchiveType(); - } - } - } else { - //there is no perfect solution. may happens in tests and may be in stand alone file opening, default as in cdi1.0 - beanArchType = BeanArchiveType.EXPLICIT; - } - } - return beanArchType; - } - - @Override - public boolean isCdi11OrLater() { - if (isCdi11OrLater == null) { - Project project = getUnit().getProject(); - if (project != null) { - CdiUtil lookup = project.getLookup().lookup(CdiUtil.class); - if (lookup == null) { - isCdi11OrLater = CdiUtil.isCdiEnabled(project) && CdiUtil.isCdi11OrLater(project); - } else { - isCdi11OrLater = lookup.isCdiEnabled() && lookup.isCdi11OrLater(); - } - } else { - // there is no perfect solution. may happens in tests and may be in stand alone file opening, default as in cdi1.0 - isCdi11OrLater = false; - } - } - return isCdi11OrLater; - } - - private void registerChangeListeners() { - - ClassPath compile = getUnit().getCompilePath(); - compile.addPropertyChangeListener(new PropertyChangeListener() { - - public void propertyChange( PropertyChangeEvent arg0 ) { - /* - * Synchronization is needed only at initModels() call. - */ - synchronized (myLock) { - if ( myModels == null ){ - return; - } - FileObject[] roots = getUnit().getCompilePath() - .getRoots(); - Set rootsSet = new HashSet(Arrays - .asList(roots)); - Set oldRoots = new HashSet( - myCompileRootToModel.keySet()); - Set intersection = new HashSet( - rootsSet); - intersection.retainAll(oldRoots); - oldRoots.removeAll(rootsSet); - for (FileObject fileObject : oldRoots) { - List remove = myCompileRootToModel. - remove(fileObject); - myModels.removeAll(remove); - } - rootsSet.removeAll(intersection); - for (FileObject fileObject : rootsSet) { - addCompileModels( fileObject , myModels); - } - } - } - }); - - myListener = new FileChangeListener(){ - - public void fileAttributeChanged( FileAttributeEvent arg0 ) { - } - - public void fileChanged( FileEvent event ) { - //TODO, drop beanArchType here? if it's beans.xml - if ( !checkBeansFile(event.getFile())){//heavy operation? - return; - } - beanArchType = null; - } - - public void fileDataCreated( FileEvent event ) { - FileObject file = event.getFile(); - if ( !checkBeansFile(file)){ - return; - } - ModelSource source= getModelSource(file, true ); - beanArchType = null; - if ( source!= null ){ - WebBeansModel model = WebBeansModelFactory.getInstance(). - getModel( source ); - synchronized( myLock ){ - if ( myModels == null ){ - return; - } - myModels.add( model ); - } - } - } - - public void fileDeleted( FileEvent event ) { - FileObject file = event.getFile(); - if ( !wasBeansFile(file)){ - return; - } - WebBeansModel model = null; - beanArchType = null; - synchronized (myLock) { - if ( myModels == null){ - return; - } - for (WebBeansModel mod : myModels) { - FileObject fileObject = mod.getModelSource() - .getLookup().lookup(FileObject.class); - if (fileObject.equals(event.getFile())) { - model = mod; - break; - } - } - if (model != null) { - myModels.remove(model); - } - - } - } - - public void fileFolderCreated( FileEvent arg0 ) { - } - - public void fileRenamed( FileRenameEvent arg0 ) { - } - - private boolean checkBeansFile( FileObject fileObject ){ - if ( fileObject == null){ - return false; - } - FileObject[] roots = getUnit().getSourcePath().getRoots(); - for (FileObject root : roots) { - FileObject meta = root.getFileObject(META_INF); - if ( meta != null && fileObject.equals( meta.getFileObject(BEANS_XML) )){ - return true; - } - FileObject webInf = root.getFileObject( WEB_INF ); - if ( webInf!=null && fileObject.equals( webInf.getFileObject(BEANS_XML))){ - return true; - } - } - return false; - } - - private boolean wasBeansFile( FileObject fileObject ){ - if ( fileObject == null){ - return false; - } - String name = fileObject.getNameExt(); - if ( name.equals( BEANS_XML )) - { - FileObject parent = fileObject.getParent(); - if ( !parent.getName().equals( META_INF ) && - !parent.getName().equals( WEB_INF )) - { - return false; - } - for ( FileObject root : getUnit().getSourcePath().getRoots()){ - if ( parent.equals(root.getFileObject(META_INF)) - ||parent.equals(root.getFileObject(WEB_INF))) - { - return true; - } - } - } - return false; - } - }; - - FileUtil.addFileChangeListener( myListener ); - } - - private void initModels() { - /* - * synchronization is needed only at time of "initModels" work. - * It prevent simultaneous work initModels and registered listeners . - * All subsequent access to myModels could be done without synchronization - * because of chosen class for myModels ( it is CopyOnWrite ). - */ - synchronized ( myLock ) { - List list = new LinkedList(); - FileObject[] roots = getUnit().getSourcePath().getRoots(); - for (FileObject fileObject : roots) { - addModels(fileObject,list); - } - FileObject[] compileRoots = getUnit().getCompilePath().getRoots(); - for (FileObject root : compileRoots) { - addCompileModels( root ,list); - } - myModels = new CopyOnWriteArrayList( list ); - } - } - - private void addCompileModels( FileObject root , List list ) { - FileObject beans = getBeansFile(root); - if (beans != null){ - addCompileModel(beans, root, list); - } - } - - /** - * is based on cdi 1.1, do not use for 1.0 - * @return - */ - private synchronized BeanArchiveType getBeansArchiveType() { - for (FileObject fileObject : getUnit().getSourcePath().getRoots()) { - FileObject beans = getBeansFile(fileObject); - if (beans != null) { - beanArchiveType = detectArchiveType(beans); - return beanArchiveType; - } - } - for (FileObject fileObject : getUnit().getCompilePath().getRoots()) { - FileObject beans = getBeansFile(fileObject); - if (beans != null) { - beanArchiveType = detectArchiveType(beans); - return beanArchiveType; - } - } - beanArchiveType = BeanArchiveType.IMPLICIT;//no beans.xmk is found, in 1.1 it means implicit/annotated - return beanArchiveType; - } - - private BeanArchiveType detectArchiveType(FileObject beans) { - WebBeansModel model = WebBeansModelFactory.getInstance().getModel(getModelSource(beans, true)); - if (model == null || model.getRootComponent()==null) { - return BeanArchiveType.IMPLICIT; - } - - String attribute = model.getRootComponent().getAttribute(BeansAttributes.BEAN_DISCOVERY_MODE); - if(attribute == null) { - attribute = "all";//NOI18N, got this for cdi 1.0, but there should be a better place for check, CdiUtil.isCdi11OrLater isn't good for ee7 server wih 1.0 beans.xml - } - switch(attribute) { - case "none": //NOI18N - return BeanArchiveType.NONE; - case "all": //NOI18N - return BeanArchiveType.EXPLICIT; - case "annotated": //NOI18N - default: - return BeanArchiveType.IMPLICIT; - } - } - - private FileObject getBeansFile(FileObject root) { - FileObject beans = null; - FileObject meta = root.getFileObject(META_INF); - if(meta != null) beans = meta.getFileObject(BEANS_XML); - if (beans != null) { - return beans; - } - FileObject web = root.getFileObject(WEB_INF); - return web != null ? web.getFileObject(BEANS_XML) : null; - } - - void addCompileModel(FileObject fileObject, FileObject compileRoot, - List modelList ) - { - WebBeansModel model = WebBeansModelFactory.getInstance().getModel( - getModelSource(fileObject, false)); - if ( model != null ){ - modelList.add( model ); - List list = myCompileRootToModel.get(compileRoot ); - if ( list == null ){ - list = new ArrayList<>(2); - myCompileRootToModel.put( compileRoot , list ); - } - list.add( model ); - } - } - - private void addModels( FileObject root , List list ) { - FileObject beans = getBeansFile(root); - if (beans != null){ - addModel(beans, list ); - } - } - - void addModel( FileObject beans , List list ) { - WebBeansModel model = WebBeansModelFactory.getInstance().getModel( - getModelSource(beans, true)); - if ( model != null ){ - list.add( model ); - } - } - - private ModelSource getModelSource( FileObject fileObject , - boolean isEditable ) - { - try { - return Utilities.createModelSource( fileObject,isEditable); - } catch (CatalogModelException ex) { - Logger.getLogger("global").log(java.util.logging.Level.SEVERE, - ex.getMessage(), ex); // NOI18N - } - return null; - } - - private List getModels(){ - return myModels; - } - - private ModelUnit getUnit(){ - return myUnit; - } - - private ModelUnit myUnit; - private Object myLock; - private List myModels; - private Map> myCompileRootToModel = new HashMap<>(); - private FileChangeListener myListener; - private BeanArchiveType beanArchiveType; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BindingQualifier.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BindingQualifier.java deleted file mode 100644 index 6190ce6308da..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/BindingQualifier.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.List; -import java.util.Map; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObject; - - -/** - * @author ads - * - */ -class BindingQualifier extends PersistentObject { - - BindingQualifier( AnnotationModelHelper helper, TypeElement typeElement, - String annotation ) - { - super(helper, typeElement); - myAnnotation = annotation; - refresh( typeElement); - } - - String getAnnotationName(){ - return myAnnotation; - } - - boolean refresh( TypeElement type ) { - List allAnnotationMirrors = - getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(type); - Map annotationsByType = - getHelper().getAnnotationsByType( allAnnotationMirrors ); - if ( annotationsByType.get( getAnnotationName()) != null ){ - return true; - } - return AnnotationObjectProvider.checkSuper(type, getAnnotationName(), - getHelper())!= null; - } - - /* (non-Javadoc) - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals( Object obj ) { - if ( obj instanceof BindingQualifier ){ - return ((BindingQualifier)obj).getTypeElement().equals( getTypeElement()); - } - else { - return false; - } - } - - /* (non-Javadoc) - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - return getTypeElement().hashCode(); - } - - private String myAnnotation; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Bundle.properties deleted file mode 100644 index 99cbf71d8158..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Bundle.properties +++ /dev/null @@ -1,45 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -ERR_MultipleDisposes=Method {0} has several parameters with @Disposes annotation -ERR_MultipleObserves=Method {0} has several parameters with @Observes annotation -ERR_DisposesHasObserves=Method {0} is declared as disposer but also has \ -parameter annotated @Observes -ERR_DisposesHasInjectOrProduces=Method {0} is declared as disposer but also has \ -{1} annotation -ERR_ObserverHasInjectOrProduces=Method {0} is declared as observer but also has \ -{1} annotation - - -# Result errors -ERR_ProducerInjectPoint=Element {0} has @Producer annotation and cannot be \ -an injection point. -ERR_NoInjectPoint=Element {0} does not have @Inject annotation and cannot be \ -an injection point. -ERR_BadParent=Expected type definition as enclosing element for {0}. But found {1} element. - -ERR_UnresolvedAmbiguousDependency=Unresolved ambiguous dependency found as \ -result of typesafe resolution -ERR_NoFound=Unsatisfied dependency\: no bean matches the injection point -ERR_AlternativesOnly=Only turned off eligible for injection alternatives are found -ERR_NoEnabledBeans=No enabled eligible for injection beans are found -ERR_DefaultScopeCollision=Element does not explicitly declare scope but its \ -stereotypes has different stereotypes that declare different default scopes: {0} and {1}. -ERR_InitializedInjectionPoint=Injection point should not be initialized explicitly. -ERR_StaticInjectionPoint=Injection point should not be static. -ERR_FinalInjectionPoint=Injection point should not be final. -ERR_InjectPointTypeVar=Injection point should not be a type variable. -ERR_SeveralScopes=Element may specify at most one scope type annotation. diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Checker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Checker.java deleted file mode 100644 index eeec3a41ce04..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Checker.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - - -/** - * @author ads - * - */ -interface Checker { - - boolean check(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorInterceptorLogic.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorInterceptorLogic.java deleted file mode 100644 index 27732d195859..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorInterceptorLogic.java +++ /dev/null @@ -1,410 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.InterceptorsResultImpl; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; - - -/** - * @author ads - * - */ -abstract class DecoratorInterceptorLogic extends EventInjectionPointLogic { - - DecoratorInterceptorLogic( WebBeansModelImplementation model ) { - super(model); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getDecorators(javax.lang.model.element.TypeElement) - */ - @Override - public Collection getDecorators( TypeElement element ) { - Collection decorators = getModel(). - getDecoratorsManager().getObjects(); - - Collection result = new ArrayList( decorators.size()); - for (DecoratorObject decoratorObject : decorators) { - TypeElement decorator = decoratorObject.getTypeElement(); - if ( isDecoratorFor( decorator , element )){ - result.add( decorator ); - } - } - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getInterceptorBindings(javax.lang.model.element.Element) - */ - @Override - public Collection getInterceptorBindings( Element element ){ - final InterceptorBindingChecker interceptorChecker = new InterceptorBindingChecker( - getModel().getHelper() ); - final StereotypeChecker stereotypeChecker = new StereotypeChecker( - getModel().getHelper().getHelper()); - TransitiveAnnotationHandler handler = new IntereptorBindingHandler( - interceptorChecker, stereotypeChecker); - Set result = new HashSet(); - transitiveVisitAnnotatedElements(element, result, - getModel().getHelper().getHelper(), handler); - - if ( element.getKind() == ElementKind.METHOD ){ - TypeElement enclosedClass = getCompilationController(). - getElementUtilities().enclosingTypeElement(element); - Collection classBindings = getInterceptorBindings( - enclosedClass ); - result.addAll( classBindings ); - } - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getInterceptors(javax.lang.model.element.Element) - */ - @Override - public InterceptorsResultImpl getInterceptors( Element element ) { - Collection interceptors = getModel(). - getInterceptorsManager().getObjects(); - Set result = new HashSet(); - - Collection elementBindings = getInterceptorBindings(element); - Set elementBindingsFqns = getAnnotationFqns(elementBindings); - - for (InterceptorObject interceptor : interceptors) { - TypeElement typeElement = interceptor.getTypeElement(); - if ( hasInterceptorBindings( typeElement , elementBindingsFqns )){ - result.add(typeElement); - } - } - filterBindingsByMembers(elementBindings, result, TypeElement.class); - return getInterceptorsResult( element , result ); - } - - private InterceptorsResultImpl getInterceptorsResult( Element element, - Set interceptors ) - { - LinkedHashSet interceptorClasses = getModel().getBeansModel(). - getInterceptorClasses(); - List enabledInterceptors = new ArrayList( - interceptors.size()); - for (String fqn : interceptorClasses) { - TypeElement interceptor = getCompilationController().getElements(). - getTypeElement(fqn); - if ( interceptors.contains( interceptor )){ - enabledInterceptors.add( interceptor ); - } - } - interceptors.removeAll( enabledInterceptors ); - InterceptorsResultImpl result = new InterceptorsResultImpl( element , - enabledInterceptors , interceptors , getModel().getHelper() ); - return result; - } - - static void transitiveVisitAnnotatedElements( Element element, - Set result,AnnotationHelper helper, - TransitiveAnnotationHandler handler ) - { - List annotationMirrors = helper - .getCompilationInfo().getElements().getAllAnnotationMirrors(element); - for (AnnotationMirror annotationMirror : annotationMirrors) { - if (result.contains(annotationMirror)) { - continue; - } - Element annotationElement = annotationMirror.getAnnotationType().asElement(); - if ( !( annotationElement instanceof TypeElement )){ - continue; - } - boolean isTargetAnnotation = handler.isTargetAnotation( - (TypeElement)annotationElement); - if ( isTargetAnnotation ){ - result.add(annotationMirror); - } - if (handler.proceed(element, (TypeElement)annotationElement, - isTargetAnnotation)) - { - transitiveVisitAnnotatedElements((TypeElement)annotationElement, - result,helper, handler ); - } - } - } - - private boolean hasInterceptorBindings( TypeElement typeElement, - Set elementBindings) - { - Collection requiredBindings = getInterceptorBindings( typeElement ); - Set requiredInterceptorFqns = getAnnotationFqns( requiredBindings ); - - // element should contain all interceptor binding declared for Interceptor - return elementBindings.containsAll(requiredInterceptorFqns) ; - } - - private boolean isDecoratorFor( TypeElement decorator, TypeElement element ) { - /* - * Tripple is used to get delegate Element and its TypeMirror. - * If @Delegate injection point should be declared in each Decorator - * explicitly then TypeMirror could be gotten as ".asType()" from - * element and tripple is not needed. - * It is unclear from the spec about inheritance delegate injection point - * ( plain injection point is inherited ). So it is possble when - * injection point is defined in the superclass and child inherit - * this injection point without overloading it. - * In the latter case injection point should be considered from - * the child point of view. TipeMirror access in this case is not - * so simple for delegate method parameter. - */ - Triple data = - getDelegateInjectionPoint(decorator); - if ( data == null ){ - return false; - } - VariableElement delegate = data.getFirst(); - TypeMirror delegateType = data.getSecond(); - Set set = new HashSet(); - set.add( element ); - /* - * Check assignability of delegate injection point and decorated type - */ - filterBindingsByType(delegate, delegateType, set); - if ( set.isEmpty() ){ - return false; - } - /* - * Now delegate type is matched to the decorated type and one need - * to check just matching delegate qualifiers - */ - return checkQualifiers(element, delegate, delegateType, set); - } - - private Triple getDelegateInjectionPoint( - TypeElement decorator ) - { - List allMembers = getCompilationController().getElements(). - getAllMembers( decorator ); - List fields = ElementFilter.fieldsIn(allMembers); - for (VariableElement field : fields) { - if ( AnnotationObjectProvider.hasAnnotation(field, - DELEGATE_ANNOTATION, getModel().getHelper() ) && - AnnotationObjectProvider.hasAnnotation(field, - INJECT_ANNOTATION, getModel().getHelper() )) - { - TypeMirror delegateType = getCompilationController().getTypes(). - asMemberOf((DeclaredType)decorator.asType(), field); - return new Triple(field, - delegateType, null); - } - } - - Triple result; - List methods = ElementFilter.methodsIn(allMembers); - List ctors = ElementFilter.constructorsIn(allMembers); - Set allMethods = new LinkedHashSet(); - allMethods.addAll( ctors ); - allMethods.addAll( methods ); - for (ExecutableElement method : allMethods) { - if ( !AnnotationObjectProvider.hasAnnotation(method, INJECT_ANNOTATION, - getModel().getHelper())){ - continue; - } - result = getDelegate(method, decorator); - if ( result != null ){ - return result; - } - } - - return null; - } - - private Triple getDelegate( - ExecutableElement method, TypeElement decorator ) - { - List parameters = method.getParameters(); - int index =0; - VariableElement delegate = null; - for (VariableElement variableElement : parameters) { - if ( AnnotationObjectProvider.hasAnnotation(variableElement, - DELEGATE_ANNOTATION, getModel().getHelper())) - { - delegate = variableElement; - break; - } - index ++; - } - if ( delegate == null ){ - return null; - } - ExecutableType methodType = (ExecutableType)getCompilationController(). - getTypes().asMemberOf((DeclaredType)decorator.asType(), method ); - List parameterTypes = methodType.getParameterTypes(); - TypeMirror typeMirror = parameterTypes.get(index); - return new Triple(delegate, typeMirror, null); - } - - private boolean checkQualifiers( TypeElement element, VariableElement delegate, - TypeMirror delegateType, Set set ) - { - List quilifierAnnotations = new LinkedList(); - boolean anyQualifier = false; - try { - anyQualifier = hasAnyQualifier(delegate, false, false, quilifierAnnotations); - } - catch(InjectionPointDefinitionError e ){ - return false; - } - - boolean defaultQualifier = !anyQualifier && quilifierAnnotations.size() == 0; - boolean newQualifier = false; - - if ( quilifierAnnotations.size() == 1 ){ - newQualifier = getModel().getHelper().hasAnnotation(quilifierAnnotations, - NEW_QUALIFIER_ANNOTATION); - defaultQualifier = getModel().getHelper().hasAnnotation(quilifierAnnotations, - DEFAULT_QUALIFIER_ANNOTATION); - - } - else if ( quilifierAnnotations.size() == 0 && anyQualifier) { - // Just @Any case - return true; - } - if ( defaultQualifier ) { - // @Default qualifier - if ( hasImplicitDefaultQualifier(element)){ - return true; - } - else { - List qualifiers = getQualifiers(element, true); - return getModel().getHelper().hasAnnotation(qualifiers, - DEFAULT_QUALIFIER_ANNOTATION); - } - } - else if (newQualifier){ - ResultImpl lookupResult = handleNewQualifier(delegate, delegateType, - quilifierAnnotations); - Set typeElements = lookupResult.getTypeElements(); - return typeElements.contains( element ); - } - - if ( !checkQualifiers(element, quilifierAnnotations) ){ - return false; - } - - filterBindingsByMembers(quilifierAnnotations, set, TypeElement.class ); - return !set.isEmpty(); - } - - private boolean checkQualifiers( TypeElement element, - List quilifierAnnotations ) - { - Set requiredAnnotationFqns = getAnnotationFqns(quilifierAnnotations); - - List elementAnnotations = - getQualifiers(element, true); - Set elementAnnotationFqns = getAnnotationFqns(elementAnnotations); - - if ( requiredAnnotationFqns.contains(DEFAULT_QUALIFIER_ANNOTATION) && - !elementAnnotationFqns.contains(DEFAULT_QUALIFIER_ANNOTATION) && - !hasImplicitDefaultQualifier(element)) - { - return false; - } - requiredAnnotationFqns.remove(DEFAULT_QUALIFIER_ANNOTATION); - return elementAnnotationFqns.containsAll(requiredAnnotationFqns); - } - - private static final class IntereptorBindingHandler implements - TransitiveAnnotationHandler - { - - private IntereptorBindingHandler( - InterceptorBindingChecker interceptorChecker, - StereotypeChecker stereotypeChecker ) - { - this.interceptorChecker = interceptorChecker; - this.stereotypeChecker = stereotypeChecker; - } - - @Override - public boolean proceed( Element annotatedElement, - TypeElement element , boolean isTargetAnnotation) - { - /* - * proceed until annotation is either interceptor binding or stereotype - */ - if ( isTargetAnnotation ){ - return true; - } - - stereotypeChecker.init(element); - boolean isStereotype = stereotypeChecker.check(); - stereotypeChecker.clean(); - - if ( isStereotype && - annotatedElement.getKind() == ElementKind.ANNOTATION_TYPE ) - { - /* - * only stereotypes are transitive : interceptor binding - * annotated by stereotype doesn't have interceptor bindings - * of stereotype - */ - stereotypeChecker.init((TypeElement)annotatedElement); - isStereotype = stereotypeChecker.check(); - stereotypeChecker.clean(); - } - return isStereotype; - } - - @Override - public boolean isTargetAnotation( TypeElement element ) { - interceptorChecker.init(element); - boolean isInterceptor = interceptorChecker.check(); - interceptorChecker.clean(); - return isInterceptor; - } - - private final InterceptorBindingChecker interceptorChecker; - private final StereotypeChecker stereotypeChecker; - } - - interface TransitiveAnnotationHandler { - boolean proceed(Element annotatedElement, TypeElement element, - boolean isTargerAnnotation ); - boolean isTargetAnotation(TypeElement element ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorObject.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorObject.java deleted file mode 100644 index ab11eb6fe678..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorObject.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.List; -import java.util.Map; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObject; -import org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider.Refreshable; - - -/** - * @author ads - * - */ -class DecoratorObject extends PersistentObject implements Refreshable { - - DecoratorObject( AnnotationModelHelper helper, - TypeElement typeElement ) - { - super(helper, typeElement); - boolean valid = refresh(typeElement); - assert valid; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider.Refreshable#refresh(javax.lang.model.element.TypeElement) - */ - @Override - public boolean refresh( TypeElement type ) { - List allAnnotationMirrors = - getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(type); - Map annotationsByType = - getHelper().getAnnotationsByType( allAnnotationMirrors ); - return annotationsByType.get( EnableBeansFilter.DECORATOR) != null ; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorObjectProvider.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorObjectProvider.java deleted file mode 100644 index 8bbba9b7edd8..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DecoratorObjectProvider.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; - - -/** - * @author ads - * - */ -class DecoratorObjectProvider extends AbstractObjectProvider { - - DecoratorObjectProvider( AnnotationModelHelper helper ) { - super( EnableBeansFilter.DECORATOR, helper); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider#createTypeElement(javax.lang.model.element.TypeElement) - */ - @Override - protected DecoratorObject createTypeElement( TypeElement element ) { - return new DecoratorObject( getHelper() , element ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DefaultBindingTypeFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DefaultBindingTypeFilter.java deleted file mode 100644 index 665d21ca1f6b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DefaultBindingTypeFilter.java +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; - -/** - * @author ads - */ -class DefaultBindingTypeFilter extends Filter { - - static DefaultBindingTypeFilter get( Class clazz ) - { - assertElement(clazz); - // could be changed to cached ThreadLocal access - if (clazz.equals(Element.class)) { - return (DefaultBindingTypeFilter) new DefaultBindingTypeFilter(); - } - else if (clazz.equals(TypeElement.class)) { - return (DefaultBindingTypeFilter) new DefaultBindingTypeFilter(); - } - return null; - } - - void init( WebBeansModelImplementation impl ) { - myImpl = impl; - } - - /* - * (non-Javadoc) - * @see - * org.netbeans.modules.jakarta.web.beans.impl.model.Filter#filter(java.util.Set) - */ - @Override - void filter( Set set ) { - super.filter(set); - for (Iterator iterator = set.iterator(); iterator - .hasNext();) - { - Element element = iterator.next(); - List allAnnotationMirrors = getImplementation() - .getHelper().getCompilationController().getElements() - .getAllAnnotationMirrors(element); - Set qualifierNames = new HashSet(); - for (AnnotationMirror annotationMirror : allAnnotationMirrors) { - DeclaredType annotationType = annotationMirror - .getAnnotationType(); - TypeElement annotationElement = (TypeElement) annotationType - .asElement(); - if ( annotationElement == null ){ - continue; - } - String annotationName = annotationElement.getQualifiedName() - .toString(); - if ( WebBeansModelProviderImpl.ANY_QUALIFIER_ANNOTATION.equals( - annotationName) || - WebBeansModelProviderImpl.NAMED_QUALIFIER_ANNOTATION.equals( - annotationName)) - { - continue; - } - if (isQualifier(annotationElement)) { - qualifierNames.add(annotationName); - } - } - if ( qualifierNames.contains( - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION)) - { - continue; - } - if ( (element instanceof TypeElement) && ( - AnnotationObjectProvider.checkSuper((TypeElement)element, - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION, - getImplementation().getHelper())!=null )) - { - continue; - } - else if ( element instanceof ExecutableElement ){ - Element specialized = - MemberCheckerFilter.getSpecialized( (ExecutableElement)element, - getImplementation(), - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION); - if ( specialized!= null){ - continue; - } - } - if (qualifierNames.size() != 0) { - iterator.remove(); - } - } - } - - private boolean isQualifier( TypeElement annotationElement ) { - return AnnotationObjectProvider.isQualifier(annotationElement, - getImplementation().getHelper(), false ); - } - - private WebBeansModelImplementation getImplementation() { - return myImpl; - } - - private WebBeansModelImplementation myImpl; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DelegateAssignabilityChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DelegateAssignabilityChecker.java deleted file mode 100644 index 34eb3bcf7575..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/DelegateAssignabilityChecker.java +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Collection; -import java.util.List; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ReferenceType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.type.TypeVariable; -import javax.lang.model.util.Types; - - -/** - * @author ads - * - */ -class DelegateAssignabilityChecker extends AbstractAssignabilityChecker { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#hasBeanType(javax.lang.model.element.Element, javax.lang.model.type.ReferenceType) - */ - @Override - protected boolean hasBeanType( Element element, ReferenceType variableType) { - Types types = getImplementation().getHelper(). - getCompilationController().getTypes(); - Collection restrictedTypes = RestrictedTypedFilter. - getRestrictedTypes( element, getImplementation()); - // return false if restricted types don't contain injection point type - if ( restrictedTypes != null ) { - boolean hasBeanType = false; - for( TypeMirror restrictedType : restrictedTypes ){ - if ( types.isSameType( types.erasure( restrictedType ) , - types.erasure(variableType))) - { - hasBeanType = true; - break; - } - } - if ( !hasBeanType ){ - return false; - } - } - return true; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#checkAssignability(javax.lang.model.type.ReferenceType, javax.lang.model.type.ReferenceType) - */ - @Override - public boolean checkAssignability( ReferenceType variableType , - ReferenceType refType ) - { - if ( refType instanceof DeclaredType ){ - return checkAssignability(variableType, refType, - ((DeclaredType)refType).asElement()); - } - else { - return super.checkAssignability(variableType, refType); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleBothTypeVars(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean handleBothTypeVars( TypeMirror argType, - TypeMirror varTypeArg, Types types ) - { - /* - * Implementation of spec item : - * the delegate type parameter and the bean type parameter are both - * type variables and the upper bound of the bean type - * parameter is assignable to the upper bound, - * if any, of the delegate type parameter - */ - TypeMirror upper = ((TypeVariable)argType).getUpperBound(); - TypeMirror upperVar = ((TypeVariable)varTypeArg).getUpperBound(); - - if ( upperVar == null || upperVar.getKind() == TypeKind.NULL ){ - return true; - } - if ( upper == null || upper.getKind() == TypeKind.NULL ){ - return false; - } - - return checkIsAssignable(types, upper, upperVar); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleTypeVar(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean handleBeanTypeVar( TypeMirror argType, TypeMirror varTypeArg, - Types types ) - { - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleWildCardTypeVar(javax.lang.model.type.TypeMirror, javax.lang.model.util.Types, javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror) - */ - @Override - protected boolean handleWildCardTypeVar( TypeMirror argType, Types types, - TypeMirror upperBound, TypeMirror lowerBound ) - { - /* - * Implementation of spec item : - * the delegate type parameter is a wildcard, the bean - * type parameter is a type variable and the upper bound of the type - * variable is assignable to the upper bound, - * if any, of the wildcard and assignable from the lower bound, - * if any, of the wildcard - */ - TypeMirror typeUpper = ((TypeVariable) argType).getUpperBound(); - - if (typeUpper == null || typeUpper.getKind() == TypeKind.NULL) { - return upperBound == null || upperBound.getKind() == TypeKind.NULL; - } - - if (upperBound == null || upperBound.getKind() == TypeKind.NULL) { - if (lowerBound == null || lowerBound.getKind() == TypeKind.NULL) { - return true; - } - else { - return checkIsAssignable(types, lowerBound, typeUpper); - } - } - else { - if (lowerBound == null || lowerBound.getKind() == TypeKind.NULL) { - return checkIsAssignable(types, typeUpper, upperBound); - } - else{ - return checkIsAssignable(types, typeUpper, upperBound) - && checkIsAssignable(types, lowerBound, typeUpper); - } - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#isAssignable(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean isAssignable( TypeMirror from, TypeMirror to, Types types ) - { - if ( !super.isAssignable(from, to, types) ){ - return false; - } - else { - Element fromElement = types.asElement(from); - Collection restrictedTypes = RestrictedTypedFilter - .getRestrictedTypes(fromElement, - getImplementation()); - if (restrictedTypes == null) { - return getImplementation().getHelper() - .getCompilationController().getTypes() - .isAssignable(from, to); - } - for ( TypeMirror restrictedType : restrictedTypes ){ - if ( types.isSameType( types.erasure(restrictedType), - types.erasure( to ))) - { - return true; - } - } - return false; - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleBeanRawType(javax.lang.model.util.Types, java.util.List, javax.lang.model.element.TypeElement) - */ - @Override - protected boolean handleBeanRawType( Types types, - List typeArguments, TypeElement objectElement ) - { - // bean type is a raw. - for (TypeMirror typeParam : typeArguments) { - /* - * From the spec: - * A raw bean type is considered assignable to a parameterized - * delegate type if the raw types are identical and all type parameters - * of the delegate type are either unbounded type variables or java.lang.Object. - */ - if (typeParam.getKind() == TypeKind.DECLARED) { - if (!((TypeElement)((DeclaredType) typeParam).asElement()). - getQualifiedName().contentEquals(Object.class.getCanonicalName())) - { - return false; - } - } - else if ( typeParam.getKind() == TypeKind.TYPEVAR){ - TypeMirror lowerBound = ((TypeVariable)typeParam).getLowerBound(); - if ( lowerBound != null && lowerBound.getKind() != TypeKind.NULL ){ - return false; - } - TypeMirror upperBound = ((TypeVariable)typeParam).getUpperBound(); - if ( upperBound != null && upperBound.getKind() != TypeKind.NULL - && objectElement!= null ) - { - return types.isSameType(upperBound, objectElement.asType()); - } - } - else { - return false; - } - } - return true; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleRequiredRawType(javax.lang.model.util.Types, java.util.List, javax.lang.model.element.TypeElement) - */ - @Override - protected boolean handleRequiredRawType( Types types, - List varTypeArguments, - TypeElement objectElement ) - { - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleRequiredTypeVar(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean handleRequiredTypeVar( TypeMirror argType, - TypeMirror varTypeArg, Types types ) - { - /* - * Implementation of spec item : the delegate type parameter is a - * type variable, the bean type parameter is an actual type, and the - * actual type is assignable to the upper bound, if any, of the type variable - */ - - TypeMirror upper = ((TypeVariable)varTypeArg).getUpperBound(); - if ( upper == null || upper.getKind()== TypeKind.NULL ){ - return true; - } - return checkIsAssignable(types, argType, upper); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EnableBeansFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EnableBeansFilter.java deleted file mode 100644 index 73f7a679b093..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EnableBeansFilter.java +++ /dev/null @@ -1,597 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.PackageElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.type.TypeVariable; -import javax.lang.model.type.WildcardType; -import javax.lang.model.util.ElementFilter; -import javax.lang.model.util.Elements; -import javax.lang.model.util.Types; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ErrorImpl; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.InjectableResultImpl; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.InjectablesResultImpl; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResolutionErrorImpl; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -class EnableBeansFilter { - - static final String DECORATOR = "jakarta.decorator.Decorator"; // NOI18N - - static final String EXTENSION = "jakarta.enterprise.inject.spi.Extension";// NOI18N - - static String SCOPE = "jakarta.inject.Scope"; // NOI18N - - private final HashSet predefinedBeans; - { - predefinedBeans = new HashSet<>(); - predefinedBeans.add(EventInjectionPointLogic.EVENT_INTERFACE); - predefinedBeans.add("jakarta.servlet.http.HttpServletRequest");//NOI18N - predefinedBeans.add("jakarta.servlet.http.HttpSession");//NOI18N - predefinedBeans.add("jakarta.servlet.ServletContext");//NOI18N - predefinedBeans.add("jakarta.jms.JMSContext");//NOI18N - predefinedBeans.add(AnnotationUtil.INJECTION_POINT);//NOI18N - predefinedBeans.add("jakarta.enterprise.inject.spi.BeanManager");//NOI18N - predefinedBeans.add("jakarta.transaction.UserTransaction");//NOI18N - predefinedBeans.add("java.security.Principal");//NOI18N - predefinedBeans.add("jakarta.validation.ValidatorFactory");//NOI18N - predefinedBeans.add("jakarta.faces.application.Application");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.ApplicationMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.FlowMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.HeaderMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.HeaderValuesMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.InitParameterMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.ManagedProperty");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.RequestCookieMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.RequestMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.RequestParameterMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.RequestParameterValuesMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.SessionMap");//NOI18N - predefinedBeans.add("jakarta.faces.annotation.ViewMap");//NOI18N - predefinedBeans.add("jakarta.faces.context.ExternalContext");//NOI18N - predefinedBeans.add("jakarta.faces.context.FacesContext");//NOI18N - }; - - private final HashMap predefinedBeanAnnotationPairs; - { - predefinedBeanAnnotationPairs = new HashMap<>(); - predefinedBeanAnnotationPairs.put("jakarta.faces.flow.builder.FlowBuilder","jakarta.faces.flow.builder.FlowBuilderParameter");//NOI18N - }; - - EnableBeansFilter(ResultImpl result, WebBeansModelImplementation model , - boolean programmatic ) - { - myResult = result; - myHelper = model.getHelper(); - myBeansModel = model.getBeansModel(); - myModel = model; - isProgrammatic = programmatic; - } - - DependencyInjectionResult filter(AtomicBoolean cancel){ - myAlternatives = new HashSet(); - myEnabledAlternatives = new HashSet(); - - PackagingFilter filter = new PackagingFilter(getWebBeansModel()); - Set typeElements = getResult().getTypeElements(); - - TypeElement firstElement = typeElements.size()>0 ? typeElements.iterator().next() : null; - - // remove elements defined in compile class path which doesn't have beans.xml - filter.filter( typeElements, cancel ); - for (TypeElement typeElement : typeElements) { - if ( getResult().isAlternative(typeElement)){ - myAlternatives.add( typeElement ); - addEnabledAlternative( typeElement , typeElement); - } - } - // remove elements defined in compile class path which doesn't have beans.xml - Set productions = packagedFilterProductions ( ); - - for (Element element : productions) { - TypeElement enclosingTypeElement = myHelper.getCompilationController(). - getElementUtilities().enclosingTypeElement(element); - if ( getResult().isAlternative(element)){ - myAlternatives.add( element ); - addEnabledAlternative( enclosingTypeElement , element ); - } - } - - Set enabledTypeElements = new HashSet( typeElements ); - Set enabledProductions = new HashSet( productions ); - myAlternatives.removeAll(myEnabledAlternatives); - // now myAlternative contains only disabled alternatives. - enabledProductions.removeAll( myAlternatives ); - enabledTypeElements.removeAll( myAlternatives ); - - int typesSize = enabledTypeElements.size(); - int productionsSize = enabledProductions.size(); - - // filter enabled/disabled beans - Set enabledTypes = findEnabledTypes( enabledTypeElements ); - findEnabledProductions( enabledProductions); - int commonSize = enabledTypes.size() + enabledProductions.size(); - if ( commonSize == 1 ){ - Element injectable = enabledTypes.size() ==0 ? - enabledProductions.iterator().next(): - enabledTypes.iterator().next(); - enabledTypes.addAll( enabledProductions); - return new InjectableResultImpl( getResult(), injectable, enabledTypes ); - } - if ( commonSize ==0 ){ - //no implementation on classpath/sources or it's fileterd by common logic(for usual beans) - //first check if we have a class in white list (i.e. must be implemented in ee7 environment) - String nm = myResult.getVariableType().toString(); - if(nm.startsWith("jakarta.") || nm.startsWith("java.")) {//NOI18N - InjectableResultImpl res = handleEESpecificImplementations(getResult(), firstElement, enabledTypes); - if(res != null) { - return res; - } - } - // - if ( typeElements.size() == 0 && productions.size() == 0 ){ - return new ErrorImpl(getResult().getVariable(), - getResult().getVariableType(), NbBundle.getMessage( - EnableBeansFilter.class, "ERR_NoFound")); // NOI18N - } - if ( typesSize==0 && productionsSize == 0 ) - { - /* no elements was eliminated after check for "enabling" - * ( by the spec ). So they are all alternatives that - * was not turned on in beans.xml. - */ - return new ResolutionErrorImpl(getResult(), NbBundle.getMessage( - EnableBeansFilter.class, "ERR_AlternativesOnly")); // NOI18N - } - return new ResolutionErrorImpl( getResult(), NbBundle.getMessage( - EnableBeansFilter.class, "ERR_NoEnabledBeans")); // NOI18N - } - Set allElements = new HashSet( enabledTypes ); - allElements.addAll( enabledProductions ); - allElements.retainAll( myEnabledAlternatives ); - boolean hasSingleAlternative = allElements.size() == 1; - if ( hasSingleAlternative ){ - /* - * Spec : When an ambiguous dependency exists, the container attempts - * to resolve the ambiguity: - * - If any matching beans are alternatives, the container - * eliminates all matching beans that are not alternatives. - * If there is exactly one bean remaining, the container will select - * this bean, and the ambiguous dependency is called resolvable. - */ - enabledTypes.addAll( enabledProductions); - return new InjectableResultImpl( getResult(), - allElements.iterator().next(), enabledTypes ); - } - - enabledTypes.addAll( enabledProductions); - if ( isProgrammatic ){ - return new InjectablesResultImpl(getResult() , enabledTypes ); - } - else { - String message = NbBundle.getMessage(EnableBeansFilter.class, - "ERR_UnresolvedAmbiguousDependency"); // NOI81N - return new ResolutionErrorImpl(getResult(), message, enabledTypes); - } - } - - /* - * This method should filter production elements which are defined - * in the classes inside compile class path without beans.xml. - * But NB doesn't perform indexing and search for fields and methods - * inside compile class path at all so there will be no production - * elements inside compile class path. - * So I commented out this block of logic to avoid wasting time . - */ - private Set packagedFilterProductions() { - return getResult().getProductions(); - /*Map> productions = - getResult().getAllProductions(); - List filtered = new ArrayList( productions.size()); - for (Entry> entry : productions.entrySet()) { - Element element = entry.getKey(); - List list = entry.getValue(); - int size = list.size(); - PackagingFilter filter = new PackagingFilter(myModel); - filter.filterTypes( list ); - if ( list.size() == 0 ){ - filtered.add( element ); - } - } - for( Element element : filtered ){ - productions.remove( element ); - } - return productions.keySet();*/ - } - - private void findEnabledProductions(Set productions ) - { - /* - * This is partial implementation of the spec : - * A bean is said to be enabled if: - * - it is not a producer method or field of a disabled bean - * Full check for enabled/disabled bean is very complicated. - * Here is check only for enabled alternatives if any. - */ - for (Iterator iterator = productions.iterator(); - iterator.hasNext(); ) - { - Element element = iterator.next(); - TypeElement enclosingTypeElement = getHelper(). - getCompilationController().getElementUtilities(). - enclosingTypeElement(element); - if ( getResult().isAlternative(enclosingTypeElement)){ - String name = enclosingTypeElement.getQualifiedName().toString(); - if ( getResult().hasAlternative(enclosingTypeElement) ){ - if ( !getModel().getAlternativeClasses().contains( name ) ){ - iterator.remove(); - } - } - if ( !alternativeStereotypesEnabled(enclosingTypeElement) ){ - iterator.remove(); - } - } - } - } - - private Set findEnabledTypes(Set elements) { - LinkedList types = new LinkedList( elements ); - Set result = new HashSet( elements ); - while( types.size() != 0 ) { - TypeElement typeElement = (TypeElement)types.remove(); - if ( !checkClass( typeElement )){ - result.remove( typeElement ); - continue; - } - checkProxyability( typeElement , types, result ); - checkSpecializes(typeElement, types, result , elements ); - } - return result; - } - - private boolean checkClass( TypeElement element ){ - if ( element.getKind() != ElementKind.CLASS ){ - return false; - } - Set modifiers = element.getModifiers(); - - Element enclosing = element.getEnclosingElement(); - if ( !( enclosing instanceof PackageElement) ){ - /* - * If class is inner class then it should be static. - */ - if ( !modifiers.contains( Modifier.STATIC ) ){ - return false; - } - } - Elements elements = getHelper().getCompilationController().getElements(); - Types types = getHelper().getCompilationController().getTypes(); - - List allAnnotations = elements. - getAllAnnotationMirrors(element); - - if ( modifiers.contains( Modifier.ABSTRACT ) && - !getHelper().hasAnnotation(allAnnotations, DECORATOR ) ) - { - /* - * If class is abstract it should be Decorator. - */ - return false; - } - TypeElement extensionElement = elements.getTypeElement( EXTENSION ); - if ( extensionElement!= null ){ - TypeMirror extensionType = extensionElement.asType(); - /* - * Class doesn't implement Extension - */ - if ( types.isAssignable( element.asType(), extensionType )){ - return false; - } - } - /* - * There should be either no parameters CTOR or CTOR is annotated with @Inject - */ - List constructors = ElementFilter.constructorsIn( - element.getEnclosedElements()); - boolean foundCtor = constructors.size() ==0; - for (ExecutableElement ctor : constructors) { - if ( ctor.getParameters().size() == 0 ){ - foundCtor = true; - break; - } - if ( getHelper().hasAnnotation(allAnnotations, - FieldInjectionPointLogic.INJECT_ANNOTATION)) - { - foundCtor = true; - break; - } - } - return foundCtor; - } - - private void checkProxyability( TypeElement typeElement, - LinkedList types , Set elements) - { - try { - String scope = ParameterInjectionPointLogic.getScope(typeElement, - getWebBeansModel().getHelper()); - Elements elementsUtil = getHelper().getCompilationController(). - getElements(); - TypeElement scopeElement = elementsUtil.getTypeElement(scope); - /* - * Client proxies are never required for a bean whose - * scope is a pseudo-scope such as @Dependent. - */ - if ( scopeElement == null || - getHelper().hasAnnotation( elementsUtil.getAllAnnotationMirrors( - scopeElement), SCOPE) ) - { - return; - } - } - catch (CdiException e) { - types.remove( typeElement ); - elements.remove( typeElement); - return; - } - /* - * Certain legal bean types cannot be proxied by the container: - * - classes which don't have a non-private constructor with no parameters, - * - classes which are declared final or have final methods, - * - primitive types, - * - and array types. - */ - if ( hasModifier(typeElement, Modifier.FINAL)){ - types.remove(typeElement); - elements.remove( typeElement ); - return; - } - checkFinalMethods(typeElement, types, elements); - - List constructors = ElementFilter.constructorsIn( - typeElement.getEnclosedElements()) ; - boolean appropriateCtor = false; - for (ExecutableElement constructor : constructors) { - if ( hasModifier(constructor, Modifier.PRIVATE)){ - continue; - } - if ( constructor.getParameters().size() == 0 ){ - appropriateCtor = true; - break; - } - } - - if ( !appropriateCtor){ - types.remove(typeElement); - elements.remove( typeElement ); - } - } - - private void checkFinalMethods( TypeElement typeElement, - LinkedList types, Set elements ) - { - TypeMirror variableType = getResult().getVariableType(); - DeclaredType beanType = getDeclaredType( variableType ); - if ( beanType == null ){ - return; - } - Element beanElement = beanType.asElement(); - if ( !( beanElement instanceof TypeElement )){ - return; - } - List methods = ElementFilter.methodsIn( - getHelper().getCompilationController().getElements().getAllMembers( - (TypeElement)beanElement)) ; - TypeElement objectElement = getHelper().getCompilationController(). - getElements().getTypeElement(Object.class.getCanonicalName()); - for (ExecutableElement executableElement : methods) { - // Skip Object methods , Fix for BZ#201825 - suspicious messages for @Injection - if ( executableElement.getEnclosingElement().equals( objectElement ) ){ - continue; - } - if ( hasModifier(executableElement, Modifier.FINAL)){ - types.remove(typeElement); - elements.remove( typeElement ); - return; - } - Element overloaded = getHelper().getCompilationController(). - getElementUtilities().getImplementationOf(executableElement, - typeElement); - if ( overloaded == null ){ - continue; - } - if ( hasModifier(overloaded, Modifier.FINAL)){ - types.remove(typeElement); - elements.remove( typeElement ); - return; - } - } - } - - private DeclaredType getDeclaredType( TypeMirror type ){ - if ( type instanceof DeclaredType && type.getKind()!= TypeKind.ERROR){ - return (DeclaredType)type; - } - if ( type instanceof TypeVariable ){ - TypeMirror upperBound = ((TypeVariable)type).getUpperBound(); - return getDeclaredType( upperBound ); - } - else if ( type instanceof WildcardType ){ - TypeMirror extendsBound = ((WildcardType)type).getExtendsBound(); - return getDeclaredType( extendsBound ); - } - return null; - } - - private boolean hasModifier ( Element element , Modifier mod){ - Set modifiers = element.getModifiers(); - for (Modifier modifier : modifiers) { - if (modifier == mod) { - return true; - } - } - return false; - } - - private void checkSpecializes( TypeElement typeElement, - LinkedList beans, Set resultElementSet, - Set originalElements) - { - TypeElement current = typeElement; - while( current != null ){ - TypeMirror superClass = current.getSuperclass(); - if (!(superClass instanceof DeclaredType)) { - break; - } - if (!AnnotationObjectProvider.hasSpecializes(current, getHelper())) { - break; - } - TypeElement superElement = (TypeElement) ((DeclaredType) superClass) - .asElement(); - if (originalElements.contains(superElement)) { - resultElementSet.remove(superElement); - } - beans.remove( superElement ); - if ( !getResult().getTypeElements().contains( superElement)){ - break; - } - current = superElement; - } - } - - private void addEnabledAlternative( TypeElement typeElement , Element element) { - String name = typeElement.getQualifiedName().toString(); - if ( getResult().hasAlternative(element) ){ - if ( !getModel().getAlternativeClasses().contains( name ) ){ - return; - } - /* - * I have commented the code below but I'm not sure is it - * correct. Specification doesn't mention the case - * when @Alternative annotation presents along with - * alternative Stereotypes. - * - * if ( getModel().getAlternativeClasses().contains( name ) ){ - * myEnabledAlternatives.add( element ); - return; - } - */ - } - if ( alternativeStereotypesEnabled(element)){ - myEnabledAlternatives.add( element ); - } - } - - private boolean alternativeStereotypesEnabled( Element element ){ - List stereotypes = getResult().getStereotypes(element); - for (AnnotationMirror annotationMirror : stereotypes) { - DeclaredType annotationType = annotationMirror.getAnnotationType(); - TypeElement annotationTypeElement = (TypeElement)annotationType.asElement(); - if ( getResult().isAlternative(annotationTypeElement) ){ - if ( getResult().hasAlternative(annotationTypeElement) ){ - String name = annotationTypeElement.getQualifiedName().toString(); - if ( !getModel().getAlternativeStereotypes().contains(name) ){ - return false; - } - } - else if ( !alternativeStereotypesEnabled(annotationTypeElement) ){ - return false; - } - } - } - return true; - } - - private ResultImpl getResult(){ - return myResult; - } - - private BeansModel getModel(){ - return myBeansModel; - } - - private AnnotationModelHelper getHelper(){ - return myHelper; - } - - private WebBeansModelImplementation getWebBeansModel(){ - return myModel; - } - - private Set myAlternatives; - private Set myEnabledAlternatives; - private ResultImpl myResult; - private final AnnotationModelHelper myHelper; - private final BeansModel myBeansModel; - private WebBeansModelImplementation myModel; - private boolean isProgrammatic; - - - - private InjectableResultImpl handleEESpecificImplementations(ResultImpl result, TypeElement firstElement, Set enabledTypes) { - if(result.getVariable() != null) { - String nm = result.getVariable().asType().toString(); - int c = nm.indexOf('<'); - if(c>0) { - nm = nm.substring(0,c); - } - if(predefinedBeans.contains(nm)) { - return new InjectableResultImpl( getResult(), firstElement, enabledTypes ); - } - String ann = predefinedBeanAnnotationPairs.get(nm); - if(ann != null) {//NOI18N - for(AnnotationMirror am:result.getVariable().getAnnotationMirrors()) { - if(ann.equals(am.getAnnotationType().toString())) {//NOI18N - return new InjectableResultImpl( getResult(), firstElement, enabledTypes ); - } - } - } - } - return null; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EventAssignabilityChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EventAssignabilityChecker.java deleted file mode 100644 index 414cd2ce7ab2..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EventAssignabilityChecker.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.List; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.ReferenceType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.type.TypeVariable; -import javax.lang.model.util.Types; - - -/** - * @author ads - * - */ -public class EventAssignabilityChecker extends AbstractAssignabilityChecker { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#checkParameter(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror) - */ - @Override - protected boolean checkParameter( TypeMirror argType, TypeMirror varTypeArg ) - { - if ( varTypeArg.getKind()== TypeKind.TYPEVAR ){ - Types types = getImplementation().getHelper().getCompilationController(). - getTypes(); - TypeMirror upperBound = ((TypeVariable)varTypeArg).getUpperBound(); - if ( upperBound == null || upperBound.getKind() == TypeKind.NULL ){ - return true; - } - else { - return checkIsAssignable(types, argType, upperBound); - } - } - return super.checkParameter(argType, varTypeArg); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#hasBeanType(javax.lang.model.element.Element, javax.lang.model.type.ReferenceType) - */ - @Override - protected boolean hasBeanType( Element element , ReferenceType variableType) { - // Event assignability has no additional requirements - return true; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleRawType(javax.lang.model.util.Types, java.util.List, javax.lang.model.element.TypeElement) - */ - @Override - protected boolean handleRequiredRawType( Types types, - List typeArguments, TypeElement objectElement ) - { - /* Variable type is a raw. - * From the spec for event type : A parameterized event type - * is considered assignable to a raw observed event type - * if the raw types are identical. - */ - return true; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleBeanRawType(javax.lang.model.util.Types, java.util.List, javax.lang.model.element.TypeElement) - */ - @Override - protected boolean handleBeanRawType( Types types, - List varTypeArguments, - TypeElement objectElement ) - { - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleTypeVar(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean handleBeanTypeVar( TypeMirror argType, TypeMirror varTypeArg, - Types types ) - { - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleBothTypeVars(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean handleBothTypeVars( TypeMirror argType, - TypeMirror varTypeArg, Types types ) - { - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleWildCardTypeVar(javax.lang.model.type.TypeMirror, javax.lang.model.util.Types, javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror) - */ - @Override - protected boolean handleWildCardTypeVar( TypeMirror argType, Types types, - TypeMirror upperBound, TypeMirror lowerBound ) - { - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#isAssignable(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean isAssignable( TypeMirror from, TypeMirror to, Types types ) - { - if ( !super.isAssignable(from, to, types) ){ - return false; - } - else { - return getImplementation().getHelper().getCompilationController(). - getTypes().isAssignable(from, to); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker#handleRequiredTypeVar(javax.lang.model.type.TypeMirror, javax.lang.model.type.TypeMirror, javax.lang.model.util.Types) - */ - @Override - protected boolean handleRequiredTypeVar( TypeMirror argType, - TypeMirror varTypeArg, Types types ) - { - return false; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EventInjectionPointLogic.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EventInjectionPointLogic.java deleted file mode 100644 index 86d5314f471c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/EventInjectionPointLogic.java +++ /dev/null @@ -1,514 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Name; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.ReferenceType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; - -import org.netbeans.api.java.source.ClassIndex.SearchKind; -import org.netbeans.api.java.source.ClassIndex.SearchScope; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHandler; -import org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker.AssignabilityType; - - -/** - * @author ads - * - */ -abstract class EventInjectionPointLogic extends ParameterInjectionPointLogic { - - public static final String EVENT_INTERFACE = - "jakarta.enterprise.event.Event"; // NOI18N - - - EventInjectionPointLogic(WebBeansModelImplementation model ) { - super( model ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getObservers(javax.lang.model.element.VariableElement, javax.lang.model.type.DeclaredType) - */ - @Override - public List getObservers( VariableElement element, - DeclaredType parentType) - { - DeclaredType parent = parentType; - try { - parent = getParent(element, parentType); - } - catch (DefinitionError e) { - return null; - } - - TypeMirror type = getParameterType(element, parent, EVENT_INTERFACE); - if ( type == null || type.getKind() == TypeKind.ERROR ){ - return Collections.emptyList(); - } - - List qualifierAnnotations = new LinkedList(); - try { - hasAnyQualifier(element, true, true ,qualifierAnnotations); - } - catch(InjectionPointDefinitionError e ){ - return null; - } - boolean hasAny = qualifierAnnotations.size()==0; - - final List methodObservesParameters = - findObservesParameters(); - - Map parameterTypesMap = - new HashMap(); - for (ObserverTriple triple : methodObservesParameters ) { - ExecutableElement method = triple.getFirst(); - VariableElement parameter = triple.getSecond(); - int index = triple.getThird(); - TypeElement typeElement = getCompilationController(). - getElementUtilities().enclosingTypeElement( method ); - TypeMirror typeMirror = typeElement.asType(); - if ( typeMirror instanceof DeclaredType ){ - ExecutableType methodType = (ExecutableType) - getCompilationController().getTypes().asMemberOf( - (DeclaredType)typeMirror, method ); - List parameterTypes = methodType.getParameterTypes(); - - TypeMirror parameterType = parameterTypes.get( index ); - parameterTypesMap.put(parameter, parameterType); - } - - } - if ( !hasAny ){ - Set elements = parameterTypesMap.keySet(); - filterByQualifiers( qualifierAnnotations , elements); - filterBindingsByMembers(qualifierAnnotations, elements, Element.class); - } - - List result = new ArrayList( - parameterTypesMap.size()); - filterParametersByType( parameterTypesMap , type ); - for( Element parameter : parameterTypesMap.keySet() ){ - Element method = parameter.getEnclosingElement(); - if ( method.getKind() == ElementKind.METHOD){ - result.add( (ExecutableElement)method); - } - } - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getObserverParameter(javax.lang.model.element.ExecutableElement) - */ - @Override - public VariableElement getObserverParameter( ExecutableElement element ) - { - Triple result = - doGetObserverParameter(element); - if ( result == null ){ - return null; - } - else { - return result.getFirst(); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getEventInjectionPoints(javax.lang.model.element.ExecutableElement, javax.lang.model.type.DeclaredType) - */ - @Override - public List getEventInjectionPoints( - ExecutableElement element, DeclaredType parentType ) - { - DeclaredType parent = parentType; - try { - parent = getParent(element, parentType); - } - catch (DefinitionError e) { - return null; - } - - TypeMirror type = getCompilationController().getTypes().asMemberOf(parent, - element ); - - Triple parameterInfo = - doGetObserverParameter(element); - VariableElement parameter = parameterInfo.getFirst(); - int index = parameterInfo.getSecond(); - - if ( parameter == null ){ - return Collections.emptyList(); - } - - List eventInjectionPoints = getEventInjectionPoints(); - - filterByQualifiers( eventInjectionPoints, parameter); - - List parameterTypes = ((ExecutableType)type).getParameterTypes(); - - TypeMirror parameterType = parameterTypes.get( index ); - - filterEventInjectionsByType( eventInjectionPoints, parameterType); - return eventInjectionPoints; - } - - private List getEventInjectionPoints( ) - { - final List eventInjection = new LinkedList(); - try { - getModel().getHelper().getAnnotationScanner().findAnnotations(INJECT_ANNOTATION, - EnumSet.of( ElementKind.FIELD), new AnnotationHandler() { - - @Override - public void handleAnnotation( TypeElement type, - Element element, AnnotationMirror annotation ) - { - Element typeElement = getCompilationController().getTypes(). - asElement( element.asType() ); - if ( typeElement instanceof TypeElement && - element instanceof VariableElement ) - { - Name name = ((TypeElement)typeElement).getQualifiedName(); - if ( EVENT_INTERFACE.contentEquals( name )){ - eventInjection.add( (VariableElement) element); - } - } - } - }); - } - catch (InterruptedException e) { - LOGGER.warning("Finding annotation @Inject was interrupted"); // NOI18N - } - return eventInjection; - } - - private void filterByQualifiers( List qualifierAnnotations, - Set elements ) - { - Set requiredQualifiers = getAnnotationFqns(qualifierAnnotations); - - for (Iterator iterator = elements.iterator(); iterator.hasNext(); ) { - Element element = iterator.next(); - List annotationMirrors = - getCompilationController().getElements().getAllAnnotationMirrors( element ); - Set availableAnnotations = getAnnotationFqns(annotationMirrors); - if ( !availableAnnotations.containsAll( requiredQualifiers )){ - iterator.remove(); - } - } - } - - private void filterByQualifiers(List injectionPoints, - VariableElement parameter ) - { - List annotationMirrors = getCompilationController(). - getElements().getAllAnnotationMirrors( parameter ); - Set parameterAnnotations = getAnnotationFqns(annotationMirrors); - for (Iterator iterator = injectionPoints.iterator(); - iterator.hasNext() ; ) - { - VariableElement eventInjection = iterator.next(); - List eventQualifiers = new LinkedList(); - try { - hasAnyQualifier(eventInjection, true, true, eventQualifiers); - } - catch (InjectionPointDefinitionError e) { - iterator.remove(); - continue; - } - boolean hasAny = eventQualifiers.size() == 0; - if ( hasAny ){ - continue; - } - Set requiredQualifiers = getAnnotationFqns( eventQualifiers ); - if ( !parameterAnnotations.containsAll( requiredQualifiers) ){ - iterator.remove(); - continue; - } - if ( !checkQualifierMembers( eventQualifiers , annotationMirrors)){ - iterator.remove(); - continue; - } - } - } - - private boolean checkQualifierMembers( - List eventQualifiers, - List observerAnnotations ) - { - for (AnnotationMirror annotation : eventQualifiers) { - Map - elementValues = annotation.getElementValues(); - Set qualifierMembers = MemberBindingFilter. - collectBindingMembers( annotation, getModel()); - if ( !checkMember( elementValues , qualifierMembers, - observerAnnotations )) - { - return false; - } - } - return true; - } - - private boolean checkMember( - Map memberValues, - Set qualifierMembers, - List observerAnnotations ) - { - for( Entry entry : - memberValues.entrySet()) - { - ExecutableElement execElement = entry.getKey(); - AnnotationValue value = entry.getValue(); - if ( qualifierMembers.contains( execElement )) { - Element annotationElement = execElement.getEnclosingElement(); - if ( !( annotationElement instanceof TypeElement ) ){ - return false; - } - String annotationName = ((TypeElement)annotationElement). - getQualifiedName().toString(); - AnnotationMirror annotationMirror = getModel().getHelper() - .getAnnotationsByType(observerAnnotations).get(annotationName); - if ( annotationMirror == null ){ - return false; - } - Map - elementValues = annotationMirror.getElementValues(); - AnnotationValue valueForType = elementValues.get(execElement); - if (!MemberCheckerFilter.equals(value, valueForType)) { - return false; - } - } - } - return true; - } - - private Triple doGetObserverParameter( - ExecutableElement element ) - { - List parameters = element.getParameters(); - int index = 0 ; - for (VariableElement parameter : parameters) { - List allAnnotationMirrors = - getCompilationController().getElements(). - getAllAnnotationMirrors( parameter ); - for (AnnotationMirror annotationMirror : allAnnotationMirrors) { - DeclaredType annotationType = annotationMirror.getAnnotationType(); - TypeElement annotation = (TypeElement)annotationType.asElement(); - if ( annotation == null ){ - continue; - } - if ( OBSERVES_ANNOTATION.contentEquals( annotation.getQualifiedName())){ - return new Triple(parameter, index, null); - } - } - index++; - } - return null; - } - - private void filterParametersByType( - Map parameterTypesMap, TypeMirror type ) - { - AbstractAssignabilityChecker checker = AbstractAssignabilityChecker.get( - AssignabilityType.EVENT); - for (Iterator> iterator = - parameterTypesMap.entrySet().iterator();iterator.hasNext() ; ) - { - Entry entry = iterator.next(); - TypeMirror typeMirror = entry.getValue(); - - boolean assignable = isAssignable(type, typeMirror, checker); - - if ( !assignable ){ - iterator.remove(); - } - } - } - - private void filterEventInjectionsByType( - List eventInjectionPoints, - TypeMirror parameterType) - { - AbstractAssignabilityChecker checker = AbstractAssignabilityChecker.get( - AssignabilityType.EVENT ); - for (Iterator iterator = - eventInjectionPoints.iterator();iterator.hasNext() ; ) - { - VariableElement injection = iterator.next(); - TypeMirror type = getParameterType(injection, null, EVENT_INTERFACE); - - boolean assignable = isAssignable(type, parameterType, - checker); - - if ( !assignable ){ - iterator.remove(); - } - } - } - - private boolean isAssignable( TypeMirror subject , TypeMirror toType , - AbstractAssignabilityChecker checker) - { - if ( subject == null ){ - return false; - } - boolean assignable = false; - - Element typeElement = getCompilationController().getTypes().asElement( toType ); - - boolean isGeneric = (typeElement instanceof TypeElement) && - ((TypeElement)typeElement).getTypeParameters().size() != 0; - - if ( !isGeneric && getCompilationController(). - getTypes().isAssignable( subject, toType)) - { - return true; - } - - if ( subject instanceof ReferenceType && - toType instanceof ReferenceType) - { - checker.init((ReferenceType)toType, (ReferenceType)subject, getModel()); - assignable = checker.check(); - } - return assignable; - } - - /* - * Unfortunately annotation scanner ( getHelper().getAnnotationScanner() ) - * cannot be used for finding annotated method parameters. It doesn't - * work for them. So this method performs find usages of @Observes annotation - * and chooses appropriate elements. - */ - private List findObservesParameters() - { - List result = new LinkedList(); - CompilationController compilationController = - getModel().getHelper().getCompilationController(); - TypeElement observesType = compilationController.getElements().getTypeElement( - OBSERVES_ANNOTATION); - if ( observesType == null ){ - return result; - } - ElementHandle observesHandle = ElementHandle.create(observesType); - final Set> elementHandles = compilationController. - getClasspathInfo().getClassIndex().getElements( - observesHandle, - EnumSet.of(SearchKind.TYPE_REFERENCES), - EnumSet.of(SearchScope.SOURCE, SearchScope.DEPENDENCIES)); - for (ElementHandle elementHandle : elementHandles) { - TypeElement resolvedType = elementHandle.resolve( compilationController); - - List enclosedElements = resolvedType. - getEnclosedElements(); - List methods = ElementFilter.methodsIn( - enclosedElements); - for (ExecutableElement method : methods) { - List parameters = method.getParameters(); - int index = 0; - for (VariableElement parameter : parameters) { - List annotationMirrors = - compilationController.getElements(). - getAllAnnotationMirrors( parameter); - if ( getModel().getHelper().hasAnnotation( annotationMirrors, - OBSERVES_ANNOTATION) ){ - result.add( new ObserverTriple( method, parameter, index) ); - } - index++; - } - } - } - return result; - } - - static Set getAnnotationFqns( Collection annotations ) - { - Set annotationFqns = new HashSet(); - for (AnnotationMirror annotationMirror : annotations) { - DeclaredType annotationType = annotationMirror.getAnnotationType(); - Element annotationElement = annotationType.asElement(); - TypeElement annotation = (TypeElement) annotationElement; - if ( annotation == null ){ - continue; - } - annotationFqns.add( annotation.getQualifiedName().toString()); - } - return annotationFqns; - } - - private class ObserverTriple extends Triple{ - - ObserverTriple( ExecutableElement method, VariableElement parameter, - Integer index ) - { - super( method , parameter , index ); - } - } - - static class Triple { - Triple( T t , R r , S s){ - myFirst = t; - mySecond = r; - myThird = s; - } - - T getFirst(){ - return myFirst; - } - - R getSecond(){ - return mySecond; - } - - S getThird(){ - return myThird; - } - - private T myFirst; - private R mySecond; - private S myThird; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/FieldInjectionPointLogic.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/FieldInjectionPointLogic.java deleted file mode 100644 index e0a8d4e2c56b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/FieldInjectionPointLogic.java +++ /dev/null @@ -1,872 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.EnumSet; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.ClassIndex.SearchKind; -import org.netbeans.api.java.source.ClassIndex.SearchScope; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.ElementUtilities; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHandler; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObjectManager; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.AnnotationParser; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.ParseResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.DefinitionErrorResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; -import org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider; -import org.openide.util.NbBundle; - -import com.sun.source.tree.ExpressionTree; -import com.sun.source.tree.Tree; -import com.sun.source.tree.VariableTree; -import java.util.concurrent.atomic.AtomicBoolean; -import org.netbeans.api.java.source.ClassIndex; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType; - -/** - * @author ads - */ -abstract class FieldInjectionPointLogic { - - static final String PRODUCER_ANNOTATION = - "jakarta.enterprise.inject.Produces"; // NOI18N - - static final String ANY_QUALIFIER_ANNOTATION = - "jakarta.enterprise.inject.Any"; // NOI18N - - static final String DEFAULT_QUALIFIER_ANNOTATION = - "jakarta.enterprise.inject.Default"; // NOI18N - - static final String NEW_QUALIFIER_ANNOTATION = - "jakarta.enterprise.inject.New"; // NOI18N - - static final String NAMED_QUALIFIER_ANNOTATION = - "jakarta.inject.Named"; // NOI18N - - static final String INJECT_ANNOTATION = - "jakarta.inject.Inject"; // NOI18N - - static final String INSTANCE_INTERFACE = - "jakarta.enterprise.inject.Instance"; // NOI18N - - static final String TYPED_RESTRICTION = - "jakarta.enterprise.inject.Typed"; // NOI18N - - static final String DELEGATE_ANNOTATION = - "jakarta.decorator.Delegate"; // NOI18N - - static final Logger LOGGER = Logger.getLogger(WebBeansModelProvider.class - .getName()); - - - FieldInjectionPointLogic( WebBeansModelImplementation model) { - myModel = model; - } - - public abstract TypeMirror resolveType( String fqn ) ; - - protected WebBeansModelImplementation getModel(){ - return myModel; - } - - protected DependencyInjectionResult findVariableInjectable( VariableElement element, - DeclaredType parentType , ResultLookupStrategy strategy, AtomicBoolean cancel ) - { - DeclaredType parent = parentType; - try { - parent = getParent(element, parentType); - } - catch ( DefinitionError e ){ - TypeElement type = e.getElement(); - return new DefinitionErrorResult(element, parentType, - NbBundle.getMessage(WebBeansModelProviderImpl.class, - "ERR_BadParent", element.getSimpleName(), // NOI18N - type!= null? type.toString(): null)); - } - - if(cancel.get()) { - return null; - } - - TypeMirror elementType = strategy.getType(getModel(), parent , element ); - - if(elementType instanceof DeclaredType && AnnotationUtil.PROVIDER.equals(""+((DeclaredType)elementType).asElement())) { - List typeArguments = ((DeclaredType)elementType).getTypeArguments(); - if(typeArguments!=null && typeArguments.size()>0) { - //in case of Provider we need to inspects type argument instead of Provider type, see #245546 - elementType = typeArguments.get(0); - } - } - - DependencyInjectionResult result = doFindVariableInjectable(element, elementType, true, cancel); - return strategy.getResult( getModel() , result, cancel ); - } - - protected DeclaredType getParent( Element element , DeclaredType parentType) - throws DefinitionError - { - DeclaredType parent = parentType; - if ( parent == null ){ - TypeElement type = getModel().getHelper().getCompilationController(). - getElementUtilities().enclosingTypeElement(element); - - boolean isDeclaredType = ( type.asType() instanceof DeclaredType ); - if ( isDeclaredType ){ - parent = (DeclaredType)type.asType(); - } - else { - throw new DefinitionError( type ); - } - } - return parent; - } - - protected DependencyInjectionResult doFindVariableInjectable( VariableElement element, - TypeMirror elementType, boolean injectRequired, AtomicBoolean cancel) - { - List quilifierAnnotations = new LinkedList(); - boolean anyQualifier = false; - try { - anyQualifier = hasAnyQualifier(element,injectRequired, false, - quilifierAnnotations); - } - catch(InjectionPointDefinitionError e ){ - return new DefinitionErrorResult(element, elementType, e.getMessage()); - } - - /* - * Single @Default annotation means increasing types that - * is eligible for injection. Each bean without any qualifiers - * type has @Default qualifier by default. So it should - * be also considered as injectable. - */ - boolean defaultQualifier = !anyQualifier && quilifierAnnotations.size() == 0; - /* - * The @New target is - * @Target(value={FIELD,PARAMETER}) - * and injectable couldn't have any other qualifiers. - * So @New should be the only qualifier for injection point - * and it could be assigned by user to bean type. - */ - boolean newQualifier = false; - String annotationName = null; - Set types = new HashSet(); - if ( quilifierAnnotations.size() == 1 ){ - AnnotationMirror annotationMirror = quilifierAnnotations.get( 0 ); - DeclaredType type = annotationMirror.getAnnotationType(); - TypeElement annotationElement = (TypeElement)type.asElement(); - if ( annotationElement != null ){ - annotationName = annotationElement.getQualifiedName().toString(); - defaultQualifier = annotationElement.getQualifiedName().contentEquals( - DEFAULT_QUALIFIER_ANNOTATION); - newQualifier = annotationElement.getQualifiedName().contentEquals( - NEW_QUALIFIER_ANNOTATION ); - } - } - if ( (quilifierAnnotations.size() == 0 && anyQualifier) || - defaultQualifier ) - { - LOGGER.fine("Found built-in binding "+annotationName); // NOI18N - Set assignableTypes = cancel.get() ? new HashSet() : getAssignableTypes( element , - elementType, cancel ); - if ( defaultQualifier ){ - LOGGER.fine("@Default annotation requires test for implementors" + - " of varaible type"); // NOI18N - /* - * Filter all appropriate types for presence qualifier. - * It should be either absent at all or qualifiers - * should contain @Default. - */ - filterBindingsByDefault( assignableTypes ); - filterBindingByArchiveType( assignableTypes ); - } - types.addAll( assignableTypes ); - } - else if (newQualifier){ - return handleNewQualifier(element, elementType, quilifierAnnotations); - } - else { - /* - * This is list with types that have all required qualifiers. This - * list will be used for further typesafe resolution. - */ - Set typesWithQualifiers = getBindingTypes( - quilifierAnnotations); - - filterBindingsByMembers(quilifierAnnotations, typesWithQualifiers, - TypeElement.class ); - - /* - * Now typesWithQualifiers contains appropriate types - * which has required qualifier with required parameters ( if any ). - * Next step is filter types via typesafe resolution. - */ - filterBindingsByType( element , elementType, typesWithQualifiers ); - types.addAll( typesWithQualifiers ); - } - - /* - * This is list with production fields or methods ( they have @Produces annotation ) - * that have all required bindings. - * This list will be also used for further typesafe resolution. - */ - Set productionElements; - if ( (quilifierAnnotations.size() == 0 && anyQualifier) || - defaultQualifier ) - { - productionElements = getAllProductions( ); - if ( defaultQualifier ){ - filterDefaultProductions( productionElements ); - } - } - else { - productionElements = getProductions( quilifierAnnotations, cancel); - filterBindingsByMembers( quilifierAnnotations , productionElements , - Element.class ); - } - filterProductionByType( element, elementType, productionElements ); - - return createResult( element, elementType, types , productionElements ); - } - - protected boolean isQualifier( TypeElement element, - AnnotationModelHelper helper, boolean event ) - { - return AnnotationObjectProvider.isQualifier(element, helper, event); - } - - protected Set getChildSpecializes( Element productionElement, - WebBeansModelImplementation model, AtomicBoolean cancel ) - { - TypeElement typeElement = model.getHelper().getCompilationController() - .getElementUtilities().enclosingTypeElement(productionElement); - Set implementors = getImplementors(model, typeElement, cancel); - implementors.remove( productionElement.getEnclosingElement()); - Set specializeElements = new HashSet(); - specializeElements.add(productionElement); - for (TypeElement implementor : implementors) { - if(cancel.get()) { - break; - } - inspectHierarchy(productionElement, implementor, - specializeElements, model); - } - specializeElements.remove(productionElement); - return specializeElements; - } - - protected boolean hasAnyQualifier( VariableElement element,boolean injectRequired, - boolean eventQualifiers, List quilifierAnnotations ) - throws InjectionPointDefinitionError - { - List annotations = - getModel().getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(element); - boolean isProducer = false; - - /* Single @Any annotation means skip searching in qualifiers . - * One need to check any bean that has required type . - * @Any qualifier type along with other qualifiers - * equivalent to the same list of qualifiers without @Any. - */ - boolean anyQualifier = false; - - boolean hasInject = false; - - for (AnnotationMirror annotationMirror : annotations) { - DeclaredType type = annotationMirror.getAnnotationType(); - TypeElement annotationElement = (TypeElement)type.asElement(); - if ( annotationElement == null ){ - continue; - } - if ( ANY_QUALIFIER_ANNOTATION.equals( - annotationElement.getQualifiedName().toString())) - { - anyQualifier = true; - } - else if ( isQualifier( annotationElement , getModel().getHelper(), - eventQualifiers) ) - { - quilifierAnnotations.add( annotationMirror ); - } - if ( PRODUCER_ANNOTATION.contentEquals( - annotationElement.getQualifiedName())) - { - isProducer = true; - } - else if ( INJECT_ANNOTATION.contentEquals( - annotationElement.getQualifiedName())) - { - hasInject = true; - } - } - if ( isProducer ){ - throw new InjectionPointDefinitionError( - NbBundle.getMessage( WebBeansModelProviderImpl.class, - "ERR_ProducerInjectPoint" , // NOI18N - element.getSimpleName() )); - } - if ( element.asType().getKind() == TypeKind.TYPEVAR ){ - throw new InjectionPointDefinitionError( - NbBundle.getMessage( WebBeansModelProviderImpl.class, - "ERR_InjectPointTypeVar" , // NOI18N - element.getSimpleName() )); - } - if ( injectRequired ){ - checkInjectionPoint(element); - } - if ( injectRequired && !hasInject ){ - throw new InjectionPointDefinitionError( - NbBundle.getMessage( WebBeansModelProviderImpl.class, - "ERR_NoInjectPoint" , // NOI18N - element.getSimpleName() )); - } - return anyQualifier; - } - - private void checkInjectionPoint( VariableElement element ) - throws InjectionPointDefinitionError - { - CompilationController compilationController = getModel().getHelper(). - getCompilationController(); - Tree tree = compilationController.getTrees().getTree( element ); - if ( tree instanceof VariableTree ){ - VariableTree varTree = (VariableTree)tree; - ExpressionTree initializer = varTree.getInitializer(); - if ( initializer != null ){ - throw new InjectionPointDefinitionError(NbBundle.getMessage( - FieldInjectionPointLogic.class, - "ERR_InitializedInjectionPoint")); // NOI18N - } - } - Set modifiers = element.getModifiers(); - if ( modifiers.contains(Modifier.STATIC)){ - throw new InjectionPointDefinitionError(NbBundle.getMessage( - FieldInjectionPointLogic.class, - "ERR_StaticInjectionPoint")); // NOI18N - } - if ( modifiers.contains(Modifier.FINAL)){ - throw new InjectionPointDefinitionError(NbBundle.getMessage( - FieldInjectionPointLogic.class, - "ERR_FinalInjectionPoint")); // NOI18N - } - } - - protected void filterBindingsByMembers( - Collection bindingAnnotations, - Set elementsWithBindings, Class clazz) - { - MemberBindingFilter filter = MemberBindingFilter.get( clazz ); - filter.init( bindingAnnotations, getModel() ); - filter.filter( elementsWithBindings ); - } - - protected void filterBindingsByType( VariableElement element, - TypeMirror elementType,Set typesWithBindings) - { - TypeBindingFilter filter = TypeBindingFilter.get(); - filter.init( elementType, element, getModel() ); - filter.filter( typesWithBindings ); - } - - protected ResultImpl handleNewQualifier( VariableElement element, - TypeMirror elementType,List quilifierAnnotations) - { - AnnotationMirror annotationMirror = quilifierAnnotations.get( 0 ); - AnnotationParser parser = AnnotationParser.create( getModel().getHelper()); - parser.expectClass( "value", null); // NOI18N - ParseResult parseResult = parser.parse(annotationMirror); - String clazz = parseResult.get( "value" , String.class ); // NOI18N - - TypeMirror typeMirror; - if ( clazz == null ){ - typeMirror = elementType; - } - else { - typeMirror = resolveType( clazz ); - } - Element typeElement = null; - if ( typeMirror != null ) { - typeElement = getModel().getHelper().getCompilationController(). - getTypes().asElement(typeMirror); - } - if ( typeElement!= null ){ - /* - * No need to look at implementors . - * Because they have qualifier @New(X.class) where X their class. - * X is binding parameter which should equals to binding - * parameter of @New qualifier for injection point. This - * parameter is typeMirror class . So X should - * be ONLY typeMirror class which is typeElement. - * types.addAll(getImplementors(modelImpl, typeElement )); - */ - if( getModel().getHelper().getCompilationController().getTypes(). - isAssignable(typeMirror, elementType)) - { - return new ResultImpl(element, elementType , (TypeElement)typeElement , - getModel().getHelper()); - } - } - return new ResultImpl(element, elementType, getModel().getHelper()); - } - - static Set getImplementors( WebBeansModelImplementation modelImpl, - Element typeElement, AtomicBoolean cancel ) - { - if (! (typeElement instanceof TypeElement )){ - return Collections.emptySet(); - } - Set result = new HashSet(); - result.add( (TypeElement) typeElement ); - - Set toProcess = new HashSet(); - toProcess.add((TypeElement) typeElement ); - while ( toProcess.size() >0 && !cancel.get()){ - TypeElement element = toProcess.iterator().next(); - toProcess.remove( element ); - Set set = doGetImplementors(modelImpl, element, cancel ); - if ( set.size() == 0 ){ - continue; - } - result.addAll( set ); - for (TypeElement impl : set) { - toProcess.add(impl); - } - } - return result; - } - - private DependencyInjectionResult createResult( VariableElement element, - TypeMirror elementType, Set types, Set productions ) - { - return new ResultImpl(element, elementType, types, productions, - getModel().getHelper() ); - } - - private void inspectHierarchy( Element productionElement, - TypeElement implementor, Set specializeElements , - WebBeansModelImplementation model ) - { - List enclosedElements = implementor.getEnclosedElements(); - for (Element enclosedElement : enclosedElements) { - if ( enclosedElement.getKind() != ElementKind.METHOD) { - continue; - } - if ( !productionElement.getSimpleName().contentEquals( - enclosedElement.getSimpleName())) - { - continue; - } - Set probableSpecializes = new HashSet(); - if ( collectSpecializes( productionElement , - (ExecutableElement)enclosedElement , model , - probableSpecializes , specializeElements)) - { - // for one method there could be just one override method in considered class - specializeElements.addAll( probableSpecializes ); - return; - } - } - } - - private boolean collectSpecializes( Element productionElement, - ExecutableElement element, WebBeansModelImplementation model, - Set probableSpecializes, Set specializeElements ) - { - ElementUtilities elementUtilities = - model.getHelper().getCompilationController().getElementUtilities(); - if ( !elementUtilities.overridesMethod(element)){ - return false; - } - ExecutableElement overriddenMethod = elementUtilities. - getOverriddenMethod( element); - if ( overriddenMethod == null ){ - return false; - } - if (!AnnotationObjectProvider.hasSpecializes(element, model.getHelper())){ - return false; - } - probableSpecializes.add( element); - if( overriddenMethod.equals( productionElement ) || - specializeElements.contains( productionElement)) - { - return true; - } - else { - return collectSpecializes(productionElement, overriddenMethod, model, - probableSpecializes, specializeElements); - } - } - - private static Set doGetImplementors( - WebBeansModelImplementation modelImpl, TypeElement typeElement, AtomicBoolean cancel ) - { - Set result = new HashSet(); - ElementHandle handle = ElementHandle.create(typeElement); - ClassIndex classIndex = modelImpl - .getHelper().getClasspathInfo().getClassIndex(); - if(cancel.get()) { - return Collections.emptySet(); - } - final Set> handles = classIndex - .getElements( - handle, - EnumSet.of(SearchKind.IMPLEMENTORS), - EnumSet.of(SearchScope.SOURCE, - SearchScope.DEPENDENCIES)); - if (handles == null) { - LOGGER.log(Level.WARNING, - "ClassIndex.getElements() was interrupted"); // NOI18N - return Collections.emptySet(); - } - for (ElementHandle elementHandle : handles) { - if(cancel.get()) { - return Collections.emptySet(); - } - LOGGER.log(Level.FINE, "found derived element {0}", - elementHandle.getQualifiedName()); // NOI18N - TypeElement derivedElement = elementHandle.resolve(modelImpl - .getHelper().getCompilationController()); - if (derivedElement == null) { - continue; - } - result.add(derivedElement); - } - return result; - } - - private void filterDefaultProductions( Set productionElements ) - { - DefaultBindingTypeFilter filter = DefaultBindingTypeFilter.get( - Element.class); - filter.init( getModel() ); - filter.filter( productionElements ); - } - - private Set getAllProductions( ){ - final Set result = new HashSet(); - try { - getModel().getHelper().getAnnotationScanner().findAnnotations( - PRODUCER_ANNOTATION, - EnumSet.of( ElementKind.FIELD, ElementKind.METHOD), - new AnnotationHandler() { - @Override - public void handleAnnotation( TypeElement type, - Element element,AnnotationMirror annotation ) - { - result.add( element ); - } - }); - } - catch (InterruptedException e) { - LOGGER.warning("Finding annotation "+PRODUCER_ANNOTATION+ - " was interrupted"); // NOI18N - } - return result; - } - - private void filterProductionByType( VariableElement element, - TypeMirror elementType, Set productionElements ) - { - TypeProductionFilter filter = TypeProductionFilter.get( ); - filter.init( elementType, element, getModel()); - filter.filter( productionElements ); - } - - private void filterBindingsByDefault( Set assignableTypes ){ - DefaultBindingTypeFilter filter = DefaultBindingTypeFilter.get( - TypeElement.class); - filter.init( getModel() ); - filter.filter( assignableTypes ); - } - - private void filterBindingByArchiveType(Set assignableTypes) { - ArchiveTypeBindingTypeFilter filter = ArchiveTypeBindingTypeFilter.get(TypeElement.class); - filter.init(getModel()); - filter.filter(assignableTypes); - } - - private Set getAssignableTypes( VariableElement element, - TypeMirror elementType, AtomicBoolean cancel ) - { - if (elementType.getKind() != TypeKind.DECLARED) { - return Collections.emptySet(); - } - Element typeElement = ((DeclaredType) elementType).asElement(); - if (!(typeElement instanceof TypeElement)) { - return Collections.emptySet(); - } - if (!((TypeElement) typeElement).getTypeParameters().isEmpty()) { - return getAssignables( elementType, (TypeElement)typeElement, - element, cancel ); - } - else { - Set implementors = getImplementors(getModel(), typeElement, cancel); - restrictedTypeFilter( implementors , (TypeElement)typeElement ); - return implementors; - } - } - - private void restrictedTypeFilter( Set allImplementors , - TypeElement originalElement ) { - RestrictedTypedFilter filter = new RestrictedTypedFilter(); - filter.init( originalElement , getModel()); - filter.filter( allImplementors ); - } - - private Set getAssignables( TypeMirror elementType, - TypeElement typeElement , VariableElement element, AtomicBoolean cancel) - { - Set result = getImplementors(getModel(), typeElement, cancel); - - // Now filter all found child classes according to real element type ( type mirror ) - TypeBindingFilter filter = TypeBindingFilter.get(); - filter.init( elementType, element, getModel() ); - filter.filter( result ); - return result; - } - - /* - * Method finds production elements which have appropriate binding types. - */ - private Set getProductions( - List qualifierAnnotations, AtomicBoolean cancel) - { - List> bindingCollections = - new ArrayList>( qualifierAnnotations.size()); - /* - * One need to handle special case with @Default annotation - * in case of specialization. There can be a case - * when production method doesn't explicitly declare @Default but - * specialize other method with several appropriate qualifiers. - * In this case original method will have @Default along with - * qualifiers "inherited" from specialized methods. - */ - boolean hasDefault = getModel().getHelper().getAnnotationsByType( - qualifierAnnotations ).get(DEFAULT_QUALIFIER_ANNOTATION) != null ; - Set currentBindings = new HashSet(); - for (AnnotationMirror annotationMirror : qualifierAnnotations) { - if(cancel.get()) { - currentBindings.clear(); - break; - } - DeclaredType type = annotationMirror.getAnnotationType(); - TypeElement annotationElement = (TypeElement)type.asElement(); - if ( annotationElement == null ){ - continue; - } - String annotationFQN = annotationElement.getQualifiedName().toString(); - findAnnotation( bindingCollections, annotationFQN , hasDefault, - currentBindings, cancel); - } - - if ( hasDefault ){ - bindingCollections.add( currentBindings ); - } - - Set result= null; - for ( int i=0; i list = bindingCollections.get(i); - if ( i==0 ){ - result = list; - } - else { - result.retainAll( list ); - } - } - if ( result == null ){ - return Collections.emptySet(); - } - return result; - } - - private void findAnnotation( final List> bindingCollections, - final String annotationFQN ,final boolean hasCurrent , - final Set currentBindings, - final AtomicBoolean cancel) - { - try { - final Set bindings = new HashSet(); - getModel().getHelper().getAnnotationScanner().findAnnotations( - annotationFQN, - EnumSet.of( ElementKind.FIELD, ElementKind.METHOD), - new AnnotationHandler() { - @Override - public void handleAnnotation( TypeElement type, - Element element,AnnotationMirror annotation ) - { - if (AnnotationObjectProvider.hasAnnotation( - element, PRODUCER_ANNOTATION, - getModel().getHelper())) - { - bindings.add(element); - bindings.addAll(getChildSpecializes( - element, getModel(), cancel)); - if (annotationFQN - .contentEquals(DEFAULT_QUALIFIER_ANNOTATION)) - { - currentBindings.addAll(bindings); - } - else { - bindingCollections.add(bindings); - } - } - } - }); - if ( hasCurrent ){ - for (Element element : bindings) { - if ( AnnotationObjectProvider.checkDefault( - element, getModel().getHelper())) - { - currentBindings.add( element ); - } - } - } - } - catch (InterruptedException e) { - LOGGER.warning("Finding annotation "+annotationFQN+ - " was interrupted"); // NOI18N - } - } - - /* - * Method finds type elements which have appropriate binding types. - */ - private Set getBindingTypes( List qualifierAnnotations ){ - List> bindingCollections = - new ArrayList>( qualifierAnnotations.size()); - - /* - * One need to handle special case with @Default annotation - * in case of specialization. There can be a case - * when bean doesn't explicitly declare @Default but - * specializes other beans with several appropriate qualifiers. - * In this case original bean will have @Default along with - * qualifiers "inherited" from specialized beans. - */ - boolean hasDefault = getModel().getHelper().getAnnotationsByType( - qualifierAnnotations ).get(DEFAULT_QUALIFIER_ANNOTATION) != null ; - Set defaultQualifiers = new HashSet(); - for (AnnotationMirror annotationMirror : qualifierAnnotations) { - DeclaredType type = annotationMirror.getAnnotationType(); - TypeElement annotationElement = (TypeElement) type.asElement(); - if ( annotationElement == null ){ - continue; - } - String annotationFQN = annotationElement.getQualifiedName() - .toString(); - PersistentObjectManager manager = getModel() - .getManager(annotationFQN); - Collection bindings = manager.getObjects(); - if (annotationFQN.contentEquals(DEFAULT_QUALIFIER_ANNOTATION)) { - defaultQualifiers.addAll(bindings); - } - else { - bindingCollections.add(new HashSet(bindings)); - if (hasDefault) { - for (BindingQualifier binding : bindings) { - if (AnnotationObjectProvider - .checkDefault(binding.getTypeElement(), - getModel().getHelper())) - { - defaultQualifiers.add(new BindingQualifier( - getModel().getHelper(), binding - .getTypeElement(), - DEFAULT_QUALIFIER_ANNOTATION)); - } - } - } - } - } - - if ( hasDefault ){ - bindingCollections.add( defaultQualifiers ); - } - - Set result= null; - for ( int i=0; i set = bindingCollections.get(i); - if ( i==0 ){ - result = set; - } - else { - result.retainAll( set ); - } - } - if ( result == null ){ - return Collections.emptySet(); - } - else { - Set set = new HashSet(); - for (BindingQualifier binding : result) { - set.add( binding.getTypeElement() ); - } - return set; - } - } - - protected static class InjectionPointDefinitionError extends Exception{ - private static final long serialVersionUID = -1568276063434281036L; - - private InjectionPointDefinitionError(String msg){ - super( msg ); - } - } - - protected static class DefinitionError extends Exception { - - private static final long serialVersionUID = 8538541504206293629L; - - protected DefinitionError( TypeElement element ){ - myElement = element; - } - - public TypeElement getElement(){ - return myElement; - } - - private TypeElement myElement; - } - private WebBeansModelImplementation myModel; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Filter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Filter.java deleted file mode 100644 index dd6fcb78f616..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/Filter.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Set; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - - -/** - * @author ads - * - */ -abstract class Filter { - - void filter( Set set ){ - } - - static void assertElement( Class clazz ){ - assert clazz.equals( Element.class ) || clazz.equals( TypeElement.class ); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorBindingChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorBindingChecker.java deleted file mode 100644 index 4482fdab3f0d..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorBindingChecker.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.lang.annotation.ElementType; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.InterceptorBindingVerifier; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetVerifier; - - -/** - * @author ads - * - */ -class InterceptorBindingChecker extends RuntimeAnnotationChecker { - - static final String INTERCEPTOR_BINDING = "jakarta.interceptor.InterceptorBinding"; // NOI18N - - InterceptorBindingChecker(AnnotationModelHelper helper){ - init( null, helper ); - } - - void init(TypeElement element){ - init( element , getHelper() ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.RuntimeAnnotationChecker#getLogger() - */ - @Override - protected Logger getLogger() { - return Logger.getLogger(InterceptorBindingChecker.class.getName()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.RuntimeAnnotationChecker#getAnnotation() - */ - @Override - protected String getAnnotation() { - return INTERCEPTOR_BINDING; - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetAnalyzer#hasReqiredTarget(javax.lang.model.element.AnnotationMirror, java.util.Set) - */ - @Override - public boolean hasReqiredTarget( AnnotationMirror target, - Set set ) - { - boolean hasRequiredTarget = super.hasReqiredTarget(target, set); - if (!hasRequiredTarget) { - getLogger().log(Level.WARNING, - "Annotation "+getElement().getQualifiedName()+ - "declared as Interceptor Binding but has wrong target values." + - " Correct target values are {METHOD, TYPE} or" + - " or TYPE ");// NOI18N - } - return hasRequiredTarget; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#getTargetVerifier() - */ - @Override - protected TargetVerifier getTargetVerifier() { - return InterceptorBindingVerifier.getInstance(); - } - - void clean() { - init( null , getHelper() ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorObject.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorObject.java deleted file mode 100644 index 74a14a6c9796..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorObject.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.List; -import java.util.Map; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObject; -import org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider.Refreshable; - - -/** - * @author ads - * - */ -class InterceptorObject extends PersistentObject implements Refreshable { - - static final String INTERCEPTOR = "jakarta.interceptor.Interceptor"; // NOI18N - - InterceptorObject( AnnotationModelHelper helper, - TypeElement typeElement ) - { - super(helper, typeElement); - boolean valid = refresh(typeElement); - assert valid; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider.Refreshable#refresh(javax.lang.model.element.TypeElement) - */ - @Override - public boolean refresh( TypeElement type ) { - List allAnnotationMirrors = - getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(type); - Map annotationsByType = - getHelper().getAnnotationsByType( allAnnotationMirrors ); - return annotationsByType.get( INTERCEPTOR ) != null ; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorObjectProvider.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorObjectProvider.java deleted file mode 100644 index d01ca7bbf3fe..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/InterceptorObjectProvider.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; - - -/** - * @author ads - * - */ -class InterceptorObjectProvider extends AbstractObjectProvider { - - InterceptorObjectProvider( AnnotationModelHelper helper ) - { - super(InterceptorObject.INTERCEPTOR, helper); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider#createTypeElement(javax.lang.model.element.TypeElement) - */ - @Override - protected InterceptorObject createTypeElement( TypeElement element ) { - return new InterceptorObject(getHelper(), element); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MemberBindingFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MemberBindingFilter.java deleted file mode 100644 index ae7ac89cb73a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MemberBindingFilter.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Name; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; - - -/** - * @author ads - * - */ -class MemberBindingFilter extends Filter { - - private static final String NON_BINDING_MEMBER_ANNOTATION = - "jakarta.enterprise.util.Nonbinding"; // NOI18N - - private MemberBindingFilter( Class clazz ){ - myClass = clazz; - } - - static MemberBindingFilter get( Class clazz ) { - assertElement(clazz); - // could be changed to cached ThreadLocal variable - if ( clazz.equals( Element.class )){ - return (MemberBindingFilter) new MemberBindingFilter( - Element.class); - } - else if ( clazz.equals( TypeElement.class ) ){ - return (MemberBindingFilter)new MemberBindingFilter( - TypeElement.class); - } - return null; - } - - void init( Collection bindingAnnotations, - WebBeansModelImplementation impl ) - { - myImpl = impl; - myBindingAnnotations = bindingAnnotations; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.TypeFilter#filter(java.util.Set) - */ - void filter( Set set ) { - super.filter(set); - if ( set.size() == 0 ){ - return; - } - /* - * Binding annotation could have members. See example : - * @BindingType - * @Retention(RUNTIME) - * @Target({METHOD, FIELD, PARAMETER, TYPE}) - * public @interface PayBy { - * PaymentMethod value(); - * @NonBinding String comment(); - * } - * One need to check presence of member in binding annotation at - * injected point and compare this member with member in annotation - * for discovered type. - * Members with @Nonbinding annotation should be ignored. - */ - for (AnnotationMirror annotation : getBindingAnnotations()) { - Map - elementValues = annotation.getElementValues(); - Set bindingMembers = collectBindingMembers( - annotation , getImplementation() ); - checkMembers(elementValues, bindingMembers, set ); - } - } - - Class getElementClass(){ - return myClass; - } - - private void checkMembers( - Map elementValues, - Set members, Set set ) - { - MemberCheckerFilter filter = MemberCheckerFilter.get( getElementClass()); - filter.init( elementValues , members, getImplementation()); - filter.filter(set); - } - - - static Set collectBindingMembers( AnnotationMirror annotation , - WebBeansModelImplementation impl ) - { - DeclaredType annotationType = annotation.getAnnotationType(); - TypeElement annotationElement = (TypeElement)annotationType.asElement(); - List members = annotationElement.getEnclosedElements(); - Set bindingMembers = new HashSet(); - for (Element member : members) { - if ( member instanceof ExecutableElement ){ - ExecutableElement exec = (ExecutableElement)member; - if ( isBindingMember( exec , impl )){ - bindingMembers.add( exec ); - } - } - } - return bindingMembers; - } - - private static boolean isBindingMember( ExecutableElement element , - WebBeansModelImplementation impl ) - { - List annotationMirrors = - impl.getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors( element); - for (AnnotationMirror annotationMirror : annotationMirrors) { - TypeElement annotation = (TypeElement)annotationMirror. - getAnnotationType().asElement(); - if ( annotation == null ){ - continue; - } - Name name = annotation.getQualifiedName(); - if ( NON_BINDING_MEMBER_ANNOTATION.contentEquals(name)){ - return false; - } - } - return true; - } - - private WebBeansModelImplementation getImplementation(){ - return myImpl; - } - - private Collection getBindingAnnotations(){ - return myBindingAnnotations; - } - - private WebBeansModelImplementation myImpl; - private Collection myBindingAnnotations; - private Class myClass; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MemberCheckerFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MemberCheckerFilter.java deleted file mode 100644 index 80b2f5b11cb1..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MemberCheckerFilter.java +++ /dev/null @@ -1,245 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.Map.Entry; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.jakarta.web.beans.impl.model.AnnotationObjectProvider.SpecializeVisitor; - - -/** - * @author ads - * - */ -class MemberCheckerFilter extends Filter { - - private MemberCheckerFilter( Class clazz ){ - myClass = clazz; - } - - public static MemberCheckerFilter get(Class clazz) { - assertElement( clazz ); - // could be changed to ThreadLocal cached access - if ( clazz.equals( Element.class)) { - return (MemberCheckerFilter) new MemberCheckerFilter( - Element.class); - } - else if ( clazz.equals( TypeElement.class)){ - return (MemberCheckerFilter) new MemberCheckerFilter( - TypeElement.class); - } - return null; - } - - void init( Map - elementValues, Set members, - WebBeansModelImplementation impl ) - { - myImpl = impl; - myValues = elementValues; - myMembers = members; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.TypeFilter#filter(java.util.Set) - */ - @Override - void filter( Set set ) { - super.filter(set); - for( Entry entry : - getValues().entrySet()) - { - ExecutableElement execElement = entry.getKey(); - AnnotationValue value = entry.getValue(); - if ( getMembers().contains( execElement )) { - checkMember( execElement, value, set ); - } - } - } - - Class getElementClass(){ - return myClass; - } - - static Element getSpecialized( ExecutableElement productionElement, - WebBeansModelImplementation model , String annotationName ) - { - return getSpecialized(productionElement, model.getHelper(), annotationName); - } - - static void visitSpecializes( ExecutableElement method, - AnnotationModelHelper helper , SpecializeVisitor visitor ) - { - ExecutableElement current = method; - while ( true ){ - ExecutableElement overridenElement = helper.getCompilationController(). - getElementUtilities().getOverriddenMethod( current); - if ( overridenElement != null && AnnotationObjectProvider.hasSpecializes( - current, helper)) - { - if ( visitor.visit(overridenElement)){ - return; - } - current = overridenElement; - } - else { - break; - } - } - } - - static Element getSpecialized( ExecutableElement productionElement, - final AnnotationModelHelper helper , final String annotationName ) - { - final Element result[] = new Element[1]; - SpecializeVisitor visitor = new SpecializeVisitor() { - - @Override - public boolean visit( ExecutableElement overridenElement ) { - if ( FieldInjectionPointLogic.DEFAULT_QUALIFIER_ANNOTATION. - equals( annotationName)) - { - if ( AnnotationObjectProvider.checkSpecializedDefault( - overridenElement, helper)) - { - result[0] = overridenElement; - return true; - } - } - else if ( AnnotationObjectProvider. - hasAnnotation( overridenElement, annotationName, - helper)) - { - result[0] = overridenElement; - return true; - } - return false; - } - - @Override - public boolean visit( TypeElement superElement ) { - return false; - } - }; - visitSpecializes( productionElement , helper, visitor); - return result[0]; - } - - private void checkMember( ExecutableElement exec, AnnotationValue value, - Set elementsWithBindings ) - { - Element annotationElement = exec.getEnclosingElement(); - if ( !( annotationElement instanceof TypeElement ) ){ - return; - } - String annotationName = ((TypeElement)annotationElement). - getQualifiedName().toString(); - // annotation member should be checked for presence at Binding type - for (Iterator iterator = elementsWithBindings.iterator(); - iterator.hasNext(); ) - { - Element element = iterator.next(); - if ( !checkMember(exec, value, element, iterator , annotationName)) - { - // check specializes.... - if (element instanceof TypeElement) { - TypeElement specializedSuper = AnnotationObjectProvider - .checkSuper((TypeElement) element, annotationName, - getImplementation().getHelper()); - if (specializedSuper != null) { - checkMember(exec, value, specializedSuper, iterator, - annotationName); - } - } - else if ( element instanceof ExecutableElement){ - Element specialized = getSpecialized((ExecutableElement)element, - getImplementation(), annotationName ); - if ( specialized != null ){ - checkMember(exec, value, specialized, iterator, - annotationName); - } - } - } - } - } - - private boolean checkMember( ExecutableElement exec, AnnotationValue value, - Element elementWithBinding, Iterator iterator, - String annotationName ) - { - List allAnnotationMirrors = getImplementation() - .getHelper().getCompilationController().getElements() - .getAllAnnotationMirrors(elementWithBinding); - AnnotationMirror annotationMirror = getImplementation().getHelper() - .getAnnotationsByType(allAnnotationMirrors).get(annotationName); - if ( annotationMirror == null ){ - return false; - } - Map - elementValues = annotationMirror.getElementValues(); - AnnotationValue valueForType = elementValues.get(exec); - if (!equals(value, valueForType)) { - iterator.remove(); - } - return true; - } - - static boolean equals( AnnotationValue value1 , AnnotationValue value2 ){ - if ( value1== null ){ - return value2 == null; - } - else { - if ( value1.getValue() == null ){ - return value2!= null && value2.getValue()==null; - } - else { - return value1.getValue().equals( value2 == null ? null : value2.getValue()); - } - } - } - - private WebBeansModelImplementation getImplementation(){ - return myImpl; - } - - private Map getValues(){ - return myValues; - } - - private Set getMembers(){ - return myMembers; - } - - private WebBeansModelImplementation myImpl; - private Map myValues; - private Set myMembers; - private Class myClass; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MultiLookupStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MultiLookupStrategy.java deleted file mode 100644 index fce5d52e6808..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/MultiLookupStrategy.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.concurrent.atomic.AtomicBoolean; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; - - -/** - * @author ads - * - */ -public class MultiLookupStrategy extends SingleResultLookupStrategy { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.ResultLookupStrategy#getType(org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation, javax.lang.model.type.DeclaredType, javax.lang.model.element.VariableElement) - */ - @Override - public TypeMirror getType( WebBeansModelImplementation model, - DeclaredType parent, VariableElement element ) - { - return ParameterInjectionPointLogic.getParameterType( - model.getHelper().getCompilationController(), element , parent , - FieldInjectionPointLogic.INSTANCE_INTERFACE); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.ResultLookupStrategy#getType(org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation, javax.lang.model.type.TypeMirror) - */ - @Override - public TypeMirror getType( WebBeansModelImplementation model, - TypeMirror typeMirror ) { - return ParameterInjectionPointLogic.getParameterType( - typeMirror , FieldInjectionPointLogic.INSTANCE_INTERFACE ); - } - - @Override - protected DependencyInjectionResult filterEnabled( DependencyInjectionResult result, - WebBeansModelImplementation model, AtomicBoolean cancel) - { - if ( result instanceof ResultImpl ){ - EnableBeansFilter filter = new EnableBeansFilter((ResultImpl)result, - model , true ); - return filter.filter(cancel); - } - return result; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NamedStereotype.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NamedStereotype.java deleted file mode 100644 index 0aae1243b636..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NamedStereotype.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.List; -import java.util.Map; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObject; -import org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider.Refreshable; - - -/** - * @author ads - * - */ -class NamedStereotype extends PersistentObject implements Refreshable{ - - public NamedStereotype( AnnotationModelHelper helper, - TypeElement typeElement ) - { - super(helper, typeElement); - boolean valid = refresh( typeElement); - assert valid; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider.Refreshable#refresh(javax.lang.model.element.TypeElement) - */ - @Override - public boolean refresh( TypeElement type ) { - List allAnnotationMirrors = - getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(type); - Map annotationsByType = - getHelper().getAnnotationsByType( allAnnotationMirrors ); - boolean isStereotype = annotationsByType.get( - StereotypeChecker.STEREOTYPE) != null ; - if ( !isStereotype ){ - return false; - } - boolean hasNamed = NamedStereotypeObjectProvider.hasNamed(type, - getHelper()); - return hasNamed; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NamedStereotypeObjectProvider.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NamedStereotypeObjectProvider.java deleted file mode 100644 index efb20d624c08..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NamedStereotypeObjectProvider.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Collections; -import java.util.EnumSet; -import java.util.LinkedList; -import java.util.List; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHandler; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; - - -/** - * @author ads - * - */ -class NamedStereotypeObjectProvider extends AbstractObjectProvider { - - NamedStereotypeObjectProvider(AnnotationModelHelper helper){ - super( StereotypeChecker.STEREOTYPE, helper ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider#createInitialObjects() - */ - @Override - public List createInitialObjects() - throws InterruptedException - { - final List result = new LinkedList(); - getHelper().getAnnotationScanner().findAnnotations( - getAnnotation(), - EnumSet.of(ElementKind.ANNOTATION_TYPE), - new AnnotationHandler() { - @Override - public void handleAnnotation(TypeElement type, - Element element, AnnotationMirror annotation) - { - if ( hasNamed( type , getHelper() )) { - result.add(createTypeElement(type)); - } - } - }); - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider#createObjects(javax.lang.model.element.TypeElement) - */ - @Override - public List createObjects( TypeElement type ) { - if (type.getKind() == ElementKind.ANNOTATION_TYPE && - getHelper().hasAnnotation(type.getAnnotationMirrors(), - getAnnotation())) - { - if ( hasNamed(type, getHelper())){ - return Collections.singletonList(createTypeElement(type)); - } - } - return Collections.emptyList(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider#createTypeElement(javax.lang.model.element.TypeElement) - */ - @Override - protected NamedStereotype createTypeElement( TypeElement element ) { - return new NamedStereotype(getHelper(), element); - } - - static boolean hasNamed( TypeElement type , AnnotationModelHelper helper ) { - if (AnnotationObjectProvider.hasAnnotation(type, - FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper)) - { - return true; - } - List stereotypes = WebBeansModelProviderImpl. - getAllStereotypes(type, helper.getHelper()); - for (AnnotationMirror annotationMirror : stereotypes) { - TypeElement annotation = (TypeElement)annotationMirror. - getAnnotationType().asElement(); - if (annotation!= null && AnnotationObjectProvider.hasAnnotation(annotation, - FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper)) - { - return true; - } - } - - return false; - } - -} \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NormalScopeChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NormalScopeChecker.java deleted file mode 100644 index c09e720bb322..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/NormalScopeChecker.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - - - - -/** - * @author ads - * - */ -class NormalScopeChecker extends ScopeChecker { - - static NormalScopeChecker get(){ - return new NormalScopeChecker(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.ScopeChecker#getAnnotation() - */ - @Override - protected String getAnnotation() { - return NORMAL_SCOPE; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/PackagingFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/PackagingFilter.java deleted file mode 100644 index 1cc215bb435b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/PackagingFilter.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Collection; -import java.util.Iterator; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.PackageElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; - -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.java.source.ClasspathInfo; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.ElementUtilities; -import org.netbeans.api.java.source.SourceUtils; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; - - - -/** - * @author ads - * - */ -class PackagingFilter { - - PackagingFilter(WebBeansModelImplementation model){ - myModel = model; - } - - void filter(Collection collection, AtomicBoolean cancel ){ - for (Iterator iterator = collection.iterator(); - iterator.hasNext(); ) - { - if(cancel.get()) { - break; - } - Element element = iterator.next(); - if ( remove(element, cancel)){ - iterator.remove(); - } - } - } - - void filterTypes(Collection collection, AtomicBoolean cancel ){ - for (Iterator iterator = collection.iterator(); - iterator.hasNext(); ) - { - DeclaredType type = iterator.next(); - Element element = getModel().getHelper().getCompilationController(). - getTypes().asElement( type ); - if ( element != null && remove(element, cancel)){ - iterator.remove(); - } - } - } - - private boolean remove( Element element, AtomicBoolean cancel ){ - TypeElement typeElement; - if ( element instanceof TypeElement ){ - typeElement = (TypeElement) element; - } - else { - typeElement = getModel().getHelper().getCompilationController(). - getElementUtilities().enclosingTypeElement(element); - } - if ( typeElement == null || cancel.get()){ - return false; - } - - FileObject file = SourceUtils.getFile(ElementHandle.create(typeElement), - ClasspathInfo.create(getModel().getModelUnit().getBootPath() , - ClassPath.EMPTY, getModel().getModelUnit().getSourcePath())); - - if ( file != null || cancel.get()){ - return false; - } - - PackageElement pack = getModel().getHelper().getCompilationController(). - getElements().getPackageOf( typeElement ); - if ( pack == null || cancel.get()){ - return false; - } - String packageName = pack.getQualifiedName().toString(); - String fqn = ElementUtilities.getBinaryName(typeElement); - String className = fqn.substring(packageName.length()); - if ( className.length() >0 && className.charAt(0)=='.' ){ - className = className.substring(1); - } - else { - return false; - } - int dotIndex = className.indexOf('.'); - if ( dotIndex != -1 ){ - className = className.substring( 0, dotIndex ); - } - if ( className == null || cancel.get()){ - return false; - } - - String path = packageName.replace('.', '/')+'/'+className+".class"; // NOI18N - ClassPath classPath = getModel().getModelUnit().getCompilePath(); - FileObject resource = classPath.findResource( path ); - if ( resource != null && !cancel.get()){ - FileObject root = classPath.findOwnerRoot( resource ); - if ( root == null || cancel.get()){ - return false; - } - if ( FileUtil.isArchiveFile( root ) && !cancel.get()){ - FileObject archiveFile = FileUtil.getArchiveFile(root); - String ext = archiveFile.getExt(); - if ( "war".equalsIgnoreCase( ext)){ // NOI18N - return root.getFileObject("WEB-INF/beans.xml") == null; // NOI18N - } - } - return !hasMetaBeans(root); - } - return false; - } - - private boolean hasMetaBeans(FileObject root ){ - return root.getFileObject("META-INF/beans.xml") != null; // NOI18N - } - - private WebBeansModelImplementation getModel(){ - return myModel; - } - - private WebBeansModelImplementation myModel; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ParameterInjectionPointLogic.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ParameterInjectionPointLogic.java deleted file mode 100644 index 4de619f39397..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ParameterInjectionPointLogic.java +++ /dev/null @@ -1,327 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.DefinitionErrorResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; -import org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -abstract class ParameterInjectionPointLogic extends FieldInjectionPointLogic - implements WebBeansModelProvider -{ - - static final String CONTEXT_DEPENDENT_ANNOTATION = - "jakarta.enterprise.context.Dependent"; // NOI18N - - static final String DISPOSES_ANNOTATION = - "jakarta.enterprise.inject.Disposes"; // NOI18N - - static final String OBSERVES_ANNOTATION = - "jakarta.enterprise.event.Observes"; // NOI18N - - - ParameterInjectionPointLogic( WebBeansModelImplementation model ) { - super( model ); - } - - protected DependencyInjectionResult findParameterInjectable( VariableElement element , - DeclaredType parentType , ResultLookupStrategy strategy, AtomicBoolean cancel ) - { - DeclaredType parent = parentType; - try { - parent = getParent(element, parentType); - } - catch (DefinitionError e) { - TypeElement type = e.getElement(); - return new DefinitionErrorResult(element, parentType, - NbBundle.getMessage(WebBeansModelProviderImpl.class, - "ERR_BadParent", element.getSimpleName(), - type!= null? type.toString(): null)); - } - - ExecutableElement parentMethod = (ExecutableElement)element. - getEnclosingElement(); - ExecutableType methodType = (ExecutableType)getCompilationController(). - getTypes().asMemberOf(parent, parentMethod ); - List parameterTypes = methodType.getParameterTypes(); - - boolean isInjectionPoint = false; - /* - * Check if method has parameters as injection points. - * F.e. disposer method has only one parameter with @Disposes annotation. - * All other its parameters are injection points. - */ - List parameters = parentMethod.getParameters(); - int index =0; - for (int i=0; i productions = ((ResultImpl) result).getProductions(); - TypeElement enclosingTypeElement = getCompilationController(). - getElementUtilities().enclosingTypeElement(element); - for (Iterator iterator = productions.iterator(); - iterator.hasNext(); ) - { - Element injectable = iterator.next(); - if ( !(injectable instanceof ExecutableElement) || - !getCompilationController().getElementUtilities(). - isMemberOf( injectable, enclosingTypeElement)) - { - iterator.remove(); - } - } - } - else { - return result; - } - } - - if ( isInjectionPoint ){ - return strategy.getResult(getModel(), result, cancel ); - } - else { - return new DefinitionErrorResult(element, elementType, - NbBundle.getMessage( WebBeansModelProviderImpl.class, - "ERR_NoInjectPoint" , element.getSimpleName())); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#isDynamicInjectionPoint(javax.lang.model.element.VariableElement) - */ - @Override - public boolean isDynamicInjectionPoint( VariableElement element ) { - TypeMirror type = getParameterType(element, null, INSTANCE_INTERFACE); - if ( type != null ){ - try { - return isInjectionPoint(element); - } - catch ( org.netbeans.modules.jakarta.web.beans.api.model. - InjectionPointDefinitionError e ) - { - return false; - } - } - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.ResolutionResult#getScope(javax.lang.model.element.Element) - */ - @Override - public String getScope( Element element ) throws CdiException { - return getScope(element , getModel().getHelper()); - } - - public static String getScope( Element element, AnnotationModelHelper helper ) - throws CdiException - { - String scope = getDeclaredScope(element, helper); - if (scope != null) { - return scope; - } - List stereotypes = WebBeansModelProviderImpl - .getAllStereotypes(element, helper.getHelper()); - for (AnnotationMirror annotationMirror : stereotypes) { - DeclaredType annotationType = annotationMirror.getAnnotationType(); - Element annotationElement = annotationType.asElement(); - if ( annotationElement == null ){ - continue; - } - String declaredScope = getDeclaredScope(annotationElement, helper); - if (declaredScope == null) { - continue; - } - if (scope == null) { - scope = declaredScope; - } - else if (!scope.equals(declaredScope)) { - throw new CdiException(NbBundle.getMessage(ParameterInjectionPointLogic.class, - "ERR_DefaultScopeCollision", scope, declaredScope)); // NOI18N - } - } - if (scope != null) { - return scope; - } - return CONTEXT_DEPENDENT_ANNOTATION; - } - - static String getDeclaredScope( Element element , - AnnotationModelHelper helper ) throws CdiException - { - List annotationMirrors = element.getAnnotationMirrors(); - ScopeChecker scopeChecker = ScopeChecker.get(); - NormalScopeChecker normalScopeChecker = NormalScopeChecker.get(); - String scope = getDeclaredScope(helper, annotationMirrors, scopeChecker, - normalScopeChecker, true); - if ( scope != null ){ - return scope; - } - - annotationMirrors = helper.getCompilationController().getElements(). - getAllAnnotationMirrors( element ); - return getDeclaredScope(helper, annotationMirrors, scopeChecker, - normalScopeChecker, false ); - } - - private static String getDeclaredScope( AnnotationModelHelper helper, - List annotationMirrors, - ScopeChecker scopeChecker , NormalScopeChecker normalScopeChecker , - boolean singleScopeRequired ) throws CdiException - { - List annotations = annotationMirrors; - if ( !singleScopeRequired ){ - annotations = new ArrayList( - annotationMirrors); - Collections.reverse( annotations ); - } - String scope = null; - for (AnnotationMirror annotationMirror : annotations ) { - String declaredScope = null; - DeclaredType annotationType = annotationMirror.getAnnotationType(); - Element annotationElement = annotationType.asElement(); - if ( annotationElement instanceof TypeElement ){ - TypeElement annotation = (TypeElement)annotationElement; - scopeChecker.init(annotation, helper ); - if ( scopeChecker.check() ){ - declaredScope = annotation.getQualifiedName().toString(); - } - normalScopeChecker.init( annotation, helper ); - if ( normalScopeChecker.check() ){ - declaredScope = annotation.getQualifiedName().toString(); - } - if ( declaredScope != null ){ - if ( !singleScopeRequired ){ - return declaredScope; - } - if ( scope != null ){ - throw new CdiException(NbBundle.getMessage( - ParameterInjectionPointLogic.class, - "ERR_SeveralScopes")); // NOI18N - } - else { - scope = declaredScope; - } - } - } - } - return scope; - } - - protected TypeMirror getParameterType( Element element , DeclaredType parentType, - String... interfaceFqns) - { - return getParameterType(getCompilationController(), - element, parentType, interfaceFqns); - } - - static TypeMirror getParameterType( CompilationController controller, - Element element , DeclaredType parentType, String... interfaceFqns) - { - TypeMirror elementType = null; - if ( parentType == null ) { - elementType = element.asType(); - } - else { - elementType = controller.getTypes().asMemberOf(parentType, element); - } - return getParameterType(elementType,interfaceFqns); - } - - static TypeMirror getParameterType( TypeMirror elementType, - String... interfaceFqns ) - { - if ( elementType instanceof DeclaredType ){ - DeclaredType declaredType = (DeclaredType)elementType; - Element elementDeclaredType = declaredType.asElement(); - if ( elementDeclaredType!= null && - elementDeclaredType.getKind() == ElementKind.INTERFACE ) - { - String typeFqn = ((TypeElement)elementDeclaredType). - getQualifiedName().toString(); - for (String interfaceFqn : interfaceFqns) { - if (interfaceFqn.equals(typeFqn)) { - List typeArguments = declaredType - .getTypeArguments(); - if (typeArguments.size() > 0) { - return typeArguments.get(0); - } - } - } - } - } - return null; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/QualifierChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/QualifierChecker.java deleted file mode 100644 index ab6bd2664fce..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/QualifierChecker.java +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.lang.annotation.ElementType; -import java.util.HashSet; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.QualifierVerifier; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetVerifier; - - -/** - * @author ads - * - */ -class QualifierChecker extends RuntimeAnnotationChecker implements Checker { - - private static final String QUALIFIER_TYPE_ANNOTATION= - "jakarta.inject.Qualifier"; // NOI18N - - QualifierChecker(){ - this( false ); - } - - QualifierChecker( boolean event ){ - isEvent = event; - } - - static QualifierChecker get() { - // could be changed to cached ThreadLocal access - return new QualifierChecker(); - } - - static QualifierChecker get(boolean event) { - // could be changed to cached ThreadLocal access - return new QualifierChecker(event); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.Checker#check() - */ - @Override - public boolean check() { - if ( BUILT_IN_QUALIFIERS.contains( getElement().getQualifiedName().toString())){ - return true; - } - else { - return super.check(); - } - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.RuntimeAnnotationChecker#getAnnotation() - */ - @Override - protected String getAnnotation() { - return QUALIFIER_TYPE_ANNOTATION; - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.RuntimeAnnotationChecker#getLogger() - */ - @Override - protected Logger getLogger() { - return FieldInjectionPointLogic.LOGGER; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetAnalyzer#hasReqiredTarget(javax.lang.model.element.AnnotationMirror, java.util.Set) - */ - @Override - public boolean hasReqiredTarget( AnnotationMirror target, - Set set ) - { - boolean hasRequiredTarget = super.hasReqiredTarget(target, set); - if (!hasRequiredTarget) { - if ( isEvent ) { - getLogger().log(Level.WARNING, "Annotation " - + getElement().getQualifiedName() - + "declared as Qualifier but has wrong target values." - + " Correct target values are {METHOD, FIELD, PARAMETER, TYPE}" - + " or {FIELD, PARAMETER}");// NOI18N - } - else { - getLogger().log(Level.WARNING, "Annotation " - + getElement().getQualifiedName() - + "declared as Qualifier but has wrong target values." - + " Correct target values are {METHOD, FIELD, PARAMETER, TYPE}");// NOI18N - } - } - return hasRequiredTarget; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#getTargetVerifier() - */ - @Override - protected TargetVerifier getTargetVerifier() { - return QualifierVerifier.getInstance( isEvent ); - } - - private static final Set BUILT_IN_QUALIFIERS = new HashSet(); - - static { - BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.ANY_QUALIFIER_ANNOTATION); - BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.NEW_QUALIFIER_ANNOTATION); - BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION); - BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.NAMED_QUALIFIER_ANNOTATION); - } - - private boolean isEvent; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/RestrictedTypedFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/RestrictedTypedFilter.java deleted file mode 100644 index c89e36e67808..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/RestrictedTypedFilter.java +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.Types; - - -/** - * @author ads - * - */ -public class RestrictedTypedFilter extends Filter { - - @Override - void filter( Set elements ){ - Set allImplementors = new HashSet( elements ); - for (Iterator iterator = allImplementors.iterator() ; - iterator.hasNext() ; ) - { - TypeElement typeElement = iterator.next(); - Collection restrictedTypes = getRestrictedTypes(typeElement, - getImplementation()); - if ( restrictedTypes == null ){ - continue; - } - boolean hasBeanType = false; - TypeElement element = getElement(); - TypeMirror type = element.asType(); - Types types= getImplementation().getHelper().getCompilationController(). - getTypes(); - for (TypeMirror restrictedType : restrictedTypes) { - if ( types.isSameType( types.erasure( type), - types.erasure( restrictedType))) - { - hasBeanType = true; - break; - } - } - if ( !hasBeanType ){ - iterator.remove(); - } - } - } - - static Collection getRestrictedTypes( Element element , - WebBeansModelImplementation implementation ) - { - if ( element == null ){ - return null; - } - List annotationMirrors = - element.getAnnotationMirrors(); - Map annotations = - implementation.getHelper().getAnnotationsByType( annotationMirrors ); - AnnotationMirror typedAnnotation = annotations.get( - WebBeansModelProviderImpl.TYPED_RESTRICTION ); - if ( typedAnnotation == null ){ - return null; - } - Map elementValues = - typedAnnotation.getElementValues(); - if ( elementValues == null ){ - return Collections.emptyList(); - } - AnnotationValue restrictedTypes = null; - for( Entry entry: - elementValues.entrySet()) - { - ExecutableElement key = entry.getKey(); - AnnotationValue value = entry.getValue(); - if ( key.getSimpleName().contentEquals("value")){ // NOI18N - restrictedTypes = value; - break; - } - } - if ( restrictedTypes == null ){ - return Collections.emptyList(); - } - Object value = restrictedTypes.getValue(); - Collection result = new LinkedList(); - if ( value instanceof List ){ - for( Object type : (List)value){ - AnnotationValue annotationValue = (AnnotationValue)type; - type = annotationValue.getValue(); - if (type instanceof TypeMirror){ - result.add((TypeMirror) type ); - } - } - } - return result; - } - - void init( TypeElement element, WebBeansModelImplementation modelImpl ) { - myImpl = modelImpl; - myElement = element; - } - - private WebBeansModelImplementation getImplementation() { - return myImpl; - } - - private TypeElement getElement(){ - return myElement; - } - - private TypeElement myElement; - private WebBeansModelImplementation myImpl; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ResultLookupStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ResultLookupStrategy.java deleted file mode 100644 index 5da62a8c4384..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ResultLookupStrategy.java +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.concurrent.atomic.AtomicBoolean; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; - - -/** - * @author ads - * - */ -public interface ResultLookupStrategy { - - ResultLookupStrategy SINGLE_LOOKUP_STRATEGY = new SingleResultLookupStrategy(); - - ResultLookupStrategy MULTI_LOOKUP_STRATEGY = new MultiLookupStrategy(); - - DependencyInjectionResult getResult(WebBeansModelImplementation model, DependencyInjectionResult result, AtomicBoolean cancel ); - - TypeMirror getType( WebBeansModelImplementation model, - DeclaredType parent, VariableElement element); - - TypeMirror getType( WebBeansModelImplementation model, TypeMirror typeMirror ); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/RuntimeAnnotationChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/RuntimeAnnotationChecker.java deleted file mode 100644 index 79ed52db7f51..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/RuntimeAnnotationChecker.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.lang.annotation.RetentionPolicy; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetAnalyzer; - - -/** - * @author ads - * - */ -public abstract class RuntimeAnnotationChecker extends TargetAnalyzer { - - protected static final String VALUE = "value"; // NOI18N - - public void init( TypeElement element, AnnotationModelHelper helper ) { - init( (Element)element , helper.getHelper() ); - } - - public boolean check() { - List annotations = getElement() - .getAnnotationMirrors(); - boolean hasAnnotation = getHelper().hasAnnotation(annotations, - getAnnotation()); - - if (!hasAnnotation) { - // this is not subject annotation , just return false - return false; - } - - if ( !hasRuntimeRetention() ){ - getLogger().log(Level.WARNING, "Annotation " - + getElement().getQualifiedName() - + " declared as " +getAnnotation()+" but has wrong retention policy." - + " Correct retention policy is " - + RetentionPolicy.RUNTIME.toString());// NOI18N - return false; - } - - return hasTarget(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.RuntimeRetentionAnalyzer#handleNoRetention() - */ - @Override - protected void handleNoRetention() { - getLogger().log(Level.WARNING, "Annotation " - + getElement().getQualifiedName() - + "declared as " +getAnnotation()+" but has no Retention");// NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#handleNoTarget() - */ - @Override - protected void handleNoTarget() { - getLogger().log(Level.WARNING, "Annotation " - + getElement().getQualifiedName() - + "declared as " +getAnnotation()+" but has no Target");// NOI18N - } - - protected abstract Logger getLogger(); - - protected abstract String getAnnotation(); - - @Override - protected TypeElement getElement(){ - return (TypeElement)super.getElement(); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ScopeChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ScopeChecker.java deleted file mode 100644 index d625481323aa..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/ScopeChecker.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.lang.annotation.ElementType; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; - -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.ScopeVerifier; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetVerifier; - - -/** - * @author ads - * - */ -class ScopeChecker extends RuntimeAnnotationChecker { - - static String SCOPE = "jakarta.inject.Scope"; // NOI18N - - static String NORMAL_SCOPE = "jakarta.enterprise.context.NormalScope";// NOI18N - - static ScopeChecker get(){ - return new ScopeChecker(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.RuntimeAnnotationChecker#getLogger() - */ - @Override - protected Logger getLogger() { - return Logger.getLogger(ScopeChecker.class.getName()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.RuntimeAnnotationChecker#getAnnotation() - */ - @Override - protected String getAnnotation() { - return SCOPE; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#getTargetVerifier() - */ - @Override - protected TargetVerifier getTargetVerifier() { - return ScopeVerifier.getInstance(); - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetAnalyzer#hasReqiredTarget(javax.lang.model.element.AnnotationMirror, java.util.Set) - */ - @Override - public boolean hasReqiredTarget( AnnotationMirror target, - Set set ) - { - boolean hasRequiredTarget = super.hasReqiredTarget(target, set); - if (!hasRequiredTarget) { - getLogger().log(Level.WARNING, - "Annotation "+getElement().getQualifiedName()+ - "declared as Scope but has wrong target values." + - " Correct target values are {METHOD, FIELD, TYPE}");// NOI18N - } - return hasRequiredTarget; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/SingleResultLookupStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/SingleResultLookupStrategy.java deleted file mode 100644 index 4e15d41a5129..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/SingleResultLookupStrategy.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.concurrent.atomic.AtomicBoolean; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; - -public class SingleResultLookupStrategy implements ResultLookupStrategy { - - protected SingleResultLookupStrategy(){ - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.ResultLookupStrategy#getResult(org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation, org.netbeans.modules.jakarta.web.beans.api.model.Result) - */ - @Override - public DependencyInjectionResult getResult( WebBeansModelImplementation model , DependencyInjectionResult result, AtomicBoolean cancel ) { - /* - * Simple filtering related to production elements types. - * F.e. there could be injection point with String type. - * String is unproxyable type ( it is final ) so it cannot - * be used as injectable type. Only appropriate production element - * is valid injectable. But String will be found as result of previous - * procedure. So it should be removed. - */ - filterBeans( result , model, cancel ); - - result = filterEnabled(result , model, cancel); - - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.ResultLookupStrategy#getType(org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation, javax.lang.model.type.DeclaredType, javax.lang.model.element.VariableElement) - */ - @Override - public TypeMirror getType( WebBeansModelImplementation model, - DeclaredType parent, VariableElement element ) - { - return model.getHelper().getCompilationController().getTypes(). - asMemberOf(parent, element ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.ResultLookupStrategy#getType(org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation, javax.lang.model.type.TypeMirror) - */ - @Override - public TypeMirror getType( WebBeansModelImplementation model, - TypeMirror typeMirror ) { - return typeMirror; - } - - protected void filterBeans( DependencyInjectionResult result, WebBeansModelImplementation model, AtomicBoolean cancel ) { - if ( result instanceof ResultImpl ){ - BeansFilter filter = BeansFilter.get(); - filter.filter(((ResultImpl)result).getTypeElements() ); - } - } - - protected DependencyInjectionResult filterEnabled( DependencyInjectionResult result, - WebBeansModelImplementation model, AtomicBoolean cancel) - { - if ( result instanceof ResultImpl ){ - EnableBeansFilter filter = new EnableBeansFilter((ResultImpl)result, - model , false ); - return filter.filter(cancel); - } - return result; - } -} \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypeChecker.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypeChecker.java deleted file mode 100644 index d62eccadc3e0..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypeChecker.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.lang.annotation.ElementType; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.StereotypeVerifier; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetVerifier; - - -/** - * @author ads - * - */ -public class StereotypeChecker extends RuntimeAnnotationChecker { - - static final String STEREOTYPE = "jakarta.enterprise.inject.Stereotype"; //NOI18N - - public StereotypeChecker(AnnotationHelper helper ){ - init(null, helper); - } - - public void init( TypeElement element) { - assert getElement() == null; - super.init(element, getHelper()); - } - - - public void clean(){ - init( null , getHelper() ); - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analyzer.annotation.TargetAnalyzer#hasReqiredTarget(javax.lang.model.element.AnnotationMirror, java.util.Set) - */ - @Override - public boolean hasReqiredTarget( AnnotationMirror target, - Set set ) - { - boolean hasRequiredTarget = super.hasReqiredTarget(target, set); - if(!hasRequiredTarget){ - getLogger().log(Level.WARNING, - "Annotation "+getElement().getQualifiedName()+ - "declared as Qualifier but has wrong target values." + - " Correct target values are {METHOD, FIELD, TYPE} or" + - "{METHOD, FIELD} or TYPE or METHOD or FIELD");// NOI18N - } - return hasRequiredTarget; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.analizer.annotation.TargetAnalyzer#getTargetVerifier() - */ - @Override - protected TargetVerifier getTargetVerifier() { - return StereotypeVerifier.getInstance(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.RuntimeAnnotationChecker#getAnnotation() - */ - @Override - protected String getAnnotation() { - return STEREOTYPE; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.RuntimeAnnotationChecker#getLogger() - */ - @Override - protected Logger getLogger() { - return Logger.getLogger(StereotypeChecker.class.getName()); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypedObject.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypedObject.java deleted file mode 100644 index 390a88941887..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypedObject.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.List; -import java.util.Map; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObject; -import org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider.Refreshable; - - -/** - * Represents TypeElement annotated with some stereotype. - * - * @author ads - * - */ -class StereotypedObject extends PersistentObject implements Refreshable { - - public StereotypedObject( String stereotype , AnnotationModelHelper helper, - TypeElement typeElement ) - { - super(helper, typeElement); - myStereotype = stereotype; - boolean valid = refresh(typeElement); - assert valid; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider.Refreshable#refresh(javax.lang.model.element.TypeElement) - */ - @Override - public boolean refresh( TypeElement type ) { - List allAnnotationMirrors = - getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(type); - Map annotationsByType = - getHelper().getAnnotationsByType( allAnnotationMirrors ); - return annotationsByType.get( myStereotype) != null ; - } - - private String myStereotype; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypedObjectProvider.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypedObjectProvider.java deleted file mode 100644 index 7d23252fe45a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/StereotypedObjectProvider.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import javax.lang.model.element.TypeElement; - -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; - - -/** - * Provider for type elements which are annotated with some stereotype. - * - * @author ads - * - */ -class StereotypedObjectProvider extends AbstractObjectProvider -{ - - StereotypedObjectProvider( String stereotypeAnnotation , - AnnotationModelHelper helper ) - { - super( stereotypeAnnotation, helper); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.AbstractObjectProvider#createTypeElement(javax.lang.model.element.TypeElement) - */ - @Override - protected StereotypedObject createTypeElement( TypeElement element ) { - return new StereotypedObject( getAnnotation(), getHelper() , element ); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/TypeBindingFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/TypeBindingFilter.java deleted file mode 100644 index 4a6f2867fe5f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/TypeBindingFilter.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Collection; -import java.util.Iterator; -import java.util.Set; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ReferenceType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.Types; - -import org.netbeans.modules.jakarta.web.beans.impl.model.AbstractAssignabilityChecker.AssignabilityType; - - - -/** - * @author ads - * - */ -class TypeBindingFilter extends Filter { - - static TypeBindingFilter get() { - // could be changed to cached ThreadLocal access - return new TypeBindingFilter(); - } - - void init( TypeMirror varType , Element injectionPoint, WebBeansModelImplementation modelImpl ) - { - mySimpleName = injectionPoint.getSimpleName().toString(); - myImpl = modelImpl; - myVarType = varType; - myInjectionPoint = injectionPoint; - - setIsGeneric(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.TypeFilter#filter(java.util.Set) - */ - @Override - void filter( Set set ) { - super.filter(set); - if ( set.size() == 0 ){ - return; - } - TypeKind kind = getType().getKind(); - if ( kind == TypeKind.DECLARED ){ - filterDeclaredTypes(set); - } - else if ( kind.isPrimitive() ){ - WebBeansModelProviderImpl.LOGGER.fine("Variable element " + - mySimpleName+ " " + - "couldn't have type as eligible for inection becuase its " + - "type is primitive. It is unproxyable bean types"); // NOI18N - set.clear(); - } - else if ( kind == TypeKind.ARRAY ){ - WebBeansModelProviderImpl.LOGGER.fine("Variable element " + - mySimpleName+ " " + - "couldn't have type as eligible for inection becuase its " + - "type has array type. It is unproxyable bean types");// NOI18N - set.clear(); - } - } - - /* - * type type for assignability check, - * sourceElement the element which the source of the type. - * The latter element could be either Type element or production element. - */ - boolean isAssignable( TypeMirror type , Element sourceElement ){ - if ( !isGeneric ) { - Collection restrictedTypes = RestrictedTypedFilter. - getRestrictedTypes(sourceElement, getImplementation()); - if ( restrictedTypes == null ){ - if ( getImplementation().getHelper(). - getCompilationController().getTypes().isAssignable( - type, getType())) - { - WebBeansModelProviderImpl.LOGGER.fine("Found type " - +type+ " for variable element " +mySimpleName + - " by typesafe resolution"); // NOI18N - return true; - } - } - else { - Types types = getImplementation().getHelper(). - getCompilationController().getTypes(); - for( TypeMirror restrictedType : restrictedTypes ){ - if ( types.isSameType( types.erasure( getType()), - types.erasure( restrictedType))) - { - WebBeansModelProviderImpl.LOGGER.fine("Found type " - +type+" for variable element " +mySimpleName + - " by typesafe resolution"); // NOI18N - return true; - } - } - } - } - if ( checkAssignability( type , sourceElement )){ - WebBeansModelProviderImpl.LOGGER.fine("Probably found " + - "castable parametrizied or raw type " + - type+" for variable element " +mySimpleName+ - " by typesafe resolution"); // NOI18N - return true; - } - return false; - } - - private void setIsGeneric(){ - Element typeElement = getImplementation().getHelper(). - getCompilationController().getTypes().asElement(getType()); - - isGeneric = (typeElement instanceof TypeElement) && - ((TypeElement)typeElement).getTypeParameters().size() != 0; - } - - private void filterDeclaredTypes( Set set ) - { - for ( Iterator iterator = set.iterator(); - iterator.hasNext(); ) - { - TypeElement type = iterator.next(); - if ( !isAssignable(type.asType() , type )){ - iterator.remove(); - } - } - } - - private boolean checkAssignability( TypeMirror type, Element originalElement ){ - if ( !(type instanceof ReferenceType )){ - return false; - } - Element injectionPoint = getInjectionPoint(); - AssignabilityType assignType = AssignabilityType.PLAIN; - if ( injectionPoint != null && AnnotationObjectProvider. - hasAnnotation(injectionPoint, - FieldInjectionPointLogic.DELEGATE_ANNOTATION, - getImplementation().getHelper())) - { - assignType = AssignabilityType.DECORATOR; - } - AbstractAssignabilityChecker checker = AbstractAssignabilityChecker.get( - assignType); - checker.init((DeclaredType)getType(), (ReferenceType)type, - originalElement, getImplementation()); - return checker.check(); - } - - - private TypeMirror getType(){ - return myVarType; - } - - private Element getInjectionPoint(){ - return myInjectionPoint; - } - - private WebBeansModelImplementation getImplementation(){ - return myImpl; - } - - private TypeMirror myVarType; - private WebBeansModelImplementation myImpl; - private String mySimpleName; - private boolean isGeneric; - private Element myInjectionPoint; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/TypeProductionFilter.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/TypeProductionFilter.java deleted file mode 100644 index bcd887b1aec5..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/TypeProductionFilter.java +++ /dev/null @@ -1,346 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Set; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.ArrayType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.PrimitiveType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.Types; - - -/** - * @author ads - * - */ -class TypeProductionFilter extends Filter { - - private TypeProductionFilter( ){ - } - - static TypeProductionFilter get( ){ - // could be cached via ThreadLocal attribute - return new TypeProductionFilter(); - } - - void init( TypeMirror elementType , Element injectionPoint , - WebBeansModelImplementation model) - { - myImpl = model; - myType = elementType; - myOriginalElement = injectionPoint; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.Filter#filterElements(java.util.Set) - */ - @Override - void filter( Set productionElements ){ - if ( filterPrimitives(productionElements ) ){ - //fillSimpleResult(productionElements); - return; - } - - if ( filterArray(productionElements) ){ - //fillSimpleResult(productionElements); - return ; - } - - TypeBindingFilter filter = TypeBindingFilter.get(); - filter.init(getElementType(), getOriginalElement(), getImplementation()); - - // this cycle care only about declared types. - for ( Iterator iterator = productionElements.iterator() ; - iterator.hasNext() ; ) - { - Element productionElement = iterator.next(); - - TypeMirror mirror = null; - if (productionElement.getKind() == ElementKind.FIELD) { - mirror = productionElement.asType(); - } - else if (productionElement.getKind() == ElementKind.METHOD) - { - mirror = ((ExecutableType) productionElement.asType()).getReturnType(); - } - if ( !filter.isAssignable(mirror, productionElement )){ - iterator.remove(); - } - - /*List derived = getDerived( enclosingElement); - - for (DeclaredType declaredType : derived) { - TypeMirror mirror = null; - try { - if (productionElement.getKind() == ElementKind.FIELD) { - mirror = getImplementation().getHelper() - .getCompilationController().getTypes() - .asMemberOf(declaredType, productionElement); - } - else if (productionElement.getKind() == ElementKind.METHOD) - { - mirror = getImplementation().getHelper() - .getCompilationController().getTypes() - .asMemberOf(declaredType, productionElement); - mirror = ((ExecutableType) mirror).getReturnType(); - } - if ( filter.isAssignable(mirror, productionElement )){ - addResult( productionElement , declaredType); - } - } - catch (IllegalArgumentException e) { - /* - * call asMemberOf could be a problem for - * productionElment and derived. In this case just skip - * - continue; - } - }*/ - } - } - - /*private void addResult( Element productionElement, DeclaredType type ) - { - List list = myResult.get( productionElement ); - if ( list == null ){ - list = new ArrayList(2); - myResult.put( productionElement , list ); - } - list.add( type ); - } - - private void fillSimpleResult( Set productionElements ){ - for (Element element : productionElements) { - TypeElement enclosingElement = getImplementation().getHelper(). - getCompilationController().getElementUtilities(). - enclosingTypeElement(element); - DeclaredType type = (DeclaredType)enclosingElement.asType(); - myResult.put( element , Collections.singletonList(type) ); - } - }*/ - - /* - * From the spec : producer or disposer method is not inherited. - * producer field is not inherited. - * It means no need to look at the derived classes and inherited - * production there. If method is explicitly defined in the - * derived class it will be in the original production list - * as separate element. - private List getDerived( TypeElement element ) - { - if ( !isGeneric( element ) ){ - return Collections.singletonList( (DeclaredType)element.asType()); - } - - Set implementors = FieldInjectionPointLogic. - getImplementors(getImplementation(), element); - List result = new ArrayList( - implementors.size()); - for (TypeElement typeElement : implementors) { - result.add((DeclaredType)typeElement.asType()); - } - - return result; - - } - - private boolean isGeneric( TypeElement element ) { - //DeclaredType type = (DeclaredType)element.asType(); - return element.getTypeParameters().size()!=0; - }*/ - - private boolean filterArray( Set productionElements) - { - if ( getElementType().getKind() == TypeKind.ARRAY ){ - TypeMirror arrayComponentType = ((ArrayType)getElementType()).getComponentType(); - for (Iterator iterator = productionElements.iterator() ; - iterator.hasNext() ; ) - { - Element productionElement = iterator.next(); - boolean hasBeanType = hasBeanType(arrayComponentType, - productionElement); - if ( !hasBeanType ){ - iterator.remove(); - } - } - return true; - } - return false; - } - - private boolean hasBeanType( TypeMirror arrayComponentType, - Element productionElement ) - { - Collection restrictedTypes = RestrictedTypedFilter. - getRestrictedTypes(productionElement, getImplementation()); - if ( restrictedTypes == null ){ - TypeMirror productionType= null; - if ( productionElement.getKind() == ElementKind.FIELD){ - productionType = productionElement.asType(); - } - else if ( productionElement.getKind() == ElementKind.METHOD){ - productionType = ((ExecutableElement)productionElement). - getReturnType(); - } - return checkArrayBeanType(productionType, arrayComponentType); - } - Types types = getImplementation().getHelper(). - getCompilationController().getTypes(); - for( TypeMirror restrictedType : restrictedTypes ){ - if ( types.isSameType( restrictedType, getElementType())){ - return true; - } - } - return false; - } - - private boolean checkArrayBeanType(TypeMirror productionType, - TypeMirror arrayComponentType) - { - if ( productionType == null ){ - return false; - } - if ( productionType.getKind() != TypeKind.ARRAY ){ - return false; - } - return getImplementation().getHelper().getCompilationController(). - getTypes().isSameType( arrayComponentType, - ((ArrayType) productionType).getComponentType()); - } - - private boolean filterPrimitives( Set productionElements ) - { - PrimitiveType primitive = null; - TypeElement boxedType = null; - if ( getElementType().getKind().isPrimitive() ){ - primitive = getImplementation().getHelper().getCompilationController(). - getTypes().getPrimitiveType( getElementType().getKind()); - boxedType = getImplementation().getHelper().getCompilationController(). - getTypes().boxedClass( primitive); - } - else if ( getElementType().getKind() == TypeKind.DECLARED ){ - Element varElement = getImplementation().getHelper(). - getCompilationController().getTypes().asElement( getElementType() ); - if ( varElement instanceof TypeElement ){ - String typeName = ((TypeElement)varElement).getQualifiedName(). - toString(); - if ( WRAPPERS.contains( typeName )){ - primitive = getImplementation().getHelper(). - getCompilationController().getTypes().unboxedType( - varElement.asType()); - boxedType = (TypeElement)varElement; - } - - } - } - - if ( primitive!= null ){ - for( Iterator iterator = productionElements.iterator(); - iterator.hasNext(); ) - { - Element productionElement =iterator.next(); - Types types = getImplementation().getHelper(). - getCompilationController().getTypes(); - TypeMirror productionType = null; - if ( productionElement.getKind() == ElementKind.FIELD){ - productionType = productionElement.asType(); - } - else if ( productionElement.getKind() == ElementKind.METHOD){ - productionType = ((ExecutableElement)productionElement). - getReturnType(); - } - Collection restrictedTypes = - RestrictedTypedFilter.getRestrictedTypes(productionElement, - getImplementation()); - /* - * The required type is either primitive or its wrapper. - * It means that bean type should be either the same primitive - * or wrapper. But all wrappers are final so production cannot - * restrict some child type of wrapper to wrapper. - * It can restrict only wrapper to wrapper parent. - * In this case the types are not assignable. - */ - boolean isNotRestricted = true; - if ( restrictedTypes!= null ){ - isNotRestricted = false; - for (TypeMirror restrictedType : restrictedTypes ){ - if ( types.isSameType( restrictedType, primitive )|| - types.isSameType( restrictedType, boxedType.asType() ) ) - { - isNotRestricted = true; - break; - } - } - } - if ( !isNotRestricted ){ - iterator.remove(); - } - else if ( productionType!= null && - !types.isSameType( productionType, primitive ) && - !types.isSameType( productionType , boxedType.asType())) - { - iterator.remove(); - } - } - } - - return primitive!= null; - } - - - private WebBeansModelImplementation getImplementation(){ - return myImpl; - } - - private TypeMirror getElementType(){ - return myType; - } - - private Element getOriginalElement(){ - return myOriginalElement; - } - - private WebBeansModelImplementation myImpl; - private TypeMirror myType; - private Element myOriginalElement; - - - private static final Set WRAPPERS = new HashSet(); - - static { - WRAPPERS.add(Boolean.class.getCanonicalName()); - WRAPPERS.add(Byte.class.getCanonicalName()); - WRAPPERS.add(Character.class.getCanonicalName()); - WRAPPERS.add(Double.class.getCanonicalName()); - WRAPPERS.add(Float.class.getCanonicalName()); - WRAPPERS.add(Integer.class.getCanonicalName()); - WRAPPERS.add(Long.class.getCanonicalName()); - WRAPPERS.add(Short.class.getCanonicalName()); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansModelImplementation.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansModelImplementation.java deleted file mode 100644 index 462c5604cf2c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansModelImplementation.java +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.io.IOException; -import java.util.Collection; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.Callable; -import java.util.concurrent.Future; - -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObjectManager; -import org.netbeans.modules.j2ee.metadata.model.spi.MetadataModelImplementation; -import org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation; -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; - - -/** - * @author ads - * - */ -public class WebBeansModelImplementation extends AbstractModelImplementation - implements MetadataModelImplementation -{ - - protected WebBeansModelImplementation( ModelUnit unit ){ - super( unit ); - myManagers = new HashMap>(); - myStereotypedManagers = new HashMap>(); - myHelper = AnnotationModelHelper.create( getModelUnit().getClassPathInfo() ); - } - - public static MetadataModelImplementation createMetaModel( - ModelUnit unit ) - { - return new WebBeansModelImplementation( unit ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation#getBeansModel() - */ - @Override - public BeansModel getBeansModel() { - return super.getBeansModel(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.spi.MetadataModelImplementation#isReady() - */ - @Override - public boolean isReady() { - return !getHelper().isJavaScanInProgress(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.spi.MetadataModelImplementation#runReadAction(org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction) - */ - @Override - public R runReadAction( final MetadataModelAction action ) - throws MetadataModelException, IOException - { - return getHelper().runJavaSourceTask(new Callable() { - @Override - public R call() throws Exception { - return action.run(getModel()); - } - }); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.spi.MetadataModelImplementation#runReadActionWhenReady(org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction) - */ - @Override - public Future runReadActionWhenReady( - final MetadataModelAction action ) - throws MetadataModelException, IOException - { - return getHelper().runJavaSourceTaskWhenScanFinished(new Callable() { - @Override - public R call() throws Exception { - return action.run(getModel()); - } - }); - } - - protected AnnotationModelHelper getHelper() { - return myHelper; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation#getModel() - */ - @Override - protected WebBeansModel getModel() { - return super.getModel(); - } - - Map> getManagers(){ - return myManagers; - } - - PersistentObjectManager getManager( String annotationFQN ){ - PersistentObjectManager result = getManagers().get( - annotationFQN); - if ( result == null ) { - result = getHelper().createPersistentObjectManager( - new AnnotationObjectProvider( getHelper(), annotationFQN)); - getManagers().put( annotationFQN , result); - } - return result; - } - - PersistentObjectManager getNamedManager(){ - return getManager( FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION ); - } - - PersistentObjectManager getNamedStereotypesManager(){ - if ( myStereotypesManager == null ){ - myStereotypesManager = getHelper().createPersistentObjectManager( - new NamedStereotypeObjectProvider( getHelper())); - } - return myStereotypesManager; - } - - PersistentObjectManager getStereotypedManager( - String stereotype ) - { - PersistentObjectManager result = - getStereotypedManagers().get(stereotype); - if ( result == null ) { - result = getHelper().createPersistentObjectManager( - new StereotypedObjectProvider( stereotype, getHelper())); - getStereotypedManagers().put( stereotype , result); - } - return result; - } - - Map> getStereotypedManagers(){ - return myStereotypedManagers; - } - - PersistentObjectManager getDecoratorsManager(){ - if ( myDecoratorsManager == null ){ - myDecoratorsManager = getHelper().createPersistentObjectManager( - new DecoratorObjectProvider( getHelper())); - } - return myDecoratorsManager; - } - - PersistentObjectManager getInterceptorsManager(){ - if ( myInterceptorsManager == null ){ - myInterceptorsManager = getHelper().createPersistentObjectManager( - new InterceptorObjectProvider( getHelper())); - } - return myInterceptorsManager; - } - - Set adjustStereotypesManagers(){ - Set stereotypes = getStereotypedManagers().keySet(); - Collection namedStereotypes = getNamedStereotypesManager(). - getObjects(); - Set existingStereotypes = new HashSet(namedStereotypes.size()); - for (NamedStereotype namedStereotype : namedStereotypes) { - if( namedStereotype!=null && namedStereotype.getTypeElement()!=null) { - String name = namedStereotype.getTypeElement().getQualifiedName(). - toString(); - if ( !stereotypes.contains( name)){ - getStereotypedManager(name); - } - existingStereotypes.add( name ); - } - } - if ( existingStereotypes.size() == getStereotypedManagers().keySet().size()){ - return existingStereotypes; - } - for (Iterator iterator = getStereotypedManagers().keySet().iterator(); - iterator.hasNext(); ) - { - String stereotype = iterator.next(); - if ( !existingStereotypes.contains( stereotype)){ - iterator.remove(); - } - } - return existingStereotypes; - } - - private Map> myManagers; - private PersistentObjectManager myStereotypesManager; - private PersistentObjectManager myDecoratorsManager; - private PersistentObjectManager myInterceptorsManager; - private Map> myStereotypedManagers; - private AnnotationModelHelper myHelper; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansModelProviderImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansModelProviderImpl.java deleted file mode 100644 index 8ca193b901d1..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansModelProviderImpl.java +++ /dev/null @@ -1,642 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.ClassIndexListener; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.RootsEvent; -import org.netbeans.api.java.source.TypesEvent; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObjectManager; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.AnnotationParser; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.ParseResult; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class WebBeansModelProviderImpl extends DecoratorInterceptorLogic { - - protected WebBeansModelProviderImpl(WebBeansModelImplementation model){ - super( model ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getCompilationController() - */ - @Override - public CompilationController getCompilationController(){ - return getModel().getHelper().getCompilationController(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#resolveType(java.lang.String) - */ - @Override - public TypeMirror resolveType( String fqn ) { - return getModel().getHelper().resolveType( fqn ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#lookupInjectables(javax.lang.model.element.VariableElement, javax.lang.model.type.DeclaredType) - */ - @Override - public DependencyInjectionResult lookupInjectables(VariableElement element, DeclaredType parentType, AtomicBoolean cancel) { - TypeMirror type = getParameterType(element, null, INSTANCE_INTERFACE); - if ( type != null ){ - return lookupInjectables(element, parentType , - ResultLookupStrategy.MULTI_LOOKUP_STRATEGY, cancel); - } - else { - return lookupInjectables(element, parentType , - ResultLookupStrategy.SINGLE_LOOKUP_STRATEGY, cancel ); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#isInjectionPoint(javax.lang.model.element.VariableElement) - */ - @Override - public boolean isInjectionPoint( VariableElement element ) - throws org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError - { - Element parent = element.getEnclosingElement(); - - if ( parent instanceof TypeElement){ - List annotations = - getModel().getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(element); - return getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION); - } - else if ( parent instanceof ExecutableElement ){ - return isMethodParameterInjection(element,(ExecutableElement)parent); - } - return false; - } - - @Override - public List getQualifiers(Element element, boolean all ) { - final boolean event = getParameterType(element, null, EVENT_INTERFACE) != null; - - final LinkedHashSet result = new LinkedHashSet(); - final AnnotationObjectProvider.AnnotationHandleStrategy strategy = new - AnnotationObjectProvider.AnnotationHandleStrategy() { - - @Override - public void handleAnnotation( AnnotationMirror annotationMirror, - TypeElement annotation ) - { - result.add( annotationMirror ); - } - }; - AnnotationObjectProvider.findQualifiers(element, getModel().getHelper(), - event, strategy); - boolean isType = element instanceof TypeElement; - boolean isMethod = element instanceof ExecutableElement; - if ( all && ( isType || isMethod ) ){ - AnnotationObjectProvider.SpecializeVisitor visitor = new - AnnotationObjectProvider.SpecializeVisitor() { - - @Override - public boolean visit( ExecutableElement overridenElement ) { - collectQualifiers(overridenElement); - return false; - } - - @Override - public boolean visit( TypeElement superElement ) { - collectQualifiers(superElement); - return false; - } - - private void collectQualifiers( Element element ){ - AnnotationObjectProvider.findQualifiers(element, - getModel().getHelper(), event, strategy); - } - }; - if ( isType ){ - AnnotationObjectProvider.visitSpecializes((TypeElement)element, - getModel().getHelper(), visitor); - } - else if ( isMethod ){ - MemberCheckerFilter.visitSpecializes((ExecutableElement)element, - getModel().getHelper(), visitor); - } - } - return new ArrayList( result ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#hasImplicitDefaultQualifier(javax.lang.model.element.Element) - */ - @Override - public boolean hasImplicitDefaultQualifier( Element element ) { - boolean event = getParameterType(element, null, EVENT_INTERFACE) != null; - Set qualifiers = AnnotationObjectProvider.getQualifiers(element, - getModel().getHelper(), event); - if ( qualifiers.size() == 1 ){ - String qualifier = qualifiers.iterator().next(); - return qualifier.equals( NAMED_QUALIFIER_ANNOTATION ); - } - return qualifiers.size() == 0; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getName(javax.lang.model.element.Element) - */ - @Override - public String getName( Element element) - { - String name = inspectSpecializes( element ); - if ( name != null ){ - return name; - } - List allStereotypes = getAllStereotypes(element, - getModel().getHelper().getHelper()); - for (AnnotationMirror annotationMirror : allStereotypes) { - DeclaredType annotationType = annotationMirror.getAnnotationType(); - TypeElement annotation = (TypeElement)annotationType.asElement(); - if ( AnnotationObjectProvider.hasAnnotation(annotation, - NAMED_QUALIFIER_ANNOTATION, getModel().getHelper() ) ) - { - return getNamedName(element , null); - } - } - return null; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider#getNamedElements() - */ - @Override - public List getNamedElements(AtomicBoolean cancel) { - boolean dirty = isDirty.getAndSet( false ); - - if ( !isIndexListenerAdded ){ - addIndexListener( ); - } - - if ( !dirty ) { - List result = getCachedNamedElements( ); - if ( !isDirty.get() ) { - return result; - } - } - - List result = new LinkedList(); - Collection objects = getModel().getNamedManager().getObjects(); - for (BindingQualifier named : objects) { - TypeElement element = named.getTypeElement(); - // filter stereotypes - if ( element!= null && element.getKind() != ElementKind.ANNOTATION_TYPE) { - result.add( element ); - } - } - List members = AbstractObjectProvider.getNamedMembers( - getModel().getHelper() ); - for (Element element : members) { - if ( element== null || element.getKind()!= ElementKind.METHOD ){ - continue; - } - Set childSpecializes = getChildSpecializes( element, getModel(), cancel); - result.addAll( childSpecializes ); - } - result.addAll( members ); - - Set stereotypeNames = getModel().adjustStereotypesManagers(); - for (String stereotype : stereotypeNames) { - PersistentObjectManager manager = - getModel().getStereotypedManager(stereotype); - Collection beans = manager.getObjects(); - for (StereotypedObject bean : beans) { - TypeElement element = bean.getTypeElement(); - // filter stereotypes - if ( element!= null && element.getKind() != ElementKind.ANNOTATION_TYPE) { - result.add( element ); - } - } - List stereotypedMembers = StereotypedObjectProvider. - getAnnotatedMembers( stereotype, getModel().getHelper()); - result.addAll( stereotypedMembers ); - } - PackagingFilter filter = new PackagingFilter(getModel()); - filter.filter(result, cancel); - - setCachedResult( result ); - return result; - } - - @Override - public BeanArchiveType getBeanArchiveType() { - return getModel().getBeansModel().getBeanArchiveType(); - } - - @Override - public boolean isCdi11OrLater() { - return getModel().getBeansModel().isCdi11OrLater(); - } - - public static List getAllStereotypes( Element element , - AnnotationHelper helper ) - { - Set result = new HashSet(); - StereotypeChecker checker = new StereotypeChecker( helper); - doGetStereotypes(element, result, checker,helper); - return new ArrayList( result ); - } - - public static boolean isStereotype( TypeElement annotationElement, - StereotypeChecker checker ) - { - checker.init(annotationElement); - boolean result = checker.check(); - checker.clean(); - return result; - } - - protected DependencyInjectionResult lookupInjectables( VariableElement element, - DeclaredType parentType , ResultLookupStrategy strategy, AtomicBoolean cancel) - { - /* - * Element could be injection point. One need first if all to check this. - */ - Element parent = element.getEnclosingElement(); - - if(cancel.get()) { - return null; - } - - if ( parent instanceof TypeElement){ - return findVariableInjectable(element, parentType , strategy, cancel); - } - else if ( parent instanceof ExecutableElement ){ - // Probably injected field in method. One need to check method. - /* - * There are two cases where parameter is injected : - * 1) Method has some annotation which require from - * parameters to be injection points. - * 2) Method is disposer method. In this case injectable - * is producer corresponding method. - */ - return findParameterInjectable(element, parentType, strategy, cancel); - } - - return null; - } - - private boolean isMethodParameterInjection( VariableElement element, - ExecutableElement parent ) - throws org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError - { - List annotations = - getModel().getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(parent); - if (isDisposeParameter( element, parent, annotations)){ - return true; - } - /* - * Parameter with @Observes annotation is not plain injection point. - */ - boolean hasObserves = AnnotationObjectProvider.hasAnnotation(element, - OBSERVES_ANNOTATION, getModel().getHelper()); - if ( !hasObserves && isObservesParameter(element, parent, annotations)){ - return true; - } - return getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION)|| - getModel().getHelper().hasAnnotation(annotations, PRODUCER_ANNOTATION); - } - - private void setCachedResult( List list) { - myNamedElement = new ArrayList>( list.size()); - for( Element element : list ){ - myNamedElement.add( ElementHandle.create( element )); - } - } - - private List getCachedNamedElements() { - List result = new ArrayList( myNamedElement.size()); - for ( ElementHandle handle : myNamedElement ){ - Element element = handle.resolve(getModel().getHelper(). - getCompilationController()); - if ( element != null ){ - result.add( element ); - } - } - return result; - } - - private void addIndexListener( ) { - isIndexListenerAdded = true; - final AnnotationModelHelper helper = getModel().getHelper(); - helper.getClasspathInfo().getClassIndex().addClassIndexListener( - new ClassIndexListener(){ - - @Override - public void typesAdded(final TypesEvent event) { - setDirty(); - } - - @Override - public void typesRemoved(final TypesEvent event) { - setDirty(); - } - - @Override - public void typesChanged(final TypesEvent event) { - setDirty(); - } - - @Override - public void rootsAdded(RootsEvent event) { - setDirty(); - } - - @Override - public void rootsRemoved(RootsEvent event) { - setDirty(); - } - - private void setDirty(){ - isDirty.set( true ); - - } - }); - } - - private String inspectSpecializes( Element element){ - if (element instanceof TypeElement) { - String name = doGetName(element, element); - if ( name != null ){ - return name; - } - TypeElement superElement = AnnotationObjectProvider.checkSuper( - (TypeElement)element, NAMED_QUALIFIER_ANNOTATION, - getModel().getHelper()); - if ( superElement != null ){ - return doGetName(element, superElement); - } - } - else if ( element instanceof ExecutableElement ){ - String name = doGetName(element, element); - if ( name == null ){ - Element specialized = MemberCheckerFilter.getSpecialized( - (ExecutableElement)element, getModel(), - NAMED_QUALIFIER_ANNOTATION); - if ( specialized!= null ){ - return doGetName(element , specialized); - } - } - else { - return name; - } - } - else { - return doGetName(element, element); - } - return null; - } - - private String doGetName( Element original , Element element ){ - List annotations = getModel().getHelper(). - getCompilationController().getElements().getAllAnnotationMirrors( - element); - for (AnnotationMirror annotationMirror : annotations) { - DeclaredType type = annotationMirror.getAnnotationType(); - TypeElement annotationElement = (TypeElement)type.asElement(); - if ( NAMED_QUALIFIER_ANNOTATION.contentEquals( - annotationElement.getQualifiedName())) - { - return getNamedName( original , annotationMirror ); - } - } - return null; - } - - private static void doGetStereotypes( Element element , - Set result ,final StereotypeChecker checker , - AnnotationHelper helper ) - { - TransitiveAnnotationHandler handler = new TransitiveAnnotationHandler(){ - - @Override - public boolean proceed( Element annotatedElement, - TypeElement element , boolean isTargetAnnotation) - { - return isTargetAnnotation; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.DecoratorInterceptorLogic.TransitiveAnnotationHandler#isTargetAnotation(javax.lang.model.element.TypeElement) - */ - @Override - public boolean isTargetAnotation( TypeElement element ) { - return isStereotype( element, checker ); - } - - }; - transitiveVisitAnnotatedElements(element, result, helper, handler); - } - - private String getNamedName( Element element, AnnotationMirror namedAnnotation ) - { - if (namedAnnotation != null) { - AnnotationParser parser = AnnotationParser.create(getModel().getHelper()); - parser.expectString(RuntimeAnnotationChecker.VALUE, null); - ParseResult result = parser.parse(namedAnnotation); - String name = result.get(RuntimeAnnotationChecker.VALUE, String.class); - if ( name != null ){ - return name; - } - } - if ( element instanceof TypeElement ){ - String name = element.getSimpleName().toString(); - if ( name.length() >0 ){ - // XXX we may use Introspector.decapitalize - String withoutPrefix = name.substring(1); - // #249438 - if (!withoutPrefix.isEmpty() && Character.isUpperCase(withoutPrefix.charAt(0))) { - return name; - } else { - return Character.toLowerCase(name.charAt(0)) + withoutPrefix; - } - } - else { - return name; - } - } - if ( element instanceof VariableElement ){ - return element.getSimpleName().toString(); - } - if ( element instanceof ExecutableElement ){ - String name = element.getSimpleName().toString(); - if ( name.startsWith("get") && name.length() > 3 ){ // NOI18N - return getPropertyName(name, 3); - } - else if ( name.startsWith("is") && name.length() >2 ){ // NOI18N - return getPropertyName(name, 2); - } - return name; - } - return null; - } - - private String getPropertyName(String methodName, int prefixLength) { - String propertyName = methodName.substring(prefixLength); - String propertyNameWithoutFL = propertyName.substring(1); - - if (propertyNameWithoutFL.length() > 0) { - if (propertyNameWithoutFL.equals(propertyNameWithoutFL.toUpperCase())) { - //property is in uppercase - return propertyName; - } - } - return Character.toLowerCase(propertyName.charAt(0)) + propertyNameWithoutFL; - } - - /* - * Observer method could have only one parameter. - * Other parameters are error for observer method. - * They are not injection points. - */ - private boolean isObservesParameter( VariableElement element, - ExecutableElement method , List annotations ) - throws org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError - { - List parameters = method.getParameters(); - boolean observesFound = false; - for (VariableElement variableElement : parameters) { - if ( AnnotationObjectProvider.hasAnnotation(variableElement, - OBSERVES_ANNOTATION, getModel().getHelper())) - { - if ( observesFound ){ - throw new org.netbeans.modules.jakarta.web.beans.api.model. - InjectionPointDefinitionError(method, - NbBundle.getMessage(WebBeansModelImplementation.class, - "ERR_MultipleObserves" , method.getSimpleName())); - } - observesFound = true; - } - } - if ( !observesFound ){ - return false; - } - - String badAnnotation = checkInjectProducers(annotations); - if ( badAnnotation != null ){ - throw new org.netbeans.modules.jakarta.web.beans.api.model. - InjectionPointDefinitionError( method, - NbBundle.getMessage(WebBeansModelImplementation.class, - "ERR_ObserverHasInjectOrProduces" , method.getSimpleName(), - badAnnotation )); - } - return observesFound; - } - - /* - * All parameters of disposer method are injection points. - */ - private boolean isDisposeParameter( VariableElement element, - ExecutableElement method , List annotations) - throws org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError - { - List parameters = method.getParameters(); - boolean disposeFound = false; - boolean observesFound = false; - for (VariableElement variableElement : parameters) { - if ( AnnotationObjectProvider.hasAnnotation(variableElement, - DISPOSES_ANNOTATION, getModel().getHelper())) - { - if ( disposeFound ){ - throw new org.netbeans.modules.jakarta.web.beans.api.model. - InjectionPointDefinitionError(method, - NbBundle.getMessage(WebBeansModelImplementation.class, - "ERR_MultipleDisposes" , method.getSimpleName())); - } - disposeFound = true; - } - if ( AnnotationObjectProvider.hasAnnotation(variableElement, - OBSERVES_ANNOTATION, getModel().getHelper())) - { - observesFound = true; - } - } - if ( !disposeFound ){ - return false; - } - if ( observesFound ){ - throw new org.netbeans.modules.jakarta.web.beans.api.model. - InjectionPointDefinitionError(method, - NbBundle.getMessage(WebBeansModelImplementation.class, - "ERR_DisposesHasObserves" , method.getSimpleName())); - } - String badAnnotation = checkInjectProducers(annotations); - if ( badAnnotation != null ){ - throw new org.netbeans.modules.jakarta.web.beans.api.model. - InjectionPointDefinitionError( method, - NbBundle.getMessage(WebBeansModelImplementation.class, - "ERR_DisposesHasInjectOrProduces" , method.getSimpleName(), - badAnnotation )); - } - return disposeFound; - } - - private String checkInjectProducers(List annotations) - { - if (getModel().getHelper().hasAnnotation(annotations, - INJECT_ANNOTATION)) - { - return INJECT_ANNOTATION; - } - if ( getModel().getHelper().hasAnnotation(annotations, - PRODUCER_ANNOTATION)) - { - return PRODUCER_ANNOTATION; - } - return null; - } - - private AtomicBoolean isDirty = new AtomicBoolean(true); - private volatile boolean isIndexListenerAdded; - private List> myNamedElement; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansProviderFactoryImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansProviderFactoryImpl.java deleted file mode 100644 index 1894df07db99..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/WebBeansProviderFactoryImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model; - -import org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation; -import org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProvider; -import org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProviderFactory; - - -/** - * @author ads - * - */ -@org.openide.util.lookup.ServiceProvider(service=WebBeansModelProviderFactory.class) -public class WebBeansProviderFactoryImpl implements - WebBeansModelProviderFactory -{ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.model.spi.WebBeansModelProviderFactory#createWebBeansModelProvider(org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation) - */ - @Override - public WebBeansModelProvider createWebBeansModelProvider( - AbstractModelImplementation model ) - { - if ( model instanceof WebBeansModelImplementation ){ - return new WebBeansModelProviderImpl( - (WebBeansModelImplementation)model ); - } - return null; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/BaseResult.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/BaseResult.java deleted file mode 100644 index a9df6029535b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/BaseResult.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model.results; - -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; - - - -/** - * @author ads - * - */ -abstract class BaseResult implements DependencyInjectionResult { - - BaseResult( VariableElement element , TypeMirror type ){ - myElement = element; - myType = type; - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result#getVariable() - */ - @Override - public VariableElement getVariable() { - return myElement; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result#getVariableType() - */ - @Override - public TypeMirror getVariableType() { - return myType; - } - - private final VariableElement myElement; - private final TypeMirror myType; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/DefinitionErrorResult.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/DefinitionErrorResult.java deleted file mode 100644 index 02da4a93ce68..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/DefinitionErrorResult.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model.results; - -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; - - -/** - * @author ads - * - */ -public class DefinitionErrorResult extends BaseResult implements DependencyInjectionResult.Error { - - public DefinitionErrorResult( VariableElement var, TypeMirror type, - String error ) - { - super(var, type); - myMessage =error; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.Error#getMessage() - */ - @Override - public String getMessage(){ - return myMessage; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result#getKind() - */ - @Override - public ResultKind getKind() { - return ResultKind.DEFINITION_ERROR; - } - - private final String myMessage; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ErrorImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ErrorImpl.java deleted file mode 100644 index b5eff0d39bf5..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ErrorImpl.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model.results; - -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.Error; - - -/** - * @author ads - * - */ -public class ErrorImpl extends BaseResult implements Error { - - public ErrorImpl( VariableElement var, TypeMirror type, - String error ) - { - super(var, type); - myMessage =error; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.Error#getMessage() - */ - @Override - public String getMessage(){ - return myMessage; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result#getKind() - */ - @Override - public ResultKind getKind() { - return ResultKind.RESOLUTION_ERROR; - } - - private String myMessage; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InjectableResultImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InjectableResultImpl.java deleted file mode 100644 index a25514a7bca1..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InjectableResultImpl.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model.results; - -import java.util.Set; - -import javax.lang.model.element.Element; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ApplicableResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.InjectableResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ResolutionResult; - - -/** - * @author ads - * - */ -public class InjectableResultImpl extends ResultImpl implements InjectableResult, - ResolutionResult, ApplicableResult -{ - - public InjectableResultImpl( ResultImpl origin,Element injectable, - Set enabledBeans) - { - super(origin.getVariable(), origin.getVariableType(), - origin.getTypeElements(), origin.getProductions(), - origin.getHelper()); - myInjectable = injectable; - myEnabled = enabledBeans; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.InjectableResult#getElement() - */ - @Override - public Element getElement() { - return myInjectable; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.ApplicableResult#isDisabled(javax.lang.model.element.Element) - */ - @Override - public boolean isDisabled( Element element ) { - return !myEnabled.contains( element ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl#getKind() - */ - @Override - public ResultKind getKind() { - return ResultKind.INJECTABLE_RESOLVED; - } - - private final Element myInjectable; - private final Set myEnabled; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InjectablesResultImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InjectablesResultImpl.java deleted file mode 100644 index c02b92c1bd25..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InjectablesResultImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model.results; - -import java.util.Collections; -import java.util.Set; - -import javax.lang.model.element.Element; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ApplicableResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ResolutionResult; - - -/** - * @author ads - * - */ -public class InjectablesResultImpl extends ResultImpl implements - ResolutionResult, ApplicableResult -{ - - public InjectablesResultImpl( ResultImpl origin, Set enabledBeans) - { - super(origin.getVariable(), origin.getVariableType(), - origin.getTypeElements(), origin.getProductions(), - origin.getHelper()); - myEnabled = enabledBeans; - } - - public InjectablesResultImpl( ResultImpl origin ) { - super(origin.getVariable(), origin.getVariableType(), - origin.getTypeElements(), origin.getProductions(), - origin.getHelper()); - myEnabled =Collections.emptySet(); - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.ApplicableResult#isDisabled(javax.lang.model.element.Element) - */ - @Override - public boolean isDisabled( Element element ) { - return !myEnabled.contains( element ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl#getKind() - */ - @Override - public ResultKind getKind() { - return ResultKind.INJECTABLES_RESOLVED; - } - - private final Set myEnabled; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InterceptorsResultImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InterceptorsResultImpl.java deleted file mode 100644 index bee538a44050..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/InterceptorsResultImpl.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model.results; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.AnnotationParser; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.ArrayValueHandler; -import org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.StereotypeChecker; -import org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelProviderImpl; - - -/** - * @author ads - * - */ -public class InterceptorsResultImpl implements InterceptorsResult { - - static final String INTERCEPTORS = "jakarta.interceptor.Interceptors"; // NOI18N - - public InterceptorsResultImpl( Element element , - List enabledInterceptors, - Set disabledIntercaptors, - AnnotationModelHelper helper ) - { - mySubjectElement = element; - myHelper = helper; - myEnabledInterceptors = enabledInterceptors; - myDisabledInterceptors = disabledIntercaptors; - initDeclaredInterceptors(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result#getAllStereotypes(javax.lang.model.element.Element) - */ - @Override - public List getAllStereotypes( Element element ) { - return WebBeansModelProviderImpl.getAllStereotypes(element, - getHelper().getHelper()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result#getStereotypes(javax.lang.model.element.Element) - */ - @Override - public List getStereotypes( Element element ) { - return getStereotypes(element, getHelper() ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansResult#isDisabled(javax.lang.model.element.Element) - */ - @Override - public boolean isDisabled( Element element ) { - return myDisabledInterceptors.contains(element); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult#getElement() - */ - @Override - public Element getElement() { - return mySubjectElement; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult#getResolvedInterceptors() - */ - @Override - public List getResolvedInterceptors() { - int enabledSize = myEnabledInterceptors.size(); - int disabledSize = myDisabledInterceptors.size(); - ArrayList result = new ArrayList( enabledSize + - disabledSize ); - result.addAll( myEnabledInterceptors ); - result.addAll( myDisabledInterceptors ); - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult#getDeclaredInterceptors() - */ - @Override - public List getDeclaredInterceptors() { - return myDeclaredInterceptors; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult#getAllInterceptors() - */ - @Override - public List getAllInterceptors() { - int enabledSize = myEnabledInterceptors.size(); - int disabledSize = myDisabledInterceptors.size(); - int declaredSize = myDeclaredInterceptors.size(); - ArrayList result = new ArrayList( enabledSize + - disabledSize +declaredSize); - result.addAll( myEnabledInterceptors ); - result.addAll( myDeclaredInterceptors ); - result.addAll( myDisabledInterceptors ); - return result; - } - - - private void initDeclaredInterceptors() { - final LinkedHashSet result = new LinkedHashSet(); - AnnotationParser parser = AnnotationParser.create( getHelper()); - parser.expectClassArray("value", new ArrayValueHandler() { - - @Override - public Object handleArray( List arrayMembers ) { - for (AnnotationValue arrayMember : arrayMembers) { - TypeMirror typeMirror = (TypeMirror) arrayMember.getValue(); - Element element = getController().getTypes(). - asElement( typeMirror ); - if ( element instanceof TypeElement ){ - result.add( (TypeElement)element ); - } - } - return null; - } - }, null); - Element subjectElement = getElement(); - if ( subjectElement instanceof ExecutableElement ){ - TypeElement enclosingType = getController().getElementUtilities(). - enclosingTypeElement( subjectElement); - fillDeclaredAnnotations(parser, enclosingType); - } - fillDeclaredAnnotations(parser, subjectElement); - myDeclaredInterceptors = new ArrayList( result ); - } - - private void fillDeclaredAnnotations( AnnotationParser parser, - Element subjectElement ) - { - List annotationMirrors = - getController().getElements().getAllAnnotationMirrors( subjectElement ); - AnnotationMirror annotationMirror = getHelper().getAnnotationsByType( - annotationMirrors).get(INTERCEPTORS); - if ( annotationMirror != null ){ - parser.parse(annotationMirror); - } - } - - static List getStereotypes( Element element , - AnnotationModelHelper helper) - { - List result = new LinkedList(); - List annotationMirrors = - helper.getCompilationController().getElements(). - getAllAnnotationMirrors( element ); - StereotypeChecker checker = new StereotypeChecker( helper.getHelper()); - for (AnnotationMirror annotationMirror : annotationMirrors) { - TypeElement annotationElement = (TypeElement)annotationMirror. - getAnnotationType().asElement(); - if ( annotationElement!= null && - WebBeansModelProviderImpl.isStereotype( annotationElement, - checker ) ) - { - result.add( annotationMirror ); - } - } - return result; - } - - private AnnotationModelHelper getHelper(){ - return myHelper; - } - - private CompilationController getController(){ - return getHelper().getCompilationController(); - } - - private Element mySubjectElement; - private List myEnabledInterceptors; - private Collection myDisabledInterceptors; - private List myDeclaredInterceptors; - private AnnotationModelHelper myHelper; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ResolutionErrorImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ResolutionErrorImpl.java deleted file mode 100644 index d6408f48e9e3..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ResolutionErrorImpl.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model.results; - -import java.util.Set; - -import javax.lang.model.element.Element; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ApplicableResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.Error; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ResolutionResult; - - -/** - * @author ads - * - */ -public class ResolutionErrorImpl extends InjectablesResultImpl implements Error, - ResolutionResult, ApplicableResult -{ - - public ResolutionErrorImpl( ResultImpl origin, String message , - Set enabledBeans) - { - super( origin , enabledBeans ); - myMessage = message; - } - - public ResolutionErrorImpl( ResultImpl origin, String message ) { - super( origin ); - myMessage = message; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.Error#getMessage() - */ - @Override - public String getMessage() { - return myMessage; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl#getKind() - */ - @Override - public ResultKind getKind() { - return ResultKind.RESOLUTION_ERROR; - } - - private final String myMessage; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ResultImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ResultImpl.java deleted file mode 100644 index 257b550b1d5f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/impl/model/results/ResultImpl.java +++ /dev/null @@ -1,147 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.impl.model.results; - -import java.util.Collections; -import java.util.List; -import java.util.Set; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelProviderImpl; - - -/** - * @author ads - * - */ -public class ResultImpl extends BaseResult implements DependencyInjectionResult.ResolutionResult { - - private static final String ALTERNATIVE = - "jakarta.enterprise.inject.Alternative"; // NOI18N - - public ResultImpl( VariableElement var, TypeMirror elementType , - Set declaredTypes, - Set productionElements, - AnnotationModelHelper helper ) - { - super( var, elementType ); - myDeclaredTypes = declaredTypes; - myProductions = productionElements; - myHelper = helper; - } - - public ResultImpl( VariableElement var, TypeMirror elementType , - TypeElement declaredType, AnnotationModelHelper helper ) - { - super( var, elementType ); - myDeclaredTypes =Collections.singleton( declaredType ); - myProductions = Collections.emptySet(); - myHelper = helper; - } - - public ResultImpl( VariableElement var, TypeMirror elementType , - AnnotationModelHelper helper ) - { - super( var, elementType ); - myDeclaredTypes =Collections.emptySet(); - myProductions = Collections.emptySet(); - myHelper = helper; - } - - public Set getTypeElements() { - return myDeclaredTypes; - } - - public Set getProductions() { - return myProductions; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result#getKind() - */ - @Override - public ResultKind getKind() { - return null; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.InjectableResult#getStereotypes(javax.lang.model.element.Element) - */ - @Override - public List getAllStereotypes( Element element ) { - return WebBeansModelProviderImpl.getAllStereotypes(element, - getHelper().getHelper()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.InjectableResult#getStereotypes(javax.lang.model.element.Element) - */ - @Override - public List getStereotypes( Element element ) { - return InterceptorsResultImpl.getStereotypes(element, getHelper() ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.InjectableResult#isAlternative(javax.lang.model.element.Element) - */ - @Override - public boolean isAlternative( Element element ) { - if (hasAlternative(element)){ - return true; - } - for (AnnotationMirror annotationMirror : getAllStereotypes(element)) { - DeclaredType annotationType = annotationMirror.getAnnotationType(); - if ( hasAlternative( annotationType.asElement()) ){ - return true; - } - } - return false; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.Result.ResolutionResult#hasAlternative(javax.lang.model.element.Element) - */ - @Override - public boolean hasAlternative( Element element ){ - List annotations = getController(). - getElements().getAllAnnotationMirrors(element); - return getHelper().hasAnnotation(annotations, ALTERNATIVE); - } - - AnnotationModelHelper getHelper(){ - return myHelper; - } - - private CompilationController getController(){ - return getHelper().getCompilationController(); - } - - private Set myDeclaredTypes; - private Set myProductions; - private final AnnotationModelHelper myHelper; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/model/spi/WebBeansModelProvider.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/model/spi/WebBeansModelProvider.java deleted file mode 100644 index 23f8fb548845..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/model/spi/WebBeansModelProvider.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.model.spi; - -import java.util.Collection; -import java.util.List; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult; - - -/** - * @author ads - * - */ -public interface WebBeansModelProvider { - - DependencyInjectionResult lookupInjectables( VariableElement element , DeclaredType parentType, AtomicBoolean cancel); - - boolean isDynamicInjectionPoint( VariableElement element ); - - boolean isInjectionPoint( VariableElement element ) throws InjectionPointDefinitionError; - - List getQualifiers( Element element , boolean all ); - - List getNamedElements(AtomicBoolean cancel); - - String getName( Element element); - - List getObservers( VariableElement element, - DeclaredType parentType); - - List getEventInjectionPoints( ExecutableElement element, - DeclaredType parentType); - - VariableElement getObserverParameter( ExecutableElement element); - - String getScope( Element element ) throws CdiException; - - CompilationController getCompilationController(); - - TypeMirror resolveType( String fqn); - - boolean hasImplicitDefaultQualifier( Element element ); - - Collection getDecorators( TypeElement element ); - - InterceptorsResult getInterceptors( Element element ); - - Collection getInterceptorBindings( Element element ); - - BeanArchiveType getBeanArchiveType(); - - boolean isCdi11OrLater(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/model/spi/WebBeansModelProviderFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/model/spi/WebBeansModelProviderFactory.java deleted file mode 100644 index 27dfb8b0023d..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/model/spi/WebBeansModelProviderFactory.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.model.spi; - -import org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation; - - -/** - * @author ads - * - */ -public interface WebBeansModelProviderFactory { - - WebBeansModelProvider createWebBeansModelProvider( AbstractModelImplementation model); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/BindingsPanel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/BindingsPanel.java deleted file mode 100644 index 7ebf0ef74bf0..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/BindingsPanel.java +++ /dev/null @@ -1,492 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Name; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.ArrayType; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.swing.tree.TreePath; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.WebBeansActionHelper; - - -/** - * @author ads - * - */ -public class BindingsPanel extends CDIPanel { - - private static final long serialVersionUID = 1230555367053797509L; - - static final String NON_BINDING_MEMBER_ANNOTATION = - "jakarta.enterprise.inject.NonBinding"; // NOI18N - - static final String DEFAULT = "Default"; // NOI18N - - static final String DEFAULT_QUALIFIER_ANNOTATION = - "jakarta.enterprise.inject."+DEFAULT; // NOI18N - - public BindingsPanel( final Object[] subject, MetadataModel metaModel, - WebBeansModel model, JavaHierarchyModel treeModel, Result result ) - { - super(treeModel); - - myModel = metaModel; - - myResult = result; - setVisibleScope(result instanceof DependencyInjectionResult.ResolutionResult); - setVisibleStereotypes( result != null ); - - if ( model == null ){ - try { - metaModel.runReadAction( new MetadataModelAction() { - @Override - public Void run( WebBeansModel model ) throws Exception { - initCDIContext( subject, model ); - return null; - } - }); - } - - catch (MetadataModelException e) { - Logger.getLogger( CDIPanel.class.getName()). - log( Level.WARNING, e.getMessage(), e); - } catch (IOException e) { - Logger.getLogger( CDIPanel.class.getName()). - log( Level.WARNING, e.getMessage(), e); - } - } - else { - initCDIContext( subject, model ); - } - } - - BindingsPanel( Object[] subject, MetadataModel metaModel, - WebBeansModel model, JavaHierarchyModel treeModel ) - { - this(subject, metaModel, model, treeModel, null); - } - - protected void setVisibleScope( boolean visible ){ - getScopeComponent().setVisible(visible); - getScopeLabel().setVisible( visible ); - } - - protected void setVisibleStereotypes( boolean visible ){ - getStereotypeLabel().setVisible(visible); - getStereotypesComponent().setVisible( visible ); - } - - protected void setContextElement( Element context, - CompilationController controller ) - { - TypeMirror typeMirror = context.asType(); - setContextType(typeMirror, controller ); - } - - protected void setContextType( TypeMirror typeMirror, - CompilationController controller) - { - fillElementType(typeMirror, myShortElementName, myFqnElementName, controller); - } - - /* - * Dialog shows element tree. Bindings (qualifiers) and type are shown for selected - * node in this tree. This method is used to access an element which - * contains bindings (qualifiers) and type. - * This method is required for derived classes which wants to reuse - * functionality of this class. Such classes context element - * could be without required annotations and type (F.e. observer method. - * It is used as start point for finding its observer parameter ). - */ - protected Element getSelectedQualifiedElement( Element context , - WebBeansModel model ) - { - return context; - } - - /* - * Normally the subject element is context element ( f.e. injection point ). - * In this case this method returns exactly this element - * from its context. - * Subclasses could override this behavior to return some other - * element . This element will be used for showing type and bindings (qualifiers). - */ - protected Element getSubjectElement ( Element context , - WebBeansModel model) - { - return context; - } - - @Override - protected void showSelectedCDI() { - getSelectedBindingsComponent().setToolTipText(null); - TreePath treePath = getJavaTree().getSelectionPath(); - if (treePath != null) { - Object node = treePath.getLastPathComponent(); - if (node instanceof InjectableTreeNode) { - final ElementHandle elementHandle = - ((InjectableTreeNode)node).getElementHandle(); - try { - getModel().runReadAction( new MetadataModelAction() { - - @Override - public Void run( WebBeansModel model ) throws Exception { - doShowSelectedCDI(elementHandle, model); - return null; - } - - }); - } - - catch (MetadataModelException e) { - Logger.getLogger( CDIPanel.class.getName() ). - log( Level.WARNING, e.getMessage(), e); - } catch (IOException e) { - Logger.getLogger( CDIPanel.class.getName() ). - log( Level.WARNING, e.getMessage(), e); - } - getSelectedBindingsComponent().setCaretPosition(0); - getSelectedBindingsComponent().setToolTipText(((JavaElement)node).getTooltip()); - } - } - } - - @Override - protected void reloadSubjectElement(){ - if ( showFqns() ) { - getInitialBindingsComponent().setText( getFqnBindings() ); - getInitialElement().setText(getFqnElementName().toString()); - } - else { - getInitialBindingsComponent().setText( getShortBindings() ); - getInitialElement().setText( getShortElementName().toString()); - } - } - - protected StringBuilder getShortElementName(){ - return myShortElementName; - } - - protected StringBuilder getFqnElementName(){ - return myFqnElementName; - } - - protected String getFqnBindings(){ - return myFqnBindings; - } - - protected String getShortBindings(){ - return myShortBindings; - } - - protected void setFqnBindings( String bindings ){ - myFqnBindings = bindings; - } - - protected void setShortBindings( String bindings ){ - myShortBindings = bindings; - } - - protected void initBindings( WebBeansModel model, Element element ) { - List qualifiers = model.getQualifiers( element , true ); - - StringBuilder fqnBuilder = new StringBuilder(); - StringBuilder builder = new StringBuilder(); - if ( model.hasImplicitDefaultQualifier(element)){ - fqnBuilder.append('@'); - builder.append('@'); - fqnBuilder.append(DEFAULT_QUALIFIER_ANNOTATION); - builder.append(DEFAULT); - fqnBuilder.append(", "); // NOI18N - builder.append(", "); // NOI18N - } - - for (AnnotationMirror annotationMirror : qualifiers) { - appendAnnotationMirror(annotationMirror, fqnBuilder, true ); - appendAnnotationMirror(annotationMirror, builder, false ); - } - if ( fqnBuilder.length() >0 ){ - myFqnBindings = fqnBuilder.substring(0 , fqnBuilder.length() -2 ); - myShortBindings = builder.substring(0 , builder.length() -2 ); - } - else { - // this should never happens actually. - myFqnBindings = ""; - myShortBindings = ""; - } - if ( showFqns() ) { - getInitialBindingsComponent().setText( myFqnBindings ); - } - else { - getInitialBindingsComponent().setText( myShortBindings ); - } - } - - protected void appendAnnotationMirror( AnnotationMirror mirror , StringBuilder builder , - boolean isFqn ) - { - DeclaredType type = mirror.getAnnotationType(); - Element annotation = type.asElement(); - - builder.append('@'); - String annotationName ; - if ( isFqn ) { - annotationName= ( annotation instanceof TypeElement )? - ((TypeElement)annotation).getQualifiedName().toString() : - annotation.getSimpleName().toString(); - } - else { - annotationName = annotation.getSimpleName().toString(); - } - - builder.append( annotationName ); - - appendBindingParamters( mirror , builder ); - - builder.append(", "); // NOI18N - } - - protected void doShowSelectedCDI(ElementHandle elementHandle, - WebBeansModel model ) throws CdiException - { - Element element = elementHandle.resolve( - model.getCompilationController()); - if ( element == null ){ - getSelectedBindingsComponent().setText(""); - } - else { - element = getSelectedQualifiedElement( element, model); - List bindings = - model.getQualifiers(element, true); - StringBuilder builder = new StringBuilder(); - - if ( model.hasImplicitDefaultQualifier(element)){ - builder.append('@'); - if (showFqns() ){ - builder.append(DEFAULT_QUALIFIER_ANNOTATION); - } - else { - builder.append(DEFAULT); - } - builder.append(", "); // NOI18N - } - - for (AnnotationMirror annotationMirror : bindings) { - appendAnnotationMirror(annotationMirror, builder, showFqns() ); - } - String bindingsString = ""; - if ( builder.length() >0 ){ - bindingsString = builder.substring(0 , - builder.length() -2 ); - } - getSelectedBindingsComponent().setText( bindingsString); - setScope(model, element); - setStereotypes(model, element); - } - } - - protected void setStereotypes( WebBeansModel model, Element element ) - throws CdiException - { - if (getResult() != null) { - List stereotypes = getResult().getAllStereotypes( - element); - if (stereotypes.isEmpty()) { - getStereotypesComponent().setText(""); - return; - } - StringBuilder text = new StringBuilder(); - boolean isFqn = showFqns(); - for (AnnotationMirror stereotype : stereotypes) { - appendAnnotationMirror(stereotype, text, isFqn); - } - getStereotypesComponent().setText(text.substring(0, text.length() - 2)); - } - } - - protected void setScope( WebBeansModel model, Element element ) - throws CdiException - { - if (getResult() instanceof DependencyInjectionResult.ResolutionResult) { - String scope = model.getScope(element); - if (scope == null) { - return; - } - String text = ""; - if (showFqns()) { - text = "@" + scope; // NOI8N - } - else { - TypeMirror scopeType = model.resolveType(scope); - if (scopeType != null) { - Element scopeElement = model.getCompilationController() - .getTypes().asElement(scopeType); - if (scopeElement instanceof TypeElement) { - Name name = ((TypeElement) scopeElement) - .getSimpleName(); - text = "@" + name.toString(); - } - } - } - getScopeComponent().setText(text); - } - } - - private void initCDIContext( Object[] subject, WebBeansModel model ) { - Element element = null; - if ( subject[2] == InspectActionId.INJECTABLES_CONTEXT ){ - element = WebBeansActionHelper.findVariable(model, subject); - } - else { - element = ((ElementHandle)subject[0]).resolve( - model.getCompilationController()); - } - Element context = getSubjectElement(element, model); - if ( context == null ){ - return; - } - - myShortElementName = new StringBuilder(); - myFqnElementName = new StringBuilder(); - setContextElement(context, model.getCompilationController()); - - initBindings(model, context); - - reloadSubjectElement(); - } - - private void appendBindingParamters( AnnotationMirror mirror, - StringBuilder builder ) - { - Map - elementValues = mirror.getElementValues(); - StringBuilder params = new StringBuilder(); - for ( Entry - entry : elementValues.entrySet()) - { - ExecutableElement key = entry.getKey(); - AnnotationValue value = entry.getValue(); - List annotationMirrors = - key.getAnnotationMirrors(); - boolean nonBinding = false; - for (AnnotationMirror annotationMirror : annotationMirrors) { - DeclaredType annotationType = annotationMirror.getAnnotationType(); - Element element = annotationType.asElement(); - if ( ( element instanceof TypeElement ) && - ((TypeElement)element).getQualifiedName(). - contentEquals(NON_BINDING_MEMBER_ANNOTATION)) - { - nonBinding = true; - break; - } - } - if ( !nonBinding ){ - params.append( key.getSimpleName().toString() ); - params.append( "=" ); // NOI18N - if ( value.getValue() instanceof String ){ - params.append('"'); - params.append( value.getValue().toString()); - params.append('"'); - } - else { - params.append( value.getValue().toString()); - } - params.append(", "); // NOI18N - } - } - if ( params.length() >0 ){ - builder.append( "(" ); // NOI18N - builder.append( params.substring(0 , params.length() -2 )); - builder.append( ")" ); // NOI18N - } - } - - private Result getResult() { - return myResult; - } - - private MetadataModel getModel(){ - return myModel; - } - - static void fillElementType( TypeMirror typeMirror, StringBuilder shortName, - StringBuilder fqnName , CompilationController controller) - { - if ( typeMirror.getKind().isPrimitive()){ - shortName.append( typeMirror.getKind().toString().toLowerCase()); - fqnName.append( shortName ); - return; - } - if ( typeMirror.getKind() == TypeKind.ARRAY ){ - fillArrayType( typeMirror , shortName, fqnName , controller ); - shortName = shortName.append("[]"); // NOI18N - fqnName = fqnName.append("[]"); // NOI18N - } - Element element = controller.getTypes().asElement( typeMirror ); - if ( element != null ){ - fqnName.append( (element instanceof TypeElement )? - ((TypeElement)element).getQualifiedName().toString() : - element.getSimpleName().toString()); - shortName.append(element.getSimpleName().toString()); - } - } - - static void fillArrayType( TypeMirror typeMirror, StringBuilder shortName, - StringBuilder fqnName , CompilationController controller ) - { - TypeMirror componentType = ((ArrayType)typeMirror).getComponentType(); - fillElementType(componentType, shortName , fqnName , controller); - } - - private StringBuilder myFqnElementName; - private StringBuilder myShortElementName; - - private String myFqnBindings; - private String myShortBindings; - - private MetadataModel myModel; - - private Result myResult; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/Bundle.properties deleted file mode 100644 index 3d34a4ab9d99..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/Bundle.properties +++ /dev/null @@ -1,112 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -LBL_WaitNode=Please Wait... - -LABEL_filtersLabel=Filters: -ACSN_Filters=Filters -ACSD_Filters=Filter label -LABEL_Close=C&lose -ACSN_Close=Close button -ACSD_Close=Closes dialog -LABEL_filterLabel=&Filter: -ACSN_TextFilter=Text filter. -ACSD_TextFilter=Applies filter by text -ACSD_TextFieldFilter=Type a regular expression to filter the items. ("?" matches any character, "*" matches any string; a trailing "*" is automatically appended) -LABEL_caseSensitiveFilterCheckBox=&Case sensitive -LBL_Bindings=Injection Point &Qualifiers: -LBL_Policies=&Policies: -LBL_Type=Injection Point &Type: -ACSN_Bindings=Injection point qualifiers -ACSD_Bindnigs=Shows qualifiers for chosen injection point -ACSN_Type=Injection point type -ACSD_Type=Shows type of chosen injection point -LBL_CurrentElementBindings=Q&ualifiers: -LBL_InjectableBindings=Eligible for injection element qualifiers : -ACSN_InjectableBindings=Eligible for injection element's qualifiers -ACSD_InjectableBindnigs=Shows all qualifiers for chosen element eligible for injection. -ACSD_InjectableHierarchy=Eligible for injection elements hierarchy -TOOLTIP_filterTextField=Type a regular expression to filter the items. ("?" matches any character, "*" matches any string; a trailing "*" is automatically appended) -TOOLTIP_showFQNToggleButton=Show fully qualified names (Alt+Q) -TOOLTIP_expandAll=Expand All (Alt+E) -ACSN_CaseSensitive=Case sensitive -caseSensitiveFilterCheckBox_ACSD=Switches Filter case sensitivity - -# Doc scroll pane -ACSN_DocScrollPane=Javadoc View -ACSD_DocScrollPane=Javadoc View -HINT_doc_browser_back_button=Go to previous page -HINT_doc_browser_forward_button=Go to next page -HINT_doc_browser_show_web_button=Show documentation in external web browser -HINT_doc_browser_goto_source_button=Open source in editor - -MSG_CouldNotOpenElement=Could not open element {0}. - -LBL_EventType=&Event Type: -ACSN_EventType=Event type -ACSD_EventType=Shows type of chosen event - -LBL_EventQualifiers=Event &Qualifiers: -ACSN_EventQualifiers=Event qualifiers -ACSD_EventQualifiers=Shows qualifiers for chosen event - -LBL_ObservedEventType=Observed &Event type: -ACSN_ObservedEventType=Observed event type -ACSD_ObservedEventType=Shows type of event for chosen observer - -LBL_ObservedEventQualifiers=Observed Event &Qualifiers: -ACSN_ObservedEventQualifiers=Event qualifiers -ACSD_ObservedEventQualifiers=Shows qualifiers of event for chosen observer -LBL_Scope=&Scope: -ACSN_Scope=Eligible for injection element's scope -ACSD_Scope=Shows scope for chosen eligible for injection element -LBL_Stereotypes=Stere&otypes: -ACSN_Stereotypes=Eligible for injection element's stereotypes -ACSD_Stereotypes=Shows all stereotypes for chosen eligible for injection element - -LBL_InterceptedElement=Intercepted &Element: -ACSN_InterceptedElement=Intercepted element -ACSD_InterceptedElement=Shows chosen element - -LBL_InterceptorBindings=Interceptor &Bindings: -ACSN_InterceptorBindings=Interceptor bindings -ACSD_InterceptorBindings=Shows all interceptor bindings for chosen element - -LBL_SelectedInterceptorBindings=&Interceptor\'s Interceptor Bindings: -ACSN_SelectedInterceptorBindings=Interceptor bindings of interceptor -ACSD_SelectedInterceptorBindings=Shows interceptor bindings of interceptor - -LBL_IStereotypes=Interceptor's Stere&otypes: -ACSN_IStereotypes=Interceptor's stereotypes -ACSD_IStereotypes=Shows all stereotypes for chosen interceptor - -LBL_DecoratedElement=Decorated &Element: -ACSN_DecoratedElement=Decorated element -ACSD_DecoratedElement=Shows chosen element - -LBL_DecoratorQualifiers=Element &Qualifiers: -ACSN_DecoratorQualifiers=Element qualifiers -ACSD_DecoratorQualifiers=Shows chosen element qualifiers - -LBL_SelectedDecoratorQualifiers=Decorator Q&ualifiers: -ACSN_SelectedDecoratorQualifiers=Decorator qualifiers -ACSD_SelectedDecoratorQualifiers=Shows qualifiers of chosen decorator - -LBL_SelectedDelegateType=Decorator Delegate &Type: -ACSN_SelectedDelegateType=Decorator delegate type: -ACSD_SelectedDelegateType=Shows type of delegate injection point - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/CDIPanel.form b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/CDIPanel.form deleted file mode 100644 index 8e1f2ed8fe54..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/CDIPanel.form +++ /dev/null @@ -1,474 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/CDIPanel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/CDIPanel.java deleted file mode 100644 index c63be1e5b11d..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/CDIPanel.java +++ /dev/null @@ -1,855 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.awt.Color; -import java.awt.Component; -import java.awt.Cursor; -import java.awt.Point; -import java.awt.Window; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.io.IOException; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Name; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.ArrayType; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.swing.Icon; -import javax.swing.JComponent; -import javax.swing.JEditorPane; -import javax.swing.JLabel; -import javax.swing.JRootPane; -import javax.swing.JTree; -import javax.swing.KeyStroke; -import javax.swing.SwingUtilities; -import javax.swing.ToolTipManager; -import javax.swing.UIManager; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; -import javax.swing.event.TreeSelectionEvent; -import javax.swing.event.TreeSelectionListener; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeModel; -import javax.swing.tree.TreePath; -import javax.swing.tree.TreeSelectionModel; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ResolutionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.WebBeansActionHelper; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId; -import org.openide.util.ImageUtilities; -import org.openide.util.NbBundle; -import org.openide.util.RequestProcessor; - -/** - * Based on org.netbeans.modules.java.navigation.JavaHierarchyPanel - * - * @author ads - * - */ -abstract class CDIPanel extends javax.swing.JPanel { - - private static final long serialVersionUID = 9033410521614864413L; - - public static final Icon FQN_ICON = ImageUtilities.loadImageIcon( - "org/netbeans/modules/java/navigation/resources/fqn.gif", false); // NOI18N - - public static final Icon EXPAND_ALL_ICON = ImageUtilities.loadImageIcon( - "org/netbeans/modules/java/navigation/resources/expandall.gif", false); // NOI18N - - private static TreeModel pleaseWaitTreeModel; - static - { - DefaultMutableTreeNode root = new DefaultMutableTreeNode(); - root.add(new DefaultMutableTreeNode(NbBundle.getMessage( - CDIPanel.class, "LBL_WaitNode"))); // NOI18N - pleaseWaitTreeModel = new DefaultTreeModel(root); - } - - CDIPanel(JavaHierarchyModel treeModel ) { - initComponents(); - myJavaHierarchyModel = treeModel; - - // disable filtering for now: list of injectables will be always short - mySeparator.setVisible(false); - myFilterLabel.setVisible(false); - myFilterTextField.setVisible(false); - myCaseSensitiveFilterCheckBox.setVisible(false); - - myDocPane = new DocumentationScrollPane( true ); - mySplitPane.setRightComponent( myDocPane ); - mySplitPane.setDividerLocation( - WebBeansNavigationOptions.getHierarchyDividerLocation()); - - ToolTipManager.sharedInstance().registerComponent(myJavaHierarchyTree); - ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false); - - myCaseSensitiveFilterCheckBox.setSelected( - WebBeansNavigationOptions.isCaseSensitive()); - myShowFQNToggleButton.setSelected( - WebBeansNavigationOptions.isShowFQN()); - - myJavaHierarchyTree.getSelectionModel().setSelectionMode( - TreeSelectionModel.SINGLE_TREE_SELECTION); - myJavaHierarchyTree.setRootVisible(false); - myJavaHierarchyTree.setShowsRootHandles(true); - myJavaHierarchyTree.setCellRenderer(new JavaTreeCellRenderer()); - - myJavaHierarchyTree.setModel(treeModel); - - registerKeyboardAction( - new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - close(); - } - }, - KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, true), - JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - - initListeners(); - } - - @Override - public void addNotify() { - super.addNotify(); - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - reload(); - myFilterTextField.requestFocusInWindow(); - } - }); - } - - @Override - public void removeNotify() { - WebBeansNavigationOptions.setHierarchyDividerLocation( - mySplitPane.getDividerLocation()); - myDocPane.setData( null ); - super.removeNotify(); - } - - protected abstract void showSelectedCDI(); - - protected abstract void reloadSubjectElement(); - - // Hack to allow showing of Help window when F1 or HELP key is pressed. - @Override - protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, - boolean pressed) - { - if (e.getKeyCode() == KeyEvent.VK_F1 || e.getKeyCode() == KeyEvent.VK_HELP) { - JComponent rootPane = SwingUtilities.getRootPane(this); - if (rootPane != null) { - rootPane.putClientProperty(ResizablePopup.HELP_COOKIE, Boolean.TRUE); - } - } - return super.processKeyBinding(ks, e, condition, pressed); - } - - protected JLabel getSubjectElementLabel(){ - return mySubjectElementbl; - } - - protected JEditorPane getInitialElement(){ - return mySubjectElement; - } - - protected JLabel getSubjectBindingsLabel(){ - return myBindingLbl; - } - - protected JLabel getSelectedBindingsLbl(){ - return mySelectedBindingLbl; - } - - protected JEditorPane getSelectedBindingsComponent(){ - return mySelectedBindings; - } - - protected JTree getJavaTree(){ - return myJavaHierarchyTree; - } - - protected boolean showFqns(){ - return myShowFQNToggleButton.isSelected(); - } - - protected JEditorPane getScopeComponent(){ - return myScope; - } - - protected JLabel getScopeLabel() { - return myScopeLabel; - } - - protected JEditorPane getStereotypesComponent(){ - return myStereotypes; - } - - protected JLabel getStereotypeLabel() { - return myStereotypesLbl; - } - - protected JEditorPane getInitialBindingsComponent(){ - return myBindings; - } - - protected JLabel getStereotypesLabel(){ - return myStereotypesLbl; - } - - protected JLabel getSelectedBindingsLabel(){ - return mySelectedBindingLbl; - } - - private void enterBusy() { - myJavaHierarchyTree.setModel(pleaseWaitTreeModel); - JRootPane rootPane = SwingUtilities.getRootPane(CDIPanel.this); - if (rootPane != null) { - rootPane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - } - Window window = SwingUtilities.getWindowAncestor(this); - if (window != null) { - myLastFocusedComponent = window.getFocusOwner(); - } - myFilterTextField.setEnabled(false); - myCaseSensitiveFilterCheckBox.setEnabled(false); - myShowFQNToggleButton.setEnabled(false); - myExpandAllButton.setEnabled(false); - } - - private void leaveBusy() { - myJavaHierarchyTree.setModel(myJavaHierarchyModel); - JRootPane rootPane = SwingUtilities.getRootPane(CDIPanel.this); - if (rootPane != null) { - rootPane.setCursor(Cursor.getDefaultCursor()); - } - myFilterTextField.setEnabled(true); - myCaseSensitiveFilterCheckBox.setEnabled(true); - myShowFQNToggleButton.setEnabled(true); - myExpandAllButton.setEnabled(true); - if (myLastFocusedComponent != null) { - if (myLastFocusedComponent.isDisplayable()) { - myLastFocusedComponent.requestFocusInWindow(); - } - myLastFocusedComponent = null; - } - } - - private void reload() { - enterBusy(); - - WebBeansNavigationOptions.setCaseSensitive(myCaseSensitiveFilterCheckBox.isSelected()); - WebBeansNavigationOptions.setShowFQN(myShowFQNToggleButton.isSelected()); - - RequestProcessor.getDefault().post( - new Runnable() { - @Override - public void run() { - try { - myJavaHierarchyModel.update(); - } finally { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - leaveBusy(); - // expand the tree - for (int row = 0; - row < myJavaHierarchyTree.getRowCount(); row++) - { - myJavaHierarchyTree.expandRow(row); - } - }}); - } - } - }); - } - - private void expandAll() { - SwingUtilities.invokeLater( - new Runnable() { - @Override - public void run() { - JRootPane rootPane = SwingUtilities.getRootPane(CDIPanel.this); - if (rootPane != null) { - rootPane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); - } - } - } - ); - - SwingUtilities.invokeLater( - new Runnable() { - @Override - public void run() { - try { - // expand the tree - for (int row = 0; row < myJavaHierarchyTree.getRowCount(); row++) { - myJavaHierarchyTree.expandRow(row); - } - selectMatchingRow(); - } finally { - JRootPane rootPane = SwingUtilities.getRootPane(CDIPanel.this); - if (rootPane != null) { - rootPane.setCursor(Cursor.getDefaultCursor()); - } - } - } - } - ); - } - - private void selectMatchingRow() { - myFilterTextField.setForeground(UIManager.getColor("TextField.foreground")); - myJavaHierarchyTree.setSelectionRow(-1); - // select first matching - for (int row = 0; row < myJavaHierarchyTree.getRowCount(); row++) { - Object o = myJavaHierarchyTree.getPathForRow(row).getLastPathComponent(); - if (o instanceof JavaElement) { - String filterText = myFilterTextField.getText(); - if (Utils.patternMatch((JavaElement)o, filterText, - filterText.toLowerCase())) - { - myJavaHierarchyTree.setSelectionRow(row); - myJavaHierarchyTree.scrollRowToVisible(row); - return; - } - } - } - myFilterTextField.setForeground(Color.RED); - } - - private void gotoElement(JavaElement javaToolsJavaElement) { - try { - javaToolsJavaElement.gotoElement(); - } finally { - close(); - } - } - - private void showJavaDoc() { - TreePath treePath = myJavaHierarchyTree.getSelectionPath(); - if (treePath != null) { - Object node = treePath.getLastPathComponent(); - if (node instanceof JavaElement) { - myDocPane.setData( ((JavaElement)node).getJavaDoc() ); - } - } - } - - private void close() { - Window window = SwingUtilities.getWindowAncestor(CDIPanel.this); - if (window != null) { - window.setVisible(false); - } - } - - private void initListeners() { - myFilterTextField.getDocument().addDocumentListener( - new DocumentListener() { - @Override - public void changedUpdate(DocumentEvent e) { - selectMatchingRow(); - } - @Override - public void insertUpdate(DocumentEvent e) { - selectMatchingRow(); - } - @Override - public void removeUpdate(DocumentEvent e) { - selectMatchingRow(); - } - } - ); - - registerKeyboardActions(); - - myCaseSensitiveFilterCheckBox.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - WebBeansNavigationOptions.setCaseSensitive( - myCaseSensitiveFilterCheckBox.isSelected()); - if (myFilterTextField.getText().trim().length() > 0) { - // apply filters again only if there is some filter text - selectMatchingRow(); - } - } - }); - - myJavaHierarchyTree.addMouseListener( - new MouseAdapter() { - @Override - public void mouseClicked(MouseEvent me) { - Point point = me.getPoint(); - TreePath treePath = myJavaHierarchyTree. - getPathForLocation(point.x, point.y); - if (treePath != null) { - Object node = treePath.getLastPathComponent(); - if (node instanceof JavaElement) { - if (me.getClickCount() == 2){ - gotoElement((JavaElement) node); - } - } - } - } - } - ); - - myJavaHierarchyTree.addTreeSelectionListener(new TreeSelectionListener() { - @Override - public void valueChanged(TreeSelectionEvent e) { - showSelectedCDI(); - showJavaDoc(); - } - }); - - myShowFQNToggleButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - WebBeansNavigationOptions.setShowFQN(myShowFQNToggleButton.isSelected()); - myJavaHierarchyModel.fireTreeNodesChanged(); - reloadSubjectElement(); - showSelectedCDI(); - } - }); - - myExpandAllButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - expandAll(); - } - }); - - myCloseButton.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - close(); - } - }); - } - private void registerKeyboardActions() { - ActionListener listener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - Utils.firstRow(myJavaHierarchyTree); - } - }; - - myFilterTextField.registerKeyboardAction( listener, - KeyStroke.getKeyStroke(KeyEvent.VK_HOME, 0, false), - JComponent.WHEN_FOCUSED); - - myBindings.registerKeyboardAction(listener, - KeyStroke.getKeyStroke(KeyEvent.VK_HOME, 0, false), - JComponent.WHEN_FOCUSED); - - listener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - Utils.previousRow(myJavaHierarchyTree); - } - }; - myFilterTextField.registerKeyboardAction(listener, - KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0, false), - JComponent.WHEN_FOCUSED); - - myBindings.registerKeyboardAction( listener , - KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0, false), - JComponent.WHEN_FOCUSED); - - listener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - Utils.nextRow(myJavaHierarchyTree); - } - }; - myFilterTextField.registerKeyboardAction(listener, - KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0, false), - JComponent.WHEN_FOCUSED); - - myBindings.registerKeyboardAction(listener, - KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0, false), - JComponent.WHEN_FOCUSED); - - listener = new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - Utils.lastRow(myJavaHierarchyTree); - } - }; - myFilterTextField.registerKeyboardAction(listener, - KeyStroke.getKeyStroke(KeyEvent.VK_END, 0, false), - JComponent.WHEN_FOCUSED); - - myBindings.registerKeyboardAction(listener, - KeyStroke.getKeyStroke(KeyEvent.VK_END, 0, false), - JComponent.WHEN_FOCUSED); - - myBindings.putClientProperty( - "HighlightsLayerExcludes", // NOI18N - "^org\\.netbeans\\.modules\\.editor\\.lib2\\.highlighting\\.CaretRowHighlighting$" // NOI18N - ); - - myFilterTextField.registerKeyboardAction( - new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - TreePath treePath = myJavaHierarchyTree.getSelectionPath(); - if (treePath != null) { - Object node = treePath.getLastPathComponent(); - if (node instanceof JavaElement) { - gotoElement((JavaElement) node); - } - } - } - }, - KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true), - JComponent.WHEN_FOCUSED); - - myFilterTextField.registerKeyboardAction( - new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - Component view = myDocPane.getViewport().getView(); - if (view instanceof JEditorPane) { - JEditorPane editorPane = (JEditorPane) view; - ActionListener actionForKeyStroke = - editorPane.getActionForKeyStroke( - KeyStroke.getKeyStroke( - KeyEvent.VK_PAGE_UP, 0, false)); - actionForKeyStroke.actionPerformed( - new ActionEvent(editorPane, - ActionEvent.ACTION_PERFORMED, "")); - } - } - }, - KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, - KeyEvent.SHIFT_MASK, false), - JComponent.WHEN_FOCUSED); - myFilterTextField.registerKeyboardAction( - new ActionListener() { - private boolean firstTime = true; - @Override - public void actionPerformed(ActionEvent actionEvent) { - Component view = myDocPane.getViewport().getView(); - if (view instanceof JEditorPane) { - JEditorPane editorPane = (JEditorPane) view; - ActionListener actionForKeyStroke = - editorPane.getActionForKeyStroke( - KeyStroke.getKeyStroke( - KeyEvent.VK_PAGE_DOWN, 0, false)); - actionEvent = new ActionEvent(editorPane, - ActionEvent.ACTION_PERFORMED, ""); - actionForKeyStroke.actionPerformed(actionEvent); - if (firstTime) { - actionForKeyStroke.actionPerformed(actionEvent); - firstTime = false; - } - } - } - }, - KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, - KeyEvent.SHIFT_MASK, false), - JComponent.WHEN_FOCUSED); - - myJavaHierarchyTree.registerKeyboardAction( - new ActionListener() { - @Override - public void actionPerformed(ActionEvent actionEvent) { - TreePath treePath = myJavaHierarchyTree.getLeadSelectionPath(); - if (treePath != null) { - Object node = treePath.getLastPathComponent(); - if (node instanceof JavaElement) { - gotoElement((JavaElement) node); - } - } - } - }, - KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, true), - JComponent.WHEN_FOCUSED); - - } - - /** This method is called from within the constructor to - * initialize the form. - * WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. - */ - // //GEN-BEGIN:initComponents - private void initComponents() { - - mySplitPane = new javax.swing.JSplitPane(); - myJavaHierarchyTreeScrollPane = new javax.swing.JScrollPane(); - myJavaHierarchyTree = new javax.swing.JTree(); - myFilterLabel = new javax.swing.JLabel(); - myFilterTextField = new javax.swing.JTextField(); - myCaseSensitiveFilterCheckBox = new javax.swing.JCheckBox(); - myFiltersLabel = new javax.swing.JLabel(); - myCloseButton = new javax.swing.JButton(); - myFiltersToolbar = new NoBorderToolBar(); - myShowFQNToggleButton = new javax.swing.JToggleButton(); - myExpandAllButton = new javax.swing.JButton(); - mySeparator = new javax.swing.JSeparator(); - myBindings = new javax.swing.JEditorPane(); - myBindingLbl = new javax.swing.JLabel(); - mySubjectElement = new javax.swing.JEditorPane(); - mySubjectElementbl = new javax.swing.JLabel(); - mySelectedBindings = new javax.swing.JEditorPane(); - mySelectedBindingLbl = new javax.swing.JLabel(); - myScopeLabel = new javax.swing.JLabel(); - myScope = new javax.swing.JEditorPane(); - myStereotypesLbl = new javax.swing.JLabel(); - myStereotypes = new javax.swing.JEditorPane(); - - setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); - - mySplitPane.setDividerLocation(300); - - myJavaHierarchyTreeScrollPane.setBorder(null); - myJavaHierarchyTreeScrollPane.setViewportView(myJavaHierarchyTree); - myJavaHierarchyTree.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_InjectableHierarchy")); // NOI18N - - mySplitPane.setLeftComponent(myJavaHierarchyTreeScrollPane); - - myFilterLabel.setLabelFor(myFilterTextField); - org.openide.awt.Mnemonics.setLocalizedText(myFilterLabel, org.openide.util.NbBundle.getBundle(CDIPanel.class).getString("LABEL_filterLabel")); // NOI18N - - myFilterTextField.setToolTipText(org.openide.util.NbBundle.getBundle(CDIPanel.class).getString("TOOLTIP_filterTextField")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(myCaseSensitiveFilterCheckBox, org.openide.util.NbBundle.getBundle(CDIPanel.class).getString("LABEL_caseSensitiveFilterCheckBox")); // NOI18N - myCaseSensitiveFilterCheckBox.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - - org.openide.awt.Mnemonics.setLocalizedText(myFiltersLabel, org.openide.util.NbBundle.getMessage(CDIPanel.class, "LABEL_filtersLabel")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(myCloseButton, org.openide.util.NbBundle.getMessage(CDIPanel.class, "LABEL_Close")); // NOI18N - - myFiltersToolbar.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1)); - myFiltersToolbar.setFloatable(false); - myFiltersToolbar.setBorderPainted(false); - myFiltersToolbar.setOpaque(false); - - myShowFQNToggleButton.setIcon(FQN_ICON); - myShowFQNToggleButton.setMnemonic('Q'); - myShowFQNToggleButton.setToolTipText(org.openide.util.NbBundle.getBundle(CDIPanel.class).getString("TOOLTIP_showFQNToggleButton")); // NOI18N - myShowFQNToggleButton.setMargin(new java.awt.Insets(2, 2, 2, 2)); - myFiltersToolbar.add(myShowFQNToggleButton); - - myExpandAllButton.setIcon(EXPAND_ALL_ICON); - myExpandAllButton.setMnemonic('E'); - myExpandAllButton.setToolTipText(org.openide.util.NbBundle.getMessage(CDIPanel.class, "TOOLTIP_expandAll")); // NOI18N - myExpandAllButton.setMargin(new java.awt.Insets(2, 2, 2, 2)); - myFiltersToolbar.add(myExpandAllButton); - - myBindings.setBorder(javax.swing.BorderFactory.createLineBorder(javax.swing.UIManager.getDefaults().getColor("Nb.ScrollPane.Border.color"))); - myBindings.setContentType("text/x-java"); - myBindings.setEditable(false); - - myBindingLbl.setLabelFor(myBindings); - org.openide.awt.Mnemonics.setLocalizedText(myBindingLbl, org.openide.util.NbBundle.getMessage(CDIPanel.class, "LBL_Bindings")); // NOI18N - - mySubjectElement.setBorder(javax.swing.BorderFactory.createLineBorder(javax.swing.UIManager.getDefaults().getColor("Nb.ScrollPane.Border.color"))); - mySubjectElement.setContentType("text/x-java"); - mySubjectElement.setEditable(false); - - mySubjectElementbl.setLabelFor(mySubjectElement); - org.openide.awt.Mnemonics.setLocalizedText(mySubjectElementbl, org.openide.util.NbBundle.getMessage(CDIPanel.class, "LBL_Type")); // NOI18N - - mySelectedBindings.setBorder(javax.swing.BorderFactory.createLineBorder(javax.swing.UIManager.getDefaults().getColor("Nb.ScrollPane.Border.color"))); - mySelectedBindings.setContentType("text/x-java"); - mySelectedBindings.setEditable(false); - - mySelectedBindingLbl.setLabelFor(mySelectedBindings); - org.openide.awt.Mnemonics.setLocalizedText(mySelectedBindingLbl, org.openide.util.NbBundle.getMessage(CDIPanel.class, "LBL_CurrentElementBindings")); // NOI18N - - org.openide.awt.Mnemonics.setLocalizedText(myScopeLabel, org.openide.util.NbBundle.getMessage(CDIPanel.class, "LBL_Scope")); // NOI18N - - myScope.setBorder(javax.swing.BorderFactory.createLineBorder(javax.swing.UIManager.getDefaults().getColor("Nb.ScrollPane.Border.color"))); - myScope.setContentType("text/x-java"); - myScope.setEditable(false); - - org.openide.awt.Mnemonics.setLocalizedText(myStereotypesLbl, org.openide.util.NbBundle.getMessage(CDIPanel.class, "LBL_Stereotypes")); // NOI18N - - myStereotypes.setBorder(javax.swing.BorderFactory.createLineBorder(javax.swing.UIManager.getDefaults().getColor("Nb.ScrollPane.Border.color"))); - myStereotypes.setContentType("text/x-java"); - myStereotypes.setEditable(false); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(mySplitPane, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 715, Short.MAX_VALUE) - .addGroup(layout.createSequentialGroup() - .addComponent(myFilterLabel) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(myFilterTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 532, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(myCaseSensitiveFilterCheckBox)) - .addComponent(mySeparator, javax.swing.GroupLayout.DEFAULT_SIZE, 715, Short.MAX_VALUE) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(myBindingLbl) - .addComponent(mySubjectElementbl)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(mySubjectElement, javax.swing.GroupLayout.DEFAULT_SIZE, 518, Short.MAX_VALUE) - .addComponent(myBindings, javax.swing.GroupLayout.DEFAULT_SIZE, 518, Short.MAX_VALUE))) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(mySelectedBindingLbl) - .addComponent(myScopeLabel) - .addComponent(myStereotypesLbl) - .addComponent(myFiltersLabel)) - .addGap(28, 28, 28) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(layout.createSequentialGroup() - .addComponent(myFiltersToolbar, javax.swing.GroupLayout.DEFAULT_SIZE, 513, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(myCloseButton)) - .addComponent(mySelectedBindings, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE) - .addComponent(myScope, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE) - .addComponent(myStereotypes, javax.swing.GroupLayout.DEFAULT_SIZE, 592, Short.MAX_VALUE)))) - .addContainerGap()) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap() - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(mySubjectElementbl) - .addComponent(mySubjectElement, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(myBindings, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(myBindingLbl)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(mySeparator, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) - .addComponent(myFilterLabel) - .addComponent(myFilterTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) - .addComponent(myCaseSensitiveFilterCheckBox)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addComponent(mySplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 151, Short.MAX_VALUE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(mySelectedBindingLbl) - .addComponent(mySelectedBindings, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(myScopeLabel) - .addComponent(myScope, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) - .addGroup(layout.createSequentialGroup() - .addComponent(myStereotypes, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(myCloseButton)) - .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) - .addGroup(layout.createSequentialGroup() - .addComponent(myStereotypesLbl) - .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) - .addComponent(myFiltersLabel) - .addGap(6, 6, 6)) - .addComponent(myFiltersToolbar, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))) - .addContainerGap()) - ); - - myFilterLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_TextFilter")); // NOI18N - myFilterLabel.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_TextFilter")); // NOI18N - myFilterTextField.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_TextFieldFilter")); // NOI18N - myCaseSensitiveFilterCheckBox.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_CaseSensitive")); // NOI18N - myCaseSensitiveFilterCheckBox.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "caseSensitiveFilterCheckBox_ACSD")); // NOI18N - myFiltersLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_Filters")); // NOI18N - myFiltersLabel.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_Filters")); // NOI18N - myCloseButton.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_Close")); // NOI18N - myCloseButton.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_Close")); // NOI18N - myBindingLbl.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_Bindings")); // NOI18N - myBindingLbl.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_Bindnigs")); // NOI18N - mySubjectElementbl.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_Type")); // NOI18N - mySubjectElementbl.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_Type")); // NOI18N - mySelectedBindingLbl.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_InjectableBindings")); // NOI18N - mySelectedBindingLbl.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_InjectableBindnigs")); // NOI18N - myScopeLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_Scope")); // NOI18N - myScopeLabel.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_Scope")); // NOI18N - myScope.getAccessibleContext().setAccessibleName(myScopeLabel.getAccessibleContext().getAccessibleName()); - myScope.getAccessibleContext().setAccessibleDescription(myScopeLabel.getAccessibleContext().getAccessibleDescription()); - myStereotypesLbl.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSN_Stereotypes")); // NOI18N - myStereotypesLbl.getAccessibleContext().setAccessibleDescription(org.openide.util.NbBundle.getMessage(CDIPanel.class, "ACSD_Stereotypes")); // NOI18N - }// //GEN-END:initComponents - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JLabel myBindingLbl; - private javax.swing.JEditorPane myBindings; - private javax.swing.JCheckBox myCaseSensitiveFilterCheckBox; - private javax.swing.JButton myCloseButton; - private javax.swing.JButton myExpandAllButton; - private javax.swing.JLabel myFilterLabel; - private javax.swing.JTextField myFilterTextField; - private javax.swing.JLabel myFiltersLabel; - private javax.swing.JToolBar myFiltersToolbar; - private javax.swing.JTree myJavaHierarchyTree; - private javax.swing.JScrollPane myJavaHierarchyTreeScrollPane; - private javax.swing.JEditorPane myScope; - private javax.swing.JLabel myScopeLabel; - private javax.swing.JLabel mySelectedBindingLbl; - private javax.swing.JEditorPane mySelectedBindings; - private javax.swing.JSeparator mySeparator; - private javax.swing.JToggleButton myShowFQNToggleButton; - private javax.swing.JSplitPane mySplitPane; - private javax.swing.JEditorPane myStereotypes; - private javax.swing.JLabel myStereotypesLbl; - private javax.swing.JEditorPane mySubjectElement; - private javax.swing.JLabel mySubjectElementbl; - // End of variables declaration//GEN-END:variables - - private Component myLastFocusedComponent; - private DocumentationScrollPane myDocPane; - - private JavaHierarchyModel myJavaHierarchyModel; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DecoratorsModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DecoratorsModel.java deleted file mode 100644 index 91832ac4107f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DecoratorsModel.java +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.TypeElement; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeNode; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.SourceUtils; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.WebBeansActionHelper; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public final class DecoratorsModel extends DefaultTreeModel implements - JavaHierarchyModel -{ - - private static final long serialVersionUID = 5096971301097791384L; - - private static final Logger LOG = Logger.getLogger( - DecoratorsModel.class.getName()); - - public DecoratorsModel( Collection decorators , - BeansModel beansModel, CompilationController controller , - MetadataModel model) - { - super(null); - myModel = model; - - myHandles = new ArrayList>( decorators.size()); - myEnabledDecorators = new LinkedHashSet>(); - - LinkedHashSet enabled = WebBeansActionHelper. - getEnabledDecorators( decorators,beansModel, myEnabledDecorators, - controller); - for (TypeElement decorator : decorators ) { - myHandles.add( ElementHandle.create( decorator )); - } - - update( decorators , enabled , controller ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaHierarchyModel#fireTreeNodesChanged() - */ - @Override - public void fireTreeNodesChanged() { - super.fireTreeNodesChanged(this, getPathToRoot((TreeNode)getRoot()), - null, null); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaHierarchyModel#update() - */ - @Override - public void update() { - updateHandles( myHandles , myEnabledDecorators); - } - - private void updateHandles( final List> handles, - final LinkedHashSet> enabled ) - { - try { - getModel().runReadAction( - new MetadataModelAction() { - - @Override - public Void run( WebBeansModel model ) { - List list = new ArrayList( - handles.size()); - LinkedHashSet set = - new LinkedHashSet(); - for (ElementHandle handle : handles) { - TypeElement type = handle.resolve(model - .getCompilationController()); - if (type != null) { - list.add(type); - } - if (enabled.contains(handle)) { - set.add(type); - } - } - update(list, set, model.getCompilationController()); - return null; - } - }); - - return; - } - catch (MetadataModelException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - catch (IOException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - } - - private void update( Collection foundDecorators, - LinkedHashSet enabled, CompilationController controller ) - { - DefaultMutableTreeNode root = new DefaultMutableTreeNode(); - - LinkedHashSet allDecorators = new LinkedHashSet(); - allDecorators.addAll( enabled ); - allDecorators.addAll( foundDecorators ); - - for (TypeElement type : allDecorators) { - FileObject fileObject = SourceUtils.getFile(ElementHandle - .create(type), controller.getClasspathInfo()); - TypeTreeNode node = new TypeTreeNode(fileObject, type, - !enabled.contains(type ),controller); - root.add( node ); - } - setRoot(root); - } - - private MetadataModel getModel(){ - return myModel; - } - - private MetadataModel myModel; - private List> myHandles; - private LinkedHashSet> myEnabledDecorators; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DecoratorsPanel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DecoratorsPanel.java deleted file mode 100644 index 5ff915da2291..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DecoratorsPanel.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.util.List; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; -import javax.swing.JEditorPane; -import javax.swing.JLabel; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.awt.Mnemonics; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class DecoratorsPanel extends BindingsPanel { - - private static final long serialVersionUID = -5097678699872215262L; - private static final String DELEGATE = "jakarta.decorator.Delegate"; // NOI18N - - public DecoratorsPanel( Object[] subject, MetadataModel metaModel, - WebBeansModel model, JavaHierarchyModel treeModel ) - { - super(subject, metaModel, model, treeModel); - // use Scope components for showing type of Delegate injectoin point - setVisibleScope( true ); - initUI(); - } - - @Override - protected void setScope( WebBeansModel model, Element element ){ - TypeElement clazz = (TypeElement)element; - List fields = ElementFilter.fieldsIn( - model.getCompilationController().getElements().getAllMembers( clazz)); - VariableElement delegate = null; - for (VariableElement field : fields) { - if( hasDelegate(field, model.getCompilationController())){ - delegate = field; - break; - } - } - TypeMirror delegateType = delegate.asType(); - StringBuilder shortName = new StringBuilder(); - StringBuilder fqnName = new StringBuilder(); - fillElementType(delegateType, shortName, fqnName, model.getCompilationController()); - JEditorPane scopeComponent = getScopeComponent(); - if ( showFqns() ){ - scopeComponent.setText( fqnName.toString() ); - } - else { - scopeComponent.setText( shortName.toString() ); - } - } - - private boolean hasDelegate( Element element , CompilationController controller){ - List allAnnotationMirrors = controller. - getElements().getAllAnnotationMirrors( element); - TypeElement delegate = controller.getElements().getTypeElement( DELEGATE); - if( delegate == null ){ - return false; - } - for (AnnotationMirror annotationMirror : allAnnotationMirrors) { - Element annotation = controller.getTypes().asElement( - annotationMirror.getAnnotationType()); - if ( annotation!= null && annotation.equals( delegate )){ - return true; - } - } - return false; - } - - private void initUI() { - JLabel elementLabel = getSubjectElementLabel(); - Mnemonics.setLocalizedText(elementLabel,NbBundle.getMessage( - ObserversPanel.class, "LBL_DecoratedElement") ); // NOI18N - elementLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_DecoratedElement")); // NOI18N - elementLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_DecoratedElement")); // NOI18N - - JLabel qualifiers= getSubjectBindingsLabel(); - Mnemonics.setLocalizedText(qualifiers,NbBundle.getMessage( - ObserversPanel.class, "LBL_DecoratorQualifiers") ); // NOI18N - qualifiers.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_DecoratorQualifiers")); // NOI18N - qualifiers.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_DecoratorQualifiers")); // NOI18N - - JLabel selectedQualifiers = getSelectedBindingsLabel(); - Mnemonics.setLocalizedText(selectedQualifiers,NbBundle.getMessage( - ObserversPanel.class, "LBL_SelectedDecoratorQualifiers") ); // NOI18N - selectedQualifiers.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_SelectedDecoratorQualifiers")); // NOI18N - selectedQualifiers.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_SelectedDecoratorQualifiers")); // NOI18N - - JLabel scopeLabel = getScopeLabel(); - Mnemonics.setLocalizedText(scopeLabel,NbBundle.getMessage( - ObserversPanel.class, "LBL_SelectedDelegateType") ); // NOI18N - scopeLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_SelectedDelegateType")); // NOI18N - scopeLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_SelectedDelegateType")); // NOI18N - - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DocumentationScrollPane.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DocumentationScrollPane.java deleted file mode 100644 index 87841517e770..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/DocumentationScrollPane.java +++ /dev/null @@ -1,441 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - - -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.InputEvent; -import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.io.IOException; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import javax.swing.*; -import javax.swing.event.HyperlinkEvent; -import javax.swing.event.HyperlinkListener; -import javax.swing.plaf.TextUI; -import javax.swing.text.Document; -import javax.swing.text.EditorKit; -import javax.swing.text.JTextComponent; -import javax.swing.text.Keymap; -import javax.swing.text.html.HTMLDocument; -import org.netbeans.api.java.source.ui.ElementJavadoc; - -import org.netbeans.editor.*; - -import org.openide.awt.HtmlBrowser; -import org.openide.awt.StatusDisplayer; -import org.openide.util.ImageUtilities; -import org.openide.util.NbBundle; - -/** - * Based on DocumentationScrollPane at java.navigation - * - * @author ads - */ -public class DocumentationScrollPane extends JScrollPane { - - private static final long serialVersionUID = -8672029782033541392L; - - private static final String BACK = "org/netbeans/modules/java/navigation/resources/back.png"; //NOI18N - private static final String FORWARD = "org/netbeans/modules/java/navigation/resources/forward.png"; //NOI18N - private static final String GOTO_SOURCE = "org/netbeans/modules/java/navigation/resources/open_source_in_editor.png"; //NOI18N - private static final String SHOW_WEB = "org/netbeans/modules/java/navigation/resources/open_in_external_browser.png"; //NOI18N - - private static final String JAVADOC_BACK = "javadoc-back"; //NOI18N - private static final String JAVADOC_FORWARD = "javadoc-forward"; //NOI18N - private static final String JAVADOC_OPEN_IN_BROWSER = "javadoc-open-in-browser"; //NOI18N - private static final String JAVADOC_OPEN_SOURCE = "javadoc-open-source"; //NOI18N - - private static final int ACTION_JAVADOC_ESCAPE = 0; - private static final int ACTION_JAVADOC_BACK = 1; - private static final int ACTION_JAVADOC_FORWARD = 2; - private static final int ACTION_JAVADOC_OPEN_IN_BROWSER = 3; - private static final int ACTION_JAVADOC_OPEN_SOURCE = 4; - - private JButton bBack, bForward, bGoToSource, bShowWeb; - private HTMLDocView view; - - // doc browser history - private List history = new ArrayList(5); - private int currentHistoryIndex = -1; - protected ElementJavadoc currentDocumentation = null; - - /** Creates a new instance of ScrollJavaDocPane */ - public DocumentationScrollPane( boolean keepDefaultBorder ) { - super(); - - // Add the completion doc view - //XXX fix bg color - view = new HTMLDocView( getDefaultBackground() ); - view.addHyperlinkListener(new HyperlinkAction()); - setViewportView(view); - getAccessibleContext().setAccessibleName(NbBundle.getMessage(DocumentationScrollPane.class, "ACSN_DocScrollPane")); - getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(DocumentationScrollPane.class, "ACSD_DocScrollPane")); - view.getAccessibleContext().setAccessibleName(NbBundle.getMessage(DocumentationScrollPane.class, "ACSN_DocScrollPane")); - view.getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(DocumentationScrollPane.class, "ACSD_DocScrollPane")); - installTitleComponent(); -// installKeybindings(view); - setFocusable(true); - - if( !keepDefaultBorder ) - setBorder( BorderFactory.createEmptyBorder() ); - } - - public void setData(ElementJavadoc doc) { - setData(doc, true); - } - - private void setData(ElementJavadoc doc, boolean clearHistory) { - synchronized (this) { - if ( doc == null || clearHistory ) { - history = new ArrayList(5); - } - } - setDocumentation(doc); - if( null != doc ) - addToHistory(doc); - } - - private ImageIcon resolveIcon(String res){ - return ImageUtilities.loadImageIcon(res, false); - } - - private void installTitleComponent() { - JToolBar toolbar = new JToolBar(); - toolbar.setFloatable(false); - toolbar.setBorder(BorderFactory.createMatteBorder(0, 0, 1, 0, UIManager.getColor("controlDkShadow"))); //NOI18N - toolbar.setLayout(new GridBagLayout()); - - GridBagConstraints gdc = new GridBagConstraints(); - gdc.gridx = 0; - gdc.gridy = 0; - gdc.anchor = GridBagConstraints.WEST; - ImageIcon icon = resolveIcon(BACK); - if (icon != null) { - bBack = new BrowserButton(icon); - bBack.addMouseListener(new MouseEventListener(bBack)); - bBack.addActionListener(new DocPaneAction(ACTION_JAVADOC_BACK)); - bBack.setEnabled(false); - //bBack.setFocusable(false); - bBack.setContentAreaFilled(false); - bBack.setMargin(new Insets(0, 0, 0, 0)); - bBack.setToolTipText(NbBundle.getMessage(DocumentationScrollPane.class, "HINT_doc_browser_back_button")); //NOI18N - toolbar.add(bBack, gdc); - } - - gdc.gridx = 1; - gdc.gridy = 0; - gdc.anchor = GridBagConstraints.WEST; - icon = resolveIcon(FORWARD); - if (icon != null) { - bForward = new BrowserButton(icon); - bForward.addMouseListener(new MouseEventListener(bForward)); - bForward.addActionListener(new DocPaneAction(ACTION_JAVADOC_FORWARD)); - bForward.setEnabled(false); - //bForward.setFocusable(false); - bForward.setContentAreaFilled(false); - bForward.setToolTipText(NbBundle.getMessage(DocumentationScrollPane.class, "HINT_doc_browser_forward_button")); //NOI18N - bForward.setMargin(new Insets(0, 0, 0, 0)); - toolbar.add(bForward, gdc); - } - - gdc.gridx = 2; - gdc.gridy = 0; - gdc.anchor = GridBagConstraints.WEST; - icon = resolveIcon(SHOW_WEB); - if (icon != null) { - bShowWeb = new BrowserButton(icon); - bShowWeb.addMouseListener(new MouseEventListener(bShowWeb)); - bShowWeb.addActionListener(new DocPaneAction(ACTION_JAVADOC_OPEN_IN_BROWSER)); - bShowWeb.setEnabled(false); - //bShowWeb.setFocusable(false); - bShowWeb.setContentAreaFilled(false); - bShowWeb.setMargin(new Insets(0, 0, 0, 0)); - bShowWeb.setToolTipText(NbBundle.getMessage(DocumentationScrollPane.class, "HINT_doc_browser_show_web_button")); //NOI18N - toolbar.add(bShowWeb, gdc); - } - - gdc.gridx = 3; - gdc.gridy = 0; - gdc.weightx = 1.0; - gdc.anchor = GridBagConstraints.WEST; - icon = resolveIcon(GOTO_SOURCE); - if (icon != null) { - bGoToSource = new BrowserButton(icon); - bGoToSource.addMouseListener(new MouseEventListener(bGoToSource)); - bGoToSource.addActionListener(new DocPaneAction(ACTION_JAVADOC_OPEN_SOURCE)); - bGoToSource.setEnabled(false); - //bGoToSource.setFocusable(false); - bGoToSource.setContentAreaFilled(false); - bGoToSource.setMargin(new Insets(0, 0, 0, 0)); - bGoToSource.setToolTipText(NbBundle.getMessage(DocumentationScrollPane.class, "HINT_doc_browser_goto_source_button")); //NOI18N - toolbar.add(bGoToSource, gdc); - } - setColumnHeaderView(toolbar); - installKeybindings(view); - } - - private synchronized void setDocumentation(ElementJavadoc doc) { - currentDocumentation = doc; - if( null != doc ) { - String text = currentDocumentation.getText(); - URL url = currentDocumentation.getURL(); - if (text != null){ - Document document = view.getDocument(); - document.putProperty(Document.StreamDescriptionProperty, null); - if (url!=null){ - // fix of issue #58658 - if (document instanceof HTMLDocument){ - ((HTMLDocument)document).setBase(url); - } - } - view.setContent(text, null); - } else if (url != null){ - try{ - view.setPage(url); - }catch(IOException ioe){ - StatusDisplayer.getDefault().setStatusText(ioe.toString()); - } - } - bShowWeb.setEnabled(url != null); - bGoToSource.setEnabled(currentDocumentation.getGotoSourceAction() != null); - } else { - bShowWeb.setEnabled( false ); - bGoToSource.setEnabled( false ); - view.setContent("", null);//NOI18N - } - } - - private synchronized void addToHistory(ElementJavadoc doc) { - int histSize = history.size(); - for (int i = currentHistoryIndex + 1; i < histSize; i++){ - history.remove(history.size() - 1); - } - history.add(doc); - currentHistoryIndex = history.size() - 1; - if (currentHistoryIndex > 0) - bBack.setEnabled(true); - bForward.setEnabled(false); - } - - private synchronized void backHistory() { - if (currentHistoryIndex > 0 && currentHistoryIndex <= history.size()) { - currentHistoryIndex--; - setDocumentation(history.get(currentHistoryIndex)); - if (currentHistoryIndex == 0) - bBack.setEnabled(false); - bForward.setEnabled(true); - } - } - - private synchronized void forwardHistory(){ - if (currentHistoryIndex 0) { - ret = keys; - } - } - } - } - } - return ret; - } - - private void registerKeybinding(int action, String actionName, KeyStroke stroke, String editorActionName, JTextComponent component){ - KeyStroke[] keys = findEditorKeys(editorActionName, stroke, component); - for (int i = 0; i < keys.length; i++) { - view.getInputMap().put(keys[i], actionName); - } - view.getActionMap().put(actionName, new DocPaneAction(action)); - } - - private void installKeybindings(JTextComponent component) { - // Register javadoc back key - registerKeybinding(ACTION_JAVADOC_BACK, JAVADOC_BACK, - KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.ALT_MASK), - null, component); - - // Register javadoc forward key - registerKeybinding(ACTION_JAVADOC_FORWARD, JAVADOC_FORWARD, - KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.ALT_MASK), - null, component); - - // Register open in external browser key - registerKeybinding(ACTION_JAVADOC_OPEN_IN_BROWSER, JAVADOC_OPEN_IN_BROWSER, - KeyStroke.getKeyStroke(KeyEvent.VK_F1, KeyEvent.ALT_MASK | KeyEvent.SHIFT_MASK), - null, component); - - // Register open the source in editor key - registerKeybinding(ACTION_JAVADOC_OPEN_SOURCE, JAVADOC_OPEN_SOURCE, - KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.ALT_MASK | KeyEvent.CTRL_MASK), - null, component); - - // Register movement keystrokes to be reachable through Shift+ - mapWithShift(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0)); - mapWithShift(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0)); - mapWithShift(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, 0)); - mapWithShift(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, 0)); - mapWithShift(KeyStroke.getKeyStroke(KeyEvent.VK_HOME, KeyEvent.CTRL_MASK)); - mapWithShift(KeyStroke.getKeyStroke(KeyEvent.VK_END, KeyEvent.CTRL_MASK)); - mapWithShift(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0)); - mapWithShift(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, 0)); - } - - private void mapWithShift(KeyStroke key) { - InputMap inputMap = view.getInputMap(WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - Object actionKey = inputMap.get(key); - if (actionKey != null) { - key = KeyStroke.getKeyStroke(key.getKeyCode(), key.getModifiers() | InputEvent.SHIFT_MASK); - view.getInputMap().put(key, actionKey); - } - } - - private Color getDefaultBackground() { - Color bgColor = new JEditorPane().getBackground(); - bgColor = new Color( - Math.max(bgColor.getRed() - 8, 0 ), - Math.max(bgColor.getGreen() - 8, 0 ), - bgColor.getBlue()); - - return bgColor; - } - - private static class BrowserButton extends JButton { - private static final long serialVersionUID = 3572084819036272122L; - - public BrowserButton(Icon icon){ - super(icon); - setBorderPainted(false); - //setFocusPainted(false); - } - - public @Override void setEnabled(boolean b) { - super.setEnabled(b); - } - } - - private static class MouseEventListener extends MouseAdapter { - private JButton button; - - MouseEventListener(JButton button) { - this.button = button; - } - - public @Override void mouseEntered(MouseEvent ev) { - if (button.isEnabled()){ - button.setContentAreaFilled(true); - button.setBorderPainted(true); - } - } - public @Override void mouseExited(MouseEvent ev) { - button.setContentAreaFilled(false); - button.setBorderPainted(false); - } - } - - private class HyperlinkAction implements HyperlinkListener { - - public void hyperlinkUpdate(HyperlinkEvent e) { - if (e != null && HyperlinkEvent.EventType.ACTIVATED.equals(e.getEventType())) { - final String desc = e.getDescription(); - if (desc != null) { - ElementJavadoc doc = currentDocumentation.resolveLink(desc); - if (doc != null) { - setData(doc, false); - } - } - } - } - } - - private class DocPaneAction extends AbstractAction { - private static final long serialVersionUID = -5754757066129335109L; - - private int action; - - private DocPaneAction(int action) { - this.action = action; - } - - public void actionPerformed(java.awt.event.ActionEvent actionEvent) { - switch (action) { - case ACTION_JAVADOC_BACK: - backHistory(); - break; - case ACTION_JAVADOC_FORWARD: - forwardHistory(); - break; - case ACTION_JAVADOC_OPEN_IN_BROWSER: - openInExternalBrowser(); - break; - case ACTION_JAVADOC_OPEN_SOURCE: - goToSource(); - break; - } - } - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/EventsModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/EventsModel.java deleted file mode 100644 index 6b30d5d6f1a5..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/EventsModel.java +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.Element; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeNode; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.SourceUtils; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public final class EventsModel extends DefaultTreeModel implements - JavaHierarchyModel -{ - - private static final long serialVersionUID = -4924076156788647582L; - - private static final Logger LOG = Logger.getLogger( - EventsModel.class.getName()); - - public EventsModel( List fields , - CompilationController controller ,MetadataModel model ) - { - super( null ); - myModel = model; - myHandles = new ArrayList>( fields.size()); - for (VariableElement field : fields) { - ElementHandle handle = ElementHandle.create( field ); - myHandles.add( handle ); - } - - update( fields , controller ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaHierarchyModel#fireTreeNodesChanged() - */ - @Override - public void fireTreeNodesChanged() { - super.fireTreeNodesChanged(this, getPathToRoot((TreeNode)getRoot()), - null, null); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaHierarchyModel#update() - */ - @Override - public void update() { - updateHandles( myHandles ); - } - - private void update( List vars , - CompilationController controller) - { - DefaultMutableTreeNode root = new DefaultMutableTreeNode(); - - for (VariableElement var : vars) { - FileObject fileObject = SourceUtils.getFile(ElementHandle - .create(var), controller.getClasspathInfo()); - InjectableTreeNode node = - new InjectableTreeNode(fileObject, var, - (DeclaredType)controller.getElementUtilities(). - enclosingTypeElement(var).asType(), false,controller); - root.add( node ); - } - setRoot(root); - } - - private void updateHandles( final List> handles ) { - try { - getModel().runReadAction( - new MetadataModelAction() { - - public Void run( WebBeansModel model ) { - List list = - new ArrayList(handles.size()); - for (ElementHandle handle : - handles) - { - VariableElement var = handle.resolve( - model.getCompilationController()); - if ( var != null ){ - list.add( var ); - } - } - update( list , model.getCompilationController()); - return null; - } - }); - - return; - } - catch (MetadataModelException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - catch (IOException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - } - - private MetadataModel getModel(){ - return myModel; - } - - private MetadataModel myModel; - private List> myHandles; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/EventsPanel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/EventsPanel.java deleted file mode 100644 index 3d6ce4acd3ae..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/EventsPanel.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.swing.JLabel; - -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.awt.Mnemonics; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class EventsPanel extends BindingsPanel { - - private static final long serialVersionUID = -965978443984786734L; - - public EventsPanel( Object[] subject, - MetadataModel metaModel , WebBeansModel model , - EventsModel uiModel ) - { - super(subject, metaModel, model, uiModel); - initLabels(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.InjectablesPanel#getSubjectElement(org.netbeans.api.java.source.ElementHandle, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel) - */ - @Override - protected Element getSubjectElement( Element context, WebBeansModel model ) - { - ExecutableElement method = (ExecutableElement)context; - return model.getObserverParameter( method ); - } - - private void initLabels() { - JLabel typeLabel = getSubjectElementLabel(); - Mnemonics.setLocalizedText(typeLabel,NbBundle.getMessage( - ObserversPanel.class, "LBL_ObservedEventType") ); // NOI18N - typeLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_ObservedEventType")); // NOI18N - typeLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_ObservedEventType")); // NOI18N - - JLabel qualifiersLabel= getSubjectBindingsLabel(); - Mnemonics.setLocalizedText(qualifiersLabel,NbBundle.getMessage( - ObserversPanel.class, "LBL_ObservedEventQualifiers") ); // NOI18N - qualifiersLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_ObservedEventQualifiers")); // NOI18N - qualifiersLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_ObservedEventQualifiers")); // NOI18N - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/HTMLDocView.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/HTMLDocView.java deleted file mode 100644 index 3a53d9fc3d3b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/HTMLDocView.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - - -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.awt.Color; -import java.awt.Insets; -import java.awt.Rectangle; -import java.io.IOException; -import java.io.Reader; -import java.io.StringReader; - -import javax.swing.JEditorPane; -import javax.swing.SwingUtilities; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; -import javax.swing.text.EditorKit; -import javax.swing.text.html.HTMLEditorKit; - -/** - * HTML documentation view. - * Javadoc content is displayed in JEditorPane pane using HTMLEditorKit. - * - * Copy of HTMLDocView in java.naviation. - * - * @author ads - */ -class HTMLDocView extends JEditorPane { - - private static final long serialVersionUID = 6743108080998604204L; - - private HTMLEditorKit htmlKit; - - /** Creates a new instance of HTMLJavaDocView */ - public HTMLDocView(Color bgColor) { - setEditable(false); - setFocusable(true); - setBackground(bgColor); - setMargin(new Insets(0,3,3,3)); - } - - /** Sets the javadoc content as HTML document */ - public void setContent(final String content, final String reference) { - SwingUtilities.invokeLater(new Runnable(){ - public void run(){ - Reader in = new StringReader(""+content+"");//NOI18N - try{ - Document doc = getDocument(); - doc.remove(0, doc.getLength()); - getEditorKit().read(in, getDocument(), 0); //!!! still too expensive to be called from AWT - setCaretPosition(0); - if (reference != null) { - SwingUtilities.invokeLater(new Runnable(){ - public void run(){ - scrollToReference(reference); - } - }); - } else { - scrollRectToVisible(new Rectangle(0,0,0,0)); - } - }catch(IOException ioe){ - ioe.printStackTrace(); - }catch(BadLocationException ble){ - ble.printStackTrace(); - } - } - }); - } - - protected EditorKit createDefaultEditorKit() { - // it is extremelly slow to init it - if (htmlKit == null){ - htmlKit= new HTMLEditorKit (); - setEditorKit(htmlKit); - - // override the Swing default CSS to make the HTMLEditorKit use the - // same font as the rest of the UI. - - // XXX the style sheet is shared by all HTMLEditorKits. We must - // detect if it has been tweaked by ourselves or someone else - // (template description for example) and avoid doing the same - // thing again - - if (htmlKit.getStyleSheet().getStyleSheets() != null) - return htmlKit; - - javax.swing.text.html.StyleSheet css = new javax.swing.text.html.StyleSheet(); - java.awt.Font f = getFont(); - css.addRule(new StringBuffer("body { font-size: ").append(f.getSize()) // NOI18N - .append("; font-family: ").append(f.getName()).append("; }").toString()); // NOI18N - css.addStyleSheet(htmlKit.getStyleSheet()); - htmlKit.setStyleSheet(css); - } - return htmlKit; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectableTreeNode.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectableTreeNode.java deleted file mode 100644 index 6a7df31b34f3..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectableTreeNode.java +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.io.IOException; -import java.util.Set; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.Modifier; -import javax.lang.model.type.DeclaredType; -import javax.swing.Icon; -import javax.swing.tree.DefaultMutableTreeNode; - -import org.netbeans.api.java.source.ClasspathInfo; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.api.java.source.Task; -import org.netbeans.api.java.source.JavaSource.Phase; -import org.netbeans.api.java.source.ui.ElementIcons; -import org.netbeans.api.java.source.ui.ElementJavadoc; -import org.netbeans.api.java.source.ui.ElementOpen; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.util.Exceptions; -import org.openide.util.NbBundle; - -class InjectableTreeNode extends DefaultMutableTreeNode - implements JavaElement -{ - private static final long serialVersionUID = -6398205566811265151L; - - InjectableTreeNode(FileObject fileObject, - T element, DeclaredType parentType, boolean disabled , - CompilationInfo compilationInfo) - { - myFileObject = fileObject; - myElementHandle = ElementHandle.create(element); - myElementKind = element.getKind(); - myModifiers = element.getModifiers(); - myCpInfo = compilationInfo.getClasspathInfo(); - isDisabled = disabled; - - setName(element.getSimpleName().toString()); - setIcon(ElementIcons.getElementIcon(element.getKind(), element.getModifiers())); - setLabel(Utils.format(element, parentType, compilationInfo)); - setFQNLabel(Utils.format(element, parentType, compilationInfo , false, true)); - setToolTip(Utils.format(element, parentType, compilationInfo, true, - WebBeansNavigationOptions.isShowFQN())); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaElement#isDisabled() - */ - @Override - public boolean isDisabled() { - return isDisabled; - } - - @Override - public FileObject getFileObject() { - return myFileObject; - } - - @Override - public String getName() { - return myName; - } - - @Override - public Set getModifiers() { - return myModifiers; - } - - @Override - public ElementKind getElementKind() { - return myElementKind; - } - - protected void setName(String name) { - myName = name; - } - - @Override - public String getLabel() { - return myLabel; - } - - @Override - public String getFQNLabel() { - return myFQNlabel; - } - - @Override - public String getTooltip() { - return myTooltip; - } - - @Override - public Icon getIcon() { - return myIcon; - } - - protected void setIcon(Icon icon) { - myIcon = icon; - } - - protected void setLabel(String label) { - myLabel = label; - } - - protected void setFQNLabel(String FQNlabel) { - myFQNlabel = FQNlabel; - } - - protected void setToolTip(String tooltip) { - myTooltip = tooltip; - } - - public ElementJavadoc getJavaDoc() { - if (myJavaDoc == null) { - if (myFileObject == null) { - // Probably no source file - so cannot get Javadoc - return null; - } - - JavaSource javaSource = JavaSource.forFileObject(myFileObject); - - if (javaSource != null) { - try { - javaSource.runUserActionTask(new Task() { - public void run( - CompilationController compilationController) - throws Exception { - compilationController.toPhase(Phase.ELEMENTS_RESOLVED); - Element element = myElementHandle.resolve(compilationController); - setJavaDoc(ElementJavadoc.create(compilationController, element)); - } - }, true); - } catch (IOException ioe) { - Exceptions.printStackTrace(ioe); - } - } - } - return myJavaDoc; - } - - protected void setJavaDoc(ElementJavadoc javaDoc) { - myJavaDoc = javaDoc; - } - - @Override - public ElementHandle getElementHandle() { - return myElementHandle; - } - - @Override - public void gotoElement() { - openElementHandle(); - } - - @Override - public String toString() { - return (WebBeansNavigationOptions.isShowFQN()? getFQNLabel() : getLabel()); - } - - protected void openElementHandle() { - if (myFileObject == null) { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(InjectablesModel.class, - "MSG_CouldNotOpenElement", getFQNLabel())); // NOI18N - return; - } - - if (myElementHandle == null) { - return; - } - - if (!ElementOpen.open(myCpInfo, myElementHandle)) { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(InjectablesModel.class, - "MSG_CouldNotOpenElement", getFQNLabel()));// NOI18N - } - } - - private FileObject myFileObject; - private ElementHandle myElementHandle; - private ElementKind myElementKind; - private Set myModifiers; - private String myName = ""; - private String myLabel = ""; - private String myFQNlabel = ""; - private String myTooltip ; - private Icon myIcon ; - private ElementJavadoc myJavaDoc; - private final ClasspathInfo myCpInfo; - private boolean isDisabled; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesModel.java deleted file mode 100644 index b319908fb967..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesModel.java +++ /dev/null @@ -1,418 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.type.DeclaredType; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeNode; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.SourceUtils; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.filesystems.FileObject; - -/** - * @author ads - */ -public final class InjectablesModel extends DefaultTreeModel - implements JavaHierarchyModel -{ - - private static final long serialVersionUID = -6845959436250662000L; - - private static final Logger LOG = Logger.getLogger( - InjectablesModel.class.getName()); - - static Element[] EMPTY_ELEMENTS_ARRAY = new Element[0]; - - public InjectablesModel(DependencyInjectionResult result, - CompilationController controller ,MetadataModel model ) - { - super(null); - - myModel = model; - if ( result.getKind() == DependencyInjectionResult.ResultKind.DEFINITION_ERROR || - !( result instanceof DependencyInjectionResult.ApplicableResult)) - { - myTypeHandles= Collections.emptyList(); - myProductionHandles = Collections.emptyMap(); - return; - } - - DependencyInjectionResult.ApplicableResult applicableResult = - (DependencyInjectionResult.ApplicableResult) result; - Set typeElements = applicableResult.getTypeElements(); - - myProductionHandles = new HashMap, - ElementHandle>(); - - myDisabledBeans = new HashSet>(); - Set disabled = new HashSet(); - - myTypeHandles = new ArrayList>(typeElements.size()); - for (TypeElement el : typeElements) { - ElementHandle handle = ElementHandle.create(el); - myTypeHandles.add(handle); - if ( applicableResult.isDisabled(el)){ - myDisabledBeans.add( handle ); - disabled.add( el ); - } - } - - Set productions = applicableResult.getProductions(); - Map productionMap = new HashMap(); - for (Element production : productions) { - ElementHandle handleKey = ElementHandle.create( production ); - TypeElement clazz = controller.getElementUtilities(). - enclosingTypeElement(production); - myProductionHandles.put(handleKey, ElementHandle.create( clazz ) ); - productionMap.put( production, clazz ); - if ( applicableResult.isDisabled(production)){ - myDisabledBeans.add( handleKey ); - disabled.add( production ); - } - } - - update( typeElements, productionMap, disabled , controller); - } - - @Override - public void update() { - update( myTypeHandles , myProductionHandles ); - } - - @Override - public void fireTreeNodesChanged() { - super.fireTreeNodesChanged(this, getPathToRoot((TreeNode)getRoot()), - null, null); - } - - private void update( final List> typeHandles , - final Map,ElementHandle> - productions ) - { - try { - getModel().runReadAction( - new MetadataModelAction() { - - @Override - public Void run( WebBeansModel model ) { - Set disabled = new HashSet(); - List typesList = fillTypes(typeHandles, - model, disabled); - - Map productionsMap = - fillProductions( productions, model , disabled); - - update(typesList, productionsMap , disabled , model - .getCompilationController()); - return null; - } - }); - - return; - } - catch (MetadataModelException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - catch (IOException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - } - - private Map fillProductions( - Map, ElementHandle> productions, - WebBeansModel model, Set disabled ) - { - Map result; - if ( productions == null || productions.size() == 0){ - result = Collections.emptyMap(); - } - else { - result = new HashMap(); - for(Entry,ElementHandle> - entry : productions.entrySet() ) - { - ElementHandle handle = entry.getKey(); - Element element = handle.resolve(model.getCompilationController()); - if (element != null) { - if (myDisabledBeans.contains(handle)) { - disabled.add(element); - } - result.put(element, entry.getValue().resolve( - model.getCompilationController())); - } - else { - LOG.warning(handle.toString() - + " cannot be resolved using: " // NOI18N - + model.getCompilationController() - .getClasspathInfo()); - } - } - } - return result; - } - - private List fillTypes(final List> - typeHandles, WebBeansModel model, Set disabled ) - { - List typesList; - if (typeHandles != null && typeHandles.size() != 0) - { - typesList = new ArrayList( - typeHandles.size()); - - for (ElementHandle - typeHandle : typeHandles) - { - TypeElement element = typeHandle - .resolve(model - .getCompilationController()); - if (element != null) { - typesList.add(element); - if ( myDisabledBeans.contains( typeHandle)){ - disabled.add( element); - } - } - else { - LOG.warning(typeHandle.toString() - + " cannot be resolved using: " // NOI18N - + model.getCompilationController() - .getClasspathInfo()); - } - } - } - else { - typesList = Collections.emptyList(); - } - return typesList; - } - - private void update(final Collection typeElements, - final Map productions, final - Set disabledBeans, - CompilationController controller) - { - if (typeElements.size()==0 && productions.size() == 0 ) { - return; - } - - DefaultMutableTreeNode root = new DefaultMutableTreeNode(); - Map> elementMap= - new LinkedHashMap>(); - - for (TypeElement element : typeElements) { - FileObject fileObject = SourceUtils.getFile(ElementHandle - .create(element), controller.getClasspathInfo()); - // Type declaration - TypeTreeNode node = new TypeTreeNode(fileObject, - element, disabledBeans.contains( element), - controller); - insertTreeNode(elementMap, element, node, root, - disabledBeans.contains(element), controller); - } - - for (Entry entry : productions.entrySet()){ - Element element = entry.getKey(); - FileObject fileObject = SourceUtils.getFile(ElementHandle - .create(element), controller.getClasspathInfo()); - if ( element instanceof ExecutableElement ){ - // Method definition - MethodTreeNode node = new MethodTreeNode(fileObject, - (ExecutableElement)element, - (DeclaredType)entry.getValue().asType(), - disabledBeans.contains( element), controller); - insertTreeNode( elementMap , (ExecutableElement)element , - node , root , controller); - } - else { - // Should be produces field. - InjectableTreeNode node = - new InjectableTreeNode(fileObject, element, - (DeclaredType)entry.getValue().asType(), - disabledBeans.contains(element),controller); - insertTreeNode( elementMap , node , root ); - } - } - - setRoot(root); - } - - private void insertTreeNode( Map> elementMap,TypeElement element , - TypeTreeNode node, DefaultMutableTreeNode root , boolean isDisabled, - CompilationController controller) - { - TypeTreeNode parent = null; - - for( Entry> entry : - elementMap.entrySet()) - { - Element key = entry.getKey(); - if ( !( key instanceof TypeElement )){ - continue; - } - TypeTreeNode injectableNode = (TypeTreeNode)entry.getValue(); - TypeElement typeElement = (TypeElement)key; - if ( controller.getTypes().isAssignable( element.asType(), - typeElement.asType())) - { - if ( parent == null ){ - parent = injectableNode; - } - else if ( parent.isAssignableFrom(typeElement, controller)){ - parent = injectableNode; - } - } - } - - DefaultMutableTreeNode parentNode = parent; - - if ( parentNode == null ){ - parentNode = root; - } - Enumeration children = parentNode.children(); - List movedChildren = new LinkedList(); - while (children.hasMoreElements()) { - TypeTreeNode childNode = (TypeTreeNode) children.nextElement(); - if (childNode.isAssignable(element, controller)) - { - movedChildren.add(childNode); - } - } - - for (TypeTreeNode typeTreeNode : movedChildren) { - parentNode.remove(typeTreeNode); - node.add(typeTreeNode); - } - parentNode.add(node); - elementMap.put(element, node); - } - - static void insertTreeNode( Map> elementMap, - ExecutableElement element , MethodTreeNode node, - DefaultMutableTreeNode root , CompilationController controller) - { - MethodTreeNode parent = null; - - List overriddenMethods = new ArrayList(); - ExecutableElement overriddenMethod = element; - while ( true ){ - overriddenMethod = - controller.getElementUtilities().getOverriddenMethod(overriddenMethod); - if ( overriddenMethod == null ){ - break; - } - overriddenMethods.add( overriddenMethod ); - } - if ( overriddenMethods.size() > 0 ) - { - for (Entry> entry : - elementMap.entrySet()) - { - Element key = entry.getKey(); - if (!(key instanceof ExecutableElement)) { - continue; - } - MethodTreeNode injectableNode = (MethodTreeNode) entry - .getValue(); - ExecutableElement method = (ExecutableElement) key; - - int index = overriddenMethods.indexOf( method); - if ( index != -1 ) { - if (parent == null) { - parent = injectableNode; - } - else if (parent.isOverridden( index, overriddenMethods, - controller)) - { - parent = injectableNode; - } - } - } - } - - DefaultMutableTreeNode parentNode = parent; - - if ( parentNode == null ){ - parentNode = root; - } - Enumeration children = parentNode.children(); - List movedChildren = new LinkedList(); - while (children.hasMoreElements()) { - Object child = children.nextElement(); - if (child instanceof MethodTreeNode) { - MethodTreeNode childNode = (MethodTreeNode)child; - if (childNode.overridesMethod(element, controller)) { - movedChildren.add(childNode); - } - } - } - - for (MethodTreeNode methodNode : movedChildren) { - parentNode.remove(methodNode); - node.add(methodNode); - } - parentNode.add(node); - elementMap.put(element, node); - } - - private void insertTreeNode( Map> elementMap, - InjectableTreeNode node, DefaultMutableTreeNode root ) - { - root.add( node ); - } - - private MetadataModel getModel(){ - return myModel; - } - - private List> myTypeHandles; - private Map,ElementHandle> myProductionHandles; - private Set> myDisabledBeans; - private MetadataModel myModel; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesPopup.form b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesPopup.form deleted file mode 100644 index acd1cfbf09b0..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesPopup.form +++ /dev/null @@ -1,94 +0,0 @@ - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesPopup.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesPopup.java deleted file mode 100644 index 58e6385658c2..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InjectablesPopup.java +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.awt.Component; -import java.awt.Cursor; -import java.awt.event.FocusEvent; -import java.awt.event.FocusListener; -import java.awt.event.KeyEvent; -import java.awt.event.MouseEvent; -import java.util.List; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.swing.DefaultListCellRenderer; -import javax.swing.DefaultListModel; -import javax.swing.JList; -import javax.swing.JPanel; -import javax.swing.ListModel; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.ui.ElementIcons; -import org.netbeans.api.java.source.ui.ElementOpen; - -/** - * @author ads - * - */ -public class InjectablesPopup extends JPanel implements FocusListener { - - private static final long serialVersionUID = -6156872540472708548L; - - /** Creates new form DeclarationPopup */ - public InjectablesPopup(String title, List> handles, - CompilationController controller ) - { - myTitle = title; - myHandles = handles; - myController = controller; - - initComponents(); - - jList1.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); - - addFocusListener(this); - } - - /** This method is called from within the constructor to - * initialize the form. - * WARNING: Do NOT modify this code. The content of this method is - * always regenerated by the Form Editor. - */ - // //GEN-BEGIN:initComponents - private void initComponents() { - java.awt.GridBagConstraints gridBagConstraints; - - jLabel1 = new javax.swing.JLabel(); - jScrollPane1 = new javax.swing.JScrollPane(); - jList1 = new javax.swing.JList(); - - setFocusCycleRoot(true); - setLayout(new java.awt.GridBagLayout()); - - jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); - jLabel1.setText(myTitle - ); - jLabel1.setFocusable(false); - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - add(jLabel1, gridBagConstraints); - - jList1.setModel(createListModel()); - jList1.setCellRenderer(new RendererImpl( myController )); - jList1.setSelectedIndex(0); - jList1.setVisibleRowCount(myHandles.size() - ); - jList1.addKeyListener(new java.awt.event.KeyAdapter() { - public void keyPressed(java.awt.event.KeyEvent evt) { - jList1KeyPressed(evt); - } - }); - jList1.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { - jList1MouseClicked(evt); - } - }); - jScrollPane1.setViewportView(jList1); - - gridBagConstraints = new java.awt.GridBagConstraints(); - gridBagConstraints.gridx = 0; - gridBagConstraints.gridy = 1; - gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; - gridBagConstraints.weightx = 1.0; - gridBagConstraints.weighty = 1.0; - add(jScrollPane1, gridBagConstraints); - }// //GEN-END:initComponents - - private void jList1MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jList1MouseClicked - if (evt.getButton() == MouseEvent.BUTTON1 && evt.getClickCount() == 1) { - openSelected(); - } - }//GEN-LAST:event_jList1MouseClicked - - private void jList1KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jList1KeyPressed - if (evt.getKeyCode() == KeyEvent.VK_ENTER && evt.getModifiers() == 0) { - openSelected(); - } - }//GEN-LAST:event_jList1KeyPressed - - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JLabel jLabel1; - private javax.swing.JList jList1; - private javax.swing.JScrollPane jScrollPane1; - // End of variables declaration//GEN-END:variables - - private void openSelected() { - ElementHandle handle = (ElementHandle) jList1.getSelectedValue(); - - ElementOpen.open(myController.getClasspathInfo(), handle); - - PopupUtil.hidePopup(); - } - - private ListModel createListModel() { - DefaultListModel> dlm = new DefaultListModel<>(); - - for (ElementHandle el: myHandles) { - dlm.addElement(el); - } - - return dlm; - } - - private static class RendererImpl extends DefaultListCellRenderer { - - private static final long serialVersionUID = -15584610894401459L; - - RendererImpl(CompilationController controller){ - myController = controller; - } - - @Override - public Component getListCellRendererComponent( - JList list, - Object value, - int index, - boolean isSelected, - boolean cellHasFocus) { - Component c = super.getListCellRendererComponent(list, value, index, - isSelected, cellHasFocus); - - if (value instanceof ElementHandle) { - ElementHandle handle = (ElementHandle)value; - Element resolve = handle.resolve( myController); - if ( resolve!= null) { - DeclaredType parent = null; - if ( resolve instanceof VariableElement || - resolve instanceof ExecutableElement ) - { - TypeElement enclosingTypeElement = - myController.getElementUtilities(). - enclosingTypeElement(resolve); - parent = (DeclaredType)enclosingTypeElement.asType(); - } - setIcon(ElementIcons.getElementIcon(resolve.getKind(), - resolve.getModifiers())); - setText(Utils.format(resolve, parent , myController)); - } - } - - return c; - } - - private CompilationController myController; - } - - @Override - public void focusGained(FocusEvent arg0) { - jList1.requestFocus(); - jList1.requestFocusInWindow(); - } - - @Override - public void focusLost(FocusEvent arg0) { - } - - private String myTitle; - private List> myHandles; - private CompilationController myController; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InterceptorsModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InterceptorsModel.java deleted file mode 100644 index 1d3f871b7679..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InterceptorsModel.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.TypeElement; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeNode; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.SourceUtils; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public final class InterceptorsModel extends DefaultTreeModel - implements JavaHierarchyModel -{ - - private static final long serialVersionUID = 8135037731227112414L; - - private static final Logger LOG = Logger.getLogger( - InterceptorsModel.class.getName()); - - public InterceptorsModel( InterceptorsResult result , - CompilationController controller ,MetadataModel model ) - { - super( null ); - myModel = model; - List interceptors = result.getAllInterceptors(); - myHandles = new ArrayList>( interceptors.size()); - myDisabledInterceptors = new HashSet>(); - Set disabled = new HashSet(); - for (TypeElement interceptor : interceptors) { - ElementHandle handle = ElementHandle.create( interceptor ); - myHandles.add( handle ); - if ( result.isDisabled( interceptor )){ - myDisabledInterceptors.add( handle ); - disabled.add( interceptor ); - } - } - - update( interceptors , disabled , controller ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaHierarchyModel#fireTreeNodesChanged() - */ - @Override - public void fireTreeNodesChanged() { - super.fireTreeNodesChanged(this, getPathToRoot((TreeNode)getRoot()), - null, null); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaHierarchyModel#update() - */ - @Override - public void update() { - updateHandles( myHandles , myDisabledInterceptors); - } - - private void update( List types , Set disabled, - CompilationController controller) - { - DefaultMutableTreeNode root = new DefaultMutableTreeNode(); - - for (TypeElement type : types) { - FileObject fileObject = SourceUtils.getFile(ElementHandle - .create(type), controller.getClasspathInfo()); - TypeTreeNode node = new TypeTreeNode(fileObject, type, - disabled.contains(type ),controller); - root.add( node ); - } - setRoot(root); - } - - private void updateHandles( final List> handles , - final Set> disabled ) - { - try { - getModel().runReadAction( - new MetadataModelAction() { - - @Override - public Void run( WebBeansModel model ) { - List list = - new ArrayList(handles.size()); - Set set = new HashSet(); - for (ElementHandle handle : - handles) - { - TypeElement type = handle.resolve( - model.getCompilationController()); - if ( type != null ){ - list.add( type ); - } - if ( disabled.contains( handle )){ - set.add( type ); - } - } - update( list , set, model.getCompilationController()); - return null; - } - }); - - return; - } - catch (MetadataModelException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - catch (IOException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - } - - private MetadataModel getModel(){ - return myModel; - } - - private MetadataModel myModel; - private List> myHandles; - private Set> myDisabledInterceptors; -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InterceptorsPanel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InterceptorsPanel.java deleted file mode 100644 index 8f9140dbe6e7..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/InterceptorsPanel.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.util.Collection; -import java.util.List; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.swing.JLabel; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.awt.Mnemonics; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class InterceptorsPanel extends BindingsPanel { - - private static final long serialVersionUID = -3849331046190789438L; - - public InterceptorsPanel( Object[] subject, - MetadataModel metaModel, WebBeansModel model, - JavaHierarchyModel treeModel, Result result ) - { - super(subject, metaModel, model, treeModel, result); - initLabels(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.BindingsPanel#setContextElement(javax.lang.model.element.Element, org.netbeans.api.java.source.CompilationController) - */ - @Override - protected void setContextElement( Element context, - CompilationController controller ) - { - if ( context instanceof ExecutableElement ){ - ExecutableElement method = (ExecutableElement) context; - getShortElementName().append( context.getSimpleName().toString()); - appendMethodParams(getShortElementName(), method); - - TypeElement enclosingType = controller.getElementUtilities(). - enclosingTypeElement( context ); - String typeFqn = enclosingType.getQualifiedName().toString(); - getFqnElementName().append( typeFqn ); - getFqnElementName().append('.'); - getFqnElementName().append( context.getSimpleName().toString() ); - appendMethodParams(getFqnElementName(), method); - } - else if ( context instanceof TypeElement ){ - TypeElement type = (TypeElement) context; - getShortElementName().append( type.getSimpleName().toString() ); - getFqnElementName().append( type.getQualifiedName().toString() ); - } - } - - @Override - protected void initBindings( WebBeansModel model, Element element){ - Collection interceptorBindings = model.getInterceptorBindings(element); - - StringBuilder fqnBuilder = new StringBuilder(); - StringBuilder builder = new StringBuilder(); - - for (AnnotationMirror annotationMirror : interceptorBindings) { - appendAnnotationMirror(annotationMirror, fqnBuilder, true ); - appendAnnotationMirror(annotationMirror, builder, false ); - } - if ( fqnBuilder.length() >0 ){ - setFqnBindings( fqnBuilder.substring(0 , fqnBuilder.length() -2 )); - setShortBindings( builder.substring(0 , builder.length() -2 )); - } - else { - setFqnBindings(""); - setShortBindings(""); - } - if ( showFqns() ) { - getInitialBindingsComponent().setText( getFqnBindings() ); - } - else { - getInitialBindingsComponent().setText( getShortBindings() ); - } - } - - @Override - protected void doShowSelectedCDI(ElementHandle elementHandle, - WebBeansModel model ) throws CdiException - { - Element element = elementHandle.resolve( - model.getCompilationController()); - if ( element == null ){ - getSelectedBindingsComponent().setText(""); - } - else { - element = getSelectedQualifiedElement( element, model); - Collection interceptorBindings = - model.getInterceptorBindings(element); - StringBuilder builder = new StringBuilder(); - - for (AnnotationMirror annotationMirror : interceptorBindings) { - appendAnnotationMirror(annotationMirror, builder, showFqns() ); - } - String bindingsString = ""; - if ( builder.length() >0 ){ - bindingsString = builder.substring(0 , - builder.length() -2 ); - } - getSelectedBindingsComponent().setText( bindingsString); - setStereotypes(model, element); - } - } - - private void appendMethodParams(StringBuilder builder, ExecutableElement method){ - builder.append('('); - List parameters = method.getParameters(); - int i=0; - for (VariableElement variableElement : parameters) { - String param = variableElement.getSimpleName().toString(); - builder.append( param ); - if ( i < parameters.size() -1 ){ - builder.append(", "); - } - i++; - } - builder.append(')'); - } - - private void initLabels() { - JLabel elementLabel = getSubjectElementLabel(); - Mnemonics.setLocalizedText(elementLabel,NbBundle.getMessage( - ObserversPanel.class, "LBL_InterceptedElement") ); // NOI18N - elementLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_InterceptedElement")); // NOI18N - elementLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_InterceptedElement")); // NOI18N - - JLabel iBindingsLabel= getSubjectBindingsLabel(); - Mnemonics.setLocalizedText(iBindingsLabel,NbBundle.getMessage( - ObserversPanel.class, "LBL_InterceptorBindings") ); // NOI18N - iBindingsLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_InterceptorBindings")); // NOI18N - iBindingsLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_InterceptorBindings")); // NOI18N - - JLabel selectedIBindgings = getSelectedBindingsLabel(); - Mnemonics.setLocalizedText(selectedIBindgings,NbBundle.getMessage( - ObserversPanel.class, "LBL_SelectedInterceptorBindings") ); // NOI18N - selectedIBindgings.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_SelectedInterceptorBindings")); // NOI18N - selectedIBindgings.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_SelectedInterceptorBindings")); // NOI18N - - JLabel selectedStereotypes = getStereotypesLabel(); - Mnemonics.setLocalizedText(selectedStereotypes,NbBundle.getMessage( - ObserversPanel.class, "LBL_IStereotypes") ); // NOI18N - selectedStereotypes.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_IStereotypes")); // NOI18N - selectedStereotypes.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_IStereotypes")); // NOI18N - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaElement.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaElement.java deleted file mode 100644 index 9e777c6e3803..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaElement.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.util.Set; - -import org.netbeans.api.java.source.ElementHandle; -import org.openide.filesystems.FileObject; - -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.Modifier; -import javax.swing.Icon; -import org.netbeans.api.java.source.ui.ElementJavadoc; - -/** - * The interface representing Java elements in hierarchy and members pop up windows. - * - * Copy of JavaElement at java.navigation - * - * @author ads - */ -public interface JavaElement { - String getName(); - Set getModifiers(); - ElementKind getElementKind(); - String getLabel(); - String getFQNLabel(); - String getTooltip(); - Icon getIcon(); - boolean isDisabled(); - ElementJavadoc getJavaDoc(); - void gotoElement(); - FileObject getFileObject(); - ElementHandle getElementHandle(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaHierarchyModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaHierarchyModel.java deleted file mode 100644 index e218a70183a5..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaHierarchyModel.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import javax.swing.tree.TreeModel; - - -/** - * @author ads - * - */ -interface JavaHierarchyModel extends TreeModel { - - void fireTreeNodesChanged(); - - void update(); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaTreeCellRenderer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaTreeCellRenderer.java deleted file mode 100644 index 1a6915582cee..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/JavaTreeCellRenderer.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.awt.Component; -import javax.swing.JLabel; -import javax.swing.JTree; -import javax.swing.tree.DefaultTreeCellRenderer; - -/** - * - * Copy of JavaTreeCellRenderer at java.navigation. - * - * @author ads - */ -public final class JavaTreeCellRenderer extends DefaultTreeCellRenderer { - private static final long serialVersionUID = 8126878473944648830L; - - public Component getTreeCellRendererComponent(JTree tree, Object value, - boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) { - JLabel label = (JLabel) super.getTreeCellRendererComponent(tree, value, - sel, expanded, leaf, row, hasFocus); - - if (!sel) { - setBackgroundNonSelectionColor(tree.getBackground()); - } - - if (value instanceof JavaElement) { - JavaElement javaElement = (JavaElement) value; - label.setIcon(javaElement.getIcon()); - label.setToolTipText(javaElement.getTooltip()); - label.setEnabled( !javaElement.isDisabled() ); - } - - return label; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/MethodTreeNode.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/MethodTreeNode.java deleted file mode 100644 index 42cb1c3aca56..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/MethodTreeNode.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.util.List; - -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.type.DeclaredType; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.CompilationInfo; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -class MethodTreeNode extends InjectableTreeNode { - - private static final long serialVersionUID = -137177182006814794L; - - MethodTreeNode( FileObject fileObject, ExecutableElement element, - DeclaredType parentType, boolean disabled , - CompilationInfo compilationInfo ) - { - super(fileObject, element, parentType , disabled, compilationInfo); - } - - boolean isOverridden( int index, - List overriddenMethods, - CompilationController controller ) - { - ExecutableElement exec = getElementHandle().resolve(controller); - if ( exec == null ){ - return true; - } - int execIndex = overriddenMethods.indexOf( exec ); - if ( execIndex == -1){ - return true; - } - return index < execIndex ; - } - - boolean overridesMethod( ExecutableElement element, - CompilationController controller ) - { - ExecutableElement exec = getElementHandle().resolve(controller); - if ( exec == null ){ - return false; - } - ExecutableElement overriddenMethod = exec; - while ( true ){ - overriddenMethod = - controller.getElementUtilities().getOverriddenMethod(overriddenMethod); - if ( overriddenMethod == null ){ - break; - } - if ( overriddenMethod.equals( element )){ - return true; - } - } - return false; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/NoBorderToolBar.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/NoBorderToolBar.java deleted file mode 100644 index d17e734a96c7..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/NoBorderToolBar.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.awt.Graphics; -import javax.swing.JToolBar; - -/** - * ToolBar that doesn't paint any border. - * - * Copy of NoBorderToolBar at java.navigation - * - * @author ads - */ -public class NoBorderToolBar extends JToolBar { - - private static final long serialVersionUID = 2388606453287832422L; - - /** Creates a new instance of NoBorderToolbar */ - public NoBorderToolBar() { - } - - /** Creates a new instance of NoBorderToolbar - * @param layout - */ - public NoBorderToolBar( int layout ) { - super( layout ); - } - - @Override - protected void paintComponent(Graphics g) { - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ObserversModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ObserversModel.java deleted file mode 100644 index b4836a35e182..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ObserversModel.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.type.DeclaredType; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import javax.swing.tree.TreeNode; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.SourceUtils; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public final class ObserversModel extends DefaultTreeModel implements - JavaHierarchyModel -{ - - private static final long serialVersionUID = -7252090049644279891L; - - private static final Logger LOG = Logger.getLogger( - ObserversModel.class.getName()); - - public ObserversModel( List methods , - CompilationController controller ,MetadataModel model ) - { - super( null ); - myModel = model; - myHandles = new ArrayList>( methods.size()); - for (ExecutableElement method : methods) { - ElementHandle handle = ElementHandle.create( method ); - myHandles.add( handle ); - } - - update( methods , controller ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaHierarchyModel#fireTreeNodesChanged() - */ - @Override - public void fireTreeNodesChanged() { - super.fireTreeNodesChanged(this, getPathToRoot((TreeNode)getRoot()), - null, null); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.JavaHierarchyModel#update() - */ - @Override - public void update() { - updateHandles( myHandles ); - } - - private void updateHandles( final List> handles ) { - try { - getModel().runReadAction( - new MetadataModelAction() { - - public Void run( WebBeansModel model ) { - List list = - new ArrayList(handles.size()); - for (ElementHandle handle : - handles) - { - ExecutableElement method = handle.resolve( - model.getCompilationController()); - if ( method != null ){ - list.add( method ); - } - } - update( list , model.getCompilationController()); - return null; - } - }); - - return; - } - catch (MetadataModelException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - catch (IOException e) { - LOG.log(Level.WARNING, e.getMessage(), e); - } - } - - private void update( List methods , - CompilationController controller) - { - DefaultMutableTreeNode root = new DefaultMutableTreeNode(); - - Map> methodsMap= - new LinkedHashMap>(); - - for (ExecutableElement method : methods) { - FileObject fileObject = SourceUtils.getFile(ElementHandle - .create(method), controller.getClasspathInfo()); - MethodTreeNode node = new MethodTreeNode(fileObject, - method, (DeclaredType)controller.getElementUtilities(). - enclosingTypeElement(method).asType(), - false, controller); - insertTreeNode( methodsMap , method , node , root , controller); - - } - setRoot(root); - } - - private void insertTreeNode( - Map> methods, - ExecutableElement method, MethodTreeNode node, - DefaultMutableTreeNode root, CompilationController controller ) - { - InjectablesModel.insertTreeNode(methods, method, node, root, controller); - } - - private MetadataModel getModel(){ - return myModel; - } - - private MetadataModel myModel; - private List> myHandles; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ObserversPanel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ObserversPanel.java deleted file mode 100644 index 7c2237d34f2f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ObserversPanel.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; -import javax.swing.JLabel; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.awt.Mnemonics; -import org.openide.util.NbBundle; - - - -/** - * @author ads - * - */ -public class ObserversPanel extends BindingsPanel { - - private static final long serialVersionUID = -5038408349629504998L; - - static final String OBSERVES_ANNOTATION = - "jakarta.enterprise.event.Observes"; // NOI18N - - - public ObserversPanel( Object[] subject, - MetadataModel metaModel , WebBeansModel model , - ObserversModel uiModel ) - { - super(subject, metaModel, model , uiModel ); - initLabels(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.InjectablesPanel#setInjectableType(javax.lang.model.type.TypeMirror, org.netbeans.api.java.source.CompilationController) - */ - @Override - protected void setContextElement( Element context, - CompilationController controller ) - { - TypeMirror typeMirror = context.asType(); - TypeMirror parameterType = ((DeclaredType)typeMirror).getTypeArguments().get( 0 ); - super.setContextType(parameterType, controller); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.InjectablesPanel#getQualifiedElement(javax.lang.model.element.Element, org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel) - */ - @Override - protected Element getSelectedQualifiedElement( Element context , - WebBeansModel model) - { - if ( context.getKind() == ElementKind.METHOD){ - return model.getObserverParameter((ExecutableElement)context ); - } - return context; - } - - private void initLabels() { - JLabel typeLabel = getSubjectElementLabel(); - Mnemonics.setLocalizedText(typeLabel,NbBundle.getMessage( - ObserversPanel.class, "LBL_EventType") ); // NOI18N - typeLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_EventType")); // NOI18N - typeLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_EventType")); // NOI18N - - JLabel qualifiersLabel= getSubjectBindingsLabel(); - Mnemonics.setLocalizedText(qualifiersLabel,NbBundle.getMessage( - ObserversPanel.class, "LBL_EventQualifiers") ); // NOI18N - qualifiersLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSN_EventQualifiers")); // NOI18N - qualifiersLabel.getAccessibleContext().setAccessibleName(NbBundle.getMessage( - ObserversPanel.class, "ACSD_EventQualifiers")); // NOI18N - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/PopupUtil.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/PopupUtil.java deleted file mode 100644 index 9241d885052c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/PopupUtil.java +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.navigation; -import java.awt.AWTEvent; -import java.awt.Component; -import java.awt.Container; -import java.awt.Frame; -import java.awt.Point; -import java.awt.Rectangle; -import java.awt.Toolkit; -import java.awt.event.AWTEventListener; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; -import java.awt.event.KeyEvent; -import java.awt.event.MouseEvent; -import java.awt.event.WindowEvent; -import java.awt.event.WindowStateListener; -import java.util.List; - -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.JComponent; -import javax.swing.JDialog; -import javax.swing.KeyStroke; -import javax.swing.SwingUtilities; -import javax.swing.text.Document; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.editor.EditorRegistry; -import org.openide.windows.WindowManager; - -/** - * Based on PopupUtil from csl.api - * - * @author ads - */ -public final class PopupUtil { - - private static final String CLOSE_KEY = "CloseKey"; //NOI18N - private static final Action CLOSE_ACTION = new CloseAction(); - private static final KeyStroke ESC_KEY_STROKE = KeyStroke.getKeyStroke( KeyEvent.VK_ESCAPE, 0 ); - - private static final String POPUP_NAME = "popupComponent"; //NOI18N - private static JDialog popupWindow; - private static HideAWTListener hideListener = new HideAWTListener(); - - // Singleton - private PopupUtil() { - } - - public static boolean isPopupShowing() { - return popupWindow != null; - } - - public static void showPopup( JComponent content, String title, int x, int y) { - if (popupWindow != null ) { - return; // Content already showing - } - - Toolkit.getDefaultToolkit().addAWTEventListener(hideListener, AWTEvent.MOUSE_EVENT_MASK); - - // NOT using PopupFactory - // 1. on linux, creates mediumweight popup taht doesn't refresh behind visible glasspane - // 2. on mac, needs an owner frame otherwise hiding tooltip also hides the popup. (linux requires no owner frame to force heavyweight) - // 3. the created window is not focusable window - - popupWindow = new JDialog( getMainWindow() ); - popupWindow.setName( POPUP_NAME ); - popupWindow.setUndecorated(true); - popupWindow.getRootPane().getInputMap( JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT ).put( ESC_KEY_STROKE, CLOSE_KEY ); - popupWindow.getRootPane().getActionMap().put( CLOSE_KEY, CLOSE_ACTION ); - - //set a11y - String a11yName = content.getAccessibleContext().getAccessibleName(); - if(a11yName != null && !a11yName.equals("")) - popupWindow.getAccessibleContext().setAccessibleName(a11yName); - String a11yDesc = content.getAccessibleContext().getAccessibleDescription(); - if(a11yDesc != null && !a11yDesc.equals("")) - popupWindow.getAccessibleContext().setAccessibleDescription(a11yDesc); - - popupWindow.getContentPane().add(content); - - WindowManager.getDefault().getMainWindow().addWindowStateListener(hideListener); - WindowManager.getDefault().getMainWindow().addComponentListener(hideListener); - resizePopup(); - - if (x != (-1)) { - Point p = fitToScreen( x, y, 0 ); - popupWindow.setLocation(p.x, p.y); - - } - - popupWindow.setVisible( true ); - content.requestFocus(); - content.requestFocusInWindow(); - } - - public static void hidePopup() { - if (popupWindow != null) { -// popupWindow.getContentPane().removeAll(); - Toolkit.getDefaultToolkit().removeAWTEventListener(hideListener); - - popupWindow.setVisible( false ); - popupWindow.dispose(); - } - WindowManager.getDefault().getMainWindow().removeWindowStateListener(hideListener); - WindowManager.getDefault().getMainWindow().removeComponentListener(hideListener); - popupWindow = null; - } - - public static JTextComponent findEditor(Document doc) { - JTextComponent comp = EditorRegistry.lastFocusedComponent(); - if (comp.getDocument() == doc) { - return comp; - } - List componentList = EditorRegistry.componentList(); - for (JTextComponent component : componentList) { - if (comp.getDocument() == doc) { - return comp; - } - } - - return null; - } - - - private static void resizePopup() { - popupWindow.pack(); - Point point = new Point(0,0); - SwingUtilities.convertPointToScreen(point, getMainWindow()); - popupWindow.setLocation( point.x + (getMainWindow().getWidth() - popupWindow.getWidth()) / 2, - point.y + (getMainWindow().getHeight() - popupWindow.getHeight()) / 3); - } - - private static final int X_INSET = 10; - - private static Point fitToScreen( int x, int y, int altHeight ) { - - Rectangle screen = org.openide.util.Utilities.getUsableScreenBounds(); - - Point p = new Point( x, y ); - - // Adjust the x postition if necessary - if ( ( p.x + popupWindow.getWidth() ) > ( screen.x + screen.width - X_INSET ) ) { - p.x = screen.x + screen.width - X_INSET - popupWindow.getWidth(); - } - - // Adjust the y position if necessary - if ( ( p.y + popupWindow.getHeight() ) > ( screen.y + screen.height - X_INSET ) ) { - p.y = p.y - popupWindow.getHeight() - altHeight; - } - - return p; - } - - - private static Frame getMainWindow() { - return WindowManager.getDefault().getMainWindow(); - } - - // Innerclasses ------------------------------------------------------------ - - private static class HideAWTListener extends ComponentAdapter implements AWTEventListener, WindowStateListener { - - public void eventDispatched(java.awt.AWTEvent aWTEvent) { - if (aWTEvent instanceof MouseEvent) { - MouseEvent mv = (MouseEvent)aWTEvent; - if (mv.getID() == MouseEvent.MOUSE_CLICKED && mv.getClickCount() > 0) { - //#118828 - if (! (aWTEvent.getSource() instanceof Component)) { - hidePopup(); - return; - } - - Component comp = (Component)aWTEvent.getSource(); - Container par = SwingUtilities.getAncestorNamed(POPUP_NAME, comp); //NOI18N - if ( par == null ) { - hidePopup(); - } - } - } - } - - public void windowStateChanged(WindowEvent windowEvent) { - if (popupWindow != null ) { - int oldState = windowEvent.getOldState(); - int newState = windowEvent.getNewState(); - - if (((oldState & Frame.ICONIFIED) == 0) && - ((newState & Frame.ICONIFIED) == Frame.ICONIFIED)) { - hidePopup(); - } - } - - } - - public void componentResized(ComponentEvent evt) { - if (popupWindow != null) { - resizePopup(); - } - } - - public void componentMoved(ComponentEvent evt) { - if (popupWindow!= null) { - resizePopup(); - } - } - - } - - private static class CloseAction extends AbstractAction { - - private static final long serialVersionUID = -6991538204946001510L; - - public void actionPerformed(java.awt.event.ActionEvent e) { - hidePopup(); - } - - - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ResizablePopup.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ResizablePopup.java deleted file mode 100644 index d6b62723f06e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/ResizablePopup.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.awt.Window; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; - -import javax.swing.JDialog; -import javax.swing.JPanel; -import javax.swing.RootPaneContainer; - -import org.openide.windows.WindowManager; - -/** - * Copied from ResizablePopup at java.navigation. - * - * @author ads - */ -public final class ResizablePopup { - static final String HELP_COOKIE = "help"; // NOI18N - - private static final WindowListener windowListener = new WindowAdapter() { - - public void windowClosing(WindowEvent windowEvent) { - cleanup(windowEvent.getWindow()); - } - - private void cleanup(Window window) { - window.setVisible(false); - if (window instanceof RootPaneContainer) { - ((RootPaneContainer) window).setContentPane(new JPanel()); - } - window.removeWindowListener(this); - window.dispose(); - } - - /*private boolean aboutToShowHelp(Window window) { - if (window instanceof RootPaneContainer) { - JComponent rootPane = ((RootPaneContainer) window).getRootPane(); - if (Boolean.TRUE.equals(rootPane.getClientProperty(HELP_COOKIE))) { - rootPane.putClientProperty(HELP_COOKIE, null); - return true; - } - } - return false; - }*/ - }; - - public static JDialog getDialog() { - JDialog dialog = new JDialog(WindowManager.getDefault().getMainWindow(), - "", false) - { - private static final long serialVersionUID = -2488334519927160789L; - - public void setVisible(boolean visible) { - boolean wasVisible = isVisible(); - if (wasVisible && !visible) { - WebBeansNavigationOptions.setLastBounds(getBounds()); - } - super.setVisible(visible); - } - }; - //dialog.setUndecorated(true); - dialog.setBounds(WebBeansNavigationOptions.getLastBounds()); - dialog.addWindowListener(windowListener); - dialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE); - return dialog; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/TypeTreeNode.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/TypeTreeNode.java deleted file mode 100644 index e6a60d75a598..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/TypeTreeNode.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import javax.lang.model.element.TypeElement; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.CompilationInfo; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -class TypeTreeNode extends InjectableTreeNode { - - private static final long serialVersionUID = 5945151445570825042L; - - TypeTreeNode(FileObject fileObject, TypeElement typeElement, boolean disabled, - CompilationInfo compilationInfo) - { - super(fileObject, typeElement, null, disabled, compilationInfo); - } - - boolean isAssignableFrom( TypeElement element , - CompilationController controller) - { - TypeElement typeElement = getElementHandle().resolve(controller); - if ( typeElement ==null ){ - return true; - } - return controller.getTypes().isAssignable( element.asType(), - typeElement.asType()); - } - - boolean isAssignable( TypeElement element , CompilationController controller ){ - TypeElement typeElement = getElementHandle().resolve(controller); - if ( typeElement ==null ){ - return false; - } - return controller.getTypes().isAssignable( typeElement.asType(), - element.asType()); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/Utils.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/Utils.java deleted file mode 100644 index 90db53813aad..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/Utils.java +++ /dev/null @@ -1,589 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.util.List; -import java.util.Set; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.regex.PatternSyntaxException; - -import javax.lang.model.element.AnnotationValue; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Modifier; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.TypeParameterElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.ArrayType; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.ExecutableType; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.type.TypeVariable; -import javax.lang.model.type.WildcardType; -import javax.swing.JTree; -import javax.swing.SwingUtilities; - -import org.netbeans.api.java.source.CompilationInfo; - - -/** - * Based on Utils class from java.navigation - * @author ads - * - */ -final class Utils { - - static void firstRow(JTree tree) { - int rowCount = tree.getRowCount(); - if (rowCount > 0) { - tree.setSelectionRow(0); - scrollTreeToSelectedRow(tree); - } - } - - static void scrollTreeToSelectedRow(final JTree tree) { - final int selectedRow = tree.getLeadSelectionRow(); - if (selectedRow >=0) { - SwingUtilities.invokeLater( - new Runnable() { - public void run() { - tree.scrollRectToVisible(tree.getRowBounds(selectedRow)); - } - } - ); - } - } - - static void previousRow(JTree tree) { - int rowCount = tree.getRowCount(); - if (rowCount > 0) { - int selectedRow = tree.getSelectionModel().getMinSelectionRow(); - if (selectedRow == -1) { - selectedRow = (rowCount -1); - } else { - selectedRow--; - if (selectedRow < 0) { - selectedRow = (rowCount -1); - } - } - tree.setSelectionRow(selectedRow); - scrollTreeToSelectedRow(tree); - } - } - - static void nextRow(JTree tree) { - int rowCount = tree.getRowCount(); - if (rowCount > 0) { - int selectedRow = tree.getSelectionModel().getMinSelectionRow(); - if (selectedRow == -1) { - selectedRow = 0; - tree.setSelectionRow(selectedRow); - } else { - selectedRow++; - } - tree.setSelectionRow(selectedRow % rowCount); - scrollTreeToSelectedRow(tree); - } - } - - static void lastRow(JTree tree) { - int rowCount = tree.getRowCount(); - if (rowCount > 0) { - tree.setSelectionRow(rowCount - 1); - scrollTreeToSelectedRow(tree); - } - } - - static boolean patternMatch(JavaElement javaToolsJavaElement, String pattern, - String patternLowerCase) - { - - if (pattern == null) { - return true; - } - - String patternRegexpString = pattern; - - if (pattern.trim().length() == 0) { - patternRegexpString = pattern + ".*"; - } else { - patternRegexpString = pattern. - replaceAll(Pattern.quote("*"), Matcher.quoteReplacement(".*")). - replaceAll(Pattern.quote("?"), Matcher.quoteReplacement(".")) + - (pattern.endsWith("$") ? "" : ".*"); - } - - String name = javaToolsJavaElement.getName(); - - try { - Pattern compiledPattern = Pattern.compile(patternRegexpString, - WebBeansNavigationOptions.isCaseSensitive() ? 0 - : Pattern.CASE_INSENSITIVE); - Matcher m = compiledPattern.matcher(name); - - return m.matches(); - } catch (PatternSyntaxException pse) { - if (WebBeansNavigationOptions.isCaseSensitive()) { - return name.startsWith(pattern); - } - - return name.toLowerCase().startsWith(patternLowerCase); - } - } - - static String format(Element element, DeclaredType parent , - CompilationInfo compilationInfo) - { - return format(element, parent, compilationInfo, false, false); - } - - static String format(Element element, DeclaredType parent , - CompilationInfo compilationInfo, boolean forSignature, boolean FQNs) - { - StringBuilder stringBuilder = new StringBuilder(); - format(element, parent , compilationInfo , stringBuilder, forSignature, FQNs); - - return stringBuilder.toString(); - } - - static void format(Element element, DeclaredType parent , - CompilationInfo compilationInfo , StringBuilder stringBuilder, - boolean forSignature, boolean FQNs) - { - if (element == null) { - return; - } - - Set modifiers = element.getModifiers(); - - switch (element.getKind()) { - case PACKAGE: - break; - case CLASS: - case INTERFACE: - case ENUM: - case ANNOTATION_TYPE: - if (forSignature) { - stringBuilder.append(toString(modifiers)); - if (modifiers.size() > 0) { - if (stringBuilder.length() > 0) { - stringBuilder.append(" "); - } - } - } - - if (forSignature) { - switch (element.getKind()) { - case CLASS: - stringBuilder.append("class "); // NOI18N - break; - case INTERFACE: - stringBuilder.append("interface "); // NOI18N - break; - case ENUM: - stringBuilder.append("enum "); // NOI18N - break; - case ANNOTATION_TYPE: - stringBuilder.append("@interface "); // NOI18N - break; - } - } - - TypeElement typeElement = (TypeElement) element; - stringBuilder.append(FQNs - ? typeElement.getQualifiedName().toString() - : typeElement.getSimpleName().toString()); - - formatTypeParameters(typeElement.getTypeParameters(), - compilationInfo, stringBuilder, FQNs); - - break; - - case CONSTRUCTOR: - break; - - case METHOD: - ExecutableElement methodElement = (ExecutableElement) element; - ExecutableType methodType = (ExecutableType)compilationInfo.getTypes(). - asMemberOf(parent, methodElement); - TypeMirror returnTypeMirror = methodType.getReturnType(); - /*List typeParameters = - methodElement.getTypeParameters();*/ - List typeVars = methodType.getTypeVariables(); - - if (forSignature) { - stringBuilder.append(toString(modifiers)); - - if (modifiers.size() > 0) { - if (stringBuilder.length() > 0) { - stringBuilder.append(" "); - } - } - - /*if ((typeParameters != null) && (typeParameters.size() > 0)) { - formatTypeParameters(typeParameters, compilationInfo, - stringBuilder, FQNs); - if (stringBuilder.length() > 0) { - stringBuilder.append(" "); - } - }*/ - if ((typeVars != null) && (typeVars.size() > 0)) { - formatTypeMirrors(typeVars, stringBuilder, FQNs); - if (stringBuilder.length() > 0) { - stringBuilder.append(" "); - } - } - - formatTypeMirror(returnTypeMirror, stringBuilder, FQNs); - } - - if (stringBuilder.length() > 0) { - stringBuilder.append(" "); - } - - stringBuilder.append(methodElement.getSimpleName().toString()); - stringBuilder.append("("); - List parameterTypes = methodType.getParameterTypes(); - /*formatVariableElements(methodElement.getParameters(), - methodElement.isVarArgs(), compilationInfo, stringBuilder, FQNs);*/ - formatTypeMirrors(parameterTypes, stringBuilder, FQNs); - if (methodElement.isVarArgs()) { - stringBuilder.append("..."); - } - stringBuilder.append(")"); - - List thrownTypesMirrorsByMethod = methodElement.getThrownTypes(); - if (!thrownTypesMirrorsByMethod.isEmpty()) { - stringBuilder.append(" throws "); // NOI18N - formatTypeMirrors(thrownTypesMirrorsByMethod, stringBuilder, FQNs); - } - - if (forSignature) { - AnnotationValue annotationValue = methodElement.getDefaultValue(); - if (annotationValue != null) { - Object annotationValueValue = annotationValue.getValue(); - if (annotationValueValue != null) { - stringBuilder.append(" default "); // NOI18N - if (annotationValueValue instanceof String) { - stringBuilder.append("\""); - } else if (annotationValueValue instanceof Character) { - stringBuilder.append("\'"); - } - stringBuilder.append(String.valueOf(annotationValueValue)); - if (annotationValueValue instanceof String) { - stringBuilder.append("\""); - } else if (annotationValueValue instanceof Character) { - stringBuilder.append("\'"); - } - } - } - } else { - stringBuilder.append(":"); - - formatTypeMirror(returnTypeMirror, stringBuilder, FQNs); - - /*if ((typeParameters != null) && (typeParameters.size() > 0)) { - stringBuilder.append(":"); - formatTypeParameters(typeParameters, compilationInfo, - stringBuilder, FQNs); - }*/ - if ((typeVars != null) && (typeVars.size() > 0)) { - stringBuilder.append(":"); - formatTypeMirrors(typeVars, stringBuilder, FQNs); - } - - } - - break; - - case TYPE_PARAMETER: - break; - - case FIELD: - VariableElement fieldElement = (VariableElement) element; - TypeMirror fieldType = compilationInfo.getTypes(). - asMemberOf(parent, fieldElement); - if (forSignature) { - stringBuilder.append(toString(modifiers)); - - if (stringBuilder.length() > 0) { - stringBuilder.append(" "); - } - - formatTypeMirror(fieldType, stringBuilder, FQNs); - } - - if (stringBuilder.length() > 0) { - stringBuilder.append(" "); - } - - stringBuilder.append(fieldElement.getSimpleName().toString()); - - if (forSignature) { - Object fieldValue = fieldElement.getConstantValue(); - if (fieldValue != null) { - stringBuilder.append(" = "); - if (fieldValue instanceof String) { - stringBuilder.append("\""); - } else if (fieldValue instanceof Character) { - stringBuilder.append("\'"); - } - stringBuilder.append(String.valueOf(fieldValue)); - if (fieldValue instanceof String) { - stringBuilder.append("\""); - } else if (fieldValue instanceof Character) { - stringBuilder.append("\'"); - } - } - } else { - stringBuilder.append(":"); - - formatTypeMirror(fieldType, stringBuilder, FQNs); - } - - break; - - case ENUM_CONSTANT: - - break; - - case PARAMETER: - case LOCAL_VARIABLE: - break; - } - } - - static String toString(Set modifiers) { - return java.lang.reflect.Modifier.toString(getIntModifiers(modifiers)); - } - - static int getIntModifiers(Set modifiers) { - int intModifiers = 0; - - if (modifiers.contains(Modifier.ABSTRACT)) { - intModifiers |= java.lang.reflect.Modifier.ABSTRACT; - } - - if (modifiers.contains(Modifier.FINAL)) { - intModifiers |= java.lang.reflect.Modifier.FINAL; - } - - if (modifiers.contains(Modifier.NATIVE)) { - intModifiers |= java.lang.reflect.Modifier.NATIVE; - } - - if (modifiers.contains(Modifier.PRIVATE)) { - intModifiers |= java.lang.reflect.Modifier.PRIVATE; - } - - if (modifiers.contains(Modifier.PROTECTED)) { - intModifiers |= java.lang.reflect.Modifier.PROTECTED; - } - - if (modifiers.contains(Modifier.PUBLIC)) { - intModifiers |= java.lang.reflect.Modifier.PUBLIC; - } - - if (modifiers.contains(Modifier.STATIC)) { - intModifiers |= java.lang.reflect.Modifier.STATIC; - } - - if (modifiers.contains(Modifier.STRICTFP)) { - intModifiers |= java.lang.reflect.Modifier.STRICT; - } - - if (modifiers.contains(Modifier.SYNCHRONIZED)) { - intModifiers |= java.lang.reflect.Modifier.SYNCHRONIZED; - } - - if (modifiers.contains(Modifier.TRANSIENT)) { - intModifiers |= java.lang.reflect.Modifier.TRANSIENT; - } - - if (modifiers.contains(Modifier.VOLATILE)) { - intModifiers |= java.lang.reflect.Modifier.VOLATILE; - } - - return intModifiers; - } - - static void formatTypeParameters( - List typeParameters, - CompilationInfo compilationInfo,StringBuilder stringBuilder, - boolean FQNs ) - { - if ((typeParameters == null) || (typeParameters.size() == 0)) { - return; - } - - boolean first = true; - if (typeParameters.size() > 0) { - stringBuilder.append("<"); - first = true; - - for (TypeParameterElement typeParameterElement : typeParameters) { - if (first) { - first = false; - } - else { - stringBuilder.append(", "); - } - - format(typeParameterElement, null, compilationInfo, - stringBuilder, false, FQNs); - } - - stringBuilder.append(">"); - } - } - - static void formatTypeMirrors( List typeMirros, - StringBuilder stringBuilder, boolean FQNs ) - { - if ((typeMirros == null) || (typeMirros.size() == 0)) { - return; - } - - boolean first = true; - - for (TypeMirror typeMirror : typeMirros) { - if (first) { - first = false; - } - else { - stringBuilder.append(", "); - } - - formatTypeMirror(typeMirror, stringBuilder, FQNs); - } - } - - static void formatTypeMirror( TypeMirror typeMirror, - StringBuilder stringBuilder, boolean FQNs ) - { - if (typeMirror == null) { - return; - } - - switch (typeMirror.getKind()) { - case BOOLEAN: - case BYTE: - case CHAR: - case DOUBLE: - case FLOAT: - case INT: - case LONG: - case NONE: - case NULL: - case SHORT: - case VOID: - stringBuilder.append(typeMirror); - - break; - - case TYPEVAR: - TypeVariable typeVariable = (TypeVariable) typeMirror; - stringBuilder.append(typeVariable.asElement().getSimpleName() - .toString()); - break; - - case WILDCARD: - WildcardType wildcardType = (WildcardType) typeMirror; - stringBuilder.append("?"); - if (wildcardType.getExtendsBound() != null) { - stringBuilder.append(" extends "); // NOI18N - formatTypeMirror(wildcardType.getExtendsBound(), - stringBuilder, FQNs); - } - if (wildcardType.getSuperBound() != null) { - stringBuilder.append(" super "); // NOI18N - formatTypeMirror(wildcardType.getSuperBound(), - stringBuilder, FQNs); - } - - break; - - case DECLARED: - DeclaredType declaredType = (DeclaredType) typeMirror; - Element element = declaredType.asElement(); - if (element instanceof TypeElement) { - stringBuilder.append(FQNs ? ((TypeElement) element) - .getQualifiedName().toString() : element - .getSimpleName().toString()); - } - else { - stringBuilder.append(element.getSimpleName().toString()); - } - List typeArgs = declaredType - .getTypeArguments(); - if (!typeArgs.isEmpty()) { - stringBuilder.append("<"); - formatTypeMirrors(typeArgs, stringBuilder, FQNs); - stringBuilder.append(">"); - } - - break; - - case ARRAY: - - int dims = 0; - - while (typeMirror.getKind() == TypeKind.ARRAY) { - dims++; - typeMirror = ((ArrayType) typeMirror).getComponentType(); - } - - formatTypeMirror(typeMirror, stringBuilder, FQNs); - - for (int i = 0; i < dims; i++) { - stringBuilder.append("[]"); - } - - break; - } - } - - /*static void formatVariableElements( - List variableElements, boolean varArgs, - StringBuilder stringBuilder, boolean FQNs ) - { - if ((variableElements == null) || (variableElements.size() == 0)) { - return; - } - - boolean first = true; - - for (VariableElement variableElement : variableElements) { - if (first) { - first = false; - } - else { - stringBuilder.append(", "); - } - - format(variableElement, stringBuilder, false, FQNs); - } - - if (varArgs) { - stringBuilder.append("..."); - } - }*/ -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/WebBeansNavigationOptions.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/WebBeansNavigationOptions.java deleted file mode 100644 index 9caaaf50d282..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/WebBeansNavigationOptions.java +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation; - -import java.awt.Dimension; -import java.awt.Rectangle; -import java.awt.Toolkit; -import java.util.prefs.Preferences; - -import org.openide.util.NbPreferences; - - -/** - * @author ads - * - */ -final class WebBeansNavigationOptions { - - private static final String PROP_caseSensitive = "caseSensitive"; // NOI18N - private static final String PROP_showFQN = "showFQN"; // NOI18N - private static final String PROP_lastBoundsX = "lastBoundsX"; // NOI18N - private static final String PROP_lastBoundsY = "lastBoundsY"; // NOI18N - private static final String PROP_lastBoundsWidth = "lastBoundsWidth"; // NOI18N - private static final String PROP_lastBoundsHeight = "lastBoundsHeight";// NOI18N - private static final String PROP_hierarchyDividerLocation = - "hierarchyDividerLocation"; // NOI18N - - private static final Preferences getPreferences() { - return NbPreferences.forModule(WebBeansNavigationOptions.class); - } - - static boolean isCaseSensitive() { - return getPreferences().getBoolean(PROP_caseSensitive, myCaseSensitive); - } - - static boolean isShowFQN() { - return getPreferences().getBoolean(PROP_showFQN, myShowFQN); - } - - static void setCaseSensitive( boolean selected ) { - getPreferences().putBoolean(PROP_caseSensitive, myCaseSensitive); - } - - static void setShowFQN( boolean selected ) { - getPreferences().putBoolean(PROP_showFQN, selected); - } - - static void setLastBounds( Rectangle bounds ) { - if (bounds != null) { - getPreferences().putInt(PROP_lastBoundsX, bounds.x); - getPreferences().putInt(PROP_lastBoundsY, bounds.y); - getPreferences().putInt(PROP_lastBoundsWidth, bounds.width); - getPreferences().putInt(PROP_lastBoundsHeight, bounds.height); - } - } - - static int getHierarchyDividerLocation() { - return getPreferences().getInt(PROP_hierarchyDividerLocation, - myHierarchyDividerLocation); - } - - static void setHierarchyDividerLocation(int hierarchyDividerLocation) { - getPreferences().putInt(PROP_hierarchyDividerLocation, - hierarchyDividerLocation); - } - - static Rectangle getLastBounds() { - int x = getPreferences().getInt(PROP_lastBoundsX, myLastBounds.x); - int y = getPreferences().getInt(PROP_lastBoundsY, myLastBounds.y); - int width = getPreferences().getInt(PROP_lastBoundsWidth, myLastBounds.width); - int height = getPreferences().getInt(PROP_lastBoundsHeight, myLastBounds.height); - - return new Rectangle(x, y, width, height); - } - - private static boolean myCaseSensitive = false; - - private static int myHierarchyDividerLocation = 350; - - private static boolean myShowFQN = false; - - private static Rectangle myLastBounds; - - static - { - Dimension dimensions = Toolkit.getDefaultToolkit().getScreenSize(); - myLastBounds = new Rectangle(((dimensions.width / 2) - 410), - ((dimensions.height / 2) - 300), 820, 600); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractCdiAction.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractCdiAction.java deleted file mode 100644 index 8e54775c8c35..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractCdiAction.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.awt.Toolkit; -import java.awt.event.ActionEvent; -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.swing.text.JTextComponent; - -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.modules.editor.NbEditorUtilities; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.MetaModelSupport; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -abstract class AbstractCdiAction extends AbstractWebBeansAction { - - private static final long serialVersionUID = -2083083648443423425L; - - AbstractCdiAction( String name ) { - super(name); - } - - /* (non-Javadoc) - * @see org.netbeans.editor.BaseAction#actionPerformed(java.awt.event.ActionEvent, javax.swing.text.JTextComponent) - */ - @Override - public void actionPerformed( ActionEvent event, final JTextComponent component ) { - if ( component == null ){ - Toolkit.getDefaultToolkit().beep(); - return; - } - final FileObject fileObject = NbEditorUtilities.getFileObject( - component.getDocument()); - if ( fileObject == null ){ - Toolkit.getDefaultToolkit().beep(); - return; - } - Project project = FileOwnerQuery.getOwner( fileObject ); - if ( project == null ){ - Toolkit.getDefaultToolkit().beep(); - return; - } - - handleProject( project , event ); - - MetaModelSupport support = new MetaModelSupport(project); - final MetadataModel metaModel = support.getMetaModel(); - if ( metaModel == null ){ - Toolkit.getDefaultToolkit().beep(); - return; - } - - /* - * this list will contain variable element name and TypeElement - * qualified name which contains variable element. - */ - final Object[] context = new Object[3]; - if ( !findContext(component, context) ){ - return; - } - - try { - metaModel.runReadAction( new MetadataModelAction() { - - @Override - public Void run( WebBeansModel model ) throws Exception { - modelAcessAction(model, metaModel, context, component, - fileObject); - return null; - } - }); - } - catch (MetadataModelException e) { - Logger.getLogger( AbstractInjectableAction.class.getName()). - log( Level.INFO, e.getMessage(), e); - } - catch (IOException e) { - Logger.getLogger( AbstractInjectableAction.class.getName()). - log( Level.WARNING, e.getMessage(), e); - } - } - - protected void handleProject( Project project , ActionEvent event ) { - } - - protected abstract boolean findContext(final JTextComponent component , - Object[] context); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractInjectableAction.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractInjectableAction.java deleted file mode 100644 index 8d0abdfbe15b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractInjectableAction.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import javax.swing.text.JTextComponent; - - -/** - * @author ads - * - */ -abstract class AbstractInjectableAction extends AbstractCdiAction { - - private static final long serialVersionUID = 6150283611609922936L; - - AbstractInjectableAction(String name ){ - super( name ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractCdiAction#findContext(javax.swing.text.JTextComponent, java.lang.Object[]) - */ - @Override - protected boolean findContext( JTextComponent component, Object[] context ) - { - return WebBeansActionHelper.getVariableElementAtDot( component, - context , true ); - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractWebBeansAction.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractWebBeansAction.java deleted file mode 100644 index 52dfd80387b3..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/AbstractWebBeansAction.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import javax.swing.text.JTextComponent; - -import org.netbeans.editor.BaseAction; -import org.netbeans.editor.ext.ExtKit; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -abstract class AbstractWebBeansAction extends BaseAction { - - private static final long serialVersionUID = -6226167569468730445L; - - AbstractWebBeansAction(String name ){ - super( name , 0 ); - - putValue(ACTION_COMMAND_KEY, getActionCommand()); - putValue(SHORT_DESCRIPTION, getValue(NAME)); - putValue(ExtKit.TRIMMED_TEXT,getValue(NAME)); - putValue(POPUP_MENU_TEXT, NbBundle.getMessage( - AbstractWebBeansAction.class, - getPopupMenuKey())); - - putValue("noIconInMenu", Boolean.TRUE); // NOI18N - } - - - /* (non-Javadoc) - * @see javax.swing.AbstractAction#isEnabled() - */ - @Override - public boolean isEnabled() { - return WebBeansActionHelper.isEnabled(); - } - - /* (non-Javadoc) - * @see org.netbeans.editor.BaseAction#asynchonous() - */ - @Override - protected boolean asynchonous() { - return true; - } - - protected abstract void modelAcessAction( WebBeansModel model, - MetadataModel metaModel, - Object[] subject, JTextComponent component , - FileObject fileObject); - - protected abstract String getActionCommand(); - - protected abstract String getPopupMenuKey(); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/Bundle.properties deleted file mode 100644 index b00e8e3c7b84..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/Bundle.properties +++ /dev/null @@ -1,75 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -inspect-cdi-at-caret=CDI -inspect-cdi-at-caret-popup=Inspect CDI -#inspect-observers-at-caret=Ob&servers -#inspect-observers-at-caret-popup=Inspect Observers - -go-to-injactable-at-caret=Injectable -go-to-injactable-at-caret-popup=Go to Injectable - -go-to-decorator-at-caret=Decorator -go-to-decorator-at-caret-popup=Go to Decorator - -#go-to-observer-at-caret=&Observers -#go-to-observer-at-caret-popup=Go to Observers - -#inspect-events-at-caret=E&vents -#inspect-events-at-caret-popup=Inspect Event Declarations - -LBL_ChooseInjectable=Choose element eligible for injection - -LBL_VariableNotFound=Could not find "{0}" element. -LBL_InjectableNotFound=There is no element eligible for injection. -TITLE_Injectables=Ambiguous dependency for "{0}" injection point - -LBL_ElementNotFound=No Java element found on caret position. -LBL_NotVariableElement=Injection point should be a variable element. -LBL_MethodNotFound=Method "{0}" for injection point parameter "{1}" not found. -LBL_NotInjectionPoint=Chosen element is not an injection point. - -LBL_NotEventInjectionPoint=Chosen element is not an event injection point. -LBL_ObserversNotFound=No event observers found for event at caret position. -LBL_ChooseObserver=Choose resolved observer method for given event. -TITLE_Observers=Observers for "{0}" event field. - -LBL_NotObserverContext=Chosen element does not observe any event. -LBL_NotDecorator=No injection context available: chosen type element is declared as \ -as decorator but has no delegate injection point. - -TITLE_Events=Event injection points for "{0}" observer method -TITLE_Interceptors=Interceptors for chosen "{0}" element - -LBL_NoCdiContext=No CDI context available - -TITLE_Decorators=Decorators for chosen "{0}" element - -LBL_NotTypeElement=Chosen element is not type element declaration. -LBL_DecoratorsNotFound=Could not find appropriate decorators. -LBL_EnabledDecoratorsNotFound=Could not find enabled decorators. - -LBL_ChooseDecorator=Choose decorator - -TXT_GlyphActionName=CDI Annotation - -USG_CDI_INSPECT_CDI=Called Inspect CDI editor action via popup menu for project "{0}". -USG_CDI_GO_TO_INJECTABLE=Called Go To Injectable editor action via popup menu for project "{0}". -USG_CDI_GO_TO_DECORATOR=Called Go To Injectable editor action via popup menu for project "{0}". -USG_CDI_INSPECT_CDI_GLYPH=Called Inspect CDI editor action via glyph gutter action for project "{0}". -USG_CDI_GO_TO_INJECTABLE_GLYPH=Called Go To Injectable editor action via glyph gutter action for project "{0}". -USG_CDI_GO_TO_DECORATOR_GLYPH=Called Go To Injectable editor action via glyph gutter action for project "{0}". \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/CdiGlyphAction.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/CdiGlyphAction.java deleted file mode 100644 index b752ddcc3444..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/CdiGlyphAction.java +++ /dev/null @@ -1,292 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.awt.event.ActionEvent; -import java.util.List; - -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.text.Document; -import javax.swing.text.JTextComponent; - -import org.netbeans.editor.AnnotationDesc; -import org.netbeans.editor.Annotations; -import org.netbeans.editor.BaseDocument; -import org.netbeans.editor.ImplementationProvider; -import org.netbeans.editor.Utilities; -import org.netbeans.modules.editor.NbEditorUtilities; -import org.netbeans.modules.jakarta.web.beans.hints.CDIAnnotation; -import org.netbeans.modules.jakarta.web.beans.hints.CDIAnnotation.CDIAnnotaitonType; -import org.netbeans.modules.jakarta.web.beans.hints.EditorAnnotationsHelper; -import org.openide.filesystems.FileObject; -import org.openide.loaders.DataObject; -import org.openide.text.Line; -import org.openide.util.NbBundle; - - - -/** - * @author ads - * - */ -public class CdiGlyphAction extends AbstractAction { - - public CdiGlyphAction(){ - putValue(NAME, NbBundle.getMessage(CdiGlyphAction.class, "TXT_GlyphActionName")); // NOI18N - putValue("supported-annotation-types", new String[] { - "org-netbeans-modules-jakarta-web-beans-annotations-injection-point", - "org-netbeans-modules-jakarta-web-beans-annotations-delegate-point", - "org-netbeans-modules-jakarta-web-beans-annotations-decorated-bean", - "org-netbeans-modules-jakarta-web-beans-annotations-event", - "org-netbeans-modules-jakarta-web-beans-annotations-observer", - "org-netbeans-modules-editor-annotations-intercepted" - }); - - } - - /* (non-Javadoc) - * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) - */ - @Override - public void actionPerformed( ActionEvent event ) { - JTextComponent comp = (JTextComponent) event.getSource(); - if (!performCdiAction(comp)) { - Action actions[] = ImplementationProvider.getDefault(). - getGlyphGutterActions(comp); - - if (actions == null) - return ; - - int nextIndex = 0; - - while (nextIndex < actions.length && actions[nextIndex] != this) { - nextIndex++; - } - - nextIndex++; - - if (actions.length > nextIndex) { - Action action = actions[nextIndex]; - if (action!=null && action.isEnabled()){ - action.actionPerformed(event); - } - } - } - } - - private boolean performCdiAction( final JTextComponent comp ) { - final Document document = comp.getDocument(); - if ( document instanceof BaseDocument ){ - final Object values[] = new Object[2]; - document.render( new Runnable() { - - @Override - public void run() { - int dot = comp.getCaret().getDot(); - Annotations annotations = ((BaseDocument) document).getAnnotations(); - Line line = NbEditorUtilities.getLine(document, dot, false); - if (line == null) { - return ; - } - int lineNumber = line.getLineNumber(); - AnnotationDesc desc = annotations.getActiveAnnotation(lineNumber); - values[0] = lineNumber; - values[1] = desc; - } - }); - - if ( values[0] == null || values[1] == null ){ - return false; - } - int lineNumber = (Integer) values[0]; - AnnotationDesc desc = (AnnotationDesc)values[1]; - String annotationType = desc.getAnnotationType(); - EditorAnnotationsHelper helper = EditorAnnotationsHelper. - getInstance( getFile(comp)); - if ( helper == null ){ - return false; - } - List cdiAnnotations = helper.getAnnotations(); - for (CDIAnnotation cdiAnnotation : cdiAnnotations) { - String cdiAnnotationType = cdiAnnotation.getAnnotationType(); - if ( cdiAnnotationType.equals( annotationType)){ - Line cdiLine = cdiAnnotation.getPart().getLine(); - if ( cdiLine.getLineNumber() == lineNumber ){ - int length = cdiAnnotation.getPart().getLength(); - if ( length == desc.getLength() ){ - doAction( comp , annotationType, cdiAnnotation.getPart(), - (BaseDocument)document); - return true; - } - } - } - } - } - return false; - } - - - private void doAction( JTextComponent comp , String annotationType , - final Line.Part part , BaseDocument doc ) - { - if ( annotationType.equals( CDIAnnotation.CDIAnnotaitonType. - INJECTION_POINT.toString()) || annotationType.equals( - CDIAnnotation.CDIAnnotaitonType.DELEGATE_POINT.toString())) - { - final AnnotationPositionStrategy strategy = - new AnnotationPositionStrategy(part, doc); - GoToInjectableAtCaretAction action = new GoToInjectableAtCaretAction(){ - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractInjectableAction#findContext(javax.swing.text.JTextComponent, java.lang.Object[]) - */ - @Override - protected boolean findContext( JTextComponent component, - Object[] context ) - { - return WebBeansActionHelper.getVariableElementAtDot( component, - context , true , strategy ); - } - }; - action.actionPerformed(null, comp); - - } - else if ( annotationType.equals( CDIAnnotaitonType.EVENT.toString() )){ - final AnnotationPositionStrategy strategy = - new AnnotationPositionStrategy(part, doc); - InspectCDIAtCaretAction action = new InspectCDIAtCaretAction(){ - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.InspectCDIAtCaretAction#findContext(javax.swing.text.JTextComponent, java.lang.Object[]) - */ - @Override - protected boolean findContext( JTextComponent component, - Object[] subject ) - { - return WebBeansActionHelper.getVariableElementAtDot( component, - subject , false , strategy) || WebBeansActionHelper. - getContextEventInjectionAtDot( component, subject , strategy ); - } - }; - - action.actionPerformed(null, comp); - } - else if ( annotationType.equals( CDIAnnotaitonType.OBSERVER.toString() )){ - final AnnotationPositionStrategy strategy = - new AnnotationPositionStrategy(part, doc); - InspectCDIAtCaretAction action = new InspectCDIAtCaretAction(){ - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.InspectCDIAtCaretAction#findContext(javax.swing.text.JTextComponent, java.lang.Object[]) - */ - @Override - protected boolean findContext( JTextComponent component, - Object[] subject ) - { - return WebBeansActionHelper.getMethodAtDot(component, - subject, strategy ); - } - }; - - action.actionPerformed(null, comp); - } - else if ( annotationType.equals( CDIAnnotaitonType.INTERCEPTED_ELEMENT.toString() )){ - final AnnotationPositionStrategy strategy = - new AnnotationPositionStrategy(part, doc); - InspectCDIAtCaretAction action = new InspectCDIAtCaretAction(){ - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.InspectCDIAtCaretAction#findContext(javax.swing.text.JTextComponent, java.lang.Object[]) - */ - @Override - protected boolean findContext( JTextComponent component, - Object[] subject ) - { - return WebBeansActionHelper.getMethodAtDot(component, - subject, strategy ) || WebBeansActionHelper. - getClassAtDot(component, subject, strategy); - } - }; - - action.actionPerformed(null, comp); - } - else if ( annotationType.equals( CDIAnnotaitonType.DECORATED_BEAN.toString() )){ - final AnnotationPositionStrategy strategy = - new AnnotationPositionStrategy(part, doc); - GoToDecoratorAtCaretAction action = new GoToDecoratorAtCaretAction(){ - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.InspectCDIAtCaretAction#findContext(javax.swing.text.JTextComponent, java.lang.Object[]) - */ - @Override - protected boolean findContext( JTextComponent component, - Object[] subject ) - { - return WebBeansActionHelper. - getClassAtDot(component, subject, strategy); - } - }; - - action.actionPerformed(null, comp); - } - } - - private FileObject getFile(JTextComponent component) { - Document doc = component.getDocument(); - DataObject od = (DataObject) doc.getProperty(Document.StreamDescriptionProperty); - - if (od == null) { - return null; - } - - return od.getPrimaryFile(); - } - - private static class AnnotationPositionStrategy implements - PositionStrategy, Runnable - { - - AnnotationPositionStrategy(Line.Part part, BaseDocument doc ){ - myPart = part; - myDocument = doc; - } - - /* (non-Javadoc) - * @see java.lang.Runnable#run() - */ - @Override - public void run() { - Line line = myPart.getLine(); - int startOffset = Utilities.getRowStartFromLineOffset(myDocument, - line.getLineNumber()); - myOffset = startOffset+myPart.getColumn(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.PositionStrategy#getOffset(javax.swing.text.JTextComponent) - */ - @Override - public int getOffset( JTextComponent component ) { - Document document = component.getDocument(); - document.render( this ); - return myOffset; - } - - private Line.Part myPart; - private BaseDocument myDocument; - private int myOffset; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/DecoratoresActionStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/DecoratoresActionStrategy.java deleted file mode 100644 index 421299450f43..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/DecoratoresActionStrategy.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.util.Collection; -import java.util.List; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.swing.SwingUtilities; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.DecoratorsModel; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public final class DecoratoresActionStrategy implements ModelActionStrategy { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId) - */ - @Override - public boolean isApplicable( InspectActionId id ) { - return id == InspectActionId.CLASS_CONTEXT; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.lang.Object[]) - */ - @Override - public boolean isApplicable( WebBeansModel model, Object[] context ) { - final Object handle = context[0]; - if ( handle == null ){ - return false; - } - Element element = ((ElementHandle)handle).resolve( - model.getCompilationController()); - if ( element == null ){ - return false; - } - List qualifiers = model.getQualifiers(element, true); - // if class has qualifiers then Class context is considered as decorator context - if ( qualifiers.size() >0 ){ - return true; - } - /* - * If it doesn't have explicit qualifiers then it could have implicit @Default - * qualifier . In the latter case check Interceptor Bindings presence - */ - return model.getInterceptorBindings(element).isEmpty(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#invokeModelAction(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.j2ee.metadata.model.api.MetadataModel, java.lang.Object[], javax.swing.text.JTextComponent, org.openide.filesystems.FileObject) - */ - @Override - public void invokeModelAction( WebBeansModel model, - final MetadataModel metaModel, final Object[] subject, - JTextComponent component, FileObject fileObject ) - { - final Object handle = subject[0]; - Element element = ((ElementHandle)handle).resolve( - model.getCompilationController()); - if ( !( element instanceof TypeElement) ){ - return; - } - TypeElement type = (TypeElement)element; - CompilationController controller = model.getCompilationController(); - Collection decorators = model.getDecorators(type); - BeansModel beansModel = model.getModelImplementation().getBeansModel(); - final DecoratorsModel uiModel = new DecoratorsModel(decorators, - beansModel, controller, metaModel); - final String name = type.getSimpleName().toString(); - if (SwingUtilities.isEventDispatchThread()) { - WebBeansActionHelper.showDecoratorsDialog( metaModel, model, - subject , uiModel , name ); - } - else { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - WebBeansActionHelper.showDecoratorsDialog(metaModel, null , - subject ,uiModel , name ); - } - }); - } - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/EventsActionStartegy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/EventsActionStartegy.java deleted file mode 100644 index 96130da40900..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/EventsActionStartegy.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.util.List; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.VariableElement; -import javax.swing.SwingUtilities; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.EventsModel; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -final class EventsActionStartegy implements ModelActionStrategy { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId) - */ - @Override - public boolean isApplicable( InspectActionId id ) { - return id == InspectActionId.METHOD_CONTEXT || id == InspectActionId.INJECTABLES_CONTEXT; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.lang.Object[]) - */ - @Override - public boolean isApplicable( WebBeansModel model, Object context[] ) { - final Object handle = context[0]; - if ( handle == null ){ - return false; - } - Element element = ((ElementHandle)handle).resolve( - model.getCompilationController()); - ExecutableElement method = null; - if ( element instanceof ExecutableElement ){ - method = (ExecutableElement)element; - } - else { - return false; - } - if ( context[2] == InspectActionId.METHOD_CONTEXT && - model.getObserverParameter( method ) == null ) - { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToInjectableAtCaretAction.class, - "LBL_NotObserverContext"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return false; - } - return true; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#invokeModelAction(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.j2ee.metadata.model.api.MetadataModel, java.lang.Object[], javax.swing.text.JTextComponent, org.openide.filesystems.FileObject) - */ - @Override - public void invokeModelAction( final WebBeansModel model, - final MetadataModel metaModel, final Object[] subject, - JTextComponent component, FileObject fileObject ) - { - final Object handle = subject[0]; - Element element = ((ElementHandle)handle).resolve( - model.getCompilationController()); - ExecutableElement method = (ExecutableElement)element; - if ( element == null || model.getObserverParameter( method ) == null ){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(EventsActionStartegy.class, - "LBL_NotObserverContext"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return; - } - List eventInjectionPoints = model.getEventInjectionPoints( - method , null ); - CompilationController controller = model - .getCompilationController(); - final EventsModel uiModel = new EventsModel(eventInjectionPoints, - controller, metaModel); - final String name = method.getSimpleName().toString(); - if (SwingUtilities.isEventDispatchThread()) { - WebBeansActionHelper.showEventsDialog( metaModel, model, - subject , uiModel , name ); - } - else { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - WebBeansActionHelper.showEventsDialog(metaModel, null , - subject ,uiModel , name ); - } - }); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/GoToDecoratorAtCaretAction.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/GoToDecoratorAtCaretAction.java deleted file mode 100644 index 9ecaaede9a49..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/GoToDecoratorAtCaretAction.java +++ /dev/null @@ -1,262 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.awt.Point; -import java.awt.Rectangle; -import java.awt.Toolkit; -import java.awt.event.ActionEvent; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.swing.SwingUtilities; -import javax.swing.text.BadLocationException; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.java.source.ClasspathInfo; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.api.java.source.Task; -import org.netbeans.api.java.source.JavaSource.Phase; -import org.netbeans.api.java.source.ui.ElementOpen; -import org.netbeans.api.project.Project; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.InjectablesModel; -import org.netbeans.modules.jakarta.web.beans.navigation.InjectablesPopup; -import org.netbeans.modules.jakarta.web.beans.navigation.PopupUtil; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.util.Exceptions; -import org.openide.util.NbBundle; - -import com.sun.source.util.TreePath; - - -/** - * @author ads - * - */ -public class GoToDecoratorAtCaretAction extends AbstractCdiAction { - - private static final long serialVersionUID = 6777839777383350958L; - - private static final String GOTO_DECORATOR_AT_CARET = - "go-to-decorator-at-caret"; // NOI18N - - private static final String GOTO_DECORATOR_AT_CARET_POPUP = - "go-to-decorator-at-caret-popup"; // NOI18N - - public GoToDecoratorAtCaretAction( ) { - super(NbBundle.getMessage(GoToInjectableAtCaretAction.class, - GOTO_DECORATOR_AT_CARET)); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractCdiAction#findContext(javax.swing.text.JTextComponent, java.lang.Object[]) - */ - @Override - protected boolean findContext( final JTextComponent component, - final Object[] context ) - { - JavaSource javaSource = JavaSource.forDocument(component.getDocument()); - if ( javaSource == null ){ - Toolkit.getDefaultToolkit().beep(); - return false; - } - try { - javaSource.runUserActionTask( new Task(){ - @Override - public void run(CompilationController controller) throws Exception { - controller.toPhase( Phase.ELEMENTS_RESOLVED ); - int dot = component.getCaret().getDot(); - TreePath tp = controller.getTreeUtilities().pathFor(dot); - Element contextElement = controller.getTrees().getElement(tp ); - if ( contextElement == null ){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_ElementNotFound")); - return; - } - context[0] = contextElement; - } - }, true ); - } - catch (IOException e) { - Logger.getLogger(GoToDecoratorAtCaretAction.class.getName()).log( - Level.INFO, e.getMessage(), e); - } - boolean result = context[0] instanceof TypeElement; - - if ( !result ){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToDecoratorAtCaretAction.class, - "LBL_NotTypeElement"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - } - else { - context[0] = ElementHandle.create( (TypeElement) context[0]); - } - - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#modelAcessAction(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.j2ee.metadata.model.api.MetadataModel, java.lang.Object[], javax.swing.text.JTextComponent, org.openide.filesystems.FileObject) - */ - @Override - protected void modelAcessAction( WebBeansModel model, - final MetadataModel metaModel, Object[] subject, - final JTextComponent component, FileObject fileObject ) - { - Element element = ((ElementHandle)subject[0]).resolve( - model.getCompilationController()); - if (element == null) { - return; - } - Collection decorators = model.getDecorators((TypeElement)element); - if (decorators.size() == 0) { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToDecoratorAtCaretAction.class, - "LBL_DecoratorsNotFound"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return; - } - - BeansModel beansModel = model.getModelImplementation().getBeansModel(); - final LinkedHashSet enabledDecorators = WebBeansActionHelper. - getEnabledDecorators(decorators, beansModel, null, - model.getCompilationController()); - if (enabledDecorators.size() == 0) { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToDecoratorAtCaretAction.class, - "LBL_EnabledDecoratorsNotFound"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return; - } - - if (enabledDecorators.size() == 1) { - final ElementHandle handle = ElementHandle - .create(enabledDecorators.iterator().next()); - final ClasspathInfo classpathInfo = model - .getCompilationController().getClasspathInfo(); - SwingUtilities.invokeLater(new Runnable() { - - @Override - public void run() { - ElementOpen.open(classpathInfo, handle); - } - }); - } - else { - final CompilationController controller = model - .getCompilationController(); - if (SwingUtilities.isEventDispatchThread()) { - showPopup(enabledDecorators, controller, metaModel, component); - } - else { - SwingUtilities.invokeLater(new Runnable() { - - @Override - public void run() { - showPopup(enabledDecorators, controller, metaModel, component); - } - }); - } - } - } - - private void showPopup( LinkedHashSet elements , CompilationController - controller, MetadataModel model ,JTextComponent target ) - { - List> handles = new ArrayList< - ElementHandle>(elements.size()); - for (TypeElement element : elements) { - handles.add( ElementHandle.create( element )); - } - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - InjectablesModel.class, "LBL_WaitNode")); - try { - Rectangle rectangle = target.modelToView(target.getCaret().getDot()); - Point point = new Point(rectangle.x, rectangle.y + rectangle.height); - SwingUtilities.convertPointToScreen(point, target); - - String title = NbBundle.getMessage( - GoToInjectableAtCaretAction.class, "LBL_ChooseDecorator"); - PopupUtil.showPopup(new InjectablesPopup(title, handles, controller), title, - point.x, point.y); - - } - catch (BadLocationException ex) { - Exceptions.printStackTrace(ex); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#getActionCommand() - */ - @Override - protected String getActionCommand() { - return GOTO_DECORATOR_AT_CARET; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#getPopupMenuKey() - */ - @Override - protected String getPopupMenuKey() { - return GOTO_DECORATOR_AT_CARET_POPUP; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractCdiAction#handleProject(org.netbeans.api.project.Project, java.awt.event.ActionEvent) - */ - @Override - protected void handleProject( Project project , ActionEvent event ) { - String msg = null; - if ( event == null ){ - msg = "USG_CDI_GO_TO_DECORATOR_GLYPH"; // NOI18N - } - else { - msg = "USG_CDI_GO_TO_DECORATOR"; // NOI18N - } - CdiUtil logger = project.getLookup().lookup(CdiUtil.class); - if (logger != null) { - logger.log(msg, - GoToDecoratorAtCaretAction.class, new Object[] { project - .getClass().getName() }); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/GoToInjectableAtCaretAction.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/GoToInjectableAtCaretAction.java deleted file mode 100644 index 6b7360c2ae6b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/GoToInjectableAtCaretAction.java +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.awt.Point; -import java.awt.Rectangle; -import java.awt.event.ActionEvent; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; - -import javax.lang.model.element.Element; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.swing.SwingUtilities; -import javax.swing.text.BadLocationException; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.java.source.ClasspathInfo; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.ui.ElementOpen; -import org.netbeans.api.project.Project; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.InjectablesModel; -import org.netbeans.modules.jakarta.web.beans.navigation.InjectablesPopup; -import org.netbeans.modules.jakarta.web.beans.navigation.PopupUtil; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.util.Exceptions; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class GoToInjectableAtCaretAction extends AbstractInjectableAction { - - private static final long serialVersionUID = -6998124281864635094L; - - private static final String GOTO_INJACTABLE_AT_CARET = - "go-to-injactable-at-caret"; // NOI18N - - private static final String GOTO_INJACTABLE_AT_CARET_POPUP = - "go-to-injactable-at-caret-popup"; // NOI18N - - public GoToInjectableAtCaretAction() { - super(NbBundle.getMessage(GoToInjectableAtCaretAction.class, - GOTO_INJACTABLE_AT_CARET)); - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#getActionCommand() - */ - @Override - protected String getActionCommand() { - return GOTO_INJACTABLE_AT_CARET; - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#getPopupMenuKey() - */ - @Override - protected String getPopupMenuKey() { - return GOTO_INJACTABLE_AT_CARET_POPUP; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#modelAcessAction(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.j2ee.metadata.model.api.MetadataModel, java.lang.Object[], javax.swing.text.JTextComponent, org.openide.filesystems.FileObject) - */ - /** - * Variable element is resolved based on containing type element - * qualified name and simple name of variable itself. - * Model methods are used further for injectable resolution. - */ - @Override - protected void modelAcessAction( WebBeansModel model, - final MetadataModel metaModel, Object[] variable, - final JTextComponent component, FileObject fileObject ) - { - VariableElement var = WebBeansActionHelper.findVariable(model, variable); - if (var == null) { - return; - } - try { - if ( !model.isInjectionPoint(var) ){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToInjectableAtCaretAction.class, - "LBL_NotInjectionPoint"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return; - } - } - catch (InjectionPointDefinitionError e) { - StatusDisplayer.getDefault().setStatusText(e.getMessage(), - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - } - final DependencyInjectionResult result = model.lookupInjectables(var, null, new AtomicBoolean(false)); - if (result == null) { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToInjectableAtCaretAction.class, - "LBL_InjectableNotFound"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return; - } - if (result instanceof DependencyInjectionResult.Error) { - StatusDisplayer.getDefault().setStatusText( - ((DependencyInjectionResult.Error) result).getMessage(), - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - } - if (result.getKind() == DependencyInjectionResult.ResultKind.DEFINITION_ERROR) { - return; - } - if (result.getKind() == DependencyInjectionResult.ResultKind.INJECTABLE_RESOLVED) { - Element injectable = ((DependencyInjectionResult.InjectableResult) result) - .getElement(); - if(injectable != null) {//may be null for ee specific implemantations, which may not be present on classpath and may not have sources - final ElementHandle handle = ElementHandle - .create(injectable); - final ClasspathInfo classpathInfo = model - .getCompilationController().getClasspathInfo(); - SwingUtilities.invokeLater(new Runnable() { - - @Override - public void run() { - ElementOpen.open(classpathInfo, handle); - } - }); - } - } - else if (result.getKind() == DependencyInjectionResult.ResultKind.RESOLUTION_ERROR) { - final CompilationController controller = model - .getCompilationController(); - if (SwingUtilities.isEventDispatchThread()) { - showPopup(result, controller, metaModel, component); - } - else { - SwingUtilities.invokeLater(new Runnable() { - - public void run() { - showPopup(result, controller, metaModel, component); - } - }); - } - } - } - - private void showPopup( DependencyInjectionResult result , CompilationController controller, - MetadataModel model ,JTextComponent target ) - { - if ( !(result instanceof DependencyInjectionResult.ApplicableResult)){ - return; - } - Set typeElements = ((DependencyInjectionResult.ApplicableResult)result).getTypeElements(); - Set productions = ((DependencyInjectionResult.ApplicableResult)result).getProductions(); - if ( typeElements.size() +productions.size() == 0 ){ - return; - } - List> handles = new ArrayList< - ElementHandle>(typeElements.size() +productions.size()); - for (Element element : typeElements) { - if ( !((DependencyInjectionResult.ApplicableResult)result).isDisabled(element)){ - handles.add( ElementHandle.create( element )); - } - } - for (Element element : productions) { - if ( !((DependencyInjectionResult.ApplicableResult)result).isDisabled(element)){ - handles.add( ElementHandle.create( element )); - } - } - if ( handles.size() == 0 ){ - return; - } - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - InjectablesModel.class, "LBL_WaitNode")); // NOI18N - try { - Rectangle rectangle = target.modelToView(target.getCaret().getDot()); - Point point = new Point(rectangle.x, rectangle.y + rectangle.height); - SwingUtilities.convertPointToScreen(point, target); - - String title = NbBundle.getMessage( - GoToInjectableAtCaretAction.class, "LBL_ChooseInjectable"); - PopupUtil.showPopup(new InjectablesPopup(title, handles, controller), title, - point.x, point.y); - - } - catch (BadLocationException ex) { - Exceptions.printStackTrace(ex); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractCdiAction#handleProject(org.netbeans.api.project.Project, java.awt.event.ActionEvent) - */ - @Override - protected void handleProject( Project project , ActionEvent event ) { - String msg = null; - if ( event == null ){ - msg = "USG_CDI_GO_TO_INJECTABLE_GLYPH"; // NOI18N - } - else { - msg = "USG_CDI_GO_TO_INJECTABLE"; // NOI18N - } - CdiUtil logger = project.getLookup().lookup(CdiUtil.class); - if (logger != null) { - logger.log(msg, - GoToInjectableAtCaretAction.class, new Object[] { project - .getClass().getName() }); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InjectablesActionStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InjectablesActionStrategy.java deleted file mode 100644 index 8b1ac2c5bab4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InjectablesActionStrategy.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.util.concurrent.atomic.AtomicBoolean; -import javax.lang.model.element.VariableElement; -import javax.swing.SwingUtilities; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.InjectionPointDefinitionError; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.InjectablesModel; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public final class InjectablesActionStrategy implements ModelActionStrategy { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId) - */ - @Override - public boolean isApplicable( InspectActionId id ) { - return id == InspectActionId.INJECTABLES_CONTEXT ; - } - - @Override - public boolean isApplicable( WebBeansModel model, Object context[] ) { - final VariableElement var = WebBeansActionHelper.findVariable(model, context); - if (var == null) { - return false; - } - try { - if ( model.isEventInjectionPoint(var)){ - return false; - } - if (!model.isInjectionPoint(var)) { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToInjectableAtCaretAction.class, - "LBL_NotInjectionPoint"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return false; - } - } - catch (InjectionPointDefinitionError e) { - StatusDisplayer.getDefault().setStatusText(e.getMessage(), - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - } - return true; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#invokeModelAction(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.j2ee.metadata.model.api.MetadataModel, java.lang.Object[], javax.swing.text.JTextComponent, org.openide.filesystems.FileObject) - */ - @Override - public void invokeModelAction( final WebBeansModel model, - final MetadataModel metaModel, final Object[] subject, - JTextComponent component, FileObject fileObject ) - { - final VariableElement var = WebBeansActionHelper.findVariable(model, - subject); - DependencyInjectionResult result = var== null? null: model.lookupInjectables(var, null, new AtomicBoolean(false)); - if (result == null) { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToInjectableAtCaretAction.class, - "LBL_InjectableNotFound"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return; - } - if (result instanceof DependencyInjectionResult.Error) { - StatusDisplayer.getDefault().setStatusText( - ((DependencyInjectionResult.Error) result).getMessage(), - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - } - if (result.getKind() == DependencyInjectionResult.ResultKind.DEFINITION_ERROR) { - return; - } - CompilationController controller = model - .getCompilationController(); - final InjectablesModel uiModel = new InjectablesModel(result, controller, - metaModel ); - final String name = var.getSimpleName().toString(); - final Result res = (result instanceof Result) ? (Result)result :null; - if (SwingUtilities.isEventDispatchThread()) { - WebBeansActionHelper.showInjectablesDialog(metaModel, model, - subject , uiModel , name , res ); - } - else { - SwingUtilities.invokeLater(new Runnable() { - - @Override - public void run() { - WebBeansActionHelper.showInjectablesDialog(metaModel, - null , subject ,uiModel , name , res); - } - }); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InspectCDIAtCaretAction.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InspectCDIAtCaretAction.java deleted file mode 100644 index adf2428f6f59..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InspectCDIAtCaretAction.java +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.awt.Toolkit; -import java.awt.event.ActionEvent; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.swing.text.JTextComponent; - -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.modules.editor.NbEditorUtilities; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.modules.jakarta.web.beans.MetaModelSupport; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -public class InspectCDIAtCaretAction extends AbstractWebBeansAction { - - private static final long serialVersionUID = -4505119467924502377L; - - private static final String INSPECT_CDI_AT_CARET = - "inspect-cdi-at-caret"; // NOI18N - - private static final String INSPECT_CDI_AT_CARET_POPUP = - "inspect-cdi-at-caret-popup"; // NOI18N - - public InspectCDIAtCaretAction( ) { - super(NbBundle.getMessage(InspectCDIAtCaretAction.class, - INSPECT_CDI_AT_CARET)); - myStrategies = new ArrayList( 4 ); - /* - * The order is important ! - * EventsActionStartegy should be after InjectablesActionStrategy - * because it cares about several action ids. - */ - myStrategies.add( new ObserversActionStrategy()); - myStrategies.add( new InjectablesActionStrategy()); - myStrategies.add( new DecoratoresActionStrategy()); - myStrategies.add( new InterceptorsActionStrategy()); - myStrategies.add( new EventsActionStartegy()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#modelAcessAction(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.j2ee.metadata.model.api.MetadataModel, java.lang.Object[], javax.swing.text.JTextComponent, org.openide.filesystems.FileObject) - */ - @Override - protected void modelAcessAction( WebBeansModel model, - MetadataModel metaModel, Object[] subject, - JTextComponent component, FileObject fileObject ) - { - InspectActionId id = (InspectActionId) subject[2]; - for( ModelActionStrategy strategy : myStrategies ){ - if ( strategy.isApplicable( id ) && strategy.isApplicable( model , - subject )) - { - strategy.invokeModelAction(model, metaModel, subject, - component, fileObject); - return; - } - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#getActionCommand() - */ - @Override - protected String getActionCommand() { - return INSPECT_CDI_AT_CARET; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.AbstractWebBeansAction#getPopupMenuKey() - */ - @Override - protected String getPopupMenuKey() { - return INSPECT_CDI_AT_CARET_POPUP; - } - - /* (non-Javadoc) - * @see org.netbeans.editor.BaseAction#actionPerformed(java.awt.event.ActionEvent, javax.swing.text.JTextComponent) - */ - @Override - public void actionPerformed( ActionEvent event, final JTextComponent component ) { - if ( component == null ){ - Toolkit.getDefaultToolkit().beep(); - return; - } - final FileObject fileObject = NbEditorUtilities.getFileObject( - component.getDocument()); - if ( fileObject == null ){ - Toolkit.getDefaultToolkit().beep(); - return; - } - Project project = FileOwnerQuery.getOwner( fileObject ); - if ( project == null ){ - Toolkit.getDefaultToolkit().beep(); - return; - } - - String msg = null; - if ( event == null ){ - msg ="USG_CDI_INSPECT_CDI_GLYPH"; // NOI18N - } - else { - msg = "USG_CDI_INSPECT_CDI"; // NOI18N - } - CdiUtil logger = project.getLookup().lookup(CdiUtil.class); - if (logger != null) { - logger.log(msg, - InspectCDIAtCaretAction.class, new Object[] { project - .getClass().getName() }); - } - - MetaModelSupport support = new MetaModelSupport(project); - final MetadataModel metaModel = support.getMetaModel(); - if ( metaModel == null ){ - Toolkit.getDefaultToolkit().beep(); - return; - } - - /* - * this list will contain variable element name and TypeElement - * qualified name which contains variable element. - */ - final Object[] subject = new Object[3]; - if ( !findContext(component, subject)){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage( - WebBeansActionHelper.class, "LBL_NoCdiContext")); - return; - } - try { - metaModel.runReadActionWhenReady( new MetadataModelAction() { - - @Override - public Void run( WebBeansModel model ) throws Exception { - modelAcessAction(model, metaModel, subject, component, - fileObject); - return null; - } - }); - } - catch (MetadataModelException e) { - Logger.getLogger( AbstractInjectableAction.class.getName()). - log( Level.INFO, e.getMessage(), e); - } - catch (IOException e) { - Logger.getLogger( AbstractInjectableAction.class.getName()). - log( Level.WARNING, e.getMessage(), e); - } - } - - protected boolean findContext( final JTextComponent component, - final Object[] subject ) - { - return WebBeansActionHelper.getVariableElementAtDot( component, - subject , false ) || WebBeansActionHelper. - getContextEventInjectionAtDot( component, subject ) || - WebBeansActionHelper.getMethodAtDot(component, subject) || - WebBeansActionHelper.getClassAtDot(component, subject); - } - - private List myStrategies; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InterceptorsActionStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InterceptorsActionStrategy.java deleted file mode 100644 index adfdf3931bee..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/InterceptorsActionStrategy.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.swing.SwingUtilities; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.InterceptorsModel; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public final class InterceptorsActionStrategy implements ModelActionStrategy { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId) - */ - @Override - public boolean isApplicable( InspectActionId id ) { - return id == InspectActionId.CLASS_CONTEXT|| id == InspectActionId.METHOD_CONTEXT; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.lang.Object[]) - */ - @Override - public boolean isApplicable( WebBeansModel model, Object[] context ) { - final Object handle = context[0]; - if ( handle == null ){ - return false; - } - Element element = ((ElementHandle)handle).resolve( - model.getCompilationController()); - if (context[2] == InspectActionId.METHOD_CONTEXT) { - if ( !( element instanceof ExecutableElement)) { - return false; - } - return model.getInterceptorBindings(element).size() >0 ; - } - // Now check all interceptor bindings for element - return true; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#invokeModelAction(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.j2ee.metadata.model.api.MetadataModel, java.lang.Object[], javax.swing.text.JTextComponent, org.openide.filesystems.FileObject) - */ - @Override - public void invokeModelAction( WebBeansModel model, - final MetadataModel metaModel, final Object[] subject, - JTextComponent component, FileObject fileObject ) - { - final Object handle = subject[0]; - Element element = ((ElementHandle)handle).resolve( - model.getCompilationController()); - if ( element == null ){ - return; - } - CompilationController controller = model.getCompilationController(); - final InterceptorsResult result = model.getInterceptors(element); - final InterceptorsModel uiModel = new InterceptorsModel( - result , controller, metaModel); - final String name = element.getSimpleName().toString(); - if (SwingUtilities.isEventDispatchThread()) { - WebBeansActionHelper.showInterceptorsDialog( metaModel, model, - subject , uiModel , name, result ); - } - else { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - WebBeansActionHelper.showInterceptorsDialog(metaModel, null , - subject ,uiModel , name , result); - } - }); - } - - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/ModelActionStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/ModelActionStrategy.java deleted file mode 100644 index b65f46c49d43..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/ModelActionStrategy.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import javax.swing.text.JTextComponent; - -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public interface ModelActionStrategy { - - public enum InspectActionId { - OBSERVERS_CONTEXT, - METHOD_CONTEXT, - INJECTABLES_CONTEXT, - CLASS_CONTEXT; - } - - boolean isApplicable( InspectActionId id ); - - boolean isApplicable( WebBeansModel model , Object[] context ); - - void invokeModelAction( WebBeansModel model, - MetadataModel metaModel, Object[] subject, - JTextComponent component, FileObject fileObject ); -} - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/ObserversActionStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/ObserversActionStrategy.java deleted file mode 100644 index e6ba8831d5b4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/ObserversActionStrategy.java +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import java.util.List; - -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.VariableElement; -import javax.swing.SwingUtilities; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.ObserversModel; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - - -/** - * @author ads - * - */ -final class ObserversActionStrategy implements ModelActionStrategy { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId) - */ - @Override - public boolean isApplicable( InspectActionId id ) { - return id == InspectActionId.INJECTABLES_CONTEXT || id == InspectActionId.OBSERVERS_CONTEXT; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#isApplicable(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, java.lang.Object[]) - */ - @Override - public boolean isApplicable( WebBeansModel model, Object context[] ) { - final VariableElement var = WebBeansActionHelper.findVariable(model,context); - if (var == null) { - return false; - } - if (context[2] == InspectActionId.OBSERVERS_CONTEXT && - !model.isEventInjectionPoint(var)) - { - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToInjectableAtCaretAction.class, - "LBL_NotEventInjectionPoint"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return false; - } - return model.isEventInjectionPoint(var); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy#invokeModelAction(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel, org.netbeans.modules.j2ee.metadata.model.api.MetadataModel, java.lang.Object[], javax.swing.text.JTextComponent, org.openide.filesystems.FileObject) - */ - @Override - public void invokeModelAction( final WebBeansModel model, - final MetadataModel metaModel, final Object[] subject, - JTextComponent component, FileObject fileObject ) - { - final VariableElement var = WebBeansActionHelper.findVariable(model, - subject); - final List observers = - var==null?null:model.getObservers( var , null ); - if ( var==null || observers.size() == 0 ){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage(GoToInjectableAtCaretAction.class, - "LBL_ObserversNotFound"), // NOI18N - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT); - return; - } - final CompilationController controller = model.getCompilationController(); - final ObserversModel uiModel = new ObserversModel(observers,controller, - metaModel); - final String name = var.getSimpleName().toString(); - if (SwingUtilities.isEventDispatchThread()) { - WebBeansActionHelper.showObserversDialog(observers, metaModel , - model , subject, uiModel ,name ); - } - else { - SwingUtilities.invokeLater(new Runnable() { - public void run() { - WebBeansActionHelper.showObserversDialog(observers, - metaModel, null , subject, uiModel , name ); - } - }); - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/PositionStrategy.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/PositionStrategy.java deleted file mode 100644 index 3ae8b59f55d8..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/PositionStrategy.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - -import javax.swing.text.JTextComponent; - - -/** - * @author ads - * - */ -public interface PositionStrategy { - - int getOffset( JTextComponent component ); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/WebBeansActionHelper.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/WebBeansActionHelper.java deleted file mode 100644 index cfaa3f5ec6e0..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/navigation/actions/WebBeansActionHelper.java +++ /dev/null @@ -1,778 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.navigation.actions; - - -import java.awt.Toolkit; -import java.io.IOException; -import java.util.Collection; -import java.util.Collections; -import java.util.EnumSet; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import java.util.logging.Level; -import java.util.logging.Logger; - -import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.Name; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.util.ElementFilter; -import javax.swing.JDialog; -import javax.swing.text.Document; -import javax.swing.text.JTextComponent; - -import org.netbeans.api.editor.EditorRegistry; -import org.netbeans.api.j2ee.core.Profile; -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.java.lexer.JavaTokenId; -import org.netbeans.api.java.project.JavaProjectConstants; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.api.java.source.JavaSource.Phase; -import org.netbeans.api.java.source.SourceUtils; -import org.netbeans.api.java.source.Task; -import org.netbeans.api.lexer.Token; -import org.netbeans.api.lexer.TokenHierarchy; -import org.netbeans.api.lexer.TokenSequence; -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.api.project.ProjectUtils; -import org.netbeans.api.project.SourceGroup; -import org.netbeans.api.project.ui.OpenProjects; -import org.netbeans.modules.editor.NbEditorUtilities; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.parsing.api.ParserManager; -import org.netbeans.modules.parsing.api.ResultIterator; -import org.netbeans.modules.parsing.api.Source; -import org.netbeans.modules.parsing.api.UserTask; -import org.netbeans.modules.parsing.spi.ParseException; -import org.netbeans.modules.parsing.spi.Parser.Result; -import org.netbeans.modules.web.api.webmodule.WebModule; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.navigation.BindingsPanel; -import org.netbeans.modules.jakarta.web.beans.navigation.DecoratorsModel; -import org.netbeans.modules.jakarta.web.beans.navigation.DecoratorsPanel; -import org.netbeans.modules.jakarta.web.beans.navigation.EventsModel; -import org.netbeans.modules.jakarta.web.beans.navigation.EventsPanel; -import org.netbeans.modules.jakarta.web.beans.navigation.InjectablesModel; -import org.netbeans.modules.jakarta.web.beans.navigation.InterceptorsModel; -import org.netbeans.modules.jakarta.web.beans.navigation.InterceptorsPanel; -import org.netbeans.modules.jakarta.web.beans.navigation.ObserversModel; -import org.netbeans.modules.jakarta.web.beans.navigation.ObserversPanel; -import org.netbeans.modules.jakarta.web.beans.navigation.ResizablePopup; -import org.netbeans.modules.jakarta.web.beans.navigation.actions.ModelActionStrategy.InspectActionId; -import org.openide.awt.StatusDisplayer; -import org.openide.filesystems.FileObject; -import org.openide.util.NbBundle; - -import com.sun.source.tree.ExpressionTree; -import com.sun.source.tree.MemberSelectTree; -import com.sun.source.tree.MethodInvocationTree; -import com.sun.source.tree.Scope; -import com.sun.source.tree.Tree; -import com.sun.source.tree.Tree.Kind; -import com.sun.source.util.TreePath; - -/** - * @author ads - * - */ -public class WebBeansActionHelper { - - private static final String WAIT_NODE = "LBL_WaitNode"; // NOI18N - - static final String DELEGATE = "jakarta.decorator.Delegate"; // NOI18N - - static final String DECORATOR = "jakarta.decorator.Decorator";// NOI18N - - static final String FIRE = "fire"; // NOI18N - - static final String EVENT_INTERFACE = - "jakarta.enterprise.event.Event"; // NOI18N - - static final String OBSERVES_ANNOTATION = - "jakarta.enterprise.event.Observes"; // NOI18N - - private static final Set USABLE_TOKEN_IDS = - EnumSet.of(JavaTokenId.IDENTIFIER, JavaTokenId.THIS, JavaTokenId.SUPER); - - private static final PositionStrategy CARET_POSITION_STRATEGY = new PositionStrategy() { - - @Override - public int getOffset( JTextComponent component ) { - return component.getCaret().getDot(); - } - }; - - private WebBeansActionHelper(){ - } - - public static boolean isEnabled() { - JTextComponent c = EditorRegistry.lastFocusedComponent(); - if (c == null || !c.isShowing()) - { - return false; - } - if ( OpenProjects.getDefault().getOpenProjects().length == 0 ){ - return false; - } - final FileObject fileObject = NbEditorUtilities.getFileObject(c.getDocument()); - return isEnabled( fileObject ); - /*WebModule webModule = WebModule.getWebModule(fileObject); - if ( webModule == null ){ - return false; - } - Profile profile = webModule.getJ2eeProfile(); - return Profile.JAVA_EE_6_WEB.equals( profile) || - Profile.JAVA_EE_6_FULL.equals( profile );*/ - } - - public static boolean isEnabled(FileObject fileObject){ - if ( fileObject == null ){ - return false; - } - Project project = FileOwnerQuery.getOwner( fileObject ); - if ( project == null ){ - return false; - } - boolean hasJsr330 = hasJsr330(project); - if ( !hasJsr330 ){ - return false; - } - if ( !hasJsr299(project) ){ - return false; - } - return true; - } - - public static boolean hasJsr330( Project project ){ - SourceGroup[] sourceGroups = ProjectUtils.getSources(project). - getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); - if (sourceGroups.length == 0) { - return false; - } - boolean hasInject = false; - boolean hasQualifier = false; - for (SourceGroup sourceGroup : sourceGroups) { - boolean injectFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.INJECT_FQN) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.INJECT_FQN); - if ( injectFound ){ - hasInject = true; - } - boolean qualifierFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.QUALIFIER_FQN) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.QUALIFIER_FQN); - if ( qualifierFound ){ - hasQualifier = true; - } - } - - return hasInject && hasQualifier; - } - - public static boolean hasJsr299( Project project ){ - SourceGroup[] sourceGroups = ProjectUtils.getSources(project). - getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); - if (sourceGroups.length == 0) { - return false; - } - boolean hasDefault = false; - boolean hasProduces = false; - boolean hasDependent = false; - for (SourceGroup sourceGroup : sourceGroups) { - boolean defaultFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.DEFAULT_FQN) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.DEFAULT_FQN); - if ( defaultFound ){ - hasDefault = true; - } - boolean producesFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.PRODUCES_FQN) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.PRODUCES_FQN); - if ( producesFound ){ - hasProduces = true; - } - boolean dependentFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.DEPENDENT) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.DEPENDENT); - if ( dependentFound ){ - hasDependent = true; - } - } - - return hasDefault && hasProduces && hasDependent; - } - - static boolean hasResource(SourceGroup group , String classPathType, String fqn){ - ClassPath classPath = ClassPath.getClassPath(group.getRootFolder(), classPathType); - String path = fqn.replace('.', '/'); - if ( ClassPath.SOURCE.equals( classPathType ) ){ - path = path+".java"; // NOI18N - } - else { - path = path+".class"; // NOI18N - } - if (classPath == null) { - return false; - } - - return classPath.findResource(path) != null; - } - - /** - * Compilation controller from metamodel could not be used for getting - * TreePath via dot because it is not based on one FileObject ( Document ). - * So this method is required for searching Element at dot. - * If appropriate element is found it's name is placed into list - * along with name of containing type. - * Resulted element could not be used in metamodel for injectable - * access. This is because element was gotten via other Compilation - * controller so it is from other model. - */ - static boolean getVariableElementAtDot( final JTextComponent component, - final Object[] variable , final boolean showStatusOnError) - { - return getVariableElementAtDot(component, variable, showStatusOnError, - CARET_POSITION_STRATEGY); - } - - /** - * Compilation controller from metamodel could not be used for getting - * TreePath via dot because it is not based on one FileObject ( Document ). - * So this method is required for searching Element at dot. - * If appropriate element is found it's name is placed into list - * along with name of containing type. - * Resulted element could not be used in metamodel for injectable - * access. This is because element was gotten via other Compilation - * controller so it is from other model. - */ - static boolean getVariableElementAtDot( final JTextComponent component, - final Object[] variable , final boolean showStatusOnError, - final PositionStrategy strategy) - { - - JavaSource javaSource = JavaSource.forDocument(component.getDocument()); - if ( javaSource == null ){ - Toolkit.getDefaultToolkit().beep(); - return false; - } - try { - javaSource.runUserActionTask( new Task(){ - @Override - public void run(CompilationController controller) throws Exception { - controller.toPhase( Phase.ELEMENTS_RESOLVED ); - int dot = strategy.getOffset(component); - TreePath tp = controller.getTreeUtilities().pathFor(dot); - Element contextElement = controller.getTrees().getElement(tp ); - if ( contextElement == null ){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_ElementNotFound")); - return; - } - Element element = getContextElement(contextElement, controller); - if ( element == null ){ - return; - } - if ( !( element instanceof VariableElement) && showStatusOnError){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_NotVariableElement", - StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT)); - return; - } - else { - if ( element.getKind() == ElementKind.FIELD ){ - ElementHandle handle = - ElementHandle.create((VariableElement)element); - variable[0] = handle; - variable[1] = element.getSimpleName().toString(); - variable[2] = InspectActionId.INJECTABLES_CONTEXT; - } - else { - setVariablePath(variable, controller, element); - } - } - } - }, true ); - } - catch(IOException e ){ - Logger.getLogger( GoToInjectableAtCaretAction.class.getName()). - log( Level.INFO, e.getMessage(), e); - } - return variable[1] !=null ; - } - - /** - * Based on the context element method chooses different element. - * If element is not "injection" ( not injection point and has no - * injection context ) method sets the error message in the status - * and return null. - */ - static Element getContextElement(Element element , - CompilationController controller ) - { - if ( element instanceof TypeElement ){ - if ( hasAnnotation(element, DECORATOR) ){ - List fieldsIn = ElementFilter.fieldsIn( - controller.getElements().getAllMembers((TypeElement)element)); - for (VariableElement variableElement : fieldsIn) { - if ( hasAnnotation(variableElement, DELEGATE)){ - return variableElement; - } - } - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_NotDecorator")); - } - return null; - } - return element; - } - - static boolean hasAnnotation(Element element,String fqn){ - List annotationMirrors = - element.getAnnotationMirrors(); - for (AnnotationMirror annotationMirror : annotationMirrors) { - DeclaredType annotationType = annotationMirror.getAnnotationType(); - Element annotationElement = annotationType.asElement(); - if ( annotationElement instanceof TypeElement ){ - Name qualifiedName = ((TypeElement)annotationElement). - getQualifiedName(); - if ( qualifiedName.contentEquals(fqn)){ - return true; - } - } - } - return false; - } - - static boolean getClassAtDot( - final JTextComponent component , final Object[] subject ) - { - return getClassAtDot(component, subject, CARET_POSITION_STRATEGY); - } - - static boolean getClassAtDot( - final JTextComponent component , final Object[] subject, - final PositionStrategy strategy ) - { - JavaSource javaSource = JavaSource.forDocument(component.getDocument()); - if ( javaSource == null ){ - Toolkit.getDefaultToolkit().beep(); - return false; - } - try { - javaSource.runUserActionTask( new Task(){ - @Override - public void run(CompilationController controller) throws Exception { - controller.toPhase( Phase.ELEMENTS_RESOLVED ); - int dot = strategy.getOffset(component); - TreePath tp = controller.getTreeUtilities() - .pathFor(dot); - Element element = controller.getTrees().getElement(tp ); - if ( element == null ){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_ElementNotFound")); - return; - } - if ( element instanceof TypeElement ){ - subject[0] = ElementHandle.create(element); - subject[1] = element.getSimpleName(); - subject[2] = InspectActionId.CLASS_CONTEXT; - } - } - }, true ); - } - catch(IOException e ){ - Logger.getLogger( WebBeansActionHelper.class.getName()). - log( Level.WARNING, e.getMessage(), e); - } - - return subject[0]!=null; - } - - static boolean getMethodAtDot( - final JTextComponent component , final Object[] subject , - final PositionStrategy strategy) - { - JavaSource javaSource = JavaSource.forDocument(component.getDocument()); - if ( javaSource == null ){ - Toolkit.getDefaultToolkit().beep(); - return false; - } - try { - javaSource.runUserActionTask( new Task(){ - @Override - public void run(CompilationController controller) throws Exception { - controller.toPhase( Phase.ELEMENTS_RESOLVED ); - int dot = strategy.getOffset(component); - TreePath tp = controller.getTreeUtilities() - .pathFor(dot); - Element element = controller.getTrees().getElement(tp ); - if ( element == null ){ - StatusDisplayer.getDefault().setStatusText( - NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_ElementNotFound")); - return; - } - if ( element instanceof ExecutableElement ){ - subject[0] = ElementHandle.create(element); - subject[1] = element.getSimpleName(); - subject[2] = InspectActionId.METHOD_CONTEXT; - } - else if ( element instanceof VariableElement ){ - Element enclosingElement = element.getEnclosingElement(); - if ( enclosingElement instanceof ExecutableElement && - hasAnnotation(element, OBSERVES_ANNOTATION)) - { - subject[0] = ElementHandle.create(enclosingElement); - subject[1] = enclosingElement.getSimpleName(); - subject[2] = InspectActionId.METHOD_CONTEXT; - } - } - } - }, true ); - } - catch(IOException e ){ - Logger.getLogger( WebBeansActionHelper.class.getName()). - log( Level.WARNING, e.getMessage(), e); - } - - return subject[0]!=null; - } - - static boolean getMethodAtDot( - final JTextComponent component , final Object[] subject ) - { - return getMethodAtDot(component, subject, CARET_POSITION_STRATEGY ); - } - - public static boolean getContextEventInjectionAtDot( - final JTextComponent component, final Object[] variable , - final PositionStrategy strategy ) - { - try { - ParserManager.parse(Collections.singleton (Source.create( - component.getDocument())), new UserTask() - { - @Override - public void run(ResultIterator resultIterator) throws Exception { - Result resuslt = resultIterator.getParserResult ( - strategy.getOffset(component)); - CompilationController controller = CompilationController.get( - resuslt); - if (controller == null || controller.toPhase(Phase.RESOLVED). - compareTo(Phase.RESOLVED) < 0) - { - return; - } - Token[] token = new Token[1]; - int[] span = getIdentifierSpan( component.getDocument(), - strategy.getOffset(component), token); - - if (span == null) { - return ; - } - - int exactOffset = controller.getSnapshot(). - getEmbeddedOffset(span[0] + 1); - TreePath path = controller.getTreeUtilities().pathFor(exactOffset); - TreePath parent = path.getParentPath(); - if (parent != null) { - Tree parentLeaf = parent.getLeaf(); - if ( parentLeaf.getKind() == Kind.METHOD_INVOCATION){ - ExpressionTree select = ((MethodInvocationTree)parentLeaf). - getMethodSelect(); - /* - * Identifier case should be ignored because in this case - * method is called on 'this' instance . Which is never - * managed by J2EE container as Event injectable. - */ - if ( select.getKind() == Kind.MEMBER_SELECT ){ - Scope scope = controller.getTrees().getScope(path); - Element subjectClass = scope.getEnclosingClass(); - Element method = controller.getTrees().getElement( - new TreePath(path, select)); - Element caller = controller.getTrees().getElement( - new TreePath(path, ((MemberSelectTree)select).getExpression())); - String methodName = method.getSimpleName().toString(); - if ( FIRE.equals( methodName) && - method instanceof ExecutableElement && - caller instanceof VariableElement ) - { - String variableName = caller.getSimpleName().toString(); - TypeElement enclosingTypeElement = - controller.getElementUtilities(). - enclosingTypeElement( method); - String fqnMethodClass = enclosingTypeElement. - getQualifiedName().toString(); - if( EVENT_INTERFACE.equals(fqnMethodClass)){ - List fields = - ElementFilter.fieldsIn - ( controller.getElements().getAllMembers( - (TypeElement)subjectClass)); - for (VariableElement var : fields) { - String varName = var.getSimpleName().toString(); - if ( variableName.equals( varName )){ - ElementHandle handle = - ElementHandle.create(var); - variable[0]= handle; - variable[1]= varName; - variable[2]= InspectActionId.OBSERVERS_CONTEXT; - return; - } - } - } - } - } - } - } - } - }); - } - catch (ParseException e) { - throw new IllegalStateException(e); - } - return variable[1] !=null ; - } - - public static boolean getContextEventInjectionAtDot( - final JTextComponent component, final Object[] variable ) - { - return getContextEventInjectionAtDot(component, variable, CARET_POSITION_STRATEGY); - } - - static void showInjectablesDialog( MetadataModel metamodel, - WebBeansModel model, Object[] subject, - InjectablesModel uiModel , String name , - org.netbeans.modules.jakarta.web.beans.api.model.Result result ) - { - subject[2] = InspectActionId.INJECTABLES_CONTEXT; - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - InjectablesModel.class, WAIT_NODE)); // NOI18N - JDialog dialog = ResizablePopup.getDialog(); - String title = NbBundle.getMessage(WebBeansActionHelper.class, - "TITLE_Injectables" , name );//NOI18N - dialog.setTitle( title ); - dialog.setContentPane( new BindingsPanel(subject, metamodel, model, - uiModel, result )); - dialog.setVisible( true ); - } - - static void showEventsDialog( MetadataModel metaModel , - WebBeansModel model,Object[] subject, - EventsModel uiModel , String name ) - { - subject[2] = InspectActionId.METHOD_CONTEXT; - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - InjectablesModel.class, WAIT_NODE)); - JDialog dialog = ResizablePopup.getDialog(); - String title = NbBundle.getMessage(WebBeansActionHelper.class, - "TITLE_Events" , name );//NOI18N - dialog.setTitle( title ); - dialog.setContentPane( new EventsPanel(subject, metaModel, - model ,uiModel )); - dialog.setVisible( true ); - } - - static void showObserversDialog( List methods , - MetadataModel metaModel , WebBeansModel model, - Object[] subject, ObserversModel uiModel , - String name ) - { - subject[2] = InspectActionId.OBSERVERS_CONTEXT; - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - InjectablesModel.class, WAIT_NODE)); - JDialog dialog = ResizablePopup.getDialog(); - String title = NbBundle.getMessage(WebBeansActionHelper.class, - "TITLE_Observers" , name );//NOI18N - dialog.setTitle( title ); - dialog.setContentPane( new ObserversPanel(subject, metaModel, - model ,uiModel )); - dialog.setVisible( true ); - - } - - public static void showDecoratorsDialog( - MetadataModel metaModel, WebBeansModel model, - Object[] subject, DecoratorsModel uiModel, String name ) - { - subject[2] = InspectActionId.CLASS_CONTEXT; - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - InjectablesModel.class, WAIT_NODE)); - JDialog dialog = ResizablePopup.getDialog(); - String title = NbBundle.getMessage(WebBeansActionHelper.class, - "TITLE_Decorators" , name );//NOI18N - dialog.setTitle( title ); - dialog.setContentPane( new DecoratorsPanel(subject, metaModel, - model ,uiModel )); - dialog.setVisible( true ); - } - - static void showInterceptorsDialog( - MetadataModel metaModel, WebBeansModel model, - Object[] subject, InterceptorsModel uiModel, String name , - InterceptorsResult result ) - { - subject[2] = InspectActionId.CLASS_CONTEXT; - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - InjectablesModel.class, WAIT_NODE)); - JDialog dialog = ResizablePopup.getDialog(); - String title = NbBundle.getMessage(WebBeansActionHelper.class, - "TITLE_Interceptors" , name );//NOI18N - dialog.setTitle( title ); - dialog.setContentPane( new InterceptorsPanel(subject, metaModel, - model ,uiModel , result)); - dialog.setVisible( true ); - } - - public static LinkedHashSet getEnabledDecorators( - Collection decorators,BeansModel beansModel, - LinkedHashSet> enabledHandles, - CompilationController controller) - - { - LinkedHashSet enabled = new LinkedHashSet(); - - Set foundDecorators = new HashSet( decorators ); - LinkedHashSet decoratorClasses = beansModel.getDecoratorClasses(); - for (String decorator : decoratorClasses) { - TypeElement enabledDecorator = controller.getElements(). - getTypeElement( decorator ); - if ( foundDecorators.contains(enabledDecorator) ){ - enabled.add( enabledDecorator ); - if ( enabledHandles!= null){ - enabledHandles.add( ElementHandle.create( enabledDecorator)); - } - } - } - return enabled; - } - - public static VariableElement findVariable( final WebBeansModel model, - final Object[] variablePath ) - { - if ( variablePath[0] == null ){ - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_VariableNotFound", variablePath[1])); - return null ; - } - Element element = ((ElementHandle)variablePath[0]).resolve( - model.getCompilationController()); - if ( element == null ){ - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_VariableNotFound", variablePath[1])); - return null ; - } - VariableElement var = null; - ExecutableElement method = null; - if ( element.getKind() == ElementKind.FIELD){ - var = (VariableElement)element; - } - else { - method = (ExecutableElement)element; - List parameters = method.getParameters(); - for (VariableElement variableElement : parameters) { - if (variableElement.getSimpleName().contentEquals( - variablePath[1].toString())) - { - var = variableElement; - } - } - } - - if (var == null) { - StatusDisplayer.getDefault().setStatusText(NbBundle.getMessage( - WebBeansActionHelper.class, - "LBL_VariableNotFound", variablePath[1])); - } - return var; - } - - static int[] getIdentifierSpan(Document doc, int offset, Token[] token) { - FileObject fileObject = NbEditorUtilities.getFileObject( doc); - if (fileObject== null) { - //do nothing if FO is not attached to the document - the goto would not work anyway: - return null; - } - - TokenHierarchy th = TokenHierarchy.get(doc); - TokenSequence ts = SourceUtils.getJavaTokenSequence(th, offset); - - if (ts == null) - return null; - - ts.move(offset); - if (!ts.moveNext()) - return null; - - Token t = ts.token(); - - if (JavaTokenId.JAVADOC_COMMENT == t.id()) { - return null; - } else if (!USABLE_TOKEN_IDS.contains(t.id())) { - ts.move(offset - 1); - if (!ts.moveNext()) - return null; - t = ts.token(); - if (!USABLE_TOKEN_IDS.contains(t.id())) - return null; - } - - if (token != null) - token[0] = t; - - return new int [] {ts.offset(), ts.offset() + t.length()}; - } - - private static void setVariablePath( Object[] variableAtCaret, - CompilationController controller, Element element ) - { - Element parent = element.getEnclosingElement(); - if ( parent instanceof ExecutableElement ){ - ElementHandle handle = ElementHandle.create( - (ExecutableElement)parent ) ; - variableAtCaret[0] = handle; - variableAtCaret[1] = element.getSimpleName().toString(); - variableAtCaret[2] = InspectActionId.INJECTABLES_CONTEXT; - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/BeansResolver.xml b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/BeansResolver.xml deleted file mode 100644 index b017c8eb2331..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/BeansResolver.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/BeansXml.html b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/BeansXml.html deleted file mode 100644 index 646cae17459e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/BeansXml.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -Creates a new beans.xml. - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Bundle.properties deleted file mode 100644 index 1065902b7fda..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Bundle.properties +++ /dev/null @@ -1,34 +0,0 @@ -OpenIDE-Module-Display-Category=Jakarta EE -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. -OpenIDE-Module-Name=Jakarta EE CDI Support -OpenIDE-Module-Short-Description=Contexts and Dependency Injection Support for Jakarta EE -Templates/CDI_JakartaEE=Contexts and Dependency Injection (JakartaEE) -Templates/CDI_JakartaEE/beans.xml=beans.xml (CDI Configuration File) -Templates/CDI_JakartaEE/Interceptor.java=Interceptor Binding Type -Templates/CDI_JakartaEE/Qualifier.java=Qualifier Type -Templates/CDI_JakartaEE/Scope.java=Scope Type -Templates/CDI_JakartaEE/Stereotype.java=Stereotype - -DSCR_InjectionPoint=CDI Injection Point -DSCR_Decorated=CDI Decorated Bean -DSCR_Delegate=CDI Delegate Injection Point -DSCR_Event=CDI Event -DSCR_Observer=CDI Observer -DSCR_Intercepted=CDI Intercepted Element - -Loaders/text/x-beans-jakarta+xml/Factories/org-netbeans-modules-jakarta-web-beans-BeansDataLoader.instance=Persistence Unit Files diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.html b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.html deleted file mode 100644 index 07b493414517..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -Creates a new interceptor binding type. - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.template b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.template deleted file mode 100644 index 8152b39f81ce..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Interceptor.template +++ /dev/null @@ -1,27 +0,0 @@ -<#assign licenseFirst = "/*"> -<#assign licensePrefix = " * "> -<#assign licenseLast = " */"> -<#include "${project.licensePath}"> - -<#if package?? && package != ""> -package ${package}; - - -import static java.lang.annotation.ElementType.TYPE; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.RetentionPolicy.RUNTIME; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import jakarta.interceptor.InterceptorBinding; - -/** - * - * @author ${user} - */ -@Inherited -@InterceptorBinding -@Retention(RUNTIME) -@Target({METHOD, TYPE}) -public @interface ${name} { -} \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.html b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.html deleted file mode 100644 index aef095f91785..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -Creates a new qualifier type. - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.template b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.template deleted file mode 100644 index 1f8fe0b7399a..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Qualifier.template +++ /dev/null @@ -1,27 +0,0 @@ -<#assign licenseFirst = "/*"> -<#assign licensePrefix = " * "> -<#assign licenseLast = " */"> -<#include "${project.licensePath}"> - -<#if package?? && package != ""> -package ${package}; - - -import static java.lang.annotation.ElementType.TYPE; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.PARAMETER; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.RetentionPolicy.RUNTIME; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import jakarta.inject.Qualifier; - -/** - * - * @author ${user} - */ -@Qualifier -@Retention(RUNTIME) -@Target({METHOD, FIELD, PARAMETER, TYPE}) -public @interface ${name} { -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Scope.html b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Scope.html deleted file mode 100644 index f0ffbfb2e888..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Scope.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -Creates a new scope type. - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Scope.template b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Scope.template deleted file mode 100644 index 9c9c52a8b10c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Scope.template +++ /dev/null @@ -1,28 +0,0 @@ -<#assign licenseFirst = "/*"> -<#assign licensePrefix = " * "> -<#assign licenseLast = " */"> -<#include "${project.licensePath}"> - -<#if package?? && package != ""> -package ${package}; - - -import static java.lang.annotation.ElementType.TYPE; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.RetentionPolicy.RUNTIME; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import jakarta.inject.Scope; - -/** - * - * @author ${user} - */ -@Inherited -@Scope // or @jakarta.enterprise.context.NormalScope -@Retention(RUNTIME) -@Target({METHOD, FIELD, TYPE}) -public @interface ${name} { -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.html b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.html deleted file mode 100644 index 5628a029e607..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - -Creates a new stereotype. - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.template b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.template deleted file mode 100644 index 4d16fe1aa719..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/Stereotype.template +++ /dev/null @@ -1,26 +0,0 @@ -<#assign licenseFirst = "/*"> -<#assign licensePrefix = " * "> -<#assign licenseLast = " */"> -<#include "${project.licensePath}"> - -<#if package?? && package != ""> -package ${package}; - - -import static java.lang.annotation.ElementType.TYPE; -import static java.lang.annotation.ElementType.FIELD; -import static java.lang.annotation.ElementType.METHOD; -import static java.lang.annotation.RetentionPolicy.RUNTIME; -import java.lang.annotation.Retention; -import java.lang.annotation.Target; -import jakarta.enterprise.inject.Stereotype; - -/** - * - * @author ${user} - */ -@Stereotype -@Retention(RUNTIME) -@Target({METHOD, FIELD, TYPE}) -public @interface ${name} { -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/delegate.png b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/delegate.png deleted file mode 100644 index b1e761f2c3aaa62489de930e949128031fc0adc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 513 zcmeAS@N?(olHy`uVBq!ia0vp^+(693!2%@Z7W9h(DVB6cUq=Rpjs4tz5?O(K#^NA% zCx&(BWL^R}3dtTpz6=aiY77hwEes65fID}M>U$>oTzvi~_RXoS zQ7g9`X;7AvSafocSbUrCtDh7d%|#`*Nfu#GzFt_;<6(K! z@v`!#H5*#-%7N1ea@5QV0gA6(8pNmLA$^|#tNIH1Fcp&rvXDjwZt`|BqgyV z)hf9t6-Y4{85o-D8UT@Lh>@|CshO3L36N`LVDRbO?m83=x%nxXX_dG&G*4ze1k}Lb M>FVdQ&MBb@0DXzQCIA2c diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/event.png b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/event.png deleted file mode 100644 index 6c610a399b5a3a548e2cd29e9a54bac7d97e5c0d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^+(693!2%@Z7W9h(DVB6cUq=Rpjs4tz5?O(K#^NA% zCx&(BWL^R}3dtTpz6=aiY77hwEes65fI5(XL%W?0(hUFySg`f z-g{w&vqshxYd#;-4R7aXFj@6A@Aj9o+h5M!wz6D0RN!}N@wVq{J{=c1DWmLHofJN8 z*3?r{$$UGW_X$~EId%Gd&o>ceBNNjH?JTX|)?AsWvP4B@p{M7BC4Hj5olPW#vriicckq z4K<0?iP>e&V$1f`_2mD_KE~AGnj`YrhvTPGQ~e`_6rZ+*%IAP#pjzS@QIe8al4_M) zlnSI6j0_CTbq#>XG{nf*%GAut$OOo>GBEgbZg(AuhTQy=%(P0}8k#3F9|CG%@O1Ta JS?83{1ORM#w`~9b diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/injection_point.png b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/injection_point.png deleted file mode 100644 index 8c465f40359edcbe595f8da722d3566f08f37373..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^+(693!2%@Z7W9h(DVB6cUq=Rpjs4tz5?O(K#^NA% zCx&(BWL^R}3dtTpz6=aiY77hwEes65fIx! zu6@(gUhX^>bMD;*o@vIDRU~u-eu%5g$cb7LwPj~yKyzclrG?3TcUjxoCci9vuK51O z=g)!+XN{^Way}iCy?(r(!DQ9fxZ7XO_P?CHZRK~VP=WT;;<^WGJ|E{fX``6_J}G|M ztf{Bil=~_k%oD1-67~K1rFlvzKD@rYhKgKo&-%)Gb}ixF&oyD0bZqen>}4~7cNJ#oHqQ(V{SGP$GT>tk3hzWltD zA&h%>xAjil$QeI>Y3}@*FTu$$Z9|}rf#Rdt68{)$4kfQS^mp=ij>PsvQH#I2!uGV>vz1_n=8 KKbLh*2~7az+q)_N diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/layer.xml b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/layer.xml deleted file mode 100644 index 5f815e5e39fc..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/layer.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/observer.png b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/observer.png deleted file mode 100644 index 4f028843b0f14354ee1293d5dcb9684c1981777f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 511 zcmeAS@N?(olHy`uVBq!ia0vp^+(693!2%@Z7W9h(DVB6cUq=Rpjs4tz5?O(K#^NA% zCx&(BWL^R}3dtTpz6=aiY77hwEes65fIxU zHfw{Sncfb`RI#)jDw}6|O7Vzs{NZJr?Av`d^Ww9#gC&g#msTeC-DPcSoBXoy_(R*9 zn}6iaXUGV>c{H^*{M}B=ZwwjNr0;HfIWzyVaqi_8X0H|aRzLf5Ao5|m=A=lcbN7zS zi^;#5wVEfh_}~nt$}68f-?+3+DW&DOot(0h$gR02WjwnST_;akcygj;*dzW6e~f;v zmz?k;><*`agqBR;!32&D>rD#3W~bg>c0$Zm=iW}fMZ!NXhF=S=ym)T$k0-6C6|8Fa z2ptH@Os})vuIL>cZ?97RPuH380FzmlrJ75P;9>a$&Xkoabqj$(#-Li_8c~vxSdwa$ zT$Bo=7>o=I&2 - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-delegate-point.xml b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-delegate-point.xml deleted file mode 100644 index 308dadff5ea4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-delegate-point.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-event.xml b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-event.xml deleted file mode 100644 index 0ffb04f49eeb..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-event.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-injection-point.xml b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-injection-point.xml deleted file mode 100644 index 664798ff0272..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-injection-point.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-intercepted.xml b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-intercepted.xml deleted file mode 100644 index 0b5d47151af3..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-intercepted.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-observer.xml b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-observer.xml deleted file mode 100644 index 0a1c101aef0f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/resources/org-netbeans-modules-jakarta-web-beans-annotations-observer.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/wizard/BeansXmlIterator.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/wizard/BeansXmlIterator.java deleted file mode 100644 index f4a3c11760d9..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/wizard/BeansXmlIterator.java +++ /dev/null @@ -1,324 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.wizard; - -import java.awt.Component; -import java.io.IOException; -import java.util.*; -import javax.swing.JComponent; -import javax.swing.JPanel; -import javax.swing.event.ChangeListener; -import org.netbeans.api.j2ee.core.Profile; -import org.netbeans.api.java.project.JavaProjectConstants; -import org.netbeans.api.project.Project; -import org.netbeans.api.project.SourceGroup; -import org.netbeans.api.project.Sources; -import org.netbeans.modules.j2ee.api.ejbjar.Car; -import org.netbeans.modules.j2ee.api.ejbjar.EjbJar; -import org.netbeans.modules.j2ee.common.J2eeProjectCapabilities; -import org.netbeans.modules.j2ee.common.dd.DDHelper; -import org.netbeans.modules.web.api.webmodule.WebModule; -import org.netbeans.modules.web.api.webmodule.WebProjectConstants; -import org.netbeans.modules.jakarta.web.beans.CdiUtil; -import org.netbeans.spi.project.ui.templates.support.Templates; -import org.netbeans.spi.project.ui.templates.support.Templates.SimpleTargetChooserBuilder; -import org.openide.WizardDescriptor; -import org.openide.WizardDescriptor.Panel; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.openide.loaders.DataObject; -import org.openide.loaders.TemplateWizard; -import org.openide.util.Exceptions; -import org.openide.util.HelpCtx; -import org.openide.util.NbBundle; - -/** - * A template wizard operator for new beans.xml - */ -public class BeansXmlIterator implements TemplateWizard.Iterator { - - private enum J2eeProjectType { - WAR, - JAR, - CAR - } - - private static final String WEB_INF = "WEB-INF"; // NOI18N - private static final String META_INF = "META-INF"; // NOI18N - - private int index; - private static final String defaultName = "beans"; //NOI18N - - private transient WizardDescriptor.Panel[] panels; - private transient J2eeProjectType type; - - @Override - public Set instantiate(TemplateWizard wizard) throws IOException { - String targetName = Templates.getTargetName(wizard); - FileObject targetDir = Templates.getTargetFolder(wizard); - Project project = Templates.getProject(wizard); - Profile profile = null; - if (project != null) { - J2eeProjectCapabilities cap = J2eeProjectCapabilities.forProject(project); - if (cap != null && cap.isCdi41Supported()) { - profile = Profile.JAKARTA_EE_11_FULL; - } else if (cap != null && cap.isCdi40Supported()) { - profile = Profile.JAKARTA_EE_10_FULL; - } else if (cap != null && cap.isCdi30Supported()) { - profile = Profile.JAKARTA_EE_9_FULL; - } else if (cap != null && cap.isCdi20Supported()) { - profile = Profile.JAVA_EE_8_FULL; - } else if (cap != null && cap.isCdi11Supported()) { - profile = Profile.JAVA_EE_7_FULL; - } - } - FileObject fo = DDHelper.createBeansXml(profile != null ? profile : Profile.JAVA_EE_6_FULL, targetDir, targetName); - if (fo != null) { - if ( project != null ){ - CdiUtil logger = project.getLookup().lookup( CdiUtil.class ); - if (logger != null){ - logger.log("USG_CDI_BEANS_WIZARD", BeansXmlIterator.class, - new Object[]{project.getClass().getName()}, true); - } - } - return Collections.singleton(DataObject.find(fo)); - } - else { - return Collections.EMPTY_SET; - } - } - - @Override - public void initialize(TemplateWizard wizard) { - WizardDescriptor.Panel folderPanel; - Project project = Templates.getProject( wizard ); - - FileObject targetFolder = getTargetFolder(project); - - Sources sources = project.getLookup().lookup(Sources.class); - SourceGroup[] sourceGroups; - String parentFolder = null; - if ( type == J2eeProjectType.WAR){ - sourceGroups = sources.getSourceGroups(WebProjectConstants.TYPE_DOC_ROOT); - if ( targetFolder!=null && targetFolder.getFileObject(defaultName+".xml")!=null){ - parentFolder = WEB_INF; - } - } - else { - if ( type != null && - targetFolder!=null && targetFolder.getFileObject(defaultName+".xml")!=null ) - { - parentFolder = targetFolder.getName(); - } - sourceGroups = sources.getSourceGroups(Sources.TYPE_GENERIC); - } - - SimpleTargetChooserBuilder builder = Templates. - buildSimpleTargetChooser(project, sourceGroups); - - builder = builder.bottomPanel( new FakePanel(parentFolder)); - folderPanel = builder.create(); - - panels = new WizardDescriptor.Panel[] { folderPanel }; - - // Creating steps. - Object prop = wizard.getProperty (WizardDescriptor.PROP_CONTENT_DATA); // NOI18N - String[] beforeSteps = null; - if (prop instanceof String[]) { - beforeSteps = (String[])prop; - } - String[] steps = createSteps(beforeSteps, panels); - - for (int i = 0; i < panels.length; i++) { - JComponent jc = (JComponent)panels[i].getComponent (); - if (steps[i] == null) { - steps[i] = jc.getName (); - } - jc.putClientProperty (WizardDescriptor.PROP_CONTENT_SELECTED_INDEX, i); - jc.putClientProperty (WizardDescriptor.PROP_CONTENT_DATA, steps); - } - - Templates.setTargetName(wizard, defaultName); - Templates.setTargetFolder(wizard, targetFolder ); - } - - private FileObject getTargetFolder(Project project) { - WebModule wm = WebModule.getWebModule(project.getProjectDirectory()); - if (wm != null) { - FileObject webInf = wm.getWebInf(); - if (webInf == null && wm.getDocumentBase() != null) { - try { - webInf = FileUtil.createFolder(wm.getDocumentBase(), WEB_INF); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - } - type = J2eeProjectType.WAR; - return webInf; - } - else { - EjbJar ejbs[] = EjbJar.getEjbJars(project); - if (ejbs.length > 0) { - type = J2eeProjectType.JAR; - return ejbs[0].getMetaInf(); - } else { - Car cars[] = Car.getCars(project); - if (cars.length > 0) { - type = J2eeProjectType.CAR; - return cars[0].getMetaInf(); - } - } - } - Sources sources = project.getLookup().lookup(Sources.class); - SourceGroup[] sourceGroups = sources.getSourceGroups( - JavaProjectConstants.SOURCES_TYPE_JAVA); - if ( sourceGroups.length >0 ){ - FileObject metaInf = sourceGroups[0].getRootFolder().getFileObject( - META_INF ); - if ( metaInf == null ){ - try { - metaInf = FileUtil.createFolder( - sourceGroups[0].getRootFolder(), META_INF); - } - catch( IOException e ){ - Exceptions.printStackTrace(e); - } - } - if ( metaInf != null ){ - return metaInf; - } - } - return project.getProjectDirectory(); - } - - @Override - public void uninitialize(TemplateWizard wiz) { - panels = null; - } - - @Override - public Panel current() { - return panels[index]; - } - - @Override - public String name() { - return NbBundle.getMessage(BeansXmlIterator.class, "TITLE_x_of_y", - index + 1, panels.length); - } - - @Override - public boolean hasNext() { - return index < panels.length - 1; - } - - @Override - public boolean hasPrevious() { - return index > 0; - } - - @Override - public void nextPanel() { - if (! hasNext ()) throw new NoSuchElementException (); - index++; - } - - @Override - public void previousPanel() { - if (! hasPrevious ()) throw new NoSuchElementException (); - index--; - } - - @Override - public void addChangeListener(ChangeListener l) { - } - - @Override - public void removeChangeListener(ChangeListener l) { - } - - public static String[] createSteps(String[] before, WizardDescriptor.Panel[] panels) { - //assert panels != null; - // hack to use the steps set before this panel processed - int diff = 0; - if (before == null) { - before = new String[0]; - } else if (before.length > 0) { - diff = ("...".equals (before[before.length - 1])) ? 1 : 0; // NOI18N - } - String[] res = new String[ (before.length - diff) + panels.length]; - for (int i = 0; i < res.length; i++) { - if (i < (before.length - diff)) { - res[i] = before[i]; - } else { - res[i] = panels[i - before.length + diff].getComponent ().getName (); - } - } - return res; - } - - static class FakePanel implements Panel { - - private String folder ; - - FakePanel(String folder ){ - this.folder = folder; - } - - @Override - public Component getComponent() { - return new JPanel(); - } - - @Override - public HelpCtx getHelp() { - return null; - } - - @Override - public void readSettings(Object settings) { - if ( folder!=null ){ - ((WizardDescriptor)settings).putProperty( - WizardDescriptor.PROP_ERROR_MESSAGE, - NbBundle.getMessage( BeansXmlIterator.class , - "ERR_BeansAlreadyExists", folder)); - } - } - - @Override - public void storeSettings(Object settings) { - } - - @Override - public boolean isValid() { - return folder == null; - } - - @Override - public void addChangeListener(ChangeListener l) { - } - - @Override - public void removeChangeListener(ChangeListener l) { - } - - } - -} \ No newline at end of file diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/wizard/Bundle.properties b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/wizard/Bundle.properties deleted file mode 100644 index 45353e4bd9b4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/wizard/Bundle.properties +++ /dev/null @@ -1,21 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -TITLE_x_of_y={0} of {1} - -ERR_BeansAlreadyExists = There is already file beans.xml in the {0} directory -USG_CDI_BEANS_WIZARD=beans.xml file is created in the project "{0}". diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/AlternativeElement.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/AlternativeElement.java deleted file mode 100644 index 8dff27e086d3..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/AlternativeElement.java +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - - -/** - * @author ads - * - */ -public interface AlternativeElement extends WebBeansComponent { - - String ALTERNATIVE_ELEMENT = "alternative-element"; //NOI18N -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Alternatives.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Alternatives.java deleted file mode 100644 index c02605303bfc..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Alternatives.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - -import java.util.List; - - -/** - * @author ads - * - */ -public interface Alternatives extends BeansElement { - - String ALTERNATIVES = "alternatives"; // NOI18N - - List getClasses(); - - List getSterrotypes(); - - List getElements(); - void addElement( AlternativeElement element ); - void addElement( int index , AlternativeElement element ); - void removeElement( AlternativeElement element ); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeanClass.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeanClass.java deleted file mode 100644 index 4c1c074102b2..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeanClass.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - - -/** - * @author ads - * - */ -public interface BeanClass extends AlternativeElement { - - String CLASS = BeansElement.CLASS; - - String getBeanClass(); - void setBeanClass( String value ); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeanClassContainer.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeanClassContainer.java deleted file mode 100644 index fe5a5dda6c0c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeanClassContainer.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - -import java.util.List; - - -/** - * @author ads - * - */ -public interface BeanClassContainer extends WebBeansComponent { - - List getClasses(); - - List getBeansClasses(); - void addBeanClass( BeanClass clazz ); - void addBeanClass( int index , BeanClass clazz ); - void removeBeanClass( BeanClass clazz ); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Beans.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Beans.java deleted file mode 100644 index 84a1e9e4cb8e..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Beans.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - -import java.util.List; - - -/** - * - * This model represents beans.xml OM. - * It is based on schema file last changed at 2009-12-02 - * http://fisheye.jboss.org/browse/~raw,r=5197/weld/api/trunk/cdi/src/main/resources/beans.xsd. - * - * @author ads - * - */ -public interface Beans extends WebBeansComponent { - - String BEANS_ELEMENT = "beans-element"; // NOI18N - - String BEANS = "beans"; // NOI18N - - List getElements(); - void addElement( BeansElement element ); - void removeElement( BeansElement element ); - void addElement( int index , BeansElement element ); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeansAttributes.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeansAttributes.java deleted file mode 100644 index a35d5bda96f5..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeansAttributes.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - -import org.netbeans.modules.xml.xam.dom.Attribute; - -/** - * - * @author Martin Fousek - */ -public enum BeansAttributes implements Attribute { - XMLNS("xmlns", String.class), //NOI18N - VERSION("version", String.class), //NOI18N - BEAN_DISCOVERY_MODE("bean-discovery-mode", String.class); //NOI18N - - private final String name; - private final Class type; - - private BeansAttributes(String name, Class type) { - this.name = name; - this.type = type; - } - - @Override - public String getName() { - return name; - } - - @Override - public Class getType() { - return type; - } - - @Override - public Class getMemberType() { - return null; - } -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeansElement.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeansElement.java deleted file mode 100644 index bc34d82b3040..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/BeansElement.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - - -/** - * Represent child of Beans interface. - * @author ads - * - */ -public interface BeansElement extends WebBeansComponent { - - String CLASS = "class"; //NOI18N - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Decorators.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Decorators.java deleted file mode 100644 index c8d3c85e25a2..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Decorators.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - - - -/** - * @author ads - * - */ -public interface Decorators extends BeansElement, BeanClassContainer { - - String DECORATORS = "decorators"; // NOI18N - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Interceptors.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Interceptors.java deleted file mode 100644 index 96fdac7264e7..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Interceptors.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - - - -/** - * @author ads - * - */ -public interface Interceptors extends BeansElement, BeanClassContainer { - - String INTERCEPTORS = "interceptors"; // NOI18N - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Stereotype.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Stereotype.java deleted file mode 100644 index 3f5f61da9d85..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/Stereotype.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - - -/** - * @author ads - * - */ -public interface Stereotype extends AlternativeElement { - - String STEREOTYPE = "stereotype"; // NOI18N - - String getStereotype(); - void setStereotype( String value ); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansComponent.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansComponent.java deleted file mode 100644 index f9bb864ee920..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansComponent.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - -import org.netbeans.modules.xml.xam.dom.DocumentComponent; - - -/** - * @author ads - * - */ -public interface WebBeansComponent extends DocumentComponent { - - String WEB_BEANS_NAMESPACE_OLD = "http://java.sun.com/xml/ns/javaee"; // NOI18N - String WEB_BEANS_NAMESPACE = "http://xmlns.jcp.org/xml/ns/javaee"; // NOI18N - - WebBeansModel getModel(); - - Class getComponentType(); - - void accept( WebBeansVisitor visitor ); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansComponentFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansComponentFactory.java deleted file mode 100644 index d0416d846e6b..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansComponentFactory.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -public interface WebBeansComponentFactory { - - WebBeansComponent createComponent( Element element, WebBeansComponent context); - - Beans createBeans(); - Decorators createDecorators(); - Interceptors createInterceptors(); - Alternatives createAlternatives(); - BeanClass createBeanClass(); - Stereotype createStereotype(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansModel.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansModel.java deleted file mode 100644 index f977ba8acfaa..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansModel.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - -import org.netbeans.modules.xml.xam.dom.DocumentModel; - - -/** - * @author ads - * - */ -public interface WebBeansModel extends DocumentModel { - - Beans getBeans(); - - WebBeansComponentFactory getFactory(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansModelFactory.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansModelFactory.java deleted file mode 100644 index a42939fde320..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansModelFactory.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - -import org.netbeans.modules.jakarta.web.beans.xml.impl.WebBeansModelImpl; -import org.netbeans.modules.xml.xam.AbstractModelFactory; -import org.netbeans.modules.xml.xam.ModelSource; - - -/** - * @author ads - * - */ -public class WebBeansModelFactory extends AbstractModelFactory { - - private WebBeansModelFactory(){ - } - - public static WebBeansModelFactory getInstance(){ - return INSTANCE; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.AbstractModelFactory#createModel(org.netbeans.modules.xml.xam.ModelSource) - */ - @Override - public WebBeansModel createModel( ModelSource modelSource ) { - return new WebBeansModelImpl( modelSource ); - } - - @Override - public WebBeansModel getModel(ModelSource source) { - return super.getModel(source); - } - - private static final WebBeansModelFactory INSTANCE = new WebBeansModelFactory(); - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansVisitor.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansVisitor.java deleted file mode 100644 index 4ef2a2386d21..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/WebBeansVisitor.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml; - - -/** - * @author ads - * - */ -public interface WebBeansVisitor { - - void visit( Beans beans ); - void visit( Interceptors interceptors ); - void visit( Decorators decorators ); - void visit( Alternatives alternatives ); - void visit( BeanClass clazz ); - void visit( Stereotype stereotype ); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/AlternativesImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/AlternativesImpl.java deleted file mode 100644 index 3b5cb44b8574..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/AlternativesImpl.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.netbeans.modules.jakarta.web.beans.xml.AlternativeElement; -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - - -/** - * @author ads - * - */ -class AlternativesImpl extends BaseClassContainerImpl implements - Alternatives -{ - private final WebBeansModelImpl model; - - AlternativesImpl( WebBeansModelImpl model, Element e ) { - super(model, e); - this.model = model; - } - - AlternativesImpl( WebBeansModelImpl model) { - this(model, createNewElement( ALTERNATIVES , model )); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Alternatives#addElement(org.netbeans.modules.jakarta.web.beans.xml.AlternativeElement) - */ - public void addElement( AlternativeElement element ) { - appendChild(AlternativeElement.ALTERNATIVE_ELEMENT, element); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Alternatives#addElement(int, org.netbeans.modules.jakarta.web.beans.xml.AlternativeElement) - */ - public void addElement( int index, AlternativeElement element ) { - insertAtIndex(AlternativeElement.ALTERNATIVE_ELEMENT, element, index); - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Alternatives#getElements() - */ - public List getElements() { - return getChildren( AlternativeElement.class); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Alternatives#getSterrotypes() - */ - public List getSterrotypes() { - NodeList nl = getPeer().getElementsByTagName(Stereotype.STEREOTYPE); - List result = new ArrayList( nl.getLength()); - if (nl != null) { - for (int i=0; i getComponentType() { - return Alternatives.class; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BaseClassContainerImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BaseClassContainerImpl.java deleted file mode 100644 index aa4cd866cfff..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BaseClassContainerImpl.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import java.util.ArrayList; -import java.util.List; - -import org.netbeans.modules.jakarta.web.beans.xml.BeansElement; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; - - -/** - * @author ads - * - */ -abstract class BaseClassContainerImpl extends WebBeansComponentImpl { - - private final WebBeansModelImpl model; - - BaseClassContainerImpl( WebBeansModelImpl model, Element e ) { - super(model, e); - this.model = model; - } - - public List getClasses(){ - NodeList nl = getPeer().getElementsByTagName(BeansElement.CLASS); - List result = new ArrayList( nl.getLength()); - if (nl != null) { - for (int i=0; i getComponentType() { - return BeanClass.class; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BeansImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BeansImpl.java deleted file mode 100644 index 7e6a5240d830..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/BeansImpl.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import java.util.List; - -import org.netbeans.modules.jakarta.web.beans.xml.Beans; -import org.netbeans.modules.jakarta.web.beans.xml.BeansElement; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor; -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -class BeansImpl extends WebBeansComponentImpl implements Beans { - - BeansImpl( WebBeansModelImpl model, Element e ) { - super(model, e); - } - - BeansImpl( WebBeansModelImpl model) { - this(model, createNewElement( BEANS, model)); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Beans#addElement(org.netbeans.modules.jakarta.web.beans.xml.BeansElement) - */ - public void addElement( BeansElement element ) { - appendChild(BEANS_ELEMENT, element ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Beans#addElement(int, org.netbeans.modules.jakarta.web.beans.xml.BeansElement) - */ - public void addElement( int index, BeansElement element ) { - insertAtIndex( BEANS_ELEMENT, element, index); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Beans#getElements() - */ - public List getElements() { - return getChildren( BeansElement.class ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Beans#removeElement(org.netbeans.modules.jakarta.web.beans.xml.BeansElement) - */ - public void removeElement( BeansElement element ) { - removeChild( BEANS_ELEMENT, element ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent#accept(org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor) - */ - public void accept( WebBeansVisitor visitor ) { - visitor.visit( this ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent#getComponentType() - */ - public Class getComponentType() { - return Beans.class; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/ClassContainerImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/ClassContainerImpl.java deleted file mode 100644 index 08c123462200..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/ClassContainerImpl.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import java.util.List; - -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClassContainer; -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -abstract class ClassContainerImpl extends BaseClassContainerImpl - implements BeanClassContainer -{ - - ClassContainerImpl( WebBeansModelImpl model, Element e ) { - super(model, e); - } - - - public void addBeanClass( BeanClass clazz ) { - appendChild(BeanClass.CLASS, clazz); - } - - public void addBeanClass( int index, BeanClass clazz ) { - insertAtIndex(BeanClass.CLASS, clazz, index); - } - - public List getBeansClasses() { - return getChildren( BeanClass.class ); - } - - public void removeBeanClass( BeanClass clazz ) { - removeChild( BeanClass.CLASS, clazz); - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/DecoratorsImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/DecoratorsImpl.java deleted file mode 100644 index e3080af180a4..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/DecoratorsImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor; -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -class DecoratorsImpl extends ClassContainerImpl implements Decorators { - - DecoratorsImpl( WebBeansModelImpl model, Element e ) { - super(model, e); - } - - DecoratorsImpl( WebBeansModelImpl model ) { - this(model, createNewElement( DECORATORS , model )); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent#accept(org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor) - */ - public void accept( WebBeansVisitor visitor ) { - visitor.visit( this ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent#getComponentType() - */ - public Class getComponentType() { - return Decorators.class; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/InterceptorsImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/InterceptorsImpl.java deleted file mode 100644 index d538abb58c1f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/InterceptorsImpl.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor; -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -class InterceptorsImpl extends ClassContainerImpl implements Interceptors { - - InterceptorsImpl( WebBeansModelImpl model, Element e ) { - super(model, e); - } - - InterceptorsImpl( WebBeansModelImpl model ) { - super(model, createNewElement( INTERCEPTORS , model )); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent#accept(org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor) - */ - public void accept( WebBeansVisitor visitor ) { - visitor.visit(this ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent#getComponentType() - */ - public Class getComponentType() { - return Interceptors.class; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/StereotypeImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/StereotypeImpl.java deleted file mode 100644 index a1ca83bdb189..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/StereotypeImpl.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor; -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -class StereotypeImpl extends WebBeansComponentImpl implements Stereotype -{ - - StereotypeImpl( WebBeansModelImpl model, Element e ) { - super(model, e); - } - - StereotypeImpl( WebBeansModelImpl model) { - this(model, createNewElement(STEREOTYPE, model)); - } - - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Stereotype#getStereotype() - */ - public String getStereotype() { - return getText(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.Stereotype#setStereotype(java.lang.String) - */ - public void setStereotype( String value ) { - setText(STEREOTYPE, value); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent#accept(org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor) - */ - public void accept( WebBeansVisitor visitor ) { - visitor.visit( this ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent#getComponentType() - */ - public Class getComponentType() { - return Stereotype.class; - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/SyncUpdateVisitor.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/SyncUpdateVisitor.java deleted file mode 100644 index 72e345a8c554..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/SyncUpdateVisitor.java +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import org.netbeans.modules.jakarta.web.beans.xml.AlternativeElement; -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClassContainer; -import org.netbeans.modules.jakarta.web.beans.xml.Beans; -import org.netbeans.modules.jakarta.web.beans.xml.BeansElement; -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor; -import org.netbeans.modules.xml.xam.ComponentUpdater; - - -/** - * @author ads - * - */ -class SyncUpdateVisitor implements ComponentUpdater, WebBeansVisitor { - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Beans) - */ - public void visit( Beans beans ) { - assert false : "Should never add or remove beans root"; // NOI18N - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.ComponentUpdater#update(org.netbeans.modules.xml.xam.Component, org.netbeans.modules.xml.xam.Component, org.netbeans.modules.xml.xam.ComponentUpdater.Operation) - */ - public void update( WebBeansComponent target, WebBeansComponent child, - Operation operation ) - { - update(target, child, -1 , operation); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.ComponentUpdater#update(org.netbeans.modules.xml.xam.Component, org.netbeans.modules.xml.xam.Component, int, org.netbeans.modules.xml.xam.ComponentUpdater.Operation) - */ - public void update( WebBeansComponent target, WebBeansComponent child, - int index, Operation operation ) - { - assert target != null; - assert child != null; - assert operation == null || operation == Operation.ADD || - operation == Operation.REMOVE; - - myParent = target; - myIndex = index; - myOperation = operation; - child.accept(this); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Interceptors) - */ - public void visit( Interceptors interceptors ) { - visitBeanElement(interceptors); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Decorators) - */ - public void visit( Decorators decorators ) { - visitBeanElement(decorators); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Alternatives) - */ - public void visit( Alternatives alternatives ) { - visitBeanElement(alternatives); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.BeanClass) - */ - public void visit( BeanClass clazz ) { - if ( getParent() instanceof Alternatives ){ - visitAlternativesChild(clazz); - } - else if ( getParent() instanceof BeanClassContainer ){ - BeanClassContainer parent = (BeanClassContainer)getParent(); - if ( isAdd() ){ - parent.addBeanClass( getIndex() , clazz ); - } - else if ( isRemove() ){ - parent.removeBeanClass( clazz ); - } - } - else { - assert false; - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Stereotype) - */ - public void visit( Stereotype stereotype ) { - visitAlternativesChild(stereotype); - } - - private void visitAlternativesChild( AlternativeElement element ) { - assert getParent() instanceof Alternatives; - Alternatives alternatives = (Alternatives)getParent(); - if ( isAdd() ){ - alternatives.addElement( getIndex() , element ); - } - else if ( isRemove() ){ - alternatives.removeElement( element ); - } - } - - private void visitBeanElement( BeansElement element ) { - assert getParent() instanceof Beans; - Beans beans = (Beans)getParent(); - if ( isAdd() ){ - beans.addElement( getIndex() , element ); - } - else if ( isRemove() ){ - beans.removeElement( element ); - } - } - - private boolean isAdd() { - return getOperation() == Operation.ADD; - } - - private boolean isRemove() { - return getOperation() == Operation.REMOVE; - } - - private WebBeansComponent getParent() { - return myParent; - } - - private int getIndex() { - return myIndex; - } - - private Operation getOperation() { - return myOperation; - } - - private WebBeansComponent myParent; - - private int myIndex; - - private Operation myOperation; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentBuildVisitor.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentBuildVisitor.java deleted file mode 100644 index 37648d727ddb..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentBuildVisitor.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import javax.xml.namespace.QName; - -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClassContainer; -import org.netbeans.modules.jakarta.web.beans.xml.Beans; -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor; -import org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent; -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -class WebBeansComponentBuildVisitor implements WebBeansVisitor { - - WebBeansComponentBuildVisitor( WebBeansModelImpl model ) { - myModel = model; - } - - public void init() { - myResult = null; - myElement = null; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Beans) - */ - public void visit( Beans beans ) { - if ( isAcceptable( WebBeansElements.INTERCEPTORS)){ - setResult( new InterceptorsImpl(getModel() , getElement())); - } - else if (isAcceptable( WebBeansElements.DECORATORS )){ - setResult( new DecoratorsImpl(getModel(), getElement())); - } - else if (isAcceptable( WebBeansElements.ALTERNATIVES)){ - setResult( new AlternativesImpl(getModel(), getElement())); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Interceptors) - */ - public void visit( Interceptors interceptors ) { - visitClassContainer( interceptors ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Decorators) - */ - public void visit( Decorators decorators ) { - visitClassContainer( decorators ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Alternatives) - */ - public void visit( Alternatives alternatives ) { - if ( isAcceptable( WebBeansElements.CLASS)){ - setResult( new BeanClassImpl(getModel(), getElement())); - } - else if ( isAcceptable( WebBeansElements.STEREOTYPE )){ - setResult( new StereotypeImpl( getModel(), getElement())); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.BeanClass) - */ - public void visit( BeanClass clazz ) { - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansVisitor#visit(org.netbeans.modules.jakarta.web.beans.xml.Stereotype) - */ - public void visit( Stereotype stereotype ) { - } - - WebBeansComponent create( WebBeansComponent context, Element element ) - { - QName qName = AbstractDocumentComponent.getQName(element); - if ( !(WebBeansComponent.WEB_BEANS_NAMESPACE.equals( - qName.getNamespaceURI() ) || - WebBeansComponent.WEB_BEANS_NAMESPACE_OLD.equals( - qName.getNamespaceURI() ))) - { - return null; - } - if ( context == null ){ - return new BeansImpl( getModel() , element ); - } - else { - myElement = element; - context.accept( this ); - } - return myResult; - } - - - private void visitClassContainer( BeanClassContainer container ) { - if ( isAcceptable( WebBeansElements.CLASS)){ - setResult( new BeanClassImpl(getModel(), getElement())); - } - } - - private WebBeansModelImpl getModel(){ - return myModel; - } - - private void setResult( WebBeansComponent component ) { - myResult = component; - } - - private boolean isAcceptable( WebBeansElements elements ) { - return elements.getName().equals( getLocalName() ); - } - - private String getLocalName() { - return getElement().getLocalName(); - } - - private Element getElement(){ - return myElement; - } - - private WebBeansComponent myResult; - - private Element myElement; - - private WebBeansModelImpl myModel; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentFactoryImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentFactoryImpl.java deleted file mode 100644 index 68e101b3ec66..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentFactoryImpl.java +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.Beans; -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponentFactory; -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -class WebBeansComponentFactoryImpl implements WebBeansComponentFactory { - - WebBeansComponentFactoryImpl( WebBeansModelImpl model ){ - myModel = model; - myBuilder = new ThreadLocal(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponentFactory#createBeans() - */ - public Beans createBeans() { - return new BeansImpl( getModel()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponentFactory#createComponent(org.w3c.dom.Element, org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent) - */ - public WebBeansComponent createComponent( Element element, - WebBeansComponent context ) - { - WebBeansComponentBuildVisitor visitor = getBuilder(); - return visitor.create( context , element ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponentFactory#createAlternatives() - */ - public Alternatives createAlternatives() { - return new AlternativesImpl(getModel()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponentFactory#createBeanClass() - */ - public BeanClass createBeanClass() { - return new BeanClassImpl( getModel()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponentFactory#createDecorators() - */ - public Decorators createDecorators() { - return new DecoratorsImpl( getModel()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponentFactory#createInterceptors() - */ - public Interceptors createInterceptors() { - return new InterceptorsImpl(getModel()); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponentFactory#createStereotype() - */ - public Stereotype createStereotype() { - return new StereotypeImpl(getModel()); - } - - private WebBeansModelImpl getModel(){ - return myModel; - } - - private WebBeansComponentBuildVisitor getBuilder(){ - WebBeansComponentBuildVisitor visitor = myBuilder.get(); - if ( visitor == null ){ - visitor = new WebBeansComponentBuildVisitor( getModel() ); - myBuilder.set( visitor ); - } - visitor.init(); - return visitor; - } - - private WebBeansModelImpl myModel; - - private ThreadLocal myBuilder; - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentImpl.java deleted file mode 100644 index eb00aeaefa5c..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansComponentImpl.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import java.util.List; - -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent; -import org.netbeans.modules.xml.xam.dom.Attribute; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - - -/** - * @author ads - * - */ -abstract class WebBeansComponentImpl extends - AbstractDocumentComponent implements WebBeansComponent -{ - WebBeansComponentImpl( WebBeansModelImpl model, Element e ) { - super(model, e); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent#getModel() - */ - @Override - public WebBeansModelImpl getModel() { - return (WebBeansModelImpl)super.getModel(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent#getAttributeValueOf(org.netbeans.modules.xml.xam.dom.Attribute, java.lang.String) - */ - @Override - protected Object getAttributeValueOf( Attribute attr, String stringValue ) { - return null; - } - - protected static Element createNewElement(String name, WebBeansModelImpl model){ - String ns = WebBeansComponent.WEB_BEANS_NAMESPACE; - if(model.getRootComponent() instanceof AbstractDocumentComponent) { - ns = ((AbstractDocumentComponent)model.getRootComponent()).getQName().getNamespaceURI(); - } - return model.getDocument().createElementNS( ns, name ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent#populateChildren(java.util.List) - */ - @Override - protected void populateChildren( List children ) { - NodeList nl = getPeer().getChildNodes(); - if (nl != null) { - for (int i = 0; i < nl.getLength(); i++) { - Node n = nl.item(i); - if (n instanceof Element) { - WebBeansComponent comp = getModel().getFactory().createComponent((Element) n, this); - if (comp != null) { - children.add(comp); - } - } - } - } - } - -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansElements.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansElements.java deleted file mode 100644 index f2fc01813b37..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansElements.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import java.util.HashSet; -import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; - -import javax.xml.namespace.QName; - -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import static org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent.WEB_BEANS_NAMESPACE_OLD; -import org.netbeans.modules.xml.xam.dom.AbstractDocumentComponent; - - -/** - * @author ads - * - */ -public enum WebBeansElements { - - BEANS("beans"), - DECORATORS(Decorators.DECORATORS), - INTERCEPTORS( Interceptors.INTERCEPTORS), - ALTERNATIVES( Alternatives.ALTERNATIVES), - CLASS( BeanClass.CLASS), - STEREOTYPE( Stereotype.STEREOTYPE); - - WebBeansElements( String name ){ - myName = name; - } - - public String getName() { - return myName; - } - - public QName getQName(WebBeansModelImpl model) { - String ns = WebBeansComponent.WEB_BEANS_NAMESPACE; - if( model.getRootComponent() instanceof AbstractDocumentComponent) { - ns = ((AbstractDocumentComponent)model.getRootComponent()).getQName().getNamespaceURI(); - } - return new QName( ns, getName() ); - } - - - public static Set allQNames(WebBeansModelImpl model) { - if ( myQNames.get() == null ) { - Set set = new HashSet( values().length ); - for (WebBeansElements element : values() ) { - set.add( element.getQName(model) ); - } - myQNames.compareAndSet( null, set ); - } - return myQNames.get(); - } - - private String myName; - - private static AtomicReference> myQNames = - new AtomicReference>(); -} diff --git a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansModelImpl.java b/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansModelImpl.java deleted file mode 100644 index b1f8d9bd676f..000000000000 --- a/enterprise/jakarta.web.beans/src/org/netbeans/modules/jakarta/web/beans/xml/impl/WebBeansModelImpl.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xml.impl; - -import java.util.Set; - -import javax.xml.namespace.QName; - -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansComponent; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel; -import org.netbeans.modules.xml.xam.ComponentUpdater; -import org.netbeans.modules.xml.xam.ModelSource; -import org.netbeans.modules.xml.xam.dom.AbstractDocumentModel; -import org.w3c.dom.Element; - - -/** - * @author ads - * - */ -public class WebBeansModelImpl extends AbstractDocumentModel - implements WebBeansModel -{ - - public WebBeansModelImpl( ModelSource source ) { - super(source); - myFactory = new WebBeansComponentFactoryImpl( this ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.dom.AbstractDocumentModel#createRootComponent(org.w3c.dom.Element) - */ - @Override - public WebBeansComponent createRootComponent( Element root ) { - BeansImpl beans = (BeansImpl)getFactory().createComponent( root, null); - if ( beans!= null ){ - myRoot = beans; - } - else { - return null; - } - return getBeans(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.dom.AbstractDocumentModel#getComponentUpdater() - */ - @Override - public ComponentUpdater getComponentUpdater() { - if ( mySyncUpdateVisitor== null ){ - mySyncUpdateVisitor = new SyncUpdateVisitor(); - } - return mySyncUpdateVisitor; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.dom.DocumentModel#createComponent(org.netbeans.modules.xml.xam.dom.DocumentComponent, org.w3c.dom.Element) - */ - public WebBeansComponent createComponent( WebBeansComponent parent, - Element element ) - { - return getFactory().createComponent(element, parent ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.xml.xam.dom.DocumentModel#getRootComponent() - */ - public WebBeansComponent getRootComponent() { - if(myRoot == null) { - refresh(); - } - return myRoot; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel#getBeans() - */ - public BeansImpl getBeans() { - return (BeansImpl)getRootComponent(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel#getFactory() - */ - public WebBeansComponentFactoryImpl getFactory() { - return myFactory; - } - - public Set getQNames() { - return WebBeansElements.allQNames(this); - } - - private BeansImpl myRoot; - - private SyncUpdateVisitor mySyncUpdateVisitor; - - private WebBeansComponentFactoryImpl myFactory; -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/BaseAnalisysTestCase.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/BaseAnalisysTestCase.java deleted file mode 100644 index df6f443ad9a1..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/BaseAnalisysTestCase.java +++ /dev/null @@ -1,349 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.io.IOException; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.api.java.classpath.GlobalPathRegistry; -import org.netbeans.api.java.source.ClasspathInfo; -import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.JavaSource; -import org.netbeans.api.java.source.JavaSource.Phase; -import org.netbeans.api.java.source.Task; -import org.netbeans.modules.j2ee.metadata.model.support.JavaSourceTestCase; -import org.netbeans.modules.parsing.api.indexing.IndexingManager; -import org.netbeans.modules.jakarta.web.beans.testutilities.CdiTestUtilities; -import org.openide.filesystems.FileObject; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; - - -/** - * @author ads - * - */ -public abstract class BaseAnalisysTestCase extends JavaSourceTestCase { - - protected static final ResultProcessor NO_ERRORS_PROCESSOR = new ResultProcessor (){ - - @Override - public void process( TestProblems result ) { - Set elements = result.getErrors().keySet(); - String msg = ""; - if ( !elements.isEmpty()) { - msg = result.getErrors().values().iterator().next(); - } - assertTrue( "Expected no errors, but found :" +msg , elements.isEmpty() ); - elements = result.getWarings().keySet(); - if ( !elements.isEmpty()) { - msg = result.getWarings().values().iterator().next(); - } - assertTrue( "Expected no warnings, but found :" +msg , elements.isEmpty() ); - } - - }; - - protected static final ResultProcessor WARNINGS_PROCESSOR = new ResultProcessor (){ - - @Override - public void process( TestProblems result ) { - Set elements = result.getErrors().keySet(); - String msg = ""; - if ( !elements.isEmpty()) { - msg = result.getErrors().values().iterator().next(); - } - assertTrue( "Expected no errors, but found :" +msg , elements.isEmpty() ); - } - - }; - - public BaseAnalisysTestCase( String testName ) { - super(testName); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.support.JavaSourceTestCase#setUp() - */ - @Override - protected void setUp() throws Exception { - super.setUp(); - GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, - new ClassPath[] { ClassPath.getClassPath(srcFO, ClassPath.SOURCE) }); - GlobalPathRegistry.getDefault().register(ClassPath.BOOT, - new ClassPath[] { bootCP }); - myClassPathInfo = ClasspathInfo.create(srcFO); - myUtilities = new CdiTestUtilities( srcFO ); - myUtilities.initAnnotations(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.j2ee.metadata.model.support.JavaSourceTestCase#tearDown() - */ - @Override - protected void tearDown() { - } - - protected void runAnalysis( FileObject fileObject , - final ResultProcessor processor ) throws IOException - { - IndexingManager.getDefault().refreshIndexAndWait(srcFO.getURL(), null); - JavaSource js = JavaSource.create(myClassPathInfo, fileObject ); - final AbstractAnalysisTask task = createTask(); - js.runWhenScanFinished( new Task() { - - @Override - public void run( CompilationController controller ) throws Exception { - controller.toPhase( Phase.ELEMENTS_RESOLVED ); - - task.run( controller ); - processor.process((TestProblems)task.getResult()); - } - }, true); - } - - protected CdiTestUtilities getUtilities(){ - return myUtilities; - } - - protected void checkFieldElement(TestProblems result , String enclosingClass, - String expectedName ) - { - checkFieldElement(result, enclosingClass, expectedName, false ); - } - - protected void checkFieldElement(TestProblems result , String enclosingClass, - String expectedName , boolean checkOnlyFields ) - { - checkElement(result, enclosingClass, expectedName, VariableElement.class, - checkOnlyFields); - } - - protected void checkMethodElement(TestProblems result , String enclosingClass, - String expectedName , boolean checkOnlyFields) - { - checkElement(result, enclosingClass, expectedName, ExecutableElement.class, - checkOnlyFields); - } - - protected void checkMethodElement(Map map , String enclosingClass, - String expectedName ) - { - ElementMatcher matcher = new SimpleNameMatcher( expectedName ); - checkElement(map, enclosingClass, matcher, ExecutableElement.class, - false); - } - - protected void checkFieldElement(Map map , String enclosingClass, - String expectedName ) - { - ElementMatcher matcher = new SimpleNameMatcher( expectedName ); - checkElement(map, enclosingClass, matcher, VariableElement.class, - false); - } - - protected void checkMethodElement(TestProblems result , String enclosingClass, - String expectedName ) - { - checkMethodElement(result, enclosingClass, expectedName, false ); - } - - protected void checkCtor(TestProblems result , String enclosingClass) - { - ElementMatcher matcher = new CtorMatcher(); - checkElement(result, enclosingClass, matcher, ExecutableElement.class, false); - } - - protected void checkElement(TestProblems result , String enclosingClass, - String expectedName , Class elementClass, boolean checkOnlyFields ) - { - ElementMatcher matcher = new SimpleNameMatcher( expectedName ); - checkElement(result, enclosingClass, matcher, elementClass, checkOnlyFields); - } - - protected void checkElement(TestProblems result , String enclosingClass, - ElementMatcher matcher, Class elementClass, boolean checkOnlyFields ) - { - checkElement(result.getErrors(), enclosingClass, matcher, elementClass, - checkOnlyFields); - } - - protected void checkElement(Map map , String enclosingClass, - ElementMatcher matcher, Class elementClass, boolean checkOnlyFields ) - { - Set elements = map.keySet(); - Set classElements = new HashSet(); - TypeElement enclosingClazz = null; - for( Element element : elements ){ - Element enclosingElement = element.getEnclosingElement(); - TypeElement clazz = null; - boolean forAdd = false ; - if ( enclosingElement instanceof TypeElement ){ - forAdd = true; - clazz = (TypeElement) enclosingElement; - } - else if ( element instanceof TypeElement ){ - if ( !checkOnlyFields ){ - forAdd = true; - } - clazz = (TypeElement)element; - } - else { - assertTrue("Found element which parent is not a type definition " + - "and is not a definition itself ", false); - } - if ( forAdd && clazz.getQualifiedName().contentEquals( enclosingClass )){ - enclosingClazz = clazz; - //System.out.println( "Found element : "+element); - classElements.add( element ); - } - } - assertNotNull("Expected enclosing class doesn't contain errors", enclosingClazz ); - assertEquals( "Expected exactly one error element", 1 , classElements.size()); - Element element = classElements.iterator().next(); - assertTrue( "Element has a class "+element.getClass(), - elementClass.isAssignableFrom( element.getClass() ) ); - boolean match = matcher.matches( element ); - if ( !match ){ - assertTrue( matcher.getMessage(), match); - } - } - - protected void checkParamElement(TestProblems result , String enclosingClass, - String methodName , String paramName ) - { - checkParamElement(result.getErrors(), enclosingClass, methodName, paramName); - } - - protected void checkParamElement(Map map, String enclosingClass, - String methodName , String paramName ) - { - Set elements = map.keySet(); - Set classElements = new HashSet(); - TypeElement enclosingClazz = null; - ExecutableElement method = null; - for( Element element : elements ){ - Element enclosingElement = element.getEnclosingElement(); - TypeElement clazz = null; - ExecutableElement methodElement = null; - boolean forAdd = false ; - if ( enclosingElement instanceof TypeElement ){ - forAdd = true; - clazz = (TypeElement) enclosingElement; - } - else if ( element instanceof TypeElement ){ - clazz = (TypeElement)element; - } - else if ( enclosingElement instanceof ExecutableElement ) { - forAdd = true; - methodElement = (ExecutableElement)enclosingElement; - } - else { - assertTrue("Found element which parent is not a type definition, " + - "not a definition itself and not method", false); - } - if ( forAdd && methodElement != null && - methodElement.getSimpleName().contentEquals( methodName )) - { - method = methodElement; - enclosingClazz = (TypeElement)method.getEnclosingElement(); - classElements.add( element ); - } - } - assertNotNull("Expected enclosing class doesn't contain errors", enclosingClazz ); - assertNotNull("Expected enclosing method doesn't contain errors", method ); - assertEquals( "Expected exactly one error element", 1 , classElements.size()); - Element element = classElements.iterator().next(); - assertEquals(paramName, element.getSimpleName().toString()); - } - - protected void checkTypeElement( TestProblems result , String expectedName ){ - checkTypeElement(result.getErrors(), expectedName); - assertEquals( "Found unexpected warnings" , 0, result.getWarings().size() ); - } - - protected void checkTypeElement( Map map, String expectedName ){ - Set elements = map.keySet(); - if ( elements.size() > 1 ){ - for( Element element : elements ){ - System.out.println( "Found element : "+element.toString()); - } - } - assertEquals( "Expected exactly one error element", 1 , elements.size()); - Element element = elements.iterator().next(); - assertTrue( element instanceof TypeElement ); - String fqn = ((TypeElement)element).getQualifiedName().toString(); - assertEquals(expectedName, fqn); - } - - interface ElementMatcher { - boolean matches(Element element); - String getMessage(); - } - - class SimpleNameMatcher implements ElementMatcher { - - SimpleNameMatcher( String simpleName ){ - myName = simpleName; - } - - public boolean matches(Element element){ - myMessage = "Found "+element.getSimpleName()+" element, expected "+myName; - return myName.contentEquals( element.getSimpleName()); - } - - public String getMessage() { - return myMessage; - } - - private String myName; - private String myMessage; - } - - class CtorMatcher implements ElementMatcher { - - public boolean matches(Element element){ - myKind = element.getKind(); - return myKind== ElementKind.CONSTRUCTOR; - } - - public String getMessage() { - return "Found element has "+myKind+" , not CTOR"; - } - - private ElementKind myKind; - } - - protected abstract AbstractAnalysisTask createTask(); - - private ClasspathInfo myClassPathInfo; - private CdiTestUtilities myUtilities; - - protected static interface ResultProcessor { - void process ( TestProblems result ); - } - -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTestResult.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTestResult.java deleted file mode 100644 index bc0ff205f82e..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTestResult.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.lang.model.element.Element; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.spi.editor.hints.ErrorDescription; -import org.netbeans.spi.editor.hints.Severity; - - -/** - * @author ads - * - */ -public class CdiAnalysisTestResult extends CdiAnalysisResult - implements TestProblems -{ - - public CdiAnalysisTestResult( CompilationInfo info ) { - super(info, null); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#addError(javax.lang.model.element.Element, java.lang.String) - */ - @Override - public void addError( Element subject, String message ) { - /* TODO: method signature needs to be changed to get a key - * (id of message ) of bundle instead of localized message - */ - myErrors.put( subject , message ); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#addNotification(org.netbeans.spi.editor.hints.Severity, javax.lang.model.element.Element, java.lang.String) - */ - @Override - public void addNotification( Severity severity, Element element, - String message ) - { - if ( severity == Severity.WARNING ){ - myWarnings.put( element , message ); - } - else { - assert false; - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#getProblems() - */ - @Override - public List getProblems() { - return null; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#requireCdiEnabled(javax.lang.model.element.Element) - */ - @Override - public void requireCdiEnabled( Element element ) { - } - - @Override - public Map getErrors(){ - return myErrors; - } - - @Override - public Map getWarings(){ - return myWarnings; - } - - private Map myErrors = new HashMap(); - private Map myWarnings = new HashMap(); -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTestTask.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTestTask.java deleted file mode 100644 index f7d790556eb0..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTestTask.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import org.netbeans.api.java.source.CompilationInfo; - - -/** - * @author ads - * - */ -public class CdiAnalysisTestTask extends CdiAnalysisTask { - - - public CdiAnalysisTestTask( ) { - super(null); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisTask#run(org.netbeans.api.java.source.CompilationInfo) - */ - @Override - protected void run( CompilationInfo compInfo ) { - super.run(compInfo); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisTask#getResult() - */ - @Override - protected CdiAnalysisTestResult getResult() { - return (CdiAnalysisTestResult)super.getResult(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisTask#createResult(org.netbeans.api.java.source.CompilationInfo) - */ - @Override - protected CdiAnalysisResult createResult( CompilationInfo info ) { - return new CdiAnalysisTestResult(info); - } - -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/TestProblems.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/TestProblems.java deleted file mode 100644 index 3a6c06315321..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/TestProblems.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.Map; - -import javax.lang.model.element.Element; - - -/** - * @author ads - * - */ -public interface TestProblems { - - Map getErrors(); - - Map getWarings(); -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTestResult.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTestResult.java deleted file mode 100644 index 88c34b027f7e..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTestResult.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.VariableElement; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.java.source.ElementHandle; -import org.netbeans.modules.jakarta.web.beans.analysis.analyzer.ModelAnalyzer.Result; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.spi.editor.hints.ErrorDescription; -import org.netbeans.spi.editor.hints.Severity; - - -/** - * @author ads - * - */ -public class WebBeansAnalysisTestResult extends Result implements TestProblems { - - public WebBeansAnalysisTestResult( CompilationInfo info) - { - super(info, null); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#addError(jakarta.lang.model.element.Element, java.lang.String) - */ - @Override - public void addError( Element subject, String message ) { - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#addNotification(org.netbeans.spi.editor.hints.Severity, javax.lang.model.element.Element, java.lang.String) - */ - @Override - public void addNotification( Severity severity, Element element, - String message ) - { - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#getProblems() - */ - @Override - public List getProblems() { - return null; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisResult#requireCdiEnabled(javax.lang.model.element.Element) - */ - @Override - public void requireCdiEnabled( Element element ) { - } - - public void addNotification( Severity severity, Element element, - WebBeansModel model, String message ) - { - ElementHandle handle = ElementHandle.create(element); - Element origElement = handle.resolve(getInfo()); - if ( severity == Severity.ERROR){ - myErrors.put( origElement , message ); - } - else if ( severity == Severity.WARNING){ - myWarnings.put( origElement , message ); - } - else { - assert false; - } - } - - public void addNotification( Severity severity, - VariableElement element, ExecutableElement method, - WebBeansModel model, String message ) - { - int index = method.getParameters().indexOf( element ); - ElementHandle handle = ElementHandle.create(method); - ExecutableElement origMethod = handle.resolve(getInfo()); - VariableElement param = origMethod.getParameters().get(index); - if ( severity == Severity.ERROR){ - myErrors.put( param , message ); - } - else if ( severity == Severity.WARNING){ - myWarnings.put( param , message ); - } - else { - assert false; - } - } - - public void requireCdiEnabled( Element element , WebBeansModel model){ - } - - public void requireCdiEnabled( VariableElement element , - ExecutableElement method ,WebBeansModel model) - { - } - - @Override - public Map getErrors(){ - return myErrors; - } - - @Override - public Map getWarings(){ - return myWarnings; - } - - private Map myErrors = new HashMap(); - private Map myWarnings = new HashMap(); - -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTestTask.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTestTask.java deleted file mode 100644 index 2e5dbed1071f..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTestTask.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.analysis; - -import org.netbeans.api.java.source.CompilationInfo; -import org.netbeans.api.project.FileOwnerQuery; -import org.netbeans.api.project.Project; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.jakarta.web.beans.MetaModelSupport; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.testutilities.CdiTestUtilities; - - - -/** - * @author ads - * - */ -public class WebBeansAnalysisTestTask extends WebBeansAnalysisTask { - - public WebBeansAnalysisTestTask( CdiTestUtilities utilities ){ - super(null); - myUtilities = utilities; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisTask#run(org.netbeans.api.java.source.CompilationInfo) - */ - @Override - protected void run( CompilationInfo compInfo ) { - super.run(compInfo); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisTask#getResult() - */ - @Override - protected WebBeansAnalysisTestResult getResult() { - return (WebBeansAnalysisTestResult)super.getResult(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.CdiAnalysisTask#createResult(org.netbeans.api.java.source.CompilationInfo) - */ - @Override - protected WebBeansAnalysisTestResult createResult( CompilationInfo info ) { - return new WebBeansAnalysisTestResult(info); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.WebBeansAnalysisTask#getModel(CompilationInfo) - */ - protected MetadataModel getModel(CompilationInfo compInfo){ - try { - return myUtilities.createBeansModel(); - } - catch ( Exception e ){ - e.printStackTrace(); - assert false : e.getMessage(); - } - return null; - } - - private CdiTestUtilities myUtilities; -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/CommonTestCase.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/CommonTestCase.java deleted file mode 100644 index d8d349191990..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/CommonTestCase.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.model; - -import java.io.IOException; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; -import java.util.concurrent.atomic.AtomicBoolean; -import javax.lang.model.element.Element; -import javax.lang.model.element.ExecutableElement; -import javax.lang.model.element.TypeElement; -import javax.lang.model.element.VariableElement; - -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.support.JavaSourceTestCase; -import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.parsing.api.indexing.IndexingManager; -import org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModelFactory; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; -import org.netbeans.modules.jakarta.web.beans.testutilities.CdiTestUtilities; - - -/** - * @author ads - * - */ -public class CommonTestCase extends JavaSourceTestCase { - - public CommonTestCase( String testName ) { - super(testName); - } - - @Override - protected void setUp() throws Exception { - super.setUp(); - myUtilities = new CdiTestUtilities(srcFO); - myUtilities.initAnnotations(); - /*URL url = FileUtil.getArchiveRoot(jakarta.faces.component.FacesComponent.class.getProtectionDomain(). - getCodeSource().getLocation()); - addCompileRoots( Collections.singletonList( url ));*/ - } - - public MetadataModel createBeansModel() throws IOException, InterruptedException { - IndexingManager.getDefault().refreshIndexAndWait(srcFO.getURL(), null); - return myUtilities.createBeansModel(); - } - - public TestWebBeansModelImpl createModelImpl() throws IOException { - return createModelImpl(false); - } - - public TestWebBeansModelImpl createModelImpl(boolean fullModel) throws IOException { - IndexingManager.getDefault().refreshIndexAndWait(srcFO.getURL(), null); - ModelUnit modelUnit = ModelUnit.create( - ClassPath.getClassPath(srcFO, ClassPath.BOOT), - ClassPath.getClassPath(srcFO, ClassPath.COMPILE), - ClassPath.getClassPath(srcFO, ClassPath.SOURCE), null); - return new TestWebBeansModelImpl(modelUnit, fullModel); - } - - protected void inform( String message ){ - System.out.println(message); - } - - protected void createQualifier(String name ) throws IOException{ - myUtilities.createQualifier(name); - } - - protected void createInterceptorBinding(String name ) throws IOException{ - myUtilities.createInterceptorBinding(name); - } - - public final void assertFindParameterResultInjectables(VariableElement element, - TestWebBeansModelProviderImpl provider, - String... injectables) { - DependencyInjectionResult result = provider.findParameterInjectable(element, null, new AtomicBoolean(false)); - assertResultInjectables(result, injectables); - } - - public final void assertFindParameterResultProductions(VariableElement element, - TestWebBeansModelProviderImpl provider, - String... injectables) { - DependencyInjectionResult result = provider.findParameterInjectable(element, null, new AtomicBoolean(false)); - assertResultProductions(result, injectables); - } - - public final void assertFindParameterResultProductionsVar(VariableElement element, - TestWebBeansModelProviderImpl provider, - String... injectables) { - DependencyInjectionResult result = provider.findParameterInjectable(element, null, new AtomicBoolean(false)); - assertResultProductions(result, true, injectables); - } - - public final void assertFindVariableResultInjectables(VariableElement element, - TestWebBeansModelProviderImpl provider, - String... injectables) { - DependencyInjectionResult result = provider.findVariableInjectable(element, null, new AtomicBoolean(false)); - assertResultInjectables(result, injectables); - } - - public final void assertFindVariableResultProductions(VariableElement element, - TestWebBeansModelProviderImpl provider, - String... injectables) { - DependencyInjectionResult result = provider.findVariableInjectable(element, null, new AtomicBoolean(false)); - assertResultProductions(result, injectables); - } - - public final void assertFindVariableResultProductionsVar(VariableElement element, - TestWebBeansModelProviderImpl provider, - String... injectables) { - DependencyInjectionResult result = provider.findVariableInjectable(element, null, new AtomicBoolean(false)); - assertResultProductions(result, true, injectables); - } - - public final void assertFindAllProductions(VariableElement element, - TestWebBeansModelProviderImpl provider, - String productionName , String enclosingClass ) { - DependencyInjectionResult result = provider.findVariableInjectable(element, null, new AtomicBoolean(false)); - assertResultAllProductions(result, productionName , enclosingClass ); - } - - public final void assertResultInjectables(DependencyInjectionResult result, String... injectables) { - assertNotNull(result); - assertTrue("not ResultImpl instance: "+result, result instanceof ResultImpl); - - Set typeElements = ((ResultImpl) result).getTypeElements(); - if (injectables == null) { - assertEquals("no injectables expected, but found: "+typeElements, 0, typeElements.size()); - } - assertTrue("number of injectables does not match: returned="+typeElements+" expected="+Arrays.asList(injectables), injectables.length == typeElements.size()); - Set set = new HashSet(); - for (TypeElement injactable : typeElements) { - set.add(injactable.getQualifiedName().toString()); - } - for (String inj : injectables) { - assertTrue("Result of typesafe resolution should contain " + inj - + " class definition in "+set, set.contains(inj)); - } - } - - public final void assertResultProductions(DependencyInjectionResult result, String... producers) { - assertResultProductions(result, false, producers); - } - - public final void assertResultProductions(DependencyInjectionResult result, boolean variable, String... producers) { - assertNotNull(result); - assertTrue("not ResultImpl instance: "+result, result instanceof ResultImpl); - - Set productions = ((ResultImpl) result).getProductions(); - if (producers == null) { - assertEquals("no producers expected, but found: "+productions, 0, productions.size()); - } - assertTrue("number of productions does not match: returned="+productions+" expected="+Arrays.asList(producers), producers.length == productions.size()); - Set set = new HashSet(); - for (Element injectable : productions) { - if (variable) { - assertTrue("injectable should be a production method," + " but found :" - + injectable.getKind(), injectable instanceof VariableElement); - } else { - assertTrue("injectable should be a production method," + " but found :" - + injectable.getKind(), injectable instanceof ExecutableElement); - } - set.add(injectable.getSimpleName().toString()); - } - for (String prod : producers) { - assertTrue("Result of typesafe resolution should contain " + prod - + " producer in "+set, set.contains(prod)); - } - } - - public final void assertResultAllProductions(DependencyInjectionResult result, String productionName , - String enclosingClass) - { - assertNotNull(result); - assertTrue("not ResultImpl instance: "+result, result instanceof ResultImpl); - - Set productions = ((ResultImpl) result).getProductions(); - if (productionName == null) { - assertEquals("no injectables expected, but found production element", 0, - productions.size()); - } - assertEquals( "Expected just one production element" , 1, productions.size() ); - Element production = productions.iterator().next(); - String name = production.getSimpleName().toString(); - - assertEquals("Production element name should be "+productionName,productionName, name); - Element parent = production.getEnclosingElement(); - assertTrue( parent instanceof TypeElement ); - String parentName = ((TypeElement)parent).getQualifiedName().toString(); - assertEquals( "Production enclosing class name should be "+enclosingClass, - enclosingClass , parentName); - } - - private CdiTestUtilities myUtilities; -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestBeansModelImpl.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestBeansModelImpl.java deleted file mode 100644 index 8dcc18be36ea..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestBeansModelImpl.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.model; - -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; -import java.util.logging.Logger; -import org.netbeans.modules.jakarta.web.beans.api.model.BeanArchiveType; - -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.xml.AlternativeElement; -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClassContainer; -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModelFactory; -import org.netbeans.modules.xml.retriever.catalog.Utilities; -import org.netbeans.modules.xml.xam.ModelSource; -import org.netbeans.modules.xml.xam.locator.CatalogModelException; -import org.omg.PortableInterceptor.Interceptor; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -class TestBeansModelImpl implements BeansModel { - - TestBeansModelImpl(FileObject sourceRoot ) - { - FileObject fileObject = sourceRoot.getFileObject("beans.xml"); - if ( fileObject != null ) { - myModel = WebBeansModelFactory.getInstance().getModel( - getModelSource(fileObject)); - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansModel#getAlternativeClasses() - */ - @Override - public Set getAlternativeClasses() { - Set result = new HashSet(); - for( BeanClass clazz : getAlternativeElement(BeanClass.class)){ - result.add( clazz.getBeanClass() ); - } - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansModel#getAlternativeStereotypes() - */ - @Override - public Set getAlternativeStereotypes() { - Set result = new HashSet(); - for( Stereotype stereotype : getAlternativeElement(Stereotype.class)){ - result.add( stereotype.getStereotype() ); - } - return result; - } - - private List getAlternativeElement( - Class clazz) - { - if ( myModel == null ){ - return Collections.emptyList(); - } - List children = - myModel.getBeans().getChildren( Alternatives.class); - List result = new LinkedList(); - for (Alternatives alternative : children) { - List elements = alternative.getChildren( clazz ); - result.addAll( elements ); - } - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansModel#getDecoratorClasses() - */ - @Override - public LinkedHashSet getDecoratorClasses() { - LinkedHashSet result = new LinkedHashSet(); - if ( myModel == null ){ - return result; - } - List children = - myModel.getBeans().getChildren( Decorators.class); - collectBeanClasses(result, children); - return result; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.BeansModel#getIntercetorClasses() - */ - @Override - public LinkedHashSet getInterceptorClasses() { - LinkedHashSet result = new LinkedHashSet(); - if ( myModel == null ){ - return result; - } - List children = - myModel.getBeans().getChildren( Interceptors.class); - collectBeanClasses(result, children); - return result; - } - - private void collectBeanClasses( - LinkedHashSet resultCollection, List containers ) - { - for (T container : containers) { - List beansClasses = container.getBeansClasses(); - for (BeanClass beanClass : beansClasses) { - resultCollection.add(beanClass.getBeanClass()); - } - } - } - - private ModelSource getModelSource( FileObject fileObject ) - { - try { - return Utilities.createModelSource( fileObject,false); - } catch (CatalogModelException ex) { - Logger.getLogger("global").log(java.util.logging.Level.SEVERE, - ex.getMessage(), ex); // NOI18N - } - return null; - } - - private WebBeansModel myModel; - - @Override - public BeanArchiveType getBeanArchiveType() { - return BeanArchiveType.EXPLICIT; - } - - @Override - public boolean isCdi11OrLater() { - return true; - } -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestWebBeansModelImpl.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestWebBeansModelImpl.java deleted file mode 100644 index 4bbd4aa08f04..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestWebBeansModelImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.model; - -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; -import org.netbeans.modules.j2ee.metadata.model.spi.MetadataModelFactory; -import org.netbeans.modules.jakarta.web.beans.api.model.BeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public class TestWebBeansModelImpl extends WebBeansModelImplementation { - - TestWebBeansModelImpl(ModelUnit unit){ - this(unit, false); - myProvider = new TestWebBeansModelProviderImpl( this ); - } - - TestWebBeansModelImpl(ModelUnit unit, boolean fullModel ){ - super(unit); - myProvider = new TestWebBeansModelProviderImpl( this ); - isFullModel = fullModel; - if ( fullModel){ - ClassPath path = getModelUnit().getSourcePath(); - FileObject[] roots = path.getRoots(); - assert roots.length == 1; - myBeansModel= new TestBeansModelImpl( roots[0]); - } - } - - public MetadataModel createTestModel( ){ - return MetadataModelFactory.createMetadataModel( this ); - } - - @Override - public BeansModel getBeansModel() { - return myBeansModel; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation#getHelper() - */ - @Override - protected AnnotationModelHelper getHelper() { - return super.getHelper(); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.api.model.AbstractModelImplementation#getProvider() - */ - @Override - protected TestWebBeansModelProviderImpl getProvider() { - return myProvider; - } - - protected boolean isFull(){ - return isFullModel; - } - - private TestWebBeansModelProviderImpl myProvider; - private boolean isFullModel; - private TestBeansModelImpl myBeansModel; -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestWebBeansModelProviderImpl.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestWebBeansModelProviderImpl.java deleted file mode 100644 index 1e1fb43beb6c..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TestWebBeansModelProviderImpl.java +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.model; - -import java.util.concurrent.atomic.AtomicBoolean; -import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeMirror; - -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.impl.model.ResultLookupStrategy; -import org.netbeans.modules.jakarta.web.beans.impl.model.SingleResultLookupStrategy; -import org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation; -import org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelProviderImpl; - - - -/** - * @author ads - * - */ -public class TestWebBeansModelProviderImpl extends WebBeansModelProviderImpl { - - private static final ResultLookupStrategy SINGLE_STRATEGY = new TestResultStrategy(null); - - TestWebBeansModelProviderImpl(TestWebBeansModelImpl testWebBeansModelImpl ) - { - super( testWebBeansModelImpl ); - } - - @Override - protected TestWebBeansModelImpl getModel() { - return (TestWebBeansModelImpl)super.getModel(); - } - - @Override - protected DependencyInjectionResult findParameterInjectable( VariableElement element, - DeclaredType parentType, ResultLookupStrategy strategy, AtomicBoolean cancel ) - { - return super.findParameterInjectable(element, parentType, strategy, cancel); - } - - @Override - protected DependencyInjectionResult doFindVariableInjectable( VariableElement element, - TypeMirror elementType, boolean injectRequired, AtomicBoolean cancel ) - { - return super.doFindVariableInjectable(element, elementType, - injectRequired, cancel); - } - - @Override - protected DependencyInjectionResult findVariableInjectable( VariableElement element, - DeclaredType parentType, ResultLookupStrategy strategy, AtomicBoolean cancel ) - { - return super.findVariableInjectable(element, parentType, strategy, cancel ); - } - - protected DependencyInjectionResult findParameterInjectable( VariableElement element, - DeclaredType parentType, AtomicBoolean cancel ) - { - return findParameterInjectable(element, parentType, SINGLE_STRATEGY, cancel); - } - - protected DependencyInjectionResult findVariableInjectable( VariableElement element, - DeclaredType parentType, AtomicBoolean cancel ) - { - return findVariableInjectable(element, parentType, SINGLE_STRATEGY, cancel); - } - -} - -class TestResultStrategy extends SingleResultLookupStrategy implements ResultLookupStrategy { - - TestResultStrategy( ResultLookupStrategy delegate ){ - myStartegy = delegate; - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.SingleResultLookupStrategy#getResult(org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation, org.netbeans.modules.jakarta.web.beans.api.model.Result) - */ - @Override - public DependencyInjectionResult getResult( WebBeansModelImplementation model, DependencyInjectionResult result, AtomicBoolean cancel ){ - if ( myStartegy != null && ((TestWebBeansModelImpl)model).isFull() ){ - return myStartegy.getResult(model,result, cancel); - } - else { - filterBeans(result , model, cancel ); - return result; - } - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.SingleResultLookupStrategy#getType(org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation, javax.lang.model.type.DeclaredType, javax.lang.model.element.VariableElement) - */ - @Override - public TypeMirror getType( WebBeansModelImplementation model, - DeclaredType parent, VariableElement element ) - { - if ( myStartegy != null ){ - return myStartegy.getType(model, parent, element); - } - return super.getType(model, parent, element); - } - - /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.impl.model.SingleResultLookupStrategy#getType(org.netbeans.modules.jakarta.web.beans.impl.model.WebBeansModelImplementation, javax.lang.model.type.TypeMirror) - */ - @Override - public TypeMirror getType( WebBeansModelImplementation model, - TypeMirror typeMirror ) - { - if ( myStartegy != null ){ - return myStartegy.getType(model, typeMirror); - } - return super.getType(model, typeMirror); - } - - private ResultLookupStrategy myStartegy ; -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/testutilities/CdiTestUtilities.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/testutilities/CdiTestUtilities.java deleted file mode 100644 index 1030490cc099..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/testutilities/CdiTestUtilities.java +++ /dev/null @@ -1,525 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.testutilities; - -import java.io.IOException; - -import org.netbeans.api.java.classpath.ClassPath; -import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; -import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.ModelUnit; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModelFactory; -import org.openide.filesystems.FileObject; - - -/** - * @author ads - * - */ -public class CdiTestUtilities { - - public CdiTestUtilities( FileObject fileObject ){ - mySourceRoot = fileObject; - } - - public void clearRoot() throws IOException { - FileObject[] children = mySourceRoot.getChildren(); - for (FileObject fileObject : children) { - fileObject.delete(); - } - } - - public MetadataModel createBeansModel() throws IOException, InterruptedException { - ModelUnit modelUnit = ModelUnit.create( - ClassPath.getClassPath(mySourceRoot, ClassPath.BOOT), - ClassPath.getClassPath(mySourceRoot, ClassPath.COMPILE), - ClassPath.getClassPath(mySourceRoot, ClassPath.SOURCE), null); - return WebBeansModelFactory.createMetaModel(modelUnit); - } - - public void createQualifier(String name ) throws IOException{ - TestUtilities.copyStringToFileObject(mySourceRoot, "foo/"+name+".java", - "package foo; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.PARAMETER; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import jakarta.enterprise.inject.*; "+ - "import jakarta.inject.*; "+ - "import java.lang.annotation.*; "+ - "@Qualifier " + - "@Retention(RUNTIME) "+ - "@Target({METHOD, FIELD, PARAMETER, TYPE}) "+ - "public @interface "+name+" {} "); - } - - public void createInterceptorBinding(String name ) throws IOException{ - TestUtilities.copyStringToFileObject(mySourceRoot, "foo/"+name+".java", - "package foo; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import jakarta.enterprise.inject.*; "+ - "import jakarta.inject.*; "+ - "import java.lang.annotation.*; "+ - "import jakarta.interceptor.*; "+ - "@InterceptorBinding " + - "@Retention(RUNTIME) "+ - "@Target({METHOD, TYPE}) "+ - "public @interface "+name+" {} "); - } - - public void initEnterprise() throws IOException{ - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Singleton.java", - "package jakarta.ejb; " + - "import static java.lang.annotation.ElementType; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ElementType.TYPE}) "+ - "public @interface Singleton {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Stateless.java", - "package jakarta.ejb; " + - "import static java.lang.annotation.ElementType; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ElementType.TYPE}) "+ - "public @interface Stateless {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Stateful.java", - "package jakarta.ejb; " + - "import static java.lang.annotation.ElementType; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ElementType.TYPE}) "+ - "public @interface Stateful {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/PostActivate.java", - "package jakarta.ejb; " + - "import static java.lang.annotation.ElementType; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ElementType.METHOD}) "+ - "public @interface PostActivate {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/PrePassivate.java", - "package jakarta.ejb; " + - "import static java.lang.annotation.ElementType; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ElementType.METHOD}) "+ - "public @interface PrePassivate {}"); - } - - public void initAnnotations() throws IOException{ - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/inject/Qualifier.java", - "package jakarta.inject; " + - "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ElementType.ANNOTATION_TYPE}) "+ - "public @interface Qualifier {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/inject/Named.java", - "package jakarta.inject; " + - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Qualifier "+ - "public @interface Named { " + - " String value(); "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/inject/Inject.java", - "package jakarta.inject; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.CONSTRUCTOR; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({METHOD, FIELD, CONSTRUCTOR}) "+ - "public @interface Inject {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Any.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.PARAMETER; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "import jakarta.inject.Qualifier; "+ - "@Qualifier " + - "@Retention(RUNTIME) "+ - "@Target({METHOD, FIELD, PARAMETER, TYPE}) "+ - "public @interface Any {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/New.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.PARAMETER; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "import jakarta.inject.Qualifier; "+ - "@Qualifier " + - "@Retention(RUNTIME) "+ - "@Target({FIELD, PARAMETER}) "+ - "public @interface New { " + - " Class value() ; "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Default.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.PARAMETER; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import jakarta.inject.Qualifier; "+ - "@Qualifier " + - "@Retention(RUNTIME) "+ - "@Target({METHOD, FIELD, PARAMETER, TYPE}) "+ - "public @interface Default {} "); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Produces.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({METHOD, FIELD }) "+ - "public @interface Produces {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/util/Nonbinding.java", - "package jakarta.enterprise.util; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({METHOD }) "+ - "public @interface Nonbinding {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/event/Observes.java", - "package jakarta.enterprise.event; " + - "import static java.lang.annotation.ElementType.PARAMETER; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({PARAMETER}) "+ - "public @interface Observes {}"); - - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Disposes.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.PARAMETER; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({PARAMETER}) "+ - "public @interface Disposes {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Specializes.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({TYPE,METHOD }) "+ - "public @interface Specializes {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Alternative.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({METHOD, FIELD, TYPE}) "+ - "public @interface Alternative {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Stereotype.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ANNOTATION_TYPE}) "+ - "public @interface Stereotype {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/NormalScope.java", - "package jakarta.enterprise.context; " + - "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ANNOTATION_TYPE}) "+ - "public @interface NormalScope {" + - " boolean passivating() default faslse ; "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/inject/Scope.java", - "package jakarta.inject; " + - "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ANNOTATION_TYPE}) "+ - "public @interface Scope {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/ApplicationScoped.java", - "package jakarta.enterprise.context; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@NormalScope "+ - "@Inherited "+ - "@Target({METHOD, FIELD, TYPE}) "+ - "public @interface ApplicationScoped {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/ConversationScoped.java", - "package jakarta.enterprise.context; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@NormalScope(passivating=true) "+ - "@Inherited "+ - "@Target({METHOD, FIELD, TYPE}) "+ - "public @interface ConversationScoped {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/Dependent.java", - "package jakarta.enterprise.context; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "import jakarta.inject.Scope; "+ - "@Retention(RUNTIME) "+ - "@Scope "+ - "@Inherited "+ - "@Target({METHOD, FIELD, TYPE}) "+ - "public @interface Dependent {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/RequestScoped.java", - "package jakarta.enterprise.context; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@NormalScope "+ - "@Inherited "+ - "@Target({METHOD, FIELD, TYPE}) "+ - "public @interface RequestScoped {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/SessionScoped.java", - "package jakarta.enterprise.context; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@NormalScope(passivating=true) "+ - "@Inherited "+ - "@Target({METHOD, FIELD, TYPE}) "+ - "public @interface SessionScoped {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Typed.java", - "package jakarta.enterprise.inject; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({METHOD, FIELD, TYPE}) "+ - "public @interface Typed {" + - " Class[] value() ; "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/event/Event.java", - "package jakarta.enterprise.event; " + - "public interface Event {" + - " void fire( T event ); "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/decorator/Delegate.java", - "package jakarta.decorator; " + - "import static java.lang.annotation.ElementType.FIELD; "+ - "import static java.lang.annotation.ElementType.PARAMETER; "+ - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({FIELD, PARAMETER}) "+ - "public @interface Delegate {" + - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/decorator/Decorator.java", - "package jakarta.decorator; " + - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({TYPE}) "+ - "@jakarta.enterprise.inject.Stereotype "+ - "public @interface Decorator {" + - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Instance.java", - "package jakarta.enterprise.inject; " + - "public interface Instance extends java.lang.Iterable {" + - " void fire( T event ); "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/spi/Extension.java", - "package jakarta.enterprise.inject.spi; " + - "public interface Extension {}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/interceptor/InterceptorBinding.java", - "package jakarta.interceptor; " + - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({ANNOTATION_TYPE}) "+ - "public @interface InterceptorBinding {" + - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/interceptor/Interceptor.java", - "package jakarta.interceptor; " + - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({TYPE}) "+ - "public @interface Interceptor {" + - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/interceptor/Interceptors.java", - "package jakarta.interceptor; " + - "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import static java.lang.annotation.ElementType.TYPE; "+ - "import static java.lang.annotation.ElementType.METHOD; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({TYPE,METHOD}) "+ - "public @interface Interceptors {" + - " Class[] value(); "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Singleton.java", - "package jakarta.ejb; " + - "import static java.lang.annotation.ElementType.TYPE; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({TYPE}) "+ - "public @interface Singleton {" + - " String name() default \"\"; "+ - " String description() default \"\"; "+ - " String mappedName() default \"\"; "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Stateful.java", - "package jakarta.ejb; " + - "import static java.lang.annotation.ElementType.TYPE; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({TYPE}) "+ - "public @interface Stateful {" + - " String name() default \"\"; "+ - " String description() default \"\"; "+ - " String mappedName() default \"\"; "+ - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/PostActivate.java", - "package jakarta.ejb; " + - "import static java.lang.annotation.ElementType.METHOD; "+ - "import java.lang.annotation.*; "+ - "import java.lang.annotation.RetentionPolicy; "+ - "@Retention(RUNTIME) "+ - "@Target({METHOD}) "+ - "public @interface PostActivate {" + - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/spi/InjectionPoint.java", - "package jakarta.enterprise.inject.spi; " + - "public interface InjectionPoint {" + - "}"); - - TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/spi/Context.java", - "package jakarta.enterprise.context.spi; " + - "public interface Context {" + - "}"); - } - - private FileObject mySourceRoot; -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/BeansComponentTest.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/BeansComponentTest.java deleted file mode 100644 index 5f86c4348bb9..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/BeansComponentTest.java +++ /dev/null @@ -1,180 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xdm.model; - -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.netbeans.junit.NbTestCase; -import org.netbeans.modules.jakarta.web.beans.xml.AlternativeElement; -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.Beans; -import org.netbeans.modules.jakarta.web.beans.xml.BeansElement; -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel; - - -/** - * @author ads - * - */ -public class BeansComponentTest extends NbTestCase { - - public BeansComponentTest( String name ) { - super(name); - } - - @Override - protected Level logLevel() { - return Level.INFO; - } - - protected void setUp() throws Exception { - Logger.getLogger(WebBeansModel.class.getName()).setLevel(Level.FINEST); - } - - public void testEmpty() throws Exception { - WebBeansModel model = Util.loadRegistryModel("empty-beans.xml"); - model.sync(); - - Beans beans = model.getBeans(); - List elements = beans.getElements(); - assertEquals(0, elements.size()); - assertEquals(0, beans.getChildren().size()); - } - - public void testBeans() throws Exception{ - WebBeansModel model = Util.loadRegistryModel("beans.xml"); - model.sync(); - - Beans beans = model.getBeans(); - List elements = beans.getElements(); - - assertEquals(6, elements.size()); - - BeansElement beansElement = elements.get(0); - assertTrue( beansElement instanceof Interceptors ); - beansElement = elements.get(1); - assertTrue( beansElement instanceof Interceptors ); - - beansElement = elements.get(2); - assertTrue( beansElement instanceof Decorators ); - beansElement = elements.get(4); - assertTrue( beansElement instanceof Decorators ); - - beansElement = elements.get(3); - assertTrue( beansElement instanceof Alternatives ); - beansElement = elements.get(5); - assertTrue( beansElement instanceof Alternatives ); - } - - public void testInterceptors() throws Exception{ - WebBeansModel model = Util.loadRegistryModel("beans.xml"); - model.sync(); - - Beans beans = model.getBeans(); - List elements = beans.getElements(); - - BeansElement beansElement = elements.get(0); - assertTrue( beansElement instanceof Interceptors ); - - Interceptors interceptors = (Interceptors)beansElement; - assertEquals( 0, interceptors.getChildren().size() ); - - beansElement = elements.get(1); - assertTrue( beansElement instanceof Interceptors ); - - interceptors = (Interceptors)beansElement; - assertEquals( 1, interceptors.getChildren().size() ); - - List beansClasses = interceptors.getBeansClasses(); - assertEquals(1, beansClasses.size()); - String beanClass = beansClasses.get(0 ).getBeanClass(); - assertEquals("Class1", beanClass); - } - - - public void testDecorators() throws Exception{ - WebBeansModel model = Util.loadRegistryModel("beans.xml"); - model.sync(); - - Beans beans = model.getBeans(); - List elements = beans.getElements(); - - BeansElement beansElement = elements.get(4); - assertTrue( beansElement instanceof Decorators ); - - Decorators decorators = (Decorators)beansElement; - assertEquals( 0, decorators.getChildren().size() ); - - beansElement = elements.get(2); - assertTrue( beansElement instanceof Decorators ); - - decorators = (Decorators)beansElement; - assertEquals( 1, decorators.getChildren().size() ); - - List beansClasses = decorators.getBeansClasses(); - assertEquals(1, beansClasses.size()); - String beanClass = beansClasses.get(0 ).getBeanClass(); - assertEquals("Class2", beanClass); - } - - public void testAlternatives() throws Exception{ - WebBeansModel model = Util.loadRegistryModel("beans.xml"); - model.sync(); - - Beans beans = model.getBeans(); - List elements = beans.getElements(); - - BeansElement beansElement = elements.get(3); - assertTrue( beansElement instanceof Alternatives ); - - Alternatives alternatives = (Alternatives)beansElement; - assertEquals( 0, alternatives.getChildren().size() ); - - beansElement = elements.get(5); - assertTrue( beansElement instanceof Alternatives ); - - alternatives = (Alternatives)beansElement; - - List alternativeElements = alternatives.getElements(); - assertEquals(2, alternativeElements.size()); - AlternativeElement element = alternativeElements.get(0 ); - - assertTrue( element instanceof BeanClass ); - String beanClass = ((BeanClass)element).getBeanClass(); - assertEquals("Class3", beanClass ); - - element = alternativeElements.get(1 ); - assertTrue( element instanceof Stereotype ); - - String stereotype = ((Stereotype)element).getStereotype(); - assertEquals("Stereotype1", stereotype); - } - - /* - * TODO : modification OM tests. - * ads : At this moment OM is used only for reading . So there is no - * need in modification . As consequence modification tests are not written. - */ -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/SyncUpdateTest.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/SyncUpdateTest.java deleted file mode 100644 index 428c758e5a06..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/SyncUpdateTest.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.netbeans.modules.jakarta.web.beans.xdm.model; - -import java.util.List; - -import org.netbeans.junit.NbTestCase; -import org.netbeans.modules.jakarta.web.beans.xml.AlternativeElement; -import org.netbeans.modules.jakarta.web.beans.xml.Alternatives; -import org.netbeans.modules.jakarta.web.beans.xml.BeanClass; -import org.netbeans.modules.jakarta.web.beans.xml.BeansElement; -import org.netbeans.modules.jakarta.web.beans.xml.Decorators; -import org.netbeans.modules.jakarta.web.beans.xml.Interceptors; -import org.netbeans.modules.jakarta.web.beans.xml.Stereotype; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel; - - -/** - * @author ads - * - */ -public class SyncUpdateTest extends NbTestCase { - - public SyncUpdateTest( String name ) { - super(name); - } - - public void testSyncBeansElements() throws Exception{ - WebBeansModel model = Util.loadRegistryModel("beans-orig.xml"); - - Util.setDocumentContentTo(model, "beans.xml"); - - List elements = model.getBeans().getElements(); - assertEquals( 6 , elements.size()); - - BeansElement beansElement = elements.get(1); - assertTrue( beansElement instanceof Interceptors ); - - beansElement = elements.get(4); - assertTrue( beansElement instanceof Decorators ); - - beansElement = elements.get(5); - assertTrue( beansElement instanceof Alternatives ); - - List alternativeElements = ((Alternatives)beansElement). - getElements(); - assertEquals(2, alternativeElements.size()); - AlternativeElement element = alternativeElements.get(0 ); - - assertTrue( element instanceof BeanClass ); - String beanClass = ((BeanClass)element).getBeanClass(); - assertEquals("Class3", beanClass ); - - element = alternativeElements.get(1 ); - assertTrue( element instanceof Stereotype ); - - String stereotype = ((Stereotype)element).getStereotype(); - assertEquals("Stereotype1", stereotype); - } - - public void testAlternatives() throws Exception{ - WebBeansModel model = Util.loadRegistryModel("alternatives-beans-orig.xml"); - - Util.setDocumentContentTo(model, "alternatives-beans.xml"); - - List elements = model.getBeans().getElements(); - assertEquals( 1 , elements.size()); - - Alternatives alternatives = (Alternatives)elements.get(0); - List alternativeElements = alternatives.getElements(); - assertEquals(5, alternativeElements.size()); - - AlternativeElement alternativeElement = alternativeElements.get(2); - assertTrue( alternativeElement instanceof BeanClass ); - String beanClass = ((BeanClass)alternativeElement).getBeanClass(); - assertEquals( "Class2", beanClass); - - alternativeElement = alternativeElements.get(3); - assertTrue( alternativeElement instanceof BeanClass ); - beanClass = ((BeanClass)alternativeElement).getBeanClass(); - assertEquals( "Class3", beanClass); - - alternativeElement = alternativeElements.get(4); - assertTrue( alternativeElement instanceof Stereotype ); - String stereotype = ((Stereotype)alternativeElement).getStereotype(); - assertEquals( "Stereotype2", stereotype); - } -} diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/TestCatalogModel.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/TestCatalogModel.java deleted file mode 100644 index 6f0937da21a4..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/TestCatalogModel.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.xdm.model; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; -import javax.swing.text.Document; -import org.netbeans.modules.xml.retriever.catalog.impl.CatalogFileWrapperDOMImpl; -import org.netbeans.modules.xml.retriever.catalog.impl.CatalogWriteModelImpl; -import org.netbeans.modules.xml.xam.locator.CatalogModel; -import org.netbeans.modules.xml.xam.locator.CatalogModelException; -import org.netbeans.modules.xml.xam.ModelSource; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.openide.loaders.DataObject; -import org.openide.loaders.DataObjectNotFoundException; -import org.openide.util.Lookup; -import org.openide.util.lookup.Lookups; - -/** - * - * @author girix - */ - -public class TestCatalogModel extends CatalogWriteModelImpl{ - private TestCatalogModel(File file) throws IOException{ - super(file); - } - - static TestCatalogModel singletonCatMod = null; - public static TestCatalogModel getDefault(){ - if (singletonCatMod == null){ - CatalogFileWrapperDOMImpl.TEST_ENVIRONMENT = true; - try { - singletonCatMod = new TestCatalogModel(Util.getTempDir("schematest/catalog")); - FileObject catalogFO = singletonCatMod.getCatalogFileObject(); - File catFile = FileUtil.toFile(catalogFO); - catFile.deleteOnExit(); - initCatalogFile(); - } catch (Exception ex) { - ex.printStackTrace(); - return null; - } - } - return singletonCatMod; - } - - - /** - * This method could be overridden by the Unit testcase to return a special - * ModelSource object for a FileObject with custom impl of classes added to the lookup. - * This is optional if both getDocument(FO) and createCatalogModel(FO) are overridden. - */ - protected ModelSource createModelSource(final FileObject thisFileObj, boolean editable) throws CatalogModelException{ - assert thisFileObj != null : "Null file object."; - final CatalogModel catalogModel = createCatalogModel(thisFileObj); - final DataObject dobj; - try { - dobj = DataObject.find(thisFileObj); - } catch (DataObjectNotFoundException ex) { - throw new CatalogModelException(ex); - } - Lookup proxyLookup = Lookups.proxy( - new Lookup.Provider() { - public Lookup getLookup() { - Document document = null; - document = getDocument(thisFileObj); - return Lookups.fixed(new Object[] { - FileUtil.toFile(thisFileObj), - thisFileObj, - document, - dobj, - catalogModel - }); - } - } - ); - return new ModelSource(proxyLookup, editable); - } - - private Document getDocument(FileObject fo){ - Document result = null; - if (documentPooling) { - result = documentPool().get(fo); - } - if (result != null) return result; - try { - - File file = FileUtil.toFile(fo); - byte[] buffer; - try (FileInputStream fis = new FileInputStream(file)) { - buffer = new byte[fis.available()]; - result = new org.netbeans.editor.BaseDocument( - org.netbeans.modules.xml.text.syntax.XMLKit.class, false); - result.remove(0, result.getLength()); - fis.read(buffer); - } - String str = new String(buffer); - result.insertString(0,str,null); - - } catch (Exception dObjEx) { - return null; - } - if (documentPooling) { - documentPool().put(fo, result); - } - return result; - } - - protected CatalogModel createCatalogModel(FileObject fo) throws CatalogModelException{ - return getDefault(); - } - - public ModelSource createTestModelSource(FileObject fo, boolean editable) throws CatalogModelException{ - final DataObject dobj; - final CatalogModel catalogModel = createCatalogModel(fo); - try { - dobj = DataObject.find(fo); - } catch (DataObjectNotFoundException ex) { - throw new CatalogModelException(ex); - } - Lookup lookup = Lookups.proxy(new Lookup.Provider() { - public Lookup getLookup() { - return Lookups.fixed(new Object[] { - dobj.getPrimaryFile(), - getDocument(dobj.getPrimaryFile()), - dobj, - catalogModel - }); - } - } ); - return new ModelSource(lookup, editable); - } - - private static void initCatalogFile() throws Exception { - } - - private Map fileToDocumentMap; - private Map documentPool() { - if (fileToDocumentMap == null) { - fileToDocumentMap = new HashMap(); - } - return fileToDocumentMap; - } - private boolean documentPooling = true; - - public void setDocumentPooling(boolean v) { - documentPooling = v; - if (! documentPooling) { - clearDocumentPool(); - } - } - - public void clearDocumentPool() { - fileToDocumentMap = null; - } -} - diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/Util.java b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/Util.java deleted file mode 100644 index 2c482df520dc..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/Util.java +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.netbeans.modules.jakarta.web.beans.xdm.model; - -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.PrintWriter; -import java.net.URI; -import java.nio.file.Files; -import javax.swing.text.Document; - -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.xml.WebBeansModelFactory; -import org.netbeans.modules.xml.xam.ModelSource; -import org.netbeans.modules.xml.xam.dom.AbstractDocumentModel; -import org.netbeans.modules.xml.xam.dom.DocumentModel; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; - -/** - * - * @author nn136682 - */ -public class Util { - static { - //JEditorPane.registerEditorKitForContentType(SchemaDataLoader.MIME_TYPE, XMLKit.class.getName()); - registerXMLKit(); - } - - public static void registerXMLKit() { - String[] path = new String[] { "Editors", "text", "x-xml" }; - FileObject target = FileUtil.getConfigRoot(); - try { - for (int i=0; i - - - - Class1 - Stereotype1 - - diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/alternatives-beans.xml b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/alternatives-beans.xml deleted file mode 100644 index 3778b81cc4f0..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/alternatives-beans.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - Class1 - Stereotype1 - Class2 - Class3 - Stereotype2 - - diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/beans-orig.xml b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/beans-orig.xml deleted file mode 100644 index ac3f263d66b2..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/beans-orig.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - Class2 - - - diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/empty-beans.xml b/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/empty-beans.xml deleted file mode 100644 index 2de154643cd7..000000000000 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/empty-beans.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - diff --git a/enterprise/web.beans/licenseinfo.xml b/enterprise/web.beans/licenseinfo.xml index 7ccc8cc208da..048ffc95f450 100644 --- a/enterprise/web.beans/licenseinfo.xml +++ b/enterprise/web.beans/licenseinfo.xml @@ -25,6 +25,8 @@ src/org/netbeans/modules/web/beans/resources/injection_point.png src/org/netbeans/modules/web/beans/resources/event.png src/org/netbeans/modules/web/beans/resources/observer.png + src/org/netbeans/modules/web/beans/resources/fqn.png + src/org/netbeans/modules/web/beans/resources/expandTree.png diff --git a/enterprise/web.beans/nbproject/project.xml b/enterprise/web.beans/nbproject/project.xml index fb13eb641ed2..3a04cf50809c 100644 --- a/enterprise/web.beans/nbproject/project.xml +++ b/enterprise/web.beans/nbproject/project.xml @@ -183,6 +183,15 @@ 1.62
+ + org.netbeans.modules.java.project.ui + + + + 1 + 1.102 + + org.netbeans.modules.java.source diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/BeansDataLoader.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/BeansDataLoader.java deleted file mode 100644 index ac064d7f801b..000000000000 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/BeansDataLoader.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -//package org.netbeans.modules.web.beans; -// -//import java.io.IOException; -//import org.openide.filesystems.FileObject; -//import org.openide.loaders.DataLoader; -//import org.openide.loaders.DataObject; -//import org.openide.util.NbBundle; -// -///** -// */ -//public class BeansDataLoader extends DataLoader { -// -// public static final String REQUIRED_MIME = "text/x-beans+xml"; -// -// public BeansDataLoader() { -// super(BeansDataObject.class.getName()); -// } -// -// @Override -// protected void initialize() { -// super.initialize(); -// } -// -// @Override -// protected String defaultDisplayName() { -// return NbBundle.getMessage(BeansDataLoader.class, "LBL_loaderName"); // NOI18N -// } -// -// @Override -// protected String actionsContext() { -// return "Loaders/" + REQUIRED_MIME + "/Actions"; -// } -// -// @Override -// protected DataObject handleFindDataObject(FileObject fo, RecognizedFiles recognized) throws IOException { -// return new BeansDataObject(fo, this); -// } -//} diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/BeansDataObject.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/BeansDataObject.java index a83ef5735deb..91d13949c860 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/BeansDataObject.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/BeansDataObject.java @@ -28,9 +28,7 @@ import org.openide.loaders.DataObjectExistsException; import org.openide.loaders.MultiDataObject; import org.openide.loaders.MultiFileLoader; -import org.openide.util.Lookup; import org.openide.util.NbBundle.Messages; -import org.openide.windows.TopComponent; @Messages({ "LBL_Beans_LOADER=Files of Beans" @@ -38,7 +36,7 @@ @MIMEResolver.NamespaceRegistration( displayName = "#LBL_Beans_LOADER", mimeType = "text/x-beans+xml", - elementNS = {"http://xmlns.jcp.org/xml/ns/javaee"}, + elementNS = {"https://jakarta.ee/xml/ns/jakartaee", "http://xmlns.jcp.org/xml/ns/javaee"}, position = 799 ) @DataObject.Registration( diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/CdiUtil.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/CdiUtil.java index 5058684f68e5..a1142123cc09 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/CdiUtil.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/CdiUtil.java @@ -156,7 +156,8 @@ public boolean isCdiEnabled(){ * @return */ public static boolean isCdi11OrLater(Project p) { - if(! hasResource(p, "javax/enterprise/inject/spi/AfterTypeDiscovery.class") ) { + if(! (hasResource(p, "javax/enterprise/inject/spi/AfterTypeDiscovery.class") + || hasResource(p, "jakarta/enterprise/inject/spi/AfterTypeDiscovery.class"))) { return false; } else { FileObject beans = getBeansXmlExists(p); @@ -177,7 +178,8 @@ public static boolean isCdi11OrLater(Project p) { } public boolean isCdi11OrLater() { - if(! hasResource(getProject(), "javax/enterprise/inject/spi/AfterTypeDiscovery.class") ) { + if (!(hasResource(getProject(), "javax/enterprise/inject/spi/AfterTypeDiscovery.class") + || hasResource(getProject(), "jakarta/enterprise/inject/spi/AfterTypeDiscovery.class"))) { return false; } else { FileObject beans = getBeansXmlExists(); diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorFactory.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorFactory.java index 5d7126c08ae7..cf8a89427713 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorFactory.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorFactory.java @@ -45,10 +45,10 @@ */ public class InterceptorFactory implements Factory { - static final String INTERCEPTOR_BINDING = "InterceptorBinding"; // NOI18N + static final String INTERCEPTOR_BINDING = "InterceptorBinding"; // NOI18N - private static final String INTERCEPTOR_BINDING_FQN = - "javax.interceptor." +INTERCEPTOR_BINDING; // NOI18N + private static final String INTERCEPTOR_BINDING_FQN = "javax.interceptor." +INTERCEPTOR_BINDING; // NOI18N + private static final String INTERCEPTOR_BINDING_FQN_JAKARTA = "jakarta.interceptor." +INTERCEPTOR_BINDING; // NOI18N /* (non-Javadoc) * @see org.netbeans.spi.editor.codegen.CodeGenerator.Factory#create(org.openide.util.Lookup) @@ -64,7 +64,9 @@ public List create( Lookup lookup ) { TypeElement interceptorBinding = controller.getElements(). getTypeElement( INTERCEPTOR_BINDING_FQN ); - if ( interceptorBinding == null ){ + TypeElement interceptorBindingJakarta = controller.getElements(). + getTypeElement( INTERCEPTOR_BINDING_FQN_JAKARTA ); + if ( interceptorBinding == null && interceptorBindingJakarta == null ){ return result; } int dot = component.getCaret().getDot(); @@ -82,16 +84,27 @@ public List create( Lookup lookup ) { List annotations = controller. getElements().getAllAnnotationMirrors( contextElement ); boolean isInterceptorBinding = false; + boolean isInterceptorBindingJakarta = false; for (AnnotationMirror annotation : annotations) { Element annotationElement = controller.getTypes().asElement( annotation.getAnnotationType()); - if ( interceptorBinding.equals( annotationElement) ){ + if (interceptorBinding != null && interceptorBinding.equals(annotationElement)) { isInterceptorBinding = true; break; } + if (interceptorBindingJakarta != null && interceptorBindingJakarta.equals(annotationElement)) { + isInterceptorBindingJakarta = true; + break; + } } - if ( isInterceptorBinding ){ - result.add( new InterceptorGenerator( + if ( isInterceptorBindingJakarta ){ + result.add( new InterceptorGenerator( + true, + contextElement.getSimpleName().toString(), + controller.getFileObject()) ); + } else if ( isInterceptorBinding ){ + result.add( new InterceptorGenerator( + false, contextElement.getSimpleName().toString(), controller.getFileObject()) ); } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorGenerator.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorGenerator.java index 033c339c3f07..a32512763327 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorGenerator.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/actions/InterceptorGenerator.java @@ -73,10 +73,16 @@ class InterceptorGenerator implements CodeGenerator { InterceptorGenerator.class.getName() ); private static final String INTERCEPTOR = "javax.interceptor.Interceptor"; // NOI18N + private static final String INTERCEPTOR_JAKARTA = "jakarta.interceptor.Interceptor"; // NOI18N - InterceptorGenerator( String bindingName, FileObject bindingFileObject ) { - myBindingName = bindingName; - myBindingFileObject = bindingFileObject; + private final boolean jakartaNamespace; + private final String myBindingName; + private final FileObject myBindingFileObject; + + InterceptorGenerator( boolean jakartaNamespace, String bindingName, FileObject bindingFileObject ) { + this.jakartaNamespace = jakartaNamespace; + this.myBindingName = bindingName; + this.myBindingFileObject = bindingFileObject; } /* (non-Javadoc) @@ -198,7 +204,7 @@ public void run(WorkingCopy copy) throws IOException { ModifiersTree modifiers = tree.getModifiers(); - modifiers = addAnnotation(INTERCEPTOR, maker, modifiers); + modifiers = addAnnotation(jakartaNamespace ? INTERCEPTOR_JAKARTA : INTERCEPTOR, maker, modifiers); TypeElement annotation = handle.resolve( copy ); if ( annotation != null ){ modifiers = addAnnotation(annotation.getQualifiedName().toString(), @@ -258,7 +264,4 @@ public static ClassTree getTopLevelClassTree(CompilationController controller) { return null; } - - private String myBindingName; - private FileObject myBindingFileObject; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractDecoratorAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractDecoratorAnalyzer.java index a4bc3f3f7d20..1916945d5c68 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractDecoratorAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractDecoratorAnalyzer.java @@ -133,8 +133,10 @@ else if ( res instanceof DependencyInjectionResult.InjectableResult ){ protected boolean checkBuiltInBeans( VariableElement element, TypeMirror elementType, WebBeansModel model, AtomicBoolean cancel ) { - TypeElement context = model.getCompilationController().getElements(). - getTypeElement(AnnotationUtil.CONTEXT); + TypeElement context = model.getCompilationController().getElements().getTypeElement(AnnotationUtil.CONTEXT_JAKARTA); + if(context == null) { + context = model.getCompilationController().getElements().getTypeElement(AnnotationUtil.CONTEXT); + } if ( context != null && context.equals(model.getCompilationController(). getTypes().asElement(elementType))) { @@ -150,8 +152,8 @@ protected boolean checkBuiltInBeans( VariableElement element, Element varElement = model.getCompilationController().getTypes(). asElement(elementType); if ( varElement instanceof TypeElement ){ - if ( !((TypeElement)varElement).getQualifiedName().contentEquals( - AnnotationUtil.CONVERSATION)) + if (!(((TypeElement) varElement).getQualifiedName().contentEquals(AnnotationUtil.CONVERSATION) + || ((TypeElement) varElement).getQualifiedName().contentEquals(AnnotationUtil.CONVERSATION_JAKARTA))) { return false; } @@ -168,10 +170,12 @@ protected boolean checkBuiltInBeans( VariableElement element, Map qualifiersFqns = helper. getAnnotationsByType(qualifiers); boolean hasOnlyDefault = false; - if ( qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN)){ + if (qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN) || qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN_JAKARTA)) { HashSet fqns = new HashSet(qualifiersFqns.keySet()); fqns.remove( AnnotationUtil.NAMED ); + fqns.remove( AnnotationUtil.NAMED_JAKARTA ); fqns.remove( AnnotationUtil.ANY ); + fqns.remove( AnnotationUtil.ANY_JAKARTA ); hasOnlyDefault = fqns.size() == 1; } return hasOnlyDefault; diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractScopedAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractScopedAnalyzer.java index 8eeebed8f39c..74cfa7490296 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractScopedAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractScopedAnalyzer.java @@ -90,7 +90,11 @@ else if ( type instanceof ArrayType ){ protected boolean isPassivatingScope( TypeElement scope, WebBeansModel model ) { AnnotationMirror normalScope = AnnotationUtil.getAnnotationMirror( - scope, model.getCompilationController(), AnnotationUtil.NORMAL_SCOPE_FQN); + scope, model.getCompilationController(), AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA); + if (normalScope == null) { + normalScope = AnnotationUtil.getAnnotationMirror( + scope, model.getCompilationController(), AnnotationUtil.NORMAL_SCOPE_FQN); + } if ( normalScope==null){ return false; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java index 2d5384e1c50b..f0cff57e98c4 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java @@ -67,8 +67,8 @@ public void analyze( Element element, TypeMirror elementType, if ( cancel.get()){ return; } - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, - compInfo)) + if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES_JAKARTA, compInfo)) { result.requireCdiEnabled(element); checkSpecializes( element , elementType , list, cancel , result ); @@ -118,8 +118,10 @@ private void addAncestor( TypeMirror parent , Set ancestors, protected List getRestrictedTypes(Element element, CompilationInfo compInfo , AtomicBoolean cancel) { - AnnotationMirror typedMirror = AnnotationUtil.getAnnotationMirror(element, - AnnotationUtil.TYPED, compInfo); + AnnotationMirror typedMirror = AnnotationUtil.getAnnotationMirror(element, AnnotationUtil.TYPED_JAKARTA, compInfo); + if (typedMirror == null) { + typedMirror = AnnotationUtil.getAnnotationMirror(element, AnnotationUtil.TYPED, compInfo); + } if ( typedMirror == null ){ return null; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AnnotationUtil.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AnnotationUtil.java index c6d2cff05a3f..ff7fe3e9bb67 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AnnotationUtil.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AnnotationUtil.java @@ -37,135 +37,162 @@ * */ public final class AnnotationUtil { - + public static final String ANY = "javax.enterprise.inject.Any"; // NOI18N - + public static final String ANY_JAKARTA = "jakarta.enterprise.inject.Any"; // NOI18N + public static final String VALUE = "value"; // NOI18N - + public static final String INJECT = "Inject"; // NOI18N - + public static final String INJECT_FQN = "javax.inject."+INJECT; // NOI18N + public static final String INJECT_FQN_JAKARTA = "jakarta.inject."+INJECT; // NOI18N public static final String DECORATOR = "javax.decorator.Decorator"; // NOI18N - + public static final String DECORATOR_JAKARTA = "jakarta.decorator.Decorator"; // NOI18N + public static final String PRODUCES = "Produces"; - - public static final String PRODUCES_FQN = "javax.enterprise.inject."+ // NOI18N - PRODUCES; - + + public static final String PRODUCES_FQN = "javax.enterprise.inject."+ PRODUCES; // NOI18N + public static final String PRODUCES_FQN_JAKARTA = "jakarta.enterprise.inject."+ PRODUCES; // NOI18N + public static final String INTERCEPTOR_BINDING = "InterceptorBinding"; // NOI18N - - public static final String INTERCEPTOR_BINDING_FQN - = "javax.interceptor."+INTERCEPTOR_BINDING; // NOI18N - + + public static final String INTERCEPTOR_BINDING_FQN = "javax.interceptor." + INTERCEPTOR_BINDING; // NOI18N + public static final String INTERCEPTOR_BINDING_FQN_JAKARTA = "jakarta.interceptor." + INTERCEPTOR_BINDING; // NOI18N + public static final String INTERCEPTOR = "javax.interceptor.Interceptor"; // NOI18N - + public static final String INTERCEPTOR_JAKARTA = "jakarta.interceptor.Interceptor"; // NOI18N + public static final String NORMAL_SCOPE = "NormalScope"; // NOI18N - - public static final String NORMAL_SCOPE_FQN - = "javax.enterprise.context."+NORMAL_SCOPE;// NOI18N - + + public static final String NORMAL_SCOPE_FQN = "javax.enterprise.context."+NORMAL_SCOPE;// NOI18N + public static final String NORMAL_SCOPE_FQN_JAKARTA = "jakarta.enterprise.context."+NORMAL_SCOPE;// NOI18N + public static final String SCOPE = "Scope"; // NOI18N - + public static final String SCOPE_FQN = "javax.inject."+SCOPE; // NOI18N - + public static final String SCOPE_FQN_JAKARTA = "jakarta.inject."+SCOPE; // NOI18N + public static final String REQUEST_SCOPE_FQN = "javax.enterprise.context.RequestScoped";// NOI18N + public static final String REQUEST_SCOPE_FQN_JAKARTA = "jakarta.enterprise.context.RequestScoped";// NOI18N public static final String SESSION_SCOPE_FQN = "javax.enterprise.context.SessionScoped";// NOI18N + public static final String SESSION_SCOPE_FQN_JAKARTA = "jakarta.enterprise.context.SessionScoped";// NOI18N public static final String APPLICATION_SCOPE_FQN = "javax.enterprise.context.ApplicationScoped";// NOI18N + public static final String APPLICATION_SCOPE_FQN_JAKARTA = "jakarta.enterprise.context.ApplicationScoped";// NOI18N public static final String CONVERSATION_SCOPE_FQN = "javax.enterprise.context.ConversationScoped";// NOI18N + public static final String CONVERSATION_SCOPE_FQN_JAKARTA = "jakarta.enterprise.context.ConversationScoped";// NOI18N public static final String DEPENDENT_SCOPE_FQN = "javax.enterprise.context.Dependent";// NOI18N - - + public static final String DEPENDENT_SCOPE_FQN_JAKARTA = "jakarta.enterprise.context.Dependent";// NOI18N + + public static final String DISPOSES = "Disposes"; // NOI18N - - public static final String DISPOSES_FQN = "javax.enterprise.inject."+ // NOI18N - DISPOSES; - + + public static final String DISPOSES_FQN = "javax.enterprise.inject." + DISPOSES; // NOI18N + public static final String DISPOSES_FQN_JAKARTA = "jakarta.enterprise.inject." + DISPOSES; // NOI18N + public static final String OBSERVES = "Observes"; // NOI18N - - public static final String OBSERVES_FQN = "javax.enterprise.event."+ // NOI18N - OBSERVES; - + + public static final String OBSERVES_FQN = "javax.enterprise.event." + OBSERVES; // NOI18N + public static final String OBSERVES_FQN_JAKARTA = "jakarta.enterprise.event." + OBSERVES; // NOI18N + public static final String STATELESS = "javax.ejb.Stateless"; // NOI18N + public static final String STATELESS_JAKARTA = "jakarta.ejb.Stateless"; // NOI18N + + public static final String STATEFUL = "javax.ejb.Stateful"; // NOI18N + public static final String STATEFUL_JAKARTA = "jakarta.ejb.Stateful"; // NOI18N - public static final String STATEFUL = "javax.ejb.Stateful"; // NOI18N - public static final String SINGLETON = "javax.ejb.Singleton"; // NOI18N + public static final String SINGLETON_JAKARTA = "jakarta.ejb.Singleton"; // NOI18N public static final String CDISINGLETON = "javax.inject.Singleton"; // NOI18N - - public static final String APPLICATION_SCOPED - = "javax.enterprise.context.ApplicationScoped"; // NOI18N - - public static final String DEPENDENT - = "javax.enterprise.context.Dependent"; // NOI18N - + public static final String CDISINGLETON_JAKARTA = "jakarta.inject.Singleton"; // NOI18N + + public static final String APPLICATION_SCOPED = "javax.enterprise.context.ApplicationScoped"; // NOI18N + public static final String APPLICATION_SCOPED_JAKARTA = "jakarta.enterprise.context.ApplicationScoped"; // NOI18N + + public static final String DEPENDENT = "javax.enterprise.context.Dependent"; // NOI18N + public static final String DEPENDENT_JAKARTA = "jakarta.enterprise.context.Dependent"; // NOI18N + public static final String STEREOTYPE = "Stereotype"; // NOI18N - - public static final String STEREOTYPE_FQN = - "javax.enterprise.inject."+STEREOTYPE; // NOI18N - + + public static final String STEREOTYPE_FQN = "javax.enterprise.inject." + STEREOTYPE; // NOI18N + public static final String STEREOTYPE_FQN_JAKARTA = "jakarta.enterprise.inject." + STEREOTYPE; // NOI18N + public static final String NAMED = "javax.inject.Named"; // NOI18N - + public static final String NAMED_JAKARTA = "jakarta.inject.Named"; // NOI18N + public static final String QUALIFIER = "Qualifier"; // NOI18N - - public static final String QUALIFIER_FQN= - "javax.inject."+QUALIFIER; // NOI18N - - public static final String DELEGATE_FQN = - "javax.decorator.Delegate"; // NOI18N - + + public static final String QUALIFIER_FQN = "javax.inject."+QUALIFIER; // NOI18N + public static final String QUALIFIER_FQN_JAKARTA = "jakarta.inject."+QUALIFIER; // NOI18N + + public static final String DELEGATE_FQN = "javax.decorator.Delegate"; // NOI18N + public static final String DELEGATE_FQN_JAKARTA = "jakarta.decorator.Delegate"; // NOI18N + public static final String SPECIALIZES = "javax.enterprise.inject.Specializes"; // NOI18N - - public static final String INJECTION_POINT = - "javax.enterprise.inject.spi.InjectionPoint"; // NOI18N - + public static final String SPECIALIZES_JAKARTA = "jakarta.enterprise.inject.Specializes"; // NOI18N + + public static final String INJECTION_POINT = "javax.enterprise.inject.spi.InjectionPoint"; // NOI18N + public static final String INJECTION_POINT_JAKARTA = "jakarta.enterprise.inject.spi.InjectionPoint"; // NOI18N + public static final String DEFAULT_FQN = "javax.enterprise.inject.Default"; // NOI18N - + public static final String DEFAULT_FQN_JAKARTA = "jakarta.enterprise.inject.Default"; // NOI18N + public static final String POST_CONSTRUCT = "javax.annotation.PostConstruct"; // NOI18N - + public static final String POST_CONSTRUCT_JAKARTA = "jakarta.annotation.PostConstruct"; // NOI18N + public static final String PRE_DESTROY = "javax.annotation.PreDestroy"; // NOI18N - + public static final String PRE_DESTROY_JAKARTA = "jakarta.annotation.PreDestroy"; // NOI18N + public static final String POST_ACTIVATE = "javax.ejb.PostActivate"; // NOI18N - + public static final String POST_ACTIVATE_JAKARTA = "jakarta.ejb.PostActivate"; // NOI18N + public static final String PRE_PASSIVATE = "javax.ejb.PrePassivate"; // NOI18N - + public static final String PRE_PASSIVATE_JAKARTA = "jakarta.ejb.PrePassivate"; // NOI18N + public static final String CONTEXT = "javax.enterprise.context.spi.Context"; // NOI18N - + public static final String CONTEXT_JAKARTA = "jakarta.enterprise.context.spi.Context"; // NOI18N + public static final String CONVERSATION = "javax.enterprise.context.Conversation";// NOI18N - + public static final String CONVERSATION_JAKARTA = "jakarta.enterprise.context.Conversation";// NOI18N + public static final String ALTERNATVE = "javax.enterprise.inject.Alternative"; // NOI18N - + public static final String ALTERNATVE_JAKARTA = "jakarta.enterprise.inject.Alternative"; // NOI18N + public static final String TYPED = "javax.enterprise.inject.Typed"; // NOI18N - + public static final String TYPED_JAKARTA = "jakarta.enterprise.inject.Typed"; // NOI18N + public static final String NON_BINDING = "javax.enterprise.util.Nonbinding"; // NOI18N - + public static final String NON_BINDING_JAKARTA = "jakarta.enterprise.util.Nonbinding"; // NOI18N + public static final String PASSIVATING = "passivating"; // NOI18N - + public static final String PROVIDER = "javax.inject.Provider";// NOI18N - + public static final String PROVIDER_JAKARTA = "jakarta.inject.Provider";// NOI18N + private AnnotationUtil(){ } - + public static boolean hasAnnotation(Element element, String annotation, CompilationInfo info ) { return getAnnotationMirror(element, annotation, info)!=null; } - public static AnnotationMirror getAnnotationMirror(Element element, + public static AnnotationMirror getAnnotationMirror(Element element, String annotation,CompilationInfo info ) { - return getAnnotationMirror(element, info, annotation); + return getAnnotationMirror(element, info, annotation); } - + /** * return AnnotationMirror for first found annotation from annotationFqns * @param element * @param info * @param annotationFqns - * @return + * @return */ - public static AnnotationMirror getAnnotationMirror(Element element, + public static AnnotationMirror getAnnotationMirror(Element element, CompilationInfo info , String... annotationFqns) { Set set = new HashSet(); @@ -177,11 +204,11 @@ public static AnnotationMirror getAnnotationMirror(Element element, set.add( annotationElement ); } } - - List annotations = + + List annotations = els.getAllAnnotationMirrors( element ); for (AnnotationMirror annotationMirror : annotations) { - Element declaredAnnotation = info.getTypes().asElement( + Element declaredAnnotation = info.getTypes().asElement( annotationMirror.getAnnotationType()); if ( set.contains( declaredAnnotation ) ){ return annotationMirror; @@ -189,29 +216,30 @@ public static AnnotationMirror getAnnotationMirror(Element element, } return null; } - - public static boolean isSessionBean(Element element , + + public static boolean isSessionBean(Element element , CompilationInfo compInfo ) { - return getAnnotationMirror(element, compInfo, STATEFUL, STATELESS, - SINGLETON)!= null; + return getAnnotationMirror(element, compInfo, STATEFUL, STATELESS, SINGLETON, STATEFUL_JAKARTA, STATELESS_JAKARTA, SINGLETON_JAKARTA) != null; } - - public static boolean isDelegate(Element element, TypeElement parent, + + public static boolean isDelegate(Element element, TypeElement parent, WebBeansModel model ) { - return AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DELEGATE_FQN, model.getCompilationController()) - && AnnotationUtil.hasAnnotation( parent, - AnnotationUtil.DECORATOR, model.getCompilationController()); + return (AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, model.getCompilationController()) + && AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR, model.getCompilationController())) + || (AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN_JAKARTA, model.getCompilationController()) + && AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR_JAKARTA, model.getCompilationController())); } - - public static boolean isLifecycleCallback( ExecutableElement element , - CompilationInfo info ) + + public static boolean isLifecycleCallback( ExecutableElement element , + CompilationInfo info ) { - AnnotationMirror annotationMirror = getAnnotationMirror(element, info, - POST_ACTIVATE, POST_CONSTRUCT , PRE_DESTROY, PRE_PASSIVATE); + AnnotationMirror annotationMirror = getAnnotationMirror(element, info, + POST_ACTIVATE, POST_CONSTRUCT, PRE_DESTROY, PRE_PASSIVATE, + POST_ACTIVATE_JAKARTA, POST_CONSTRUCT_JAKARTA, PRE_DESTROY_JAKARTA, PRE_PASSIVATE_JAKARTA + ); return annotationMirror != null; } - + } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/CtorAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/CtorAnalyzer.java index e5268dede322..09657d0853da 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/CtorAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/CtorAnalyzer.java @@ -49,10 +49,10 @@ public void analyze( Element element, TypeElement parent, if ( cancel.get() ){ return; } - boolean isDisposer = AnnotationUtil.hasAnnotation(param, - AnnotationUtil.DISPOSES_FQN, result.getInfo()); - boolean isObserver = AnnotationUtil.hasAnnotation(param, - AnnotationUtil.OBSERVES_FQN, result.getInfo()); + boolean isDisposer = AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN, result.getInfo()) + || AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN_JAKARTA, result.getInfo()); + boolean isObserver = AnnotationUtil.hasAnnotation(param, AnnotationUtil.OBSERVES_FQN, result.getInfo()) + || AnnotationUtil.hasAnnotation(param, AnnotationUtil.OBSERVES_FQN_JAKARTA, result.getInfo()); if ( isDisposer || isObserver ){ result.requireCdiEnabled(element); String annotation = isDisposer ? AnnotationUtil.DISPOSES : diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java index d22674089cbd..c1b42e171d8d 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java @@ -49,8 +49,8 @@ public void analyze( TypeElement element, WebBeansModel model, AtomicBoolean cancel , Result result ) { - if ( !AnnotationUtil.hasAnnotation(element, - AnnotationUtil.INTERCEPTOR_BINDING_FQN , model.getCompilationController())) + if (!(AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN_JAKARTA, model.getCompilationController()))) { return; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java index 3ce875f93f74..2720cef2c3f6 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java @@ -50,8 +50,8 @@ public class InterceptorBindingMembersAnalyzer implements AnnotationAnalyzer { public void analyze( TypeElement element, AtomicBoolean cancel, CdiAnalysisResult result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN, - result.getInfo())) + if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN, result.getInfo()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN_JAKARTA, result.getInfo())) { checkMembers(element, result, NbBundle.getMessage( QualifierAnalyzer.class, @@ -78,8 +78,8 @@ else if ( returnType.getKind() == TypeKind.DECLARED){ if ( !warning ){ continue; } - if (AnnotationUtil.hasAnnotation(executableElement, - AnnotationUtil.NON_BINDING, result.getInfo()) ) + if (AnnotationUtil.hasAnnotation(executableElement, AnnotationUtil.NON_BINDING, result.getInfo()) + || AnnotationUtil.hasAnnotation(executableElement, AnnotationUtil.NON_BINDING_JAKARTA, result.getInfo())) { continue; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java index 3bea00a69a82..100b31d75196 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java @@ -49,8 +49,8 @@ public class QualifierAnalyzer extends InterceptorBindingMembersAnalyzer { public void analyze( TypeElement element, AtomicBoolean cancel, CdiAnalysisResult result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.QUALIFIER_FQN, - result.getInfo())) + if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.QUALIFIER_FQN, result.getInfo()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.QUALIFIER_FQN_JAKARTA, result.getInfo())) { result.requireCdiEnabled(element); QualifierTargetAnalyzer analyzer = new QualifierTargetAnalyzer(element, diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java index 9e3b9db45967..7114455bc7eb 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java @@ -43,10 +43,10 @@ public void analyze( TypeElement element, AtomicBoolean cancel, CdiAnalysisResult result) { CompilationInfo compInfo = result.getInfo(); - boolean isScope = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.SCOPE_FQN , compInfo); - boolean isNormalScope = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.NORMAL_SCOPE_FQN, compInfo); + boolean isScope = AnnotationUtil.hasAnnotation(element, AnnotationUtil.SCOPE_FQN, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SCOPE_FQN_JAKARTA, compInfo); + boolean isNormalScope = AnnotationUtil.hasAnnotation(element, AnnotationUtil.NORMAL_SCOPE_FQN, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA, compInfo); if ( isScope || isNormalScope ){ result.requireCdiEnabled(element); ScopeTargetAnalyzer analyzer = new ScopeTargetAnalyzer(element, diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java index a1d2e9db5535..e88b6c8101ad 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java @@ -57,8 +57,8 @@ public void analyze( TypeElement element, WebBeansModel model , AtomicBoolean cancel , Result result) { - boolean isStereotype = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.STEREOTYPE_FQN, model.getCompilationController()); + boolean isStereotype = AnnotationUtil.hasAnnotation(element, AnnotationUtil.STEREOTYPE_FQN, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.STEREOTYPE_FQN_JAKARTA, model.getCompilationController()); if ( !isStereotype ){ return; } @@ -100,8 +100,11 @@ private void checkQualifers( TypeElement element, WebBeansModel model, for (AnnotationMirror annotationMirror : qualifiers) { Element annotation = annotationMirror.getAnnotationType().asElement(); if ( annotation instanceof TypeElement && - ((TypeElement)annotation).getQualifiedName().contentEquals( - AnnotationUtil.NAMED)) + ( + ((TypeElement)annotation).getQualifiedName().contentEquals(AnnotationUtil.NAMED) + || ((TypeElement)annotation).getQualifiedName().contentEquals(AnnotationUtil.NAMED_JAKARTA) + ) + ) { continue; } @@ -117,8 +120,10 @@ private void checkQualifers( TypeElement element, WebBeansModel model, private void checkTyped( TypeElement element, WebBeansModel model, Result result ) { - AnnotationMirror typed = AnnotationUtil.getAnnotationMirror(element, - model.getCompilationController(), AnnotationUtil.TYPED); + AnnotationMirror typed = AnnotationUtil.getAnnotationMirror(element, model.getCompilationController(), AnnotationUtil.TYPED_JAKARTA); + if (typed == null) { + typed = AnnotationUtil.getAnnotationMirror(element, model.getCompilationController(), AnnotationUtil.TYPED); + } if ( typed != null ){ result.addNotification( Severity.WARNING , element, model, NbBundle.getMessage(StereotypeAnalyzer.class, @@ -205,8 +210,10 @@ private Set checkDefinition( TypeElement element, private void checkName( TypeElement element, WebBeansModel model, Result result ) { - AnnotationMirror named = AnnotationUtil.getAnnotationMirror(element, - AnnotationUtil.NAMED , model.getCompilationController()); + AnnotationMirror named = AnnotationUtil.getAnnotationMirror(element, AnnotationUtil.NAMED_JAKARTA, model.getCompilationController()); + if (named == null) { + named = AnnotationUtil.getAnnotationMirror(element, AnnotationUtil.NAMED, model.getCompilationController()); + } if ( named == null ){ return; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java index 07d03d14dc36..9b64ae82aa12 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java @@ -53,22 +53,25 @@ public void analyze( VariableElement element, TypeMirror elementType, CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - if (!AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, - compInfo)) + if (! (AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN_JAKARTA, compInfo) + )) { return; } result.requireCdiEnabled(element); - if (!AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, - compInfo)) + if (! (AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN_JAKARTA, compInfo) + )) { result.addError(element, NbBundle.getMessage( DelegateFieldAnalizer.class, "ERR_DelegateHasNoInject")); // NOI18N } Element clazz = element.getEnclosingElement(); - if (!AnnotationUtil.hasAnnotation(clazz, AnnotationUtil.DECORATOR, - compInfo)) + if (! (AnnotationUtil.hasAnnotation(clazz, AnnotationUtil.DECORATOR, compInfo) + || AnnotationUtil.hasAnnotation(clazz, AnnotationUtil.DECORATOR_JAKARTA, compInfo) + )) { result.addError(element, NbBundle.getMessage( DelegateFieldAnalizer.class, diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java index 626536e2c012..971021733f3a 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java @@ -94,8 +94,10 @@ public void analyze( final VariableElement element, TypeMirror elementType, modelHandle.resolve(result.getInfo())); } } - else if ( isDelegate || AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DELEGATE_FQN, model.getCompilationController())) + else if ( isDelegate + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN_JAKARTA, model.getCompilationController()) + ) { return; } @@ -122,8 +124,10 @@ private void checkNamed( VariableElement element, WebBeansModel model, if( cancel.get() ){ return; } - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, - model.getCompilationController()) ) + if ( + AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED_JAKARTA, model.getCompilationController()) + ) { result.addNotification( Severity.WARNING , element, model, NbBundle.getMessage(InjectionPointAnalyzer.class, @@ -164,9 +168,11 @@ private void checkInjectionPointMetadata( VariableElement element, TypeMirror elementType , TypeElement parent, WebBeansModel model, AtomicBoolean cancel , Result result ) { - TypeElement injectionPointType = model.getCompilationController(). - getElements().getTypeElement(AnnotationUtil.INJECTION_POINT); - if ( injectionPointType == null ){ + TypeElement injectionPointType = model.getCompilationController().getElements().getTypeElement(AnnotationUtil.INJECTION_POINT_JAKARTA); + if (injectionPointType == null) { + injectionPointType = model.getCompilationController().getElements().getTypeElement(AnnotationUtil.INJECTION_POINT); + } + if (injectionPointType == null) { return; } Element varElement = model.getCompilationController().getTypes().asElement( @@ -182,7 +188,7 @@ private void checkInjectionPointMetadata( VariableElement element, Map qualifiersFqns = helper. getAnnotationsByType(qualifiers); boolean hasDefault = model.hasImplicitDefaultQualifier( element ); - if ( !hasDefault && qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN)){ + if ( !hasDefault && (qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN) || qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN_JAKARTA))){ hasDefault = true; } if ( !hasDefault || cancel.get() ){ @@ -190,7 +196,7 @@ private void checkInjectionPointMetadata( VariableElement element, } try { String scope = model.getScope( parent ); - if ( scope != null && !AnnotationUtil.DEPENDENT.equals( scope )){ + if ( scope != null && !AnnotationUtil.DEPENDENT.equals( scope ) && !AnnotationUtil.DEPENDENT_JAKARTA.equals( scope )){ result.addError(element , model, NbBundle.getMessage( InjectionPointAnalyzer.class, "ERR_WrongQualifierInjectionPointMeta")); // NOI18N diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java index 0e7864cef6b7..e31692daa9b7 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java @@ -47,8 +47,8 @@ public void analyze( VariableElement element, TypeMirror elementType, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - model.getCompilationController())) + if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, model.getCompilationController())) { result.requireCdiEnabled(element, model); analyzeScope(element, model, cancel , result ); @@ -62,7 +62,8 @@ public void analyze( VariableElement element, TypeMirror elementType, protected void checkScope( TypeElement scopeElement, Element element, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if ( scopeElement.getQualifiedName().contentEquals( AnnotationUtil.DEPENDENT)){ + if ( scopeElement.getQualifiedName().contentEquals( AnnotationUtil.DEPENDENT) + || scopeElement.getQualifiedName().contentEquals( AnnotationUtil.DEPENDENT_JAKARTA)){ return; } if ( cancel.get() ){ diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java index cd874245f6ff..e203a7eecd4f 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java @@ -66,10 +66,10 @@ private void checkProductionObserverDisposerInject( CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - boolean isProducer = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.PRODUCES_FQN, compInfo); - boolean isInitializer = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.INJECT_FQN, compInfo); + boolean isProducer = AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, compInfo); + boolean isInitializer = AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN_JAKARTA, compInfo); int observesCount = 0; int disposesCount = 0; List parameters = element.getParameters(); @@ -77,13 +77,13 @@ private void checkProductionObserverDisposerInject( if ( cancel.get() ){ return; } - if ( AnnotationUtil.hasAnnotation( param, AnnotationUtil.OBSERVES_FQN, - compInfo)) + if ( AnnotationUtil.hasAnnotation( param, AnnotationUtil.OBSERVES_FQN, compInfo) + || AnnotationUtil.hasAnnotation( param, AnnotationUtil.OBSERVES_FQN_JAKARTA, compInfo)) { observesCount++; } - if ( AnnotationUtil.hasAnnotation( param, AnnotationUtil.DISPOSES_FQN, - compInfo)) + if (AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN, compInfo) + || AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN_JAKARTA, compInfo)) { disposesCount++; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java index 15c34572f809..d7df2e80946e 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java @@ -58,8 +58,8 @@ public void analyze( ExecutableElement element, TypeMirror returnType, if (cancel.get()) { return; } - if (AnnotationUtil.hasAnnotation(param, - AnnotationUtil.DELEGATE_FQN, result.getInfo())) + if (AnnotationUtil.hasAnnotation(param, AnnotationUtil.DELEGATE_FQN_JAKARTA, result.getInfo()) + || AnnotationUtil.hasAnnotation(param, AnnotationUtil.DELEGATE_FQN, result.getInfo())) { result.requireCdiEnabled(element); if (cancel.get()) { @@ -90,8 +90,8 @@ private void checkClassDefinition( TypeElement parent, ExecutableElement element, VariableElement param, CdiAnalysisResult result) { - if ( !AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR, - result.getInfo())) + if ( ! ( AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR, result.getInfo()) + || AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR_JAKARTA, result.getInfo()))) { result.addError( param, NbBundle.getMessage(DelegateFieldAnalizer.class, @@ -126,8 +126,8 @@ private void checkMethodDefinition( ExecutableElement element, if ( element.getKind() == ElementKind.CONSTRUCTOR ){ return; } - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, - result.getInfo())) + if (!(AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, result.getInfo()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN_JAKARTA, result.getInfo()))) { result.addError( param, NbBundle.getMessage(DelegateMethodAnalyzer.class, diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java index 764d298f1198..98432030816c 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java @@ -78,7 +78,7 @@ public void analyze( ExecutableElement element, TypeMirror returnType, return; } if (!model.isDynamicInjectionPoint(var)) { - isDelegate =AnnotationUtil.isDelegate(var, parent, model); + isDelegate = AnnotationUtil.isDelegate(var, parent, model); if (!checkBuiltInBeans(var, getParameterType(var, element, parent, model.getCompilationController()), @@ -103,8 +103,9 @@ public void analyze( ExecutableElement element, TypeMirror returnType, } checkInjectionPointMetadata( var, element, parent , model , cancel , result ); - if ( isDelegate || AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DELEGATE_FQN, model.getCompilationController())) + if ( isDelegate + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN_JAKARTA, model.getCompilationController())) { return; } @@ -173,8 +174,10 @@ private void checkInjectionPointMetadata( VariableElement var, ExecutableElement method, TypeElement parent, WebBeansModel model, AtomicBoolean cancel , Result result ) { - TypeElement injectionPointType = model.getCompilationController() - .getElements().getTypeElement(AnnotationUtil.INJECTION_POINT); + TypeElement injectionPointType = model.getCompilationController().getElements().getTypeElement(AnnotationUtil.INJECTION_POINT_JAKARTA); + if (injectionPointType == null) { + injectionPointType = model.getCompilationController().getElements().getTypeElement(AnnotationUtil.INJECTION_POINT); + } if (injectionPointType == null) { return; } @@ -194,7 +197,8 @@ private void checkInjectionPointMetadata( VariableElement var, .getAnnotationsByType(qualifiers); boolean hasDefault = model.hasImplicitDefaultQualifier(varElement); if (!hasDefault - && qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN)) + && (qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN) + || qualifiersFqns.containsKey(AnnotationUtil.DEFAULT_FQN_JAKARTA))) { hasDefault = true; } @@ -203,7 +207,8 @@ private void checkInjectionPointMetadata( VariableElement var, } try { String scope = model.getScope(parent); - if (scope != null && !AnnotationUtil.DEPENDENT.equals(scope)) { + if (scope != null && !AnnotationUtil.DEPENDENT.equals(scope) + && !AnnotationUtil.DEPENDENT_JAKARTA.equals(scope)) { result.addError(var, method, model, NbBundle.getMessage(InjectionPointParameterAnalyzer.class,"ERR_WrongQualifierInjectionPointMeta")); // NOI18N } @@ -217,9 +222,13 @@ private void checkInjectionPointMetadata( VariableElement var, private void checkName( ExecutableElement element, VariableElement var, WebBeansModel model, Result result) { - AnnotationMirror annotation = AnnotationUtil.getAnnotationMirror( - var , AnnotationUtil.NAMED, model.getCompilationController()); - if ( annotation!= null){ + AnnotationMirror annotation = AnnotationUtil.getAnnotationMirror( + var, AnnotationUtil.NAMED_JAKARTA, model.getCompilationController()); + if (annotation == null) { + annotation = AnnotationUtil.getAnnotationMirror( + var, AnnotationUtil.NAMED, model.getCompilationController()); + } + if (annotation != null) { result.addNotification( Severity.WARNING , var, element , model, NbBundle.getMessage(InjectionPointAnalyzer.class, "WARN_NamedInjectionPoint")); // NOI18N diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java index c6ab38258335..3ae47369d9db 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java @@ -32,7 +32,6 @@ import javax.lang.model.element.TypeElement; import javax.lang.model.type.TypeKind; import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.Types; import org.netbeans.api.java.source.CompilationController; import org.netbeans.api.java.source.ElementHandle; @@ -141,8 +140,9 @@ public void analyze( ExecutableElement element, TypeMirror returnType, InterceptedMethodAnalyzer.class, "ERR_FinalInterceptedMethod")); // NOI18N } - if ( finalClass && !AnnotationUtil.hasAnnotation(parent, - AnnotationUtil.INTERCEPTOR, model.getCompilationController())) + if (finalClass + && !AnnotationUtil.hasAnnotation(parent, AnnotationUtil.INTERCEPTOR, model.getCompilationController()) + && !AnnotationUtil.hasAnnotation(parent, AnnotationUtil.INTERCEPTOR_JAKARTA, model.getCompilationController())) { result.addError(element, model, NbBundle.getMessage( diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java index 176d76a4371e..58a7e9651861 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java @@ -50,8 +50,8 @@ public class ProducerMethodAnalyzer extends AbstractProducerAnalyzer public void analyze( ExecutableElement element, TypeMirror returnType, TypeElement parent, AtomicBoolean cancel , CdiAnalysisResult result ) { - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - result.getInfo() )) + if (!(AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, result.getInfo()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, result.getInfo()))) { return; } @@ -90,8 +90,8 @@ protected void hasWildCard( Element element, TypeMirror type, private void checkSpecializes(ExecutableElement element, CdiAnalysisResult result ) { - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, - result.getInfo() )) + if (!(AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, result.getInfo()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES_JAKARTA, result.getInfo()))) { return; } @@ -112,9 +112,9 @@ private void checkSpecializes(ExecutableElement element, CdiAnalysisResult resul TypeElement containingClass = compInfo.getElementUtilities(). enclosingTypeElement( element ); TypeMirror typeDirectSuper = containingClass.getSuperclass(); - if ( !superClass.equals(compInfo.getTypes().asElement(typeDirectSuper)) || - !AnnotationUtil.hasAnnotation(overridenMethod, - AnnotationUtil.PRODUCES_FQN, compInfo)) + if (!superClass.equals(compInfo.getTypes().asElement(typeDirectSuper)) + || (!AnnotationUtil.hasAnnotation(overridenMethod, AnnotationUtil.PRODUCES_FQN, compInfo) + && !AnnotationUtil.hasAnnotation(overridenMethod, AnnotationUtil.PRODUCES_FQN_JAKARTA, compInfo))) { result.addError( element, NbBundle.getMessage( ProducerMethodAnalyzer.class, diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java index df457a740619..7462659245f0 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java @@ -51,8 +51,8 @@ public void analyze( ExecutableElement element, TypeMirror returnType, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - model.getCompilationController())) + if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, model.getCompilationController())) { result.requireCdiEnabled(element,model); analyzeScope(element, model, cancel, result ); @@ -66,7 +66,8 @@ public void analyze( ExecutableElement element, TypeMirror returnType, protected void checkScope( TypeElement scopeElement, Element element, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if ( scopeElement.getQualifiedName().contentEquals( AnnotationUtil.DEPENDENT)){ + if (scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT) + || scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT_JAKARTA)) { return; } TypeMirror methodType = element.asType(); diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java index bd54a085b841..4950039c943a 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java @@ -85,8 +85,8 @@ protected void checkSpecializes( Element element, TypeMirror elementType, List restrictedTypes, AtomicBoolean cancel , CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - if (!AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - compInfo)) + if (!AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, compInfo) + && !AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, compInfo)) { return; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java index c7ff031c2fe3..d39453a7b8dd 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java @@ -56,10 +56,10 @@ private void checkDecoratorInterceptor( TypeElement element, AtomicBoolean cancel , CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - boolean isDecorator = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DECORATOR, compInfo); - boolean isInterceptor = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.INTERCEPTOR, compInfo); + boolean isDecorator = AnnotationUtil.hasAnnotation(element, AnnotationUtil.DECORATOR, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DECORATOR_JAKARTA, compInfo); + boolean isInterceptor = AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR, compInfo) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_JAKARTA, compInfo); if ( isDecorator && isInterceptor ){ result.addError( element, NbBundle.getMessage( AnnotationsAnalyzer.class, "ERR_DecoratorInterceptor"));// NOI18N @@ -101,8 +101,8 @@ private void checkDecoratorInterceptor( TypeElement element, private void checkSpecializes( TypeElement element, CdiAnalysisResult result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, - result.getInfo()) ) + if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, result.getInfo()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES_JAKARTA, result.getInfo())) { result.addNotification(Severity.WARNING, element, NbBundle.getMessage( AnnotationsAnalyzer.class, @@ -113,8 +113,8 @@ private void checkSpecializes( TypeElement element, CdiAnalysisResult result ) private void checkAlternatives( TypeElement element, CdiAnalysisResult result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.ALTERNATVE, - result.getInfo())) + if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.ALTERNATVE, result.getInfo()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.ALTERNATVE_JAKARTA, result.getInfo())) { result.addNotification(Severity.WARNING, element, NbBundle.getMessage( AnnotationsAnalyzer.class, @@ -123,8 +123,8 @@ private void checkAlternatives( TypeElement element, } private void checkNamed( TypeElement element, CdiAnalysisResult result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, - result.getInfo())) + if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, result.getInfo()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED_JAKARTA, result.getInfo())) { result.addNotification(Severity.WARNING, element, NbBundle.getMessage( AnnotationsAnalyzer.class, "WARN_NamedInterceptorDecorator")); // NOI18N @@ -142,14 +142,17 @@ private void checkDelegateInjectionPoint( TypeElement element, { count +=delegateInjectionPointCount(child, compInfo); } - else if ( ! AnnotationUtil.hasAnnotation(child, AnnotationUtil.INJECT_FQN, - compInfo )) + else if ( ! ( + AnnotationUtil.hasAnnotation(child, AnnotationUtil.INJECT_FQN, compInfo ) + || AnnotationUtil.hasAnnotation(child, AnnotationUtil.INJECT_FQN_JAKARTA, compInfo ) + )) { continue; } - if ( child.getKind() == ElementKind.FIELD && AnnotationUtil. - hasAnnotation(child, AnnotationUtil.DELEGATE_FQN, compInfo )) - { + if ((child.getKind() == ElementKind.FIELD + && AnnotationUtil.hasAnnotation(child, AnnotationUtil.DELEGATE_FQN, compInfo)) + || (child.getKind() == ElementKind.FIELD + && AnnotationUtil.hasAnnotation(child, AnnotationUtil.DELEGATE_FQN_JAKARTA, compInfo))) { count++; } else if ( child.getKind() ==ElementKind.METHOD ) @@ -170,8 +173,10 @@ private int delegateInjectionPointCount(Element element , ExecutableElement method = (ExecutableElement)element; List parameters = method.getParameters(); for (VariableElement par : parameters) { - if ( AnnotationUtil.hasAnnotation(par, AnnotationUtil.DELEGATE_FQN, - compInfo)) + if ( + AnnotationUtil.hasAnnotation(par, AnnotationUtil.DELEGATE_FQN, compInfo) + || AnnotationUtil.hasAnnotation(par, AnnotationUtil.DELEGATE_FQN_JAKARTA, compInfo) + ) { result++; } @@ -196,20 +201,19 @@ private void checkMethods( TypeElement element, boolean isDecorator, List methods = ElementFilter.methodsIn( element.getEnclosedElements()); for (ExecutableElement method : methods) { - boolean isProducer = AnnotationUtil.hasAnnotation(method, - AnnotationUtil.PRODUCES_FQN, compInfo); + boolean isProducer = AnnotationUtil.hasAnnotation(method, AnnotationUtil.PRODUCES_FQN, compInfo) + || AnnotationUtil.hasAnnotation(method, AnnotationUtil.PRODUCES_FQN_JAKARTA, compInfo); boolean isDisposer = false; boolean isObserver = false; List parameters = method.getParameters(); for (VariableElement param : parameters) { - if ( AnnotationUtil.hasAnnotation( param , AnnotationUtil.DISPOSES_FQN, - compInfo)) - { + if (AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN, compInfo) + || AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN_JAKARTA, compInfo)) { isDisposer = true; break; } - if ( AnnotationUtil.hasAnnotation( param , AnnotationUtil.OBSERVES_FQN, - compInfo)) + if ( AnnotationUtil.hasAnnotation( param , AnnotationUtil.OBSERVES_FQN, compInfo) + || AnnotationUtil.hasAnnotation( param , AnnotationUtil.OBSERVES_FQN_JAKARTA, compInfo)) { isObserver = true; break; @@ -260,8 +264,8 @@ private void checkProducerFields( TypeElement element, boolean isDecorator, List fields = ElementFilter.fieldsIn( element.getEnclosedElements() ); for (VariableElement field : fields) { - if ( AnnotationUtil.hasAnnotation(field, AnnotationUtil.PRODUCES_FQN, - result.getInfo())) + if ( AnnotationUtil.hasAnnotation(field, AnnotationUtil.PRODUCES_FQN_JAKARTA, result.getInfo()) + || AnnotationUtil.hasAnnotation(field, AnnotationUtil.PRODUCES_FQN, result.getInfo())) { String key= isDecorator ? "ERR_DecoratorHasProducerField": "ERR_IntrerceptorHasProducerField"; // NOI18N diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/Bundle.properties b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/Bundle.properties index bc718fc65009..7b8b0d099fc1 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/Bundle.properties +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/Bundle.properties @@ -21,7 +21,7 @@ the unrestricted set of bean types of a bean. ERR_NonStaticInnerType=Non-static inner class cannot be managed bean or \ superclass of managed bean. WARN_QualifiedElementExtension=The element is not managed bean: it has \ -qualifiers but implements javax.enterprise.inject.spi.Extension. +qualifiers but implements jakarta/javax.enterprise.inject.spi.Extension. WARN_QualifierAbstractClass=The element is not managed bean: it has \ qualifiers but has abstract modifier. WARN_QualifierNoCtorClass=The element is not managed bean: it has \ diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/CtorsAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/CtorsAnalyzer.java index 2b7804b45f56..9b0921b152c8 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/CtorsAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/CtorsAnalyzer.java @@ -51,8 +51,10 @@ public void analyze( TypeElement element, TypeElement parent, if ( cancel.get() ){ return; } - if ( AnnotationUtil.hasAnnotation( ctor , AnnotationUtil.INJECT_FQN, - result.getInfo())) + if ( + AnnotationUtil.hasAnnotation( ctor , AnnotationUtil.INJECT_FQN, result.getInfo()) + || AnnotationUtil.hasAnnotation( ctor , AnnotationUtil.INJECT_FQN_JAKARTA, result.getInfo()) + ) { result.requireCdiEnabled( ctor ); injectCtorCount++; diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java index fe8976c476d3..b0bd3744c729 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java @@ -53,8 +53,8 @@ public void analyze( TypeElement element, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR, - model.getCompilationController() )) + if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_JAKARTA, model.getCompilationController())) { result.requireCdiEnabled(element, model); // rule should not be applied to interceptor diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java index 74b303850ac8..74c44472d126 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java @@ -47,6 +47,7 @@ public class ManagedBeansAnalizer implements ClassAnalyzer { private static final String EXTENSION = "javax.enterprise.inject.spi.Extension"; //NOI18N + private static final String EXTENSION_JAKARTA = "jakarta.enterprise.inject.spi.Extension"; //NOI18N /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) @@ -99,8 +100,10 @@ private void checkDecorators( TypeElement element, WebBeansModel model, private void checkImplementsExtension( TypeElement element, WebBeansModel model, Result result ) { - TypeElement extension = model.getCompilationController().getElements(). - getTypeElement(EXTENSION); + TypeElement extension = model.getCompilationController().getElements().getTypeElement(EXTENSION_JAKARTA); + if (extension == null) { + extension = model.getCompilationController().getElements().getTypeElement(EXTENSION); + } if ( extension == null ){ return; } @@ -117,12 +120,12 @@ private void checkAbstract( TypeElement element, WebBeansModel model, Result result ) { Set modifiers = element.getModifiers(); - if ( modifiers.contains( Modifier.ABSTRACT )){ - if ( AnnotationUtil.hasAnnotation(element, - AnnotationUtil.DECORATOR, model.getCompilationController()) ){ + if (modifiers.contains(Modifier.ABSTRACT)) { + if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.DECORATOR, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DECORATOR_JAKARTA, model.getCompilationController())) { return; } - + // element is abstract and has no Decorator annotation result.addNotification( Severity.WARNING, element, model, NbBundle.getMessage(ManagedBeansAnalizer.class, @@ -158,8 +161,10 @@ private void checkCtor( TypeElement element, WebBeansModel model, if ( parameters.size() ==0 ){ return; } - if ( AnnotationUtil.hasAnnotation(ctor, AnnotationUtil.INJECT_FQN, - model.getCompilationController())) + if ( + AnnotationUtil.hasAnnotation(ctor, AnnotationUtil.INJECT_FQN, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(ctor, AnnotationUtil.INJECT_FQN_JAKARTA, model.getCompilationController()) + ) { return; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java index d3830d41c19e..9d264494e9c3 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java @@ -45,14 +45,16 @@ public void analyze( TypeElement element, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, - model.getCompilationController())) + if ( ! ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, model.getCompilationController())) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES_JAKARTA, model.getCompilationController())) { return; } result.requireCdiEnabled(element, model); - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, - model.getCompilationController())) + if ( !( + AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED_JAKARTA, model.getCompilationController()) + )) { return; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java index 1c5e15138958..d94dc998344a 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java @@ -101,8 +101,10 @@ private void checkPassivationCapable( TypeElement scopeElement, return; } if ( AnnotationUtil.isSessionBean(element, model.getCompilationController())){ - if ( AnnotationUtil.hasAnnotation(element, - AnnotationUtil.STATEFUL, model.getCompilationController())) + if ( + AnnotationUtil.hasAnnotation(element, AnnotationUtil.STATEFUL, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.STATEFUL_JAKARTA, model.getCompilationController()) + ) { return; } @@ -126,12 +128,18 @@ private void checkPassivationCapable( TypeElement scopeElement, private void checkInterceptorDecorator( TypeElement scopeElement, Element element, WebBeansModel model, Result result ) { - if ( scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT)){ + if ( scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT) + || scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT_JAKARTA)){ return; } AnnotationMirror annotationMirror = AnnotationUtil.getAnnotationMirror( element, model.getCompilationController(), - AnnotationUtil.INTERCEPTOR, AnnotationUtil.DECORATOR); + AnnotationUtil.INTERCEPTOR_JAKARTA, AnnotationUtil.DECORATOR_JAKARTA); + if (annotationMirror == null) { + annotationMirror = AnnotationUtil.getAnnotationMirror( + element, model.getCompilationController(), + AnnotationUtil.INTERCEPTOR, AnnotationUtil.DECORATOR); + } if ( annotationMirror!= null ){ result.addNotification( Severity.WARNING, element, model, NbBundle.getMessage(ScopedBeanAnalyzer.class, @@ -143,9 +151,8 @@ private void checkParameterizedBean( TypeElement scopeElement, Element element, WebBeansModel model, Result result ) { - if ( AnnotationUtil.DEPENDENT.contentEquals( - scopeElement.getQualifiedName())) - { + if ( scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT) + || scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT_JAKARTA)){ return; } result.requireCdiEnabled(element, model); @@ -163,9 +170,8 @@ private void checkParameterizedBean( TypeElement scopeElement, private void checkPublicField( TypeElement scopeElement, Element element, WebBeansModel model, Result result ) { - if ( AnnotationUtil.DEPENDENT.contentEquals( - scopeElement.getQualifiedName())) - { + if ( scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT) + || scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT_JAKARTA)){ return; } result.requireCdiEnabled(element, model); @@ -187,8 +193,8 @@ private void checkPublicField( TypeElement scopeElement, Element element, private void checkProxiability( TypeElement scopeElement, Element element, WebBeansModel model, Result result ) { - boolean isNormal = AnnotationUtil.hasAnnotation(scopeElement, - AnnotationUtil.NORMAL_SCOPE_FQN, model.getCompilationController()); + boolean isNormal = AnnotationUtil.hasAnnotation(scopeElement, AnnotationUtil.NORMAL_SCOPE_FQN, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(scopeElement, AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA, model.getCompilationController()); if ( isNormal ){ result.requireCdiEnabled(element, model); checkFinal( element , model, result ); diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java index befacbc40238..2cee32dc972e 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java @@ -45,18 +45,20 @@ public void analyze( TypeElement element, TypeElement parent, WebBeansModel model, AtomicBoolean cancel , Result result ) { - boolean isSingleton = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.SINGLETON, model.getCompilationController()); - boolean isStateless = AnnotationUtil.hasAnnotation(element, - AnnotationUtil.STATELESS, model.getCompilationController()); + boolean isSingleton = AnnotationUtil.hasAnnotation(element, AnnotationUtil.SINGLETON, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SINGLETON_JAKARTA, model.getCompilationController()); + boolean isStateless = AnnotationUtil.hasAnnotation(element, AnnotationUtil.STATELESS, model.getCompilationController()) + || AnnotationUtil.hasAnnotation(element, AnnotationUtil.STATELESS_JAKARTA, model.getCompilationController()); if ( cancel.get() ){ return; } try { String scope = model.getScope( element ); if ( isSingleton ) { - if ( AnnotationUtil.APPLICATION_SCOPED.equals( scope ) || - AnnotationUtil.DEPENDENT.equals( scope ) ) + if ( AnnotationUtil.APPLICATION_SCOPED.equals( scope ) + || AnnotationUtil.DEPENDENT.equals( scope ) + || AnnotationUtil.APPLICATION_SCOPED_JAKARTA.equals( scope ) + || AnnotationUtil.DEPENDENT_JAKARTA.equals( scope ) ) { return; } @@ -66,7 +68,8 @@ public void analyze( TypeElement element, TypeElement parent, "ERR_InvalidSingletonBeanScope")); // NOI18N } else if ( isStateless ) { - if ( !AnnotationUtil.DEPENDENT.equals( scope ) ) + if (!AnnotationUtil.DEPENDENT.equals(scope) + && !AnnotationUtil.DEPENDENT_JAKARTA.equals(scope)) { result.addError( element, model, NbBundle.getMessage(SessionBeanAnalyzer.class, diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/api/model/WebBeansModel.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/api/model/WebBeansModel.java index 7dc8fda86684..0bb714900273 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/api/model/WebBeansModel.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/api/model/WebBeansModel.java @@ -114,7 +114,8 @@ public boolean isEventInjectionPoint( VariableElement element ) if ( typeElement instanceof TypeElement ){ String typeElementFqn = ((TypeElement)typeElement).getQualifiedName(). toString(); - if ( WebBeansModelProviderImpl.EVENT_INTERFACE.equals( typeElementFqn )){ + if ( WebBeansModelProviderImpl.EVENT_INTERFACE.equals( typeElementFqn ) + || WebBeansModelProviderImpl.EVENT_INTERFACE_JAKARTA.equals( typeElementFqn )){ try { return isInjectionPoint(element); } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/completion/BeansCompletor.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/completion/BeansCompletor.java index e23a626a7b6c..ca161e7fe0e2 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/completion/BeansCompletor.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/completion/BeansCompletor.java @@ -147,7 +147,7 @@ private static boolean isAlternative(TypeElement te) { for (AnnotationMirror annotation : annotationMirrors) { if (annotation.getAnnotationType().asElement() instanceof TypeElement) { String typeName = ((TypeElement) annotation.getAnnotationType().asElement()).getQualifiedName().toString(); - if (AnnotationUtil.ALTERNATVE.equals(typeName)) { + if (AnnotationUtil.ALTERNATVE.equals(typeName) || AnnotationUtil.ALTERNATVE_JAKARTA.equals(typeName)) { return true; } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/hints/CreateQualifier.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/hints/CreateQualifier.java index 196391de166a..da4e527f5d3a 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/hints/CreateQualifier.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/hints/CreateQualifier.java @@ -34,10 +34,6 @@ import javax.lang.model.element.PackageElement; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; -import javax.lang.model.type.DeclaredType; - -import org.netbeans.api.editor.EditorRegistry; -import org.netbeans.api.j2ee.core.Profile; import org.netbeans.api.java.lexer.JavaTokenId; import org.netbeans.api.java.source.CompilationInfo; import org.netbeans.api.java.source.ElementHandle; @@ -47,8 +43,6 @@ import org.netbeans.api.lexer.TokenHierarchy; import org.netbeans.api.lexer.TokenSequence; import org.netbeans.modules.java.hints.spi.ErrorRule; -import org.netbeans.modules.editor.NbEditorUtilities; -import org.netbeans.modules.web.api.webmodule.WebModule; import org.netbeans.modules.web.beans.navigation.actions.WebBeansActionHelper; import org.netbeans.spi.editor.hints.Fix; import org.openide.filesystems.FileObject; @@ -64,22 +58,22 @@ * */ public class CreateQualifier implements ErrorRule { - - private static final String INJECT_ANNOTATION = - "javax.inject.Inject"; // NOI18N - - private static final String DISPOSES_ANNOTATION = - "javax.enterprise.inject.Disposes"; // NOI18N - private static final String OBSERVES_ANNOTATION = - "javax.enterprise.event.Observes"; // NOI18N - - private static final String PRODUCER_ANNOTATION = - "javax.enterprise.inject.Produces"; // NOI18N - - private static final String INTERCEPTOR_ANNOTATION = - "javax.interceptor.Interceptor"; // NOI18N - + private static final String INJECT_ANNOTATION = "javax.inject.Inject"; // NOI18N + private static final String INJECT_ANNOTATION_JAKARTA = "jakarta.inject.Inject"; // NOI18N + + private static final String DISPOSES_ANNOTATION = "javax.enterprise.inject.Disposes"; // NOI18N + private static final String DISPOSES_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.Disposes"; // NOI18N + + private static final String OBSERVES_ANNOTATION = "javax.enterprise.event.Observes"; // NOI18N + private static final String OBSERVES_ANNOTATION_JAKARTA = "jakarta.enterprise.event.Observes"; // NOI18N + + private static final String PRODUCER_ANNOTATION = "javax.enterprise.inject.Produces"; // NOI18N + private static final String PRODUCER_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.Produces"; // NOI18N + + private static final String INTERCEPTOR_ANNOTATION = "javax.interceptor.Interceptor"; // NOI18N + private static final String INTERCEPTOR_ANNOTATION_JAKARTA = "jakarta.interceptor.Interceptor"; // NOI18N + /* (non-Javadoc) * @see org.netbeans.modules.java.hints.spi.Rule#getId() @@ -212,10 +206,12 @@ private List analyzeMethodParameter( CompilationInfo compilationInfo, for (AnnotationMirror annotationMirror : allAnnotationMirrors) { TypeElement annotationElement = (TypeElement)annotationMirror. getAnnotationType().asElement(); - if ( annotationElement != null && annotationElement.getQualifiedName(). - contentEquals(INJECT_ANNOTATION) || - annotationElement.getQualifiedName(). - contentEquals(PRODUCER_ANNOTATION)) + if (annotationElement != null && ( + annotationElement.getQualifiedName().contentEquals(INJECT_ANNOTATION) + || annotationElement.getQualifiedName().contentEquals(PRODUCER_ANNOTATION) + || annotationElement.getQualifiedName().contentEquals(INJECT_ANNOTATION_JAKARTA) + || annotationElement.getQualifiedName().contentEquals(PRODUCER_ANNOTATION_JAKARTA) + )) { return createQualifierFix(compilationInfo, annotation, parent); @@ -230,10 +226,12 @@ private List analyzeMethodParameter( CompilationInfo compilationInfo, for (AnnotationMirror annotationMirror : allAnnotationMirrors) { TypeElement annotationElement = (TypeElement)annotationMirror. getAnnotationType().asElement(); - if ( annotationElement != null && annotationElement.getQualifiedName(). - contentEquals( OBSERVES_ANNOTATION ) || - annotationElement.getQualifiedName(). - contentEquals( DISPOSES_ANNOTATION )) + if ( annotationElement != null && ( + annotationElement.getQualifiedName().contentEquals( OBSERVES_ANNOTATION ) + || annotationElement.getQualifiedName().contentEquals( DISPOSES_ANNOTATION ) + || annotationElement.getQualifiedName().contentEquals( OBSERVES_ANNOTATION_JAKARTA ) + || annotationElement.getQualifiedName().contentEquals( DISPOSES_ANNOTATION_JAKARTA ) + )) { hasDisposesObserves= true; } @@ -294,11 +292,13 @@ private List analyzeField( CompilationInfo compilationInfo, { hasRequiredAnnotation = true; } - else if ( annotationTypeElement!= null && - annotationTypeElement.getQualifiedName().contentEquals( - INJECT_ANNOTATION) || - annotationTypeElement.getQualifiedName(). - contentEquals(PRODUCER_ANNOTATION)) + else if ( annotationTypeElement!= null && ( + annotationTypeElement.getQualifiedName().contentEquals(INJECT_ANNOTATION) + || annotationTypeElement.getQualifiedName().contentEquals(PRODUCER_ANNOTATION) + || annotationTypeElement.getQualifiedName().contentEquals(INJECT_ANNOTATION_JAKARTA) + || annotationTypeElement.getQualifiedName().contentEquals(PRODUCER_ANNOTATION_JAKARTA) + ) + ) { isInjectionPoint = true; } @@ -322,8 +322,11 @@ private List analyzeClass( CompilationInfo compilationInfo, hasAnnotation = true; } if ( annotationElement instanceof TypeElement && - ((TypeElement)annotationElement).getQualifiedName(). - contentEquals(INTERCEPTOR_ANNOTATION)) + ( + ((TypeElement)annotationElement).getQualifiedName().contentEquals(INTERCEPTOR_ANNOTATION) + || ((TypeElement)annotationElement).getQualifiedName().contentEquals(INTERCEPTOR_ANNOTATION_JAKARTA) + ) + ) { isInterceptor = true; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/AbstractObjectProvider.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/AbstractObjectProvider.java index b40bc8c255d4..e3136dc59ae6 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/AbstractObjectProvider.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/AbstractObjectProvider.java @@ -18,6 +18,7 @@ */ package org.netbeans.modules.web.beans.impl.model; +import java.util.ArrayList; import java.util.Collections; import java.util.EnumSet; import java.util.LinkedList; @@ -41,10 +42,10 @@ abstract class AbstractObjectProvider { - AbstractObjectProvider(String annotation , AnnotationModelHelper helper) + AbstractObjectProvider(List annotation , AnnotationModelHelper helper) { myHelper = helper; - myAnnotationName = annotation; + myAnnotationName = List.copyOf(annotation); } /* (non-Javadoc) @@ -53,17 +54,18 @@ abstract class AbstractObjectProvider createInitialObjects() throws InterruptedException { final List result = new LinkedList(); - getHelper().getAnnotationScanner().findAnnotations( - getAnnotation(), - EnumSet.of(ElementKind.CLASS, ElementKind.INTERFACE), - new AnnotationHandler() { - @Override - public void handleAnnotation(TypeElement type, - Element element, AnnotationMirror annotation) - { - result.add(createTypeElement(type)); - } - }); + for (String annotation : myAnnotationName) { + getHelper().getAnnotationScanner().findAnnotations( + annotation, + EnumSet.of(ElementKind.CLASS, ElementKind.INTERFACE), + new AnnotationHandler() { + @Override + public void handleAnnotation(TypeElement type, + Element element, AnnotationMirror annotation) { + result.add(createTypeElement(type)); + } + }); + } return result; } @@ -72,11 +74,12 @@ public void handleAnnotation(TypeElement type, */ @Override public List createObjects( TypeElement type ) { - if ((type.getKind() == ElementKind.CLASS || type.getKind() == ElementKind.INTERFACE) - && getHelper().hasAnnotation(type.getAnnotationMirrors(), - getAnnotation())) - { - return Collections.singletonList(createTypeElement(type)); + for (String annotation : myAnnotationName) { + if ((type.getKind() == ElementKind.CLASS || type.getKind() == ElementKind.INTERFACE) + && getHelper().hasAnnotation(type.getAnnotationMirrors(), + annotation)) { + return Collections.singletonList(createTypeElement(type)); + } } return Collections.emptyList(); } @@ -126,15 +129,16 @@ protected AnnotationModelHelper getHelper(){ return myHelper; } - protected String getAnnotation(){ + protected List getAnnotation(){ return myAnnotationName; } public static List getNamedMembers( AnnotationModelHelper helper ) { - List namedMembers = getAnnotatedMembers( - FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper); - return namedMembers; + List namedMembers = new ArrayList<>(); + namedMembers.addAll(getAnnotatedMembers(FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION_JAKARTA, helper)); + namedMembers.addAll(getAnnotatedMembers(FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper)); + return namedMembers; } static interface Refreshable { @@ -142,6 +146,6 @@ static interface Refreshable { } private AnnotationModelHelper myHelper; - private String myAnnotationName; + private List myAnnotationName; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/AnnotationObjectProvider.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/AnnotationObjectProvider.java index 69cdde6a2206..3bc714de55ff 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/AnnotationObjectProvider.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/AnnotationObjectProvider.java @@ -63,15 +63,15 @@ */ public class AnnotationObjectProvider implements ObjectProvider { - private static final String SPECILIZES_ANNOTATION = - "javax.enterprise.inject.Specializes"; // NOI18N + private static final String SPECILIZES_ANNOTATION = "javax.enterprise.inject.Specializes"; // NOI18N + private static final String SPECILIZES_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.Specializes"; // NOI18N static final Logger LOGGER = Logger.getLogger( AnnotationObjectProvider.class.getName()); - AnnotationObjectProvider( AnnotationModelHelper helper , String annotation) { + AnnotationObjectProvider( AnnotationModelHelper helper , List annotation) { myHelper = helper; - myAnnotationName = annotation; + myAnnotationNames = List.copyOf(annotation); } /* (non-Javadoc) @@ -80,36 +80,35 @@ public class AnnotationObjectProvider implements ObjectProvider createInitialObjects() throws InterruptedException { final List result = new LinkedList(); - final Set set = new HashSet(); - getHelper().getAnnotationScanner().findAnnotations(getAnnotationName(), - AnnotationScanner.TYPE_KINDS, - new AnnotationHandler() { - @Override - public void handleAnnotation(TypeElement type, - Element element, AnnotationMirror annotation) - { - if ( !set.contains( type )){ - result.add( new BindingQualifier( getHelper(), type , - getAnnotationName())); - } - set.add( type ); - if ( !getHelper().hasAnnotation( annotation. - getAnnotationType().asElement(). - getAnnotationMirrors(), - Inherited.class.getCanonicalName())) - { - /* + final Set set = new HashSet(); + for (String myAnnotationName : myAnnotationNames) { + getHelper().getAnnotationScanner().findAnnotations(myAnnotationName, + AnnotationScanner.TYPE_KINDS, + new AnnotationHandler() { + @Override + public void handleAnnotation(TypeElement type, + Element element, AnnotationMirror annotation) { + if (!set.contains(type)) { + result.add(new BindingQualifier(getHelper(), type, myAnnotationName)); + } + set.add(type); + if (!getHelper().hasAnnotation(annotation. + getAnnotationType().asElement(). + getAnnotationMirrors(), + Inherited.class.getCanonicalName())) { + /* * if annotation is inherited then method * findAnnotations() * method will return types with this annotation. * Otherwise there could be implementors which * specialize this type. - */ - collectSpecializedImplementors( type , set, result ); - } + */ + collectSpecializedImplementors(type, set, result, myAnnotationName); } + } - } ); + }); + } return new ArrayList( result ); } @@ -122,18 +121,18 @@ public List createObjects( TypeElement type ) { Map annotationsByType = getHelper().getAnnotationsByType(getHelper().getCompilationController(). getElements().getAllAnnotationMirrors( type )); - AnnotationMirror annotationMirror = annotationsByType.get( - getAnnotationName()); - if (annotationMirror != null ) { - result.add( new BindingQualifier(getHelper(), type, getAnnotationName())); - } - if ( annotationMirror == null || !getHelper().hasAnnotation( annotationMirror. - getAnnotationType().asElement(). - getAnnotationMirrors(), - Inherited.class.getCanonicalName())) - { - if ( checkSuper( type , getAnnotationName() , getHelper())!= null ){ - result.add( new BindingQualifier( getHelper(), type, getAnnotationName()) ); + for (String myAnnotationName : myAnnotationNames) { + AnnotationMirror annotationMirror = annotationsByType.get(myAnnotationName); + if (annotationMirror != null) { + result.add(new BindingQualifier(getHelper(), type, myAnnotationName)); + } + if (annotationMirror == null || !getHelper().hasAnnotation(annotationMirror. + getAnnotationType().asElement(). + getAnnotationMirrors(), + Inherited.class.getCanonicalName())) { + if (checkSuper(type, myAnnotationName, getHelper()) != null) { + result.add(new BindingQualifier(getHelper(), type, myAnnotationName)); + } } } return result; @@ -197,8 +196,8 @@ static TypeElement checkSuper( TypeElement type , final String annotationName, @Override public boolean visit( TypeElement element ) { - if ( FieldInjectionPointLogic.DEFAULT_QUALIFIER_ANNOTATION.equals( - annotationName)) + if (FieldInjectionPointLogic.DEFAULT_QUALIFIER_ANNOTATION.equals(annotationName) + || FieldInjectionPointLogic.DEFAULT_QUALIFIER_ANNOTATION_JAKARTA.equals(annotationName)) { if ( checkSpecializedDefault( element, helper )){ result[0] = element; @@ -227,20 +226,25 @@ public boolean visit( ExecutableElement element ) { * In this case @Default is not "inherited" by child from parents. */ static boolean checkSpecializedDefault( Element element , AnnotationModelHelper helper){ - return helper.hasAnnotation( helper.getCompilationController(). - getElements().getAllAnnotationMirrors(element), - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION); + return helper.hasAnnotation(helper.getCompilationController(). + getElements().getAllAnnotationMirrors(element), + WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION_JAKARTA) + || helper.hasAnnotation(helper.getCompilationController(). + getElements().getAllAnnotationMirrors(element), + WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION); } static boolean checkDefault( Element element , AnnotationModelHelper helper){ Set qualifierNames = getQualifiers(element, helper , false ); - if ( qualifierNames.contains( - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION)) + if (qualifierNames.contains(WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION) + || qualifierNames.contains(WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION_JAKARTA)) { return true; } qualifierNames.remove( ParameterInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION); qualifierNames.remove( ParameterInjectionPointLogic.ANY_QUALIFIER_ANNOTATION); + qualifierNames.remove( ParameterInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION_JAKARTA); + qualifierNames.remove( ParameterInjectionPointLogic.ANY_QUALIFIER_ANNOTATION_JAKARTA); if ( qualifierNames.size() == 0 ){ return true; } @@ -298,7 +302,8 @@ static boolean isQualifier( TypeElement annotationElement , public static boolean hasSpecializes( Element element , AnnotationModelHelper helper ) { - return hasAnnotation(element , SPECILIZES_ANNOTATION , helper ); + return hasAnnotation(element, SPECILIZES_ANNOTATION, helper) + || hasAnnotation(element, SPECILIZES_ANNOTATION_JAKARTA, helper); } static boolean hasAnnotation( Element element, String annotation, @@ -311,16 +316,12 @@ static boolean hasAnnotation( Element element, String annotation, annotation ); } - private String getAnnotationName(){ - return myAnnotationName; - } - private AnnotationModelHelper getHelper(){ return myHelper; } private void collectSpecializedImplementors( TypeElement type, Set set, - List bindings ) + List bindings, String annotationName) { Set result = new HashSet(); Set toProcess = new HashSet(); @@ -342,7 +343,7 @@ private void collectSpecializedImplementors( TypeElement type, Set if (!hasSpecializes(derivedElement, getHelper())) { continue; } - handleSuper(type, derivedElement, bindings, set); + handleSuper(type, derivedElement, bindings, set, annotationName); } } @@ -416,7 +417,8 @@ private boolean handleInterface( TypeElement element, TypeElement child, } private void handleSuper(TypeElement type ,TypeElement child, - List bindings, Set set) + List bindings, Set set, + String annotationName) { if ( !getHelper().getCompilationController().getTypes().isAssignable( child.asType(), type.asType())) @@ -453,7 +455,7 @@ private void handleSuper(TypeElement type ,TypeElement child, if (!set.contains(superElement)) { set.add(superElement); bindings.add(new BindingQualifier(getHelper(), superElement, - getAnnotationName())); + annotationName)); } } } @@ -469,6 +471,6 @@ static interface SpecializeVisitor { } private AnnotationModelHelper myHelper; - private String myAnnotationName; + private List myAnnotationNames; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ArchiveTypeBindingTypeFilter.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ArchiveTypeBindingTypeFilter.java index cae046c51f59..ca37b8efa89e 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ArchiveTypeBindingTypeFilter.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ArchiveTypeBindingTypeFilter.java @@ -61,14 +61,22 @@ void filter(Set set) { Element element = iterator.next(); //TODO: reqwrite with ScopeChecker, avoid duplicates boolean isNormalScopeOrScopeOrSingleton = AnnotationUtil.getAnnotationMirror(element, compInfo, - AnnotationUtil.NORMAL_SCOPE_FQN, - AnnotationUtil.SCOPE_FQN, - AnnotationUtil.REQUEST_SCOPE_FQN, + AnnotationUtil.NORMAL_SCOPE_FQN, + AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA, + AnnotationUtil.SCOPE_FQN, + AnnotationUtil.SCOPE_FQN_JAKARTA, + AnnotationUtil.REQUEST_SCOPE_FQN, + AnnotationUtil.REQUEST_SCOPE_FQN_JAKARTA, AnnotationUtil.SESSION_SCOPE_FQN, - AnnotationUtil.APPLICATION_SCOPE_FQN, - AnnotationUtil.CONVERSATION_SCOPE_FQN, + AnnotationUtil.SESSION_SCOPE_FQN_JAKARTA, + AnnotationUtil.APPLICATION_SCOPE_FQN, + AnnotationUtil.APPLICATION_SCOPE_FQN_JAKARTA, + AnnotationUtil.CONVERSATION_SCOPE_FQN, + AnnotationUtil.CONVERSATION_SCOPE_FQN_JAKARTA, AnnotationUtil.DEPENDENT_SCOPE_FQN, - AnnotationUtil.CDISINGLETON) != null; + AnnotationUtil.DEPENDENT_SCOPE_FQN_JAKARTA, + AnnotationUtil.CDISINGLETON, + AnnotationUtil.CDISINGLETON_JAKARTA) != null; if (isNormalScopeOrScopeOrSingleton) { continue; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/BeansFilter.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/BeansFilter.java index 2e6b958a0a55..57775052a500 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/BeansFilter.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/BeansFilter.java @@ -45,7 +45,7 @@ void filter( Set set ) { { TypeElement element = iterator.next(); String name = element.getQualifiedName().toString(); - if (name.startsWith("java.") ||name.startsWith("javax.")) { // NOI18N + if (name.startsWith("java.") ||name.startsWith("javax.") ||name.startsWith("jakarta.")) { // NOI18N iterator.remove(); } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorInterceptorLogic.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorInterceptorLogic.java index 3fc63ec5c9be..b22becd3cb28 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorInterceptorLogic.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorInterceptorLogic.java @@ -219,10 +219,10 @@ private Triple getDelegateInjectionPoint( getAllMembers( decorator ); List fields = ElementFilter.fieldsIn(allMembers); for (VariableElement field : fields) { - if ( AnnotationObjectProvider.hasAnnotation(field, - DELEGATE_ANNOTATION, getModel().getHelper() ) && - AnnotationObjectProvider.hasAnnotation(field, - INJECT_ANNOTATION, getModel().getHelper() )) + if (AnnotationObjectProvider.hasAnnotation(field, DELEGATE_ANNOTATION, getModel().getHelper()) + && AnnotationObjectProvider.hasAnnotation(field, INJECT_ANNOTATION, getModel().getHelper()) + || (AnnotationObjectProvider.hasAnnotation(field, DELEGATE_ANNOTATION_JAKARTA, getModel().getHelper()) + && AnnotationObjectProvider.hasAnnotation(field, INJECT_ANNOTATION_JAKARTA, getModel().getHelper()))) { TypeMirror delegateType = getCompilationController().getTypes(). asMemberOf((DeclaredType)decorator.asType(), field); @@ -238,8 +238,8 @@ INJECT_ANNOTATION, getModel().getHelper() )) allMethods.addAll( ctors ); allMethods.addAll( methods ); for (ExecutableElement method : allMethods) { - if ( !AnnotationObjectProvider.hasAnnotation(method, INJECT_ANNOTATION, - getModel().getHelper())){ + if (!(AnnotationObjectProvider.hasAnnotation(method, INJECT_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(method, INJECT_ANNOTATION_JAKARTA, getModel().getHelper()))) { continue; } result = getDelegate(method, decorator); @@ -258,8 +258,8 @@ private Triple getDelegate( int index =0; VariableElement delegate = null; for (VariableElement variableElement : parameters) { - if ( AnnotationObjectProvider.hasAnnotation(variableElement, - DELEGATE_ANNOTATION, getModel().getHelper())) + if ( AnnotationObjectProvider.hasAnnotation(variableElement, DELEGATE_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(variableElement, DELEGATE_ANNOTATION_JAKARTA, getModel().getHelper())) { delegate = variableElement; break; @@ -292,10 +292,10 @@ private boolean checkQualifiers( TypeElement element, VariableElement delegate, boolean newQualifier = false; if ( quilifierAnnotations.size() == 1 ){ - newQualifier = getModel().getHelper().hasAnnotation(quilifierAnnotations, - NEW_QUALIFIER_ANNOTATION); - defaultQualifier = getModel().getHelper().hasAnnotation(quilifierAnnotations, - DEFAULT_QUALIFIER_ANNOTATION); + newQualifier = getModel().getHelper().hasAnnotation(quilifierAnnotations, NEW_QUALIFIER_ANNOTATION) + || getModel().getHelper().hasAnnotation(quilifierAnnotations, NEW_QUALIFIER_ANNOTATION_JAKARTA); + defaultQualifier = getModel().getHelper().hasAnnotation(quilifierAnnotations, DEFAULT_QUALIFIER_ANNOTATION) + || getModel().getHelper().hasAnnotation(quilifierAnnotations, DEFAULT_QUALIFIER_ANNOTATION_JAKARTA); } else if ( quilifierAnnotations.size() == 0 && anyQualifier) { @@ -309,8 +309,8 @@ else if ( quilifierAnnotations.size() == 0 && anyQualifier) { } else { List qualifiers = getQualifiers(element, true); - return getModel().getHelper().hasAnnotation(qualifiers, - DEFAULT_QUALIFIER_ANNOTATION); + return getModel().getHelper().hasAnnotation(qualifiers, DEFAULT_QUALIFIER_ANNOTATION_JAKARTA) + || getModel().getHelper().hasAnnotation(qualifiers, DEFAULT_QUALIFIER_ANNOTATION); } } else if (newQualifier){ @@ -337,13 +337,17 @@ private boolean checkQualifiers( TypeElement element, getQualifiers(element, true); Set elementAnnotationFqns = getAnnotationFqns(elementAnnotations); - if ( requiredAnnotationFqns.contains(DEFAULT_QUALIFIER_ANNOTATION) && - !elementAnnotationFqns.contains(DEFAULT_QUALIFIER_ANNOTATION) && - !hasImplicitDefaultQualifier(element)) + if ((requiredAnnotationFqns.contains(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA) + && !elementAnnotationFqns.contains(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA) + && !hasImplicitDefaultQualifier(element)) + || (requiredAnnotationFqns.contains(DEFAULT_QUALIFIER_ANNOTATION) + && !elementAnnotationFqns.contains(DEFAULT_QUALIFIER_ANNOTATION) + && !hasImplicitDefaultQualifier(element))) { return false; } requiredAnnotationFqns.remove(DEFAULT_QUALIFIER_ANNOTATION); + requiredAnnotationFqns.remove(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA); return elementAnnotationFqns.containsAll(requiredAnnotationFqns); } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorObject.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorObject.java index 87b4b533d43b..a71fdb72c42d 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorObject.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorObject.java @@ -26,6 +26,7 @@ import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObject; +import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil; import org.netbeans.modules.web.beans.impl.model.AbstractObjectProvider.Refreshable; @@ -49,11 +50,11 @@ class DecoratorObject extends PersistentObject implements Refreshable { @Override public boolean refresh( TypeElement type ) { List allAnnotationMirrors = - getHelper().getCompilationController().getElements(). - getAllAnnotationMirrors(type); - Map annotationsByType = - getHelper().getAnnotationsByType( allAnnotationMirrors ); - return annotationsByType.get( EnableBeansFilter.DECORATOR) != null ; + getHelper().getCompilationController().getElements(). + getAllAnnotationMirrors(type); + Map annotationsByType + = getHelper().getAnnotationsByType(allAnnotationMirrors); + return annotationsByType.get(AnnotationUtil.DECORATOR_JAKARTA) != null || annotationsByType.get(AnnotationUtil.DECORATOR) != null; } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorObjectProvider.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorObjectProvider.java index ad4d21af69fe..dd90f4ff4607 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorObjectProvider.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DecoratorObjectProvider.java @@ -18,9 +18,11 @@ */ package org.netbeans.modules.web.beans.impl.model; +import java.util.List; import javax.lang.model.element.TypeElement; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; +import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil; /** @@ -30,7 +32,7 @@ class DecoratorObjectProvider extends AbstractObjectProvider { DecoratorObjectProvider( AnnotationModelHelper helper ) { - super( EnableBeansFilter.DECORATOR, helper); + super(List.of(AnnotationUtil.DECORATOR_JAKARTA, AnnotationUtil.DECORATOR), helper); } /* (non-Javadoc) diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DefaultBindingTypeFilter.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DefaultBindingTypeFilter.java index 90dc3aa6a69c..ba19d662789a 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DefaultBindingTypeFilter.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/DefaultBindingTypeFilter.java @@ -77,10 +77,10 @@ void filter( Set set ) { } String annotationName = annotationElement.getQualifiedName() .toString(); - if ( WebBeansModelProviderImpl.ANY_QUALIFIER_ANNOTATION.equals( - annotationName) || - WebBeansModelProviderImpl.NAMED_QUALIFIER_ANNOTATION.equals( - annotationName)) + if ( WebBeansModelProviderImpl.ANY_QUALIFIER_ANNOTATION.equals(annotationName) + || WebBeansModelProviderImpl.NAMED_QUALIFIER_ANNOTATION.equals(annotationName) + || WebBeansModelProviderImpl.ANY_QUALIFIER_ANNOTATION_JAKARTA.equals(annotationName) + || WebBeansModelProviderImpl.NAMED_QUALIFIER_ANNOTATION_JAKARTA.equals(annotationName)) { continue; } @@ -88,23 +88,30 @@ void filter( Set set ) { qualifierNames.add(annotationName); } } - if ( qualifierNames.contains( - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION)) + if ( + qualifierNames.contains(WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION) + || qualifierNames.contains(WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION_JAKARTA) + ) { continue; } - if ( (element instanceof TypeElement) && ( - AnnotationObjectProvider.checkSuper((TypeElement)element, - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION, - getImplementation().getHelper())!=null )) + if ((element instanceof TypeElement) + && (AnnotationObjectProvider.checkSuper((TypeElement) element, WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION, getImplementation().getHelper()) != null + || AnnotationObjectProvider.checkSuper((TypeElement) element, WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION_JAKARTA, getImplementation().getHelper()) != null)) { continue; } else if ( element instanceof ExecutableElement ){ - Element specialized = - MemberCheckerFilter.getSpecialized( (ExecutableElement)element, - getImplementation(), - WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION); + Element specialized + = MemberCheckerFilter.getSpecialized((ExecutableElement) element, + getImplementation(), + WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION_JAKARTA); + if (specialized == null) { + specialized + = MemberCheckerFilter.getSpecialized((ExecutableElement) element, + getImplementation(), + WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION); + } if ( specialized!= null){ continue; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EnableBeansFilter.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EnableBeansFilter.java index 999dd770febb..91e5d79bc67c 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EnableBeansFilter.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EnableBeansFilter.java @@ -61,11 +61,8 @@ */ class EnableBeansFilter { - static final String DECORATOR = "javax.decorator.Decorator"; // NOI18N - - static final String EXTENSION = "javax.enterprise.inject.spi.Extension";// NOI18N - - static String SCOPE = "javax.inject.Scope"; // NOI18N + private static final String EXTENSION = "javax.enterprise.inject.spi.Extension";// NOI18N + private static final String EXTENSION_JAKARTA = "jakarta.enterprise.inject.spi.Extension";// NOI18N private final HashSet predefinedBeans; { @@ -95,12 +92,38 @@ class EnableBeansFilter { predefinedBeans.add("javax.faces.annotation.ViewMap");//NOI18N predefinedBeans.add("javax.faces.context.ExternalContext");//NOI18N predefinedBeans.add("javax.faces.context.FacesContext");//NOI18N + predefinedBeans.add(EventInjectionPointLogic.EVENT_INTERFACE_JAKARTA); + predefinedBeans.add("jakarta.servlet.http.HttpServletRequest");//NOI18N + predefinedBeans.add("jakarta.servlet.http.HttpSession");//NOI18N + predefinedBeans.add("jakarta.servlet.ServletContext");//NOI18N + predefinedBeans.add("jakarta.jms.JMSContext");//NOI18N + predefinedBeans.add(AnnotationUtil.INJECTION_POINT_JAKARTA);//NOI18N + predefinedBeans.add("jakarta.enterprise.inject.spi.BeanManager");//NOI18N + predefinedBeans.add("jakarta.transaction.UserTransaction");//NOI18N + predefinedBeans.add("java.security.Principal");//NOI18N + predefinedBeans.add("jakarta.validation.ValidatorFactory");//NOI18N + predefinedBeans.add("jakarta.faces.application.Application");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.ApplicationMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.FlowMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.HeaderMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.HeaderValuesMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.InitParameterMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.ManagedProperty");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.RequestCookieMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.RequestMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.RequestParameterMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.RequestParameterValuesMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.SessionMap");//NOI18N + predefinedBeans.add("jakarta.faces.annotation.ViewMap");//NOI18N + predefinedBeans.add("jakarta.faces.context.ExternalContext");//NOI18N + predefinedBeans.add("jakarta.faces.context.FacesContext");//NOI18N }; private final HashMap predefinedBeanAnnotationPairs; { predefinedBeanAnnotationPairs = new HashMap<>(); predefinedBeanAnnotationPairs.put("javax.faces.flow.builder.FlowBuilder","javax.faces.flow.builder.FlowBuilderParameter");//NOI18N + predefinedBeanAnnotationPairs.put("jakarta.faces.flow.builder.FlowBuilder","jakarta.faces.flow.builder.FlowBuilderParameter");//NOI18N }; EnableBeansFilter(ResultImpl result, WebBeansModelImplementation model , @@ -315,15 +338,19 @@ private boolean checkClass( TypeElement element ){ List allAnnotations = elements. getAllAnnotationMirrors(element); - if ( modifiers.contains( Modifier.ABSTRACT ) && - !getHelper().hasAnnotation(allAnnotations, DECORATOR ) ) + if ( modifiers.contains( Modifier.ABSTRACT ) + && !getHelper().hasAnnotation(allAnnotations, AnnotationUtil.DECORATOR ) + && !getHelper().hasAnnotation(allAnnotations, AnnotationUtil.DECORATOR_JAKARTA )) { /* * If class is abstract it should be Decorator. */ return false; } - TypeElement extensionElement = elements.getTypeElement( EXTENSION ); + TypeElement extensionElement = elements.getTypeElement(EXTENSION_JAKARTA); + if (extensionElement == null) { + extensionElement = elements.getTypeElement(EXTENSION); + } if ( extensionElement!= null ){ TypeMirror extensionType = extensionElement.asType(); /* @@ -344,8 +371,8 @@ private boolean checkClass( TypeElement element ){ foundCtor = true; break; } - if ( getHelper().hasAnnotation(allAnnotations, - FieldInjectionPointLogic.INJECT_ANNOTATION)) + if ( getHelper().hasAnnotation(allAnnotations, FieldInjectionPointLogic.INJECT_ANNOTATION) + || getHelper().hasAnnotation(allAnnotations, FieldInjectionPointLogic.INJECT_ANNOTATION_JAKARTA)) { foundCtor = true; break; @@ -367,9 +394,9 @@ private void checkProxyability( TypeElement typeElement, * Client proxies are never required for a bean whose * scope is a pseudo-scope such as @Dependent. */ - if ( scopeElement == null || - getHelper().hasAnnotation( elementsUtil.getAllAnnotationMirrors( - scopeElement), SCOPE) ) + if ( scopeElement == null + || getHelper().hasAnnotation( elementsUtil.getAllAnnotationMirrors(scopeElement), AnnotationUtil.SCOPE_FQN) + || getHelper().hasAnnotation( elementsUtil.getAllAnnotationMirrors(scopeElement), AnnotationUtil.SCOPE_FQN_JAKARTA)) { return; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EventInjectionPointLogic.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EventInjectionPointLogic.java index e5b25092ab8b..1984e3293eb6 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EventInjectionPointLogic.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/EventInjectionPointLogic.java @@ -60,8 +60,8 @@ */ abstract class EventInjectionPointLogic extends ParameterInjectionPointLogic { - public static final String EVENT_INTERFACE = - "javax.enterprise.event.Event"; // NOI18N + public static final String EVENT_INTERFACE = "javax.enterprise.event.Event"; // NOI18N + public static final String EVENT_INTERFACE_JAKARTA = "jakarta.enterprise.event.Event"; // NOI18N EventInjectionPointLogic(WebBeansModelImplementation model ) { @@ -83,7 +83,10 @@ public List getObservers( VariableElement element, return null; } - TypeMirror type = getParameterType(element, parent, EVENT_INTERFACE); + TypeMirror type = getParameterType(element, parent, EVENT_INTERFACE_JAKARTA); + if (type == null) { + type = getParameterType(element, parent, EVENT_INTERFACE); + } if ( type == null || type.getKind() == TypeKind.ERROR ){ return Collections.emptyList(); } @@ -210,7 +213,26 @@ public void handleAnnotation( TypeElement type, element instanceof VariableElement ) { Name name = ((TypeElement)typeElement).getQualifiedName(); - if ( EVENT_INTERFACE.contentEquals( name )){ + if ( EVENT_INTERFACE.contentEquals( name ) ){ + eventInjection.add( (VariableElement) element); + } + } + } + }); + getModel().getHelper().getAnnotationScanner().findAnnotations(INJECT_ANNOTATION_JAKARTA, + EnumSet.of( ElementKind.FIELD), new AnnotationHandler() { + + @Override + public void handleAnnotation( TypeElement type, + Element element, AnnotationMirror annotation ) + { + Element typeElement = getCompilationController().getTypes(). + asElement( element.asType() ); + if ( typeElement instanceof TypeElement && + element instanceof VariableElement ) + { + Name name = ((TypeElement)typeElement).getQualifiedName(); + if ( EVENT_INTERFACE_JAKARTA.contentEquals( name ) ){ eventInjection.add( (VariableElement) element); } } @@ -339,7 +361,8 @@ private Triple doGetObserverParameter( if ( annotation == null ){ continue; } - if ( OBSERVES_ANNOTATION.contentEquals( annotation.getQualifiedName())){ + if (OBSERVES_ANNOTATION.contentEquals(annotation.getQualifiedName()) + || OBSERVES_ANNOTATION_JAKARTA.contentEquals(annotation.getQualifiedName())) { return new Triple(parameter, index, null); } } @@ -377,8 +400,10 @@ private void filterEventInjectionsByType( eventInjectionPoints.iterator();iterator.hasNext() ; ) { VariableElement injection = iterator.next(); - TypeMirror type = getParameterType(injection, null, EVENT_INTERFACE); - + TypeMirror type = getParameterType(injection, null, EVENT_INTERFACE_JAKARTA); + if(type == null) { + type = getParameterType(injection, null, EVENT_INTERFACE); + } boolean assignable = isAssignable(type, parameterType, checker); @@ -427,8 +452,10 @@ private List findObservesParameters() List result = new LinkedList(); CompilationController compilationController = getModel().getHelper().getCompilationController(); - TypeElement observesType = compilationController.getElements().getTypeElement( - OBSERVES_ANNOTATION); + TypeElement observesType = compilationController.getElements().getTypeElement(OBSERVES_ANNOTATION_JAKARTA); + if (observesType == null) { + observesType = compilationController.getElements().getTypeElement(OBSERVES_ANNOTATION); + } if ( observesType == null ){ return result; } @@ -452,8 +479,8 @@ private List findObservesParameters() List annotationMirrors = compilationController.getElements(). getAllAnnotationMirrors( parameter); - if ( getModel().getHelper().hasAnnotation( annotationMirrors, - OBSERVES_ANNOTATION) ){ + if (getModel().getHelper().hasAnnotation(annotationMirrors, OBSERVES_ANNOTATION) + || getModel().getHelper().hasAnnotation(annotationMirrors, OBSERVES_ANNOTATION_JAKARTA)) { result.add( new ObserverTriple( method, parameter, index) ); } index++; diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/FieldInjectionPointLogic.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/FieldInjectionPointLogic.java index 67b53a3861ac..72270a73c38b 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/FieldInjectionPointLogic.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/FieldInjectionPointLogic.java @@ -62,39 +62,38 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.netbeans.api.java.source.ClassIndex; import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil; -import org.netbeans.modules.web.beans.api.model.BeanArchiveType; /** * @author ads */ abstract class FieldInjectionPointLogic { - static final String PRODUCER_ANNOTATION = - "javax.enterprise.inject.Produces"; // NOI18N + static final String PRODUCER_ANNOTATION = "javax.enterprise.inject.Produces"; // NOI18N + static final String PRODUCER_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.Produces"; // NOI18N - static final String ANY_QUALIFIER_ANNOTATION = - "javax.enterprise.inject.Any"; // NOI18N + static final String ANY_QUALIFIER_ANNOTATION = "javax.enterprise.inject.Any"; // NOI18N + static final String ANY_QUALIFIER_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.Any"; // NOI18N - static final String DEFAULT_QUALIFIER_ANNOTATION = - "javax.enterprise.inject.Default"; // NOI18N + static final String DEFAULT_QUALIFIER_ANNOTATION = "javax.enterprise.inject.Default"; // NOI18N + static final String DEFAULT_QUALIFIER_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.Default"; // NOI18N - static final String NEW_QUALIFIER_ANNOTATION = - "javax.enterprise.inject.New"; // NOI18N + static final String NEW_QUALIFIER_ANNOTATION = "javax.enterprise.inject.New"; // NOI18N + static final String NEW_QUALIFIER_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.New"; // NOI18N - static final String NAMED_QUALIFIER_ANNOTATION = - "javax.inject.Named"; // NOI18N + static final String NAMED_QUALIFIER_ANNOTATION = "javax.inject.Named"; // NOI18N + static final String NAMED_QUALIFIER_ANNOTATION_JAKARTA = "jakarta.inject.Named"; // NOI18N - static final String INJECT_ANNOTATION = - "javax.inject.Inject"; // NOI18N + static final String INJECT_ANNOTATION = "javax.inject.Inject"; // NOI18N + static final String INJECT_ANNOTATION_JAKARTA = "jakarta.inject.Inject"; // NOI18N - static final String INSTANCE_INTERFACE = - "javax.enterprise.inject.Instance"; // NOI18N + static final String INSTANCE_INTERFACE = "javax.enterprise.inject.Instance"; // NOI18N + static final String INSTANCE_INTERFACE_JAKARTA = "jakarta.enterprise.inject.Instance"; // NOI18N - static final String TYPED_RESTRICTION = - "javax.enterprise.inject.Typed"; // NOI18N + static final String TYPED_RESTRICTION = "javax.enterprise.inject.Typed"; // NOI18N + static final String TYPED_RESTRICTION_JAKARTA = "jakarta.enterprise.inject.Typed"; // NOI18N - static final String DELEGATE_ANNOTATION = - "javax.decorator.Delegate"; // NOI18N + static final String DELEGATE_ANNOTATION = "javax.decorator.Delegate"; // NOI18N + static final String DELEGATE_ANNOTATION_JAKARTA = "jakarta.decorator.Delegate"; // NOI18N static final Logger LOGGER = Logger.getLogger(WebBeansModelProvider.class .getName()); @@ -130,9 +129,11 @@ protected DependencyInjectionResult findVariableInjectable( VariableElement elem } TypeMirror elementType = strategy.getType(getModel(), parent , element ); - - if(elementType instanceof DeclaredType && AnnotationUtil.PROVIDER.equals(""+((DeclaredType)elementType).asElement())) { - List typeArguments = ((DeclaredType)elementType).getTypeArguments(); + + if (elementType instanceof DeclaredType + && (AnnotationUtil.PROVIDER.equals("" + ((DeclaredType) elementType).asElement()) + || AnnotationUtil.PROVIDER_JAKARTA.equals("" + ((DeclaredType) elementType).asElement()))) { + List typeArguments = ((DeclaredType) elementType).getTypeArguments(); if(typeArguments!=null && typeArguments.size()>0) { //in case of Provider we need to inspects type argument instead of Provider type, see #245546 elementType = typeArguments.get(0); @@ -198,10 +199,10 @@ protected DependencyInjectionResult doFindVariableInjectable( VariableElement el TypeElement annotationElement = (TypeElement)type.asElement(); if ( annotationElement != null ){ annotationName = annotationElement.getQualifiedName().toString(); - defaultQualifier = annotationElement.getQualifiedName().contentEquals( - DEFAULT_QUALIFIER_ANNOTATION); - newQualifier = annotationElement.getQualifiedName().contentEquals( - NEW_QUALIFIER_ANNOTATION ); + defaultQualifier = annotationElement.getQualifiedName().contentEquals(DEFAULT_QUALIFIER_ANNOTATION) + || annotationElement.getQualifiedName().contentEquals(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA); + newQualifier = annotationElement.getQualifiedName().contentEquals(NEW_QUALIFIER_ANNOTATION) + || annotationElement.getQualifiedName().contentEquals(NEW_QUALIFIER_ANNOTATION_JAKARTA); } } if ( (quilifierAnnotations.size() == 0 && anyQualifier) || @@ -320,8 +321,8 @@ protected boolean hasAnyQualifier( VariableElement element,boolean injectRequire if ( annotationElement == null ){ continue; } - if ( ANY_QUALIFIER_ANNOTATION.equals( - annotationElement.getQualifiedName().toString())) + if (ANY_QUALIFIER_ANNOTATION.equals(annotationElement.getQualifiedName().toString()) + || ANY_QUALIFIER_ANNOTATION_JAKARTA.equals(annotationElement.getQualifiedName().toString())) { anyQualifier = true; } @@ -330,13 +331,13 @@ else if ( isQualifier( annotationElement , getModel().getHelper(), { quilifierAnnotations.add( annotationMirror ); } - if ( PRODUCER_ANNOTATION.contentEquals( - annotationElement.getQualifiedName())) + if (PRODUCER_ANNOTATION.contentEquals(annotationElement.getQualifiedName()) + || PRODUCER_ANNOTATION_JAKARTA.contentEquals(annotationElement.getQualifiedName())) { isProducer = true; } - else if ( INJECT_ANNOTATION.contentEquals( - annotationElement.getQualifiedName())) + else if ( INJECT_ANNOTATION.contentEquals(annotationElement.getQualifiedName()) + || INJECT_ANNOTATION_JAKARTA.contentEquals(annotationElement.getQualifiedName())) { hasInject = true; } @@ -587,21 +588,22 @@ private void filterDefaultProductions( Set productionElements ) private Set getAllProductions( ){ final Set result = new HashSet(); try { - getModel().getHelper().getAnnotationScanner().findAnnotations( - PRODUCER_ANNOTATION, - EnumSet.of( ElementKind.FIELD, ElementKind.METHOD), - new AnnotationHandler() { - @Override - public void handleAnnotation( TypeElement type, - Element element,AnnotationMirror annotation ) - { - result.add( element ); - } + getModel().getHelper().getAnnotationScanner().findAnnotations( + PRODUCER_ANNOTATION, + EnumSet.of(ElementKind.FIELD, ElementKind.METHOD), + (TypeElement type, Element element, AnnotationMirror annotation) -> { + result.add(element); + }); + getModel().getHelper().getAnnotationScanner().findAnnotations( + PRODUCER_ANNOTATION_JAKARTA, + EnumSet.of(ElementKind.FIELD, ElementKind.METHOD), + (TypeElement type, Element element, AnnotationMirror annotation) -> { + result.add(element); }); } catch (InterruptedException e) { - LOGGER.warning("Finding annotation "+PRODUCER_ANNOTATION+ - " was interrupted"); // NOI18N + LOGGER.warning("Finding annotation " + PRODUCER_ANNOTATION + "/" // NOI18N + + PRODUCER_ANNOTATION_JAKARTA + " was interrupted"); // NOI18N } return result; } @@ -683,8 +685,11 @@ private Set getProductions( * In this case original method will have @Default along with * qualifiers "inherited" from specialized methods. */ - boolean hasDefault = getModel().getHelper().getAnnotationsByType( - qualifierAnnotations ).get(DEFAULT_QUALIFIER_ANNOTATION) != null ; + boolean hasDefault + = getModel().getHelper().getAnnotationsByType( + qualifierAnnotations).get(DEFAULT_QUALIFIER_ANNOTATION) != null + || getModel().getHelper().getAnnotationsByType( + qualifierAnnotations).get(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA) != null; Set currentBindings = new HashSet(); for (AnnotationMirror annotationMirror : qualifierAnnotations) { if(cancel.get()) { @@ -736,15 +741,14 @@ private void findAnnotation( final List> bindingCollections, public void handleAnnotation( TypeElement type, Element element,AnnotationMirror annotation ) { - if (AnnotationObjectProvider.hasAnnotation( - element, PRODUCER_ANNOTATION, - getModel().getHelper())) + if (AnnotationObjectProvider.hasAnnotation(element, PRODUCER_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(element, PRODUCER_ANNOTATION_JAKARTA, getModel().getHelper())) { bindings.add(element); bindings.addAll(getChildSpecializes( element, getModel(), cancel)); - if (annotationFQN - .contentEquals(DEFAULT_QUALIFIER_ANNOTATION)) + if (annotationFQN.contentEquals(DEFAULT_QUALIFIER_ANNOTATION) + || annotationFQN.contentEquals(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA)) { currentBindings.addAll(bindings); } @@ -786,7 +790,9 @@ private Set getBindingTypes( List qualifierAnnota * qualifiers "inherited" from specialized beans. */ boolean hasDefault = getModel().getHelper().getAnnotationsByType( - qualifierAnnotations ).get(DEFAULT_QUALIFIER_ANNOTATION) != null ; + qualifierAnnotations ).get(DEFAULT_QUALIFIER_ANNOTATION) != null; + boolean hasDefaultJakarta = getModel().getHelper().getAnnotationsByType( + qualifierAnnotations ).get(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA) != null; Set defaultQualifiers = new HashSet(); for (AnnotationMirror annotationMirror : qualifierAnnotations) { DeclaredType type = annotationMirror.getAnnotationType(); @@ -799,7 +805,8 @@ private Set getBindingTypes( List qualifierAnnota PersistentObjectManager manager = getModel() .getManager(annotationFQN); Collection bindings = manager.getObjects(); - if (annotationFQN.contentEquals(DEFAULT_QUALIFIER_ANNOTATION)) { + if (annotationFQN.contentEquals(DEFAULT_QUALIFIER_ANNOTATION) + || annotationFQN.contentEquals(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA)) { defaultQualifiers.addAll(bindings); } else { @@ -811,16 +818,25 @@ private Set getBindingTypes( List qualifierAnnota getModel().getHelper())) { defaultQualifiers.add(new BindingQualifier( - getModel().getHelper(), binding - .getTypeElement(), - DEFAULT_QUALIFIER_ANNOTATION)); + getModel().getHelper(), binding.getTypeElement(),DEFAULT_QUALIFIER_ANNOTATION)); + } + } + } + if (hasDefaultJakarta) { + for (BindingQualifier binding : bindings) { + if (AnnotationObjectProvider + .checkDefault(binding.getTypeElement(), + getModel().getHelper())) + { + defaultQualifiers.add(new BindingQualifier( + getModel().getHelper(), binding.getTypeElement(),DEFAULT_QUALIFIER_ANNOTATION_JAKARTA)); } } } } } - if ( hasDefault ){ + if ( hasDefault || hasDefaultJakarta ){ bindingCollections.add( defaultQualifiers ); } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorBindingChecker.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorBindingChecker.java index 1e8e88b5ffca..8e31378b53ae 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorBindingChecker.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorBindingChecker.java @@ -19,6 +19,8 @@ package org.netbeans.modules.web.beans.impl.model; import java.lang.annotation.ElementType; +import java.util.Collections; +import java.util.List; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -30,15 +32,20 @@ import org.netbeans.modules.web.beans.analysis.analyzer.annotation.InterceptorBindingVerifier; import org.netbeans.modules.web.beans.analysis.analyzer.annotation.TargetVerifier; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_BINDING_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_BINDING_FQN_JAKARTA; + /** * @author ads * */ class InterceptorBindingChecker extends RuntimeAnnotationChecker { - - static final String INTERCEPTOR_BINDING = "javax.interceptor.InterceptorBinding"; // NOI18N - + + private static final List ANNOTATIONS = List.of( + INTERCEPTOR_BINDING_FQN, INTERCEPTOR_BINDING_FQN_JAKARTA + ); + InterceptorBindingChecker(AnnotationModelHelper helper){ init( null, helper ); } @@ -59,8 +66,8 @@ protected Logger getLogger() { * @see org.netbeans.modules.web.beans.impl.model.RuntimeAnnotationChecker#getAnnotation() */ @Override - protected String getAnnotation() { - return INTERCEPTOR_BINDING; + protected List getAnnotation() { + return ANNOTATIONS; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorObject.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorObject.java index b84b6e352535..a146256acf0d 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorObject.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorObject.java @@ -35,7 +35,8 @@ */ class InterceptorObject extends PersistentObject implements Refreshable { - static final String INTERCEPTOR = "javax.interceptor.Interceptor"; // NOI18N + private static final String INTERCEPTOR = "javax.interceptor.Interceptor"; // NOI18N + private static final String INTERCEPTOR_JAKARTA = "jakarta.interceptor.Interceptor"; // NOI18N InterceptorObject( AnnotationModelHelper helper, TypeElement typeElement ) @@ -55,7 +56,7 @@ public boolean refresh( TypeElement type ) { getAllAnnotationMirrors(type); Map annotationsByType = getHelper().getAnnotationsByType( allAnnotationMirrors ); - return annotationsByType.get( INTERCEPTOR ) != null ; + return annotationsByType.get(INTERCEPTOR_JAKARTA) != null || annotationsByType.get(INTERCEPTOR) != null; } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorObjectProvider.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorObjectProvider.java index 038c679e0223..6bfb063cdbc7 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorObjectProvider.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/InterceptorObjectProvider.java @@ -18,9 +18,11 @@ */ package org.netbeans.modules.web.beans.impl.model; +import java.util.List; import javax.lang.model.element.TypeElement; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; +import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil; /** @@ -31,7 +33,7 @@ class InterceptorObjectProvider extends AbstractObjectProvider extends Filter { - private static final String NON_BINDING_MEMBER_ANNOTATION = - "javax.enterprise.util.Nonbinding"; // NOI18N + private static final String NON_BINDING_MEMBER_ANNOTATION = "javax.enterprise.util.Nonbinding"; // NOI18N + private static final String NON_BINDING_MEMBER_ANNOTATION_JAKARTA = "jakarta.enterprise.util.Nonbinding"; // NOI18N private MemberBindingFilter( Class clazz ){ myClass = clazz; @@ -143,7 +143,8 @@ private static boolean isBindingMember( ExecutableElement element , continue; } Name name = annotation.getQualifiedName(); - if ( NON_BINDING_MEMBER_ANNOTATION.contentEquals(name)){ + if (NON_BINDING_MEMBER_ANNOTATION.contentEquals(name) + || NON_BINDING_MEMBER_ANNOTATION_JAKARTA.contentEquals(name)) { return false; } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/MemberCheckerFilter.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/MemberCheckerFilter.java index 52892dd5785b..d1ca983b8f4c 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/MemberCheckerFilter.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/MemberCheckerFilter.java @@ -123,8 +123,8 @@ static Element getSpecialized( ExecutableElement productionElement, @Override public boolean visit( ExecutableElement overridenElement ) { - if ( FieldInjectionPointLogic.DEFAULT_QUALIFIER_ANNOTATION. - equals( annotationName)) + if (FieldInjectionPointLogic.DEFAULT_QUALIFIER_ANNOTATION.equals(annotationName) + || FieldInjectionPointLogic.DEFAULT_QUALIFIER_ANNOTATION_JAKARTA.equals(annotationName)) { if ( AnnotationObjectProvider.checkSpecializedDefault( overridenElement, helper)) diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/MultiLookupStrategy.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/MultiLookupStrategy.java index 9f20ccda0ccd..50728b8a5ddc 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/MultiLookupStrategy.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/MultiLookupStrategy.java @@ -40,9 +40,15 @@ public class MultiLookupStrategy extends SingleResultLookupStrategy { public TypeMirror getType( WebBeansModelImplementation model, DeclaredType parent, VariableElement element ) { - return ParameterInjectionPointLogic.getParameterType( + TypeMirror mirror = ParameterInjectionPointLogic.getParameterType( model.getHelper().getCompilationController(), element , parent , - FieldInjectionPointLogic.INSTANCE_INTERFACE); + FieldInjectionPointLogic.INSTANCE_INTERFACE_JAKARTA); + if (mirror == null) { + mirror = ParameterInjectionPointLogic.getParameterType( + model.getHelper().getCompilationController(), element, parent, + FieldInjectionPointLogic.INSTANCE_INTERFACE); + } + return mirror; } /* (non-Javadoc) @@ -51,8 +57,13 @@ public TypeMirror getType( WebBeansModelImplementation model, @Override public TypeMirror getType( WebBeansModelImplementation model, TypeMirror typeMirror ) { - return ParameterInjectionPointLogic.getParameterType( - typeMirror , FieldInjectionPointLogic.INSTANCE_INTERFACE ); + TypeMirror mirror = ParameterInjectionPointLogic.getParameterType( + typeMirror, FieldInjectionPointLogic.INSTANCE_INTERFACE_JAKARTA); + if (mirror == null) { + mirror = ParameterInjectionPointLogic.getParameterType( + typeMirror, FieldInjectionPointLogic.INSTANCE_INTERFACE); + } + return mirror; } @Override diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NamedStereotype.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NamedStereotype.java index 8345b012f328..8598e1ee4f14 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NamedStereotype.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NamedStereotype.java @@ -26,6 +26,7 @@ import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObject; +import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil; import org.netbeans.modules.web.beans.impl.model.AbstractObjectProvider.Refreshable; @@ -53,8 +54,8 @@ public boolean refresh( TypeElement type ) { getAllAnnotationMirrors(type); Map annotationsByType = getHelper().getAnnotationsByType( allAnnotationMirrors ); - boolean isStereotype = annotationsByType.get( - StereotypeChecker.STEREOTYPE) != null ; + boolean isStereotype = annotationsByType.get(AnnotationUtil.STEREOTYPE_FQN) != null + || annotationsByType.get(AnnotationUtil.STEREOTYPE_FQN_JAKARTA) != null; if ( !isStereotype ){ return false; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NamedStereotypeObjectProvider.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NamedStereotypeObjectProvider.java index f4a625af0361..32990243e1ee 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NamedStereotypeObjectProvider.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NamedStereotypeObjectProvider.java @@ -31,15 +31,18 @@ import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHandler; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STEREOTYPE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STEREOTYPE_FQN_JAKARTA; + /** * @author ads * */ class NamedStereotypeObjectProvider extends AbstractObjectProvider { - - NamedStereotypeObjectProvider(AnnotationModelHelper helper){ - super( StereotypeChecker.STEREOTYPE, helper ); + + NamedStereotypeObjectProvider(AnnotationModelHelper helper) { + super(List.of(STEREOTYPE_FQN, STEREOTYPE_FQN_JAKARTA), helper); } /* (non-Javadoc) @@ -50,19 +53,20 @@ public List createInitialObjects() throws InterruptedException { final List result = new LinkedList(); - getHelper().getAnnotationScanner().findAnnotations( - getAnnotation(), - EnumSet.of(ElementKind.ANNOTATION_TYPE), - new AnnotationHandler() { - @Override - public void handleAnnotation(TypeElement type, - Element element, AnnotationMirror annotation) - { - if ( hasNamed( type , getHelper() )) { - result.add(createTypeElement(type)); - } - } - }); + for (String annotation : getAnnotation()) { + getHelper().getAnnotationScanner().findAnnotations( + annotation, + EnumSet.of(ElementKind.ANNOTATION_TYPE), + new AnnotationHandler() { + @Override + public void handleAnnotation(TypeElement type, + Element element, AnnotationMirror annotation) { + if (hasNamed(type, getHelper())) { + result.add(createTypeElement(type)); + } + } + }); + } return result; } @@ -71,12 +75,13 @@ public void handleAnnotation(TypeElement type, */ @Override public List createObjects( TypeElement type ) { - if (type.getKind() == ElementKind.ANNOTATION_TYPE && - getHelper().hasAnnotation(type.getAnnotationMirrors(), - getAnnotation())) - { - if ( hasNamed(type, getHelper())){ - return Collections.singletonList(createTypeElement(type)); + for (String annotation : getAnnotation()) { + if (type.getKind() == ElementKind.ANNOTATION_TYPE + && getHelper().hasAnnotation(type.getAnnotationMirrors(), + annotation)) { + if (hasNamed(type, getHelper())) { + return Collections.singletonList(createTypeElement(type)); + } } } return Collections.emptyList(); @@ -91,8 +96,8 @@ protected NamedStereotype createTypeElement( TypeElement element ) { } static boolean hasNamed( TypeElement type , AnnotationModelHelper helper ) { - if (AnnotationObjectProvider.hasAnnotation(type, - FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper)) + if (AnnotationObjectProvider.hasAnnotation(type, FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION_JAKARTA, helper) + || AnnotationObjectProvider.hasAnnotation(type, FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper)) { return true; } @@ -101,8 +106,9 @@ static boolean hasNamed( TypeElement type , AnnotationModelHelper helper ) { for (AnnotationMirror annotationMirror : stereotypes) { TypeElement annotation = (TypeElement)annotationMirror. getAnnotationType().asElement(); - if (annotation!= null && AnnotationObjectProvider.hasAnnotation(annotation, - FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper)) + if (annotation != null + && (AnnotationObjectProvider.hasAnnotation(annotation, FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION_JAKARTA, helper) + || AnnotationObjectProvider.hasAnnotation(annotation, FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION, helper))) { return true; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NormalScopeChecker.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NormalScopeChecker.java index 6a82f39d1f7d..f7f3ce3801f2 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NormalScopeChecker.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/NormalScopeChecker.java @@ -18,7 +18,10 @@ */ package org.netbeans.modules.web.beans.impl.model; +import java.util.List; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NORMAL_SCOPE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA; /** @@ -26,7 +29,11 @@ * */ class NormalScopeChecker extends ScopeChecker { - + + private static final List ANNOTATIONS = List.of( + NORMAL_SCOPE_FQN, NORMAL_SCOPE_FQN_JAKARTA + ); + static NormalScopeChecker get(){ return new NormalScopeChecker(); } @@ -35,8 +42,8 @@ static NormalScopeChecker get(){ * @see org.netbeans.modules.web.beans.impl.model.ScopeChecker#getAnnotation() */ @Override - protected String getAnnotation() { - return NORMAL_SCOPE; + protected List getAnnotation() { + return ANNOTATIONS; } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ParameterInjectionPointLogic.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ParameterInjectionPointLogic.java index 24c80843390c..424b6ff42d6f 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ParameterInjectionPointLogic.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ParameterInjectionPointLogic.java @@ -34,6 +34,8 @@ import javax.lang.model.type.DeclaredType; import javax.lang.model.type.ExecutableType; import javax.lang.model.type.TypeMirror; +import org.netbeans.api.java.classpath.ClassPath; +import org.netbeans.api.java.source.ClasspathInfo; import org.netbeans.api.java.source.CompilationController; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; @@ -52,17 +54,16 @@ abstract class ParameterInjectionPointLogic extends FieldInjectionPointLogic implements WebBeansModelProvider { - - static final String CONTEXT_DEPENDENT_ANNOTATION = - "javax.enterprise.context.Dependent"; // NOI18N + static final String CONTEXT_DEPENDENT_ANNOTATION = "javax.enterprise.context.Dependent"; // NOI18N + static final String CONTEXT_DEPENDENT_ANNOTATION_JAKARTA = "jakarta.enterprise.context.Dependent"; // NOI18N + + static final String DISPOSES_ANNOTATION = "javax.enterprise.inject.Disposes"; // NOI18N + static final String DISPOSES_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.Disposes"; // NOI18N + + static final String OBSERVES_ANNOTATION = "javax.enterprise.event.Observes"; // NOI18N + static final String OBSERVES_ANNOTATION_JAKARTA = "jakarta.enterprise.event.Observes"; // NOI18N + - static final String DISPOSES_ANNOTATION = - "javax.enterprise.inject.Disposes"; // NOI18N - - static final String OBSERVES_ANNOTATION = - "javax.enterprise.event.Observes"; // NOI18N - - ParameterInjectionPointLogic( WebBeansModelImplementation model ) { super( model ); } @@ -101,26 +102,28 @@ protected DependencyInjectionResult findParameterInjectable( VariableElement ele if ( variableElement.equals( element )){ index = i; } - else if ( AnnotationObjectProvider.hasAnnotation(variableElement, - DISPOSES_ANNOTATION, getModel().getHelper()) || - AnnotationObjectProvider.hasAnnotation(variableElement, - OBSERVES_ANNOTATION, getModel().getHelper()) ) + else if (AnnotationObjectProvider.hasAnnotation(variableElement, DISPOSES_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(variableElement, OBSERVES_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(variableElement, DISPOSES_ANNOTATION_JAKARTA, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(variableElement, OBSERVES_ANNOTATION_JAKARTA, getModel().getHelper())) { isInjectionPoint = true; } } TypeMirror elementType = strategy.getType( getModel(), parameterTypes.get(index)); - + DependencyInjectionResult result = null; - boolean disposes = AnnotationObjectProvider.hasAnnotation( element, - DISPOSES_ANNOTATION, getModel().getHelper()); - boolean observes = AnnotationObjectProvider.hasAnnotation( element, - OBSERVES_ANNOTATION, getModel().getHelper()); - if ( isInjectionPoint || AnnotationObjectProvider.hasAnnotation( parentMethod, - INJECT_ANNOTATION, getModel().getHelper()) || - AnnotationObjectProvider.hasAnnotation( parentMethod, - PRODUCER_ANNOTATION, getModel().getHelper()) || disposes|| - observes) + boolean disposes = AnnotationObjectProvider.hasAnnotation(element, DISPOSES_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(element, DISPOSES_ANNOTATION_JAKARTA, getModel().getHelper()); + boolean observes = AnnotationObjectProvider.hasAnnotation(element, OBSERVES_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(element, OBSERVES_ANNOTATION_JAKARTA, getModel().getHelper()); + if ( isInjectionPoint + || AnnotationObjectProvider.hasAnnotation( parentMethod, INJECT_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation( parentMethod, PRODUCER_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation( parentMethod, INJECT_ANNOTATION_JAKARTA, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation( parentMethod, PRODUCER_ANNOTATION_JAKARTA, getModel().getHelper()) + || disposes + || observes) { result = doFindVariableInjectable(element, elementType , false, cancel ); isInjectionPoint = true; @@ -163,7 +166,10 @@ PRODUCER_ANNOTATION, getModel().getHelper()) || disposes|| */ @Override public boolean isDynamicInjectionPoint( VariableElement element ) { - TypeMirror type = getParameterType(element, null, INSTANCE_INTERFACE); + TypeMirror type = getParameterType(element, null, INSTANCE_INTERFACE_JAKARTA); + if (type == null) { + type = getParameterType(element, null, INSTANCE_INTERFACE); + } if ( type != null ){ try { return isInjectionPoint(element); @@ -215,7 +221,16 @@ else if (!scope.equals(declaredScope)) { if (scope != null) { return scope; } - return CONTEXT_DEPENDENT_ANNOTATION; + + ClassPath cp = helper.getClasspathInfo().getClassPath(ClasspathInfo.PathKind.COMPILE); + boolean jakartaInjectPresent = cp.findResource("jakarta/inject/Qualifier.class") != null; + boolean javaxInjectPresent = cp.findResource("javax/inject/Qualifier.class") != null; + + if (jakartaInjectPresent || !javaxInjectPresent) { + return CONTEXT_DEPENDENT_ANNOTATION_JAKARTA; + } else { + return CONTEXT_DEPENDENT_ANNOTATION; + } } static String getDeclaredScope( Element element , diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/QualifierChecker.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/QualifierChecker.java index 457b715bcb5c..4e7f9e0eaa44 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/QualifierChecker.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/QualifierChecker.java @@ -20,6 +20,7 @@ import java.lang.annotation.ElementType; import java.util.HashSet; +import java.util.List; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -29,16 +30,20 @@ import org.netbeans.modules.web.beans.analysis.analyzer.annotation.QualifierVerifier; import org.netbeans.modules.web.beans.analysis.analyzer.annotation.TargetVerifier; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.QUALIFIER_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.QUALIFIER_FQN_JAKARTA; + /** * @author ads * */ class QualifierChecker extends RuntimeAnnotationChecker implements Checker { - - private static final String QUALIFIER_TYPE_ANNOTATION= - "javax.inject.Qualifier"; // NOI18N - + + private static final List ANNOTATIONS = List.of( + QUALIFIER_FQN, QUALIFIER_FQN_JAKARTA + ); + QualifierChecker(){ this( false ); } @@ -75,8 +80,8 @@ public boolean check() { * @see org.netbeans.modules.web.beans.impl.model.RuntimeAnnotationChecker#getAnnotation() */ @Override - protected String getAnnotation() { - return QUALIFIER_TYPE_ANNOTATION; + protected List getAnnotation() { + return ANNOTATIONS; } @@ -126,9 +131,13 @@ protected TargetVerifier getTargetVerifier() { static { BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.ANY_QUALIFIER_ANNOTATION); + BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.ANY_QUALIFIER_ANNOTATION_JAKARTA); BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.NEW_QUALIFIER_ANNOTATION); + BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.NEW_QUALIFIER_ANNOTATION_JAKARTA); BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION); + BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.DEFAULT_QUALIFIER_ANNOTATION_JAKARTA); BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.NAMED_QUALIFIER_ANNOTATION); + BUILT_IN_QUALIFIERS.add(WebBeansModelProviderImpl.NAMED_QUALIFIER_ANNOTATION_JAKARTA); } private boolean isEvent; diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/RestrictedTypedFilter.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/RestrictedTypedFilter.java index e517ef47d5a2..28dcd8c5eda4 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/RestrictedTypedFilter.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/RestrictedTypedFilter.java @@ -84,8 +84,10 @@ static Collection getRestrictedTypes( Element element , element.getAnnotationMirrors(); Map annotations = implementation.getHelper().getAnnotationsByType( annotationMirrors ); - AnnotationMirror typedAnnotation = annotations.get( - WebBeansModelProviderImpl.TYPED_RESTRICTION ); + AnnotationMirror typedAnnotation = annotations.get( WebBeansModelProviderImpl.TYPED_RESTRICTION_JAKARTA ); + if (typedAnnotation == null) { + typedAnnotation = annotations.get(WebBeansModelProviderImpl.TYPED_RESTRICTION); + } if ( typedAnnotation == null ){ return null; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/RuntimeAnnotationChecker.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/RuntimeAnnotationChecker.java index 3c13ac133ee3..ab0da0e81d7b 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/RuntimeAnnotationChecker.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/RuntimeAnnotationChecker.java @@ -46,9 +46,8 @@ public void init( TypeElement element, AnnotationModelHelper helper ) { public boolean check() { List annotations = getElement() .getAnnotationMirrors(); - boolean hasAnnotation = getHelper().hasAnnotation(annotations, - getAnnotation()); - + boolean hasAnnotation = getAnnotation().stream().anyMatch(s -> getHelper().hasAnnotation(annotations, s)); + if (!hasAnnotation) { // this is not subject annotation , just return false return false; @@ -57,7 +56,7 @@ public boolean check() { if ( !hasRuntimeRetention() ){ getLogger().log(Level.WARNING, "Annotation " + getElement().getQualifiedName() - + " declared as " +getAnnotation()+" but has wrong retention policy." + + " declared as one of " +getAnnotation()+" but has wrong retention policy." + " Correct retention policy is " + RetentionPolicy.RUNTIME.toString());// NOI18N return false; @@ -73,7 +72,7 @@ public boolean check() { protected void handleNoRetention() { getLogger().log(Level.WARNING, "Annotation " + getElement().getQualifiedName() - + "declared as " +getAnnotation()+" but has no Retention");// NOI18N + + "declared as one of " +getAnnotation()+" but has no Retention");// NOI18N } /* (non-Javadoc) @@ -83,12 +82,12 @@ protected void handleNoRetention() { protected void handleNoTarget() { getLogger().log(Level.WARNING, "Annotation " + getElement().getQualifiedName() - + "declared as " +getAnnotation()+" but has no Target");// NOI18N + + "declared as one of " +getAnnotation()+" but has no Target");// NOI18N } protected abstract Logger getLogger(); - protected abstract String getAnnotation(); + protected abstract List getAnnotation(); @Override protected TypeElement getElement(){ diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ScopeChecker.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ScopeChecker.java index 09817bd52024..08d6f0cdd8a2 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ScopeChecker.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/ScopeChecker.java @@ -19,6 +19,7 @@ package org.netbeans.modules.web.beans.impl.model; import java.lang.annotation.ElementType; +import java.util.List; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -28,17 +29,20 @@ import org.netbeans.modules.web.beans.analysis.analyzer.annotation.ScopeVerifier; import org.netbeans.modules.web.beans.analysis.analyzer.annotation.TargetVerifier; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SCOPE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SCOPE_FQN_JAKARTA; + /** * @author ads * */ class ScopeChecker extends RuntimeAnnotationChecker { - - static String SCOPE = "javax.inject.Scope"; // NOI18N - - static String NORMAL_SCOPE = "javax.enterprise.context.NormalScope";// NOI18N - + + private static final List ANNOTATIONS = List.of( + SCOPE_FQN, SCOPE_FQN_JAKARTA + ); + static ScopeChecker get(){ return new ScopeChecker(); } @@ -55,8 +59,8 @@ protected Logger getLogger() { * @see org.netbeans.modules.web.beans.impl.model.RuntimeAnnotationChecker#getAnnotation() */ @Override - protected String getAnnotation() { - return SCOPE; + protected List getAnnotation() { + return ANNOTATIONS; } /* (non-Javadoc) diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/StereotypeChecker.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/StereotypeChecker.java index 8df2e1dc7171..a88423b8e8ae 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/StereotypeChecker.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/StereotypeChecker.java @@ -19,6 +19,7 @@ package org.netbeans.modules.web.beans.impl.model; import java.lang.annotation.ElementType; +import java.util.List; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -30,6 +31,9 @@ import org.netbeans.modules.web.beans.analysis.analyzer.annotation.StereotypeVerifier; import org.netbeans.modules.web.beans.analysis.analyzer.annotation.TargetVerifier; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STEREOTYPE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STEREOTYPE_FQN_JAKARTA; + /** * @author ads @@ -37,7 +41,9 @@ */ public class StereotypeChecker extends RuntimeAnnotationChecker { - static final String STEREOTYPE = "javax.enterprise.inject.Stereotype"; //NOI18N + private static final List ANNOTATIONS = List.of( + STEREOTYPE_FQN, STEREOTYPE_FQN_JAKARTA + ); public StereotypeChecker(AnnotationHelper helper ){ init(null, helper); @@ -84,8 +90,8 @@ protected TargetVerifier getTargetVerifier() { * @see org.netbeans.modules.web.beans.impl.model.RuntimeAnnotationChecker#getAnnotation() */ @Override - protected String getAnnotation() { - return STEREOTYPE; + protected List getAnnotation() { + return ANNOTATIONS; } /* (non-Javadoc) diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/StereotypedObjectProvider.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/StereotypedObjectProvider.java index 0bf03d27831e..1c5ae2cb1001 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/StereotypedObjectProvider.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/StereotypedObjectProvider.java @@ -18,6 +18,7 @@ */ package org.netbeans.modules.web.beans.impl.model; +import java.util.List; import javax.lang.model.element.TypeElement; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationModelHelper; @@ -32,10 +33,10 @@ class StereotypedObjectProvider extends AbstractObjectProvider { - StereotypedObjectProvider( String stereotypeAnnotation , + StereotypedObjectProvider( String stereotypeAnnotation , AnnotationModelHelper helper ) { - super( stereotypeAnnotation, helper); + super(List.of(stereotypeAnnotation), helper); } /* (non-Javadoc) @@ -43,7 +44,12 @@ class StereotypedObjectProvider extends AbstractObjectProvider>(); + myManagers = new HashMap, PersistentObjectManager>(); myStereotypedManagers = new HashMap>(); myHelper = AnnotationModelHelper.create( getModelUnit().getClassPathInfo() ); } @@ -119,23 +119,17 @@ protected WebBeansModel getModel() { return super.getModel(); } - Map> getManagers(){ - return myManagers; - } - - PersistentObjectManager getManager( String annotationFQN ){ - PersistentObjectManager result = getManagers().get( - annotationFQN); - if ( result == null ) { - result = getHelper().createPersistentObjectManager( - new AnnotationObjectProvider( getHelper(), annotationFQN)); - getManagers().put( annotationFQN , result); - } + PersistentObjectManager getManager( String... annotationFQN ){ + PersistentObjectManager result = myManagers.computeIfAbsent( + List.of(annotationFQN), + fqn -> getHelper().createPersistentObjectManager( + new AnnotationObjectProvider(getHelper(), fqn)) + ); return result; } PersistentObjectManager getNamedManager(){ - return getManager( FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION ); + return getManager( FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION_JAKARTA, FieldInjectionPointLogic.NAMED_QUALIFIER_ANNOTATION ); } PersistentObjectManager getNamedStereotypesManager(){ @@ -149,12 +143,12 @@ PersistentObjectManager getNamedStereotypesManager(){ PersistentObjectManager getStereotypedManager( String stereotype ) { - PersistentObjectManager result = - getStereotypedManagers().get(stereotype); - if ( result == null ) { - result = getHelper().createPersistentObjectManager( - new StereotypedObjectProvider( stereotype, getHelper())); - getStereotypedManagers().put( stereotype , result); + PersistentObjectManager result + = getStereotypedManagers().get(stereotype); + if (result == null) { + result = getHelper().createPersistentObjectManager( + new StereotypedObjectProvider(stereotype, getHelper())); + getStereotypedManagers().put(stereotype, result); } return result; } @@ -208,7 +202,7 @@ Set adjustStereotypesManagers(){ return existingStereotypes; } - private Map> myManagers; + private Map,PersistentObjectManager> myManagers; private PersistentObjectManager myStereotypesManager; private PersistentObjectManager myDecoratorsManager; private PersistentObjectManager myInterceptorsManager; diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/WebBeansModelProviderImpl.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/WebBeansModelProviderImpl.java index e78bcb93837b..7501ba0dccdb 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/WebBeansModelProviderImpl.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/WebBeansModelProviderImpl.java @@ -46,7 +46,6 @@ import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.PersistentObjectManager; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.AnnotationParser; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.parser.ParseResult; -import org.netbeans.modules.web.beans.CdiUtil; import org.netbeans.modules.web.beans.api.model.BeanArchiveType; import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; import org.openide.util.NbBundle; @@ -83,7 +82,10 @@ public TypeMirror resolveType( String fqn ) { */ @Override public DependencyInjectionResult lookupInjectables(VariableElement element, DeclaredType parentType, AtomicBoolean cancel) { - TypeMirror type = getParameterType(element, null, INSTANCE_INTERFACE); + TypeMirror type = getParameterType(element, null, INSTANCE_INTERFACE_JAKARTA); + if(type == null) { + type = getParameterType(element, null, INSTANCE_INTERFACE); + } if ( type != null ){ return lookupInjectables(element, parentType , ResultLookupStrategy.MULTI_LOOKUP_STRATEGY, cancel); @@ -107,7 +109,8 @@ public boolean isInjectionPoint( VariableElement element ) List annotations = getModel().getHelper().getCompilationController().getElements(). getAllAnnotationMirrors(element); - return getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION); + return getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION_JAKARTA) + || getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION); } else if ( parent instanceof ExecutableElement ){ return isMethodParameterInjection(element,(ExecutableElement)parent); @@ -117,7 +120,8 @@ else if ( parent instanceof ExecutableElement ){ @Override public List getQualifiers(Element element, boolean all ) { - final boolean event = getParameterType(element, null, EVENT_INTERFACE) != null; + final boolean event = getParameterType(element, null, EVENT_INTERFACE) != null + || getParameterType(element, null, EVENT_INTERFACE_JAKARTA) != null; final LinkedHashSet result = new LinkedHashSet(); final AnnotationObjectProvider.AnnotationHandleStrategy strategy = new @@ -172,12 +176,13 @@ else if ( isMethod ){ */ @Override public boolean hasImplicitDefaultQualifier( Element element ) { - boolean event = getParameterType(element, null, EVENT_INTERFACE) != null; + boolean event = getParameterType(element, null, EVENT_INTERFACE) != null + || getParameterType(element, null, EVENT_INTERFACE_JAKARTA) != null; Set qualifiers = AnnotationObjectProvider.getQualifiers(element, getModel().getHelper(), event); if ( qualifiers.size() == 1 ){ String qualifier = qualifiers.iterator().next(); - return qualifier.equals( NAMED_QUALIFIER_ANNOTATION ); + return qualifier.equals(NAMED_QUALIFIER_ANNOTATION) || qualifier.equals(NAMED_QUALIFIER_ANNOTATION_JAKARTA); } return qualifiers.size() == 0; } @@ -196,9 +201,9 @@ public String getName( Element element) getModel().getHelper().getHelper()); for (AnnotationMirror annotationMirror : allStereotypes) { DeclaredType annotationType = annotationMirror.getAnnotationType(); - TypeElement annotation = (TypeElement)annotationType.asElement(); - if ( AnnotationObjectProvider.hasAnnotation(annotation, - NAMED_QUALIFIER_ANNOTATION, getModel().getHelper() ) ) + TypeElement annotation = (TypeElement) annotationType.asElement(); + if (AnnotationObjectProvider.hasAnnotation(annotation, NAMED_QUALIFIER_ANNOTATION_JAKARTA, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(annotation, NAMED_QUALIFIER_ANNOTATION, getModel().getHelper())) { return getNamedName(element , null); } @@ -338,13 +343,15 @@ private boolean isMethodParameterInjection( VariableElement element, /* * Parameter with @Observes annotation is not plain injection point. */ - boolean hasObserves = AnnotationObjectProvider.hasAnnotation(element, - OBSERVES_ANNOTATION, getModel().getHelper()); + boolean hasObserves = AnnotationObjectProvider.hasAnnotation(element, OBSERVES_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(element, OBSERVES_ANNOTATION_JAKARTA, getModel().getHelper()); if ( !hasObserves && isObservesParameter(element, parent, annotations)){ return true; } - return getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION)|| - getModel().getHelper().hasAnnotation(annotations, PRODUCER_ANNOTATION); + return getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION) + || getModel().getHelper().hasAnnotation(annotations, PRODUCER_ANNOTATION) + || getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION_JAKARTA) + || getModel().getHelper().hasAnnotation(annotations, PRODUCER_ANNOTATION_JAKARTA); } private void setCachedResult( List list) { @@ -411,20 +418,30 @@ private String inspectSpecializes( Element element){ return name; } TypeElement superElement = AnnotationObjectProvider.checkSuper( - (TypeElement)element, NAMED_QUALIFIER_ANNOTATION, + (TypeElement)element, NAMED_QUALIFIER_ANNOTATION_JAKARTA, getModel().getHelper()); + if (superElement == null) { + superElement = AnnotationObjectProvider.checkSuper( + (TypeElement) element, NAMED_QUALIFIER_ANNOTATION, + getModel().getHelper()); + } if ( superElement != null ){ return doGetName(element, superElement); } } else if ( element instanceof ExecutableElement ){ String name = doGetName(element, element); - if ( name == null ){ - Element specialized = MemberCheckerFilter.getSpecialized( - (ExecutableElement)element, getModel(), - NAMED_QUALIFIER_ANNOTATION); - if ( specialized!= null ){ - return doGetName(element , specialized); + if (name == null) { + Element specialized = MemberCheckerFilter.getSpecialized( + (ExecutableElement) element, getModel(), + NAMED_QUALIFIER_ANNOTATION_JAKARTA); + if (specialized == null) { + specialized = MemberCheckerFilter.getSpecialized( + (ExecutableElement) element, getModel(), + NAMED_QUALIFIER_ANNOTATION); + } + if (specialized != null) { + return doGetName(element, specialized); } } else { @@ -444,8 +461,8 @@ private String doGetName( Element original , Element element ){ for (AnnotationMirror annotationMirror : annotations) { DeclaredType type = annotationMirror.getAnnotationType(); TypeElement annotationElement = (TypeElement)type.asElement(); - if ( NAMED_QUALIFIER_ANNOTATION.contentEquals( - annotationElement.getQualifiedName())) + if (NAMED_QUALIFIER_ANNOTATION_JAKARTA.contentEquals(annotationElement.getQualifiedName()) + || NAMED_QUALIFIER_ANNOTATION.contentEquals(annotationElement.getQualifiedName())) { return getNamedName( original , annotationMirror ); } @@ -546,8 +563,8 @@ private boolean isObservesParameter( VariableElement element, List parameters = method.getParameters(); boolean observesFound = false; for (VariableElement variableElement : parameters) { - if ( AnnotationObjectProvider.hasAnnotation(variableElement, - OBSERVES_ANNOTATION, getModel().getHelper())) + if (AnnotationObjectProvider.hasAnnotation(variableElement, OBSERVES_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(variableElement, OBSERVES_ANNOTATION_JAKARTA, getModel().getHelper())) { if ( observesFound ){ throw new org.netbeans.modules.web.beans.api.model. @@ -584,8 +601,8 @@ private boolean isDisposeParameter( VariableElement element, boolean disposeFound = false; boolean observesFound = false; for (VariableElement variableElement : parameters) { - if ( AnnotationObjectProvider.hasAnnotation(variableElement, - DISPOSES_ANNOTATION, getModel().getHelper())) + if (AnnotationObjectProvider.hasAnnotation(variableElement, DISPOSES_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(variableElement, DISPOSES_ANNOTATION_JAKARTA, getModel().getHelper())) { if ( disposeFound ){ throw new org.netbeans.modules.web.beans.api.model. @@ -595,8 +612,8 @@ DISPOSES_ANNOTATION, getModel().getHelper())) } disposeFound = true; } - if ( AnnotationObjectProvider.hasAnnotation(variableElement, - OBSERVES_ANNOTATION, getModel().getHelper())) + if (AnnotationObjectProvider.hasAnnotation(variableElement, OBSERVES_ANNOTATION, getModel().getHelper()) + || AnnotationObjectProvider.hasAnnotation(variableElement, OBSERVES_ANNOTATION_JAKARTA, getModel().getHelper())) { observesFound = true; } @@ -623,15 +640,17 @@ OBSERVES_ANNOTATION, getModel().getHelper())) private String checkInjectProducers(List annotations) { - if (getModel().getHelper().hasAnnotation(annotations, - INJECT_ANNOTATION)) - { + if (getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION_JAKARTA)) { + return INJECT_ANNOTATION_JAKARTA; + } + if (getModel().getHelper().hasAnnotation(annotations, PRODUCER_ANNOTATION_JAKARTA)) { + return PRODUCER_ANNOTATION_JAKARTA; + } + if (getModel().getHelper().hasAnnotation(annotations, INJECT_ANNOTATION)) { return INJECT_ANNOTATION; } - if ( getModel().getHelper().hasAnnotation(annotations, - PRODUCER_ANNOTATION)) - { - return PRODUCER_ANNOTATION; + if (getModel().getHelper().hasAnnotation(annotations, PRODUCER_ANNOTATION)) { + return PRODUCER_ANNOTATION; } return null; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/results/InterceptorsResultImpl.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/results/InterceptorsResultImpl.java index ad958eb7fe5d..ed08744074be 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/results/InterceptorsResultImpl.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/results/InterceptorsResultImpl.java @@ -48,6 +48,7 @@ public class InterceptorsResultImpl implements InterceptorsResult { static final String INTERCEPTORS = "javax.interceptor.Interceptors"; // NOI18N + static final String INTERCEPTORS_JAKARTA = "jakarta.interceptor.Interceptors"; // NOI18N public InterceptorsResultImpl( Element element , List enabledInterceptors, @@ -166,8 +167,11 @@ private void fillDeclaredAnnotations( AnnotationParser parser, { List annotationMirrors = getController().getElements().getAllAnnotationMirrors( subjectElement ); - AnnotationMirror annotationMirror = getHelper().getAnnotationsByType( - annotationMirrors).get(INTERCEPTORS); + AnnotationMirror annotationMirror = getHelper().getAnnotationsByType(annotationMirrors).get(INTERCEPTORS); + if ( annotationMirror != null ){ + parser.parse(annotationMirror); + } + annotationMirror = getHelper().getAnnotationsByType(annotationMirrors).get(INTERCEPTORS_JAKARTA); if ( annotationMirror != null ){ parser.parse(annotationMirror); } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/results/ResultImpl.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/results/ResultImpl.java index 96db3523432f..6b2ff7fced47 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/results/ResultImpl.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/impl/model/results/ResultImpl.java @@ -41,8 +41,8 @@ */ public class ResultImpl extends BaseResult implements DependencyInjectionResult.ResolutionResult { - private static final String ALTERNATIVE = - "javax.enterprise.inject.Alternative"; // NOI18N + private static final String ALTERNATIVE = "javax.enterprise.inject.Alternative"; // NOI18N + private static final String ALTERNATIVE_JAKARTA = "jakarta.enterprise.inject.Alternative"; // NOI18N public ResultImpl( VariableElement var, TypeMirror elementType , Set declaredTypes, @@ -130,7 +130,7 @@ public boolean isAlternative( Element element ) { public boolean hasAlternative( Element element ){ List annotations = getController(). getElements().getAllAnnotationMirrors(element); - return getHelper().hasAnnotation(annotations, ALTERNATIVE); + return getHelper().hasAnnotation(annotations, ALTERNATIVE) || getHelper().hasAnnotation(annotations, ALTERNATIVE_JAKARTA); } AnnotationModelHelper getHelper(){ diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/BindingsPanel.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/BindingsPanel.java index 2a796fd597af..d7b7d7b6dc04 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/BindingsPanel.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/BindingsPanel.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.concurrent.atomic.AtomicBoolean; import java.util.logging.Level; import java.util.logging.Logger; @@ -58,13 +59,14 @@ public class BindingsPanel extends CDIPanel { private static final long serialVersionUID = 1230555367053797509L; - static final String NON_BINDING_MEMBER_ANNOTATION = - "javax.enterprise.inject.NonBinding"; // NOI18N - static final String DEFAULT = "Default"; // NOI18N - static final String DEFAULT_QUALIFIER_ANNOTATION = - "javax.enterprise.inject."+DEFAULT; // NOI18N + static final String NON_BINDING_MEMBER_ANNOTATION = "javax.enterprise.inject.NonBinding"; // NOI18N + static final String NON_BINDING_MEMBER_ANNOTATION_JAKARTA = "jakarta.enterprise.inject.NonBinding"; // NOI18N + + static final String DEFAULT_QUALIFIER_ANNOTATION = "javax.enterprise.inject."+DEFAULT; // NOI18N + static final String DEFAULT_QUALIFIER_ANNOTATION_JAKARTA = "jakarta.enterprise.inject."+DEFAULT; // NOI18N + public BindingsPanel( final Object[] subject, MetadataModel metaModel, WebBeansModel model, JavaHierarchyModel treeModel, Result result ) @@ -236,7 +238,11 @@ protected void initBindings( WebBeansModel model, Element element ) { if ( model.hasImplicitDefaultQualifier(element)){ fqnBuilder.append('@'); builder.append('@'); - fqnBuilder.append(DEFAULT_QUALIFIER_ANNOTATION); + if(jakartaNamespace) { + fqnBuilder.append(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA); + } else { + fqnBuilder.append(DEFAULT_QUALIFIER_ANNOTATION); + } builder.append(DEFAULT); fqnBuilder.append(", "); // NOI18N builder.append(", "); // NOI18N @@ -304,7 +310,11 @@ protected void doShowSelectedCDI(ElementHandle elementHandle, if ( model.hasImplicitDefaultQualifier(element)){ builder.append('@'); if (showFqns() ){ - builder.append(DEFAULT_QUALIFIER_ANNOTATION); + if(jakartaNamespace) { + builder.append(DEFAULT_QUALIFIER_ANNOTATION_JAKARTA); + } else { + builder.append(DEFAULT_QUALIFIER_ANNOTATION); + } } else { builder.append(DEFAULT); @@ -386,7 +396,28 @@ private void initCDIContext( Object[] subject, WebBeansModel model ) { if ( context == null ){ return; } - + + // Guess right namespace from subject + AtomicBoolean foundJakartaNamespace = new AtomicBoolean(); + AtomicBoolean foundJavaxNamespace = new AtomicBoolean(); + if (subject[0] instanceof ElementHandle) { + Element subjectElement = ((ElementHandle) subject[0]).resolve( + model.getCompilationController()); + subjectElement.getAnnotationMirrors().forEach(annotationMirror -> { + Element annotationElement = annotationMirror.getAnnotationType().asElement(); + if(annotationElement instanceof TypeElement) { + String annotationName = ((TypeElement) annotationElement).getQualifiedName().toString(); + if(annotationName.startsWith("javax.inject") || annotationName.startsWith("javax.enterprise")) { + foundJavaxNamespace.set(true); + } + if(annotationName.startsWith("jakarta.inject") || annotationName.startsWith("jakarta.enterprise")) { + foundJakartaNamespace.set(true); + } + } + }); + } + jakartaNamespace = foundJakartaNamespace.get() || !foundJavaxNamespace.get(); + myShortElementName = new StringBuilder(); myFqnElementName = new StringBuilder(); setContextElement(context, model.getCompilationController()); @@ -413,9 +444,8 @@ private void appendBindingParamters( AnnotationMirror mirror, for (AnnotationMirror annotationMirror : annotationMirrors) { DeclaredType annotationType = annotationMirror.getAnnotationType(); Element element = annotationType.asElement(); - if ( ( element instanceof TypeElement ) && - ((TypeElement)element).getQualifiedName(). - contentEquals(NON_BINDING_MEMBER_ANNOTATION)) + if ((element instanceof TypeElement) && (((TypeElement) element).getQualifiedName().contentEquals(NON_BINDING_MEMBER_ANNOTATION) + || ((TypeElement) element).getQualifiedName().contentEquals(NON_BINDING_MEMBER_ANNOTATION_JAKARTA))) { nonBinding = true; break; @@ -485,6 +515,8 @@ static void fillArrayType( TypeMirror typeMirror, StringBuilder shortName, private String myFqnBindings; private String myShortBindings; + private boolean jakartaNamespace = true; + private MetadataModel myModel; private Result myResult; diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/CDIPanel.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/CDIPanel.java index 5f725684414b..9d494aba5668 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/CDIPanel.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/CDIPanel.java @@ -93,10 +93,10 @@ abstract class CDIPanel extends javax.swing.JPanel { private static final long serialVersionUID = 9033410521614864413L; public static final Icon FQN_ICON = ImageUtilities.loadImageIcon( - "org/netbeans/modules/java/navigation/resources/fqn.gif", false); // NOI18N + "org/netbeans/modules/web/beans/resources/fqn.png", false); // NOI18N public static final Icon EXPAND_ALL_ICON = ImageUtilities.loadImageIcon( - "org/netbeans/modules/java/navigation/resources/expandall.gif", false); // NOI18N + "org/netbeans/modules/web/beans/resources/expandTree.png", false); // NOI18N private static TreeModel pleaseWaitTreeModel; static diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/DecoratorsPanel.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/DecoratorsPanel.java index 94e445ddc755..b02a9f652e21 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/DecoratorsPanel.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/DecoratorsPanel.java @@ -44,6 +44,7 @@ public class DecoratorsPanel extends BindingsPanel { private static final long serialVersionUID = -5097678699872215262L; private static final String DELEGATE = "javax.decorator.Delegate"; // NOI18N + private static final String DELEGATE_JAKARTA = "jakarta.decorator.Delegate"; // NOI18N public DecoratorsPanel( Object[] subject, MetadataModel metaModel, WebBeansModel model, JavaHierarchyModel treeModel ) @@ -82,8 +83,11 @@ protected void setScope( WebBeansModel model, Element element ){ private boolean hasDelegate( Element element , CompilationController controller){ List allAnnotationMirrors = controller. getElements().getAllAnnotationMirrors( element); - TypeElement delegate = controller.getElements().getTypeElement( DELEGATE); - if( delegate == null ){ + TypeElement delegate = controller.getElements().getTypeElement(DELEGATE_JAKARTA); + if (delegate == null) { + delegate = controller.getElements().getTypeElement(DELEGATE); + } + if (delegate == null) { return false; } for (AnnotationMirror annotationMirror : allAnnotationMirrors) { diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/ObserversPanel.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/ObserversPanel.java index 8bb507a3fbd7..1c7f5d8b9b6d 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/ObserversPanel.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/ObserversPanel.java @@ -40,10 +40,6 @@ public class ObserversPanel extends BindingsPanel { private static final long serialVersionUID = -5038408349629504998L; - - static final String OBSERVES_ANNOTATION = - "javax.enterprise.event.Observes"; // NOI18N - public ObserversPanel( Object[] subject, MetadataModel metaModel , WebBeansModel model , diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/actions/WebBeansActionHelper.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/actions/WebBeansActionHelper.java index d2e7860c450f..73baf3b60e52 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/actions/WebBeansActionHelper.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/navigation/actions/WebBeansActionHelper.java @@ -45,7 +45,6 @@ import javax.swing.text.JTextComponent; import org.netbeans.api.editor.EditorRegistry; -import org.netbeans.api.j2ee.core.Profile; import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.api.java.lexer.JavaTokenId; import org.netbeans.api.java.project.JavaProjectConstants; @@ -71,7 +70,6 @@ import org.netbeans.modules.parsing.api.UserTask; import org.netbeans.modules.parsing.spi.ParseException; import org.netbeans.modules.parsing.spi.Parser.Result; -import org.netbeans.modules.web.api.webmodule.WebModule; import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil; import org.netbeans.modules.web.beans.api.model.BeansModel; import org.netbeans.modules.web.beans.api.model.InterceptorsResult; @@ -109,16 +107,18 @@ public class WebBeansActionHelper { private static final String WAIT_NODE = "LBL_WaitNode"; // NOI18N static final String DELEGATE = "javax.decorator.Delegate"; // NOI18N + static final String DELEGATE_JAKARTA = "jakarta.decorator.Delegate"; // NOI18N static final String DECORATOR = "javax.decorator.Decorator";// NOI18N - - static final String FIRE = "fire"; // NOI18N + static final String DECORATOR_JAKARTA = "jakarta.decorator.Decorator";// NOI18N - static final String EVENT_INTERFACE = - "javax.enterprise.event.Event"; // NOI18N + static final String EVENT_INTERFACE = "javax.enterprise.event.Event"; // NOI18N + static final String EVENT_INTERFACE_JAKARTA = "jakarta.enterprise.event.Event"; // NOI18N - static final String OBSERVES_ANNOTATION = - "javax.enterprise.event.Observes"; // NOI18N + static final String OBSERVES_ANNOTATION = "javax.enterprise.event.Observes"; // NOI18N + static final String OBSERVES_ANNOTATION_JAKARTA = "jakarta.enterprise.event.Observes"; // NOI18N + + static final String FIRE = "fire"; // NOI18N private static final Set USABLE_TOKEN_IDS = EnumSet.of(JavaTokenId.IDENTIFIER, JavaTokenId.THIS, JavaTokenId.SUPER); @@ -181,15 +181,19 @@ public static boolean hasJsr330( Project project ){ boolean hasInject = false; boolean hasQualifier = false; for (SourceGroup sourceGroup : sourceGroups) { - boolean injectFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.INJECT_FQN) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.INJECT_FQN); + boolean injectFound = + hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.INJECT_FQN) || + hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.INJECT_FQN) || + hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.INJECT_FQN_JAKARTA) || + hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.INJECT_FQN_JAKARTA); if ( injectFound ){ hasInject = true; } - boolean qualifierFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.QUALIFIER_FQN) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.QUALIFIER_FQN); + boolean qualifierFound + = hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.QUALIFIER_FQN) + || hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.QUALIFIER_FQN) + || hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.QUALIFIER_FQN_JAKARTA) + || hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.QUALIFIER_FQN_JAKARTA); if ( qualifierFound ){ hasQualifier = true; } @@ -208,21 +212,27 @@ public static boolean hasJsr299( Project project ){ boolean hasProduces = false; boolean hasDependent = false; for (SourceGroup sourceGroup : sourceGroups) { - boolean defaultFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.DEFAULT_FQN) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.DEFAULT_FQN); + boolean defaultFound + = hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.DEFAULT_FQN) + || hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.DEFAULT_FQN) + || hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.DEFAULT_FQN_JAKARTA) + || hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.DEFAULT_FQN_JAKARTA); if ( defaultFound ){ hasDefault = true; } - boolean producesFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.PRODUCES_FQN) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.PRODUCES_FQN); + boolean producesFound + = hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.PRODUCES_FQN) + || hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.PRODUCES_FQN) + || hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.PRODUCES_FQN_JAKARTA) + || hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.PRODUCES_FQN_JAKARTA); if ( producesFound ){ hasProduces = true; } - boolean dependentFound = hasResource(sourceGroup, ClassPath.COMPILE, - AnnotationUtil.DEPENDENT) || - hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.DEPENDENT); + boolean dependentFound + = hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.DEPENDENT) + || hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.DEPENDENT) + || hasResource(sourceGroup, ClassPath.COMPILE, AnnotationUtil.DEPENDENT_JAKARTA) + || hasResource(sourceGroup, ClassPath.SOURCE, AnnotationUtil.DEPENDENT_JAKARTA); if ( dependentFound ){ hasDependent = true; } @@ -343,11 +353,11 @@ static Element getContextElement(Element element , CompilationController controller ) { if ( element instanceof TypeElement ){ - if ( hasAnnotation(element, DECORATOR) ){ + if ( hasAnnotation(element, DECORATOR) || hasAnnotation(element, DECORATOR_JAKARTA) ){ List fieldsIn = ElementFilter.fieldsIn( controller.getElements().getAllMembers((TypeElement)element)); for (VariableElement variableElement : fieldsIn) { - if ( hasAnnotation(variableElement, DELEGATE)){ + if ( hasAnnotation(variableElement, DELEGATE) || hasAnnotation(element, DELEGATE_JAKARTA)){ return variableElement; } } @@ -458,7 +468,7 @@ public void run(CompilationController controller) throws Exception { else if ( element instanceof VariableElement ){ Element enclosingElement = element.getEnclosingElement(); if ( enclosingElement instanceof ExecutableElement && - hasAnnotation(element, OBSERVES_ANNOTATION)) + (hasAnnotation(element, OBSERVES_ANNOTATION) || hasAnnotation(element, OBSERVES_ANNOTATION_JAKARTA))) { subject[0] = ElementHandle.create(enclosingElement); subject[1] = enclosingElement.getSimpleName(); @@ -541,7 +551,7 @@ public void run(ResultIterator resultIterator) throws Exception { enclosingTypeElement( method); String fqnMethodClass = enclosingTypeElement. getQualifiedName().toString(); - if( EVENT_INTERFACE.equals(fqnMethodClass)){ + if( EVENT_INTERFACE.equals(fqnMethodClass) || EVENT_INTERFACE_JAKARTA.equals(fqnMethodClass)){ List fields = ElementFilter.fieldsIn ( controller.getElements().getAllMembers( diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/BeansResolver.xml b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/BeansResolver.xml deleted file mode 100644 index 4c1555f2b2b8..000000000000 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/BeansResolver.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Bundle.properties b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Bundle.properties index ef5090b817ea..b5fbd94d2391 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Bundle.properties +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Bundle.properties @@ -31,5 +31,3 @@ DSCR_Delegate=CDI Delegate Injection Point DSCR_Event=CDI Event DSCR_Observer=CDI Observer DSCR_Intercepted=CDI Intercepted Element - -Loaders/text/x-beans+xml/Factories/org-netbeans-modules-web-beans-BeansDataLoader.instance=Persistence Unit Files diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Interceptor.template b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Interceptor.template index 972a940698fc..90a014ce36a3 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Interceptor.template +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Interceptor.template @@ -13,7 +13,11 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.Target; +<#if jakartaNamespace?? && jakartaNamespace> +import jakarta.interceptor.InterceptorBinding; +<#else> import javax.interceptor.InterceptorBinding; + /** * diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Qualifier.template b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Qualifier.template index 1d092a1154e5..2a218b4b809c 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Qualifier.template +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Qualifier.template @@ -14,7 +14,11 @@ import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; import java.lang.annotation.Target; +<#if jakartaNamespace?? && jakartaNamespace> +import jakarta.inject.Qualifier; +<#else> import javax.inject.Qualifier; + /** * diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Scope.template b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Scope.template index fc31fdfc5d4f..b723d069126d 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Scope.template +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Scope.template @@ -14,14 +14,22 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.Target; +<#if jakartaNamespace?? && jakartaNamespace> +import jakarta.inject.Scope; +<#else> import javax.inject.Scope; + /** * * @author ${user} */ @Inherited +<#if jakartaNamespace?? && jakartaNamespace> +@Scope // or @jakarta.enterprise.context.NormalScope +<#else> @Scope // or @javax.enterprise.context.NormalScope + @Retention(RUNTIME) @Target({METHOD, FIELD, TYPE}) public @interface ${name} { diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Stereotype.template b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Stereotype.template index c967f366e57b..bd46d2b7f5f5 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Stereotype.template +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/Stereotype.template @@ -13,7 +13,11 @@ import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; import java.lang.annotation.Target; +<#if jakartaNamespace?? && jakartaNamespace> +import jakarta.enterprise.inject.Stereotype; +<#else> import javax.enterprise.inject.Stereotype; + /** * diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/expandTree.png b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/expandTree.png new file mode 100644 index 0000000000000000000000000000000000000000..0f1567492022b8e50736d176e79f60a55452cc43 GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85p>QK$!8;-MT+OLG}_)Usv{PT&#RXO76j}^MFE9C9V-A!TD(= z<%vb93;~Imc_n&&t|1C##(JiDh6V;-iWUM@?e=tW46*P}{_+36J+s}MI5Sa=-e_LK zS^vXLzCAEuSgXP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0004kNkl}n-rnztw9Bel3=}$Ab&a{f-2LK`A9CJJmiNzmA1LFg(c!?&M; zNv%e1)dNJfacpMcH?opoyh9Syb(v8~En`AWiyljz8aSHjvFWf&$+U%X0d3>Z&%)kI z__-W?1OEpYv2@`*D+N?SFIBh~VW#`4lBr~%nZVd8hYBiVV+NJ7;JXs~B)>)cj9>G# VsP3$Nb}|3}002ovPDHLkV1iz|*Z}|l literal 0 HcmV?d00001 diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/layer.xml b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/layer.xml index e6ce309439a5..09fa9c047e4c 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/layer.xml +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/resources/layer.xml @@ -109,7 +109,7 @@ - + @@ -119,7 +119,7 @@ - + @@ -129,7 +129,7 @@ - + @@ -139,7 +139,7 @@ - + diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/wizard/BeansXmlIterator.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/wizard/BeansXmlIterator.java index 096fdfb781c7..6b9bcdabd3aa 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/wizard/BeansXmlIterator.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/wizard/BeansXmlIterator.java @@ -53,7 +53,7 @@ * A template wizard operator for new beans.xml */ public class BeansXmlIterator implements TemplateWizard.Iterator { - + private enum J2eeProjectType { WAR, JAR, @@ -62,7 +62,7 @@ private enum J2eeProjectType { private static final String WEB_INF = "WEB-INF"; // NOI18N private static final String META_INF = "META-INF"; // NOI18N - + private int index; private static final String defaultName = "beans"; //NOI18N @@ -94,12 +94,12 @@ public Set instantiate(TemplateWizard wizard) throws IOException { if ( project != null ){ CdiUtil logger = project.getLookup().lookup( CdiUtil.class ); if (logger != null){ - logger.log("USG_CDI_BEANS_WIZARD", BeansXmlIterator.class, + logger.log("USG_CDI_BEANS_WIZARD", BeansXmlIterator.class, new Object[]{project.getClass().getName()}, true); } } return Collections.singleton(DataObject.find(fo)); - } + } else { return Collections.EMPTY_SET; } @@ -109,11 +109,11 @@ public Set instantiate(TemplateWizard wizard) throws IOException { public void initialize(TemplateWizard wizard) { WizardDescriptor.Panel folderPanel; Project project = Templates.getProject( wizard ); - + FileObject targetFolder = getTargetFolder(project); - + Sources sources = project.getLookup().lookup(Sources.class); - SourceGroup[] sourceGroups; + SourceGroup[] sourceGroups; String parentFolder = null; if ( type == J2eeProjectType.WAR){ sourceGroups = sources.getSourceGroups(WebProjectConstants.TYPE_DOC_ROOT); @@ -122,20 +122,20 @@ public void initialize(TemplateWizard wizard) { } } else { - if ( type != null && + if ( type != null && targetFolder!=null && targetFolder.getFileObject(defaultName+".xml")!=null ) { parentFolder = targetFolder.getName(); } sourceGroups = sources.getSourceGroups(Sources.TYPE_GENERIC); } - + SimpleTargetChooserBuilder builder = Templates. buildSimpleTargetChooser(project, sourceGroups); - + builder = builder.bottomPanel( new FakePanel(parentFolder)); folderPanel = builder.create(); - + panels = new WizardDescriptor.Panel[] { folderPanel }; // Creating steps. @@ -152,7 +152,7 @@ public void initialize(TemplateWizard wizard) { steps[i] = jc.getName (); } jc.putClientProperty (WizardDescriptor.PROP_CONTENT_SELECTED_INDEX, i); - jc.putClientProperty (WizardDescriptor.PROP_CONTENT_DATA, steps); + jc.putClientProperty (WizardDescriptor.PROP_CONTENT_DATA, steps); } Templates.setTargetName(wizard, defaultName); @@ -165,14 +165,14 @@ private FileObject getTargetFolder(Project project) { FileObject webInf = wm.getWebInf(); if (webInf == null && wm.getDocumentBase() != null) { try { - webInf = FileUtil.createFolder(wm.getDocumentBase(), WEB_INF); + webInf = FileUtil.createFolder(wm.getDocumentBase(), WEB_INF); } catch (IOException ex) { Exceptions.printStackTrace(ex); } } type = J2eeProjectType.WAR; return webInf; - } + } else { EjbJar ejbs[] = EjbJar.getEjbJars(project); if (ejbs.length > 0) { @@ -183,14 +183,14 @@ private FileObject getTargetFolder(Project project) { if (cars.length > 0) { type = J2eeProjectType.CAR; return cars[0].getMetaInf(); - } + } } } Sources sources = project.getLookup().lookup(Sources.class); SourceGroup[] sourceGroups = sources.getSourceGroups( JavaProjectConstants.SOURCES_TYPE_JAVA); if ( sourceGroups.length >0 ){ - FileObject metaInf = sourceGroups[0].getRootFolder().getFileObject( + FileObject metaInf = sourceGroups[0].getRootFolder().getFileObject( META_INF ); if ( metaInf == null ){ try { @@ -275,9 +275,9 @@ public static String[] createSteps(String[] before, WizardDescriptor.Panel[] pan } static class FakePanel implements Panel { - + private String folder ; - + FakePanel(String folder ){ this.folder = folder; } @@ -296,7 +296,7 @@ public HelpCtx getHelp() { public void readSettings(Object settings) { if ( folder!=null ){ ((WizardDescriptor)settings).putProperty( - WizardDescriptor.PROP_ERROR_MESSAGE, + WizardDescriptor.PROP_ERROR_MESSAGE, NbBundle.getMessage( BeansXmlIterator.class , "ERR_BeansAlreadyExists", folder)); } @@ -318,7 +318,7 @@ public void addChangeListener(ChangeListener l) { @Override public void removeChangeListener(ChangeListener l) { } - + } } \ No newline at end of file diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/wizard/CDIBeanIterator.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/wizard/CDIBeanIterator.java new file mode 100644 index 000000000000..666cea46b3b9 --- /dev/null +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/wizard/CDIBeanIterator.java @@ -0,0 +1,173 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.netbeans.modules.web.beans.wizard; + +import java.io.IOException; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; +import javax.swing.JComponent; +import javax.swing.event.ChangeListener; +import org.netbeans.api.java.classpath.ClassPath; +import org.netbeans.api.java.project.JavaProjectConstants; +import org.netbeans.api.project.Project; +import org.netbeans.api.project.ProjectUtils; +import org.netbeans.api.project.SourceGroup; +import org.netbeans.spi.java.project.support.ui.templates.JavaTemplates; +import org.netbeans.spi.project.ui.templates.support.Templates; +import org.openide.WizardDescriptor; +import org.openide.filesystems.FileObject; +import org.openide.loaders.DataFolder; +import org.openide.loaders.DataObject; +import org.openide.loaders.TemplateWizard; +import org.openide.util.NbBundle; + +/** + * A template wizard iterator for new ManagedBean. + * + * @author Petr Pisl, Alexey Butenko, Martin Fousek + */ +@SuppressWarnings("serial") // not going to be serialized +public class CDIBeanIterator implements TemplateWizard.Iterator { + + private int index; + private transient WizardDescriptor.Panel[] panels; + + @Override + public void initialize(TemplateWizard wizard) { + index = 0; + // obtaining target folder + Project project = Templates.getProject(wizard); + + SourceGroup[] sourceGroups = ProjectUtils.getSources(project).getSourceGroups(JavaProjectConstants.SOURCES_TYPE_JAVA); + WizardDescriptor.Panel javaPanel = JavaTemplates.createPackageChooser(project, sourceGroups, null); + + panels = new WizardDescriptor.Panel[]{javaPanel}; + + // Creating steps. + Object prop = wizard.getProperty(WizardDescriptor.PROP_CONTENT_DATA); // NOI18N + String[] beforeSteps = null; + if (prop instanceof String[]) { + beforeSteps = (String[]) prop; + } + String[] steps = createSteps(beforeSteps, panels); + for (int i = 0; i < panels.length; i++) { + JComponent jc = (JComponent) panels[i].getComponent(); + if (steps[i] == null) { + steps[i] = jc.getName(); + } + jc.putClientProperty(WizardDescriptor.PROP_CONTENT_SELECTED_INDEX, i); // NOI18N + jc.putClientProperty(WizardDescriptor.PROP_CONTENT_DATA, steps); // NOI18N + } + } + + @Override + public void uninitialize(TemplateWizard wizard) { + panels = null; + } + + @Override + public Set instantiate(TemplateWizard wizard) throws IOException { + FileObject dir = Templates.getTargetFolder(wizard); + + String targetName = Templates.getTargetName(wizard); + + DataFolder df = DataFolder.findFolder(dir); + FileObject template = Templates.getTemplate(wizard); + + DataObject dTemplate = DataObject.find(template); + + Map parameters = new HashMap<>(); + + ClassPath cp = ClassPath.getClassPath(df.getPrimaryFile(), ClassPath.COMPILE); + boolean jakartaInjectPresent = cp.findResource("jakarta/inject/Qualifier.class") != null; + boolean javaxInjectPresent = cp.findResource("javax/inject/Qualifier.class") != null; + + parameters.put("jakartaNamespace", jakartaInjectPresent || (! javaxInjectPresent)); + + DataObject dobj = dTemplate.createFromTemplate(df, targetName, parameters); + + return Collections.singleton(dobj); + } + + @Override + public void previousPanel() { + if (!hasPrevious()) { + throw new NoSuchElementException(); + } + index--; + } + + @Override + public void nextPanel() { + if (!hasNext()) { + throw new NoSuchElementException(); + } + index++; + } + + @Override + public boolean hasPrevious() { + return index > 0; + } + + @Override + public boolean hasNext() { + return index < panels.length - 1; + } + + @Override + public String name() { + return NbBundle.getMessage(CDIBeanIterator.class, "TITLE_x_of_y", index + 1, panels.length); + } + + @Override + public WizardDescriptor.Panel current() { + return panels[index]; + } + + @Override + public final void addChangeListener(ChangeListener l) { + } + + @Override + public final void removeChangeListener(ChangeListener l) { + } + + private String[] createSteps(String[] before, WizardDescriptor.Panel[] panels) { + int diff = 0; + if (before == null) { + before = new String[0]; + } else if (before.length > 0) { + diff = ("...".equals(before[before.length - 1])) ? 1 : 0; //NOI18N + } + String[] res = new String[(before.length - diff) + panels.length]; + for (int i = 0; i < res.length; i++) { + if (i < (before.length - diff)) { + res[i] = before[i]; + } else { + res[i] = panels[i - before.length + diff].getComponent().getName(); + } + } + return res; + } + +} diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/WebBeansComponent.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/WebBeansComponent.java index 42cefdd97308..1ea1116f7d23 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/WebBeansComponent.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/WebBeansComponent.java @@ -29,6 +29,7 @@ public interface WebBeansComponent extends DocumentComponent String WEB_BEANS_NAMESPACE_OLD = "http://java.sun.com/xml/ns/javaee"; // NOI18N String WEB_BEANS_NAMESPACE = "http://xmlns.jcp.org/xml/ns/javaee"; // NOI18N + String WEB_BEANS_NAMESPACE_JAKARTA = "https://jakarta.ee/xml/ns/jakartaee"; // NOI18N WebBeansModel getModel(); diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansComponentBuildVisitor.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansComponentBuildVisitor.java index 80b702d272d0..ce5589383a57 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansComponentBuildVisitor.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansComponentBuildVisitor.java @@ -104,10 +104,11 @@ public void visit( Stereotype stereotype ) { WebBeansComponent create( WebBeansComponent context, Element element ) { QName qName = AbstractDocumentComponent.getQName(element); - if ( !(WebBeansComponent.WEB_BEANS_NAMESPACE.equals( - qName.getNamespaceURI() ) || - WebBeansComponent.WEB_BEANS_NAMESPACE_OLD.equals( - qName.getNamespaceURI() ))) + if ( !( + WebBeansComponent.WEB_BEANS_NAMESPACE_JAKARTA.equals(qName.getNamespaceURI()) + || WebBeansComponent.WEB_BEANS_NAMESPACE.equals(qName.getNamespaceURI()) + || WebBeansComponent.WEB_BEANS_NAMESPACE_OLD.equals(qName.getNamespaceURI())) + ) { return null; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansComponentImpl.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansComponentImpl.java index a2e0fdc3110a..466ed8a32f47 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansComponentImpl.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansComponentImpl.java @@ -56,7 +56,7 @@ protected Object getAttributeValueOf( Attribute attr, String stringValue ) { } protected static Element createNewElement(String name, WebBeansModelImpl model){ - String ns = WebBeansComponent.WEB_BEANS_NAMESPACE; + String ns = WebBeansComponent.WEB_BEANS_NAMESPACE_JAKARTA; if(model.getRootComponent() instanceof AbstractDocumentComponent) { ns = ((AbstractDocumentComponent)model.getRootComponent()).getQName().getNamespaceURI(); } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansElements.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansElements.java index a733bb558911..f7e5b2e00278 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansElements.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/xml/impl/WebBeansElements.java @@ -56,7 +56,7 @@ public String getName() { } public QName getQName(WebBeansModelImpl model) { - String ns = WebBeansComponent.WEB_BEANS_NAMESPACE; + String ns = WebBeansComponent.WEB_BEANS_NAMESPACE_JAKARTA; if( model.getRootComponent() instanceof AbstractDocumentComponent) { ns = ((AbstractDocumentComponent)model.getRootComponent()).getQName().getNamespaceURI(); } diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/BaseAnalisysTestCase.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/BaseAnalisysTestCase.java index b60beac731a7..18672d854535 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/BaseAnalisysTestCase.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/BaseAnalisysTestCase.java @@ -19,6 +19,7 @@ package org.netbeans.modules.web.beans.analysis; import java.io.IOException; +import java.nio.file.Path; import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -40,6 +41,7 @@ import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; +import org.openide.util.Exceptions; /** @@ -81,8 +83,9 @@ public void process( TestProblems result ) { }; - public BaseAnalisysTestCase( String testName ) { + public BaseAnalisysTestCase(String testName, boolean jakartaVariant) { super(testName); + this.jakartaVariant = jakartaVariant; } /* (non-Javadoc) @@ -91,13 +94,14 @@ public BaseAnalisysTestCase( String testName ) { @Override protected void setUp() throws Exception { super.setUp(); + myUtilities = new CdiTestUtilities(srcFO, jakartaVariant); + myUtilities.initAnnotations(); + tempDir = myUtilities.setupJakartaMarker(); GlobalPathRegistry.getDefault().register(ClassPath.SOURCE, new ClassPath[] { ClassPath.getClassPath(srcFO, ClassPath.SOURCE) }); GlobalPathRegistry.getDefault().register(ClassPath.BOOT, new ClassPath[] { bootCP }); myClassPathInfo = ClasspathInfo.create(srcFO); - myUtilities = new CdiTestUtilities( srcFO ); - myUtilities.initAnnotations(); } /* (non-Javadoc) @@ -105,6 +109,11 @@ protected void setUp() throws Exception { */ @Override protected void tearDown() { + try { + myUtilities.deleteTree(tempDir); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } } protected void runAnalysis( FileObject fileObject , @@ -341,6 +350,8 @@ public String getMessage() { private ClasspathInfo myClassPathInfo; private CdiTestUtilities myUtilities; + private final boolean jakartaVariant; + private Path tempDir; protected static interface ResultProcessor { void process ( TestProblems result ); diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/CdiAnalysisJakartaTest.java similarity index 99% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/CdiAnalysisJakartaTest.java index c848dc36da3d..a2c56ce5bc4e 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/CdiAnalysisTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/CdiAnalysisJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.analysis; +package org.netbeans.modules.web.beans.analysis; import java.io.IOException; import java.lang.annotation.Retention; @@ -41,17 +41,17 @@ * @author ads * */ -public class CdiAnalysisTest extends BaseAnalisysTestCase { +public class CdiAnalysisJakartaTest extends BaseAnalisysTestCase { /** * @param testName */ - public CdiAnalysisTest( String testName ) { - super(testName); + public CdiAnalysisJakartaTest( String testName ) { + super(testName, true); } /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.BaseAnalisysTestCase#createTask() + * @see org.netbeans.modules.web.beans.analysis.BaseAnalisysTestCase#createTask() */ @Override protected CdiAnalysisTestTask createTask() { @@ -1126,7 +1126,7 @@ public void process( TestProblems result ) { } /* - * org.netbeans.modules.jakarta.web.beans.analysis.analyzer.CtorAnalyzer + * org.netbeans.modules.web.beans.analysis.analyzer.CtorAnalyzer */ public void testCtor() throws IOException{ FileObject errorFile = TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz.java", diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/CdiAnalysisTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/CdiAnalysisTest.java index 1500656a5d51..71675b7663aa 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/CdiAnalysisTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/CdiAnalysisTest.java @@ -47,7 +47,7 @@ public class CdiAnalysisTest extends BaseAnalisysTestCase { * @param testName */ public CdiAnalysisTest( String testName ) { - super(testName); + super(testName, false); } /* (non-Javadoc) diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/WebBeansAnalysisJakartaTest.java similarity index 99% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/WebBeansAnalysisJakartaTest.java index 5a1322fdb746..044de67922b1 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/analysis/WebBeansAnalysisTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/WebBeansAnalysisJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.analysis; +package org.netbeans.modules.web.beans.analysis; import java.io.IOException; @@ -28,15 +28,15 @@ * @author ads * */ -public class WebBeansAnalysisTest extends BaseAnalisysTestCase { +public class WebBeansAnalysisJakartaTest extends BaseAnalisysTestCase { - public WebBeansAnalysisTest(String testName) { - super(testName); + public WebBeansAnalysisJakartaTest(String testName) { + super(testName, true); } /* (non-Javadoc) - * @see org.netbeans.modules.jakarta.web.beans.analysis.BaseAnalisysTestCase#createTask() + * @see org.netbeans.modules.web.beans.analysis.BaseAnalisysTestCase#createTask() */ @Override protected WebBeansAnalysisTestTask createTask() { @@ -564,6 +564,16 @@ public void testSessionBean() throws IOException { " @Singleton "+ " public class Clazz { "+ "}"); + ResultProcessor processor = new ResultProcessor (){ + + @Override + public void process( TestProblems result ) { + checkTypeElement(result, "foo.Clazz"); + } + + }; + runAnalysis(errorFile , processor); + errorFile.delete(); FileObject errorFile1 = TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz1.java", "package foo; " + @@ -572,6 +582,16 @@ public void testSessionBean() throws IOException { " @Stateless "+ " public class Clazz1 { "+ "}"); + processor = new ResultProcessor (){ + + @Override + public void process( TestProblems result ) { + checkTypeElement(result, "foo.Clazz1"); + } + + }; + runAnalysis(errorFile1 , processor); + errorFile1.delete(); FileObject goodFile = TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz2.java", "package foo; " + @@ -581,6 +601,8 @@ public void testSessionBean() throws IOException { " @ApplicationScoped "+ " public class Clazz2 { "+ "}"); + runAnalysis( goodFile, NO_ERRORS_PROCESSOR ); + goodFile.delete(); FileObject goodFile1 = TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz3.java", "package foo; " + @@ -588,29 +610,8 @@ public void testSessionBean() throws IOException { " @Stateless "+ " public class Clazz3 { "+ "}"); - - ResultProcessor processor = new ResultProcessor (){ - - @Override - public void process( TestProblems result ) { - checkTypeElement(result, "foo.Clazz"); - } - - }; - runAnalysis(errorFile , processor); - - processor = new ResultProcessor (){ - - @Override - public void process( TestProblems result ) { - checkTypeElement(result, "foo.Clazz1"); - } - - }; - runAnalysis(errorFile1 , processor); - - runAnalysis( goodFile, NO_ERRORS_PROCESSOR ); runAnalysis( goodFile1, NO_ERRORS_PROCESSOR ); + goodFile1.delete(); } //======================================================================= diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/WebBeansAnalysisTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/WebBeansAnalysisTest.java index 6e7f2125a6aa..9b02e48dbfe8 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/WebBeansAnalysisTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/analysis/WebBeansAnalysisTest.java @@ -32,7 +32,7 @@ public class WebBeansAnalysisTest extends BaseAnalisysTestCase { public WebBeansAnalysisTest(String testName) { - super(testName); + super(testName, false); } /* (non-Javadoc) @@ -543,7 +543,7 @@ public void process( TestProblems result ) { public void testSessionBean() throws IOException { getUtilities().initEnterprise(); - + TestUtilities.copyStringToFileObject(srcFO, "foo/Scope1.java", "package foo; " + " import javax.inject.Scope; "+ @@ -556,7 +556,7 @@ public void testSessionBean() throws IOException { " @Scope "+ " public @interface Scope1 { "+ "}"); - + FileObject errorFile = TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz.java", "package foo; " + "import javax.ejb.Singleton; "+ @@ -564,7 +564,17 @@ public void testSessionBean() throws IOException { " @Singleton "+ " public class Clazz { "+ "}"); - + ResultProcessor processor = new ResultProcessor (){ + + @Override + public void process( TestProblems result ) { + checkTypeElement(result, "foo.Clazz"); + } + + }; + runAnalysis(errorFile , processor); + errorFile.delete(); + FileObject errorFile1 = TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz1.java", "package foo; " + "import javax.ejb.Stateless; "+ @@ -572,7 +582,17 @@ public void testSessionBean() throws IOException { " @Stateless "+ " public class Clazz1 { "+ "}"); - + processor = new ResultProcessor (){ + + @Override + public void process( TestProblems result ) { + checkTypeElement(result, "foo.Clazz1"); + } + + }; + runAnalysis(errorFile1 , processor); + errorFile1.delete(); + FileObject goodFile = TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz2.java", "package foo; " + "import javax.enterprise.context.ApplicationScoped; "+ @@ -581,36 +601,17 @@ public void testSessionBean() throws IOException { " @ApplicationScoped "+ " public class Clazz2 { "+ "}"); - + runAnalysis( goodFile, NO_ERRORS_PROCESSOR ); + goodFile.delete(); + FileObject goodFile1 = TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz3.java", "package foo; " + "import javax.ejb.Stateless; "+ " @Stateless "+ " public class Clazz3 { "+ "}"); - - ResultProcessor processor = new ResultProcessor (){ - - @Override - public void process( TestProblems result ) { - checkTypeElement(result, "foo.Clazz"); - } - - }; - runAnalysis(errorFile , processor); - - processor = new ResultProcessor (){ - - @Override - public void process( TestProblems result ) { - checkTypeElement(result, "foo.Clazz1"); - } - - }; - runAnalysis(errorFile1 , processor); - - runAnalysis( goodFile, NO_ERRORS_PROCESSOR ); runAnalysis( goodFile1, NO_ERRORS_PROCESSOR ); + goodFile1.delete(); } //======================================================================= diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/AlternativeTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AlternativeJakartaTest.java similarity index 99% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/AlternativeTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AlternativeJakartaTest.java index db68b876d483..a50a11822df6 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/AlternativeTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AlternativeJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -34,18 +34,18 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class AlternativeTest extends CommonTestCase { +public class AlternativeJakartaTest extends CommonTestCase { - public AlternativeTest( String testName ) { - super(testName); + public AlternativeJakartaTest( String testName ) { + super(testName, true); } public void testAlternativeDisabled() throws IOException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AlternativeTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AlternativeTest.java index 9b12eec77e9c..3e77b1eee248 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AlternativeTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AlternativeTest.java @@ -18,8 +18,10 @@ */ package org.netbeans.modules.web.beans.model; +import java.io.File; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -36,6 +38,7 @@ import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; import org.netbeans.modules.web.beans.api.model.WebBeansModel; +import org.openide.filesystems.FileUtil; /** @@ -45,7 +48,7 @@ public class AlternativeTest extends CommonTestCase { public AlternativeTest( String testName ) { - super(testName); + super(testName, false); } public void testAlternativeDisabled() throws IOException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/AnyTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AnyJakartaTest.java similarity index 96% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/AnyTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AnyJakartaTest.java index a0dcedf877d8..03222c9d2432 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/AnyTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AnyJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -34,19 +34,19 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; +import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.impl.model.results.ResultImpl; /** * @author ads * */ -public class AnyTest extends CommonTestCase { +public class AnyJakartaTest extends CommonTestCase { - public AnyTest( String testName ) { - super(testName); + public AnyJakartaTest( String testName ) { + super(testName, true); } public void testSingleAny() throws IOException, InterruptedException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AnyTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AnyTest.java index a1320ad406d1..d5452f1bd822 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AnyTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/AnyTest.java @@ -46,7 +46,7 @@ public class AnyTest extends CommonTestCase { public AnyTest( String testName ) { - super(testName); + super(testName, false); } public void testSingleAny() throws IOException, InterruptedException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CommonTestCase.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CommonTestCase.java index f75cc3d1134d..9b92b4c8c0ac 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CommonTestCase.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CommonTestCase.java @@ -19,6 +19,7 @@ package org.netbeans.modules.web.beans.model; import java.io.IOException; +import java.nio.file.Path; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -39,6 +40,7 @@ import org.netbeans.modules.web.beans.api.model.WebBeansModelFactory; import org.netbeans.modules.web.beans.impl.model.results.ResultImpl; import org.netbeans.modules.web.beans.testutilities.CdiTestUtilities; +import org.openide.util.Exceptions; /** @@ -47,20 +49,31 @@ */ public class CommonTestCase extends JavaSourceTestCase { - public CommonTestCase( String testName ) { + private final boolean jakartaVariant; + + public CommonTestCase(String testName, boolean jakartaVariant) { super(testName); + this.jakartaVariant = jakartaVariant; } @Override protected void setUp() throws Exception { super.setUp(); - myUtilities = new CdiTestUtilities(srcFO); + myUtilities = new CdiTestUtilities(srcFO, jakartaVariant); myUtilities.initAnnotations(); - /*URL url = FileUtil.getArchiveRoot(javax.faces.component.FacesComponent.class.getProtectionDomain(). - getCodeSource().getLocation()); - addCompileRoots( Collections.singletonList( url ));*/ + tempDir = myUtilities.setupJakartaMarker(); + addCompileRoots(Arrays.asList(tempDir.toUri().toURL())); } - + + @Override + protected void tearDown() { + try { + myUtilities.deleteTree(tempDir); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + } + public MetadataModel createBeansModel() throws IOException, InterruptedException { IndexingManager.getDefault().refreshIndexAndWait(srcFO.getURL(), null); return myUtilities.createBeansModel(); @@ -213,4 +226,5 @@ public final void assertResultAllProductions(DependencyInjectionResult result, S } private CdiTestUtilities myUtilities; + private Path tempDir; } diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/CurrentTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CurrentJakartaTest.java similarity index 98% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/CurrentTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CurrentJakartaTest.java index 3f56fc50be4e..b4bc3374e68c 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/CurrentTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CurrentJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -32,7 +32,7 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** @@ -41,10 +41,10 @@ * Current = Default ( Current is name of Default from old specification ). * */ -public class CurrentTest extends CommonTestCase { +public class CurrentJakartaTest extends CommonTestCase { - public CurrentTest( String testName ) { - super(testName); + public CurrentJakartaTest( String testName ) { + super(testName, true); } public void testDefault() throws IOException, InterruptedException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CurrentTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CurrentTest.java index 893cc789ed42..c4df3e692d17 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CurrentTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/CurrentTest.java @@ -44,7 +44,7 @@ public class CurrentTest extends CommonTestCase { public CurrentTest( String testName ) { - super(testName); + super(testName, false); } public void testDefault() throws IOException, InterruptedException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DecoratorTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DecoratorJakartaTest.java similarity index 97% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DecoratorTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DecoratorJakartaTest.java index 34ca746246ec..7d53e5968167 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DecoratorTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DecoratorJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.Arrays; @@ -32,17 +32,17 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class DecoratorTest extends CommonTestCase { +public class DecoratorJakartaTest extends CommonTestCase { - public DecoratorTest( String testName ) { - super(testName); + public DecoratorJakartaTest( String testName ) { + super(testName, true); } public void testSimple() throws IOException, InterruptedException { diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DecoratorTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DecoratorTest.java index 2f850c5a4a19..d3b1fba181f1 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DecoratorTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DecoratorTest.java @@ -42,7 +42,7 @@ public class DecoratorTest extends CommonTestCase { public DecoratorTest( String testName ) { - super(testName); + super(testName, false); } public void testSimple() throws IOException, InterruptedException { diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DelegateAssignabilityTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DelegateAssignabilityJakartaTest.java similarity index 98% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DelegateAssignabilityTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DelegateAssignabilityJakartaTest.java index b22fc780e4a8..bbf536db6e7c 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DelegateAssignabilityTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DelegateAssignabilityJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -33,17 +33,17 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class DelegateAssignabilityTest extends CommonTestCase { +public class DelegateAssignabilityJakartaTest extends CommonTestCase { - public DelegateAssignabilityTest( String testName ) { - super(testName); + public DelegateAssignabilityJakartaTest( String testName ) { + super(testName, true); } public void testSimple() throws IOException, InterruptedException { diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DelegateAssignabilityTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DelegateAssignabilityTest.java index f48696cdf2e0..f5a651b000cb 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DelegateAssignabilityTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DelegateAssignabilityTest.java @@ -43,7 +43,7 @@ public class DelegateAssignabilityTest extends CommonTestCase { public DelegateAssignabilityTest( String testName ) { - super(testName); + super(testName, false); } public void testSimple() throws IOException, InterruptedException { diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DisabledBeansTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DisabledBeansJakartaTest.java similarity index 99% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DisabledBeansTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DisabledBeansJakartaTest.java index 907aa6421a3d..8f08c4d07efd 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/DisabledBeansTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DisabledBeansJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -35,18 +35,18 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class DisabledBeansTest extends CommonTestCase { +public class DisabledBeansJakartaTest extends CommonTestCase { - public DisabledBeansTest( String testName ) { - super(testName); + public DisabledBeansJakartaTest( String testName ) { + super(testName, true); } public void testSingeAlternative() throws IOException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DisabledBeansTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DisabledBeansTest.java index f9a335fa3390..3a8c6a0f0ac6 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DisabledBeansTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/DisabledBeansTest.java @@ -46,7 +46,7 @@ public class DisabledBeansTest extends CommonTestCase { public DisabledBeansTest( String testName ) { - super(testName); + super(testName, false); } public void testSingeAlternative() throws IOException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/EventTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/EventJakartaTest.java similarity index 99% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/EventTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/EventJakartaTest.java index 11e3ec1d2984..4e8c3e93f01f 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/EventTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/EventJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -39,17 +39,17 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class EventTest extends CommonTestCase { +public class EventJakartaTest extends CommonTestCase { - public EventTest(String testName ){ - super( testName); + public EventJakartaTest(String testName ){ + super( testName, true); } public void testSimple () throws MetadataModelException, IOException, diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/EventTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/EventTest.java index e1f4fae81e41..785d0a7b528d 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/EventTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/EventTest.java @@ -49,7 +49,7 @@ public class EventTest extends CommonTestCase { public EventTest(String testName ){ - super( testName); + super( testName, false); } public void testSimple () throws MetadataModelException, IOException, diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/InterceptorBindingsTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsJakartaTest.java similarity index 96% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/InterceptorBindingsTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsJakartaTest.java index 7796672fc5d2..0b916b4d49f1 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/InterceptorBindingsTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.Arrays; @@ -36,17 +36,17 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class InterceptorBindingsTest extends CommonTestCase { +public class InterceptorBindingsJakartaTest extends CommonTestCase { - public InterceptorBindingsTest( String testName ) { - super(testName); + public InterceptorBindingsJakartaTest( String testName ) { + super(testName, true); } public void testClassInterceptorBindings() throws IOException{ @@ -58,7 +58,7 @@ public void testClassInterceptorBindings() throws IOException{ "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import jakarta.web.beansenterprise.inject.*; "+ + "import jakarta.enterprise.inject.*; "+ "import jakarta.inject.*; "+ "import java.lang.annotation.*; "+ "import jakarta.interceptor.*; "+ @@ -239,21 +239,21 @@ public void testMethodInterceptorBindings() throws IOException{ "package foo; " + "@IBinding1 "+ "public class One {" + - " void @IBinding3 method1(){} "+ - " void @Stereotype2 method2(){} "+ + " @IBinding3 void method1(){} "+ + " @Stereotype2 void method2(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Two.java", "package foo; " + "@Stereotype2 "+ "public class Two {" + - " void @IBinding1 method(){} "+ + " @IBinding1 void method(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Three.java", "package foo; " + "public class Three {" + - " void @IBinding1 method(){} "+ + " @IBinding1 void method(){} "+ "}" ); TestWebBeansModelImpl modelImpl = createModelImpl(true ); diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsTest.java index 22e398e9c5d6..34c2be311716 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorBindingsTest.java @@ -46,7 +46,7 @@ public class InterceptorBindingsTest extends CommonTestCase { public InterceptorBindingsTest( String testName ) { - super(testName); + super(testName, false); } public void testClassInterceptorBindings() throws IOException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/InterceptorResolutionTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionJakartaTest.java similarity index 97% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/InterceptorResolutionTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionJakartaTest.java index 13325671a45f..49f7bca7a903 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/InterceptorResolutionTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.Arrays; @@ -35,18 +35,18 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.InterceptorsResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.InterceptorsResult; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class InterceptorResolutionTest extends CommonTestCase { +public class InterceptorResolutionJakartaTest extends CommonTestCase { - public InterceptorResolutionTest( String testName ) { - super(testName); + public InterceptorResolutionJakartaTest( String testName ) { + super(testName, true); } public void testSimpleInterceptorCase() throws IOException{ @@ -219,7 +219,7 @@ public void testEnabledInterceptor() throws IOException{ "package foo; " + "@IBinding1 "+ "public class One {" + - " void @IBinding2 method1(){} "+ + " @IBinding2 void method1(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Iceptor1.java", @@ -277,7 +277,7 @@ public void testDeclaredInterceptor() throws IOException{ "import jakarta.interceptor.*; "+ "@Interceptors({DeclaredIceptor1.class, DeclaredIceptor2.class}) "+ "public class One {" + - " void @IBinding1 @Interceptors({DeclaredIceptor3.class}) method(){} "+ + " @IBinding1 @Interceptors({DeclaredIceptor3.class}) void method(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Iceptor1.java", @@ -394,7 +394,7 @@ public void testInterceptorMixedCases() throws IOException{ "package foo; " + "@IBinding3 "+ "public class One {" + - " void @IBinding2 method1(){} "+ + " @IBinding2 void method1(){} "+ " @Stereotype2 @IBinding1(\"c\") void method2(){} "+ "}" ); @@ -402,7 +402,7 @@ public void testInterceptorMixedCases() throws IOException{ "package foo; " + "@Stereotype1 "+ "public class Two {" + - " void @IBinding1(\"b\") method(){} "+ + " @IBinding1(\"b\") void method(){} "+ "}" ); TestUtilities.copyStringToFileObject(srcFO, "foo/Iceptor1.java", diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionTest.java index c97b90cc9e2d..926aca848132 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/InterceptorResolutionTest.java @@ -46,7 +46,7 @@ public class InterceptorResolutionTest extends CommonTestCase { public InterceptorResolutionTest( String testName ) { - super(testName); + super(testName, false); } public void testSimpleInterceptorCase() throws IOException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ModelTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelJakartaTest.java similarity index 98% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ModelTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelJakartaTest.java index 18495a4f90b7..bda0066fa068 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ModelTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -38,18 +38,18 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class ModelTest extends CommonTestCase { +public class ModelJakartaTest extends CommonTestCase { - public ModelTest( String testName ) { - super(testName); + public ModelJakartaTest( String testName ) { + super(testName, true); } public void testInjectionPointInitialization() throws MetadataModelException, @@ -92,9 +92,8 @@ public Void run( WebBeansModel model ) throws Exception { assertNotNull( fieldA ); DependencyInjectionResult result = model.lookupInjectables(fieldA, null, new AtomicBoolean(false)); - assertEquals(DependencyInjectionResult.ResultKind.DEFINITION_ERROR, + assertEquals(DependencyInjectionResult.ResultKind.INJECTABLE_RESOLVED, result.getKind()); - assertTrue( result instanceof DependencyInjectionResult.Error); VariableElement fieldB = variables.get("myFieldB"); assertNotNull( fieldB ); diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelTest.java index 255b1ca372f0..f5e54439104d 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ModelTest.java @@ -49,14 +49,14 @@ public class ModelTest extends CommonTestCase { public ModelTest( String testName ) { - super(testName); + super(testName, false); } public void testInjectionPointInitialization() throws MetadataModelException, IOException, InterruptedException { createQualifier("CustomBinding"); - + TestUtilities.copyStringToFileObject(srcFO, "foo/CustomClass.java", "package foo; " + "import javax.enterprise.inject.*; "+ @@ -65,44 +65,44 @@ public void testInjectionPointInitialization() throws MetadataModelException, " @Inject @foo.CustomBinding Object myFieldA = new Object(); "+ " @Inject @foo.CustomBinding Object myFieldB ; "+ "}"); - + TestUtilities.copyStringToFileObject(srcFO, "foo/One.java", "package foo; " + "@foo.CustomBinding " + "public class One {}" ); - - + + TestWebBeansModelImpl modelImpl = createModelImpl(); MetadataModel testModel = modelImpl.createTestModel(); - + testModel.runReadAction( new MetadataModelAction(){ - + @Override public Void run( WebBeansModel model ) throws Exception { TypeMirror mirror = model.resolveType( "foo.CustomClass" ); Element clazz = ((DeclaredType)mirror).asElement(); List fields = ElementFilter.fieldsIn( clazz.getEnclosedElements()); - Map variables = + Map variables = new HashMap(); for (VariableElement field : fields) { variables.put(field.getSimpleName().toString(), field); } VariableElement fieldA = variables.get("myFieldA"); assertNotNull( fieldA ); - DependencyInjectionResult result = model.lookupInjectables(fieldA, + DependencyInjectionResult result = model.lookupInjectables(fieldA, null, new AtomicBoolean(false)); assertEquals(DependencyInjectionResult.ResultKind.INJECTABLE_RESOLVED, result.getKind()); - + VariableElement fieldB = variables.get("myFieldB"); assertNotNull( fieldB ); result = model.lookupInjectables(fieldB, null, new AtomicBoolean(false)); - assertEquals(DependencyInjectionResult.ResultKind.INJECTABLE_RESOLVED, + assertEquals(DependencyInjectionResult.ResultKind.INJECTABLE_RESOLVED, result.getKind()); return null; } - + }); } diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/NamedTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NamedJakartaTest.java similarity index 98% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/NamedTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NamedJakartaTest.java index 9f5b78f8c78c..8871de6a8bfd 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/NamedTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NamedJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.List; @@ -30,24 +30,24 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class NamedTest extends CommonTestCase { +public class NamedJakartaTest extends CommonTestCase { - public NamedTest( String testName ) { - super(testName); + public NamedJakartaTest( String testName ) { + super(testName, true); } public void testPlainNamed() throws IOException { TestUtilities.copyStringToFileObject(srcFO, "foo/One.java", "package foo; " + - "import javainject.*; "+ + "import jakarta.inject.*; "+ " @Named "+ "public class One {}" ); diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NamedTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NamedTest.java index 0a8e8a679c90..d30e313adb05 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NamedTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NamedTest.java @@ -40,7 +40,7 @@ public class NamedTest extends CommonTestCase { public NamedTest( String testName ) { - super(testName); + super(testName, false); } public void testPlainNamed() throws IOException { diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/NewTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NewJakartaTest.java similarity index 92% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/NewTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NewJakartaTest.java index 9e6f92cb429c..7a8f00cd3432 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/NewTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NewJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -33,19 +33,19 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.ResultImpl; +import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.impl.model.results.ResultImpl; /** * @author ads * */ -public class NewTest extends CommonTestCase { +public class NewJakartaTest extends CommonTestCase { - public NewTest( String testName ) { - super(testName); + public NewJakartaTest( String testName ) { + super(testName, true); } public void testNew() throws IOException, InterruptedException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NewTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NewTest.java index 385ac61a9886..87e0236e21b3 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NewTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/NewTest.java @@ -45,7 +45,7 @@ public class NewTest extends CommonTestCase { public NewTest( String testName ) { - super(testName); + super(testName, false); } public void testNew() throws IOException, InterruptedException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ObserversTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ObserversJakartaTest.java similarity index 99% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ObserversTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ObserversJakartaTest.java index 6604793638bc..839d5f5b61c7 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ObserversTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ObserversJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; @@ -34,16 +34,16 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class ObserversTest extends CommonTestCase { +public class ObserversJakartaTest extends CommonTestCase { - public ObserversTest(String testName){ - super( testName); + public ObserversJakartaTest(String testName){ + super( testName, true); } public void testSimple () throws MetadataModelException, IOException, diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ObserversTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ObserversTest.java index a4eb9f2d01a0..9b01fc5bb84e 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ObserversTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ObserversTest.java @@ -43,7 +43,7 @@ public class ObserversTest extends CommonTestCase { public ObserversTest(String testName){ - super( testName); + super( testName, false); } public void testSimple () throws MetadataModelException, IOException, diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ParametersTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ParametersJakartaTest.java similarity index 98% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ParametersTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ParametersJakartaTest.java index 761ebb4ddddd..1fea6733cf51 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ParametersTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ParametersJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -34,19 +34,19 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; -import org.netbeans.modules.jakarta.web.beans.impl.model.results.DefinitionErrorResult; +import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.impl.model.results.DefinitionErrorResult; /** * @author ads * */ -public class ParametersTest extends CommonTestCase { +public class ParametersJakartaTest extends CommonTestCase { - public ParametersTest( String testName ) { - super(testName); + public ParametersJakartaTest( String testName ) { + super(testName, true); } public void testSimpleParameter() throws IOException, InterruptedException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ParametersTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ParametersTest.java index 0366c36e1dfc..dd5bc84bf362 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ParametersTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ParametersTest.java @@ -46,7 +46,7 @@ public class ParametersTest extends CommonTestCase { public ParametersTest( String testName ) { - super(testName); + super(testName, false); } public void testSimpleParameter() throws IOException, InterruptedException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ProgrammaticTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ProgrammaticJakartaTest.java similarity index 93% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ProgrammaticTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ProgrammaticJakartaTest.java index 62ebf596914e..2a0b476356e3 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ProgrammaticTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ProgrammaticJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -34,19 +34,19 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult; -import org.netbeans.modules.jakarta.web.beans.api.model.DependencyInjectionResult.ResultKind; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult; +import org.netbeans.modules.web.beans.api.model.DependencyInjectionResult.ResultKind; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class ProgrammaticTest extends CommonTestCase { +public class ProgrammaticJakartaTest extends CommonTestCase { - public ProgrammaticTest( String testName ) { - super(testName); + public ProgrammaticJakartaTest( String testName ) { + super(testName, true); } public void testProgrammatic() throws IOException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ProgrammaticTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ProgrammaticTest.java index cf2cd99b3913..6b2b3ad340e5 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ProgrammaticTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ProgrammaticTest.java @@ -46,7 +46,7 @@ public class ProgrammaticTest extends CommonTestCase { public ProgrammaticTest( String testName ) { - super(testName); + super(testName, false); } public void testProgrammatic() throws IOException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/QualifiersTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/QualifiersJakartaTest.java similarity index 98% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/QualifiersTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/QualifiersJakartaTest.java index a703dbb72d6c..0a9b57b7bd0e 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/QualifiersTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/QualifiersJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.HashSet; import java.util.List; @@ -31,16 +31,16 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class QualifiersTest extends CommonTestCase { +public class QualifiersJakartaTest extends CommonTestCase { - public QualifiersTest( String testName ) { - super(testName); + public QualifiersJakartaTest( String testName ) { + super(testName, true); } public void testSimpleQualifiers() throws IOException { diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/QualifiersTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/QualifiersTest.java index d38685c55069..fa8a058c7a75 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/QualifiersTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/QualifiersTest.java @@ -40,7 +40,7 @@ public class QualifiersTest extends CommonTestCase { public QualifiersTest( String testName ) { - super(testName); + super(testName, false); } public void testSimpleQualifiers() throws IOException { diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/RawParameterizedAssignabilityTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/RawParameterizedAssignabilityJakartaTest.java similarity index 98% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/RawParameterizedAssignabilityTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/RawParameterizedAssignabilityJakartaTest.java index d20da6515184..0fdfa3c2fa81 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/RawParameterizedAssignabilityTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/RawParameterizedAssignabilityJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -32,17 +32,17 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class RawParameterizedAssignabilityTest extends CommonTestCase { +public class RawParameterizedAssignabilityJakartaTest extends CommonTestCase { - public RawParameterizedAssignabilityTest( String testName ) { - super(testName); + public RawParameterizedAssignabilityJakartaTest( String testName ) { + super(testName, true); } public void testGenerics() throws IOException, InterruptedException { diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/RawParameterizedAssignabilityTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/RawParameterizedAssignabilityTest.java index 55cbe5e38ac0..e2676d7a0493 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/RawParameterizedAssignabilityTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/RawParameterizedAssignabilityTest.java @@ -42,7 +42,7 @@ public class RawParameterizedAssignabilityTest extends CommonTestCase { public RawParameterizedAssignabilityTest( String testName ) { - super(testName); + super(testName, false); } public void testGenerics() throws IOException, InterruptedException { diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ScopeTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ScopeJakartaTest.java similarity index 95% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ScopeTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ScopeJakartaTest.java index ad31de342028..8d43e32a5438 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/ScopeTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ScopeJakartaTest.java @@ -16,9 +16,16 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; +import java.nio.file.FileVisitResult; +import java.nio.file.FileVisitor; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.Arrays; +import java.util.stream.Stream; import javax.lang.model.element.Element; import javax.lang.model.type.DeclaredType; @@ -27,18 +34,20 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.CdiException; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.CdiException; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.testutilities.CdiTestUtilities; +import org.openide.filesystems.FileUtil; /** * @author ads * */ -public class ScopeTest extends CommonTestCase { +public class ScopeJakartaTest extends CommonTestCase { - public ScopeTest( String testName ) { - super(testName); + public ScopeJakartaTest( String testName ) { + super(testName, true); } public void testInheritedScope() throws IOException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ScopeTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ScopeTest.java index 8ea7188bfce1..0d34e97f5ee9 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ScopeTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/ScopeTest.java @@ -19,6 +19,13 @@ package org.netbeans.modules.web.beans.model; import java.io.IOException; +import java.nio.file.FileVisitResult; +import java.nio.file.FileVisitor; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.Arrays; +import java.util.stream.Stream; import javax.lang.model.element.Element; import javax.lang.model.type.DeclaredType; @@ -29,6 +36,8 @@ import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; import org.netbeans.modules.web.beans.api.model.CdiException; import org.netbeans.modules.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.testutilities.CdiTestUtilities; +import org.openide.filesystems.FileUtil; /** @@ -38,7 +47,7 @@ public class ScopeTest extends CommonTestCase { public ScopeTest( String testName ) { - super(testName); + super(testName, false); } public void testInheritedScope() throws IOException{ @@ -90,9 +99,9 @@ public Void run( WebBeansModel model ) throws Exception { } public void testDependentScope() throws IOException{ - + TestUtilities.copyStringToFileObject(srcFO, "foo/Clazz.java", - "package foo; " + + "package foo; " + "public class Clazz { " + "}" ); final TestWebBeansModelImpl modelImpl = createModelImpl(true ); @@ -100,9 +109,9 @@ public void testDependentScope() throws IOException{ testModel.runReadAction( new MetadataModelAction(){ @Override - public Void run( WebBeansModel model ) throws Exception { - TypeMirror mirror = model.resolveType( "foo.Clazz" ); - Element clazz = ((DeclaredType)mirror).asElement(); + public Void run(WebBeansModel model) throws Exception { + TypeMirror mirror = model.resolveType("foo.Clazz"); + Element clazz = ((DeclaredType) mirror).asElement(); checkScope(model, clazz, "javax.enterprise.context.Dependent"); return null; } diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/SpecializesTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/SpecializesJakartaTest.java similarity index 99% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/SpecializesTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/SpecializesJakartaTest.java index d6b0c53b84d3..eae8c609f704 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/SpecializesTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/SpecializesJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.HashSet; @@ -31,17 +31,17 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class SpecializesTest extends CommonTestCase { +public class SpecializesJakartaTest extends CommonTestCase { - public SpecializesTest( String testName ) { - super(testName); + public SpecializesJakartaTest( String testName ) { + super(testName, true); } public void testSimpleTypeSpecializes() throws IOException, InterruptedException{ diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/SpecializesTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/SpecializesTest.java index 1ad7bb5fa334..43256facbd70 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/SpecializesTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/SpecializesTest.java @@ -41,7 +41,7 @@ public class SpecializesTest extends CommonTestCase { public SpecializesTest( String testName ) { - super(testName); + super(testName, false); } public void testSimpleTypeSpecializes() throws IOException, InterruptedException{ diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TypedTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/TypedJakartaTest.java similarity index 98% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TypedTest.java rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/TypedJakartaTest.java index 18cf3e905549..c84fb374db4c 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/model/TypedTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/TypedJakartaTest.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.netbeans.modules.jakarta.web.beans.model; +package org.netbeans.modules.web.beans.model; import java.io.IOException; import java.util.ArrayList; @@ -33,17 +33,17 @@ import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelAction; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModelException; import org.netbeans.modules.j2ee.metadata.model.support.TestUtilities; -import org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel; +import org.netbeans.modules.web.beans.api.model.WebBeansModel; /** * @author ads * */ -public class TypedTest extends CommonTestCase { +public class TypedJakartaTest extends CommonTestCase { - public TypedTest( String testName ) { - super(testName); + public TypedJakartaTest( String testName ) { + super(testName, true); } public void testCommon() throws MetadataModelException, IOException, diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/TypedTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/TypedTest.java index 3d91c483a020..52e7ef2cb008 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/TypedTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/model/TypedTest.java @@ -43,7 +43,7 @@ public class TypedTest extends CommonTestCase { public TypedTest( String testName ) { - super(testName); + super(testName, false); } public void testCommon() throws MetadataModelException, IOException, diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/testutilities/CdiTestUtilities.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/testutilities/CdiTestUtilities.java index fd7389e468c0..ae9b64335ee8 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/testutilities/CdiTestUtilities.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/testutilities/CdiTestUtilities.java @@ -19,6 +19,11 @@ package org.netbeans.modules.web.beans.testutilities; import java.io.IOException; +import java.nio.file.FileVisitResult; +import java.nio.file.FileVisitor; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.attribute.BasicFileAttributes; import org.netbeans.api.java.classpath.ClassPath; import org.netbeans.modules.j2ee.metadata.model.api.MetadataModel; @@ -34,9 +39,10 @@ * */ public class CdiTestUtilities { - - public CdiTestUtilities( FileObject fileObject ){ - mySourceRoot = fileObject; + + public CdiTestUtilities(FileObject fileObject, boolean jakartaVariant) { + this.mySourceRoot = fileObject; + this.jakartaVariant = jakartaVariant; } public void clearRoot() throws IOException { @@ -62,8 +68,8 @@ public void createQualifier(String name ) throws IOException{ "import static java.lang.annotation.ElementType.PARAMETER; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import javax.enterprise.inject.*; "+ - "import javax.inject.*; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject.*; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".inject.*; "+ "import java.lang.annotation.*; "+ "@Qualifier " + "@Retention(RUNTIME) "+ @@ -77,10 +83,10 @@ public void createInterceptorBinding(String name ) throws IOException{ "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ - "import javax.enterprise.inject.*; "+ - "import javax.inject.*; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject.*; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".inject.*; "+ "import java.lang.annotation.*; "+ - "import javax.interceptor.*; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".interceptor.*; "+ "@InterceptorBinding " + "@Retention(RUNTIME) "+ "@Target({METHOD, TYPE}) "+ @@ -89,7 +95,7 @@ public void createInterceptorBinding(String name ) throws IOException{ public void initEnterprise() throws IOException{ TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Singleton.java", - "package javax.ejb; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".ejb; " + "import static java.lang.annotation.ElementType; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -99,7 +105,7 @@ public void initEnterprise() throws IOException{ "public @interface Singleton {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Stateless.java", - "package javax.ejb; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".ejb; " + "import static java.lang.annotation.ElementType; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -109,7 +115,7 @@ public void initEnterprise() throws IOException{ "public @interface Stateless {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Stateful.java", - "package javax.ejb; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".ejb; " + "import static java.lang.annotation.ElementType; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -119,7 +125,7 @@ public void initEnterprise() throws IOException{ "public @interface Stateful {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/PostActivate.java", - "package javax.ejb; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".ejb; " + "import static java.lang.annotation.ElementType; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -129,7 +135,7 @@ public void initEnterprise() throws IOException{ "public @interface PostActivate {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/PrePassivate.java", - "package javax.ejb; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".ejb; " + "import static java.lang.annotation.ElementType; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -141,7 +147,7 @@ public void initEnterprise() throws IOException{ public void initAnnotations() throws IOException{ TestUtilities.copyStringToFileObject(mySourceRoot, "javax/inject/Qualifier.java", - "package javax.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".inject; " + "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -151,7 +157,7 @@ public void initAnnotations() throws IOException{ "public @interface Qualifier {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/inject/Named.java", - "package javax.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".inject; " + "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ "import java.lang.annotation.RetentionPolicy; "+ @@ -162,7 +168,7 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/inject/Inject.java", - "package javax.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".inject; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.CONSTRUCTOR; "+ @@ -174,7 +180,7 @@ public void initAnnotations() throws IOException{ "public @interface Inject {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Any.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.PARAMETER; "+ @@ -182,20 +188,20 @@ public void initAnnotations() throws IOException{ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ "import java.lang.annotation.RetentionPolicy; "+ - "import javax.inject.Qualifier; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".inject.Qualifier; "+ "@Qualifier " + "@Retention(RUNTIME) "+ "@Target({METHOD, FIELD, PARAMETER, TYPE}) "+ "public @interface Any {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/New.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.PARAMETER; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ "import java.lang.annotation.RetentionPolicy; "+ - "import javax.inject.Qualifier; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".inject.Qualifier; "+ "@Qualifier " + "@Retention(RUNTIME) "+ "@Target({FIELD, PARAMETER}) "+ @@ -204,21 +210,21 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Default.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.PARAMETER; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ - "import javax.inject.Qualifier; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".inject.Qualifier; "+ "@Qualifier " + "@Retention(RUNTIME) "+ "@Target({METHOD, FIELD, PARAMETER, TYPE}) "+ "public @interface Default {} "); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Produces.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ @@ -229,7 +235,7 @@ public void initAnnotations() throws IOException{ "public @interface Produces {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/util/Nonbinding.java", - "package javax.enterprise.util; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.util; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -239,7 +245,7 @@ public void initAnnotations() throws IOException{ "public @interface Nonbinding {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/event/Observes.java", - "package javax.enterprise.event; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.event; " + "import static java.lang.annotation.ElementType.PARAMETER; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -250,7 +256,7 @@ public void initAnnotations() throws IOException{ TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Disposes.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.PARAMETER; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -260,7 +266,7 @@ public void initAnnotations() throws IOException{ "public @interface Disposes {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Specializes.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ @@ -271,7 +277,7 @@ public void initAnnotations() throws IOException{ "public @interface Specializes {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Alternative.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ @@ -283,7 +289,7 @@ public void initAnnotations() throws IOException{ "public @interface Alternative {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Stereotype.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -293,7 +299,7 @@ public void initAnnotations() throws IOException{ "public @interface Stereotype {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/NormalScope.java", - "package javax.enterprise.context; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.context; " + "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -305,7 +311,7 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/inject/Scope.java", - "package javax.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".inject; " + "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ @@ -315,7 +321,7 @@ public void initAnnotations() throws IOException{ "public @interface Scope {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/ApplicationScoped.java", - "package javax.enterprise.context; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.context; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ @@ -329,7 +335,7 @@ public void initAnnotations() throws IOException{ "public @interface ApplicationScoped {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/ConversationScoped.java", - "package javax.enterprise.context; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.context; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ @@ -343,14 +349,14 @@ public void initAnnotations() throws IOException{ "public @interface ConversationScoped {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/Dependent.java", - "package javax.enterprise.context; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.context; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import java.lang.annotation.*; "+ "import java.lang.annotation.RetentionPolicy; "+ - "import javax.inject.Scope; "+ + "import " + (jakartaVariant ? "jakarta" : "javax") + ".inject.Scope; "+ "@Retention(RUNTIME) "+ "@Scope "+ "@Inherited "+ @@ -358,7 +364,7 @@ public void initAnnotations() throws IOException{ "public @interface Dependent {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/RequestScoped.java", - "package javax.enterprise.context; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.context; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ @@ -372,7 +378,7 @@ public void initAnnotations() throws IOException{ "public @interface RequestScoped {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/SessionScoped.java", - "package javax.enterprise.context; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.context; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ @@ -386,7 +392,7 @@ public void initAnnotations() throws IOException{ "public @interface SessionScoped {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Typed.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.TYPE; "+ @@ -400,13 +406,13 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/event/Event.java", - "package javax.enterprise.event; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.event; " + "public interface Event {" + " void fire( T event ); "+ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/decorator/Delegate.java", - "package javax.decorator; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".decorator; " + "import static java.lang.annotation.ElementType.FIELD; "+ "import static java.lang.annotation.ElementType.PARAMETER; "+ "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ @@ -418,7 +424,7 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/decorator/Decorator.java", - "package javax.decorator; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".decorator; " + "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import java.lang.annotation.*; "+ @@ -430,17 +436,17 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/Instance.java", - "package javax.enterprise.inject; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject; " + "public interface Instance extends java.lang.Iterable {" + " void fire( T event ); "+ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/spi/Extension.java", - "package javax.enterprise.inject.spi; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject.spi; " + "public interface Extension {}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/interceptor/InterceptorBinding.java", - "package javax.interceptor; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".interceptor; " + "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import static java.lang.annotation.ElementType.ANNOTATION_TYPE; "+ "import java.lang.annotation.*; "+ @@ -451,7 +457,7 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/interceptor/Interceptor.java", - "package javax.interceptor; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".interceptor; " + "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import java.lang.annotation.*; "+ @@ -462,7 +468,7 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/interceptor/Interceptors.java", - "package javax.interceptor; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".interceptor; " + "import static java.lang.annotation.RetentionPolicy.RUNTIME; "+ "import static java.lang.annotation.ElementType.TYPE; "+ "import static java.lang.annotation.ElementType.METHOD; "+ @@ -475,7 +481,7 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Singleton.java", - "package javax.ejb; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".ejb; " + "import static java.lang.annotation.ElementType.TYPE; "+ "import java.lang.annotation.*; "+ "import java.lang.annotation.RetentionPolicy; "+ @@ -488,7 +494,7 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/Stateful.java", - "package javax.ejb; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".ejb; " + "import static java.lang.annotation.ElementType.TYPE; "+ "import java.lang.annotation.*; "+ "import java.lang.annotation.RetentionPolicy; "+ @@ -501,7 +507,7 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/ejb/PostActivate.java", - "package javax.ejb; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".ejb; " + "import static java.lang.annotation.ElementType.METHOD; "+ "import java.lang.annotation.*; "+ "import java.lang.annotation.RetentionPolicy; "+ @@ -511,15 +517,55 @@ public void initAnnotations() throws IOException{ "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/inject/spi/InjectionPoint.java", - "package javax.enterprise.inject.spi; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.inject.spi; " + "public interface InjectionPoint {" + "}"); TestUtilities.copyStringToFileObject(mySourceRoot, "javax/enterprise/context/spi/Context.java", - "package javax.enterprise.context.spi; " + + "package " + (jakartaVariant ? "jakarta" : "javax") + ".enterprise.context.spi; " + "public interface Context {" + "}"); } - - private FileObject mySourceRoot; + + public Path setupJakartaMarker() throws IOException { + Path tempDir = Files.createTempDirectory("jakartaMarker"); + Path packageDir; + if(jakartaVariant) { + packageDir = tempDir.resolve("jakarta/inject"); + } else { + packageDir = tempDir.resolve("javax/inject"); + } + Files.createDirectories(packageDir); + TestUtilities.copyStringToFile(packageDir.resolve("Qualifier.class").toFile(), ""); + return tempDir; + } + + public void deleteTree(Path targetPath) throws IOException { + Files.walkFileTree(targetPath, new FileVisitor() { + @Override + public FileVisitResult preVisitDirectory(Path t, BasicFileAttributes bfa) throws IOException { + return FileVisitResult.CONTINUE; + } + + @Override + public FileVisitResult visitFile(Path t, BasicFileAttributes bfa) throws IOException { + Files.delete(t); + return FileVisitResult.CONTINUE; + } + + @Override + public FileVisitResult visitFileFailed(Path t, IOException ioe) throws IOException { + return FileVisitResult.CONTINUE; + } + + @Override + public FileVisitResult postVisitDirectory(Path t, IOException ioe) throws IOException { + Files.delete(t); + return FileVisitResult.CONTINUE; + } + }); + } + + private final FileObject mySourceRoot; + private final boolean jakartaVariant; } diff --git a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/xdm/model/BeansComponentTest.java b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/xdm/model/BeansComponentTest.java index ca064ac6f75b..9d24909cfa2c 100644 --- a/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/xdm/model/BeansComponentTest.java +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/xdm/model/BeansComponentTest.java @@ -87,6 +87,31 @@ public void testBeans() throws Exception{ beansElement = elements.get(5); assertTrue( beansElement instanceof Alternatives ); } + + public void testBeansJakarta() throws Exception{ + WebBeansModel model = Util.loadRegistryModel("beans_jakarta.xml"); + model.sync(); + + Beans beans = model.getBeans(); + List elements = beans.getElements(); + + assertEquals(6, elements.size()); + + BeansElement beansElement = elements.get(0); + assertTrue( beansElement instanceof Interceptors ); + beansElement = elements.get(1); + assertTrue( beansElement instanceof Interceptors ); + + beansElement = elements.get(2); + assertTrue( beansElement instanceof Decorators ); + beansElement = elements.get(4); + assertTrue( beansElement instanceof Decorators ); + + beansElement = elements.get(3); + assertTrue( beansElement instanceof Alternatives ); + beansElement = elements.get(5); + assertTrue( beansElement instanceof Alternatives ); + } public void testInterceptors() throws Exception{ WebBeansModel model = Util.loadRegistryModel("beans.xml"); diff --git a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/beans.xml b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/xdm/model/beans_jakarta.xml similarity index 95% rename from enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/beans.xml rename to enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/xdm/model/beans_jakarta.xml index 5284136e6091..86f45b59ddcc 100644 --- a/enterprise/jakarta.web.beans/test/unit/src/org/netbeans/modules/jakarta/web/beans/xdm/model/beans.xml +++ b/enterprise/web.beans/test/unit/src/org/netbeans/modules/web/beans/xdm/model/beans_jakarta.xml @@ -19,7 +19,7 @@ under the License. --> - + Class1 diff --git a/enterprise/web.el/nbproject/project.xml b/enterprise/web.el/nbproject/project.xml index 13a979e7e9c8..58e270eb7a47 100644 --- a/enterprise/web.el/nbproject/project.xml +++ b/enterprise/web.el/nbproject/project.xml @@ -287,15 +287,6 @@ 2.0 - - org.netbeans.modules.jakarta.web.beans - - - - 1 - 2.0 - - org.netbeans.modules.web.common diff --git a/enterprise/web.jsf.editor/nbproject/project.xml b/enterprise/web.jsf.editor/nbproject/project.xml index 792af88df009..d9caf160b900 100644 --- a/enterprise/web.jsf.editor/nbproject/project.xml +++ b/enterprise/web.jsf.editor/nbproject/project.xml @@ -348,15 +348,6 @@ 2.0 - - org.netbeans.modules.jakarta.web.beans - - - - 1 - 2.0 - - org.netbeans.modules.web.common diff --git a/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/JsfSupportImpl.java b/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/JsfSupportImpl.java index 297685a69936..d95481bfb9fd 100644 --- a/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/JsfSupportImpl.java +++ b/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/JsfSupportImpl.java @@ -149,7 +149,6 @@ private static boolean validateUpdateClasspaths(Project project, WebModule webMo private ClassPath sourceClassPath, compileClasspath, executeClassPath, bootClassPath; private JsfIndex index; private MetadataModel webBeansModel; - private MetadataModel webBeansModelJakarta; private Lookup lookup; private JsfSupportImpl(Project project, WebModule wm, ClassPath sourceClassPath, ClassPath compileClassPath, ClassPath executeClassPath, ClassPath bootClassPath) { @@ -172,17 +171,10 @@ public void propertyChange(PropertyChangeEvent evt) { } }); - JsfVersion jsfVersion = getJsfVersion(); - //TODO do it lazy so it creates the web beans model lazily once looked up InstanceContent ic = new InstanceContent(); - if(jsfVersion.isAtLeast(JsfVersion.JSF_3_0)){ - webBeansModelJakarta = new org.netbeans.modules.jakarta.web.beans.MetaModelSupport(project).getMetaModel(); - ic.add(webBeansModelJakarta); - } else { - webBeansModel = new org.netbeans.modules.web.beans.MetaModelSupport(project).getMetaModel(); - ic.add(webBeansModel); - } + webBeansModel = new org.netbeans.modules.web.beans.MetaModelSupport(project).getMetaModel(); + ic.add(webBeansModel); //init lookup this.lookup = new AbstractLookup(ic); @@ -262,10 +254,6 @@ public synchronized MetadataModel getJakartaWebBeansModel() { - return webBeansModelJakarta; - } - @Override public JsfVersion getJsfVersion() { if (wm != null) { diff --git a/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/el/WebBeansELVariableResolver.java b/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/el/WebBeansELVariableResolver.java index 75e475491c6f..3be4c200881b 100644 --- a/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/el/WebBeansELVariableResolver.java +++ b/enterprise/web.jsf.editor/src/org/netbeans/modules/web/jsf/editor/el/WebBeansELVariableResolver.java @@ -102,11 +102,7 @@ private List getWebBeans(FileObject target, ResolverContext context) { return Collections.emptyList(); } else { if (context.getContent(CONTENT_NAME) == null) { - if(jsfSupport.getJsfVersion().isAtLeast(JsfVersion.JSF_3_0)){ - context.setContent(CONTENT_NAME, getJakartaNamedBeans(jsfSupport.getJakartaWebBeansModel())); - } else { - context.setContent(CONTENT_NAME, getNamedBeans(jsfSupport.getWebBeansModel())); - } + context.setContent(CONTENT_NAME, getNamedBeans(jsfSupport.getWebBeansModel())); } return (List) context.getContent(CONTENT_NAME); } @@ -135,29 +131,6 @@ private static List getNamedBeans(MetadataModel webBeans return Collections.emptyList(); } - private static List getJakartaNamedBeans(MetadataModel webBeansModel) { - try { - return webBeansModel.runReadAction(metadata -> { - List namedElements = metadata.getNamedElements(); - List webBeans = new LinkedList<>(); - for (Element e : namedElements) { - //filter out null elements - probably a WebBeansModel bug, - //happens under some circumstances when renaming/deleting beans - if (e != null) { - webBeans.add(new WebBean(e, metadata.getName(e))); - } - } - return webBeans; - }); - } catch (MetadataModelException ex) { - Exceptions.printStackTrace(ex); - } catch (IOException ex) { - Exceptions.printStackTrace(ex); - } - - return Collections.emptyList(); - } - private static final class WebBean { private Element element; diff --git a/enterprise/web.jsf/nbproject/project.xml b/enterprise/web.jsf/nbproject/project.xml index 8d2386c67773..be658f1e344b 100644 --- a/enterprise/web.jsf/nbproject/project.xml +++ b/enterprise/web.jsf/nbproject/project.xml @@ -443,15 +443,6 @@ 2.3 - - org.netbeans.modules.jakarta.web.beans - - - - 1 - 2.3 - - org.netbeans.modules.web.common diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/hints/rules/FlowScopedBeanWithoutCdi.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/hints/rules/FlowScopedBeanWithoutCdi.java index df0caff548eb..a08506758f15 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/hints/rules/FlowScopedBeanWithoutCdi.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/hints/rules/FlowScopedBeanWithoutCdi.java @@ -74,7 +74,7 @@ public static Collection run(HintContext hintContext) { CompilationInfo info = hintContext.getInfo(); for (TypeElement typeElement : info.getTopLevelElements()) { for (AnnotationMirror annotationMirror : typeElement.getAnnotationMirrors()) { - if (FLOW_SCOPED.equals(annotationMirror.getAnnotationType().toString())) { + if (FLOW_SCOPED.equals(annotationMirror.getAnnotationType().toString()) || FLOW_SCOPED_JAKARTA.equals(annotationMirror.getAnnotationType().toString())) { // it's FlowScoped bean -> check the CDI org.netbeans.modules.web.beans.CdiUtil cdiUtil = project.getLookup().lookup(org.netbeans.modules.web.beans.CdiUtil.class); if (cdiUtil == null || !cdiUtil.isCdiEnabled()) { @@ -86,18 +86,6 @@ public static Collection run(HintContext hintContext) { Severity.WARNING, Arrays.asList(new FixCdiAvailability(project)))); } - } else if (FLOW_SCOPED_JAKARTA.equals(annotationMirror.getAnnotationType().toString())) { - // it's FlowScoped bean -> check the CDI - org.netbeans.modules.jakarta.web.beans.CdiUtil cdiUtil = project.getLookup().lookup(org.netbeans.modules.jakarta.web.beans.CdiUtil.class); - if (cdiUtil == null || !cdiUtil.isCdiEnabled()) { - Tree tree = info.getTrees().getTree(typeElement, annotationMirror); - problems.add(JsfHintsUtils.createProblem( - tree, - info, - Bundle.FlowScopedBeanWithoutCdi_display_name(), - Severity.WARNING, - Arrays.asList(new FixCdiAvailability(project)))); - } } } } @@ -127,10 +115,6 @@ public String getText() { @Override public ChangeInfo implement() throws Exception { - org.netbeans.modules.jakarta.web.beans.CdiUtil jakartaCdiUtil = project.getLookup().lookup(org.netbeans.modules.jakarta.web.beans.CdiUtil.class); - if (jakartaCdiUtil != null) { - jakartaCdiUtil.enableCdi(); - } org.netbeans.modules.web.beans.CdiUtil cdiUtil = project.getLookup().lookup(org.netbeans.modules.web.beans.CdiUtil.class); if (cdiUtil != null) { cdiUtil.enableCdi(); diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/ManagedBeanCustomizer.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/ManagedBeanCustomizer.java index c82bd614f6d6..48dc570507ea 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/ManagedBeanCustomizer.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/palette/items/ManagedBeanCustomizer.java @@ -85,7 +85,6 @@ public class ManagedBeanCustomizer extends javax.swing.JPanel implements Cancell private Project project; private org.netbeans.modules.web.beans.MetaModelSupport metaModelSupport; - private org.netbeans.modules.jakarta.web.beans.MetaModelSupport jakartaMetaModelSupport; private boolean collection; private boolean dummyBean = false; private Dialog dialog; @@ -114,12 +113,7 @@ public void contentsChanged(ListDataEvent e) { } }); this.project = project; - JsfVersion projectJsfVersion = JsfVersionUtils.forProject(project); - if(projectJsfVersion != null && projectJsfVersion.isAtLeast(JsfVersion.JSF_3_0)){ - this.jakartaMetaModelSupport = new org.netbeans.modules.jakarta.web.beans.MetaModelSupport(project); - } else { - this.metaModelSupport = new org.netbeans.modules.web.beans.MetaModelSupport(project); - } + this.metaModelSupport = new org.netbeans.modules.web.beans.MetaModelSupport(project); this.collection = collection; readOnlyCheckBox.setVisible(enableReadOnly); @@ -374,11 +368,9 @@ public List getPropertyNames(final Project project, final String entityC } try { //check web beans - JsfVersion jsfVersion = JsfVersionUtils.forProject(project); - if(jsfVersion != null && jsfVersion.isAtLeast(JsfVersion.JSF_3_0)) { - jakartaMetaModelSupport.getMetaModel().runReadAction(new MetadataModelAction() { + metaModelSupport.getMetaModel().runReadAction(new MetadataModelAction() { @Override - public Void run(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel metadata) throws Exception { + public Void run(org.netbeans.modules.web.beans.api.model.WebBeansModel metadata) throws Exception { for (Element bean : metadata.getNamedElements()) { if (bean == null) { continue; @@ -391,25 +383,7 @@ public Void run(org.netbeans.modules.jakarta.web.beans.api.model.WebBeansModel m } return null; } - }); - } else { - metaModelSupport.getMetaModel().runReadAction(new MetadataModelAction() { - @Override - public Void run(org.netbeans.modules.web.beans.api.model.WebBeansModel metadata) throws Exception { - for (Element bean : metadata.getNamedElements()) { - if (bean == null) { - continue; - } - String beanName = metadata.getName(bean); - String className = bean.asType().toString(); - if ((beanName != null)) { - res.addAll(getManagedBeanPropertyNames(project, className, entityClass, beanName, collection)); - } - } - return null; - } - }); - } + }); } catch (MetadataModelException ex) { Exceptions.printStackTrace(ex); } catch (IOException ex) { diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanIterator.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanIterator.java index b52af6591c3c..d4019ede5de6 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanIterator.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanIterator.java @@ -164,23 +164,16 @@ public Set instantiate(TemplateWizard wizard) throws IOException { if (isAnnotate && (Utilities.isJavaEE6Plus(wizard) || (JSFUtils.isJSF20Plus(wm, true) && JSFUtils.isJavaEE5(wizard)))) { Map templateProperties = new HashMap(); String targetName = Templates.getTargetName(wizard); - boolean isCdiEnabled = false; boolean jakartaJsfPackages; if(JSFUtils.isJakartaEE9Plus(wizard)) { - org.netbeans.modules.jakarta.web.beans.CdiUtil cdiUtil = project.getLookup().lookup(org.netbeans.modules.jakarta.web.beans.CdiUtil.class); - if(cdiUtil != null && cdiUtil.isCdiEnabled()){ - isCdiEnabled = true; - } templateProperties.put("jakartaJsfPackages", true); jakartaJsfPackages = true; } else { - org.netbeans.modules.web.beans.CdiUtil cdiUtil = project.getLookup().lookup(org.netbeans.modules.web.beans.CdiUtil.class); - if(cdiUtil != null && cdiUtil.isCdiEnabled()){ - isCdiEnabled = true; - } templateProperties.put("jakartaJsfPackages", false); jakartaJsfPackages = false; } + org.netbeans.modules.web.beans.CdiUtil cdiUtil = project.getLookup().lookup(org.netbeans.modules.web.beans.CdiUtil.class); + boolean isCdiEnabled = cdiUtil != null && cdiUtil.isCdiEnabled(); if (isCdiEnabled) { templateProperties.put("cdiEnabled", true); templateProperties.put("classAnnotation", "@Named(value=\"" + beanName + "\")"); //NOI18N diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.java index 8af7504f51c9..8713a39f8fd3 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/ManagedBeanPanelVisual.java @@ -94,13 +94,8 @@ public ManagedBeanPanelVisual(Project proj) { } } Object[] scopes; - if(profile != null && (profile.isAtLeast(Profile.JAKARTA_EE_9_WEB))){ - org.netbeans.modules.jakarta.web.beans.CdiUtil cdiUtil = proj.getLookup().lookup(org.netbeans.modules.jakarta.web.beans.CdiUtil.class); - isCDIEnabled = cdiUtil != null && cdiUtil.isCdiEnabled(); - } else { - org.netbeans.modules.web.beans.CdiUtil cdiUtil = proj.getLookup().lookup(org.netbeans.modules.web.beans.CdiUtil.class); - isCDIEnabled = cdiUtil != null && cdiUtil.isCdiEnabled(); - } + org.netbeans.modules.web.beans.CdiUtil cdiUtil = proj.getLookup().lookup(org.netbeans.modules.web.beans.CdiUtil.class); + isCDIEnabled = cdiUtil != null && cdiUtil.isCdiEnabled(); if (isCDIEnabled && !addToFacesConfig) { scopes = ManagedBeanIterator.NamedScope.values(); } else { diff --git a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/PersistenceClientIterator.java b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/PersistenceClientIterator.java index 80601b48c4d4..f1403f5175ad 100644 --- a/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/PersistenceClientIterator.java +++ b/enterprise/web.jsf/src/org/netbeans/modules/web/jsf/wizards/PersistenceClientIterator.java @@ -677,10 +677,6 @@ private static boolean showImportStatement(String packageName, String fqn) { } private static boolean isCdiEnabled(Project project) { - org.netbeans.modules.jakarta.web.beans.CdiUtil jakartaCdiUtil = project.getLookup().lookup(org.netbeans.modules.jakarta.web.beans.CdiUtil.class); - if(jakartaCdiUtil != null && jakartaCdiUtil.isCdiEnabled()) { - return true; - } org.netbeans.modules.web.beans.CdiUtil javaxCdiUtil = project.getLookup().lookup(org.netbeans.modules.web.beans.CdiUtil.class); if(javaxCdiUtil != null && javaxCdiUtil.isCdiEnabled()) { return true; diff --git a/enterprise/web.kit/nbproject/project.xml b/enterprise/web.kit/nbproject/project.xml index c2cbfa53f93a..34e7a828fe47 100644 --- a/enterprise/web.kit/nbproject/project.xml +++ b/enterprise/web.kit/nbproject/project.xml @@ -152,13 +152,6 @@ 2.0 - - org.netbeans.modules.jakarta.web.beans - - 1 - 2.0 - - org.netbeans.modules.web.client.kit diff --git a/ide/xml.text/nbproject/project.xml b/ide/xml.text/nbproject/project.xml index 397da71df302..6fde092add0d 100644 --- a/ide/xml.text/nbproject/project.xml +++ b/ide/xml.text/nbproject/project.xml @@ -437,7 +437,6 @@ org.netbeans.modules.hibernate org.netbeans.modules.j2ee.persistence - org.netbeans.modules.jakarta.web.beans org.netbeans.modules.javafx2.editor org.netbeans.modules.spring.beans org.netbeans.modules.wag.manager diff --git a/java/j2ee.metadata.model.support/nbproject/project.xml b/java/j2ee.metadata.model.support/nbproject/project.xml index 29fb183836d7..7eadca133efe 100644 --- a/java/j2ee.metadata.model.support/nbproject/project.xml +++ b/java/j2ee.metadata.model.support/nbproject/project.xml @@ -156,7 +156,6 @@ org.netbeans.modules.javaee.resources org.netbeans.modules.spring.beans org.netbeans.modules.web.beans - org.netbeans.modules.jakarta.web.beans org.netbeans.modules.web.jsf org.netbeans.modules.websvc.restapi org.netbeans.modules.j2ee.metadata.model.api.support.annotation diff --git a/java/java.hints.legacy.spi/nbproject/project.xml b/java/java.hints.legacy.spi/nbproject/project.xml index 591216454bab..47b4ff01a9d5 100644 --- a/java/java.hints.legacy.spi/nbproject/project.xml +++ b/java/java.hints.legacy.spi/nbproject/project.xml @@ -127,7 +127,6 @@ org.netbeans.modules.ant.hints org.netbeans.modules.apisupport.ant - org.netbeans.modules.jakarta.web.beans org.netbeans.modules.java.lsp.server org.netbeans.modules.javadoc org.netbeans.modules.javahints diff --git a/java/java.lsp.server/nbcode/nbproject/platform.properties b/java/java.lsp.server/nbcode/nbproject/platform.properties index 70fc2916b80b..33f8e68bb70b 100644 --- a/java/java.lsp.server/nbcode/nbproject/platform.properties +++ b/java/java.lsp.server/nbcode/nbproject/platform.properties @@ -342,7 +342,6 @@ disabled.modules=\ org.netbeans.modules.j2ee.sun.dd,\ org.netbeans.modules.j2ee.sun.ddui,\ org.netbeans.modules.jakarta.transformer,\ - org.netbeans.modules.jakarta.web.beans,\ org.netbeans.modules.jakartaee8.api,\ org.netbeans.modules.jakartaee8.platform,\ org.netbeans.modules.javaee7.api,\ diff --git a/java/javaee.injection/nbproject/project.xml b/java/javaee.injection/nbproject/project.xml index 2d873cf3414d..9f139cb84e8d 100644 --- a/java/javaee.injection/nbproject/project.xml +++ b/java/javaee.injection/nbproject/project.xml @@ -63,7 +63,6 @@ org.netbeans.modules.j2ee.common org.netbeans.modules.j2ee.ejbcore org.netbeans.modules.j2ee.persistence - org.netbeans.modules.jakarta.web.beans org.netbeans.modules.maven.j2ee org.netbeans.modules.maven.jaxws org.netbeans.modules.web.beans diff --git a/nbbuild/cluster.properties b/nbbuild/cluster.properties index b9a79066f948..39f3c33866c8 100644 --- a/nbbuild/cluster.properties +++ b/nbbuild/cluster.properties @@ -773,7 +773,6 @@ nb.cluster.enterprise=\ j2eeapis,\ j2eeserver,\ jakarta.transformer,\ - jakarta.web.beans,\ jakartaee10.api,\ jakartaee10.platform,\ jakartaee11.api,\ From 1e3bbdecf5df8d5ef7e5d28b6a3ccac4d40de016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Tue, 12 Nov 2024 21:57:09 +0100 Subject: [PATCH 90/94] Reenable web.beans tests Local run is clean, runtime is high, but seems reasonable (5:30min) --- .github/workflows/main.yml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 800ed68dabda..17aaeb8b3c2b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -2016,10 +2016,6 @@ jobs: # - name: j2ee.sun.ddui # run: ant $OPTS -f enterprise/j2ee.sun.ddui test -# Fails + Slow -# - name: jakarta.web.beans -# run: ant $OPTS -f enterprise/jakarta.web.beans test - - name: javaee.wildfly run: .github/retry.sh ant $OPTS -f enterprise/javaee.wildfly test @@ -2061,9 +2057,8 @@ jobs: - name: tomcat5 run: ant $OPTS -f enterprise/tomcat5 test -# Fails -# - name: web.beans -# run: ant $OPTS -f enterprise/web.beans test + - name: web.beans + run: ant $OPTS -f enterprise/web.beans test # Fails + Slow # - name: web.core.syntax From d31d18a2475aab5fc8803ac99a59cc9a192c4b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Sat, 23 Nov 2024 17:09:51 +0100 Subject: [PATCH 91/94] web.beans: Simplify/consolidate annotation analysis --- .../analyzer/AbstractTypedAnalyzer.java | 53 ++++++------ .../analysis/analyzer/AnnotationUtil.java | 44 ++++++---- .../beans/analysis/analyzer/CtorAnalyzer.java | 14 +-- .../InterceptorBindingAnalyzer.java | 22 ++--- .../InterceptorBindingMembersAnalyzer.java | 23 ++--- .../annotation/QualifierAnalyzer.java | 30 +++---- .../analyzer/annotation/ScopeAnalyzer.java | 29 ++++--- .../annotation/StereotypeAnalyzer.java | 62 ++++++------- .../analyzer/field/DelegateFieldAnalizer.java | 29 ++++--- .../field/InjectionPointAnalyzer.java | 51 ++++++----- .../analyzer/field/ProducerFieldAnalyzer.java | 14 +-- .../analyzer/field/ScopedFieldAnalyzer.java | 6 +- .../analyzer/method/AnnotationsAnalyzer.java | 49 ++++++----- .../method/DelegateMethodAnalyzer.java | 28 +++--- .../InjectionPointParameterAnalyzer.java | 57 ++++++------ .../method/InterceptedMethodAnalyzer.java | 23 ++--- .../method/ProducerMethodAnalyzer.java | 28 +++--- .../analyzer/method/ScopedMethodAnalyzer.java | 18 ++-- .../analyzer/method/TypedMethodAnalyzer.java | 28 +++--- .../analyzer/type/AnnotationsAnalyzer.java | 86 ++++++++++--------- .../analysis/analyzer/type/CtorsAnalyzer.java | 8 +- .../type/InterceptedBeanAnalyzer.java | 26 +++--- .../analyzer/type/ManagedBeansAnalizer.java | 43 +++++----- .../analyzer/type/NamedModelAnalyzer.java | 13 +-- .../analyzer/type/ScopedBeanAnalyzer.java | 51 +++++------ .../analyzer/type/SessionBeanAnalyzer.java | 27 +++--- 26 files changed, 451 insertions(+), 411 deletions(-) diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java index f0cff57e98c4..bab87b99177d 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AbstractTypedAnalyzer.java @@ -38,14 +38,18 @@ import org.netbeans.api.java.source.CompilationInfo; import org.netbeans.modules.web.beans.analysis.CdiAnalysisResult; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SPECIALIZES; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SPECIALIZES_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.TYPED; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.TYPED_JAKARTA; /** * @author ads * */ public abstract class AbstractTypedAnalyzer { - - public void analyze( Element element, TypeMirror elementType, + + public void analyze( Element element, TypeMirror elementType, AtomicBoolean cancel , CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); @@ -67,27 +71,26 @@ public void analyze( Element element, TypeMirror elementType, if ( cancel.get()){ return; } - if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES_JAKARTA, compInfo)) + if (AnnotationUtil.hasAnnotation(element, compInfo, SPECIALIZES_JAKARTA, SPECIALIZES)) { result.requireCdiEnabled(element); checkSpecializes( element , elementType , list, cancel , result ); } } - + protected abstract void checkSpecializes( Element element, TypeMirror elementType, List restrictedTypes, AtomicBoolean cancel , CdiAnalysisResult result ); - protected boolean hasBeanType( Element subject, TypeMirror elementType, + protected boolean hasBeanType( Element subject, TypeMirror elementType, TypeMirror requiredBeanType,CompilationInfo compInfo ) { return compInfo.getTypes().isSubtype(elementType, requiredBeanType); } - - protected abstract void addError ( Element element , + + protected abstract void addError ( Element element , CdiAnalysisResult result ); - protected void collectAncestors(TypeElement type , Set ancestors, + protected void collectAncestors(TypeElement type , Set ancestors, CompilationInfo compInfo ) { TypeMirror superclass = type.getSuperclass(); @@ -97,7 +100,7 @@ protected void collectAncestors(TypeElement type , Set ancestors, addAncestor(interfaze, ancestors, compInfo); } } - + private void addAncestor( TypeMirror parent , Set ancestors, CompilationInfo compInfo) { @@ -114,26 +117,24 @@ private void addAncestor( TypeMirror parent , Set ancestors, collectAncestors((TypeElement)parentElement, ancestors, compInfo); } } - - protected List getRestrictedTypes(Element element, + + protected List getRestrictedTypes(Element element, CompilationInfo compInfo , AtomicBoolean cancel) { - AnnotationMirror typedMirror = AnnotationUtil.getAnnotationMirror(element, AnnotationUtil.TYPED_JAKARTA, compInfo); - if (typedMirror == null) { - typedMirror = AnnotationUtil.getAnnotationMirror(element, AnnotationUtil.TYPED, compInfo); - } + AnnotationMirror typedMirror = AnnotationUtil.getAnnotationMirror( + element, compInfo, TYPED_JAKARTA, TYPED); if ( typedMirror == null ){ return null; } - Map values = + Map values = typedMirror.getElementValues(); AnnotationValue restrictedTypes = null; - for (Entry entry : - values.entrySet() ) + for (Entry entry : + values.entrySet() ) { ExecutableElement key = entry.getKey(); AnnotationValue value = entry.getValue(); - if ( AnnotationUtil.VALUE.contentEquals(key.getSimpleName())){ + if ( AnnotationUtil.VALUE.contentEquals(key.getSimpleName())){ restrictedTypes = value; break; } @@ -146,7 +147,7 @@ protected List getRestrictedTypes(Element element, } Object value = restrictedTypes.getValue(); if ( value instanceof List ){ - List result = new ArrayList(((List)value).size()); + List result = new ArrayList<>(((List)value).size()); for( Object type : (List)value){ AnnotationValue annotationValue = (AnnotationValue)type; type = annotationValue.getValue(); @@ -158,20 +159,20 @@ protected List getRestrictedTypes(Element element, } return Collections.emptyList(); } - + protected Set getUnrestrictedBeanTypes( TypeElement element, CompilationInfo compInfo) { - Set set = new HashSet(); + Set set = new HashSet<>(); set.add( element ); collectAncestors(element, set, compInfo); return set; } - + protected Set getElements( Collection types , CompilationInfo info ) { - Set result = new HashSet(); + Set result = new HashSet<>(); for (TypeMirror typeMirror : types) { Element element = info.getTypes().asElement(typeMirror); if ( element instanceof TypeElement ){ @@ -180,5 +181,5 @@ protected Set getElements( Collection types , } return result; } - + } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AnnotationUtil.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AnnotationUtil.java index ff7fe3e9bb67..25f57c86dbea 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AnnotationUtil.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/AnnotationUtil.java @@ -173,29 +173,42 @@ public final class AnnotationUtil { private AnnotationUtil(){ } - public static boolean hasAnnotation(Element element, String annotation, - CompilationInfo info ) + /** + * @param element + * @param info + * @param annotationFqns + * @return true if at least one annotation from {@code annotationFqns} is + * present + */ + public static boolean hasAnnotation(Element element, + CompilationInfo info, String... annotationFqns ) { - return getAnnotationMirror(element, annotation, info)!=null; + return getAnnotationMirror(element, info, annotationFqns) != null; } - public static AnnotationMirror getAnnotationMirror(Element element, - String annotation,CompilationInfo info ) + /** + * @param element + * @param model + * @param annotationFqns + * @return true if at least one annotation from {@code annotationFqns} is + * present + */ + public static boolean hasAnnotation(Element element, + WebBeansModel model, String... annotationFqns) { - return getAnnotationMirror(element, info, annotation); + return hasAnnotation(element, model.getCompilationController(), annotationFqns); } /** - * return AnnotationMirror for first found annotation from annotationFqns * @param element * @param info * @param annotationFqns - * @return + * @return AnnotationMirror for first found annotation from annotationFqns */ public static AnnotationMirror getAnnotationMirror(Element element, CompilationInfo info , String... annotationFqns) { - Set set = new HashSet(); + Set set = new HashSet<>(); Elements els = info.getElements(); for( String annotation : annotationFqns){ TypeElement annotationElement = els.getTypeElement( @@ -220,26 +233,25 @@ public static AnnotationMirror getAnnotationMirror(Element element, public static boolean isSessionBean(Element element , CompilationInfo compInfo ) { - return getAnnotationMirror(element, compInfo, STATEFUL, STATELESS, SINGLETON, STATEFUL_JAKARTA, STATELESS_JAKARTA, SINGLETON_JAKARTA) != null; + return hasAnnotation(element, compInfo, STATEFUL, STATELESS, SINGLETON, STATEFUL_JAKARTA, STATELESS_JAKARTA, SINGLETON_JAKARTA); } public static boolean isDelegate(Element element, TypeElement parent, WebBeansModel model ) { - return (AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, model.getCompilationController()) - && AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR, model.getCompilationController())) - || (AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN_JAKARTA, model.getCompilationController()) - && AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR_JAKARTA, model.getCompilationController())); + return (AnnotationUtil.hasAnnotation(element, model, DELEGATE_FQN) + && AnnotationUtil.hasAnnotation(parent, model, DECORATOR)) + || (AnnotationUtil.hasAnnotation(element, model, DELEGATE_FQN_JAKARTA) + && AnnotationUtil.hasAnnotation(parent, model, DECORATOR_JAKARTA)); } public static boolean isLifecycleCallback( ExecutableElement element , CompilationInfo info ) { - AnnotationMirror annotationMirror = getAnnotationMirror(element, info, + return hasAnnotation(element, info, POST_ACTIVATE, POST_CONSTRUCT, PRE_DESTROY, PRE_PASSIVATE, POST_ACTIVATE_JAKARTA, POST_CONSTRUCT_JAKARTA, PRE_DESTROY_JAKARTA, PRE_PASSIVATE_JAKARTA ); - return annotationMirror != null; } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/CtorAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/CtorAnalyzer.java index 09657d0853da..183b64a2c7c2 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/CtorAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/CtorAnalyzer.java @@ -29,6 +29,10 @@ import org.netbeans.modules.web.beans.analysis.CdiAnalysisResult; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DISPOSES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DISPOSES_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.OBSERVES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.OBSERVES_FQN_JAKARTA; /** * @author ads @@ -49,16 +53,14 @@ public void analyze( Element element, TypeElement parent, if ( cancel.get() ){ return; } - boolean isDisposer = AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN, result.getInfo()) - || AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN_JAKARTA, result.getInfo()); - boolean isObserver = AnnotationUtil.hasAnnotation(param, AnnotationUtil.OBSERVES_FQN, result.getInfo()) - || AnnotationUtil.hasAnnotation(param, AnnotationUtil.OBSERVES_FQN_JAKARTA, result.getInfo()); + boolean isDisposer = AnnotationUtil.hasAnnotation(param, result.getInfo(), DISPOSES_FQN_JAKARTA, DISPOSES_FQN); + boolean isObserver = AnnotationUtil.hasAnnotation(param, result.getInfo(), OBSERVES_FQN_JAKARTA, OBSERVES_FQN); if ( isDisposer || isObserver ){ result.requireCdiEnabled(element); - String annotation = isDisposer ? AnnotationUtil.DISPOSES : + String annotation = isDisposer ? AnnotationUtil.DISPOSES : AnnotationUtil.OBSERVES; result.addError( element, NbBundle.getMessage( - CtorAnalyzer.class, "ERR_BadAnnotationParamCtor", annotation)); // NOI18N + CtorAnalyzer.class, "ERR_BadAnnotationParamCtor", annotation)); // NOI18N break; } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java index c1b42e171d8d..e382ef8ba071 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingAnalyzer.java @@ -34,13 +34,16 @@ import org.netbeans.modules.web.beans.api.model.WebBeansModel; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_BINDING_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_BINDING_FQN_JAKARTA; + /** * @author ads * */ public class InterceptorBindingAnalyzer implements AnnotationAnalyzer { - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AnnotationModelAnalyzer.AnnotationAnalyzer#analyze(javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) */ @@ -49,8 +52,7 @@ public void analyze( TypeElement element, WebBeansModel model, AtomicBoolean cancel , Result result ) { - if (!(AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN_JAKARTA, model.getCompilationController()))) + if (!AnnotationUtil.hasAnnotation(element, model, INTERCEPTOR_BINDING_FQN_JAKARTA, INTERCEPTOR_BINDING_FQN)) { return; } @@ -61,7 +63,7 @@ public void analyze( TypeElement element, WebBeansModel model, return; } if (!analyzer.hasRuntimeRetention()) { - result.addError(element, model, + result.addError(element, model, NbBundle.getMessage(InterceptorBindingAnalyzer.class, INCORRECT_RUNTIME)); } @@ -69,7 +71,7 @@ public void analyze( TypeElement element, WebBeansModel model, return; } if (!analyzer.hasTarget()) { - result.addError(element, model, + result.addError(element, model, NbBundle.getMessage(InterceptorBindingAnalyzer.class, "ERR_IncorrectInterceptorBindingTarget")); // NOI18N } @@ -81,11 +83,11 @@ public void analyze( TypeElement element, WebBeansModel model, if ( cancel.get() ){ return; } - checkTransitiveInterceptorBindings( element, declaredTargetTypes, + checkTransitiveInterceptorBindings( element, declaredTargetTypes, model , result ); } } - + private void checkTransitiveInterceptorBindings( TypeElement element, Set declaredTargetTypes, WebBeansModel model, Result result ) @@ -108,7 +110,7 @@ private void checkTransitiveInterceptorBindings( TypeElement element, if (bindingTargetTypes.size() == 1 && bindingTargetTypes.contains(ElementType.TYPE)) { - result.addError(element, model , + result.addError(element, model , NbBundle.getMessage(InterceptorBindingAnalyzer.class, "ERR_IncorrectTransitiveInterceptorBinding", // NOI18N ((TypeElement) binding).getQualifiedName().toString())); @@ -118,7 +120,7 @@ private void checkTransitiveInterceptorBindings( TypeElement element, } private static class InterceptorTargetAnalyzer extends CdiAnnotationAnalyzer { - + InterceptorTargetAnalyzer( TypeElement element , WebBeansModel model , Result result) { @@ -140,7 +142,7 @@ protected String getCdiMetaAnnotation() { protected TargetVerifier getTargetVerifier() { return InterceptorBindingVerifier.getInstance(); } - + } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java index 2720cef2c3f6..349f3350f971 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/InterceptorBindingMembersAnalyzer.java @@ -35,6 +35,11 @@ import org.openide.util.NbBundle; import org.netbeans.spi.editor.hints.Severity; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_BINDING_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_BINDING_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NON_BINDING; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NON_BINDING_JAKARTA; + /** @@ -50,17 +55,16 @@ public class InterceptorBindingMembersAnalyzer implements AnnotationAnalyzer { public void analyze( TypeElement element, AtomicBoolean cancel, CdiAnalysisResult result ) { - if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN, result.getInfo()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_BINDING_FQN_JAKARTA, result.getInfo())) + if (AnnotationUtil.hasAnnotation(element, result.getInfo(), INTERCEPTOR_BINDING_FQN_JAKARTA, INTERCEPTOR_BINDING_FQN)) { checkMembers(element, result, NbBundle.getMessage( - QualifierAnalyzer.class, + QualifierAnalyzer.class, "WARN_ArrayAnnotationValuedIBindingMember")); // NOI18N } } - - protected void checkMembers( TypeElement element, CdiAnalysisResult result , - String localizedWarning ) + + protected void checkMembers( TypeElement element, CdiAnalysisResult result , + String localizedWarning ) { List methods = ElementFilter.methodsIn( element.getEnclosedElements()); @@ -71,19 +75,18 @@ protected void checkMembers( TypeElement element, CdiAnalysisResult result , warning = true; } else if ( returnType.getKind() == TypeKind.DECLARED){ - Element returnElement = result.getInfo().getTypes().asElement( + Element returnElement = result.getInfo().getTypes().asElement( returnType ); warning = returnElement.getKind() == ElementKind.ANNOTATION_TYPE; } if ( !warning ){ continue; } - if (AnnotationUtil.hasAnnotation(executableElement, AnnotationUtil.NON_BINDING, result.getInfo()) - || AnnotationUtil.hasAnnotation(executableElement, AnnotationUtil.NON_BINDING_JAKARTA, result.getInfo())) + if (AnnotationUtil.hasAnnotation(executableElement, result.getInfo(), NON_BINDING_JAKARTA, NON_BINDING)) { continue; } - result.addNotification(Severity.WARNING, element, localizedWarning); + result.addNotification(Severity.WARNING, element, localizedWarning); } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java index 100b31d75196..4bdd32541c53 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/QualifierAnalyzer.java @@ -18,23 +18,16 @@ */ package org.netbeans.modules.web.beans.analysis.analyzer.annotation; -import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; -import javax.lang.model.element.Element; -import javax.lang.model.element.ElementKind; -import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.TypeElement; -import javax.lang.model.type.TypeKind; -import javax.lang.model.type.TypeMirror; -import javax.lang.model.util.ElementFilter; import org.netbeans.modules.web.beans.analysis.CdiAnalysisResult; -import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationElementAnalyzer.AnnotationAnalyzer; import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil; import org.openide.util.NbBundle; -import org.netbeans.spi.editor.hints.Severity; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.QUALIFIER_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.QUALIFIER_FQN_JAKARTA; /** * @author ads @@ -49,31 +42,30 @@ public class QualifierAnalyzer extends InterceptorBindingMembersAnalyzer { public void analyze( TypeElement element, AtomicBoolean cancel, CdiAnalysisResult result ) { - if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.QUALIFIER_FQN, result.getInfo()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.QUALIFIER_FQN_JAKARTA, result.getInfo())) + if (AnnotationUtil.hasAnnotation(element, result.getInfo(), QUALIFIER_FQN_JAKARTA, QUALIFIER_FQN)) { result.requireCdiEnabled(element); - QualifierTargetAnalyzer analyzer = new QualifierTargetAnalyzer(element, + QualifierTargetAnalyzer analyzer = new QualifierTargetAnalyzer(element, result ); if ( !analyzer.hasRuntimeRetention() ){ - result.addError( element, - NbBundle.getMessage(QualifierTargetAnalyzer.class, + result.addError( element, + NbBundle.getMessage(QualifierTargetAnalyzer.class, INCORRECT_RUNTIME)); } if ( !analyzer.hasTarget()){ - result.addError( element, - NbBundle.getMessage(QualifierTargetAnalyzer.class, + result.addError( element, + NbBundle.getMessage(QualifierTargetAnalyzer.class, "ERR_IncorrectQualifierTarget")); // NOI18N } if ( cancel.get() ){ return; } checkMembers( element, result , NbBundle.getMessage( - QualifierAnalyzer.class, + QualifierAnalyzer.class, "WARN_ArrayAnnotationValuedQualifierMember")); // NOI18N } } - + private static class QualifierTargetAnalyzer extends CdiAnnotationAnalyzer{ QualifierTargetAnalyzer( TypeElement element, CdiAnalysisResult result) @@ -96,6 +88,6 @@ protected String getCdiMetaAnnotation() { protected TargetVerifier getTargetVerifier() { return QualifierVerifier.getInstance( true ); } - + } } \ No newline at end of file diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java index 7114455bc7eb..47f13a81e31c 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/ScopeAnalyzer.java @@ -28,6 +28,11 @@ import org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NORMAL_SCOPE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SCOPE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SCOPE_FQN_JAKARTA; + /** * @author ads @@ -43,36 +48,34 @@ public void analyze( TypeElement element, AtomicBoolean cancel, CdiAnalysisResult result) { CompilationInfo compInfo = result.getInfo(); - boolean isScope = AnnotationUtil.hasAnnotation(element, AnnotationUtil.SCOPE_FQN, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SCOPE_FQN_JAKARTA, compInfo); - boolean isNormalScope = AnnotationUtil.hasAnnotation(element, AnnotationUtil.NORMAL_SCOPE_FQN, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA, compInfo); + boolean isScope = AnnotationUtil.hasAnnotation(element, compInfo, SCOPE_FQN_JAKARTA, SCOPE_FQN); + boolean isNormalScope = AnnotationUtil.hasAnnotation(element, compInfo, NORMAL_SCOPE_FQN_JAKARTA, NORMAL_SCOPE_FQN); if ( isScope || isNormalScope ){ result.requireCdiEnabled(element); - ScopeTargetAnalyzer analyzer = new ScopeTargetAnalyzer(element, + ScopeTargetAnalyzer analyzer = new ScopeTargetAnalyzer(element, result, isNormalScope); if ( cancel.get() ){ return; } if ( !analyzer.hasRuntimeRetention() ){ - result.addError( element, - NbBundle.getMessage(ScopeAnalyzer.class, + result.addError( element, + NbBundle.getMessage(ScopeAnalyzer.class, INCORRECT_RUNTIME)); } if ( cancel.get() ){ return; } if ( !analyzer.hasTarget()){ - result.addError( element, - NbBundle.getMessage(ScopeAnalyzer.class, + result.addError( element, + NbBundle.getMessage(ScopeAnalyzer.class, "ERR_IncorrectScopeTarget")); // NOI18N } } } - + private static class ScopeTargetAnalyzer extends CdiAnnotationAnalyzer { - - ScopeTargetAnalyzer(TypeElement element, CdiAnalysisResult result, + + ScopeTargetAnalyzer(TypeElement element, CdiAnalysisResult result, boolean normalScope ) { super( element , result ); @@ -100,7 +103,7 @@ protected String getCdiMetaAnnotation() { } } - private boolean isNormalScope; + private final boolean isNormalScope; } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java index e88b6c8101ad..60431f1d7dd1 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/annotation/StereotypeAnalyzer.java @@ -41,24 +41,28 @@ import org.openide.util.NbBundle; import org.netbeans.spi.editor.hints.Severity; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STEREOTYPE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STEREOTYPE_FQN_JAKARTA; + /** * @author ads * */ public class StereotypeAnalyzer extends AbstractScopedAnalyzer implements AnnotationAnalyzer { - - + + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AnnotationModelAnalyzer.AnnotationAnalyzer#analyze(javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) */ @Override public void analyze( TypeElement element, WebBeansModel model , - AtomicBoolean cancel , + AtomicBoolean cancel , Result result) { - boolean isStereotype = AnnotationUtil.hasAnnotation(element, AnnotationUtil.STEREOTYPE_FQN, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.STEREOTYPE_FQN_JAKARTA, model.getCompilationController()); + boolean isStereotype = AnnotationUtil.hasAnnotation(element, model, STEREOTYPE_FQN_JAKARTA, STEREOTYPE_FQN); if ( !isStereotype ){ return; } @@ -99,7 +103,7 @@ private void checkQualifers( TypeElement element, WebBeansModel model, List qualifiers = model.getQualifiers(element, true); for (AnnotationMirror annotationMirror : qualifiers) { Element annotation = annotationMirror.getAnnotationType().asElement(); - if ( annotation instanceof TypeElement && + if ( annotation instanceof TypeElement && ( ((TypeElement)annotation).getQualifiedName().contentEquals(AnnotationUtil.NAMED) || ((TypeElement)annotation).getQualifiedName().contentEquals(AnnotationUtil.NAMED_JAKARTA) @@ -109,12 +113,12 @@ private void checkQualifers( TypeElement element, WebBeansModel model, continue; } else { - result.addNotification( Severity.WARNING , element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, + result.addNotification( Severity.WARNING , element, model, + NbBundle.getMessage(StereotypeAnalyzer.class, "WARN_QualifiedStereotype")); // NOI18N break; } - } + } } private void checkTyped( TypeElement element, WebBeansModel model, @@ -125,8 +129,8 @@ private void checkTyped( TypeElement element, WebBeansModel model, typed = AnnotationUtil.getAnnotationMirror(element, model.getCompilationController(), AnnotationUtil.TYPED); } if ( typed != null ){ - result.addNotification( Severity.WARNING , element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, + result.addNotification( Severity.WARNING , element, model, + NbBundle.getMessage(StereotypeAnalyzer.class, "WARN_TypedStereotype")); // NOI18N } } @@ -157,7 +161,7 @@ private void checkTransitiveStereotypes( TypeElement element, } else { String fqn = stereotype.getQualifiedName().toString(); - result.addError(element, model, + result.addError(element, model, NbBundle.getMessage( StereotypeAnalyzer.class, "ERR_IncorrectTransitiveTarget", // NOI18N @@ -180,7 +184,7 @@ private void checkInterceptorBindings( TypeElement element, } int interceptorsCount = model.getInterceptorBindings(element).size(); if (interceptorsCount != 0) { - result.addError(element,model, + result.addError(element,model, NbBundle.getMessage(StereotypeAnalyzer.class, "ERR_IncorrectTargetWithInterceptorBindings")); // NOI18N } @@ -189,16 +193,16 @@ private void checkInterceptorBindings( TypeElement element, private Set checkDefinition( TypeElement element, WebBeansModel model , Result result ) { - StereotypeTargetAnalyzer analyzer = new StereotypeTargetAnalyzer(element, + StereotypeTargetAnalyzer analyzer = new StereotypeTargetAnalyzer(element, model, result ); if ( !analyzer.hasRuntimeRetention()){ - result.addError( element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, + result.addError( element, model, + NbBundle.getMessage(StereotypeAnalyzer.class, INCORRECT_RUNTIME)); } if ( !analyzer.hasTarget()){ - result.addError( element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, + result.addError( element, model, + NbBundle.getMessage(StereotypeAnalyzer.class, "ERR_IncorrectStereotypeTarget")); // NOI18N return null; } @@ -210,22 +214,20 @@ private Set checkDefinition( TypeElement element, private void checkName( TypeElement element, WebBeansModel model, Result result ) { - AnnotationMirror named = AnnotationUtil.getAnnotationMirror(element, AnnotationUtil.NAMED_JAKARTA, model.getCompilationController()); - if (named == null) { - named = AnnotationUtil.getAnnotationMirror(element, AnnotationUtil.NAMED, model.getCompilationController()); - } + AnnotationMirror named = AnnotationUtil.getAnnotationMirror( + element, model.getCompilationController(), NAMED_JAKARTA, NAMED); if ( named == null ){ return; } - Map members = + Map members = named.getElementValues(); - for (Entry entry: - members.entrySet()) + for (Entry entry: + members.entrySet()) { ExecutableElement member = entry.getKey(); - if ( member.getSimpleName().contentEquals(AnnotationUtil.VALUE)){ - result.addError( element, model, - NbBundle.getMessage(StereotypeAnalyzer.class, + if ( member.getSimpleName().contentEquals(AnnotationUtil.VALUE)){ + result.addError( element, model, + NbBundle.getMessage(StereotypeAnalyzer.class, "ERR_NonEmptyNamedStereotype")); // NOI18N } } @@ -263,7 +265,7 @@ protected String getCdiMetaAnnotation() { protected TargetVerifier getTargetVerifier() { return StereotypeVerifier.getInstance(); } - + } - + } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java index 9b64ae82aa12..2b100a5eb3d5 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/DelegateFieldAnalizer.java @@ -37,6 +37,13 @@ import org.netbeans.modules.web.beans.hints.EditorAnnotationsHelper; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DECORATOR; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DECORATOR_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN_JAKARTA; + /** * @author ads @@ -53,25 +60,19 @@ public void analyze( VariableElement element, TypeMirror elementType, CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - if (! (AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN_JAKARTA, compInfo) - )) + if (!AnnotationUtil.hasAnnotation(element, compInfo, DELEGATE_FQN_JAKARTA, DELEGATE_FQN)) { return; } result.requireCdiEnabled(element); - if (! (AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN_JAKARTA, compInfo) - )) + if (!AnnotationUtil.hasAnnotation(element, compInfo, INJECT_FQN_JAKARTA, INJECT_FQN)) { result.addError(element, NbBundle.getMessage( DelegateFieldAnalizer.class, "ERR_DelegateHasNoInject")); // NOI18N } Element clazz = element.getEnclosingElement(); - if (! (AnnotationUtil.hasAnnotation(clazz, AnnotationUtil.DECORATOR, compInfo) - || AnnotationUtil.hasAnnotation(clazz, AnnotationUtil.DECORATOR_JAKARTA, compInfo) - )) + if (! AnnotationUtil.hasAnnotation(clazz, compInfo, DECORATOR_JAKARTA, DECORATOR)) { result.addError(element, NbBundle.getMessage( DelegateFieldAnalizer.class, @@ -92,7 +93,7 @@ private void checkDelegateType( VariableElement element, TypeMirror elementType, TypeElement parent, CdiAnalysisResult result ) { - Collection decoratedTypes = getDecoratedTypes( parent , + Collection decoratedTypes = getDecoratedTypes( parent , result.getInfo() ); for (TypeMirror decoratedType : decoratedTypes) { if ( !result.getInfo().getTypes().isSubtype( elementType,decoratedType )){ @@ -104,18 +105,18 @@ private void checkDelegateType( VariableElement element, } } - public static Collection getDecoratedTypes( TypeElement element , - CompilationInfo info ) + public static Collection getDecoratedTypes( TypeElement element , + CompilationInfo info ) { TypeElement serializable = info.getElements().getTypeElement( Serializable.class.getCanonicalName()); - Collection result = new LinkedList(); + Collection result = new LinkedList<>(); collectDecoratedTypes( element.asType() , result , serializable, info ); return result; } private static void collectDecoratedTypes( TypeMirror type, - Collection result, TypeElement serializable, + Collection result, TypeElement serializable, CompilationInfo info) { List directSupertypes = info.getTypes(). diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java index 971021733f3a..47bded315b7c 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/InjectionPointAnalyzer.java @@ -18,7 +18,6 @@ */ package org.netbeans.modules.web.beans.analysis.analyzer.field; -import java.io.IOException; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; @@ -28,7 +27,6 @@ import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; import javax.lang.model.type.TypeMirror; -import javax.swing.text.Document; import org.netbeans.api.java.source.ElementHandle; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; @@ -45,27 +43,32 @@ import org.netbeans.spi.editor.hints.Severity; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED_JAKARTA; + /** * @author ads * */ public class InjectionPointAnalyzer extends AbstractDecoratorAnalyzer implements FieldAnalyzer { - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.FieldModelAnalyzer.FieldAnalyzer#analyze(javax.lang.model.element.VariableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) */ @Override public void analyze( final VariableElement element, TypeMirror elementType, TypeElement parent, WebBeansModel model, - AtomicBoolean cancel , + AtomicBoolean cancel , Result result ) { try { if (model.isInjectionPoint(element) ){ boolean isDelegate = false; result.requireCdiEnabled(element, model); - checkInjectionPointMetadata( element, elementType , parent, model , + checkInjectionPointMetadata( element, elementType , parent, model , cancel , result ); checkNamed( element, model , cancel, result); if ( cancel.get() ){ @@ -90,14 +93,12 @@ public void analyze( final VariableElement element, TypeMirror elementType, EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance( result); if ( helper != null ){ - helper.addEventInjectionPoint( result, + helper.addEventInjectionPoint( result, modelHandle.resolve(result.getInfo())); } } - else if ( isDelegate - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN_JAKARTA, model.getCompilationController()) - ) + else if (isDelegate + || AnnotationUtil.hasAnnotation(element, model, DELEGATE_FQN_JAKARTA, DELEGATE_FQN)) { return; } @@ -106,7 +107,7 @@ else if ( isDelegate EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance( result); if (helper != null ){ - helper.addInjectionPoint( result, + helper.addInjectionPoint( result, modelHandle.resolve(result.getInfo())); } } @@ -117,20 +118,16 @@ else if ( isDelegate informInjectionPointDefError(e, element, model, result ); } } - + private void checkNamed( VariableElement element, WebBeansModel model, AtomicBoolean cancel, Result result ) { if( cancel.get() ){ return; } - if ( - AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED_JAKARTA, model.getCompilationController()) - ) - { - result.addNotification( Severity.WARNING , element, model, - NbBundle.getMessage(InjectionPointAnalyzer.class, + if (AnnotationUtil.hasAnnotation(element, model, NAMED_JAKARTA, NAMED)) { + result.addNotification( Severity.WARNING , element, model, + NbBundle.getMessage(InjectionPointAnalyzer.class, "WARN_NamedInjectionPoint")); // NOI18N } } @@ -139,15 +136,15 @@ private void checkNamed( VariableElement element, WebBeansModel model, * @see org.netbeans.modules.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer#addClassError(javax.lang.model.element.VariableElement, java.lang.Object, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, org.netbeans.modules.web.beans.analysis.analyzer.ModelAnalyzer.Result) */ @Override - protected void addClassError( VariableElement element, Void fake, + protected void addClassError( VariableElement element, Void fake, TypeElement decoratedBean, WebBeansModel model, Result result ) { - result.addError( element , model, - NbBundle.getMessage(InjectionPointAnalyzer.class, + result.addError( element , model, + NbBundle.getMessage(InjectionPointAnalyzer.class, "ERR_FinalDecoratedBean", // NOI18N decoratedBean.getQualifiedName().toString())); } - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer#addMethodError(javax.lang.model.element.VariableElement, java.lang.Object, javax.lang.model.element.TypeElement, javax.lang.model.element.Element, org.netbeans.modules.web.beans.api.model.WebBeansModel, org.netbeans.modules.web.beans.analysis.analyzer.ModelAnalyzer.Result) */ @@ -175,7 +172,7 @@ private void checkInjectionPointMetadata( VariableElement element, if (injectionPointType == null) { return; } - Element varElement = model.getCompilationController().getTypes().asElement( + Element varElement = model.getCompilationController().getTypes().asElement( elementType ); if ( !injectionPointType.equals(varElement)){ return; @@ -197,7 +194,7 @@ private void checkInjectionPointMetadata( VariableElement element, try { String scope = model.getScope( parent ); if ( scope != null && !AnnotationUtil.DEPENDENT.equals( scope ) && !AnnotationUtil.DEPENDENT_JAKARTA.equals( scope )){ - result.addError(element , model, + result.addError(element , model, NbBundle.getMessage( InjectionPointAnalyzer.class, "ERR_WrongQualifierInjectionPointMeta")); // NOI18N } @@ -223,8 +220,8 @@ private void checkResult( DependencyInjectionResult res , } } - private void informInjectionPointDefError(InjectionPointDefinitionError exception , - Element element, WebBeansModel model, + private void informInjectionPointDefError(InjectionPointDefinitionError exception , + Element element, WebBeansModel model, Result result ) { result.addError(element, model, exception.getMessage()); diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ProducerFieldAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ProducerFieldAnalyzer.java index 5e6944ddedee..2b4f477f28be 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ProducerFieldAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ProducerFieldAnalyzer.java @@ -34,13 +34,16 @@ import org.netbeans.modules.web.beans.analysis.analyzer.FieldElementAnalyzer.FieldAnalyzer; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN_JAKARTA; + /** * @author ads * */ -public class ProducerFieldAnalyzer extends AbstractProducerAnalyzer - implements FieldAnalyzer +public class ProducerFieldAnalyzer extends AbstractProducerAnalyzer + implements FieldAnalyzer { /* (non-Javadoc) @@ -52,8 +55,7 @@ public void analyze( VariableElement element, TypeMirror elementType, CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - if ( !AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, - compInfo )) + if (!AnnotationUtil.hasAnnotation(element, compInfo, PRODUCES_FQN_JAKARTA, PRODUCES_FQN)) { return; } @@ -75,7 +77,7 @@ protected void hasTypeVar( Element element, TypeMirror type, result.addError( element, NbBundle.getMessage( ProducerFieldAnalyzer.class, "ERR_ProducerHasTypeVar")); // NOI18N } - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AbstractProducerAnalyzer#hasWildCard(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, org.netbeans.api.java.source.CompilationInfo, java.util.List) */ @@ -96,7 +98,7 @@ private void checkSessionBean( VariableElement element, TypeElement parent, Set modifiers = element.getModifiers(); if ( !modifiers.contains(Modifier.STATIC)){ result.addError( element, NbBundle.getMessage( - ProducerFieldAnalyzer.class, + ProducerFieldAnalyzer.class, "ERR_NonStaticProducerSessionBean")); // NOI18N } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java index e31692daa9b7..36efcec00fa4 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/field/ScopedFieldAnalyzer.java @@ -33,6 +33,9 @@ import org.netbeans.modules.web.beans.api.model.WebBeansModel; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN_JAKARTA; + /** * @author ads @@ -47,8 +50,7 @@ public void analyze( VariableElement element, TypeMirror elementType, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, model.getCompilationController())) + if (AnnotationUtil.hasAnnotation(element, model, PRODUCES_FQN_JAKARTA, PRODUCES_FQN)) { result.requireCdiEnabled(element, model); analyzeScope(element, model, cancel , result ); diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java index e203a7eecd4f..fcc1523d9ce7 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/AnnotationsAnalyzer.java @@ -38,13 +38,22 @@ import org.netbeans.modules.web.beans.hints.EditorAnnotationsHelper; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DISPOSES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DISPOSES_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.OBSERVES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.OBSERVES_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN_JAKARTA; + /** * @author ads * */ public class AnnotationsAnalyzer implements MethodAnalyzer { - + private static final String EJB = "ejb"; // NOI18N /* (non-Javadoc) @@ -54,7 +63,7 @@ public class AnnotationsAnalyzer implements MethodAnalyzer { public void analyze( ExecutableElement element, TypeMirror returnType, TypeElement parent, AtomicBoolean cancel , CdiAnalysisResult result ) { - checkProductionObserverDisposerInject( element , parent , + checkProductionObserverDisposerInject( element , parent , cancel , result ); if ( cancel.get()){ return; @@ -66,10 +75,8 @@ private void checkProductionObserverDisposerInject( CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - boolean isProducer = AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, compInfo); - boolean isInitializer = AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN_JAKARTA, compInfo); + boolean isProducer = AnnotationUtil.hasAnnotation(element, compInfo, PRODUCES_FQN_JAKARTA, PRODUCES_FQN); + boolean isInitializer = AnnotationUtil.hasAnnotation(element, compInfo, INJECT_FQN_JAKARTA, INJECT_FQN); int observesCount = 0; int disposesCount = 0; List parameters = element.getParameters(); @@ -77,13 +84,11 @@ private void checkProductionObserverDisposerInject( if ( cancel.get() ){ return; } - if ( AnnotationUtil.hasAnnotation( param, AnnotationUtil.OBSERVES_FQN, compInfo) - || AnnotationUtil.hasAnnotation( param, AnnotationUtil.OBSERVES_FQN_JAKARTA, compInfo)) + if (AnnotationUtil.hasAnnotation(param, compInfo, OBSERVES_FQN_JAKARTA, OBSERVES_FQN)) { observesCount++; } - if (AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN, compInfo) - || AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN_JAKARTA, compInfo)) + if (AnnotationUtil.hasAnnotation(param, compInfo, DISPOSES_FQN_JAKARTA, DISPOSES_FQN)) { disposesCount++; } @@ -128,7 +133,7 @@ else if ( observesCount >0 ){ AnnotationsAnalyzer.class, "ERR_BothAnnotationsMethod", // NOI18N firstAnnotation, secondAnnotation )); } - + // Test quantity of observer parameters if ( observesCount > 1){ result.addError( element, NbBundle.getMessage( @@ -139,21 +144,21 @@ else if ( disposesCount >1 ){ result.addError( element, NbBundle.getMessage( AnnotationsAnalyzer.class, "ERR_ManyDisposesParameter")); // NOI18N } - - // A producer/disposer method must be a non-abstract method . + + // A producer/disposer method must be a non-abstract method . checkAbstractMethod(element, result, isProducer, disposesCount>0); - - checkBusinessMethod( element , result, isProducer, + + checkBusinessMethod( element , result, isProducer, disposesCount >0 , observesCount > 0); - + if ( isInitializer ){ checkInitializerMethod(element, parent , result ); } } /** - * A producer/disposer/observer non-static method of a session bean class + * A producer/disposer/observer non-static method of a session bean class * should be a business method of the session bean. */ private void checkBusinessMethod( ExecutableElement element, @@ -197,11 +202,11 @@ else if ( isObserver ){ key = "ERR_ObserverNotBusiness"; // NOI18N } result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, key)); + AnnotationsAnalyzer.class, key)); } } - private void checkInitializerMethod( ExecutableElement element, + private void checkInitializerMethod( ExecutableElement element, TypeElement parent, CdiAnalysisResult result ) { Set modifiers = element.getModifiers(); @@ -212,13 +217,13 @@ private void checkInitializerMethod( ExecutableElement element, "ERR_StaticInitMethod"; // NOI18N result.addError( element, NbBundle.getMessage( AnnotationsAnalyzer.class, key )); - } + } TypeMirror method = result.getInfo().getTypes().asMemberOf( (DeclaredType)parent.asType() , element); if ( method instanceof ExecutableType ){ - List typeVariables = + List typeVariables = ((ExecutableType)method).getTypeVariables(); - if ( typeVariables != null && typeVariables.size() > 0 ){ + if (typeVariables != null && !typeVariables.isEmpty()) { result.addError( element, NbBundle.getMessage( AnnotationsAnalyzer.class, "ERR_GenericInitMethod" ));// NOI18N } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java index d7df2e80946e..4a4784315923 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/DelegateMethodAnalyzer.java @@ -38,6 +38,13 @@ import org.netbeans.modules.web.beans.hints.EditorAnnotationsHelper; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DECORATOR; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DECORATOR_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN_JAKARTA; + /** * @author ads @@ -58,8 +65,7 @@ public void analyze( ExecutableElement element, TypeMirror returnType, if (cancel.get()) { return; } - if (AnnotationUtil.hasAnnotation(param, AnnotationUtil.DELEGATE_FQN_JAKARTA, result.getInfo()) - || AnnotationUtil.hasAnnotation(param, AnnotationUtil.DELEGATE_FQN, result.getInfo())) + if (AnnotationUtil.hasAnnotation(param, result.getInfo(), DELEGATE_FQN_JAKARTA, DELEGATE_FQN)) { result.requireCdiEnabled(element); if (cancel.get()) { @@ -90,13 +96,12 @@ private void checkClassDefinition( TypeElement parent, ExecutableElement element, VariableElement param, CdiAnalysisResult result) { - if ( ! ( AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR, result.getInfo()) - || AnnotationUtil.hasAnnotation(parent, AnnotationUtil.DECORATOR_JAKARTA, result.getInfo()))) + if (!AnnotationUtil.hasAnnotation(parent, result.getInfo(), DECORATOR_JAKARTA, DECORATOR)) { - result.addError( param, - NbBundle.getMessage(DelegateFieldAnalizer.class, + result.addError( param, + NbBundle.getMessage(DelegateFieldAnalizer.class, "ERR_DelegateIsNotInDecorator")); // NOI18N - } + } } private void checkDelegateType( VariableElement element, int i, @@ -120,17 +125,16 @@ private void checkDelegateType( VariableElement element, int i, } } - private void checkMethodDefinition( ExecutableElement element, + private void checkMethodDefinition( ExecutableElement element, VariableElement param, CdiAnalysisResult result ) { if ( element.getKind() == ElementKind.CONSTRUCTOR ){ return; } - if (!(AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN, result.getInfo()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INJECT_FQN_JAKARTA, result.getInfo()))) + if (!AnnotationUtil.hasAnnotation(element, result.getInfo(), INJECT_FQN_JAKARTA, INJECT_FQN)) { - result.addError( param, - NbBundle.getMessage(DelegateMethodAnalyzer.class, + result.addError( param, + NbBundle.getMessage(DelegateMethodAnalyzer.class, "ERR_WrongDelegateMethod")); // NOI18N } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java index 98432030816c..108eb297a785 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InjectionPointParameterAnalyzer.java @@ -32,7 +32,6 @@ import javax.lang.model.type.TypeMirror; import org.netbeans.api.java.source.CompilationController; -import org.netbeans.api.java.source.ElementHandle; import org.netbeans.modules.j2ee.metadata.model.api.support.annotation.AnnotationHelper; import org.netbeans.modules.web.beans.analysis.CdiEditorAnalysisFactory; import org.netbeans.modules.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer; @@ -49,13 +48,18 @@ import org.netbeans.spi.editor.hints.Severity; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED_JAKARTA; + /** * @author ads * */ -public class InjectionPointParameterAnalyzer - extends AbstractDecoratorAnalyzer implements MethodAnalyzer +public class InjectionPointParameterAnalyzer + extends AbstractDecoratorAnalyzer implements MethodAnalyzer { /* (non-Javadoc) @@ -63,7 +67,7 @@ public class InjectionPointParameterAnalyzer */ @Override public void analyze( ExecutableElement element, TypeMirror returnType, - TypeElement parent, WebBeansModel model , + TypeElement parent, WebBeansModel model , AtomicBoolean cancel , Result result ) { for (VariableElement var : element.getParameters()) { @@ -101,11 +105,9 @@ public void analyze( ExecutableElement element, TypeMirror returnType, if ( cancel.get()){ return; } - checkInjectionPointMetadata( var, element, parent , model , + checkInjectionPointMetadata( var, element, parent , model , cancel , result ); - if ( isDelegate - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DELEGATE_FQN_JAKARTA, model.getCompilationController())) + if ( isDelegate || AnnotationUtil.hasAnnotation(element, model, DELEGATE_FQN_JAKARTA, DELEGATE_FQN)) { return; } @@ -127,7 +129,7 @@ public void analyze( ExecutableElement element, TypeMirror returnType, } } - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer#addClassError(javax.lang.model.element.VariableElement, java.lang.Object, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, org.netbeans.api.java.source.CompilationInfo, java.util.List) */ @@ -136,12 +138,12 @@ protected void addClassError( VariableElement element, ExecutableElement method, TypeElement decoratedBean, WebBeansModel model, Result result ) { - result.addError( element , method, model, - NbBundle.getMessage(InjectionPointParameterAnalyzer.class, + result.addError( element , method, model, + NbBundle.getMessage(InjectionPointParameterAnalyzer.class, "ERR_FinalDecoratedBean", // NOI18N decoratedBean.getQualifiedName().toString())); } - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AbstractDecoratorAnalyzer#addMethodError(javax.lang.model.element.VariableElement, java.lang.Object, javax.lang.model.element.TypeElement, javax.lang.model.element.Element, org.netbeans.modules.web.beans.api.model.WebBeansModel, org.netbeans.modules.web.beans.analysis.analyzer.ModelAnalyzer.Result) */ @@ -157,9 +159,9 @@ protected void addMethodError( VariableElement element, decoratedBean.getQualifiedName().toString(), decoratedMethod.getSimpleName().toString())); } - + private TypeMirror getParameterType( VariableElement var, - ExecutableElement element, TypeElement parent , + ExecutableElement element, TypeElement parent , CompilationController controller ) { ExecutableType method = (ExecutableType)controller.getTypes().asMemberOf( @@ -169,7 +171,8 @@ private TypeMirror getParameterType( VariableElement var, int paramIndex = parameters.indexOf(var); return parameterTypes.get(paramIndex); } - + + @SuppressWarnings("UnnecessaryReturnStatement") private void checkInjectionPointMetadata( VariableElement var, ExecutableElement method, TypeElement parent, WebBeansModel model, AtomicBoolean cancel , Result result ) @@ -209,7 +212,7 @@ private void checkInjectionPointMetadata( VariableElement var, String scope = model.getScope(parent); if (scope != null && !AnnotationUtil.DEPENDENT.equals(scope) && !AnnotationUtil.DEPENDENT_JAKARTA.equals(scope)) { - result.addError(var, method, model, + result.addError(var, method, model, NbBundle.getMessage(InjectionPointParameterAnalyzer.class,"ERR_WrongQualifierInjectionPointMeta")); // NOI18N } } @@ -223,18 +226,14 @@ private void checkName( ExecutableElement element, VariableElement var, WebBeansModel model, Result result) { AnnotationMirror annotation = AnnotationUtil.getAnnotationMirror( - var, AnnotationUtil.NAMED_JAKARTA, model.getCompilationController()); - if (annotation == null) { - annotation = AnnotationUtil.getAnnotationMirror( - var, AnnotationUtil.NAMED, model.getCompilationController()); - } + var, model.getCompilationController(), NAMED_JAKARTA, NAMED); if (annotation != null) { - result.addNotification( Severity.WARNING , var, element , model, - NbBundle.getMessage(InjectionPointAnalyzer.class, + result.addNotification( Severity.WARNING , var, element , model, + NbBundle.getMessage(InjectionPointAnalyzer.class, "WARN_NamedInjectionPoint")); // NOI18N - if ( annotation.getElementValues().size() == 0 ){ - result.addError(var, element, model, - NbBundle.getMessage( InjectionPointParameterAnalyzer.class, + if ( annotation.getElementValues().isEmpty() ){ + result.addError(var, element, model, + NbBundle.getMessage( InjectionPointParameterAnalyzer.class, "ERR_ParameterNamedInjectionPoint")); // NOI18N } } @@ -251,13 +250,13 @@ private void checkResult( DependencyInjectionResult res , severity = Severity.ERROR; } String message = ((DependencyInjectionResult.Error)res).getMessage(); - result.addNotification(severity, element , method , + result.addNotification(severity, element , method , model, message); } } - private void informInjectionPointDefError(InjectionPointDefinitionError exception , - Element element, WebBeansModel model, + private void informInjectionPointDefError(InjectionPointDefinitionError exception , + Element element, WebBeansModel model, Result result ) { result.addError(element, model, exception.getMessage()); diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java index 3ae47369d9db..aa7e18c7ec3f 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/InterceptedMethodAnalyzer.java @@ -47,12 +47,15 @@ import org.netbeans.spi.editor.hints.Severity; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_JAKARTA; + /** * @author ads * */ -public class InterceptedMethodAnalyzer extends AbstractInterceptedElementAnalyzer +public class InterceptedMethodAnalyzer extends AbstractInterceptedElementAnalyzer implements MethodAnalyzer { @@ -75,7 +78,7 @@ public void analyze( ExecutableElement element, TypeMirror returnType, } if (AnnotationUtil.isLifecycleCallback(element, model.getCompilationController() )) { if (hasInterceptorBindings) { - result.addNotification( Severity.WARNING, element, model, + result.addNotification( Severity.WARNING, element, model, NbBundle.getMessage(InterceptedMethodAnalyzer.class, "WARN_CallbackInterceptorBinding")); // NOI18N } @@ -87,7 +90,7 @@ public void analyze( ExecutableElement element, TypeMirror returnType, List interceptors = interceptorResult .getResolvedInterceptors(); AnnotationHelper helper = null; - if ( interceptors.size() >0 ){ + if (!interceptors.isEmpty()) { helper = new AnnotationHelper(model.getCompilationController()); } for (TypeElement interceptor : interceptors) { @@ -118,9 +121,9 @@ public void analyze( ExecutableElement element, TypeMirror returnType, if (cancel.get()) { return; } - + Set modifiers = element.getModifiers(); - if ( modifiers.contains( Modifier.STATIC ) || + if ( modifiers.contains( Modifier.STATIC ) || modifiers.contains( Modifier.PRIVATE)) { return; @@ -135,23 +138,21 @@ public void analyze( ExecutableElement element, TypeMirror returnType, } if ( hasInterceptorBindings){ if ( finalMethod ){ - result.addError(element, model, + result.addError(element, model, NbBundle.getMessage( InterceptedMethodAnalyzer.class, "ERR_FinalInterceptedMethod")); // NOI18N } - if (finalClass - && !AnnotationUtil.hasAnnotation(parent, AnnotationUtil.INTERCEPTOR, model.getCompilationController()) - && !AnnotationUtil.hasAnnotation(parent, AnnotationUtil.INTERCEPTOR_JAKARTA, model.getCompilationController())) + if (finalClass && !AnnotationUtil.hasAnnotation(parent, model, INTERCEPTOR_JAKARTA, INTERCEPTOR)) { - result.addError(element, model, + result.addError(element, model, NbBundle.getMessage( InterceptedMethodAnalyzer.class, "ERR_FinalInterceptedClass")); // NOI18N } } } - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AbstractInterceptedElementAnalyzer#getInterceptorBindings(javax.lang.model.element.Element, org.netbeans.modules.web.beans.api.model.WebBeansModel) */ diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java index 58a7e9651861..051dcbc9d36e 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ProducerMethodAnalyzer.java @@ -34,13 +34,18 @@ import org.netbeans.modules.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SPECIALIZES; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SPECIALIZES_JAKARTA; + /** * @author ads * */ -public class ProducerMethodAnalyzer extends AbstractProducerAnalyzer - implements MethodAnalyzer +public class ProducerMethodAnalyzer extends AbstractProducerAnalyzer + implements MethodAnalyzer { /* (non-Javadoc) @@ -50,8 +55,7 @@ public class ProducerMethodAnalyzer extends AbstractProducerAnalyzer public void analyze( ExecutableElement element, TypeMirror returnType, TypeElement parent, AtomicBoolean cancel , CdiAnalysisResult result ) { - if (!(AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, result.getInfo()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, result.getInfo()))) + if (!AnnotationUtil.hasAnnotation(element, result.getInfo(), PRODUCES_FQN_JAKARTA, PRODUCES_FQN)) { return; } @@ -65,7 +69,7 @@ public void analyze( ExecutableElement element, TypeMirror returnType, } checkSpecializes( element , result ); } - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AbstractProducerAnalyzer#hasTypeVar(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, org.netbeans.modules.web.beans.analysis.analyzer.ElementAnalyzer.Result) */ @@ -76,7 +80,7 @@ protected void hasTypeVar( Element element, TypeMirror type, result.addError( element, NbBundle.getMessage( ProducerMethodAnalyzer.class, "ERR_ProducerReturnIsTypeVar")); // NOI18N } - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.AbstractProducerAnalyzer#hasWildCard(javax.lang.model.element.Element, javax.lang.model.type.TypeMirror, org.netbeans.modules.web.beans.analysis.analyzer.ElementAnalyzer.Result) */ @@ -87,18 +91,17 @@ protected void hasWildCard( Element element, TypeMirror type, result.addError(element, NbBundle.getMessage( ProducerMethodAnalyzer.class,"ERR_ProducerReturnHasWildcard")); // NOI18N } - + private void checkSpecializes(ExecutableElement element, CdiAnalysisResult result ) { - if (!(AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, result.getInfo()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES_JAKARTA, result.getInfo()))) + if (!(AnnotationUtil.hasAnnotation(element, result.getInfo(), SPECIALIZES_JAKARTA, SPECIALIZES))) { return; } Set modifiers = element.getModifiers(); if ( modifiers.contains( Modifier.STATIC )){ result.addError( element, NbBundle.getMessage( - ProducerMethodAnalyzer.class, + ProducerMethodAnalyzer.class, "ERR_StaticSpecializesProducer")); // NOI18N } CompilationInfo compInfo = result.getInfo(); @@ -113,11 +116,10 @@ private void checkSpecializes(ExecutableElement element, CdiAnalysisResult resul enclosingTypeElement( element ); TypeMirror typeDirectSuper = containingClass.getSuperclass(); if (!superClass.equals(compInfo.getTypes().asElement(typeDirectSuper)) - || (!AnnotationUtil.hasAnnotation(overridenMethod, AnnotationUtil.PRODUCES_FQN, compInfo) - && !AnnotationUtil.hasAnnotation(overridenMethod, AnnotationUtil.PRODUCES_FQN_JAKARTA, compInfo))) + || (!AnnotationUtil.hasAnnotation(overridenMethod, compInfo, PRODUCES_FQN_JAKARTA, PRODUCES_FQN))) { result.addError( element, NbBundle.getMessage( - ProducerMethodAnalyzer.class, + ProducerMethodAnalyzer.class, "ERR_NoDirectSpecializedProducer")); // NOI18N } } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java index 7462659245f0..03c5cc52e3ab 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/ScopedMethodAnalyzer.java @@ -34,6 +34,9 @@ import org.netbeans.modules.web.beans.api.model.WebBeansModel; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN_JAKARTA; + /** * @author ads @@ -42,7 +45,7 @@ public class ScopedMethodAnalyzer extends AbstractScopedAnalyzer implements MethodAnalyzer { - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.MethodModelAnalyzer.MethodAnalyzer#analyze(javax.lang.model.element.ExecutableElement, javax.lang.model.type.TypeMirror, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.concurrent.atomic.AtomicBoolean, org.netbeans.modules.web.beans.analysis.analyzer.ModelAnalyzer.Result) */ @@ -51,8 +54,7 @@ public void analyze( ExecutableElement element, TypeMirror returnType, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, model.getCompilationController())) + if (AnnotationUtil.hasAnnotation(element, model, PRODUCES_FQN_JAKARTA, PRODUCES_FQN)) { result.requireCdiEnabled(element,model); analyzeScope(element, model, cancel, result ); @@ -77,8 +79,8 @@ protected void checkScope( TypeElement scopeElement, Element element, return; } if ( hasTypeVarParameter( returnType )){ - result.addError( element, model, - NbBundle.getMessage(ScopedMethodAnalyzer.class, + result.addError( element, model, + NbBundle.getMessage(ScopedMethodAnalyzer.class, "ERR_WrongScopeParameterizedProducerReturn", // NOI18N scopeElement.getQualifiedName().toString())); } @@ -111,11 +113,11 @@ private void checkPassivationCapable( TypeElement scopeElement, return; } if ( returnTypeElement.getModifiers().contains( Modifier.FINAL )){ - result.addError( element, model, - NbBundle.getMessage(ScopedMethodAnalyzer.class, + result.addError( element, model, + NbBundle.getMessage(ScopedMethodAnalyzer.class, "ERR_NotPassivationProducerReturn", // NOI18N scopeElement.getQualifiedName().toString())); } } - + } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java index 4950039c943a..274643a1972f 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/method/TypedMethodAnalyzer.java @@ -38,6 +38,9 @@ import org.netbeans.modules.web.beans.analysis.analyzer.MethodElementAnalyzer.MethodAnalyzer; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN_JAKARTA; + /** * @author ads @@ -85,8 +88,7 @@ protected void checkSpecializes( Element element, TypeMirror elementType, List restrictedTypes, AtomicBoolean cancel , CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - if (!AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN, compInfo) - && !AnnotationUtil.hasAnnotation(element, AnnotationUtil.PRODUCES_FQN_JAKARTA, compInfo)) + if (!AnnotationUtil.hasAnnotation(element, compInfo, PRODUCES_FQN_JAKARTA, PRODUCES_FQN)) { return; } @@ -107,25 +109,25 @@ protected void checkSpecializes( Element element, TypeMirror elementType, if ( cancel.get()){ return; } - List restrictedSuper = getRestrictedTypes(overriddenMethod, + List restrictedSuper = getRestrictedTypes(overriddenMethod, compInfo, cancel); if ( cancel.get()){ return; } if ( restrictedSuper == null ) { - if (!hasUnrestrictedOverridenType(elementType, + if (!hasUnrestrictedOverridenType(elementType, restrictedTypes, compInfo,overriddenMethod, superClass) ) { result.addError( element, NbBundle.getMessage( - TypedMethodAnalyzer.class, "ERR_BadSpecializesMethod")); // NOI18N + TypedMethodAnalyzer.class, "ERR_BadSpecializesMethod")); // NOI18N } } - else { + else { if (!hasRestrictedType(elementType, restrictedTypes, compInfo, restrictedSuper)) { result.addError( element, NbBundle.getMessage( - TypedMethodAnalyzer.class, "ERR_BadSpecializesMethod")); // NOI18N + TypedMethodAnalyzer.class, "ERR_BadSpecializesMethod")); // NOI18N } } } @@ -150,11 +152,11 @@ private boolean hasRestrictedType( TypeMirror elementType, return true; } else { - Set specializedBeanTypes = getElements( + Set specializedBeanTypes = getElements( restrictedSuper, compInfo); - Set restrictedElements = getElements(restrictedTypes, + Set restrictedElements = getElements(restrictedTypes, compInfo); - restrictedElements.add( compInfo.getElements().getTypeElement( + restrictedElements.add( compInfo.getElements().getTypeElement( Object.class.getCanonicalName())); return restrictedElements.containsAll( specializedBeanTypes ); } @@ -183,7 +185,7 @@ else if ( returnOverriden.getKind().isPrimitive() ) { else if ( returnOverriden instanceof DeclaredType ){ Element returnElement = compInfo.getTypes().asElement( returnOverriden); if ( returnElement instanceof TypeElement ){ - return hasUnrestrictedType((TypeElement)returnElement, + return hasUnrestrictedType((TypeElement)returnElement, restrictedTypes, compInfo); } } @@ -195,9 +197,9 @@ private boolean hasUnrestrictedType( TypeElement overriden, { Set specializedBeanTypes = getUnrestrictedBeanTypes( overriden, compInfo); - Set restrictedElements = getElements(restrictedTypes, + Set restrictedElements = getElements(restrictedTypes, compInfo); - restrictedElements.add( compInfo.getElements().getTypeElement( + restrictedElements.add( compInfo.getElements().getTypeElement( Object.class.getCanonicalName())); return restrictedElements.containsAll(specializedBeanTypes); } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java index d39453a7b8dd..c76acb5ca040 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/AnnotationsAnalyzer.java @@ -35,13 +35,34 @@ import org.openide.util.NbBundle; import org.netbeans.spi.editor.hints.Severity; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.ALTERNATVE; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.ALTERNATVE_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DECORATOR; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DECORATOR_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DELEGATE_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DISPOSES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DISPOSES_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.OBSERVES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.OBSERVES_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.PRODUCES_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SPECIALIZES; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SPECIALIZES_JAKARTA; + /** * @author ads * */ public class AnnotationsAnalyzer implements ClassAnalyzer { - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.ClassElementAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.api.java.source.CompilationInfo, java.util.List, java.util.concurrent.atomic.AtomicBoolean) */ @@ -52,14 +73,12 @@ public void analyze( TypeElement element, TypeElement parent, checkDecoratorInterceptor( element , cancel, result ); } - private void checkDecoratorInterceptor( TypeElement element, + private void checkDecoratorInterceptor( TypeElement element, AtomicBoolean cancel , CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - boolean isDecorator = AnnotationUtil.hasAnnotation(element, AnnotationUtil.DECORATOR, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DECORATOR_JAKARTA, compInfo); - boolean isInterceptor = AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR, compInfo) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_JAKARTA, compInfo); + boolean isDecorator = AnnotationUtil.hasAnnotation(element, compInfo, DECORATOR_JAKARTA, DECORATOR); + boolean isInterceptor = AnnotationUtil.hasAnnotation(element, compInfo, INTERCEPTOR_JAKARTA, INTERCEPTOR); if ( isDecorator && isInterceptor ){ result.addError( element, NbBundle.getMessage( AnnotationsAnalyzer.class, "ERR_DecoratorInterceptor"));// NOI18N @@ -101,11 +120,10 @@ private void checkDecoratorInterceptor( TypeElement element, private void checkSpecializes( TypeElement element, CdiAnalysisResult result ) { - if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, result.getInfo()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES_JAKARTA, result.getInfo())) + if (AnnotationUtil.hasAnnotation(element, result.getInfo(), SPECIALIZES_JAKARTA, SPECIALIZES)) { result.addNotification(Severity.WARNING, element, NbBundle.getMessage( - AnnotationsAnalyzer.class, + AnnotationsAnalyzer.class, "WARN_SpecializesInterceptorDecorator")); // NOI18N } } @@ -113,18 +131,16 @@ private void checkSpecializes( TypeElement element, CdiAnalysisResult result ) private void checkAlternatives( TypeElement element, CdiAnalysisResult result ) { - if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.ALTERNATVE, result.getInfo()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.ALTERNATVE_JAKARTA, result.getInfo())) + if (AnnotationUtil.hasAnnotation(element, result.getInfo(), ALTERNATVE_JAKARTA, ALTERNATVE)) { result.addNotification(Severity.WARNING, element, NbBundle.getMessage( - AnnotationsAnalyzer.class, + AnnotationsAnalyzer.class, "WARN_AlternativeInterceptorDecorator")); // NOI18N - } + } } private void checkNamed( TypeElement element, CdiAnalysisResult result ) { - if ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, result.getInfo()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED_JAKARTA, result.getInfo())) + if ( AnnotationUtil.hasAnnotation(element, result.getInfo(), NAMED_JAKARTA, NAMED)) { result.addNotification(Severity.WARNING, element, NbBundle.getMessage( AnnotationsAnalyzer.class, "WARN_NamedInterceptorDecorator")); // NOI18N @@ -142,17 +158,12 @@ private void checkDelegateInjectionPoint( TypeElement element, { count +=delegateInjectionPointCount(child, compInfo); } - else if ( ! ( - AnnotationUtil.hasAnnotation(child, AnnotationUtil.INJECT_FQN, compInfo ) - || AnnotationUtil.hasAnnotation(child, AnnotationUtil.INJECT_FQN_JAKARTA, compInfo ) - )) + else if (!AnnotationUtil.hasAnnotation(child, compInfo, INJECT_FQN_JAKARTA, INJECT_FQN)) { continue; } if ((child.getKind() == ElementKind.FIELD - && AnnotationUtil.hasAnnotation(child, AnnotationUtil.DELEGATE_FQN, compInfo)) - || (child.getKind() == ElementKind.FIELD - && AnnotationUtil.hasAnnotation(child, AnnotationUtil.DELEGATE_FQN_JAKARTA, compInfo))) { + && AnnotationUtil.hasAnnotation(child, compInfo, DELEGATE_FQN_JAKARTA, DELEGATE_FQN))) { count++; } else if ( child.getKind() ==ElementKind.METHOD ) @@ -165,18 +176,15 @@ else if ( child.getKind() ==ElementKind.METHOD ) AnnotationsAnalyzer.class, "ERR_IncorrectDelegateCount")); // NOI18N } } - - private int delegateInjectionPointCount(Element element , + + private int delegateInjectionPointCount(Element element , CompilationInfo compInfo) { int result=0; ExecutableElement method = (ExecutableElement)element; List parameters = method.getParameters(); for (VariableElement par : parameters) { - if ( - AnnotationUtil.hasAnnotation(par, AnnotationUtil.DELEGATE_FQN, compInfo) - || AnnotationUtil.hasAnnotation(par, AnnotationUtil.DELEGATE_FQN_JAKARTA, compInfo) - ) + if (AnnotationUtil.hasAnnotation(par, compInfo, DELEGATE_FQN_JAKARTA, DELEGATE_FQN)) { result++; } @@ -198,22 +206,19 @@ private void checkMethods( TypeElement element, boolean isDecorator, CdiAnalysisResult result ) { CompilationInfo compInfo = result.getInfo(); - List methods = ElementFilter.methodsIn( + List methods = ElementFilter.methodsIn( element.getEnclosedElements()); for (ExecutableElement method : methods) { - boolean isProducer = AnnotationUtil.hasAnnotation(method, AnnotationUtil.PRODUCES_FQN, compInfo) - || AnnotationUtil.hasAnnotation(method, AnnotationUtil.PRODUCES_FQN_JAKARTA, compInfo); + boolean isProducer = AnnotationUtil.hasAnnotation(method, compInfo, PRODUCES_FQN_JAKARTA, PRODUCES_FQN); boolean isDisposer = false; boolean isObserver = false; List parameters = method.getParameters(); for (VariableElement param : parameters) { - if (AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN, compInfo) - || AnnotationUtil.hasAnnotation(param, AnnotationUtil.DISPOSES_FQN_JAKARTA, compInfo)) { + if (AnnotationUtil.hasAnnotation(param, compInfo, DISPOSES_FQN_JAKARTA, DISPOSES_FQN)) { isDisposer = true; break; } - if ( AnnotationUtil.hasAnnotation( param , AnnotationUtil.OBSERVES_FQN, compInfo) - || AnnotationUtil.hasAnnotation( param , AnnotationUtil.OBSERVES_FQN_JAKARTA, compInfo)) + if ( AnnotationUtil.hasAnnotation( param , compInfo, OBSERVES_FQN_JAKARTA, OBSERVES_FQN)) { isObserver = true; break; @@ -221,14 +226,14 @@ private void checkMethods( TypeElement element, boolean isDecorator, } if ( isProducer || isDisposer || isObserver ){ result.addError( element, NbBundle.getMessage( - AnnotationsAnalyzer.class, getMethodErrorKey(isDecorator, - isProducer, isDisposer) , + AnnotationsAnalyzer.class, getMethodErrorKey(isDecorator, + isProducer, isDisposer) , method.getSimpleName().toString())); break; } } } - + private String getMethodErrorKey(boolean isDecorator, boolean isProducer, boolean isDisposer ) { @@ -261,11 +266,10 @@ else if ( isDisposer ){ private void checkProducerFields( TypeElement element, boolean isDecorator, CdiAnalysisResult result ) { - List fields = ElementFilter.fieldsIn( + List fields = ElementFilter.fieldsIn( element.getEnclosedElements() ); for (VariableElement field : fields) { - if ( AnnotationUtil.hasAnnotation(field, AnnotationUtil.PRODUCES_FQN_JAKARTA, result.getInfo()) - || AnnotationUtil.hasAnnotation(field, AnnotationUtil.PRODUCES_FQN, result.getInfo())) + if (AnnotationUtil.hasAnnotation(field, result.getInfo(), PRODUCES_FQN_JAKARTA, PRODUCES_FQN)) { String key= isDecorator ? "ERR_DecoratorHasProducerField": "ERR_IntrerceptorHasProducerField"; // NOI18N diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/CtorsAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/CtorsAnalyzer.java index 9b0921b152c8..efcaef46f04d 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/CtorsAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/CtorsAnalyzer.java @@ -30,6 +30,9 @@ import org.netbeans.modules.web.beans.analysis.analyzer.ClassElementAnalyzer.ClassAnalyzer; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN_JAKARTA; + /** * @author ads @@ -51,10 +54,7 @@ public void analyze( TypeElement element, TypeElement parent, if ( cancel.get() ){ return; } - if ( - AnnotationUtil.hasAnnotation( ctor , AnnotationUtil.INJECT_FQN, result.getInfo()) - || AnnotationUtil.hasAnnotation( ctor , AnnotationUtil.INJECT_FQN_JAKARTA, result.getInfo()) - ) + if (AnnotationUtil.hasAnnotation(ctor, result.getInfo(), INJECT_FQN_JAKARTA, INJECT_FQN)) { result.requireCdiEnabled( ctor ); injectCtorCount++; diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java index b0bd3744c729..a2a882cc40ca 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/InterceptedBeanAnalyzer.java @@ -36,15 +36,18 @@ import org.netbeans.modules.web.beans.hints.EditorAnnotationsHelper; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INTERCEPTOR_JAKARTA; + /** * @author ads * */ -public class InterceptedBeanAnalyzer extends AbstractInterceptedElementAnalyzer - implements ClassAnalyzer +public class InterceptedBeanAnalyzer extends AbstractInterceptedElementAnalyzer + implements ClassAnalyzer { - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) */ @@ -53,11 +56,10 @@ public void analyze( TypeElement element, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.INTERCEPTOR_JAKARTA, model.getCompilationController())) + if (AnnotationUtil.hasAnnotation(element, model, INTERCEPTOR_JAKARTA, INTERCEPTOR)) { result.requireCdiEnabled(element, model); - // rule should not be applied to interceptor + // rule should not be applied to interceptor return ; } boolean hasIBindings = hasInterceptorBindings(element, model); @@ -66,12 +68,12 @@ public void analyze( TypeElement element, TypeElement parent, EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance(result); ElementHandle handle = ElementHandle.create(element); if ( helper != null ){ - helper.addInterceptedBean( result , + helper.addInterceptedBean( result , handle.resolve( result.getInfo())); } } - - + + Set modifiers = element.getModifiers(); boolean isFinal = modifiers.contains(Modifier.FINAL); List methods = ElementFilter.methodsIn( @@ -85,7 +87,7 @@ public void analyze( TypeElement element, TypeElement parent, if ( !modifiers.contains( Modifier.FINAL )){ continue; } - if ( modifiers.contains( Modifier.STATIC ) || + if ( modifiers.contains( Modifier.STATIC ) || modifiers.contains( Modifier.PRIVATE)) { continue; @@ -100,13 +102,13 @@ public void analyze( TypeElement element, TypeElement parent, return; } if (hasIBindings && isFinal) { - result.addError(element, model, + result.addError(element, model, NbBundle.getMessage( InterceptedBeanAnalyzer.class, "ERR_FinalInterceptedBean")); // NOI18N } if (hasIBindings && badMethod != null) { - result.addError(element, model, + result.addError(element, model, NbBundle.getMessage( InterceptedBeanAnalyzer.class, "ERR_InterceptedBeanHasFinalMethod", badMethod diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java index 74c44472d126..de1b291e41f8 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ManagedBeansAnalizer.java @@ -39,16 +39,21 @@ import org.netbeans.spi.editor.hints.Severity; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DECORATOR; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.DECORATOR_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.INJECT_FQN_JAKARTA; + /** * @author ads * */ public class ManagedBeansAnalizer implements ClassAnalyzer { - + private static final String EXTENSION = "javax.enterprise.inject.spi.Extension"; //NOI18N private static final String EXTENSION_JAKARTA = "jakarta.enterprise.inject.spi.Extension"; //NOI18N - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) */ @@ -57,7 +62,7 @@ public void analyze( TypeElement element, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - boolean cdiManaged = model.getQualifiers( element, true ).size()>0; + boolean cdiManaged = !model.getQualifiers(element, true).isEmpty(); if ( !cdiManaged ){ return; } @@ -88,7 +93,7 @@ private void checkDecorators( TypeElement element, WebBeansModel model, Result result ) { Collection decorators = model.getDecorators(element); - if ( decorators!= null && decorators.size() >0 ){ + if (decorators != null && !decorators.isEmpty()) { EditorAnnotationsHelper helper = EditorAnnotationsHelper.getInstance(result); ElementHandle handle = ElementHandle.create(element); if ( helper != null ){ @@ -108,10 +113,10 @@ private void checkImplementsExtension( TypeElement element, return; } TypeMirror elementType = element.asType(); - if ( model.getCompilationController().getTypes().isSubtype( + if ( model.getCompilationController().getTypes().isSubtype( elementType, extension.asType())){ - result.addNotification(Severity.WARNING, element, - model, NbBundle.getMessage( ManagedBeansAnalizer.class, + result.addNotification(Severity.WARNING, element, + model, NbBundle.getMessage( ManagedBeansAnalizer.class, "WARN_QualifiedElementExtension")); // NOI18N } } @@ -121,16 +126,15 @@ private void checkAbstract( TypeElement element, { Set modifiers = element.getModifiers(); if (modifiers.contains(Modifier.ABSTRACT)) { - if (AnnotationUtil.hasAnnotation(element, AnnotationUtil.DECORATOR, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.DECORATOR_JAKARTA, model.getCompilationController())) { + if (AnnotationUtil.hasAnnotation(element, model, DECORATOR_JAKARTA, DECORATOR)) { return; } // element is abstract and has no Decorator annotation result.addNotification( Severity.WARNING, element, model, - NbBundle.getMessage(ManagedBeansAnalizer.class, + NbBundle.getMessage(ManagedBeansAnalizer.class, "WARN_QualifierAbstractClass")); // NOI18N - } + } } private void checkInner( TypeElement element, TypeElement parent, @@ -141,8 +145,8 @@ private void checkInner( TypeElement element, TypeElement parent, } Set modifiers = element.getModifiers(); if ( !modifiers.contains( Modifier.STATIC )){ - result.addError(element, model, - NbBundle.getMessage(ManagedBeansAnalizer.class, + result.addError(element, model, + NbBundle.getMessage(ManagedBeansAnalizer.class, "ERR_NonStaticInnerType")); // NOI18N } } @@ -150,7 +154,7 @@ private void checkInner( TypeElement element, TypeElement parent, private void checkCtor( TypeElement element, WebBeansModel model, Result result ) { - List ctors = ElementFilter.constructorsIn( + List ctors = ElementFilter.constructorsIn( element.getEnclosedElements()); for (ExecutableElement ctor : ctors) { Set modifiers = ctor.getModifiers(); @@ -158,20 +162,17 @@ private void checkCtor( TypeElement element, WebBeansModel model, continue; } List parameters = ctor.getParameters(); - if ( parameters.size() ==0 ){ + if (parameters.isEmpty()) { return; } - if ( - AnnotationUtil.hasAnnotation(ctor, AnnotationUtil.INJECT_FQN, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(ctor, AnnotationUtil.INJECT_FQN_JAKARTA, model.getCompilationController()) - ) + if (AnnotationUtil.hasAnnotation(ctor, model, INJECT_FQN_JAKARTA, INJECT_FQN)) { return; } } // there is no non-private ctors without params or annotated with @Inject - result.addNotification( Severity.WARNING, element, model, - NbBundle.getMessage(ManagedBeansAnalizer.class, + result.addNotification( Severity.WARNING, element, model, + NbBundle.getMessage(ManagedBeansAnalizer.class, "WARN_QualifierNoCtorClass")); // NOI18N } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java index 9d264494e9c3..6b266b32bcd6 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/NamedModelAnalyzer.java @@ -30,6 +30,11 @@ import org.netbeans.modules.web.beans.api.model.WebBeansModel; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NAMED_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SPECIALIZES; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SPECIALIZES_JAKARTA; + /** * @author ads @@ -45,16 +50,12 @@ public void analyze( TypeElement element, TypeElement parent, WebBeansModel model, AtomicBoolean cancel, Result result ) { - if ( ! ( AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES, model.getCompilationController())) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SPECIALIZES_JAKARTA, model.getCompilationController())) + if (!AnnotationUtil.hasAnnotation(element, model, SPECIALIZES_JAKARTA, SPECIALIZES)) { return; } result.requireCdiEnabled(element, model); - if ( !( - AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.NAMED_JAKARTA, model.getCompilationController()) - )) + if (!AnnotationUtil.hasAnnotation(element, model, NAMED_JAKARTA, NAMED)) { return; } diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java index d94dc998344a..a8bfa5c5c401 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/ScopedBeanAnalyzer.java @@ -18,22 +18,17 @@ */ package org.netbeans.modules.web.beans.analysis.analyzer.type; -import java.io.Serializable; import java.util.List; -import java.util.Map; -import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import javax.lang.model.element.AnnotationMirror; -import javax.lang.model.element.AnnotationValue; import javax.lang.model.element.Element; import javax.lang.model.element.ExecutableElement; import javax.lang.model.element.Modifier; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; import javax.lang.model.type.DeclaredType; -import javax.lang.model.type.TypeKind; import javax.lang.model.type.TypeMirror; import javax.lang.model.util.ElementFilter; @@ -45,15 +40,19 @@ import org.netbeans.spi.editor.hints.Severity; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NORMAL_SCOPE_FQN; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STATEFUL; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STATEFUL_JAKARTA; /** * @author ads * */ -public class ScopedBeanAnalyzer extends AbstractScopedAnalyzer - implements ClassAnalyzer +public class ScopedBeanAnalyzer extends AbstractScopedAnalyzer + implements ClassAnalyzer { - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) */ @@ -101,26 +100,23 @@ private void checkPassivationCapable( TypeElement scopeElement, return; } if ( AnnotationUtil.isSessionBean(element, model.getCompilationController())){ - if ( - AnnotationUtil.hasAnnotation(element, AnnotationUtil.STATEFUL, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.STATEFUL_JAKARTA, model.getCompilationController()) - ) + if (AnnotationUtil.hasAnnotation(element, model, STATEFUL_JAKARTA, STATEFUL)) { return; } else { - result.addError(element, model , + result.addError(element, model , NbBundle.getMessage(ScopedBeanAnalyzer.class, "ERR_NotPassivationSessionBean", // NOI18N - scopeElement.getQualifiedName().toString())); + scopeElement.getQualifiedName().toString())); return; } } if ( !isSerializable(element, model) ){ - result.addError(element, model , + result.addError(element, model , NbBundle.getMessage(ScopedBeanAnalyzer.class, "ERR_NotPassivationManagedBean", // NOI18N - scopeElement.getQualifiedName().toString())); + scopeElement.getQualifiedName().toString())); } // TODO : all interceptors ans decorators of bean should be also passivation capable } @@ -141,7 +137,7 @@ private void checkInterceptorDecorator( TypeElement scopeElement, AnnotationUtil.INTERCEPTOR, AnnotationUtil.DECORATOR); } if ( annotationMirror!= null ){ - result.addNotification( Severity.WARNING, element, model, + result.addNotification( Severity.WARNING, element, model, NbBundle.getMessage(ScopedBeanAnalyzer.class, "WARN_ScopedDecoratorInterceptor" )); // NOI18N } @@ -154,13 +150,13 @@ private void checkParameterizedBean( TypeElement scopeElement, if ( scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT) || scopeElement.getQualifiedName().contentEquals(AnnotationUtil.DEPENDENT_JAKARTA)){ return; - } + } result.requireCdiEnabled(element, model); TypeMirror type = element.asType(); if ( type instanceof DeclaredType ){ List typeArguments = ((DeclaredType)type).getTypeArguments(); - if ( typeArguments.size() != 0 ){ - result.addError(element, model, + if (!typeArguments.isEmpty()) { + result.addError(element, model, NbBundle.getMessage(ScopedBeanAnalyzer.class, "ERR_IncorrectScopeForParameterizedBean" )); // NOI18N } @@ -175,15 +171,15 @@ private void checkPublicField( TypeElement scopeElement, Element element, return; } result.requireCdiEnabled(element, model); - List fields = ElementFilter.fieldsIn( + List fields = ElementFilter.fieldsIn( element.getEnclosedElements()); for (VariableElement field : fields) { Set modifiers = field.getModifiers(); if ( modifiers.contains(Modifier.PUBLIC ) && (!modifiers.contains(Modifier.STATIC) || !model.isCdi11OrLater())){ - result.addError(element, model , + result.addError(element, model , NbBundle.getMessage(ScopedBeanAnalyzer.class, - "ERR_IcorrectScopeWithPublicField", + "ERR_IcorrectScopeWithPublicField", field.getSimpleName().toString())); return; } @@ -193,8 +189,7 @@ private void checkPublicField( TypeElement scopeElement, Element element, private void checkProxiability( TypeElement scopeElement, Element element, WebBeansModel model, Result result ) { - boolean isNormal = AnnotationUtil.hasAnnotation(scopeElement, AnnotationUtil.NORMAL_SCOPE_FQN, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(scopeElement, AnnotationUtil.NORMAL_SCOPE_FQN_JAKARTA, model.getCompilationController()); + boolean isNormal = AnnotationUtil.hasAnnotation(scopeElement, model, NORMAL_SCOPE_FQN_JAKARTA, NORMAL_SCOPE_FQN); if ( isNormal ){ result.requireCdiEnabled(element, model); checkFinal( element , model, result ); @@ -209,8 +204,8 @@ private void checkFinal( Element element, WebBeansModel model, } Set modifiers = element.getModifiers(); if ( modifiers.contains( Modifier.FINAL) ){ - result.addError( element, model, - NbBundle.getMessage(ScopedBeanAnalyzer.class, + result.addError( element, model, + NbBundle.getMessage(ScopedBeanAnalyzer.class, "ERR_FinalScopedClass")); return; } @@ -219,7 +214,7 @@ private void checkFinal( Element element, WebBeansModel model, for (ExecutableElement method : methods) { modifiers = method.getModifiers(); if (modifiers.contains(Modifier.FINAL)) { - result.addNotification( Severity.WARNING, method, model, + result.addNotification( Severity.WARNING, method, model, NbBundle.getMessage( ScopedBeanAnalyzer.class, "WARN_FinalScopedClassMethod")); diff --git a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java index 2cee32dc972e..343ffb3972a5 100644 --- a/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java +++ b/enterprise/web.beans/src/org/netbeans/modules/web/beans/analysis/analyzer/type/SessionBeanAnalyzer.java @@ -30,13 +30,18 @@ import org.netbeans.modules.web.beans.api.model.WebBeansModel; import org.openide.util.NbBundle; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SINGLETON; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.SINGLETON_JAKARTA; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STATELESS; +import static org.netbeans.modules.web.beans.analysis.analyzer.AnnotationUtil.STATELESS_JAKARTA; + /** * @author ads * */ public class SessionBeanAnalyzer implements ClassAnalyzer { - + /* (non-Javadoc) * @see org.netbeans.modules.web.beans.analysis.analyzer.ClassModelAnalyzer.ClassAnalyzer#analyze(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement, org.netbeans.modules.web.beans.api.model.WebBeansModel, java.util.List, org.netbeans.api.java.source.CompilationInfo, java.util.concurrent.atomic.AtomicBoolean) */ @@ -45,17 +50,15 @@ public void analyze( TypeElement element, TypeElement parent, WebBeansModel model, AtomicBoolean cancel , Result result ) { - boolean isSingleton = AnnotationUtil.hasAnnotation(element, AnnotationUtil.SINGLETON, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.SINGLETON_JAKARTA, model.getCompilationController()); - boolean isStateless = AnnotationUtil.hasAnnotation(element, AnnotationUtil.STATELESS, model.getCompilationController()) - || AnnotationUtil.hasAnnotation(element, AnnotationUtil.STATELESS_JAKARTA, model.getCompilationController()); + boolean isSingleton = AnnotationUtil.hasAnnotation(element, model, SINGLETON_JAKARTA, SINGLETON); + boolean isStateless = AnnotationUtil.hasAnnotation(element, model, STATELESS_JAKARTA, STATELESS); if ( cancel.get() ){ return; } try { String scope = model.getScope( element ); if ( isSingleton ) { - if ( AnnotationUtil.APPLICATION_SCOPED.equals( scope ) + if ( AnnotationUtil.APPLICATION_SCOPED.equals( scope ) || AnnotationUtil.DEPENDENT.equals( scope ) || AnnotationUtil.APPLICATION_SCOPED_JAKARTA.equals( scope ) || AnnotationUtil.DEPENDENT_JAKARTA.equals( scope ) ) @@ -63,16 +66,16 @@ public void analyze( TypeElement element, TypeElement parent, return; } result.requireCdiEnabled(element, model); - result.addError( element, model, - NbBundle.getMessage(SessionBeanAnalyzer.class, + result.addError( element, model, + NbBundle.getMessage(SessionBeanAnalyzer.class, "ERR_InvalidSingletonBeanScope")); // NOI18N } else if ( isStateless ) { if (!AnnotationUtil.DEPENDENT.equals(scope) && !AnnotationUtil.DEPENDENT_JAKARTA.equals(scope)) { - result.addError( element, model, - NbBundle.getMessage(SessionBeanAnalyzer.class, + result.addError( element, model, + NbBundle.getMessage(SessionBeanAnalyzer.class, "ERR_InvalidStatelessBeanScope")); // NOI18N } } @@ -82,8 +85,8 @@ else if ( isStateless ) { informCdiException(e, element, model, result ); } } - - private void informCdiException(CdiException exception , Element element, + + private void informCdiException(CdiException exception , Element element, WebBeansModel model, Result result ) { result.addError(element, model, exception.getMessage()); From 551c6119ca5dbd02da780f4e3e6b6b2db85222fe Mon Sep 17 00:00:00 2001 From: Junichi Yamamoto Date: Mon, 23 Dec 2024 06:55:10 +0900 Subject: [PATCH 92/94] PHP 8.3 Support: Arbitrary static variable initializers (Part 3) - https://github.com/apache/netbeans/issues/6701 - https://github.com/apache/netbeans/issues/8073 - https://wiki.php.net/rfc/arbitrary_static_variable_initializers - Fix the `PHP83UnhandledError` - Fix the bracket barance for the `ASTPHP5Scanner` - Add unit tests for the scanner --- .../php/editor/parser/ASTPHP5Scanner.java | 180 +++++++++--------- .../verification/PHP83UnhandledError.java | 161 ++++++++++++++++ ...arbitraryStaticVariableInitializers01.pass | 87 +++++++++ .../arbitraryStaticVariableInitializers01.php | 25 +++ .../php/editor/parser/SanitizeCurlyTest.java | 21 +- .../php/editor/parser/SanitizeSourceTest.java | 4 + php/php.editor/tools/ASTPHP5Scanner.flex | 1 + 7 files changed, 388 insertions(+), 91 deletions(-) create mode 100644 php/php.editor/test/unit/data/goldenfiles/org/netbeans/modules/php/editor/parser/SanitizeSourceTest/sanitize/arbitraryStaticVariableInitializers01.pass create mode 100644 php/php.editor/test/unit/data/testfiles/sanitize/arbitraryStaticVariableInitializers01.php diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java index fcf45a8ff472..83d426c76e02 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/parser/ASTPHP5Scanner.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 2023/10/12 11:50 */ +/* The following code was generated by JFlex 1.4.3 on 2024/12/21 22:32 */ /* * Licensed to the Apache Software Foundation (ASF) under one @@ -35,7 +35,7 @@ /** * This class is a scanner generated by * JFlex 1.4.3 - * on 2023/10/12 11:50 from the specification file + * on 2024/12/21 22:32 from the specification file * /home/junichi11/NetBeansProjects/netbeans/php/php.editor/tools/ASTPHP5Scanner.flex */ public class ASTPHP5Scanner implements Scanner { @@ -96,12 +96,12 @@ public class ASTPHP5Scanner implements Scanner { "\14\15\16\0\5\15\7\0\1\15\1\0\1\15\201\0\5\15\1\0"+ "\2\15\2\0\4\15\1\0\1\15\6\0\1\15\1\0\3\15\1\0"+ "\1\15\1\0\24\15\1\0\123\15\1\0\213\15\10\0\246\15\1\0"+ - "\46\15\2\0\1\15\7\0\47\15\110\0\33\15\5\0\3\15\55\0"+ + "\46\15\2\0\1\15\6\0\51\15\107\0\33\15\4\0\4\15\55\0"+ "\53\15\25\0\12\20\4\0\2\15\1\0\143\15\1\0\1\15\17\0"+ "\2\15\7\0\2\15\12\20\3\15\2\0\1\15\20\0\1\15\1\0"+ "\36\15\35\0\131\15\13\0\1\15\16\0\12\20\41\15\11\0\2\15"+ "\4\0\1\15\5\0\26\15\4\0\1\15\11\0\1\15\3\0\1\15"+ - "\27\0\31\15\7\0\13\15\65\0\25\15\1\0\10\15\106\0\66\15"+ + "\27\0\31\15\7\0\13\15\65\0\25\15\1\0\22\15\74\0\66\15"+ "\3\0\1\15\22\0\1\15\7\0\12\15\4\0\12\20\1\0\20\15"+ "\4\0\10\15\2\0\2\15\2\0\26\15\1\0\7\15\1\0\1\15"+ "\3\0\4\15\3\0\1\15\20\0\1\15\15\0\2\15\1\0\3\15"+ @@ -118,62 +118,61 @@ public class ASTPHP5Scanner implements Scanner { "\27\15\1\0\20\15\3\0\1\15\32\0\3\15\5\0\2\15\4\0"+ "\12\20\20\0\1\15\4\0\10\15\1\0\3\15\1\0\27\15\1\0"+ "\12\15\1\0\5\15\3\0\1\15\40\0\1\15\1\0\2\15\4\0"+ - "\12\20\1\0\2\15\22\0\10\15\1\0\3\15\1\0\51\15\2\0"+ + "\12\20\1\0\2\15\21\0\11\15\1\0\3\15\1\0\51\15\2\0"+ "\1\15\20\0\1\15\5\0\3\15\10\0\3\15\4\0\12\20\12\0"+ "\6\15\5\0\22\15\3\0\30\15\1\0\11\15\1\0\1\15\2\0"+ "\7\15\37\0\12\20\21\0\60\15\1\0\2\15\14\0\7\15\11\0"+ - "\12\20\47\0\2\15\1\0\1\15\2\0\2\15\1\0\1\15\2\0"+ - "\1\15\6\0\4\15\1\0\7\15\1\0\3\15\1\0\1\15\1\0"+ - "\1\15\2\0\2\15\1\0\4\15\1\0\2\15\11\0\1\15\2\0"+ - "\5\15\1\0\1\15\11\0\12\20\2\0\4\15\40\0\1\15\37\0"+ - "\12\20\26\0\10\15\1\0\44\15\33\0\5\15\163\0\53\15\24\0"+ - "\1\15\12\20\6\0\6\15\4\0\4\15\3\0\1\15\3\0\2\15"+ - "\7\0\3\15\4\0\15\15\14\0\1\15\1\0\12\20\6\0\46\15"+ - "\1\0\1\15\5\0\1\15\2\0\53\15\1\0\u014d\15\1\0\4\15"+ - "\2\0\7\15\1\0\1\15\1\0\4\15\2\0\51\15\1\0\4\15"+ - "\2\0\41\15\1\0\4\15\2\0\7\15\1\0\1\15\1\0\4\15"+ - "\2\0\17\15\1\0\71\15\1\0\4\15\2\0\103\15\45\0\20\15"+ - "\20\0\126\15\2\0\6\15\3\0\u026c\15\2\0\21\15\1\0\32\15"+ - "\5\0\113\15\6\0\10\15\7\0\15\15\1\0\4\15\16\0\22\15"+ - "\16\0\22\15\16\0\15\15\1\0\3\15\17\0\64\15\43\0\1\15"+ - "\4\0\1\15\3\0\12\20\46\0\12\20\6\0\130\15\10\0\5\15"+ - "\2\0\42\15\1\0\1\15\5\0\106\15\12\0\37\15\47\0\12\20"+ - "\36\15\2\0\5\15\13\0\54\15\4\0\32\15\6\0\12\20\46\0"+ - "\27\15\11\0\65\15\53\0\12\20\6\0\12\20\15\0\1\15\135\0"+ - "\57\15\21\0\7\15\4\0\12\20\51\0\36\15\15\0\2\15\12\20"+ - "\54\15\32\0\44\15\34\0\12\20\3\0\3\15\12\20\44\15\2\0"+ - "\11\15\140\0\4\15\1\0\4\15\3\0\2\15\11\0\300\15\100\0"+ - "\u0116\15\2\0\6\15\2\0\46\15\2\0\6\15\2\0\10\15\1\0"+ - "\1\15\1\0\1\15\1\0\1\15\1\0\37\15\2\0\65\15\1\0"+ - "\7\15\1\0\1\15\3\0\3\15\1\0\7\15\3\0\4\15\2\0"+ - "\6\15\4\0\15\15\5\0\3\15\1\0\7\15\164\0\1\15\15\0"+ - "\1\15\20\0\15\15\145\0\1\15\4\0\1\15\2\0\12\15\1\0"+ - "\1\15\3\0\5\15\6\0\1\15\1\0\1\15\1\0\1\15\1\0"+ - "\4\15\1\0\13\15\2\0\4\15\5\0\5\15\4\0\1\15\64\0"+ - "\2\15\u0a7b\0\57\15\1\0\57\15\1\0\205\15\6\0\4\15\3\0"+ - "\2\15\14\0\46\15\1\0\1\15\5\0\1\15\2\0\70\15\7\0"+ - "\1\15\20\0\27\15\11\0\7\15\1\0\7\15\1\0\7\15\1\0"+ - "\7\15\1\0\7\15\1\0\7\15\1\0\7\15\1\0\7\15\120\0"+ - "\1\15\u01d5\0\2\15\52\0\5\15\5\0\2\15\4\0\126\15\6\0"+ - "\3\15\1\0\132\15\1\0\4\15\5\0\52\15\2\0\136\15\21\0"+ - "\33\15\65\0\20\15\u0200\0\u19b6\15\112\0\u51f0\15\20\0\u048d\15\103\0"+ - "\56\15\2\0\u010d\15\3\0\20\15\12\20\2\15\24\0\57\15\20\0"+ - "\37\15\2\0\106\15\61\0\11\15\2\0\147\15\2\0\44\15\1\0"+ - "\10\15\77\0\13\15\1\0\3\15\1\0\4\15\1\0\27\15\35\0"+ - "\64\15\16\0\62\15\34\0\12\20\30\0\6\15\3\0\1\15\1\0"+ - "\1\15\2\0\12\20\34\15\12\0\27\15\31\0\35\15\7\0\57\15"+ - "\34\0\1\15\12\20\6\0\5\15\1\0\12\15\12\20\5\15\1\0"+ - "\51\15\27\0\3\15\1\0\10\15\4\0\12\20\6\0\27\15\3\0"+ - "\1\15\3\0\62\15\1\0\1\15\3\0\2\15\2\0\5\15\2\0"+ - "\1\15\1\0\1\15\30\0\3\15\2\0\13\15\7\0\3\15\14\0"+ - "\6\15\2\0\6\15\2\0\6\15\11\0\7\15\1\0\7\15\1\0"+ - "\53\15\1\0\12\15\12\0\163\15\15\0\12\20\6\0\u2ba4\15\14\0"+ - "\27\15\4\0\61\15\u2104\0\u016e\15\2\0\152\15\46\0\7\15\14\0"+ - "\5\15\5\0\1\15\1\0\12\15\1\0\15\15\1\0\5\15\1\0"+ - "\1\15\1\0\2\15\1\0\2\15\1\0\154\15\41\0\u016b\15\22\0"+ - "\100\15\2\0\66\15\50\0\14\15\164\0\5\15\1\0\207\15\23\0"+ - "\12\20\7\0\32\15\6\0\32\15\13\0\131\15\3\0\6\15\2\0"+ - "\6\15\2\0\6\15\2\0\3\15\43\0"; + "\12\20\47\0\2\15\1\0\1\15\1\0\5\15\1\0\30\15\1\0"+ + "\1\15\1\0\12\15\1\0\2\15\11\0\1\15\2\0\5\15\1\0"+ + "\1\15\11\0\12\20\2\0\4\15\40\0\1\15\37\0\12\20\26\0"+ + "\10\15\1\0\44\15\33\0\5\15\163\0\53\15\24\0\1\15\12\20"+ + "\6\0\6\15\4\0\4\15\3\0\1\15\3\0\2\15\7\0\3\15"+ + "\4\0\15\15\14\0\1\15\1\0\12\20\6\0\46\15\1\0\1\15"+ + "\5\0\1\15\2\0\53\15\1\0\u014d\15\1\0\4\15\2\0\7\15"+ + "\1\0\1\15\1\0\4\15\2\0\51\15\1\0\4\15\2\0\41\15"+ + "\1\0\4\15\2\0\7\15\1\0\1\15\1\0\4\15\2\0\17\15"+ + "\1\0\71\15\1\0\4\15\2\0\103\15\45\0\20\15\20\0\126\15"+ + "\2\0\6\15\3\0\u026c\15\2\0\21\15\1\0\32\15\5\0\113\15"+ + "\6\0\10\15\7\0\15\15\1\0\4\15\16\0\22\15\16\0\22\15"+ + "\16\0\15\15\1\0\3\15\17\0\64\15\43\0\1\15\4\0\1\15"+ + "\3\0\12\20\46\0\12\20\6\0\131\15\7\0\5\15\2\0\42\15"+ + "\1\0\1\15\5\0\106\15\12\0\37\15\47\0\12\20\36\15\2\0"+ + "\5\15\13\0\54\15\4\0\32\15\6\0\12\20\46\0\27\15\11\0"+ + "\65\15\53\0\12\20\6\0\12\20\15\0\1\15\135\0\57\15\21\0"+ + "\7\15\4\0\12\20\51\0\36\15\15\0\2\15\12\20\54\15\32\0"+ + "\44\15\34\0\12\20\3\0\3\15\12\20\44\15\2\0\11\15\7\0"+ + "\53\15\2\0\3\15\51\0\4\15\1\0\6\15\1\0\2\15\3\0"+ + "\1\15\5\0\300\15\100\0\u0116\15\2\0\6\15\2\0\46\15\2\0"+ + "\6\15\2\0\10\15\1\0\1\15\1\0\1\15\1\0\1\15\1\0"+ + "\37\15\2\0\65\15\1\0\7\15\1\0\1\15\3\0\3\15\1\0"+ + "\7\15\3\0\4\15\2\0\6\15\4\0\15\15\5\0\3\15\1\0"+ + "\7\15\164\0\1\15\15\0\1\15\20\0\15\15\145\0\1\15\4\0"+ + "\1\15\2\0\12\15\1\0\1\15\3\0\5\15\6\0\1\15\1\0"+ + "\1\15\1\0\1\15\1\0\4\15\1\0\13\15\2\0\4\15\5\0"+ + "\5\15\4\0\1\15\64\0\2\15\u0a7b\0\57\15\1\0\57\15\1\0"+ + "\205\15\6\0\4\15\3\0\2\15\14\0\46\15\1\0\1\15\5\0"+ + "\1\15\2\0\70\15\7\0\1\15\20\0\27\15\11\0\7\15\1\0"+ + "\7\15\1\0\7\15\1\0\7\15\1\0\7\15\1\0\7\15\1\0"+ + "\7\15\1\0\7\15\120\0\1\15\u01d5\0\2\15\52\0\5\15\5\0"+ + "\2\15\4\0\126\15\6\0\3\15\1\0\132\15\1\0\4\15\5\0"+ + "\53\15\1\0\136\15\21\0\40\15\60\0\20\15\u0200\0\u19c0\15\100\0"+ + "\u51fd\15\3\0\u048d\15\103\0\56\15\2\0\u010d\15\3\0\20\15\12\20"+ + "\2\15\24\0\57\15\20\0\37\15\2\0\106\15\61\0\11\15\2\0"+ + "\147\15\2\0\65\15\2\0\11\15\52\0\15\15\1\0\3\15\1\0"+ + "\4\15\1\0\27\15\35\0\64\15\16\0\62\15\34\0\12\20\30\0"+ + "\6\15\3\0\1\15\1\0\2\15\1\0\12\20\34\15\12\0\27\15"+ + "\31\0\35\15\7\0\57\15\34\0\1\15\12\20\6\0\5\15\1\0"+ + "\12\15\12\20\5\15\1\0\51\15\27\0\3\15\1\0\10\15\4\0"+ + "\12\20\6\0\27\15\3\0\1\15\3\0\62\15\1\0\1\15\3\0"+ + "\2\15\2\0\5\15\2\0\1\15\1\0\1\15\30\0\3\15\2\0"+ + "\13\15\7\0\3\15\14\0\6\15\2\0\6\15\2\0\6\15\11\0"+ + "\7\15\1\0\7\15\1\0\53\15\1\0\16\15\6\0\163\15\15\0"+ + "\12\20\6\0\u2ba4\15\14\0\27\15\4\0\61\15\u2104\0\u016e\15\2\0"+ + "\152\15\46\0\7\15\14\0\5\15\5\0\1\15\1\0\12\15\1\0"+ + "\15\15\1\0\5\15\1\0\1\15\1\0\2\15\1\0\2\15\1\0"+ + "\154\15\41\0\u016b\15\22\0\100\15\2\0\66\15\50\0\14\15\164\0"+ + "\5\15\1\0\207\15\23\0\12\20\7\0\32\15\6\0\32\15\13\0"+ + "\131\15\3\0\6\15\2\0\6\15\2\0\6\15\2\0\3\15\43\0"; /** * Translates characters to character classes @@ -1976,7 +1975,7 @@ public ASTPHP5Scanner(java.io.InputStream in) { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ - while (i < 1832) { + while (i < 1820) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); @@ -2937,11 +2936,6 @@ else if (zzAtEOF) { // yymore(); } case 343: break; - case 104: - { pushState(ST_LOOKING_FOR_VARNAME); - return createSymbol(ASTPHP5Symbols.T_DOLLAR_OPEN_CURLY_BRACES); - } - case 344: break; case 35: { /* This is a temporary fix which is dependant on flex and it's implementation */ if (!stack.isEmpty()) { @@ -2950,19 +2944,19 @@ else if (zzAtEOF) { bracket--; return createSymbol(ASTPHP5Symbols.T_CURLY_CLOSE); } - case 345: break; + case 344: break; case 140: { return createSymbol(ASTPHP5Symbols.T_NULLSAFE_OBJECT_OPERATOR); } - case 346: break; + case 345: break; case 95: { return createSymbol(ASTPHP5Symbols.T_MOD_EQUAL); } - case 347: break; + case 346: break; case 26: { return createSymbol(ASTPHP5Symbols.T_DIV); } - case 348: break; + case 347: break; case 108: { /* {TABS_AND_SPACES}{LABEL}";"?[^\n\r]*[\n\r]? */ int trailingNewLineLength = 1; @@ -2985,23 +2979,23 @@ else if (zzAtEOF) { yybegin(ST_HEREDOC); } } - case 349: break; + case 348: break; case 32: { return createSymbol(ASTPHP5Symbols.T_CLOSE_RECT); } - case 350: break; + case 349: break; case 133: { return createSymbol(ASTPHP5Symbols.T_SPACESHIP); } - case 351: break; + case 350: break; case 6: { return createSymbol(ASTPHP5Symbols.T_PLUS); } - case 352: break; + case 351: break; case 160: { return createFullSymbol(ASTPHP5Symbols.T_CLASS); } - case 353: break; + case 352: break; case 109: { /* {NEWLINE}+{TABS_AND_SPACES}{LABEL}";"?[^\n\r]*[\r\n]? */ if (isEndHereOrNowdoc(nowdoc)) { @@ -3026,29 +3020,29 @@ else if (zzAtEOF) { updateNowdocBodyInfo(); } } - case 354: break; + case 353: break; case 125: { return createFullSymbol(ASTPHP5Symbols.T_FOR); } - case 355: break; + case 354: break; case 168: { yypushback(3); pushState(ST_LOOKING_FOR_PROPERTY); return createFullSymbol(ASTPHP5Symbols.T_VARIABLE); } - case 356: break; + case 355: break; case 83: { return createSymbol(ASTPHP5Symbols.T_IS_GREATER_OR_EQUAL); } - case 357: break; + case 356: break; case 77: { return createFullSymbol(ASTPHP5Symbols.T_DO); } - case 358: break; + case 357: break; case 99: { return createSymbol(ASTPHP5Symbols.T_BOOLEAN_AND); } - case 359: break; + case 358: break; case 40: { /* {HEREDOC_CHARS} */ int indexOfNewline = yytext().indexOf("\r"); @@ -3061,41 +3055,41 @@ else if (zzAtEOF) { } updateHeredocBodyInfo(); } - case 360: break; + case 359: break; case 4: { return createFullSymbol(ASTPHP5Symbols.T_STRING); } - case 361: break; + case 360: break; case 183: { return createFullSymbol(ASTPHP5Symbols.T_INCLUDE); } - case 362: break; + case 361: break; case 5: { return createSymbol(ASTPHP5Symbols.T_NEKUDA); } - case 363: break; + case 362: break; case 149: { return createFullSymbol(ASTPHP5Symbols.T_ENDIF); } - case 364: break; + case 363: break; case 126: { return createFullSymbol(ASTPHP5Symbols.T_NEW); } - case 365: break; + case 364: break; case 58: { bracket--; return createSymbol(ASTPHP5Symbols.T_CURLY_CLOSE); } - case 366: break; + case 365: break; case 213: { return createFullSymbol(ASTPHP5Symbols.T_INSTANCEOF); } - case 367: break; + case 366: break; case 49: { yypushback(yylength()); popState(); pushState(ST_IN_SCRIPTING); } - case 368: break; + case 367: break; case 169: { isEndedPhp = false; whitespaceEndPosition = getTokenStartPosition() + yylength(); @@ -3103,20 +3097,26 @@ else if (zzAtEOF) { //return T_OPEN_TAG; //return createSymbol(ASTPHP5Symbols.T_OPEN_TAG); } - case 369: break; + case 368: break; case 68: { return createSymbol(ASTPHP5Symbols.T_PLUS_EQUAL); } - case 370: break; + case 369: break; case 78: { // PHP 7.4 Arrow Functions 2.0 // https://wiki.php.net/rfc/arrow_functions_v2 return createFullSymbol(ASTPHP5Symbols.T_FN); } - case 371: break; + case 370: break; case 8: { whitespaceEndPosition = getTokenStartPosition() + yylength(); } + case 371: break; + case 104: + { pushState(ST_LOOKING_FOR_VARNAME); + bracket++; + return createSymbol(ASTPHP5Symbols.T_DOLLAR_OPEN_CURLY_BRACES); + } case 372: break; case 189: { return createFullSymbol(ASTPHP5Symbols.T_PRIVATE); diff --git a/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP83UnhandledError.java b/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP83UnhandledError.java index 3dde38df5523..8048504a9919 100644 --- a/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP83UnhandledError.java +++ b/php/php.editor/src/org/netbeans/modules/php/editor/verification/PHP83UnhandledError.java @@ -27,10 +27,31 @@ import org.netbeans.modules.csl.spi.support.CancelSupport; import org.netbeans.modules.php.api.PhpVersion; import org.netbeans.modules.php.editor.CodeUtils; +import org.netbeans.modules.php.editor.model.impl.Type; import org.netbeans.modules.php.editor.parser.PHPParseResult; import org.netbeans.modules.php.editor.parser.astnodes.ASTNode; +import org.netbeans.modules.php.editor.parser.astnodes.ArrayCreation; +import org.netbeans.modules.php.editor.parser.astnodes.ArrayDimension; +import org.netbeans.modules.php.editor.parser.astnodes.ArrayElement; +import org.netbeans.modules.php.editor.parser.astnodes.Assignment; +import org.netbeans.modules.php.editor.parser.astnodes.ClassInstanceCreation; +import org.netbeans.modules.php.editor.parser.astnodes.ClassName; +import org.netbeans.modules.php.editor.parser.astnodes.ConditionalExpression; import org.netbeans.modules.php.editor.parser.astnodes.ConstantDeclaration; +import org.netbeans.modules.php.editor.parser.astnodes.ConstantVariable; +import org.netbeans.modules.php.editor.parser.astnodes.Expression; +import org.netbeans.modules.php.editor.parser.astnodes.ExpressionArrayAccess; +import org.netbeans.modules.php.editor.parser.astnodes.FieldAccess; +import org.netbeans.modules.php.editor.parser.astnodes.Identifier; +import org.netbeans.modules.php.editor.parser.astnodes.InfixExpression; +import org.netbeans.modules.php.editor.parser.astnodes.NamespaceName; +import org.netbeans.modules.php.editor.parser.astnodes.ParenthesisExpression; +import org.netbeans.modules.php.editor.parser.astnodes.Quote; +import org.netbeans.modules.php.editor.parser.astnodes.Scalar; import org.netbeans.modules.php.editor.parser.astnodes.StaticConstantAccess; +import org.netbeans.modules.php.editor.parser.astnodes.StaticStatement; +import org.netbeans.modules.php.editor.parser.astnodes.UnaryOperation; +import org.netbeans.modules.php.editor.parser.astnodes.VariableBase; import org.netbeans.modules.php.editor.parser.astnodes.visitors.DefaultVisitor; import org.openide.filesystems.FileObject; import org.openide.util.NbBundle; @@ -105,6 +126,146 @@ public void visit(ConstantDeclaration node) { super.visit(node); } + @Override + public void visit(StaticStatement node) { + if (CancelSupport.getDefault().isCancelled()) { + return; + } + // static $example = 1, $example2 = $variable; + for (Expression expression : node.getExpressions()) { + if (CancelSupport.getDefault().isCancelled()) { + return; + } + if (expression instanceof Assignment) { + Assignment assignment = (Assignment) expression; + Expression rightHandSide = assignment.getRightHandSide(); + if (!isStaticScalarValueExpression(rightHandSide)) { + createError(node); + break; + } + } + } + super.visit(node); + } + + private boolean isStaticScalarValueExpression(Expression expression) { + if (expression != null + && !isStaticScalarValue(expression) + && !isStaticOperation(expression)) { + return false; + } + if (isStaticOperation(expression)) { + if (expression instanceof InfixExpression) { + InfixExpression infixExpression = (InfixExpression) expression; + if (!isStaticScalarValueExpression(infixExpression.getLeft()) + || !isStaticScalarValueExpression(infixExpression.getRight())) { + // e.g. $a + 1; example() * 3; "string" . $string; + return false; + } + } else if (expression instanceof UnaryOperation) { + UnaryOperation unaryOperation = (UnaryOperation) expression; + if (!isStaticScalarValueExpression(unaryOperation.getExpression())) { + // e.g. !$variable; + return false; + } + } else if (expression instanceof ConditionalExpression) { + ConditionalExpression conditionalExpression = (ConditionalExpression) expression; + if (!isStaticScalarValueExpression(conditionalExpression.getIfTrue()) + || !isStaticScalarValueExpression(conditionalExpression.getIfFalse()) + || !isStaticScalarValueExpression(conditionalExpression.getCondition())) { + // e.g. $a > 0 ? $a : -$a; + return false; + } + } else if (expression instanceof ArrayCreation) { + ArrayCreation arrayCreation = (ArrayCreation) expression; + List elements = arrayCreation.getElements(); + for (ArrayElement element : elements) { + if (!isStaticScalarValueExpression(element.getKey()) + || !isStaticScalarValueExpression(element.getValue())) { + // e.g. ["a" => $variable]; + return false; + } + } + } else if (expression instanceof ExpressionArrayAccess) { + // e.g. CONSTANT[1]; "string"[2]; [1, 2, 3][0]; + // CONSTANT[1][2]; MyClass::CONSTANT[1]; \Foo\CONSTANT[0]; namespace\CONSTANT[0]; + ExpressionArrayAccess expressionArrayAccess = (ExpressionArrayAccess) expression; + Expression expr = expressionArrayAccess.getExpression(); + ArrayDimension dimension = expressionArrayAccess.getDimension(); + if ((!(expr instanceof Identifier) && !isStaticScalarValueExpression(expr)) // C[1] + || !isStaticScalarValueExpression(dimension.getIndex())) { + return false; + } + } + } else if (isNewExpression(expression)) { + ClassInstanceCreation classInstanceCreation = (ClassInstanceCreation) expression; + ClassName className = classInstanceCreation.getClassName(); + if (Type.STATIC.equals(CodeUtils.extractClassName(className)) + || !isStaticScalarValueExpression(className.getName()) + || (className.getName() instanceof ParenthesisExpression)) { + // e.g. new static; new (Example); new $variable; + return false; + } + for (Expression param : classInstanceCreation.ctorParams()) { + if (!isStaticScalarValueExpression(param)) { + // e.g. new stdClass($variable); + return false; + } + } + } else if (expression instanceof FieldAccess) { + FieldAccess fieldAccess = (FieldAccess) expression; + VariableBase dispatcher = fieldAccess.getDispatcher(); + // e.g. + // OK: C->name; E::Case1->name; + if (!(dispatcher instanceof ConstantVariable) + && !(dispatcher instanceof StaticConstantAccess)) { + // NG: $this->field; + return false; + } + } else if (expression instanceof StaticConstantAccess) { + StaticConstantAccess staticConstantAccess = (StaticConstantAccess) expression; + Expression constant = staticConstantAccess.getConstant(); + if (!(constant instanceof Identifier) && !isStaticScalarValueExpression(constant)) { + // e.g. Example::CONSTANT[$index]; + return false; + } + } else if (expression instanceof Quote) { + Quote quote = (Quote) expression; + for (Expression expr : quote.getExpressions()) { + if (!isStaticScalarValueExpression(expr)) { + // e.g. + // static $example = << + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/php/php.editor/test/unit/data/testfiles/sanitize/arbitraryStaticVariableInitializers01.php b/php/php.editor/test/unit/data/testfiles/sanitize/arbitraryStaticVariableInitializers01.php new file mode 100644 index 000000000000..a02e9c94ab9d --- /dev/null +++ b/php/php.editor/test/unit/data/testfiles/sanitize/arbitraryStaticVariableInitializers01.php @@ -0,0 +1,25 @@ +quote()}'"; + } +} diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/SanitizeCurlyTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/SanitizeCurlyTest.java index 3b7bad422787..128562cbbbdf 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/SanitizeCurlyTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/SanitizeCurlyTest.java @@ -19,8 +19,10 @@ package org.netbeans.modules.php.editor.parser; +import java.io.StringReader; import org.netbeans.editor.BaseDocument; import org.netbeans.modules.parsing.api.Source; +import org.netbeans.modules.php.api.util.FileUtils; import org.netbeans.modules.php.editor.PHPTestBase; import org.netbeans.modules.php.editor.parser.GSFPHPParser.Context; @@ -232,14 +234,31 @@ public void testCurly08() throws Exception { execute(orig, expected, 0); } + public void testCurlyBalance01() throws Exception { + String source = "" + + "quote()}'\";\n" + + " }\n" + + "}"; + checkCurlyBalance(source, 0); + } + private void execute(String original, String expected, int expectedDelta) throws Exception { int originalLength = original.length(); GSFPHPParser parser = new GSFPHPParser(); - BaseDocument doc = new BaseDocument(true, "text/x-php5"); + BaseDocument doc = new BaseDocument(true, FileUtils.PHP_MIME_TYPE); doc.insertString(0, original, null); Context context = new GSFPHPParser.Context(Source.create(doc).createSnapshot() , -1); parser.sanitizeCurly(context); assertEquals(expected, context.getSanitizedSource()); assertEquals(originalLength+expectedDelta, context.getSanitizedSource().length()); } + + private void checkCurlyBalance(String source, int expectedBalance) throws Exception { + ASTPHP5Scanner scanner = new ASTPHP5Scanner(new StringReader(source), false, false); + assertEquals(expectedBalance, scanner.getCurlyBalance()); + } } diff --git a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/SanitizeSourceTest.java b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/SanitizeSourceTest.java index 06127758b34b..ad6aeb47e653 100644 --- a/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/SanitizeSourceTest.java +++ b/php/php.editor/test/unit/src/org/netbeans/modules/php/editor/parser/SanitizeSourceTest.java @@ -255,6 +255,10 @@ public void testConstructorPropertyPromotionParameter01() throws Exception { performTest("sanitize/constructorPropertyPromotionParameter01"); } + public void testArbitraryStaticVariableInitializers01() throws Exception { + performTest("sanitize/arbitraryStaticVariableInitializers01"); + } + protected String getTestResult(String filename) throws Exception { return getTestResult(filename, null); } diff --git a/php/php.editor/tools/ASTPHP5Scanner.flex b/php/php.editor/tools/ASTPHP5Scanner.flex index 3d128d1d0c59..4ce0b9ea3dac 100644 --- a/php/php.editor/tools/ASTPHP5Scanner.flex +++ b/php/php.editor/tools/ASTPHP5Scanner.flex @@ -970,6 +970,7 @@ NOWDOC_CHARS=({NEWLINE}*(([^a-zA-Z_\x7f-\xff\n\r][^\n\r]*)|({LABEL}[^a-zA-Z0-9_\ "${" { pushState(ST_LOOKING_FOR_VARNAME); + bracket++; return createSymbol(ASTPHP5Symbols.T_DOLLAR_OPEN_CURLY_BRACES); } From 5f9a61d02dc054e4359ef083258faab91818d00a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Fri, 27 Dec 2024 20:34:06 +0100 Subject: [PATCH 93/94] Improve handling of OccurencesFinder implementations that violate non-null contract --- .../csl/editor/semantic/MarkOccurrencesHighlighter.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.java b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.java index a4da4578f18f..dd9854400374 100644 --- a/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.java +++ b/ide/csl.api/src/org/netbeans/modules/csl/editor/semantic/MarkOccurrencesHighlighter.java @@ -146,6 +146,14 @@ List processImpl(ParserResult info, Document doc, int caretPosition Map highlights = finder.getOccurrences(); + // Many implementatios of the OccurencesFinder don't follow the contract, + // that getOccurrences must not return null. Instead of blowing up with + // a NullPointer exception, log that problem and continue execution. + if (highlights == null) { + LOG.log(Level.WARNING, "org.netbeans.modules.csl.api.OccurrencesFinder.getOccurrences() non-null contract violation by {0}", language.getMimeType()); + highlights = Map.of(); + } + return List.copyOf(highlights.keySet()); } From 294f4afca1fd55563d1d022b4fd3d36a02f58098 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= Date: Fri, 27 Dec 2024 20:34:49 +0100 Subject: [PATCH 94/94] GroovyOccurrencesFinder#getOccurrences must not return null --- .../nbproject/project.properties | 2 +- .../api/parser/GroovyOccurrencesFinder.java | 22 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/groovy/groovy.editor/nbproject/project.properties b/groovy/groovy.editor/nbproject/project.properties index c0dc7d0d23ae..fab102853c1c 100644 --- a/groovy/groovy.editor/nbproject/project.properties +++ b/groovy/groovy.editor/nbproject/project.properties @@ -15,7 +15,7 @@ # specific language governing permissions and limitations # under the License. javac.compilerargs=-Xlint -Xlint:-serial -javac.source=1.8 +javac.release=17 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/groovy/groovy.editor/src/org/netbeans/modules/groovy/editor/api/parser/GroovyOccurrencesFinder.java b/groovy/groovy.editor/src/org/netbeans/modules/groovy/editor/api/parser/GroovyOccurrencesFinder.java index 1a4c65274434..86c84a8ba506 100644 --- a/groovy/groovy.editor/src/org/netbeans/modules/groovy/editor/api/parser/GroovyOccurrencesFinder.java +++ b/groovy/groovy.editor/src/org/netbeans/modules/groovy/editor/api/parser/GroovyOccurrencesFinder.java @@ -18,6 +18,7 @@ */ package org.netbeans.modules.groovy.editor.api.parser; +import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; @@ -41,7 +42,7 @@ /** * The (call-)proctocol for OccurrencesFinder is always: * - * 1.) setCaretPosition() = + * 1.) setCaretPosition() = NUMBER * 2.) run() * 3.) getOccurrences() * @@ -52,7 +53,7 @@ public class GroovyOccurrencesFinder extends OccurrencesFinder occurrences; + private Map occurrences = Map.of(); private FileObject file; private static final Logger LOG = Logger.getLogger(GroovyOccurrencesFinder.class.getName()); @@ -61,6 +62,7 @@ public GroovyOccurrencesFinder() { } @Override + @SuppressWarnings("ReturnOfCollectionOrArrayField") // immutable collection public Map getOccurrences() { LOG.log(Level.FINEST, "getOccurrences()\n"); //NOI18N return occurrences; @@ -102,7 +104,7 @@ public void run(GroovyParserResult result, SchedulerEvent event) { // FIXME parsing API - null file if (currentFile != file) { // Ensure that we don't reuse results from a different file - occurrences = null; + occurrences = Map.of(); file = currentFile; } @@ -130,15 +132,15 @@ public void run(GroovyParserResult result, SchedulerEvent event) { return; } - Map highlights = new HashMap(100); + Map highlights = new HashMap<>(100); highlight(path, highlights, document, caretPosition); if (isCancelled()) { return; } - if (highlights.size() > 0) { - Map translated = new HashMap(2 * highlights.size()); + if (!highlights.isEmpty()) { + Map translated = new HashMap<>(2 * highlights.size()); for (Map.Entry entry : highlights.entrySet()) { OffsetRange range = LexUtilities.getLexerOffsets(result, entry.getKey()); if (range != OffsetRange.NONE) { @@ -146,9 +148,9 @@ public void run(GroovyParserResult result, SchedulerEvent event) { } } highlights = translated; - this.occurrences = highlights; + this.occurrences = Collections.unmodifiableMap(highlights); } else { - this.occurrences = null; + this.occurrences = Map.of(); } } @@ -171,9 +173,9 @@ private static void highlight(AstPath path, Map scopeVisitor.collect(); for (ASTNode astNode : scopeVisitor.getOccurrences()) { OffsetRange range; - if (astNode instanceof FakeASTNode) { + if (astNode instanceof FakeASTNode fakeASTNode) { String text = astNode.getText(); - ASTNode orig = ((FakeASTNode) astNode).getOriginalNode(); + ASTNode orig = fakeASTNode.getOriginalNode(); int line = orig.getLineNumber(); int column = orig.getColumnNumber(); if (line > 0 && column > 0) {