OpenJDK / portola / portola
changeset 9553:b2100082c709
Merge
author | jgodinez |
---|---|
date | Mon, 09 May 2011 12:32:40 -0700 |
parents | b8ccb6a8a5d3 2d4eeef2bea2 |
children | cb4ace4a066b 2eefe6abc8ef |
files | jdk/test/java/beans/XMLEncoder/java_io_File.java |
diffstat | 325 files changed, 12661 insertions(+), 2843 deletions(-) [+] |
line wrap: on
line diff
--- a/jdk/make/docs/Makefile Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/docs/Makefile Mon May 09 12:32:40 2011 -0700 @@ -51,6 +51,7 @@ DEV_DOCS_URL-6 = http://download.oracle.com/javase/6/docs/index.html DEV_DOCS_URL-7 = http://download.oracle.com/javase/7/docs/index.html DEV_DOCS_URL = $(DEV_DOCS_URL-$(JDK_MINOR_VERSION)) +DOCS_BASE_URL = http://download.oracle.com/javase/7/docs # Url to Java Language Spec #JLS3_URL = http://java.sun.com/docs/books/jls/ @@ -205,7 +206,13 @@ -use \ -keywords \ $(ADDITIONAL_JAVADOCFLAGS) -ADDITIONAL_JAVADOCFLAGS = + +ifdef OPENJDK + ADDITIONAL_JAVADOCFLAGS = \ + -Xdocrootparent $(DOCS_BASE_URL) +else + ADDITIONAL_JAVADOCFLAGS = +endif # Draft used for non-fcs documents JDK_IS_FCS = false @@ -1144,56 +1151,6 @@ ############################################################# # -# tracingdocs -# - -ALL_OTHER_TARGETS += tracingdocs - -TRACING_DOCDIR := $(JRE_API_DOCSDIR)/tracing -TRACING2COREAPI := ../$(JDKJRE2COREAPI) -TRACING_DOCTITLE := Java$(TRADEMARK) Platform Tracing -TRACING_WINDOWTITLE := Platform Tracing -TRACING_HEADER := <strong>Platform Tracing</strong> -TRACING_BOTTOM := $(call CommonBottom,$(TRACING_FIRST_COPYRIGHT_YEAR)) -# TRACING_PKGS is located in NON_CORE_PKGS.gmk - -TRACING_INDEX_HTML = $(TRACING_DOCDIR)/index.html -TRACING_OPTIONS_FILE = $(DOCSTMPDIR)/tracing.options -TRACING_PACKAGES_FILE = $(DOCSTMPDIR)/tracing.packages - -tracingdocs: $(TRACING_INDEX_HTML) - -# Set relative location to core api document root -$(TRACING_INDEX_HTML): GET2DOCSDIR=$(TRACING2COREAPI)/.. - -# Run javadoc if the index file is out of date or missing -$(TRACING_INDEX_HTML): $(TRACING_OPTIONS_FILE) $(TRACING_PACKAGES_FILE) - $(prep-javadoc) - $(call JavadocSummary,$(TRACING_OPTIONS_FILE),$(TRACING_PACKAGES_FILE)) - $(JAVADOC_CMD) $(JAVADOC_VM_MEMORY_FLAGS) -d $(@D) \ - @$(TRACING_OPTIONS_FILE) @$(TRACING_PACKAGES_FILE) - -# Create file with javadoc options in it -$(TRACING_OPTIONS_FILE): - $(prep-target) - @($(call OptionOnly,$(COMMON_JAVADOCFLAGS)) ; \ - $(call OptionPair,-sourcepath,$(RELEASEDOCS_SOURCEPATH)) ; \ - $(call OptionPair,-encoding,ascii) ; \ - $(call OptionOnly,-nodeprecatedlist) ; \ - $(call OptionPair,-doctitle,$(TRACING_DOCTITLE)) ; \ - $(call OptionPair,-windowtitle,$(TRACING_WINDOWTITLE) $(DRAFT_WINTITLE));\ - $(call OptionPair,-header,$(TRACING_HEADER)$(DRAFT_HEADER)) ; \ - $(call OptionPair,-bottom,$(TRACING_BOTTOM)$(DRAFT_BOTTOM)) ; \ - $(call OptionTrip,-linkoffline,$(TRACING2COREAPI),$(COREAPI_DOCSDIR)/); \ - ) >> $@ - -# Create a file with the package names in it -$(TRACING_PACKAGES_FILE): $(DIRECTORY_CACHE) $(call PackageDependencies,$(TRACING_PKGS)) - $(prep-target) - $(call PackageFilter,$(TRACING_PKGS)) - -############################################################# -# # Get a cache of all the directories $(DIRECTORY_CACHE): $(ALL_EXISTING_SOURCE_DIRS)
--- a/jdk/make/docs/NON_CORE_PKGS.gmk Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/docs/NON_CORE_PKGS.gmk Mon May 09 12:32:40 2011 -0700 @@ -88,9 +88,6 @@ SCTPAPI_PKGS = com.sun.nio.sctp -TRACING_PKGS = com.sun.tracing \ - com.sun.tracing.dtrace - # non-core packages in rt.jar NON_CORE_PKGS = $(DOMAPI_PKGS) \ $(MGMT_PKGS) \ @@ -100,6 +97,5 @@ $(OLD_JSSE_PKGS) \ $(HTTPSERVER_PKGS) \ $(SMARTCARDIO_PKGS) \ - $(TRACING_PKGS) \ $(SCTPAPI_PKGS)
--- a/jdk/make/java/java/FILES_java.gmk Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/java/java/FILES_java.gmk Mon May 09 12:32:40 2011 -0700 @@ -356,6 +356,7 @@ java/util/regex/Matcher.java \ java/util/regex/MatchResult.java \ java/util/regex/ASCII.java \ + java/util/regex/UnicodeProp.java \ java/util/regex/PatternSyntaxException.java \ java/util/prefs/Preferences.java \ java/util/prefs/AbstractPreferences.java \
--- a/jdk/make/java/java/Makefile Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/java/java/Makefile Mon May 09 12:32:40 2011 -0700 @@ -345,30 +345,35 @@ -template $(CHARACTERDATA)/CharacterDataLatin1.java.template \ -spec $(UNICODEDATA)/UnicodeData.txt \ -specialcasing $(UNICODEDATA)/SpecialCasing.txt \ + -proplist $(UNICODEDATA)/PropList.txt \ -o $(GENSRCDIR)/java/lang/CharacterDataLatin1.java -string \ -usecharforbyte -latin1 8 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) -plane 0 \ -template $(CHARACTERDATA)/CharacterData00.java.template \ -spec $(UNICODEDATA)/UnicodeData.txt \ -specialcasing $(UNICODEDATA)/SpecialCasing.txt \ + -proplist $(UNICODEDATA)/PropList.txt \ -o $(GENSRCDIR)/java/lang/CharacterData00.java -string \ -usecharforbyte 11 4 1 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) -plane 1 \ -template $(CHARACTERDATA)/CharacterData01.java.template \ -spec $(UNICODEDATA)/UnicodeData.txt \ -specialcasing $(UNICODEDATA)/SpecialCasing.txt \ + -proplist $(UNICODEDATA)/PropList.txt \ -o $(GENSRCDIR)/java/lang/CharacterData01.java -string \ -usecharforbyte 11 4 1 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) -plane 2 \ -template $(CHARACTERDATA)/CharacterData02.java.template \ -spec $(UNICODEDATA)/UnicodeData.txt \ -specialcasing $(UNICODEDATA)/SpecialCasing.txt \ + -proplist $(UNICODEDATA)/PropList.txt \ -o $(GENSRCDIR)/java/lang/CharacterData02.java -string \ -usecharforbyte 11 4 1 $(BOOT_JAVA_CMD) -jar $(GENERATECHARACTER_JARFILE) -plane 14 \ -template $(CHARACTERDATA)/CharacterData0E.java.template \ -spec $(UNICODEDATA)/UnicodeData.txt \ -specialcasing $(UNICODEDATA)/SpecialCasing.txt \ + -proplist $(UNICODEDATA)/PropList.txt \ -o $(GENSRCDIR)/java/lang/CharacterData0E.java -string \ -usecharforbyte 11 4 1
--- a/jdk/make/java/nio/FILES_java.gmk Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/java/nio/FILES_java.gmk Mon May 09 12:32:40 2011 -0700 @@ -71,6 +71,7 @@ java/nio/charset/CoderMalfunctionError.java \ java/nio/charset/CodingErrorAction.java \ java/nio/charset/MalformedInputException.java \ + java/nio/charset/StandardCharset.java \ java/nio/charset/UnmappableCharacterException.java \ \ java/nio/charset/spi/CharsetProvider.java \
--- a/jdk/make/java/nio/mapfile-linux Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/java/nio/mapfile-linux Mon May 09 12:32:40 2011 -0700 @@ -44,7 +44,6 @@ Java_sun_nio_ch_EPollArrayWrapper_interrupt; Java_sun_nio_ch_EPollArrayWrapper_offsetofData; Java_sun_nio_ch_EPollArrayWrapper_sizeofEPollEvent; - Java_sun_nio_ch_EPoll_init; Java_sun_nio_ch_EPoll_eventSize; Java_sun_nio_ch_EPoll_eventsOffset; Java_sun_nio_ch_EPoll_dataOffset; @@ -129,7 +128,6 @@ Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio; Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs; Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGnomeVfs; - Java_sun_nio_fs_LinuxWatchService_init; Java_sun_nio_fs_LinuxWatchService_eventSize; Java_sun_nio_fs_LinuxWatchService_eventOffsets; Java_sun_nio_fs_LinuxWatchService_inotifyInit;
--- a/jdk/make/java/security/Makefile Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/java/security/Makefile Mon May 09 12:32:40 2011 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 1996, 2011 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -44,11 +44,9 @@ else # PLATFORM -# Register Microsoft CryptoAPI provider only on (non-64-bit) Windows platform. +# Register Microsoft CryptoAPI provider only on Windows platform. ifeq ($(PLATFORM), windows) - ifneq ($(ARCH_DATA_MODEL), 64) - PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security-windows - endif + PROPS_SRC = $(TOPDIR)/src/share/lib/security/java.security-windows endif endif # PLATFORM
--- a/jdk/make/jpda/jdwp/jdwp.spec Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/jpda/jdwp/jdwp.spec Mon May 09 12:32:40 2011 -0700 @@ -2190,7 +2190,8 @@ (Out (byte eventKind "Event kind to request. " "See <a href=\"#JDWP_EventKind\">JDWP.EventKind</a> " - "for a complete list of events that can be requested. " + "for a complete list of events that can be requested; " + "some events may require a capability in order to be requested. " ) (byte suspendPolicy "What threads are suspended when this event occurs? " @@ -2732,6 +2733,8 @@ (Alt MonitorContendedEnter=JDWP.EventKind.MONITOR_CONTENDED_ENTER "Notification that a thread in the target VM is attempting " "to enter a monitor that is already acquired by another thread. " + "Requires canRequestMonitorEvents capability - see " + "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. " "<p>Since JDWP version 1.6. " (int requestID @@ -2743,6 +2746,8 @@ (Alt MonitorContendedEntered=JDWP.EventKind.MONITOR_CONTENDED_ENTERED "Notification of a thread in the target VM is entering a monitor " "after waiting for it to be released by another thread. " + "Requires canRequestMonitorEvents capability - see " + "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. " "<p>Since JDWP version 1.6. " (int requestID @@ -2753,6 +2758,8 @@ ) (Alt MonitorWait=JDWP.EventKind.MONITOR_WAIT "Notification of a thread about to wait on a monitor object. " + "Requires canRequestMonitorEvents capability - see " + "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. " "<p>Since JDWP version 1.6. " (int requestID @@ -2764,6 +2771,8 @@ ) (Alt MonitorWaited=JDWP.EventKind.MONITOR_WAITED "Notification that a thread in the target VM has finished waiting on " + "Requires canRequestMonitorEvents capability - see " + "<a href=\"#JDWP_VirtualMachine_CapabilitiesNew\">CapabilitiesNew</a>. " "a monitor object. " "<p>Since JDWP version 1.6. " @@ -3050,9 +3059,9 @@ (Constant METHOD_EXIT =41 ) (Constant METHOD_EXIT_WITH_RETURN_VALUE =42 ) (Constant MONITOR_CONTENDED_ENTER =43 ) - (Constant MONITOR_CONTENDED_ENTERED =44 ) - (Constant MONITOR_WAIT =45 ) - (Constant MONITOR_WAITED =46 ) + (Constant MONITOR_CONTENDED_ENTERED =44 ) + (Constant MONITOR_WAIT =45 ) + (Constant MONITOR_WAITED =46 ) (Constant VM_START =90 ) (Constant VM_INIT =90 "obsolete - was used in jvmdi") (Constant VM_DEATH =99 )
--- a/jdk/make/sun/javazic/tzdata/VERSION Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/sun/javazic/tzdata/VERSION Mon May 09 12:32:40 2011 -0700 @@ -21,4 +21,4 @@ # or visit www.oracle.com if you need additional information or have any # questions. # -tzdata2011e +tzdata2011g
--- a/jdk/make/sun/javazic/tzdata/africa Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/sun/javazic/tzdata/africa Mon May 09 12:32:40 2011 -0700 @@ -234,7 +234,21 @@ Rule Egypt 1990 1994 - May 1 1:00 1:00 S # IATA (after 1990) says transitions are at 0:00. # Go with IATA starting in 1995, except correct 1995 entry from 09-30 to 09-29. -Rule Egypt 1995 max - Apr lastFri 0:00s 1:00 S + +# From Alexander Krivenyshev (2011-04-20): +# "...Egypt's interim cabinet decided on Wednesday to cancel daylight +# saving time after a poll posted on its website showed the majority of +# Egyptians would approve the cancellation." +# +# Egypt to cancel daylight saving time +# <a href="http://www.almasryalyoum.com/en/node/407168"> +# http://www.almasryalyoum.com/en/node/407168 +# </a> +# or +# <a href="http://www.worldtimezone.com/dst_news/dst_news_egypt04.html"> +# http://www.worldtimezone.com/dst_news/dst_news_egypt04.html +# </a> +Rule Egypt 1995 2010 - Apr lastFri 0:00s 1:00 S Rule Egypt 1995 2005 - Sep lastThu 23:00s 0 - # From Steffen Thorsen (2006-09-19): # The Egyptian Gazette, issue 41,090 (2006-09-18), page 1, reports: @@ -335,7 +349,7 @@ Rule Egypt 2009 only - Aug 20 23:00s 0 - Rule Egypt 2010 only - Aug 11 0:00 0 - Rule Egypt 2010 only - Sep 10 0:00 1:00 S -Rule Egypt 2010 max - Sep lastThu 23:00s 0 - +Rule Egypt 2010 only - Sep lastThu 23:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Cairo 2:05:00 - LMT 1900 Oct
--- a/jdk/make/sun/javazic/tzdata/europe Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/sun/javazic/tzdata/europe Mon May 09 12:32:40 2011 -0700 @@ -168,7 +168,7 @@ # A monument to Willett was unveiled on 1927-05-21, in an open space in # a 45-acre wood near Chislehurst, Kent that was purchased by popular # subscription and open to the public. On the south face of the monolith, -# designed by G. W. Miller, is the the William Willett Memorial Sundial, +# designed by G. W. Miller, is the...William Willett Memorial Sundial, # which is permanently set to Summer Time. # From Winston Churchill (1934-04-28): @@ -1808,7 +1808,7 @@ # # All these events predate our cutoff date of 1970. Unless we can # come up with more definitive info about the timekeeping during the -# war years it's probably best just do do the following for now: +# war years it's probably best just do...the following for now: Link Europe/Oslo Arctic/Longyearbyen # Poland
--- a/jdk/make/sun/javazic/tzdata/southamerica Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/sun/javazic/tzdata/southamerica Mon May 09 12:32:40 2011 -0700 @@ -767,7 +767,7 @@ # # As a result of the above Decree I believe the America/Rio_Branco # timezone shall be modified from UTC-5 to UTC-4 and a new timezone shall -# be created to represent the the west side of the Para State. I +# be created to represent the...west side of the Para State. I # suggest this new timezone be called Santarem as the most # important/populated city in the affected area. # @@ -1365,6 +1365,24 @@ # For now, we'll just record the time in Stanley, since we have no # better info. +# From Steffen Thorsen (2011-04-01): +# The Falkland Islands will not turn back clocks this winter, but stay on +# daylight saving time. +# +# One source: +# <a href="http://www.falklandnews.com/public/story.cfm?get=5914&source=3"> +# http://www.falklandnews.com/public/story.cfm?get=5914&source=3 +# </a> +# +# We have gotten this confirmed by a clerk of the legislative assembly: +# Normally the clocks revert to Local Mean Time (UTC/GMT -4 hours) on the +# third Sunday of April at 0200hrs and advance to Summer Time (UTC/GMT -3 +# hours) on the first Sunday of September at 0200hrs. +# +# IMPORTANT NOTE: During 2011, on a trial basis, the Falkland Islands +# will not revert to local mean time, but clocks will remain on Summer +# time (UTC/GMT - 3 hours) throughout the whole of 2011. Any long term +# change to local time following the trial period will be notified. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Falk 1937 1938 - Sep lastSun 0:00 1:00 S Rule Falk 1938 1942 - Mar Sun>=19 0:00 0 - @@ -1376,7 +1394,8 @@ Rule Falk 1984 only - Sep 16 0:00 1:00 S Rule Falk 1985 2000 - Sep Sun>=9 0:00 1:00 S Rule Falk 1986 2000 - Apr Sun>=16 0:00 0 - -Rule Falk 2001 max - Apr Sun>=15 2:00 0 - +Rule Falk 2001 2010 - Apr Sun>=15 2:00 0 - +Rule Falk 2012 max - Apr Sun>=15 2:00 0 - Rule Falk 2001 max - Sep Sun>=1 2:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Atlantic/Stanley -3:51:24 - LMT 1890
--- a/jdk/make/sun/security/Makefile Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/sun/security/Makefile Mon May 09 12:32:40 2011 -0700 @@ -1,5 +1,5 @@ # -# Copyright (c) 1996, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -52,12 +52,10 @@ endif endif -# Build Microsoft CryptoAPI provider only on (non-64-bit) Windows platform. +# Build Microsoft CryptoAPI provider only on Windows platform. MSCAPI = ifeq ($(PLATFORM), windows) - ifneq ($(ARCH_DATA_MODEL), 64) - MSCAPI = mscapi - endif + MSCAPI = mscapi endif # Build in-tree elliptic curve crypto provider only when
--- a/jdk/make/tools/GenerateCharacter/CharacterData00.java.template Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/tools/GenerateCharacter/CharacterData00.java.template Mon May 09 12:32:40 2011 -0700 @@ -73,11 +73,37 @@ return props; } + int getPropertiesEx(int ch) { + char offset = (char)ch; + int props = $$LookupEx(offset); + return props; + } + int getType(int ch) { int props = getProperties(ch); return (props & $$maskType); } + boolean isOtherLowercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherLowercase) != 0; + } + + boolean isOtherUppercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherUppercase) != 0; + } + + boolean isOtherAlphabetic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherAlphabetic) != 0; + } + + boolean isIdeographic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskIdeographic) != 0; + } + boolean isJavaIdentifierStart(int ch) { int props = getProperties(ch); return ((props & $$maskIdentifierInfo) >= $$lowJavaStart);
--- a/jdk/make/tools/GenerateCharacter/CharacterData01.java.template Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/tools/GenerateCharacter/CharacterData01.java.template Mon May 09 12:32:40 2011 -0700 @@ -72,11 +72,37 @@ return props; } + int getPropertiesEx(int ch) { + char offset = (char)ch; + int props = $$LookupEx(offset); + return props; + } + int getType(int ch) { int props = getProperties(ch); return (props & $$maskType); } + boolean isOtherLowercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherLowercase) != 0; + } + + boolean isOtherUppercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherUppercase) != 0; + } + + boolean isOtherAlphabetic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherAlphabetic) != 0; + } + + boolean isIdeographic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskIdeographic) != 0; + } + boolean isJavaIdentifierStart(int ch) { int props = getProperties(ch); return ((props & $$maskIdentifierInfo) >= $$lowJavaStart);
--- a/jdk/make/tools/GenerateCharacter/CharacterData02.java.template Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/tools/GenerateCharacter/CharacterData02.java.template Mon May 09 12:32:40 2011 -0700 @@ -66,11 +66,37 @@ */ int getProperties(int ch) { - char offset = (char)ch; + char offset = (char)ch; int props = $$Lookup(offset); return props; } + int getPropertiesEx(int ch) { + char offset = (char)ch; + int props = $$LookupEx(offset); + return props; + } + + boolean isOtherLowercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherLowercase) != 0; + } + + boolean isOtherUppercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherUppercase) != 0; + } + + boolean isOtherAlphabetic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherAlphabetic) != 0; + } + + boolean isIdeographic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskIdeographic) != 0; + } + int getType(int ch) { int props = getProperties(ch); return (props & $$maskType);
--- a/jdk/make/tools/GenerateCharacter/CharacterData0E.java.template Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/tools/GenerateCharacter/CharacterData0E.java.template Mon May 09 12:32:40 2011 -0700 @@ -66,11 +66,37 @@ */ int getProperties(int ch) { - char offset = (char)ch; + char offset = (char)ch; int props = $$Lookup(offset); return props; } + int getPropertiesEx(int ch) { + char offset = (char)ch; + int props = $$LookupEx(offset); + return props; + } + + boolean isOtherLowercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherLowercase) != 0; + } + + boolean isOtherUppercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherUppercase) != 0; + } + + boolean isOtherAlphabetic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherAlphabetic) != 0; + } + + boolean isIdeographic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskIdeographic) != 0; + } + int getType(int ch) { int props = getProperties(ch); return (props & $$maskType);
--- a/jdk/make/tools/GenerateCharacter/CharacterDataLatin1.java.template Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/tools/GenerateCharacter/CharacterDataLatin1.java.template Mon May 09 12:32:40 2011 -0700 @@ -67,11 +67,37 @@ */ int getProperties(int ch) { - char offset = (char)ch; + char offset = (char)ch; int props = $$Lookup(offset); return props; } + int getPropertiesEx(int ch) { + char offset = (char)ch; + int props = $$LookupEx(offset); + return props; + } + + boolean isOtherLowercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherLowercase) != 0; + } + + boolean isOtherUppercase(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherUppercase) != 0; + } + + boolean isOtherAlphabetic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskOtherAlphabetic) != 0; + } + + boolean isIdeographic(int ch) { + int props = getPropertiesEx(ch); + return (props & $$maskIdeographic) != 0; + } + int getType(int ch) { int props = getProperties(ch); return (props & $$maskType);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/UnicodeData/PropList.txt Mon May 09 12:32:40 2011 -0700 @@ -0,0 +1,1296 @@ +# PropList-6.0.0.txt +# Date: 2010-08-19, 00:48:28 GMT [MD] +# +# Unicode Character Database +# Copyright (c) 1991-2010 Unicode, Inc. +# For terms of use, see http://www.unicode.org/terms_of_use.html +# For documentation, see http://www.unicode.org/reports/tr44/ + +# ================================================ + +0009..000D ; White_Space # Cc [5] <control-0009>..<control-000D> +0020 ; White_Space # Zs SPACE +0085 ; White_Space # Cc <control-0085> +00A0 ; White_Space # Zs NO-BREAK SPACE +1680 ; White_Space # Zs OGHAM SPACE MARK +180E ; White_Space # Zs MONGOLIAN VOWEL SEPARATOR +2000..200A ; White_Space # Zs [11] EN QUAD..HAIR SPACE +2028 ; White_Space # Zl LINE SEPARATOR +2029 ; White_Space # Zp PARAGRAPH SEPARATOR +202F ; White_Space # Zs NARROW NO-BREAK SPACE +205F ; White_Space # Zs MEDIUM MATHEMATICAL SPACE +3000 ; White_Space # Zs IDEOGRAPHIC SPACE + +# Total code points: 26 + +# ================================================ + +200E..200F ; Bidi_Control # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK +202A..202E ; Bidi_Control # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE + +# Total code points: 7 + +# ================================================ + +200C..200D ; Join_Control # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER + +# Total code points: 2 + +# ================================================ + +002D ; Dash # Pd HYPHEN-MINUS +058A ; Dash # Pd ARMENIAN HYPHEN +05BE ; Dash # Pd HEBREW PUNCTUATION MAQAF +1400 ; Dash # Pd CANADIAN SYLLABICS HYPHEN +1806 ; Dash # Pd MONGOLIAN TODO SOFT HYPHEN +2010..2015 ; Dash # Pd [6] HYPHEN..HORIZONTAL BAR +2053 ; Dash # Po SWUNG DASH +207B ; Dash # Sm SUPERSCRIPT MINUS +208B ; Dash # Sm SUBSCRIPT MINUS +2212 ; Dash # Sm MINUS SIGN +2E17 ; Dash # Pd DOUBLE OBLIQUE HYPHEN +2E1A ; Dash # Pd HYPHEN WITH DIAERESIS +301C ; Dash # Pd WAVE DASH +3030 ; Dash # Pd WAVY DASH +30A0 ; Dash # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN +FE31..FE32 ; Dash # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH +FE58 ; Dash # Pd SMALL EM DASH +FE63 ; Dash # Pd SMALL HYPHEN-MINUS +FF0D ; Dash # Pd FULLWIDTH HYPHEN-MINUS + +# Total code points: 25 + +# ================================================ + +002D ; Hyphen # Pd HYPHEN-MINUS +00AD ; Hyphen # Cf SOFT HYPHEN +058A ; Hyphen # Pd ARMENIAN HYPHEN +1806 ; Hyphen # Pd MONGOLIAN TODO SOFT HYPHEN +2010..2011 ; Hyphen # Pd [2] HYPHEN..NON-BREAKING HYPHEN +2E17 ; Hyphen # Pd DOUBLE OBLIQUE HYPHEN +30FB ; Hyphen # Po KATAKANA MIDDLE DOT +FE63 ; Hyphen # Pd SMALL HYPHEN-MINUS +FF0D ; Hyphen # Pd FULLWIDTH HYPHEN-MINUS +FF65 ; Hyphen # Po HALFWIDTH KATAKANA MIDDLE DOT + +# Total code points: 11 + +# ================================================ + +0022 ; Quotation_Mark # Po QUOTATION MARK +0027 ; Quotation_Mark # Po APOSTROPHE +00AB ; Quotation_Mark # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +00BB ; Quotation_Mark # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +2018 ; Quotation_Mark # Pi LEFT SINGLE QUOTATION MARK +2019 ; Quotation_Mark # Pf RIGHT SINGLE QUOTATION MARK +201A ; Quotation_Mark # Ps SINGLE LOW-9 QUOTATION MARK +201B..201C ; Quotation_Mark # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK +201D ; Quotation_Mark # Pf RIGHT DOUBLE QUOTATION MARK +201E ; Quotation_Mark # Ps DOUBLE LOW-9 QUOTATION MARK +201F ; Quotation_Mark # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK +2039 ; Quotation_Mark # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK +203A ; Quotation_Mark # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +300C ; Quotation_Mark # Ps LEFT CORNER BRACKET +300D ; Quotation_Mark # Pe RIGHT CORNER BRACKET +300E ; Quotation_Mark # Ps LEFT WHITE CORNER BRACKET +300F ; Quotation_Mark # Pe RIGHT WHITE CORNER BRACKET +301D ; Quotation_Mark # Ps REVERSED DOUBLE PRIME QUOTATION MARK +301E..301F ; Quotation_Mark # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK +FE41 ; Quotation_Mark # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET +FE42 ; Quotation_Mark # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET +FE43 ; Quotation_Mark # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET +FE44 ; Quotation_Mark # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET +FF02 ; Quotation_Mark # Po FULLWIDTH QUOTATION MARK +FF07 ; Quotation_Mark # Po FULLWIDTH APOSTROPHE +FF62 ; Quotation_Mark # Ps HALFWIDTH LEFT CORNER BRACKET +FF63 ; Quotation_Mark # Pe HALFWIDTH RIGHT CORNER BRACKET + +# Total code points: 29 + +# ================================================ + +0021 ; Terminal_Punctuation # Po EXCLAMATION MARK +002C ; Terminal_Punctuation # Po COMMA +002E ; Terminal_Punctuation # Po FULL STOP +003A..003B ; Terminal_Punctuation # Po [2] COLON..SEMICOLON +003F ; Terminal_Punctuation # Po QUESTION MARK +037E ; Terminal_Punctuation # Po GREEK QUESTION MARK +0387 ; Terminal_Punctuation # Po GREEK ANO TELEIA +0589 ; Terminal_Punctuation # Po ARMENIAN FULL STOP +05C3 ; Terminal_Punctuation # Po HEBREW PUNCTUATION SOF PASUQ +060C ; Terminal_Punctuation # Po ARABIC COMMA +061B ; Terminal_Punctuation # Po ARABIC SEMICOLON +061F ; Terminal_Punctuation # Po ARABIC QUESTION MARK +06D4 ; Terminal_Punctuation # Po ARABIC FULL STOP +0700..070A ; Terminal_Punctuation # Po [11] SYRIAC END OF PARAGRAPH..SYRIAC CONTRACTION +070C ; Terminal_Punctuation # Po SYRIAC HARKLEAN METOBELUS +07F8..07F9 ; Terminal_Punctuation # Po [2] NKO COMMA..NKO EXCLAMATION MARK +0830..083E ; Terminal_Punctuation # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU +085E ; Terminal_Punctuation # Po MANDAIC PUNCTUATION +0964..0965 ; Terminal_Punctuation # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA +0E5A..0E5B ; Terminal_Punctuation # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT +0F08 ; Terminal_Punctuation # Po TIBETAN MARK SBRUL SHAD +0F0D..0F12 ; Terminal_Punctuation # Po [6] TIBETAN MARK SHAD..TIBETAN MARK RGYA GRAM SHAD +104A..104B ; Terminal_Punctuation # Po [2] MYANMAR SIGN LITTLE SECTION..MYANMAR SIGN SECTION +1361..1368 ; Terminal_Punctuation # Po [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR +166D..166E ; Terminal_Punctuation # Po [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP +16EB..16ED ; Terminal_Punctuation # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION +17D4..17D6 ; Terminal_Punctuation # Po [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH +17DA ; Terminal_Punctuation # Po KHMER SIGN KOOMUUT +1802..1805 ; Terminal_Punctuation # Po [4] MONGOLIAN COMMA..MONGOLIAN FOUR DOTS +1808..1809 ; Terminal_Punctuation # Po [2] MONGOLIAN MANCHU COMMA..MONGOLIAN MANCHU FULL STOP +1944..1945 ; Terminal_Punctuation # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK +1AA8..1AAB ; Terminal_Punctuation # Po [4] TAI THAM SIGN KAAN..TAI THAM SIGN SATKAANKUU +1B5A..1B5B ; Terminal_Punctuation # Po [2] BALINESE PANTI..BALINESE PAMADA +1B5D..1B5F ; Terminal_Punctuation # Po [3] BALINESE CARIK PAMUNGKAH..BALINESE CARIK PAREREN +1C3B..1C3F ; Terminal_Punctuation # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK +1C7E..1C7F ; Terminal_Punctuation # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD +203C..203D ; Terminal_Punctuation # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG +2047..2049 ; Terminal_Punctuation # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK +2E2E ; Terminal_Punctuation # Po REVERSED QUESTION MARK +3001..3002 ; Terminal_Punctuation # Po [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP +A4FE..A4FF ; Terminal_Punctuation # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP +A60D..A60F ; Terminal_Punctuation # Po [3] VAI COMMA..VAI QUESTION MARK +A6F3..A6F7 ; Terminal_Punctuation # Po [5] BAMUM FULL STOP..BAMUM QUESTION MARK +A876..A877 ; Terminal_Punctuation # Po [2] PHAGS-PA MARK SHAD..PHAGS-PA MARK DOUBLE SHAD +A8CE..A8CF ; Terminal_Punctuation # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA +A92F ; Terminal_Punctuation # Po KAYAH LI SIGN SHYA +A9C7..A9C9 ; Terminal_Punctuation # Po [3] JAVANESE PADA PANGKAT..JAVANESE PADA LUNGSI +AA5D..AA5F ; Terminal_Punctuation # Po [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA +AADF ; Terminal_Punctuation # Po TAI VIET SYMBOL KOI KOI +ABEB ; Terminal_Punctuation # Po MEETEI MAYEK CHEIKHEI +FE50..FE52 ; Terminal_Punctuation # Po [3] SMALL COMMA..SMALL FULL STOP +FE54..FE57 ; Terminal_Punctuation # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK +FF01 ; Terminal_Punctuation # Po FULLWIDTH EXCLAMATION MARK +FF0C ; Terminal_Punctuation # Po FULLWIDTH COMMA +FF0E ; Terminal_Punctuation # Po FULLWIDTH FULL STOP +FF1A..FF1B ; Terminal_Punctuation # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON +FF1F ; Terminal_Punctuation # Po FULLWIDTH QUESTION MARK +FF61 ; Terminal_Punctuation # Po HALFWIDTH IDEOGRAPHIC FULL STOP +FF64 ; Terminal_Punctuation # Po HALFWIDTH IDEOGRAPHIC COMMA +1039F ; Terminal_Punctuation # Po UGARITIC WORD DIVIDER +103D0 ; Terminal_Punctuation # Po OLD PERSIAN WORD DIVIDER +10857 ; Terminal_Punctuation # Po IMPERIAL ARAMAIC SECTION SIGN +1091F ; Terminal_Punctuation # Po PHOENICIAN WORD SEPARATOR +10B3A..10B3F ; Terminal_Punctuation # Po [6] TINY TWO DOTS OVER ONE DOT PUNCTUATION..LARGE ONE RING OVER TWO RINGS PUNCTUATION +11047..1104D ; Terminal_Punctuation # Po [7] BRAHMI DANDA..BRAHMI PUNCTUATION LOTUS +110BE..110C1 ; Terminal_Punctuation # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA +12470..12473 ; Terminal_Punctuation # Po [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON + +# Total code points: 169 + +# ================================================ + +005E ; Other_Math # Sk CIRCUMFLEX ACCENT +03D0..03D2 ; Other_Math # L& [3] GREEK BETA SYMBOL..GREEK UPSILON WITH HOOK SYMBOL +03D5 ; Other_Math # L& GREEK PHI SYMBOL +03F0..03F1 ; Other_Math # L& [2] GREEK KAPPA SYMBOL..GREEK RHO SYMBOL +03F4..03F5 ; Other_Math # L& [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL +2016 ; Other_Math # Po DOUBLE VERTICAL LINE +2032..2034 ; Other_Math # Po [3] PRIME..TRIPLE PRIME +2040 ; Other_Math # Pc CHARACTER TIE +2061..2064 ; Other_Math # Cf [4] FUNCTION APPLICATION..INVISIBLE PLUS +207D ; Other_Math # Ps SUPERSCRIPT LEFT PARENTHESIS +207E ; Other_Math # Pe SUPERSCRIPT RIGHT PARENTHESIS +208D ; Other_Math # Ps SUBSCRIPT LEFT PARENTHESIS +208E ; Other_Math # Pe SUBSCRIPT RIGHT PARENTHESIS +20D0..20DC ; Other_Math # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE +20E1 ; Other_Math # Mn COMBINING LEFT RIGHT ARROW ABOVE +20E5..20E6 ; Other_Math # Mn [2] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING DOUBLE VERTICAL STROKE OVERLAY +20EB..20EF ; Other_Math # Mn [5] COMBINING LONG DOUBLE SOLIDUS OVERLAY..COMBINING RIGHT ARROW BELOW +2102 ; Other_Math # L& DOUBLE-STRUCK CAPITAL C +2107 ; Other_Math # L& EULER CONSTANT +210A..2113 ; Other_Math # L& [10] SCRIPT SMALL G..SCRIPT SMALL L +2115 ; Other_Math # L& DOUBLE-STRUCK CAPITAL N +2119..211D ; Other_Math # L& [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R +2124 ; Other_Math # L& DOUBLE-STRUCK CAPITAL Z +2128 ; Other_Math # L& BLACK-LETTER CAPITAL Z +2129 ; Other_Math # So TURNED GREEK SMALL LETTER IOTA +212C..212D ; Other_Math # L& [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C +212F..2131 ; Other_Math # L& [3] SCRIPT SMALL E..SCRIPT CAPITAL F +2133..2134 ; Other_Math # L& [2] SCRIPT CAPITAL M..SCRIPT SMALL O +2135..2138 ; Other_Math # Lo [4] ALEF SYMBOL..DALET SYMBOL +213C..213F ; Other_Math # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI +2145..2149 ; Other_Math # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J +2195..2199 ; Other_Math # So [5] UP DOWN ARROW..SOUTH WEST ARROW +219C..219F ; Other_Math # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW +21A1..21A2 ; Other_Math # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL +21A4..21A5 ; Other_Math # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR +21A7 ; Other_Math # So DOWNWARDS ARROW FROM BAR +21A9..21AD ; Other_Math # So [5] LEFTWARDS ARROW WITH HOOK..LEFT RIGHT WAVE ARROW +21B0..21B1 ; Other_Math # So [2] UPWARDS ARROW WITH TIP LEFTWARDS..UPWARDS ARROW WITH TIP RIGHTWARDS +21B6..21B7 ; Other_Math # So [2] ANTICLOCKWISE TOP SEMICIRCLE ARROW..CLOCKWISE TOP SEMICIRCLE ARROW +21BC..21CD ; Other_Math # So [18] LEFTWARDS HARPOON WITH BARB UPWARDS..LEFTWARDS DOUBLE ARROW WITH STROKE +21D0..21D1 ; Other_Math # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW +21D3 ; Other_Math # So DOWNWARDS DOUBLE ARROW +21D5..21DB ; Other_Math # So [7] UP DOWN DOUBLE ARROW..RIGHTWARDS TRIPLE ARROW +21DD ; Other_Math # So RIGHTWARDS SQUIGGLE ARROW +21E4..21E5 ; Other_Math # So [2] LEFTWARDS ARROW TO BAR..RIGHTWARDS ARROW TO BAR +23B4..23B5 ; Other_Math # So [2] TOP SQUARE BRACKET..BOTTOM SQUARE BRACKET +23B7 ; Other_Math # So RADICAL SYMBOL BOTTOM +23D0 ; Other_Math # So VERTICAL LINE EXTENSION +23E2 ; Other_Math # So WHITE TRAPEZIUM +25A0..25A1 ; Other_Math # So [2] BLACK SQUARE..WHITE SQUARE +25AE..25B6 ; Other_Math # So [9] BLACK VERTICAL RECTANGLE..BLACK RIGHT-POINTING TRIANGLE +25BC..25C0 ; Other_Math # So [5] BLACK DOWN-POINTING TRIANGLE..BLACK LEFT-POINTING TRIANGLE +25C6..25C7 ; Other_Math # So [2] BLACK DIAMOND..WHITE DIAMOND +25CA..25CB ; Other_Math # So [2] LOZENGE..WHITE CIRCLE +25CF..25D3 ; Other_Math # So [5] BLACK CIRCLE..CIRCLE WITH UPPER HALF BLACK +25E2 ; Other_Math # So BLACK LOWER RIGHT TRIANGLE +25E4 ; Other_Math # So BLACK UPPER LEFT TRIANGLE +25E7..25EC ; Other_Math # So [6] SQUARE WITH LEFT HALF BLACK..WHITE UP-POINTING TRIANGLE WITH DOT +2605..2606 ; Other_Math # So [2] BLACK STAR..WHITE STAR +2640 ; Other_Math # So FEMALE SIGN +2642 ; Other_Math # So MALE SIGN +2660..2663 ; Other_Math # So [4] BLACK SPADE SUIT..BLACK CLUB SUIT +266D..266E ; Other_Math # So [2] MUSIC FLAT SIGN..MUSIC NATURAL SIGN +27C5 ; Other_Math # Ps LEFT S-SHAPED BAG DELIMITER +27C6 ; Other_Math # Pe RIGHT S-SHAPED BAG DELIMITER +27E6 ; Other_Math # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET +27E7 ; Other_Math # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET +27E8 ; Other_Math # Ps MATHEMATICAL LEFT ANGLE BRACKET +27E9 ; Other_Math # Pe MATHEMATICAL RIGHT ANGLE BRACKET +27EA ; Other_Math # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET +27EB ; Other_Math # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET +27EC ; Other_Math # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET +27ED ; Other_Math # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET +27EE ; Other_Math # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS +27EF ; Other_Math # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS +2983 ; Other_Math # Ps LEFT WHITE CURLY BRACKET +2984 ; Other_Math # Pe RIGHT WHITE CURLY BRACKET +2985 ; Other_Math # Ps LEFT WHITE PARENTHESIS +2986 ; Other_Math # Pe RIGHT WHITE PARENTHESIS +2987 ; Other_Math # Ps Z NOTATION LEFT IMAGE BRACKET +2988 ; Other_Math # Pe Z NOTATION RIGHT IMAGE BRACKET +2989 ; Other_Math # Ps Z NOTATION LEFT BINDING BRACKET +298A ; Other_Math # Pe Z NOTATION RIGHT BINDING BRACKET +298B ; Other_Math # Ps LEFT SQUARE BRACKET WITH UNDERBAR +298C ; Other_Math # Pe RIGHT SQUARE BRACKET WITH UNDERBAR +298D ; Other_Math # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER +298E ; Other_Math # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER +298F ; Other_Math # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER +2990 ; Other_Math # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER +2991 ; Other_Math # Ps LEFT ANGLE BRACKET WITH DOT +2992 ; Other_Math # Pe RIGHT ANGLE BRACKET WITH DOT +2993 ; Other_Math # Ps LEFT ARC LESS-THAN BRACKET +2994 ; Other_Math # Pe RIGHT ARC GREATER-THAN BRACKET +2995 ; Other_Math # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET +2996 ; Other_Math # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET +2997 ; Other_Math # Ps LEFT BLACK TORTOISE SHELL BRACKET +2998 ; Other_Math # Pe RIGHT BLACK TORTOISE SHELL BRACKET +29D8 ; Other_Math # Ps LEFT WIGGLY FENCE +29D9 ; Other_Math # Pe RIGHT WIGGLY FENCE +29DA ; Other_Math # Ps LEFT DOUBLE WIGGLY FENCE +29DB ; Other_Math # Pe RIGHT DOUBLE WIGGLY FENCE +29FC ; Other_Math # Ps LEFT-POINTING CURVED ANGLE BRACKET +29FD ; Other_Math # Pe RIGHT-POINTING CURVED ANGLE BRACKET +FE61 ; Other_Math # Po SMALL ASTERISK +FE63 ; Other_Math # Pd SMALL HYPHEN-MINUS +FE68 ; Other_Math # Po SMALL REVERSE SOLIDUS +FF3C ; Other_Math # Po FULLWIDTH REVERSE SOLIDUS +FF3E ; Other_Math # Sk FULLWIDTH CIRCUMFLEX ACCENT +1D400..1D454 ; Other_Math # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G +1D456..1D49C ; Other_Math # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A +1D49E..1D49F ; Other_Math # L& [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D +1D4A2 ; Other_Math # L& MATHEMATICAL SCRIPT CAPITAL G +1D4A5..1D4A6 ; Other_Math # L& [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K +1D4A9..1D4AC ; Other_Math # L& [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q +1D4AE..1D4B9 ; Other_Math # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D +1D4BB ; Other_Math # L& MATHEMATICAL SCRIPT SMALL F +1D4BD..1D4C3 ; Other_Math # L& [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N +1D4C5..1D505 ; Other_Math # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B +1D507..1D50A ; Other_Math # L& [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G +1D50D..1D514 ; Other_Math # L& [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q +1D516..1D51C ; Other_Math # L& [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y +1D51E..1D539 ; Other_Math # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B +1D53B..1D53E ; Other_Math # L& [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G +1D540..1D544 ; Other_Math # L& [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M +1D546 ; Other_Math # L& MATHEMATICAL DOUBLE-STRUCK CAPITAL O +1D54A..1D550 ; Other_Math # L& [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y +1D552..1D6A5 ; Other_Math # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J +1D6A8..1D6C0 ; Other_Math # L& [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA +1D6C2..1D6DA ; Other_Math # L& [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA +1D6DC..1D6FA ; Other_Math # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA +1D6FC..1D714 ; Other_Math # L& [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA +1D716..1D734 ; Other_Math # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA +1D736..1D74E ; Other_Math # L& [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA +1D750..1D76E ; Other_Math # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA +1D770..1D788 ; Other_Math # L& [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA +1D78A..1D7A8 ; Other_Math # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA +1D7AA..1D7C2 ; Other_Math # L& [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA +1D7C4..1D7CB ; Other_Math # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA +1D7CE..1D7FF ; Other_Math # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE + +# Total code points: 1217 + +# ================================================ + +0030..0039 ; Hex_Digit # Nd [10] DIGIT ZERO..DIGIT NINE +0041..0046 ; Hex_Digit # L& [6] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER F +0061..0066 ; Hex_Digit # L& [6] LATIN SMALL LETTER A..LATIN SMALL LETTER F +FF10..FF19 ; Hex_Digit # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE +FF21..FF26 ; Hex_Digit # L& [6] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER F +FF41..FF46 ; Hex_Digit # L& [6] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER F + +# Total code points: 44 + +# ================================================ + +0030..0039 ; ASCII_Hex_Digit # Nd [10] DIGIT ZERO..DIGIT NINE +0041..0046 ; ASCII_Hex_Digit # L& [6] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER F +0061..0066 ; ASCII_Hex_Digit # L& [6] LATIN SMALL LETTER A..LATIN SMALL LETTER F + +# Total code points: 22 + +# ================================================ + +0345 ; Other_Alphabetic # Mn COMBINING GREEK YPOGEGRAMMENI +05B0..05BD ; Other_Alphabetic # Mn [14] HEBREW POINT SHEVA..HEBREW POINT METEG +05BF ; Other_Alphabetic # Mn HEBREW POINT RAFE +05C1..05C2 ; Other_Alphabetic # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT +05C4..05C5 ; Other_Alphabetic # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT +05C7 ; Other_Alphabetic # Mn HEBREW POINT QAMATS QATAN +0610..061A ; Other_Alphabetic # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA +064B..0657 ; Other_Alphabetic # Mn [13] ARABIC FATHATAN..ARABIC INVERTED DAMMA +0659..065F ; Other_Alphabetic # Mn [7] ARABIC ZWARAKAY..ARABIC WAVY HAMZA BELOW +0670 ; Other_Alphabetic # Mn ARABIC LETTER SUPERSCRIPT ALEF +06D6..06DC ; Other_Alphabetic # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN +06E1..06E4 ; Other_Alphabetic # Mn [4] ARABIC SMALL HIGH DOTLESS HEAD OF KHAH..ARABIC SMALL HIGH MADDA +06E7..06E8 ; Other_Alphabetic # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON +06ED ; Other_Alphabetic # Mn ARABIC SMALL LOW MEEM +0711 ; Other_Alphabetic # Mn SYRIAC LETTER SUPERSCRIPT ALAPH +0730..073F ; Other_Alphabetic # Mn [16] SYRIAC PTHAHA ABOVE..SYRIAC RWAHA +07A6..07B0 ; Other_Alphabetic # Mn [11] THAANA ABAFILI..THAANA SUKUN +0816..0817 ; Other_Alphabetic # Mn [2] SAMARITAN MARK IN..SAMARITAN MARK IN-ALAF +081B..0823 ; Other_Alphabetic # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A +0825..0827 ; Other_Alphabetic # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U +0829..082C ; Other_Alphabetic # Mn [4] SAMARITAN VOWEL SIGN LONG I..SAMARITAN VOWEL SIGN SUKUN +0900..0902 ; Other_Alphabetic # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA +0903 ; Other_Alphabetic # Mc DEVANAGARI SIGN VISARGA +093A ; Other_Alphabetic # Mn DEVANAGARI VOWEL SIGN OE +093B ; Other_Alphabetic # Mc DEVANAGARI VOWEL SIGN OOE +093E..0940 ; Other_Alphabetic # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II +0941..0948 ; Other_Alphabetic # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI +0949..094C ; Other_Alphabetic # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU +094E..094F ; Other_Alphabetic # Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW +0955..0957 ; Other_Alphabetic # Mn [3] DEVANAGARI VOWEL SIGN CANDRA LONG E..DEVANAGARI VOWEL SIGN UUE +0962..0963 ; Other_Alphabetic # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL +0981 ; Other_Alphabetic # Mn BENGALI SIGN CANDRABINDU +0982..0983 ; Other_Alphabetic # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA +09BE..09C0 ; Other_Alphabetic # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II +09C1..09C4 ; Other_Alphabetic # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR +09C7..09C8 ; Other_Alphabetic # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI +09CB..09CC ; Other_Alphabetic # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU +09D7 ; Other_Alphabetic # Mc BENGALI AU LENGTH MARK +09E2..09E3 ; Other_Alphabetic # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL +0A01..0A02 ; Other_Alphabetic # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI +0A03 ; Other_Alphabetic # Mc GURMUKHI SIGN VISARGA +0A3E..0A40 ; Other_Alphabetic # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II +0A41..0A42 ; Other_Alphabetic # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU +0A47..0A48 ; Other_Alphabetic # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI +0A4B..0A4C ; Other_Alphabetic # Mn [2] GURMUKHI VOWEL SIGN OO..GURMUKHI VOWEL SIGN AU +0A51 ; Other_Alphabetic # Mn GURMUKHI SIGN UDAAT +0A70..0A71 ; Other_Alphabetic # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK +0A75 ; Other_Alphabetic # Mn GURMUKHI SIGN YAKASH +0A81..0A82 ; Other_Alphabetic # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA +0A83 ; Other_Alphabetic # Mc GUJARATI SIGN VISARGA +0ABE..0AC0 ; Other_Alphabetic # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II +0AC1..0AC5 ; Other_Alphabetic # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E +0AC7..0AC8 ; Other_Alphabetic # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI +0AC9 ; Other_Alphabetic # Mc GUJARATI VOWEL SIGN CANDRA O +0ACB..0ACC ; Other_Alphabetic # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU +0AE2..0AE3 ; Other_Alphabetic # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL +0B01 ; Other_Alphabetic # Mn ORIYA SIGN CANDRABINDU +0B02..0B03 ; Other_Alphabetic # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA +0B3E ; Other_Alphabetic # Mc ORIYA VOWEL SIGN AA +0B3F ; Other_Alphabetic # Mn ORIYA VOWEL SIGN I +0B40 ; Other_Alphabetic # Mc ORIYA VOWEL SIGN II +0B41..0B44 ; Other_Alphabetic # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR +0B47..0B48 ; Other_Alphabetic # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI +0B4B..0B4C ; Other_Alphabetic # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU +0B56 ; Other_Alphabetic # Mn ORIYA AI LENGTH MARK +0B57 ; Other_Alphabetic # Mc ORIYA AU LENGTH MARK +0B62..0B63 ; Other_Alphabetic # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL +0B82 ; Other_Alphabetic # Mn TAMIL SIGN ANUSVARA +0BBE..0BBF ; Other_Alphabetic # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I +0BC0 ; Other_Alphabetic # Mn TAMIL VOWEL SIGN II +0BC1..0BC2 ; Other_Alphabetic # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU +0BC6..0BC8 ; Other_Alphabetic # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI +0BCA..0BCC ; Other_Alphabetic # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU +0BD7 ; Other_Alphabetic # Mc TAMIL AU LENGTH MARK +0C01..0C03 ; Other_Alphabetic # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA +0C3E..0C40 ; Other_Alphabetic # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II +0C41..0C44 ; Other_Alphabetic # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR +0C46..0C48 ; Other_Alphabetic # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI +0C4A..0C4C ; Other_Alphabetic # Mn [3] TELUGU VOWEL SIGN O..TELUGU VOWEL SIGN AU +0C55..0C56 ; Other_Alphabetic # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK +0C62..0C63 ; Other_Alphabetic # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL +0C82..0C83 ; Other_Alphabetic # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA +0CBE ; Other_Alphabetic # Mc KANNADA VOWEL SIGN AA +0CBF ; Other_Alphabetic # Mn KANNADA VOWEL SIGN I +0CC0..0CC4 ; Other_Alphabetic # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR +0CC6 ; Other_Alphabetic # Mn KANNADA VOWEL SIGN E +0CC7..0CC8 ; Other_Alphabetic # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI +0CCA..0CCB ; Other_Alphabetic # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO +0CCC ; Other_Alphabetic # Mn KANNADA VOWEL SIGN AU +0CD5..0CD6 ; Other_Alphabetic # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK +0CE2..0CE3 ; Other_Alphabetic # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL +0D02..0D03 ; Other_Alphabetic # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA +0D3E..0D40 ; Other_Alphabetic # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II +0D41..0D44 ; Other_Alphabetic # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR +0D46..0D48 ; Other_Alphabetic # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI +0D4A..0D4C ; Other_Alphabetic # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU +0D57 ; Other_Alphabetic # Mc MALAYALAM AU LENGTH MARK +0D62..0D63 ; Other_Alphabetic # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL +0D82..0D83 ; Other_Alphabetic # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA +0DCF..0DD1 ; Other_Alphabetic # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA +0DD2..0DD4 ; Other_Alphabetic # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA +0DD6 ; Other_Alphabetic # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA +0DD8..0DDF ; Other_Alphabetic # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA +0DF2..0DF3 ; Other_Alphabetic # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA +0E31 ; Other_Alphabetic # Mn THAI CHARACTER MAI HAN-AKAT +0E34..0E3A ; Other_Alphabetic # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU +0E4D ; Other_Alphabetic # Mn THAI CHARACTER NIKHAHIT +0EB1 ; Other_Alphabetic # Mn LAO VOWEL SIGN MAI KAN +0EB4..0EB9 ; Other_Alphabetic # Mn [6] LAO VOWEL SIGN I..LAO VOWEL SIGN UU +0EBB..0EBC ; Other_Alphabetic # Mn [2] LAO VOWEL SIGN MAI KON..LAO SEMIVOWEL SIGN LO +0ECD ; Other_Alphabetic # Mn LAO NIGGAHITA +0F71..0F7E ; Other_Alphabetic # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO +0F7F ; Other_Alphabetic # Mc TIBETAN SIGN RNAM BCAD +0F80..0F81 ; Other_Alphabetic # Mn [2] TIBETAN VOWEL SIGN REVERSED I..TIBETAN VOWEL SIGN REVERSED II +0F8D..0F97 ; Other_Alphabetic # Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA +0F99..0FBC ; Other_Alphabetic # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA +102B..102C ; Other_Alphabetic # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA +102D..1030 ; Other_Alphabetic # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU +1031 ; Other_Alphabetic # Mc MYANMAR VOWEL SIGN E +1032..1036 ; Other_Alphabetic # Mn [5] MYANMAR VOWEL SIGN AI..MYANMAR SIGN ANUSVARA +1038 ; Other_Alphabetic # Mc MYANMAR SIGN VISARGA +103B..103C ; Other_Alphabetic # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA +103D..103E ; Other_Alphabetic # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA +1056..1057 ; Other_Alphabetic # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR +1058..1059 ; Other_Alphabetic # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL +105E..1060 ; Other_Alphabetic # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA +1062 ; Other_Alphabetic # Mc MYANMAR VOWEL SIGN SGAW KAREN EU +1067..1068 ; Other_Alphabetic # Mc [2] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR VOWEL SIGN WESTERN PWO KAREN UE +1071..1074 ; Other_Alphabetic # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE +1082 ; Other_Alphabetic # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA +1083..1084 ; Other_Alphabetic # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E +1085..1086 ; Other_Alphabetic # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y +109C ; Other_Alphabetic # Mc MYANMAR VOWEL SIGN AITON A +109D ; Other_Alphabetic # Mn MYANMAR VOWEL SIGN AITON AI +135F ; Other_Alphabetic # Mn ETHIOPIC COMBINING GEMINATION MARK +1712..1713 ; Other_Alphabetic # Mn [2] TAGALOG VOWEL SIGN I..TAGALOG VOWEL SIGN U +1732..1733 ; Other_Alphabetic # Mn [2] HANUNOO VOWEL SIGN I..HANUNOO VOWEL SIGN U +1752..1753 ; Other_Alphabetic # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U +1772..1773 ; Other_Alphabetic # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U +17B6 ; Other_Alphabetic # Mc KHMER VOWEL SIGN AA +17B7..17BD ; Other_Alphabetic # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA +17BE..17C5 ; Other_Alphabetic # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU +17C6 ; Other_Alphabetic # Mn KHMER SIGN NIKAHIT +17C7..17C8 ; Other_Alphabetic # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU +18A9 ; Other_Alphabetic # Mn MONGOLIAN LETTER ALI GALI DAGALGA +1920..1922 ; Other_Alphabetic # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U +1923..1926 ; Other_Alphabetic # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU +1927..1928 ; Other_Alphabetic # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O +1929..192B ; Other_Alphabetic # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA +1930..1931 ; Other_Alphabetic # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA +1932 ; Other_Alphabetic # Mn LIMBU SMALL LETTER ANUSVARA +1933..1938 ; Other_Alphabetic # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA +19B0..19C0 ; Other_Alphabetic # Mc [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY +19C8..19C9 ; Other_Alphabetic # Mc [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2 +1A17..1A18 ; Other_Alphabetic # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U +1A19..1A1B ; Other_Alphabetic # Mc [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE +1A55 ; Other_Alphabetic # Mc TAI THAM CONSONANT SIGN MEDIAL RA +1A56 ; Other_Alphabetic # Mn TAI THAM CONSONANT SIGN MEDIAL LA +1A57 ; Other_Alphabetic # Mc TAI THAM CONSONANT SIGN LA TANG LAI +1A58..1A5E ; Other_Alphabetic # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA +1A61 ; Other_Alphabetic # Mc TAI THAM VOWEL SIGN A +1A62 ; Other_Alphabetic # Mn TAI THAM VOWEL SIGN MAI SAT +1A63..1A64 ; Other_Alphabetic # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA +1A65..1A6C ; Other_Alphabetic # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW +1A6D..1A72 ; Other_Alphabetic # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI +1A73..1A74 ; Other_Alphabetic # Mn [2] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN MAI KANG +1B00..1B03 ; Other_Alphabetic # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG +1B04 ; Other_Alphabetic # Mc BALINESE SIGN BISAH +1B35 ; Other_Alphabetic # Mc BALINESE VOWEL SIGN TEDUNG +1B36..1B3A ; Other_Alphabetic # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA +1B3B ; Other_Alphabetic # Mc BALINESE VOWEL SIGN RA REPA TEDUNG +1B3C ; Other_Alphabetic # Mn BALINESE VOWEL SIGN LA LENGA +1B3D..1B41 ; Other_Alphabetic # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG +1B42 ; Other_Alphabetic # Mn BALINESE VOWEL SIGN PEPET +1B43 ; Other_Alphabetic # Mc BALINESE VOWEL SIGN PEPET TEDUNG +1B80..1B81 ; Other_Alphabetic # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR +1B82 ; Other_Alphabetic # Mc SUNDANESE SIGN PANGWISAD +1BA1 ; Other_Alphabetic # Mc SUNDANESE CONSONANT SIGN PAMINGKAL +1BA2..1BA5 ; Other_Alphabetic # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU +1BA6..1BA7 ; Other_Alphabetic # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG +1BA8..1BA9 ; Other_Alphabetic # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG +1BE7 ; Other_Alphabetic # Mc BATAK VOWEL SIGN E +1BE8..1BE9 ; Other_Alphabetic # Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE +1BEA..1BEC ; Other_Alphabetic # Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O +1BED ; Other_Alphabetic # Mn BATAK VOWEL SIGN KARO O +1BEE ; Other_Alphabetic # Mc BATAK VOWEL SIGN U +1BEF..1BF1 ; Other_Alphabetic # Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H +1C24..1C2B ; Other_Alphabetic # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU +1C2C..1C33 ; Other_Alphabetic # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T +1C34..1C35 ; Other_Alphabetic # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG +1CF2 ; Other_Alphabetic # Mc VEDIC SIGN ARDHAVISARGA +24B6..24E9 ; Other_Alphabetic # So [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z +2DE0..2DFF ; Other_Alphabetic # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS +A823..A824 ; Other_Alphabetic # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I +A825..A826 ; Other_Alphabetic # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E +A827 ; Other_Alphabetic # Mc SYLOTI NAGRI VOWEL SIGN OO +A880..A881 ; Other_Alphabetic # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA +A8B4..A8C3 ; Other_Alphabetic # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU +A926..A92A ; Other_Alphabetic # Mn [5] KAYAH LI VOWEL UE..KAYAH LI VOWEL O +A947..A951 ; Other_Alphabetic # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R +A952 ; Other_Alphabetic # Mc REJANG CONSONANT SIGN H +A980..A982 ; Other_Alphabetic # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR +A983 ; Other_Alphabetic # Mc JAVANESE SIGN WIGNYAN +A9B4..A9B5 ; Other_Alphabetic # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG +A9B6..A9B9 ; Other_Alphabetic # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT +A9BA..A9BB ; Other_Alphabetic # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE +A9BC ; Other_Alphabetic # Mn JAVANESE VOWEL SIGN PEPET +A9BD..A9BF ; Other_Alphabetic # Mc [3] JAVANESE CONSONANT SIGN KERET..JAVANESE CONSONANT SIGN CAKRA +AA29..AA2E ; Other_Alphabetic # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE +AA2F..AA30 ; Other_Alphabetic # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI +AA31..AA32 ; Other_Alphabetic # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE +AA33..AA34 ; Other_Alphabetic # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA +AA35..AA36 ; Other_Alphabetic # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA +AA43 ; Other_Alphabetic # Mn CHAM CONSONANT SIGN FINAL NG +AA4C ; Other_Alphabetic # Mn CHAM CONSONANT SIGN FINAL M +AA4D ; Other_Alphabetic # Mc CHAM CONSONANT SIGN FINAL H +AAB0 ; Other_Alphabetic # Mn TAI VIET MAI KANG +AAB2..AAB4 ; Other_Alphabetic # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U +AAB7..AAB8 ; Other_Alphabetic # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA +AABE ; Other_Alphabetic # Mn TAI VIET VOWEL AM +ABE3..ABE4 ; Other_Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP +ABE5 ; Other_Alphabetic # Mn MEETEI MAYEK VOWEL SIGN ANAP +ABE6..ABE7 ; Other_Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP +ABE8 ; Other_Alphabetic # Mn MEETEI MAYEK VOWEL SIGN UNAP +ABE9..ABEA ; Other_Alphabetic # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG +FB1E ; Other_Alphabetic # Mn HEBREW POINT JUDEO-SPANISH VARIKA +10A01..10A03 ; Other_Alphabetic # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R +10A05..10A06 ; Other_Alphabetic # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O +10A0C..10A0F ; Other_Alphabetic # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA +11000 ; Other_Alphabetic # Mc BRAHMI SIGN CANDRABINDU +11001 ; Other_Alphabetic # Mn BRAHMI SIGN ANUSVARA +11002 ; Other_Alphabetic # Mc BRAHMI SIGN VISARGA +11038..11045 ; Other_Alphabetic # Mn [14] BRAHMI VOWEL SIGN AA..BRAHMI VOWEL SIGN AU +11082 ; Other_Alphabetic # Mc KAITHI SIGN VISARGA +110B0..110B2 ; Other_Alphabetic # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II +110B3..110B6 ; Other_Alphabetic # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI +110B7..110B8 ; Other_Alphabetic # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU + +# Total code points: 795 + +# ================================================ + +3006 ; Ideographic # Lo IDEOGRAPHIC CLOSING MARK +3007 ; Ideographic # Nl IDEOGRAPHIC NUMBER ZERO +3021..3029 ; Ideographic # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE +3038..303A ; Ideographic # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY +3400..4DB5 ; Ideographic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 +4E00..9FCB ; Ideographic # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB +F900..FA2D ; Ideographic # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D +FA30..FA6D ; Ideographic # Lo [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D +FA70..FAD9 ; Ideographic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9 +20000..2A6D6 ; Ideographic # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 +2A700..2B734 ; Ideographic # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 +2B740..2B81D ; Ideographic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2F800..2FA1D ; Ideographic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D + +# Total code points: 75630 + +# ================================================ + +005E ; Diacritic # Sk CIRCUMFLEX ACCENT +0060 ; Diacritic # Sk GRAVE ACCENT +00A8 ; Diacritic # Sk DIAERESIS +00AF ; Diacritic # Sk MACRON +00B4 ; Diacritic # Sk ACUTE ACCENT +00B7 ; Diacritic # Po MIDDLE DOT +00B8 ; Diacritic # Sk CEDILLA +02B0..02C1 ; Diacritic # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP +02C2..02C5 ; Diacritic # Sk [4] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER DOWN ARROWHEAD +02C6..02D1 ; Diacritic # Lm [12] MODIFIER LETTER CIRCUMFLEX ACCENT..MODIFIER LETTER HALF TRIANGULAR COLON +02D2..02DF ; Diacritic # Sk [14] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER CROSS ACCENT +02E0..02E4 ; Diacritic # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP +02E5..02EB ; Diacritic # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK +02EC ; Diacritic # Lm MODIFIER LETTER VOICING +02ED ; Diacritic # Sk MODIFIER LETTER UNASPIRATED +02EE ; Diacritic # Lm MODIFIER LETTER DOUBLE APOSTROPHE +02EF..02FF ; Diacritic # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW +0300..034E ; Diacritic # Mn [79] COMBINING GRAVE ACCENT..COMBINING UPWARDS ARROW BELOW +0350..0357 ; Diacritic # Mn [8] COMBINING RIGHT ARROWHEAD ABOVE..COMBINING RIGHT HALF RING ABOVE +035D..0362 ; Diacritic # Mn [6] COMBINING DOUBLE BREVE..COMBINING DOUBLE RIGHTWARDS ARROW BELOW +0374 ; Diacritic # Lm GREEK NUMERAL SIGN +0375 ; Diacritic # Sk GREEK LOWER NUMERAL SIGN +037A ; Diacritic # Lm GREEK YPOGEGRAMMENI +0384..0385 ; Diacritic # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS +0483..0487 ; Diacritic # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE +0559 ; Diacritic # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING +0591..05A1 ; Diacritic # Mn [17] HEBREW ACCENT ETNAHTA..HEBREW ACCENT PAZER +05A3..05BD ; Diacritic # Mn [27] HEBREW ACCENT MUNAH..HEBREW POINT METEG +05BF ; Diacritic # Mn HEBREW POINT RAFE +05C1..05C2 ; Diacritic # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT +05C4 ; Diacritic # Mn HEBREW MARK UPPER DOT +064B..0652 ; Diacritic # Mn [8] ARABIC FATHATAN..ARABIC SUKUN +0657..0658 ; Diacritic # Mn [2] ARABIC INVERTED DAMMA..ARABIC MARK NOON GHUNNA +06DF..06E0 ; Diacritic # Mn [2] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO +06E5..06E6 ; Diacritic # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH +06EA..06EC ; Diacritic # Mn [3] ARABIC EMPTY CENTRE LOW STOP..ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE +0730..074A ; Diacritic # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH +07A6..07B0 ; Diacritic # Mn [11] THAANA ABAFILI..THAANA SUKUN +07EB..07F3 ; Diacritic # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE +07F4..07F5 ; Diacritic # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE +0818..0819 ; Diacritic # Mn [2] SAMARITAN MARK OCCLUSION..SAMARITAN MARK DAGESH +093C ; Diacritic # Mn DEVANAGARI SIGN NUKTA +094D ; Diacritic # Mn DEVANAGARI SIGN VIRAMA +0951..0954 ; Diacritic # Mn [4] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI ACUTE ACCENT +0971 ; Diacritic # Lm DEVANAGARI SIGN HIGH SPACING DOT +09BC ; Diacritic # Mn BENGALI SIGN NUKTA +09CD ; Diacritic # Mn BENGALI SIGN VIRAMA +0A3C ; Diacritic # Mn GURMUKHI SIGN NUKTA +0A4D ; Diacritic # Mn GURMUKHI SIGN VIRAMA +0ABC ; Diacritic # Mn GUJARATI SIGN NUKTA +0ACD ; Diacritic # Mn GUJARATI SIGN VIRAMA +0B3C ; Diacritic # Mn ORIYA SIGN NUKTA +0B4D ; Diacritic # Mn ORIYA SIGN VIRAMA +0BCD ; Diacritic # Mn TAMIL SIGN VIRAMA +0C4D ; Diacritic # Mn TELUGU SIGN VIRAMA +0CBC ; Diacritic # Mn KANNADA SIGN NUKTA +0CCD ; Diacritic # Mn KANNADA SIGN VIRAMA +0D4D ; Diacritic # Mn MALAYALAM SIGN VIRAMA +0DCA ; Diacritic # Mn SINHALA SIGN AL-LAKUNA +0E47..0E4C ; Diacritic # Mn [6] THAI CHARACTER MAITAIKHU..THAI CHARACTER THANTHAKHAT +0E4E ; Diacritic # Mn THAI CHARACTER YAMAKKAN +0EC8..0ECC ; Diacritic # Mn [5] LAO TONE MAI EK..LAO CANCELLATION MARK +0F18..0F19 ; Diacritic # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS +0F35 ; Diacritic # Mn TIBETAN MARK NGAS BZUNG NYI ZLA +0F37 ; Diacritic # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS +0F39 ; Diacritic # Mn TIBETAN MARK TSA -PHRU +0F3E..0F3F ; Diacritic # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES +0F82..0F84 ; Diacritic # Mn [3] TIBETAN SIGN NYI ZLA NAA DA..TIBETAN MARK HALANTA +0F86..0F87 ; Diacritic # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS +0FC6 ; Diacritic # Mn TIBETAN SYMBOL PADMA GDAN +1037 ; Diacritic # Mn MYANMAR SIGN DOT BELOW +1039..103A ; Diacritic # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT +1087..108C ; Diacritic # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3 +108D ; Diacritic # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE +108F ; Diacritic # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5 +109A..109B ; Diacritic # Mc [2] MYANMAR SIGN KHAMTI TONE-1..MYANMAR SIGN KHAMTI TONE-3 +17C9..17D3 ; Diacritic # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT +17DD ; Diacritic # Mn KHMER SIGN ATTHACAN +1939..193B ; Diacritic # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I +1A75..1A7C ; Diacritic # Mn [8] TAI THAM SIGN TONE-1..TAI THAM SIGN KHUEN-LUE KARAN +1A7F ; Diacritic # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT +1B34 ; Diacritic # Mn BALINESE SIGN REREKAN +1B44 ; Diacritic # Mc BALINESE ADEG ADEG +1B6B..1B73 ; Diacritic # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG +1BAA ; Diacritic # Mc SUNDANESE SIGN PAMAAEH +1C36..1C37 ; Diacritic # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA +1C78..1C7D ; Diacritic # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD +1CD0..1CD2 ; Diacritic # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA +1CD3 ; Diacritic # Po VEDIC SIGN NIHSHVASA +1CD4..1CE0 ; Diacritic # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA +1CE1 ; Diacritic # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA +1CE2..1CE8 ; Diacritic # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL +1CED ; Diacritic # Mn VEDIC SIGN TIRYAK +1D2C..1D61 ; Diacritic # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI +1D62..1D6A ; Diacritic # L& [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI +1DC4..1DCF ; Diacritic # Mn [12] COMBINING MACRON-ACUTE..COMBINING ZIGZAG BELOW +1DFD..1DFF ; Diacritic # Mn [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW +1FBD ; Diacritic # Sk GREEK KORONIS +1FBF..1FC1 ; Diacritic # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI +1FCD..1FCF ; Diacritic # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI +1FDD..1FDF ; Diacritic # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI +1FED..1FEF ; Diacritic # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA +1FFD..1FFE ; Diacritic # Sk [2] GREEK OXIA..GREEK DASIA +2CEF..2CF1 ; Diacritic # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS +2E2F ; Diacritic # Lm VERTICAL TILDE +302A..302F ; Diacritic # Mn [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK +3099..309A ; Diacritic # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +309B..309C ; Diacritic # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +30FC ; Diacritic # Lm KATAKANA-HIRAGANA PROLONGED SOUND MARK +A66F ; Diacritic # Mn COMBINING CYRILLIC VZMET +A67C..A67D ; Diacritic # Mn [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK +A67F ; Diacritic # Lm CYRILLIC PAYEROK +A6F0..A6F1 ; Diacritic # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS +A717..A71F ; Diacritic # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK +A720..A721 ; Diacritic # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE +A788 ; Diacritic # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT +A8C4 ; Diacritic # Mn SAURASHTRA SIGN VIRAMA +A8E0..A8F1 ; Diacritic # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA +A92B..A92D ; Diacritic # Mn [3] KAYAH LI TONE PLOPHU..KAYAH LI TONE CALYA PLOPHU +A92E ; Diacritic # Po KAYAH LI SIGN CWI +A953 ; Diacritic # Mc REJANG VIRAMA +A9B3 ; Diacritic # Mn JAVANESE SIGN CECAK TELU +A9C0 ; Diacritic # Mc JAVANESE PANGKON +AA7B ; Diacritic # Mc MYANMAR SIGN PAO KAREN TONE +AABF ; Diacritic # Mn TAI VIET TONE MAI EK +AAC0 ; Diacritic # Lo TAI VIET TONE MAI NUENG +AAC1 ; Diacritic # Mn TAI VIET TONE MAI THO +AAC2 ; Diacritic # Lo TAI VIET TONE MAI SONG +ABEC ; Diacritic # Mc MEETEI MAYEK LUM IYEK +ABED ; Diacritic # Mn MEETEI MAYEK APUN IYEK +FB1E ; Diacritic # Mn HEBREW POINT JUDEO-SPANISH VARIKA +FE20..FE26 ; Diacritic # Mn [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON +FF3E ; Diacritic # Sk FULLWIDTH CIRCUMFLEX ACCENT +FF40 ; Diacritic # Sk FULLWIDTH GRAVE ACCENT +FF70 ; Diacritic # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +FF9E..FF9F ; Diacritic # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +FFE3 ; Diacritic # Sk FULLWIDTH MACRON +110B9..110BA ; Diacritic # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA +1D167..1D169 ; Diacritic # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3 +1D16D..1D172 ; Diacritic # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5 +1D17B..1D182 ; Diacritic # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE +1D185..1D18B ; Diacritic # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE +1D1AA..1D1AD ; Diacritic # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO + +# Total code points: 639 + +# ================================================ + +00B7 ; Extender # Po MIDDLE DOT +02D0..02D1 ; Extender # Lm [2] MODIFIER LETTER TRIANGULAR COLON..MODIFIER LETTER HALF TRIANGULAR COLON +0640 ; Extender # Lm ARABIC TATWEEL +07FA ; Extender # Lm NKO LAJANYALAN +0E46 ; Extender # Lm THAI CHARACTER MAIYAMOK +0EC6 ; Extender # Lm LAO KO LA +1843 ; Extender # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN +1AA7 ; Extender # Lm TAI THAM SIGN MAI YAMOK +1C36 ; Extender # Mn LEPCHA SIGN RAN +1C7B ; Extender # Lm OL CHIKI RELAA +3005 ; Extender # Lm IDEOGRAPHIC ITERATION MARK +3031..3035 ; Extender # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF +309D..309E ; Extender # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK +30FC..30FE ; Extender # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK +A015 ; Extender # Lm YI SYLLABLE WU +A60C ; Extender # Lm VAI SYLLABLE LENGTHENER +A9CF ; Extender # Lm JAVANESE PANGRANGKEP +AA70 ; Extender # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION +AADD ; Extender # Lm TAI VIET SYMBOL SAM +FF70 ; Extender # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK + +# Total code points: 28 + +# ================================================ + +02B0..02B8 ; Other_Lowercase # Lm [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y +02C0..02C1 ; Other_Lowercase # Lm [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP +02E0..02E4 ; Other_Lowercase # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP +0345 ; Other_Lowercase # Mn COMBINING GREEK YPOGEGRAMMENI +037A ; Other_Lowercase # Lm GREEK YPOGEGRAMMENI +1D2C..1D61 ; Other_Lowercase # Lm [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI +1D78 ; Other_Lowercase # Lm MODIFIER LETTER CYRILLIC EN +1D9B..1DBF ; Other_Lowercase # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA +2090..2094 ; Other_Lowercase # Lm [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA +2170..217F ; Other_Lowercase # Nl [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND +24D0..24E9 ; Other_Lowercase # So [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z +2C7D ; Other_Lowercase # Lm MODIFIER LETTER CAPITAL V +A770 ; Other_Lowercase # Lm MODIFIER LETTER US + +# Total code points: 159 + +# ================================================ + +2160..216F ; Other_Uppercase # Nl [16] ROMAN NUMERAL ONE..ROMAN NUMERAL ONE THOUSAND +24B6..24CF ; Other_Uppercase # So [26] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN CAPITAL LETTER Z + +# Total code points: 42 + +# ================================================ + +FDD0..FDEF ; Noncharacter_Code_Point # Cn [32] <noncharacter-FDD0>..<noncharacter-FDEF> +FFFE..FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-FFFE>..<noncharacter-FFFF> +1FFFE..1FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-1FFFE>..<noncharacter-1FFFF> +2FFFE..2FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-2FFFE>..<noncharacter-2FFFF> +3FFFE..3FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-3FFFE>..<noncharacter-3FFFF> +4FFFE..4FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-4FFFE>..<noncharacter-4FFFF> +5FFFE..5FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-5FFFE>..<noncharacter-5FFFF> +6FFFE..6FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-6FFFE>..<noncharacter-6FFFF> +7FFFE..7FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-7FFFE>..<noncharacter-7FFFF> +8FFFE..8FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-8FFFE>..<noncharacter-8FFFF> +9FFFE..9FFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-9FFFE>..<noncharacter-9FFFF> +AFFFE..AFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-AFFFE>..<noncharacter-AFFFF> +BFFFE..BFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-BFFFE>..<noncharacter-BFFFF> +CFFFE..CFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-CFFFE>..<noncharacter-CFFFF> +DFFFE..DFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-DFFFE>..<noncharacter-DFFFF> +EFFFE..EFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-EFFFE>..<noncharacter-EFFFF> +FFFFE..FFFFF ; Noncharacter_Code_Point # Cn [2] <noncharacter-FFFFE>..<noncharacter-FFFFF> +10FFFE..10FFFF; Noncharacter_Code_Point # Cn [2] <noncharacter-10FFFE>..<noncharacter-10FFFF> + +# Total code points: 66 + +# ================================================ + +09BE ; Other_Grapheme_Extend # Mc BENGALI VOWEL SIGN AA +09D7 ; Other_Grapheme_Extend # Mc BENGALI AU LENGTH MARK +0B3E ; Other_Grapheme_Extend # Mc ORIYA VOWEL SIGN AA +0B57 ; Other_Grapheme_Extend # Mc ORIYA AU LENGTH MARK +0BBE ; Other_Grapheme_Extend # Mc TAMIL VOWEL SIGN AA +0BD7 ; Other_Grapheme_Extend # Mc TAMIL AU LENGTH MARK +0CC2 ; Other_Grapheme_Extend # Mc KANNADA VOWEL SIGN UU +0CD5..0CD6 ; Other_Grapheme_Extend # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK +0D3E ; Other_Grapheme_Extend # Mc MALAYALAM VOWEL SIGN AA +0D57 ; Other_Grapheme_Extend # Mc MALAYALAM AU LENGTH MARK +0DCF ; Other_Grapheme_Extend # Mc SINHALA VOWEL SIGN AELA-PILLA +0DDF ; Other_Grapheme_Extend # Mc SINHALA VOWEL SIGN GAYANUKITTA +200C..200D ; Other_Grapheme_Extend # Cf [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER +FF9E..FF9F ; Other_Grapheme_Extend # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +1D165 ; Other_Grapheme_Extend # Mc MUSICAL SYMBOL COMBINING STEM +1D16E..1D172 ; Other_Grapheme_Extend # Mc [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5 + +# Total code points: 23 + +# ================================================ + +2FF0..2FF1 ; IDS_Binary_Operator # So [2] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW +2FF4..2FFB ; IDS_Binary_Operator # So [8] IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID + +# Total code points: 10 + +# ================================================ + +2FF2..2FF3 ; IDS_Trinary_Operator # So [2] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW + +# Total code points: 2 + +# ================================================ + +2E80..2E99 ; Radical # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP +2E9B..2EF3 ; Radical # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE +2F00..2FD5 ; Radical # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE + +# Total code points: 329 + +# ================================================ + +3400..4DB5 ; Unified_Ideograph # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5 +4E00..9FCB ; Unified_Ideograph # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB +FA0E..FA0F ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA0E..CJK COMPATIBILITY IDEOGRAPH-FA0F +FA11 ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA11 +FA13..FA14 ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA13..CJK COMPATIBILITY IDEOGRAPH-FA14 +FA1F ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA1F +FA21 ; Unified_Ideograph # Lo CJK COMPATIBILITY IDEOGRAPH-FA21 +FA23..FA24 ; Unified_Ideograph # Lo [2] CJK COMPATIBILITY IDEOGRAPH-FA23..CJK COMPATIBILITY IDEOGRAPH-FA24 +FA27..FA29 ; Unified_Ideograph # Lo [3] CJK COMPATIBILITY IDEOGRAPH-FA27..CJK COMPATIBILITY IDEOGRAPH-FA29 +20000..2A6D6 ; Unified_Ideograph # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6 +2A700..2B734 ; Unified_Ideograph # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 +2B740..2B81D ; Unified_Ideograph # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D + +# Total code points: 74616 + +# ================================================ + +034F ; Other_Default_Ignorable_Code_Point # Mn COMBINING GRAPHEME JOINER +115F..1160 ; Other_Default_Ignorable_Code_Point # Lo [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER +2065..2069 ; Other_Default_Ignorable_Code_Point # Cn [5] <reserved-2065>..<reserved-2069> +3164 ; Other_Default_Ignorable_Code_Point # Lo HANGUL FILLER +FFA0 ; Other_Default_Ignorable_Code_Point # Lo HALFWIDTH HANGUL FILLER +FFF0..FFF8 ; Other_Default_Ignorable_Code_Point # Cn [9] <reserved-FFF0>..<reserved-FFF8> +E0000 ; Other_Default_Ignorable_Code_Point # Cn <reserved-E0000> +E0002..E001F ; Other_Default_Ignorable_Code_Point # Cn [30] <reserved-E0002>..<reserved-E001F> +E0080..E00FF ; Other_Default_Ignorable_Code_Point # Cn [128] <reserved-E0080>..<reserved-E00FF> +E01F0..E0FFF ; Other_Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<reserved-E0FFF> + +# Total code points: 3778 + +# ================================================ + +0149 ; Deprecated # L& LATIN SMALL LETTER N PRECEDED BY APOSTROPHE +0673 ; Deprecated # Lo ARABIC LETTER ALEF WITH WAVY HAMZA BELOW +0F77 ; Deprecated # Mn TIBETAN VOWEL SIGN VOCALIC RR +0F79 ; Deprecated # Mn TIBETAN VOWEL SIGN VOCALIC LL +17A3..17A4 ; Deprecated # Lo [2] KHMER INDEPENDENT VOWEL QAQ..KHMER INDEPENDENT VOWEL QAA +206A..206F ; Deprecated # Cf [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES +2329 ; Deprecated # Ps LEFT-POINTING ANGLE BRACKET +232A ; Deprecated # Pe RIGHT-POINTING ANGLE BRACKET +E0001 ; Deprecated # Cf LANGUAGE TAG +E0020..E007F ; Deprecated # Cf [96] TAG SPACE..CANCEL TAG + +# Total code points: 111 + +# ================================================ + +0069..006A ; Soft_Dotted # L& [2] LATIN SMALL LETTER I..LATIN SMALL LETTER J +012F ; Soft_Dotted # L& LATIN SMALL LETTER I WITH OGONEK +0249 ; Soft_Dotted # L& LATIN SMALL LETTER J WITH STROKE +0268 ; Soft_Dotted # L& LATIN SMALL LETTER I WITH STROKE +029D ; Soft_Dotted # L& LATIN SMALL LETTER J WITH CROSSED-TAIL +02B2 ; Soft_Dotted # Lm MODIFIER LETTER SMALL J +03F3 ; Soft_Dotted # L& GREEK LETTER YOT +0456 ; Soft_Dotted # L& CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +0458 ; Soft_Dotted # L& CYRILLIC SMALL LETTER JE +1D62 ; Soft_Dotted # L& LATIN SUBSCRIPT SMALL LETTER I +1D96 ; Soft_Dotted # L& LATIN SMALL LETTER I WITH RETROFLEX HOOK +1DA4 ; Soft_Dotted # Lm MODIFIER LETTER SMALL I WITH STROKE +1DA8 ; Soft_Dotted # Lm MODIFIER LETTER SMALL J WITH CROSSED-TAIL +1E2D ; Soft_Dotted # L& LATIN SMALL LETTER I WITH TILDE BELOW +1ECB ; Soft_Dotted # L& LATIN SMALL LETTER I WITH DOT BELOW +2071 ; Soft_Dotted # Lm SUPERSCRIPT LATIN SMALL LETTER I +2148..2149 ; Soft_Dotted # L& [2] DOUBLE-STRUCK ITALIC SMALL I..DOUBLE-STRUCK ITALIC SMALL J +2C7C ; Soft_Dotted # L& LATIN SUBSCRIPT SMALL LETTER J +1D422..1D423 ; Soft_Dotted # L& [2] MATHEMATICAL BOLD SMALL I..MATHEMATICAL BOLD SMALL J +1D456..1D457 ; Soft_Dotted # L& [2] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL ITALIC SMALL J +1D48A..1D48B ; Soft_Dotted # L& [2] MATHEMATICAL BOLD ITALIC SMALL I..MATHEMATICAL BOLD ITALIC SMALL J +1D4BE..1D4BF ; Soft_Dotted # L& [2] MATHEMATICAL SCRIPT SMALL I..MATHEMATICAL SCRIPT SMALL J +1D4F2..1D4F3 ; Soft_Dotted # L& [2] MATHEMATICAL BOLD SCRIPT SMALL I..MATHEMATICAL BOLD SCRIPT SMALL J +1D526..1D527 ; Soft_Dotted # L& [2] MATHEMATICAL FRAKTUR SMALL I..MATHEMATICAL FRAKTUR SMALL J +1D55A..1D55B ; Soft_Dotted # L& [2] MATHEMATICAL DOUBLE-STRUCK SMALL I..MATHEMATICAL DOUBLE-STRUCK SMALL J +1D58E..1D58F ; Soft_Dotted # L& [2] MATHEMATICAL BOLD FRAKTUR SMALL I..MATHEMATICAL BOLD FRAKTUR SMALL J +1D5C2..1D5C3 ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF SMALL I..MATHEMATICAL SANS-SERIF SMALL J +1D5F6..1D5F7 ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF BOLD SMALL I..MATHEMATICAL SANS-SERIF BOLD SMALL J +1D62A..1D62B ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF ITALIC SMALL I..MATHEMATICAL SANS-SERIF ITALIC SMALL J +1D65E..1D65F ; Soft_Dotted # L& [2] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J +1D692..1D693 ; Soft_Dotted # L& [2] MATHEMATICAL MONOSPACE SMALL I..MATHEMATICAL MONOSPACE SMALL J + +# Total code points: 46 + +# ================================================ + +0E40..0E44 ; Logical_Order_Exception # Lo [5] THAI CHARACTER SARA E..THAI CHARACTER SARA AI MAIMALAI +0EC0..0EC4 ; Logical_Order_Exception # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI +AAB5..AAB6 ; Logical_Order_Exception # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O +AAB9 ; Logical_Order_Exception # Lo TAI VIET VOWEL UEA +AABB..AABC ; Logical_Order_Exception # Lo [2] TAI VIET VOWEL AUE..TAI VIET VOWEL AY + +# Total code points: 15 + +# ================================================ + +2118 ; Other_ID_Start # Sm SCRIPT CAPITAL P +212E ; Other_ID_Start # So ESTIMATED SYMBOL +309B..309C ; Other_ID_Start # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK + +# Total code points: 4 + +# ================================================ + +00B7 ; Other_ID_Continue # Po MIDDLE DOT +0387 ; Other_ID_Continue # Po GREEK ANO TELEIA +1369..1371 ; Other_ID_Continue # No [9] ETHIOPIC DIGIT ONE..ETHIOPIC DIGIT NINE +19DA ; Other_ID_Continue # No NEW TAI LUE THAM DIGIT ONE + +# Total code points: 12 + +# ================================================ + +0021 ; STerm # Po EXCLAMATION MARK +002E ; STerm # Po FULL STOP +003F ; STerm # Po QUESTION MARK +055C ; STerm # Po ARMENIAN EXCLAMATION MARK +055E ; STerm # Po ARMENIAN QUESTION MARK +0589 ; STerm # Po ARMENIAN FULL STOP +061F ; STerm # Po ARABIC QUESTION MARK +06D4 ; STerm # Po ARABIC FULL STOP +0700..0702 ; STerm # Po [3] SYRIAC END OF PARAGRAPH..SYRIAC SUBLINEAR FULL STOP +07F9 ; STerm # Po NKO EXCLAMATION MARK +0964..0965 ; STerm # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA +104A..104B ; STerm # Po [2] MYANMAR SIGN LITTLE SECTION..MYANMAR SIGN SECTION +1362 ; STerm # Po ETHIOPIC FULL STOP +1367..1368 ; STerm # Po [2] ETHIOPIC QUESTION MARK..ETHIOPIC PARAGRAPH SEPARATOR +166E ; STerm # Po CANADIAN SYLLABICS FULL STOP +1735..1736 ; STerm # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION +1803 ; STerm # Po MONGOLIAN FULL STOP +1809 ; STerm # Po MONGOLIAN MANCHU FULL STOP +1944..1945 ; STerm # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK +1AA8..1AAB ; STerm # Po [4] TAI THAM SIGN KAAN..TAI THAM SIGN SATKAANKUU +1B5A..1B5B ; STerm # Po [2] BALINESE PANTI..BALINESE PAMADA +1B5E..1B5F ; STerm # Po [2] BALINESE CARIK SIKI..BALINESE CARIK PAREREN +1C3B..1C3C ; STerm # Po [2] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION NYET THYOOM TA-ROL +1C7E..1C7F ; STerm # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD +203C..203D ; STerm # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG +2047..2049 ; STerm # Po [3] DOUBLE QUESTION MARK..EXCLAMATION QUESTION MARK +2E2E ; STerm # Po REVERSED QUESTION MARK +3002 ; STerm # Po IDEOGRAPHIC FULL STOP +A4FF ; STerm # Po LISU PUNCTUATION FULL STOP +A60E..A60F ; STerm # Po [2] VAI FULL STOP..VAI QUESTION MARK +A6F3 ; STerm # Po BAMUM FULL STOP +A6F7 ; STerm # Po BAMUM QUESTION MARK +A876..A877 ; STerm # Po [2] PHAGS-PA MARK SHAD..PHAGS-PA MARK DOUBLE SHAD +A8CE..A8CF ; STerm # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA +A92F ; STerm # Po KAYAH LI SIGN SHYA +A9C8..A9C9 ; STerm # Po [2] JAVANESE PADA LINGSA..JAVANESE PADA LUNGSI +AA5D..AA5F ; STerm # Po [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA +ABEB ; STerm # Po MEETEI MAYEK CHEIKHEI +FE52 ; STerm # Po SMALL FULL STOP +FE56..FE57 ; STerm # Po [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK +FF01 ; STerm # Po FULLWIDTH EXCLAMATION MARK +FF0E ; STerm # Po FULLWIDTH FULL STOP +FF1F ; STerm # Po FULLWIDTH QUESTION MARK +FF61 ; STerm # Po HALFWIDTH IDEOGRAPHIC FULL STOP +10A56..10A57 ; STerm # Po [2] KHAROSHTHI PUNCTUATION DANDA..KHAROSHTHI PUNCTUATION DOUBLE DANDA +11047..11048 ; STerm # Po [2] BRAHMI DANDA..BRAHMI DOUBLE DANDA +110BE..110C1 ; STerm # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA + +# Total code points: 76 + +# ================================================ + +180B..180D ; Variation_Selector # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE +FE00..FE0F ; Variation_Selector # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 +E0100..E01EF ; Variation_Selector # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 + +# Total code points: 259 + +# ================================================ + +0009..000D ; Pattern_White_Space # Cc [5] <control-0009>..<control-000D> +0020 ; Pattern_White_Space # Zs SPACE +0085 ; Pattern_White_Space # Cc <control-0085> +200E..200F ; Pattern_White_Space # Cf [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK +2028 ; Pattern_White_Space # Zl LINE SEPARATOR +2029 ; Pattern_White_Space # Zp PARAGRAPH SEPARATOR + +# Total code points: 11 + +# ================================================ + +0021..0023 ; Pattern_Syntax # Po [3] EXCLAMATION MARK..NUMBER SIGN +0024 ; Pattern_Syntax # Sc DOLLAR SIGN +0025..0027 ; Pattern_Syntax # Po [3] PERCENT SIGN..APOSTROPHE +0028 ; Pattern_Syntax # Ps LEFT PARENTHESIS +0029 ; Pattern_Syntax # Pe RIGHT PARENTHESIS +002A ; Pattern_Syntax # Po ASTERISK +002B ; Pattern_Syntax # Sm PLUS SIGN +002C ; Pattern_Syntax # Po COMMA +002D ; Pattern_Syntax # Pd HYPHEN-MINUS +002E..002F ; Pattern_Syntax # Po [2] FULL STOP..SOLIDUS +003A..003B ; Pattern_Syntax # Po [2] COLON..SEMICOLON +003C..003E ; Pattern_Syntax # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN +003F..0040 ; Pattern_Syntax # Po [2] QUESTION MARK..COMMERCIAL AT +005B ; Pattern_Syntax # Ps LEFT SQUARE BRACKET +005C ; Pattern_Syntax # Po REVERSE SOLIDUS +005D ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET +005E ; Pattern_Syntax # Sk CIRCUMFLEX ACCENT +0060 ; Pattern_Syntax # Sk GRAVE ACCENT +007B ; Pattern_Syntax # Ps LEFT CURLY BRACKET +007C ; Pattern_Syntax # Sm VERTICAL LINE +007D ; Pattern_Syntax # Pe RIGHT CURLY BRACKET +007E ; Pattern_Syntax # Sm TILDE +00A1 ; Pattern_Syntax # Po INVERTED EXCLAMATION MARK +00A2..00A5 ; Pattern_Syntax # Sc [4] CENT SIGN..YEN SIGN +00A6..00A7 ; Pattern_Syntax # So [2] BROKEN BAR..SECTION SIGN +00A9 ; Pattern_Syntax # So COPYRIGHT SIGN +00AB ; Pattern_Syntax # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +00AC ; Pattern_Syntax # Sm NOT SIGN +00AE ; Pattern_Syntax # So REGISTERED SIGN +00B0 ; Pattern_Syntax # So DEGREE SIGN +00B1 ; Pattern_Syntax # Sm PLUS-MINUS SIGN +00B6 ; Pattern_Syntax # So PILCROW SIGN +00BB ; Pattern_Syntax # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +00BF ; Pattern_Syntax # Po INVERTED QUESTION MARK +00D7 ; Pattern_Syntax # Sm MULTIPLICATION SIGN +00F7 ; Pattern_Syntax # Sm DIVISION SIGN +2010..2015 ; Pattern_Syntax # Pd [6] HYPHEN..HORIZONTAL BAR +2016..2017 ; Pattern_Syntax # Po [2] DOUBLE VERTICAL LINE..DOUBLE LOW LINE +2018 ; Pattern_Syntax # Pi LEFT SINGLE QUOTATION MARK +2019 ; Pattern_Syntax # Pf RIGHT SINGLE QUOTATION MARK +201A ; Pattern_Syntax # Ps SINGLE LOW-9 QUOTATION MARK +201B..201C ; Pattern_Syntax # Pi [2] SINGLE HIGH-REVERSED-9 QUOTATION MARK..LEFT DOUBLE QUOTATION MARK +201D ; Pattern_Syntax # Pf RIGHT DOUBLE QUOTATION MARK +201E ; Pattern_Syntax # Ps DOUBLE LOW-9 QUOTATION MARK +201F ; Pattern_Syntax # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK +2020..2027 ; Pattern_Syntax # Po [8] DAGGER..HYPHENATION POINT +2030..2038 ; Pattern_Syntax # Po [9] PER MILLE SIGN..CARET +2039 ; Pattern_Syntax # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK +203A ; Pattern_Syntax # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +203B..203E ; Pattern_Syntax # Po [4] REFERENCE MARK..OVERLINE +2041..2043 ; Pattern_Syntax # Po [3] CARET INSERTION POINT..HYPHEN BULLET +2044 ; Pattern_Syntax # Sm FRACTION SLASH +2045 ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH QUILL +2046 ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH QUILL +2047..2051 ; Pattern_Syntax # Po [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY +2052 ; Pattern_Syntax # Sm COMMERCIAL MINUS SIGN +2053 ; Pattern_Syntax # Po SWUNG DASH +2055..205E ; Pattern_Syntax # Po [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS +2190..2194 ; Pattern_Syntax # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW +2195..2199 ; Pattern_Syntax # So [5] UP DOWN ARROW..SOUTH WEST ARROW +219A..219B ; Pattern_Syntax # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE +219C..219F ; Pattern_Syntax # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW +21A0 ; Pattern_Syntax # Sm RIGHTWARDS TWO HEADED ARROW +21A1..21A2 ; Pattern_Syntax # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL +21A3 ; Pattern_Syntax # Sm RIGHTWARDS ARROW WITH TAIL +21A4..21A5 ; Pattern_Syntax # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR +21A6 ; Pattern_Syntax # Sm RIGHTWARDS ARROW FROM BAR +21A7..21AD ; Pattern_Syntax # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW +21AE ; Pattern_Syntax # Sm LEFT RIGHT ARROW WITH STROKE +21AF..21CD ; Pattern_Syntax # So [31] DOWNWARDS ZIGZAG ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE +21CE..21CF ; Pattern_Syntax # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE +21D0..21D1 ; Pattern_Syntax # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW +21D2 ; Pattern_Syntax # Sm RIGHTWARDS DOUBLE ARROW +21D3 ; Pattern_Syntax # So DOWNWARDS DOUBLE ARROW +21D4 ; Pattern_Syntax # Sm LEFT RIGHT DOUBLE ARROW +21D5..21F3 ; Pattern_Syntax # So [31] UP DOWN DOUBLE ARROW..UP DOWN WHITE ARROW +21F4..22FF ; Pattern_Syntax # Sm [268] RIGHT ARROW WITH SMALL CIRCLE..Z NOTATION BAG MEMBERSHIP +2300..2307 ; Pattern_Syntax # So [8] DIAMETER SIGN..WAVY LINE +2308..230B ; Pattern_Syntax # Sm [4] LEFT CEILING..RIGHT FLOOR +230C..231F ; Pattern_Syntax # So [20] BOTTOM RIGHT CROP..BOTTOM RIGHT CORNER +2320..2321 ; Pattern_Syntax # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL +2322..2328 ; Pattern_Syntax # So [7] FROWN..KEYBOARD +2329 ; Pattern_Syntax # Ps LEFT-POINTING ANGLE BRACKET +232A ; Pattern_Syntax # Pe RIGHT-POINTING ANGLE BRACKET +232B..237B ; Pattern_Syntax # So [81] ERASE TO THE LEFT..NOT CHECK MARK +237C ; Pattern_Syntax # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW +237D..239A ; Pattern_Syntax # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL +239B..23B3 ; Pattern_Syntax # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM +23B4..23DB ; Pattern_Syntax # So [40] TOP SQUARE BRACKET..FUSE +23DC..23E1 ; Pattern_Syntax # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET +23E2..23F3 ; Pattern_Syntax # So [18] WHITE TRAPEZIUM..HOURGLASS WITH FLOWING SAND +23F4..23FF ; Pattern_Syntax # Cn [12] <reserved-23F4>..<reserved-23FF> +2400..2426 ; Pattern_Syntax # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO +2427..243F ; Pattern_Syntax # Cn [25] <reserved-2427>..<reserved-243F> +2440..244A ; Pattern_Syntax # So [11] OCR HOOK..OCR DOUBLE BACKSLASH +244B..245F ; Pattern_Syntax # Cn [21] <reserved-244B>..<reserved-245F> +2500..25B6 ; Pattern_Syntax # So [183] BOX DRAWINGS LIGHT HORIZONTAL..BLACK RIGHT-POINTING TRIANGLE +25B7 ; Pattern_Syntax # Sm WHITE RIGHT-POINTING TRIANGLE +25B8..25C0 ; Pattern_Syntax # So [9] BLACK RIGHT-POINTING SMALL TRIANGLE..BLACK LEFT-POINTING TRIANGLE +25C1 ; Pattern_Syntax # Sm WHITE LEFT-POINTING TRIANGLE +25C2..25F7 ; Pattern_Syntax # So [54] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE CIRCLE WITH UPPER RIGHT QUADRANT +25F8..25FF ; Pattern_Syntax # Sm [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE +2600..266E ; Pattern_Syntax # So [111] BLACK SUN WITH RAYS..MUSIC NATURAL SIGN +266F ; Pattern_Syntax # Sm MUSIC SHARP SIGN +2670..26FF ; Pattern_Syntax # So [144] WEST SYRIAC CROSS..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE +2700 ; Pattern_Syntax # Cn <reserved-2700> +2701..2767 ; Pattern_Syntax # So [103] UPPER BLADE SCISSORS..ROTATED FLORAL HEART BULLET +2768 ; Pattern_Syntax # Ps MEDIUM LEFT PARENTHESIS ORNAMENT +2769 ; Pattern_Syntax # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT +276A ; Pattern_Syntax # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT +276B ; Pattern_Syntax # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT +276C ; Pattern_Syntax # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT +276D ; Pattern_Syntax # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT +276E ; Pattern_Syntax # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT +276F ; Pattern_Syntax # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT +2770 ; Pattern_Syntax # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT +2771 ; Pattern_Syntax # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT +2772 ; Pattern_Syntax # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT +2773 ; Pattern_Syntax # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT +2774 ; Pattern_Syntax # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT +2775 ; Pattern_Syntax # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT +2794..27BF ; Pattern_Syntax # So [44] HEAVY WIDE-HEADED RIGHTWARDS ARROW..DOUBLE CURLY LOOP +27C0..27C4 ; Pattern_Syntax # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET +27C5 ; Pattern_Syntax # Ps LEFT S-SHAPED BAG DELIMITER +27C6 ; Pattern_Syntax # Pe RIGHT S-SHAPED BAG DELIMITER +27C7..27CA ; Pattern_Syntax # Sm [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE +27CB ; Pattern_Syntax # Cn <reserved-27CB> +27CC ; Pattern_Syntax # Sm LONG DIVISION +27CD ; Pattern_Syntax # Cn <reserved-27CD> +27CE..27E5 ; Pattern_Syntax # Sm [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK +27E6 ; Pattern_Syntax # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET +27E7 ; Pattern_Syntax # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET +27E8 ; Pattern_Syntax # Ps MATHEMATICAL LEFT ANGLE BRACKET +27E9 ; Pattern_Syntax # Pe MATHEMATICAL RIGHT ANGLE BRACKET +27EA ; Pattern_Syntax # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET +27EB ; Pattern_Syntax # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET +27EC ; Pattern_Syntax # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET +27ED ; Pattern_Syntax # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET +27EE ; Pattern_Syntax # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS +27EF ; Pattern_Syntax # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS +27F0..27FF ; Pattern_Syntax # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW +2800..28FF ; Pattern_Syntax # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678 +2900..2982 ; Pattern_Syntax # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON +2983 ; Pattern_Syntax # Ps LEFT WHITE CURLY BRACKET +2984 ; Pattern_Syntax # Pe RIGHT WHITE CURLY BRACKET +2985 ; Pattern_Syntax # Ps LEFT WHITE PARENTHESIS +2986 ; Pattern_Syntax # Pe RIGHT WHITE PARENTHESIS +2987 ; Pattern_Syntax # Ps Z NOTATION LEFT IMAGE BRACKET +2988 ; Pattern_Syntax # Pe Z NOTATION RIGHT IMAGE BRACKET +2989 ; Pattern_Syntax # Ps Z NOTATION LEFT BINDING BRACKET +298A ; Pattern_Syntax # Pe Z NOTATION RIGHT BINDING BRACKET +298B ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH UNDERBAR +298C ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH UNDERBAR +298D ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER +298E ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER +298F ; Pattern_Syntax # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER +2990 ; Pattern_Syntax # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER +2991 ; Pattern_Syntax # Ps LEFT ANGLE BRACKET WITH DOT +2992 ; Pattern_Syntax # Pe RIGHT ANGLE BRACKET WITH DOT +2993 ; Pattern_Syntax # Ps LEFT ARC LESS-THAN BRACKET +2994 ; Pattern_Syntax # Pe RIGHT ARC GREATER-THAN BRACKET +2995 ; Pattern_Syntax # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET +2996 ; Pattern_Syntax # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET +2997 ; Pattern_Syntax # Ps LEFT BLACK TORTOISE SHELL BRACKET +2998 ; Pattern_Syntax # Pe RIGHT BLACK TORTOISE SHELL BRACKET +2999..29D7 ; Pattern_Syntax # Sm [63] DOTTED FENCE..BLACK HOURGLASS +29D8 ; Pattern_Syntax # Ps LEFT WIGGLY FENCE +29D9 ; Pattern_Syntax # Pe RIGHT WIGGLY FENCE +29DA ; Pattern_Syntax # Ps LEFT DOUBLE WIGGLY FENCE +29DB ; Pattern_Syntax # Pe RIGHT DOUBLE WIGGLY FENCE +29DC..29FB ; Pattern_Syntax # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS +29FC ; Pattern_Syntax # Ps LEFT-POINTING CURVED ANGLE BRACKET +29FD ; Pattern_Syntax # Pe RIGHT-POINTING CURVED ANGLE BRACKET +29FE..2AFF ; Pattern_Syntax # Sm [258] TINY..N-ARY WHITE VERTICAL BAR +2B00..2B2F ; Pattern_Syntax # So [48] NORTH EAST WHITE ARROW..WHITE VERTICAL ELLIPSE +2B30..2B44 ; Pattern_Syntax # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET +2B45..2B46 ; Pattern_Syntax # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW +2B47..2B4C ; Pattern_Syntax # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR +2B4D..2B4F ; Pattern_Syntax # Cn [3] <reserved-2B4D>..<reserved-2B4F> +2B50..2B59 ; Pattern_Syntax # So [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE +2B5A..2BFF ; Pattern_Syntax # Cn [166] <reserved-2B5A>..<reserved-2BFF> +2E00..2E01 ; Pattern_Syntax # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER +2E02 ; Pattern_Syntax # Pi LEFT SUBSTITUTION BRACKET +2E03 ; Pattern_Syntax # Pf RIGHT SUBSTITUTION BRACKET +2E04 ; Pattern_Syntax # Pi LEFT DOTTED SUBSTITUTION BRACKET +2E05 ; Pattern_Syntax # Pf RIGHT DOTTED SUBSTITUTION BRACKET +2E06..2E08 ; Pattern_Syntax # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER +2E09 ; Pattern_Syntax # Pi LEFT TRANSPOSITION BRACKET +2E0A ; Pattern_Syntax # Pf RIGHT TRANSPOSITION BRACKET +2E0B ; Pattern_Syntax # Po RAISED SQUARE +2E0C ; Pattern_Syntax # Pi LEFT RAISED OMISSION BRACKET +2E0D ; Pattern_Syntax # Pf RIGHT RAISED OMISSION BRACKET +2E0E..2E16 ; Pattern_Syntax # Po [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE +2E17 ; Pattern_Syntax # Pd DOUBLE OBLIQUE HYPHEN +2E18..2E19 ; Pattern_Syntax # Po [2] INVERTED INTERROBANG..PALM BRANCH +2E1A ; Pattern_Syntax # Pd HYPHEN WITH DIAERESIS +2E1B ; Pattern_Syntax # Po TILDE WITH RING ABOVE +2E1C ; Pattern_Syntax # Pi LEFT LOW PARAPHRASE BRACKET +2E1D ; Pattern_Syntax # Pf RIGHT LOW PARAPHRASE BRACKET +2E1E..2E1F ; Pattern_Syntax # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW +2E20 ; Pattern_Syntax # Pi LEFT VERTICAL BAR WITH QUILL +2E21 ; Pattern_Syntax # Pf RIGHT VERTICAL BAR WITH QUILL +2E22 ; Pattern_Syntax # Ps TOP LEFT HALF BRACKET +2E23 ; Pattern_Syntax # Pe TOP RIGHT HALF BRACKET +2E24 ; Pattern_Syntax # Ps BOTTOM LEFT HALF BRACKET +2E25 ; Pattern_Syntax # Pe BOTTOM RIGHT HALF BRACKET +2E26 ; Pattern_Syntax # Ps LEFT SIDEWAYS U BRACKET +2E27 ; Pattern_Syntax # Pe RIGHT SIDEWAYS U BRACKET +2E28 ; Pattern_Syntax # Ps LEFT DOUBLE PARENTHESIS +2E29 ; Pattern_Syntax # Pe RIGHT DOUBLE PARENTHESIS +2E2A..2E2E ; Pattern_Syntax # Po [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK +2E2F ; Pattern_Syntax # Lm VERTICAL TILDE +2E30..2E31 ; Pattern_Syntax # Po [2] RING POINT..WORD SEPARATOR MIDDLE DOT +2E32..2E7F ; Pattern_Syntax # Cn [78] <reserved-2E32>..<reserved-2E7F> +3001..3003 ; Pattern_Syntax # Po [3] IDEOGRAPHIC COMMA..DITTO MARK +3008 ; Pattern_Syntax # Ps LEFT ANGLE BRACKET +3009 ; Pattern_Syntax # Pe RIGHT ANGLE BRACKET +300A ; Pattern_Syntax # Ps LEFT DOUBLE ANGLE BRACKET +300B ; Pattern_Syntax # Pe RIGHT DOUBLE ANGLE BRACKET +300C ; Pattern_Syntax # Ps LEFT CORNER BRACKET +300D ; Pattern_Syntax # Pe RIGHT CORNER BRACKET +300E ; Pattern_Syntax # Ps LEFT WHITE CORNER BRACKET +300F ; Pattern_Syntax # Pe RIGHT WHITE CORNER BRACKET +3010 ; Pattern_Syntax # Ps LEFT BLACK LENTICULAR BRACKET +3011 ; Pattern_Syntax # Pe RIGHT BLACK LENTICULAR BRACKET +3012..3013 ; Pattern_Syntax # So [2] POSTAL MARK..GETA MARK +3014 ; Pattern_Syntax # Ps LEFT TORTOISE SHELL BRACKET +3015 ; Pattern_Syntax # Pe RIGHT TORTOISE SHELL BRACKET +3016 ; Pattern_Syntax # Ps LEFT WHITE LENTICULAR BRACKET +3017 ; Pattern_Syntax # Pe RIGHT WHITE LENTICULAR BRACKET +3018 ; Pattern_Syntax # Ps LEFT WHITE TORTOISE SHELL BRACKET +3019 ; Pattern_Syntax # Pe RIGHT WHITE TORTOISE SHELL BRACKET +301A ; Pattern_Syntax # Ps LEFT WHITE SQUARE BRACKET +301B ; Pattern_Syntax # Pe RIGHT WHITE SQUARE BRACKET +301C ; Pattern_Syntax # Pd WAVE DASH +301D ; Pattern_Syntax # Ps REVERSED DOUBLE PRIME QUOTATION MARK +301E..301F ; Pattern_Syntax # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK +3020 ; Pattern_Syntax # So POSTAL MARK FACE +3030 ; Pattern_Syntax # Pd WAVY DASH +FD3E ; Pattern_Syntax # Ps ORNATE LEFT PARENTHESIS +FD3F ; Pattern_Syntax # Pe ORNATE RIGHT PARENTHESIS +FE45..FE46 ; Pattern_Syntax # Po [2] SESAME DOT..WHITE SESAME DOT + +# Total code points: 2760 + +# EOF
--- a/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/make/tools/src/build/tools/generatecharacter/GenerateCharacter.java Mon May 09 12:32:40 2011 -0700 @@ -1,4 +1,3 @@ - /* * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -34,6 +33,7 @@ import java.io.BufferedWriter; import java.io.FileWriter; import java.io.File; +import java.util.List; import build.tools.generatecharacter.CharacterName; @@ -68,18 +68,17 @@ final static boolean DEBUG = false; - final static int MAX_UNICODE_VALUE = 0xFFFF; final static String commandMarker = "$$"; static String ROOT = ""; static String DefaultUnicodeSpecFileName = ROOT + "UnicodeData.txt"; static String DefaultSpecialCasingFileName = ROOT + "SpecialCasing.txt"; + static String DefaultPropListFileName = ROOT + "PropList.txt"; static String DefaultJavaTemplateFileName = ROOT + "Character.java.template"; static String DefaultJavaOutputFileName = ROOT + "Character.java"; static String DefaultCTemplateFileName = ROOT + "Character.c.template"; static String DefaultCOutputFileName = ROOT + "Character.c"; - static String CharacterDataClassName = "CharacterData"; - static int plane = 0; + static int plane = 0; /* The overall idea is that, in the generated Character class source code, most character property data is stored in a special multi-level table whose @@ -105,7 +104,11 @@ entries are short rather than byte). */ - /* The character properties are currently encoded into 32 bits in the following manner: + /* The character properties are currently encoded into A (32 bits)and B (16 bits) + two parts. + + A: the low 32 bits are defined in the following manner: + 1 bit Mirrored property. 4 bits Bidirectional category (see below) (unused if -nobidi switch specified) 9 bits A signed offset used for converting case . @@ -148,6 +151,14 @@ will produce the desired numeric value. 5 bits The digit offset (see description of previous field) 5 bits Character type (see below) + + B: the high 16 bits are defined as: + 1 bit Other_Lowercase property + 1 bit Other_Uppercase property + 1 bit Other_Alphabetic property + 1 bit Other_Math property + 1 bit Ideographic property + 1 bit Noncharacter codepoint property */ @@ -173,9 +184,22 @@ // case offset are 9 bits maskCase = 0x01FF, shiftBidi = 27, maskBidi = 0x78000000, - shiftMirrored = 31, maskMirrored = 0x80000000, + shiftMirrored = 31, //maskMirrored = 0x80000000, shiftPlane = 16, maskPlane = 0xFF0000; + // maskMirrored needs to be long, if up 16-bit + private static final long maskMirrored = 0x80000000L; + + // bit masks identify the 16-bit priperty field described above, in B + // table + private static final long + maskOtherLowercase = 0x100000000L, + maskOtherUppercase = 0x200000000L, + maskOtherAlphabetic = 0x400000000L, + maskOtherMath = 0x800000000L, + maskIdeographic = 0x1000000000L, + maskNoncharacterCP = 0x2000000000L; + // Can compare masked values with these to determine // numeric or lexical types. public static int @@ -258,7 +282,7 @@ * The specification file is assumed to contain its data in sorted order by * character code; as a result, the array passed as an argument to this method * has its components in the same sorted order, with one entry for each defined - * Unicode character or character range. (A range is indicated by two consecutive + * Unicode character or character range. (A range is indicated by two consecutive * entries, such that the name of the first entry begins with "<" and ends with * "First>" and the second entry begins with "<" and ends with "Last>".) This is * therefore a sparse representation of the character property data. @@ -282,7 +306,8 @@ * @see GenerateCharacter#buildOne */ - static long[] buildMap(UnicodeSpec[] data, SpecialCaseMap[] specialMaps) { + static long[] buildMap(UnicodeSpec[] data, SpecialCaseMap[] specialMaps, PropList propList) + { long[] result; if (bLatin1 == true) { result = new long[256]; @@ -290,13 +315,13 @@ result = new long[1<<16]; } int k=0; - int codePoint = plane<<16; + int codePoint = plane<<16; UnicodeSpec nonCharSpec = new UnicodeSpec(); for (int j = 0; j < data.length && k < result.length; j++) { if (data[j].codePoint == codePoint) { result[k] = buildOne(codePoint, data[j], specialMaps); ++k; - ++codePoint; + ++codePoint; } else if(data[j].codePoint > codePoint) { if (data[j].name.endsWith("Last>")) { @@ -304,7 +329,7 @@ while (codePoint < data[j].codePoint && k < result.length) { result[k] = buildOne(codePoint, data[j], specialMaps); ++k; - ++codePoint; + ++codePoint; } } else { @@ -312,15 +337,14 @@ while (codePoint < data[j].codePoint && k < result.length) { result[k] = buildOne(codePoint, nonCharSpec, specialMaps); ++k; - ++codePoint; + ++codePoint; } } k = data[j].codePoint & 0xFFFF; - codePoint = data[j].codePoint; + codePoint = data[j].codePoint; result[k] = buildOne(codePoint, data[j], specialMaps); ++k; - ++codePoint; - + ++codePoint; } else { System.out.println("An error has occured during spec mapping."); @@ -333,8 +357,17 @@ while (k < result.length) { result[k] = buildOne(codePoint, nonCharSpec, specialMaps); ++k; - ++codePoint; + ++codePoint; } + // now add all extra supported properties from PropList, to the + // upper 16-bit + addExProp(result, propList, "Other_Lowercase", maskOtherLowercase); + addExProp(result, propList, "Other_Uppercase", maskOtherUppercase); + addExProp(result, propList, "Other_Alphabetic", maskOtherAlphabetic); + addExProp(result, propList, "Ideographic", maskIdeographic); + //addExProp(result, propList, "Other_Math", maskOtherMath); + //addExProp(result, propList, "Noncharacter_CodePoint", maskNoncharacterCP); + return result; } @@ -381,15 +414,15 @@ // record the general category resultA |= us.generalCategory; - // record the numeric properties - NUMERIC: { + // record the numeric properties + NUMERIC: { STRANGE: { int val = 0; - // c is A-Z + // c is A-Z if ((c >= 0x0041) && (c <= 0x005A)) { val = c - 0x0041; resultA |= valueJavaSupradecimal; - // c is a-z + // c is a-z } else if ((c >= 0x0061) && (c <= 0x007A)) { val = c - 0x0061; resultA |= valueJavaSupradecimal; @@ -428,7 +461,7 @@ resultA |= valueStrangeNumeric; } // end NUMERIC - // record case mapping + // record case mapping int offset = 0; // might have a 1:M mapping int specialMap = SpecialCaseMap.find(c, specialCaseMaps); @@ -458,12 +491,12 @@ } } if ((us.hasTitleMap() && us.titleMap != us.upperMap) || - (bHasUpper && us.hasLowerMap())) { + (bHasUpper && us.hasLowerMap())) { resultA |= maskTitleCase; } if (bHasUpper && !us.hasLowerMap() && !us.hasTitleMap() && verbose) { - System.out.println("Warning: Character " + hex4(c) + " has upper but " + - "no title case; Java won't know this"); + System.out.println("Warning: Character " + hex4(c) + " has upper but " + + "no title case; Java won't know this"); } if (offset < minOffsetSeen) minOffsetSeen = offset; if (offset > maxOffsetSeen) maxOffsetSeen = offset; @@ -475,8 +508,7 @@ } resultA |= ((offset & maskCase) << shiftCaseOffset); - - // record lexical info about this character + // record lexical info about this character if (us.generalCategory == UnicodeSpec.LOWERCASE_LETTER || us.generalCategory == UnicodeSpec.UPPERCASE_LETTER || us.generalCategory == UnicodeSpec.TITLECASE_LETTER @@ -539,6 +571,16 @@ return resultA; } + static void addExProp(long[] map, PropList propList, String prop, long mask) { + List<Integer> cps = propList.codepoints(prop); + if (cps != null) { + for (Integer cp : cps) { + if (cp < map.length) + map[cp] |= mask; + } + } + } + /** * This is the heart of the table compression strategy. The inputs are a map * and a number of bits (size). The map is simply an array of long integer values; @@ -645,8 +687,8 @@ */ static void generateCharacterClass(String theTemplateFileName, - String theOutputFileName) - throws FileNotFoundException, IOException { + String theOutputFileName) + throws FileNotFoundException, IOException { BufferedReader in = new BufferedReader(new FileReader(theTemplateFileName)); PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(theOutputFileName))); out.println(commentStart + @@ -719,6 +761,9 @@ if (x.length() >= 9 && x.substring(0, 7).equals("Lookup(") && x.substring(x.length()-1).equals(")") ) return genAccess("A", x.substring(7, x.length()-1), (identifiers ? 2 : 32)); + if (x.length() >= 11 && x.substring(0, 9).equals("LookupEx(") && + x.substring(x.length()-1).equals(")") ) + return genAccess("B", x.substring(9, x.length()-1), 16); if (x.equals("shiftType")) return Long.toString(shiftType); if (x.equals("shiftIdentifierInfo")) return Long.toString(shiftIdentifierInfo); if (x.equals("maskIdentifierInfo")) return "0x" + hex8(maskIdentifierInfo); @@ -731,6 +776,10 @@ if (x.equals("maskLowerCase")) return "0x" + hex8(maskLowerCase); if (x.equals("maskUpperCase")) return "0x" + hex8(maskUpperCase); if (x.equals("maskTitleCase")) return "0x" + hex8(maskTitleCase); + if (x.equals("maskOtherLowercase")) return "0x" + hex4(maskOtherLowercase >> 32); + if (x.equals("maskOtherUppercase")) return "0x" + hex4(maskOtherUppercase >> 32); + if (x.equals("maskOtherAlphabetic")) return "0x" + hex4(maskOtherAlphabetic >> 32); + if (x.equals("maskIdeographic")) return "0x" + hex4(maskIdeographic >> 32); if (x.equals("valueIgnorable")) return "0x" + hex8(valueIgnorable); if (x.equals("valueJavaUnicodeStart")) return "0x" + hex8(valueJavaUnicodeStart); if (x.equals("valueJavaOnlyStart")) return "0x" + hex8(valueJavaOnlyStart); @@ -899,7 +948,7 @@ // If we ever need more than 32 bits to represent the character properties, // then a table "B" may be needed as well. - // genTable(result, "B", tables[n - 1], 32, 16, sizes[n - 1], false, 0, true, true, false); + genTable(result, "B", tables[n - 1], 32, 16, sizes[n - 1], false, 0, true, true, false); totalBytes += ((((tables[n - 1].length * (identifiers ? 2 : 32)) + 31) >> 5) << 2); result.append(commentStart); @@ -1080,9 +1129,9 @@ */ static void genTable(StringBuffer result, String name, - long[] table, int extract, int bits, int size, - boolean preshifted, int shift, boolean hexFormat, - boolean properties, boolean hexComment) { + long[] table, int extract, int bits, int size, + boolean preshifted, int shift, boolean hexFormat, + boolean properties, boolean hexComment) { String atype = bits == 1 ? (Csyntax ? "unsigned long" : "int") : bits == 2 ? (Csyntax ? "unsigned long" : "int") : @@ -1137,7 +1186,12 @@ char ch = '\u0000'; int charsPerEntry = -entriesPerChar; for (int j=0; j<table.length; ++j) { - long entry = table[j] >> extract; + //long entry = table[j] >> extract; + long entry; + if ("A".equals(name)) + entry = (table[j] & 0xffffffffL) >> extract; + else + entry = (table[j] >> extract); if (shiftEntries) entry <<= shift; if (entry >= (1L << bits)) { FAIL("Entry too big"); @@ -1549,6 +1603,7 @@ static String OutputFileName = null; static String UnicodeSpecFileName = null; // liu static String SpecialCasingFileName = null; + static String PropListFileName = null; static boolean useCharForByte = false; static int[] sizes; static int bins = 0; // liu; if > 0, then perform search @@ -1668,20 +1723,28 @@ SpecialCasingFileName = args[++j]; } } - else if (args[j].equals("-plane")) { - if (j == args.length -1) { - FAIL("Plane number missing after -plane"); - } - else { - plane = Integer.parseInt(args[++j]); - } - if (plane > 0) { - bLatin1 = false; - } - } - else if ("-usecharforbyte".equals(args[j])) { - useCharForByte = true; - } + else if (args[j].equals("-proplist")) { + if (j == args.length -1) { + FAIL("File name missing after -proplist"); + } + else { + PropListFileName = args[++j]; + } + } + else if (args[j].equals("-plane")) { + if (j == args.length -1) { + FAIL("Plane number missing after -plane"); + } + else { + plane = Integer.parseInt(args[++j]); + } + if (plane > 0) { + bLatin1 = false; + } + } + else if ("-usecharforbyte".equals(args[j])) { + useCharForByte = true; + } else if (args[j].equals("-latin1")) { bLatin1 = true; plane = 0; @@ -1728,6 +1791,10 @@ SpecialCasingFileName = DefaultSpecialCasingFileName; desc.append(" [-specialcasing " + SpecialCasingFileName + ']'); } + if (PropListFileName == null) { + PropListFileName = DefaultPropListFileName; + desc.append(" [-proplist " + PropListFileName + ']'); + } if (TemplateFileName == null) { TemplateFileName = (Csyntax ? DefaultCTemplateFileName : DefaultJavaTemplateFileName); @@ -1877,12 +1944,13 @@ try { UnicodeSpec[] data = UnicodeSpec.readSpecFile(new File(UnicodeSpecFileName), plane); + specialCaseMaps = SpecialCaseMap.readSpecFile(new File(SpecialCasingFileName), plane); + PropList propList = PropList.readSpecFile(new File(PropListFileName), plane); - specialCaseMaps = SpecialCaseMap.readSpecFile(new File(SpecialCasingFileName), plane); if (verbose) { System.out.println(data.length + " items read from Unicode spec file " + UnicodeSpecFileName); // liu } - long[] map = buildMap(data, specialCaseMaps); + long[] map = buildMap(data, specialCaseMaps, propList); if (verbose) { System.err.println("Completed building of initial map"); }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/src/build/tools/generatecharacter/PropList.java Mon May 09 12:32:40 2011 -0700 @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package build.tools.generatecharacter; + +import java.util.regex.*; +import java.util.*; +import java.io.*; + +/** + * A PropList object contains the lists of code points that have + * the same Unicode property defined in PropList.txt + * + * @author Xueming Shen + */ +public class PropList { + + public static PropList readSpecFile(File file, int plane) + throws IOException + { + return new PropList(file, plane); + } + + public List<Integer> codepoints(String name) { + return propMap.get(name); + } + + public Set<String> names() { + return propMap.keySet(); + } + + private Map<String, ArrayList<Integer>> propMap = + new LinkedHashMap<String, ArrayList<Integer>>(); + + private PropList(File file, int plane) throws IOException { + + int i, j; + BufferedReader sbfr = new BufferedReader(new FileReader(file)); + Matcher m = Pattern.compile("(\\p{XDigit}+)(?:\\.{2}(\\p{XDigit}+))?\\s*;\\s+(\\w+)\\s+#.*").matcher(""); + String line = null; + int lineNo = 0; + while ((line = sbfr.readLine()) != null) { + lineNo++; + if (line.length() <= 1 || line.charAt(0) == '#') { + continue; + } + m.reset(line); + if (m.matches()) { + int start = Integer.parseInt(m.group(1), 16); + if ((start >> 16) != plane) + continue; + int end = (m.group(2)==null)?start + :Integer.parseInt(m.group(2), 16); + String name = m.group(3); + + start &= 0xffff; + end &= 0xffff; + + ArrayList<Integer> list = propMap.get(name); + if (list == null) { + list = new ArrayList<Integer>(); + propMap.put(name, list); + } + while (start <= end) + list.add(start++); + } else { + System.out.printf("Warning: Unrecognized line %d <%s>%n", lineNo, line); + } + } + sbfr.close(); + + //for (String name: propMap.keySet()) { + // System.out.printf("%s %d%n", name, propMap.get(name).size()); + //} + } + + public static void main(String[] args) throws IOException { + readSpecFile(new File(args[0]), Integer.decode(args[1])); + } +}
--- a/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java Mon May 09 12:32:40 2011 -0700 @@ -1666,7 +1666,7 @@ */ protected void removeCurrentRow() { ((Row)getCurrentRow()).setDeleted(); - rvh.remove(cursorPos); + rvh.remove(cursorPos - 1); --numRows; } @@ -6349,7 +6349,6 @@ // this can happen if deleted rows are being shown if (row.getDeleted() == true) { removeCurrentRow(); - --numRows; } }
--- a/jdk/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/security/auth/module/Krb5LoginModule.java Mon May 09 12:32:40 2011 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -395,7 +395,13 @@ private boolean succeeded = false; private boolean commitSucceeded = false; private String username; + + // Encryption keys calculated from password. Assigned when storekey == true + // and useKeyTab == false (or true but not found) private EncryptionKey[] encKeys = null; + + KeyTab ktab = null; + private Credentials cred = null; private PrincipalName principal = null; @@ -663,28 +669,49 @@ (krb5PrincName.toString(), PrincipalName.KRB_NT_PRINCIPAL); } + + /* + * Before dynamic KeyTab support (6894072), here we check if + * the keytab contains keys for the principal. If no, keytab + * will not be used and password is prompted for. + * + * After 6894072, we normally don't check it, and expect the + * keys can be populated until a real connection is made. The + * check is still done when isInitiator == true, where the keys + * will be used right now. + * + * Probably tricky relations: + * + * useKeyTab is config flag, but when it's true but the ktab + * does not contains keys for principal, we would use password + * and keep the flag unchanged (for reuse?). In this method, + * we use (ktab != null) to check whether keytab is used. + * After this method (and when storeKey == true), we use + * (encKeys == null) to check. + */ if (useKeyTab) { - encKeys = - EncryptionKey.acquireSecretKeys(principal, keyTabName); - - if (debug) { - if (encKeys != null) - System.out.println - ("principal's key obtained from the keytab"); - else - System.out.println - ("Key for the principal " + - principal + - " not available in " + - ((keyTabName == null) ? - "default key tab" : keyTabName)); + ktab = (keyTabName == null) + ? KeyTab.getInstance() + : KeyTab.getInstance(new File(keyTabName)); + if (isInitiator) { + if (Krb5Util.keysFromJavaxKeyTab(ktab, principal).length + == 0) { + ktab = null; + if (debug) { + System.out.println + ("Key for the principal " + + principal + + " not available in " + + ((keyTabName == null) ? + "default key tab" : keyTabName)); + } + } } - } KrbAsReqBuilder builder; - // We can't get the key from the keytab so prompt - if (encKeys == null) { + + if (ktab == null) { promptForPass(getPasswdFromSharedState); builder = new KrbAsReqBuilder(principal, password); if (isInitiator) { @@ -693,9 +720,13 @@ // updated with PA info cred = builder.action().getCreds(); } - encKeys = builder.getKeys(); + if (storeKey) { + encKeys = builder.getKeys(); + // When encKeys is empty, the login actually fails. + // For compatibility, exception is thrown in commit(). + } } else { - builder = new KrbAsReqBuilder(principal, encKeys); + builder = new KrbAsReqBuilder(principal, ktab); if (isInitiator) { cred = builder.action().getCreds(); } @@ -705,10 +736,15 @@ if (debug) { System.out.println("principal is " + principal); HexDumpEncoder hd = new HexDumpEncoder(); - for (int i = 0; i < encKeys.length; i++) { - System.out.println("EncryptionKey: keyType=" + - encKeys[i].getEType() + " keyBytes (hex dump)=" + - hd.encodeBuffer(encKeys[i].getBytes())); + if (ktab != null) { + System.out.println("Will use keytab"); + } else if (storeKey) { + for (int i = 0; i < encKeys.length; i++) { + System.out.println("EncryptionKey: keyType=" + + encKeys[i].getEType() + + " keyBytes (hex dump)=" + + hd.encodeBuffer(encKeys[i].getBytes())); + } } } @@ -989,8 +1025,8 @@ kerbTicket = Krb5Util.credsToTicket(cred); } - if (storeKey) { - if (encKeys == null || encKeys.length <= 0) { + if (storeKey && encKeys != null) { + if (encKeys.length == 0) { succeeded = false; throw new LoginException("Null Server Key "); } @@ -1006,10 +1042,11 @@ } } - // Let us add the kerbClientPrinc,kerbTicket and kerbKey (if + // Let us add the kerbClientPrinc,kerbTicket and KeyTab/KerbKey (if // storeKey is true) - if (!princSet.contains(kerbClientPrinc)) + if (!princSet.contains(kerbClientPrinc)) { princSet.add(kerbClientPrinc); + } // add the TGT if (kerbTicket != null) { @@ -1018,19 +1055,29 @@ } if (storeKey) { - for (int i = 0; i < kerbKeys.length; i++) { - if (!privCredSet.contains(kerbKeys[i])) { - privCredSet.add(kerbKeys[i]); + if (encKeys == null) { + if (!privCredSet.contains(ktab)) { + privCredSet.add(ktab); + // Compatibility; also add keys to privCredSet + for (KerberosKey key: ktab.getKeys(kerbClientPrinc)) { + privCredSet.add(new Krb5Util.KeysFromKeyTab(key)); + } } - encKeys[i].destroy(); - encKeys[i] = null; - if (debug) { - System.out.println("Added server's key" - + kerbKeys[i]); - System.out.println("\t\t[Krb5LoginModule] " + - "added Krb5Principal " + - kerbClientPrinc.toString() - + " to Subject"); + } else { + for (int i = 0; i < kerbKeys.length; i ++) { + if (!privCredSet.contains(kerbKeys[i])) { + privCredSet.add(kerbKeys[i]); + } + encKeys[i].destroy(); + encKeys[i] = null; + if (debug) { + System.out.println("Added server's key" + + kerbKeys[i]); + System.out.println("\t\t[Krb5LoginModule] " + + "added Krb5Principal " + + kerbClientPrinc.toString() + + " to Subject"); + } } } } @@ -1106,7 +1153,8 @@ while (it.hasNext()) { Object o = it.next(); if (o instanceof KerberosTicket || - o instanceof KerberosKey) { + o instanceof KerberosKey || + o instanceof KeyTab) { it.remove(); } } @@ -1161,6 +1209,7 @@ } else { // remove temp results for the next try encKeys = null; + ktab = null; principal = null; } username = null;
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/AccessWatchpointSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/AccessWatchpointSpec.java Mon May 09 12:32:40 2011 -0700 @@ -26,7 +26,6 @@ package com.sun.tools.example.debug.bdi; import com.sun.jdi.*; -import com.sun.jdi.request.*; public class AccessWatchpointSpec extends WatchpointSpec { @@ -38,6 +37,7 @@ /** * The 'refType' is known to match. */ + @Override void resolve(ReferenceType refType) throws InvalidTypeException, NoSuchFieldException { if (!(refType instanceof ClassType)) { @@ -51,6 +51,7 @@ .createAccessWatchpointRequest(field)); } + @Override public boolean equals(Object obj) { return (obj instanceof AccessWatchpointSpec) && super.equals(obj); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/AmbiguousMethodException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/AmbiguousMethodException.java Mon May 09 12:32:40 2011 -0700 @@ -27,6 +27,9 @@ public class AmbiguousMethodException extends Exception { + + private static final long serialVersionUID = 7793370943251707514L; + public AmbiguousMethodException() { super();
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/BreakpointSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/BreakpointSpec.java Mon May 09 12:32:40 2011 -0700 @@ -25,30 +25,33 @@ package com.sun.tools.example.debug.bdi; -import com.sun.jdi.request.*; - public abstract class BreakpointSpec extends EventRequestSpec { BreakpointSpec(EventRequestSpecList specs, ReferenceTypeSpec refSpec) { super(specs, refSpec); } + @Override void notifySet(SpecListener listener, SpecEvent evt) { listener.breakpointSet(evt); } + @Override void notifyDeferred(SpecListener listener, SpecEvent evt) { listener.breakpointDeferred(evt); } + @Override void notifyResolved(SpecListener listener, SpecEvent evt) { listener.breakpointResolved(evt); } + @Override void notifyDeleted(SpecListener listener, SpecEvent evt) { listener.breakpointDeleted(evt); } + @Override void notifyError(SpecListener listener, SpecErrorEvent evt) { listener.breakpointError(evt); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ChildSession.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ChildSession.java Mon May 09 12:32:40 2011 -0700 @@ -43,10 +43,6 @@ private BufferedReader out; private BufferedReader err; - private InputWriter inputWriter; - private OutputReader outputReader; - private OutputReader errorReader; - private InputListener input; private OutputListener output; private OutputListener error; @@ -84,6 +80,7 @@ this.error = error; } + @Override public boolean attach() { if (!connectToVMProcess()) { @@ -131,6 +128,7 @@ return true; } + @Override public void detach() { //### debug @@ -242,10 +240,7 @@ this.diagnostics = diagnostics; } - public void quit() { - running = false; - } - + @Override public void run() { try { int count; @@ -254,6 +249,7 @@ // Run in Swing event dispatcher thread. final String chars = new String(buffer, 0, count); SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { output.putString(chars); } @@ -264,6 +260,7 @@ } catch (IOException e) { // Run in Swing event dispatcher thread. SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { diagnostics.putString("IO error reading " + streamName + @@ -288,11 +285,7 @@ this.input = input; } - public void quit() { - //### Won't have much effect if blocked on input! - running = false; - } - + @Override public void run() { String line; while (running) {
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/EvaluationException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/EvaluationException.java Mon May 09 12:32:40 2011 -0700 @@ -25,4 +25,7 @@ package com.sun.tools.example.debug.bdi; -public class EvaluationException extends Exception {} +public class EvaluationException extends Exception { + + private static final long serialVersionUID = 4947109680354951694L; +}
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/EventRequestSpec.java Mon May 09 12:32:40 2011 -0700 @@ -25,8 +25,6 @@ package com.sun.tools.example.debug.bdi; -import java.util.*; - import com.sun.jdi.*; import com.sun.jdi.request.EventRequest;
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ExceptionSpec.java Mon May 09 12:32:40 2011 -0700 @@ -26,11 +26,6 @@ package com.sun.tools.example.debug.bdi; import com.sun.jdi.ReferenceType; -import com.sun.jdi.request.*; - -import java.util.ArrayList; -import java.util.List; -import java.util.Iterator; public class ExceptionSpec extends EventRequestSpec { @@ -45,22 +40,27 @@ this.notifyUncaught = notifyUncaught; } + @Override void notifySet(SpecListener listener, SpecEvent evt) { listener.exceptionInterceptSet(evt); } + @Override void notifyDeferred(SpecListener listener, SpecEvent evt) { listener.exceptionInterceptDeferred(evt); } + @Override void notifyResolved(SpecListener listener, SpecEvent evt) { listener.exceptionInterceptResolved(evt); } + @Override void notifyDeleted(SpecListener listener, SpecEvent evt) { listener.exceptionInterceptDeleted(evt); } + @Override void notifyError(SpecListener listener, SpecErrorEvent evt) { listener.exceptionInterceptError(evt); } @@ -68,16 +68,19 @@ /** * The 'refType' is known to match. */ + @Override void resolve(ReferenceType refType) { setRequest(refType.virtualMachine().eventRequestManager() .createExceptionRequest(refType, notifyCaught, notifyUncaught)); } + @Override public int hashCode() { return refSpec.hashCode(); } + @Override public boolean equals(Object obj) { if (obj instanceof ExceptionSpec) { ExceptionSpec es = (ExceptionSpec)obj; @@ -88,6 +91,7 @@ } } + @Override public String toString() { StringBuffer buffer = new StringBuffer("exception catch "); buffer.append(refSpec.toString());
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ExecutionManager.java Mon May 09 12:32:40 2011 -0700 @@ -26,7 +26,6 @@ package com.sun.tools.example.debug.bdi; import com.sun.jdi.*; -import com.sun.jdi.event.*; import com.sun.jdi.request.*; import com.sun.jdi.connect.*; import com.sun.tools.example.debug.expr.ExpressionParser; @@ -56,7 +55,7 @@ // Session Listeners - Vector<SessionListener> sessionListeners = new Vector<SessionListener>(); + ArrayList<SessionListener> sessionListeners = new ArrayList<SessionListener>(); public void addSessionListener(SessionListener listener) { sessionListeners.add(listener); @@ -68,7 +67,7 @@ // Spec Listeners - Vector<SpecListener> specListeners = new Vector<SpecListener>(); + ArrayList<SpecListener> specListeners = new ArrayList<SpecListener>(); public void addSpecListener(SpecListener cl) { specListeners.add(cl); @@ -80,7 +79,7 @@ // JDI Listeners - Vector<JDIListener> jdiListeners = new Vector<JDIListener>(); + ArrayList<JDIListener> jdiListeners = new ArrayList<JDIListener>(); /** * Adds a JDIListener @@ -105,50 +104,50 @@ // App Echo Listeners - private Vector<OutputListener> appEchoListeners = new Vector<OutputListener>(); + private ArrayList<OutputListener> appEchoListeners = new ArrayList<OutputListener>(); public void addApplicationEchoListener(OutputListener l) { - appEchoListeners.addElement(l); + appEchoListeners.add(l); } public void removeApplicationEchoListener(OutputListener l) { - appEchoListeners.removeElement(l); + appEchoListeners.remove(l); } // App Output Listeners - private Vector<OutputListener> appOutputListeners = new Vector<OutputListener>(); + private ArrayList<OutputListener> appOutputListeners = new ArrayList<OutputListener>(); public void addApplicationOutputListener(OutputListener l) { - appOutputListeners.addElement(l); + appOutputListeners.add(l); } public void removeApplicationOutputListener(OutputListener l) { - appOutputListeners.removeElement(l); + appOutputListeners.remove(l); } // App Error Listeners - private Vector<OutputListener> appErrorListeners = new Vector<OutputListener>(); + private ArrayList<OutputListener> appErrorListeners = new ArrayList<OutputListener>(); public void addApplicationErrorListener(OutputListener l) { - appErrorListeners.addElement(l); + appErrorListeners.add(l); } public void removeApplicationErrorListener(OutputListener l) { - appErrorListeners.removeElement(l); + appErrorListeners.remove(l); } // Diagnostic Listeners - private Vector<OutputListener> diagnosticsListeners = new Vector<OutputListener>(); + private ArrayList<OutputListener> diagnosticsListeners = new ArrayList<OutputListener>(); public void addDiagnosticsListener(OutputListener l) { - diagnosticsListeners.addElement(l); + diagnosticsListeners.add(l); } public void removeDiagnosticsListener(OutputListener l) { - diagnosticsListeners.removeElement(l); + diagnosticsListeners.remove(l); } /////////// End Listener Registration ////////////// @@ -159,7 +158,9 @@ } void ensureActiveSession() throws NoSessionException { - if (session == null) throw new NoSessionException(); + if (session == null) { + throw new NoSessionException(); + } } public EventRequestManager eventRequestManager() { @@ -293,6 +294,7 @@ ensureActiveSession(); if (f != null) { frameGetter = new ExpressionParser.GetFrame() { + @Override public StackFrame get() /* throws IncompatibleThreadStateException */ { return f; } @@ -628,35 +630,35 @@ */ private void notifyInterrupted() { - Vector l = (Vector)sessionListeners.clone(); + ArrayList<SessionListener> l = new ArrayList<SessionListener>(sessionListeners); EventObject evt = new EventObject(this); for (int i = 0; i < l.size(); i++) { - ((SessionListener)l.elementAt(i)).sessionInterrupt(evt); + l.get(i).sessionInterrupt(evt); } } private void notifyContinued() { - Vector l = (Vector)sessionListeners.clone(); + ArrayList<SessionListener> l = new ArrayList<SessionListener>(sessionListeners); EventObject evt = new EventObject(this); for (int i = 0; i < l.size(); i++) { - ((SessionListener)l.elementAt(i)).sessionContinue(evt); + l.get(i).sessionContinue(evt); } } private void notifySessionStart() { - Vector l = (Vector)sessionListeners.clone(); + ArrayList<SessionListener> l = new ArrayList<SessionListener>(sessionListeners); EventObject evt = new EventObject(this); for (int i = 0; i < l.size(); i++) { - ((SessionListener)l.elementAt(i)).sessionStart(evt); + l.get(i).sessionStart(evt); } } private void notifySessionDeath() { /*** noop for now - Vector l = (Vector)sessionListeners.clone(); + ArrayList<SessionListener> l = new ArrayList<SessionListener>(sessionListeners); EventObject evt = new EventObject(this); for (int i = 0; i < l.size(); i++) { - ((SessionListener)l.elementAt(i)).sessionDeath(evt); + ((SessionListener)l.get(i)).sessionDeath(evt); } ****/ } @@ -684,6 +686,7 @@ } private InputListener appInput = new InputListener() { + @Override public String getLine() { // Don't allow reader to be interrupted -- catch and retry. String line = null; @@ -703,6 +706,7 @@ // Run in Swing event dispatcher thread. final String input = line; SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { echoInputLine(input); } @@ -714,37 +718,40 @@ private static String newline = System.getProperty("line.separator"); private void echoInputLine(String line) { - Vector l = (Vector)appEchoListeners.clone(); + ArrayList<OutputListener> l = new ArrayList<OutputListener>(appEchoListeners); for (int i = 0; i < l.size(); i++) { - OutputListener ol = (OutputListener)l.elementAt(i); + OutputListener ol = l.get(i); ol.putString(line); ol.putString(newline); } } private OutputListener appOutput = new OutputListener() { + @Override public void putString(String string) { - Vector l = (Vector)appOutputListeners.clone(); + ArrayList<OutputListener> l = new ArrayList<OutputListener>(appEchoListeners); for (int i = 0; i < l.size(); i++) { - ((OutputListener)l.elementAt(i)).putString(string); + l.get(i).putString(string); } } }; private OutputListener appError = new OutputListener() { + @Override public void putString(String string) { - Vector l = (Vector)appErrorListeners.clone(); + ArrayList<OutputListener> l = new ArrayList<OutputListener>(appEchoListeners); for (int i = 0; i < l.size(); i++) { - ((OutputListener)l.elementAt(i)).putString(string); + l.get(i).putString(string); } } }; private OutputListener diagnostics = new OutputListener() { + @Override public void putString(String string) { - Vector l = (Vector)diagnosticsListeners.clone(); + ArrayList<OutputListener> l = new ArrayList<OutputListener>(diagnosticsListeners); for (int i = 0; i < l.size(); i++) { - ((OutputListener)l.elementAt(i)).putString(string); + l.get(i).putString(string); } } };
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/FrameIndexOutOfBoundsException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/FrameIndexOutOfBoundsException.java Mon May 09 12:32:40 2011 -0700 @@ -25,4 +25,7 @@ package com.sun.tools.example.debug.bdi; -public class FrameIndexOutOfBoundsException extends IndexOutOfBoundsException {} +public class FrameIndexOutOfBoundsException extends IndexOutOfBoundsException { + + private static final long serialVersionUID = -4870148107027371437L; +}
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/JDIEventSource.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/JDIEventSource.java Mon May 09 12:32:40 2011 -0700 @@ -28,8 +28,6 @@ import com.sun.jdi.*; import com.sun.jdi.event.*; -import java.util.*; - import com.sun.tools.example.debug.event.*; import javax.swing.SwingUtilities; @@ -55,6 +53,7 @@ this.queue = session.vm.eventQueue(); } + @Override public void run() { try { runLoop(); @@ -78,6 +77,7 @@ //### Gross foul hackery! private void dispatchEventSet(final AbstractEventSet es) { SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { boolean interrupted = es.suspendedAll(); es.notify(firstListener); @@ -117,54 +117,65 @@ //### This is a Hack, deal with it private class FirstListener implements JDIListener { + @Override public void accessWatchpoint(AccessWatchpointEventSet e) { session.runtime.validateThreadInfo(); wantInterrupt = true; } + @Override public void classPrepare(ClassPrepareEventSet e) { wantInterrupt = false; runtime.resolve(e.getReferenceType()); } + @Override public void classUnload(ClassUnloadEventSet e) { wantInterrupt = false; } + @Override public void exception(ExceptionEventSet e) { wantInterrupt = true; } + @Override public void locationTrigger(LocationTriggerEventSet e) { session.runtime.validateThreadInfo(); wantInterrupt = true; } + @Override public void modificationWatchpoint(ModificationWatchpointEventSet e) { session.runtime.validateThreadInfo(); wantInterrupt = true; } + @Override public void threadDeath(ThreadDeathEventSet e) { wantInterrupt = false; } + @Override public void threadStart(ThreadStartEventSet e) { wantInterrupt = false; } + @Override public void vmDeath(VMDeathEventSet e) { //### Should have some way to notify user //### that VM died before the session ended. wantInterrupt = false; } + @Override public void vmDisconnect(VMDisconnectEventSet e) { //### Notify user? wantInterrupt = false; session.runtime.endSession(); } + @Override public void vmStart(VMStartEventSet e) { //### Do we need to do anything with it? wantInterrupt = false;
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/LineBreakpointSpec.java Mon May 09 12:32:40 2011 -0700 @@ -26,11 +26,7 @@ package com.sun.tools.example.debug.bdi; import com.sun.jdi.*; -import com.sun.jdi.request.*; - -import java.util.ArrayList; import java.util.List; -import java.util.Iterator; public class LineBreakpointSpec extends BreakpointSpec { int lineNumber; @@ -44,6 +40,7 @@ /** * The 'refType' is known to match. */ + @Override void resolve(ReferenceType refType) throws InvalidTypeException, LineNotFoundException { if (!(refType instanceof ClassType)) { @@ -81,10 +78,12 @@ return lineNumber; } + @Override public int hashCode() { return refSpec.hashCode() + lineNumber; } + @Override public boolean equals(Object obj) { if (obj instanceof LineBreakpointSpec) { LineBreakpointSpec breakpoint = (LineBreakpointSpec)obj; @@ -96,6 +95,7 @@ } } + @Override public String errorMessageFor(Exception e) { if (e instanceof LineNotFoundException) { return ("No code at line " + lineNumber() + " in " + refSpec); @@ -107,6 +107,7 @@ } } + @Override public String toString() { StringBuffer buffer = new StringBuffer("breakpoint "); buffer.append(refSpec.toString());
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/LineNotFoundException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/LineNotFoundException.java Mon May 09 12:32:40 2011 -0700 @@ -27,6 +27,9 @@ public class LineNotFoundException extends Exception { + + private static final long serialVersionUID = -5630418117861587582L; + public LineNotFoundException() { super();
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/MalformedMemberNameException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/MalformedMemberNameException.java Mon May 09 12:32:40 2011 -0700 @@ -26,6 +26,9 @@ package com.sun.tools.example.debug.bdi; class MalformedMemberNameException extends Exception { + + private static final long serialVersionUID = -7726664097374844485L; + public MalformedMemberNameException() { super(); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/MethodBreakpointSpec.java Mon May 09 12:32:40 2011 -0700 @@ -26,11 +26,8 @@ package com.sun.tools.example.debug.bdi; import com.sun.jdi.*; -import com.sun.jdi.request.*; - import java.util.ArrayList; import java.util.List; -import java.util.Iterator; public class MethodBreakpointSpec extends BreakpointSpec { String methodId; @@ -47,6 +44,7 @@ /** * The 'refType' is known to match. */ + @Override void resolve(ReferenceType refType) throws MalformedMemberNameException, AmbiguousMethodException, InvalidTypeException, @@ -80,12 +78,14 @@ return methodArgs; } + @Override public int hashCode() { return refSpec.hashCode() + ((methodId != null) ? methodId.hashCode() : 0) + ((methodArgs != null) ? methodArgs.hashCode() : 0); } + @Override public boolean equals(Object obj) { if (obj instanceof MethodBreakpointSpec) { MethodBreakpointSpec breakpoint = (MethodBreakpointSpec)obj; @@ -98,6 +98,7 @@ } } + @Override public String errorMessageFor(Exception e) { if (e instanceof AmbiguousMethodException) { return ("Method " + methodName() + " is overloaded; specify arguments"); @@ -114,6 +115,7 @@ } } + @Override public String toString() { StringBuffer buffer = new StringBuffer("breakpoint "); buffer.append(refSpec.toString()); @@ -257,7 +259,7 @@ */ if ((name.indexOf('.') == -1) || name.startsWith("*.")) { try { - List refs = specs.runtime.findClassesMatchingPattern(name); + List<?> refs = specs.runtime.findClassesMatchingPattern(name); if (refs.size() > 0) { //### ambiguity??? name = ((ReferenceType)(refs.get(0))).name(); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/MethodNotFoundException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/MethodNotFoundException.java Mon May 09 12:32:40 2011 -0700 @@ -27,6 +27,8 @@ public class MethodNotFoundException extends Exception { + private static final long serialVersionUID = -2064968107599632609L; + public MethodNotFoundException() { super();
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ModificationWatchpointSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ModificationWatchpointSpec.java Mon May 09 12:32:40 2011 -0700 @@ -26,7 +26,6 @@ package com.sun.tools.example.debug.bdi; import com.sun.jdi.*; -import com.sun.jdi.request.*; public class ModificationWatchpointSpec extends WatchpointSpec { @@ -38,6 +37,7 @@ /** * The 'refType' is known to match. */ + @Override void resolve(ReferenceType refType) throws InvalidTypeException, NoSuchFieldException { if (!(refType instanceof ClassType)) { @@ -51,6 +51,7 @@ .createModificationWatchpointRequest(field)); } + @Override public boolean equals(Object obj) { return (obj instanceof ModificationWatchpointSpec) && super.equals(obj);
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/NoSessionException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/NoSessionException.java Mon May 09 12:32:40 2011 -0700 @@ -25,4 +25,7 @@ package com.sun.tools.example.debug.bdi; -public class NoSessionException extends Exception {} +public class NoSessionException extends Exception { + + private static final long serialVersionUID = -7324357828115128603L; +}
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/NoThreadException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/NoThreadException.java Mon May 09 12:32:40 2011 -0700 @@ -25,4 +25,8 @@ package com.sun.tools.example.debug.bdi; -public class NoThreadException extends Exception {} +public class NoThreadException extends Exception { + + private static final long serialVersionUID = 1846613539928921998L; + +}
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/PatternReferenceTypeSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/PatternReferenceTypeSpec.java Mon May 09 12:32:40 2011 -0700 @@ -47,6 +47,7 @@ /** * Does the specified ReferenceType match this spec. */ + @Override public boolean matches(ReferenceType refType) { if (isWild) { return refType.name().endsWith(classId); @@ -55,10 +56,12 @@ } } + @Override public int hashCode() { return classId.hashCode(); } + @Override public boolean equals(Object obj) { if (obj instanceof PatternReferenceTypeSpec) { PatternReferenceTypeSpec spec = (PatternReferenceTypeSpec)obj; @@ -89,6 +92,7 @@ } } + @Override public String toString() { return isWild? "*" + classId : classId; }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ReferenceTypeSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ReferenceTypeSpec.java Mon May 09 12:32:40 2011 -0700 @@ -33,7 +33,9 @@ */ boolean matches(ReferenceType refType); + @Override int hashCode(); + @Override boolean equals(Object obj); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/Session.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/Session.java Mon May 09 12:32:40 2011 -0700 @@ -27,7 +27,6 @@ import com.sun.jdi.VirtualMachine; import com.sun.jdi.VMDisconnectedException; -import com.sun.jdi.event.EventSet; /** * Our repository of what we know about the state of one
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/SourceNameReferenceTypeSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/SourceNameReferenceTypeSpec.java Mon May 09 12:32:40 2011 -0700 @@ -39,6 +39,7 @@ /** * Does the specified ReferenceType match this spec. */ + @Override public boolean matches(ReferenceType refType) { try { if (refType.sourceName().equals(sourceName)) { @@ -48,9 +49,6 @@ return true; } catch(AbsentInformationException exc) { } catch(ObjectCollectedException exc) { - } catch(InvalidLineNumberException exc) { -// } catch(ClassNotPreparedException exc) { -// -- should not happen, so don't catch this --- } } } catch(AbsentInformationException exc) { @@ -59,10 +57,12 @@ return false; } + @Override public int hashCode() { return sourceName.hashCode() + linenumber; } + @Override public boolean equals(Object obj) { if (obj instanceof SourceNameReferenceTypeSpec) { SourceNameReferenceTypeSpec spec = (SourceNameReferenceTypeSpec)obj; @@ -74,6 +74,7 @@ } } + @Override public String toString() { return sourceName + "@" + linenumber; }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/SpecErrorEvent.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/SpecErrorEvent.java Mon May 09 12:32:40 2011 -0700 @@ -25,10 +25,9 @@ package com.sun.tools.example.debug.bdi; -import java.util.EventObject; - public class SpecErrorEvent extends SpecEvent { + private static final long serialVersionUID = 8162634387866409578L; private Exception reason; public SpecErrorEvent(EventRequestSpec eventRequestSpec,
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/SpecEvent.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/SpecEvent.java Mon May 09 12:32:40 2011 -0700 @@ -31,6 +31,7 @@ public class SpecEvent extends EventObject { + private static final long serialVersionUID = 4820735456787276230L; private EventRequestSpec eventRequestSpec; public SpecEvent(EventRequestSpec eventRequestSpec) {
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ThreadGroupIterator.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ThreadGroupIterator.java Mon May 09 12:32:40 2011 -0700 @@ -26,7 +26,6 @@ package com.sun.tools.example.debug.bdi; import com.sun.jdi.ThreadGroupReference; -import com.sun.jdi.ThreadReference; import java.util.List; import java.util.Stack; import java.util.ArrayList; @@ -73,10 +72,12 @@ } } + @Override public boolean hasNext() { return !stack.isEmpty(); } + @Override public ThreadGroupReference next() { return nextThreadGroup(); } @@ -87,6 +88,7 @@ return tg; } + @Override public void remove() { throw new UnsupportedOperationException(); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ThreadInfo.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ThreadInfo.java Mon May 09 12:32:40 2011 -0700 @@ -26,9 +26,6 @@ package com.sun.tools.example.debug.bdi; import com.sun.jdi.*; -import java.util.List; -import java.util.ArrayList; -import java.util.Iterator; //### Should handle target VM death or connection failure cleanly.
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ThreadIterator.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/ThreadIterator.java Mon May 09 12:32:40 2011 -0700 @@ -43,6 +43,7 @@ tgi = new ThreadGroupIterator(tgl); } + @Override public boolean hasNext() { while (it == null || !it.hasNext()) { if (!tgi.hasNext()) { @@ -53,6 +54,7 @@ return true; } + @Override public ThreadReference next() { return it.next(); } @@ -61,6 +63,7 @@ return next(); } + @Override public void remove() { throw new UnsupportedOperationException(); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/Utils.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/Utils.java Mon May 09 12:32:40 2011 -0700 @@ -26,9 +26,6 @@ package com.sun.tools.example.debug.bdi; //### does it belong here? import com.sun.jdi.*; -import com.sun.tools.jdi.*; -import java.util.*; -import java.io.*; public class Utils {
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/VMLaunchFailureException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/VMLaunchFailureException.java Mon May 09 12:32:40 2011 -0700 @@ -25,4 +25,7 @@ package com.sun.tools.example.debug.bdi; -public class VMLaunchFailureException extends Exception {} +public class VMLaunchFailureException extends Exception { + + private static final long serialVersionUID = -2439646729274310108L; +}
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/VMNotInterruptedException.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/VMNotInterruptedException.java Mon May 09 12:32:40 2011 -0700 @@ -25,4 +25,7 @@ package com.sun.tools.example.debug.bdi; -public class VMNotInterruptedException extends Exception {} +public class VMNotInterruptedException extends Exception { + + private static final long serialVersionUID = 8111074582188765600L; +}
--- a/jdk/src/share/classes/com/sun/tools/example/debug/bdi/WatchpointSpec.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/bdi/WatchpointSpec.java Mon May 09 12:32:40 2011 -0700 @@ -25,9 +25,6 @@ package com.sun.tools.example.debug.bdi; -import com.sun.jdi.*; -import com.sun.jdi.request.*; - public abstract class WatchpointSpec extends EventRequestSpec { final String fieldId; @@ -40,31 +37,38 @@ // } } + @Override void notifySet(SpecListener listener, SpecEvent evt) { listener.watchpointSet(evt); } + @Override void notifyDeferred(SpecListener listener, SpecEvent evt) { listener.watchpointDeferred(evt); } + @Override void notifyResolved(SpecListener listener, SpecEvent evt) { listener.watchpointResolved(evt); } + @Override void notifyDeleted(SpecListener listener, SpecEvent evt) { listener.watchpointDeleted(evt); } + @Override void notifyError(SpecListener listener, SpecErrorEvent evt) { listener.watchpointError(evt); } + @Override public int hashCode() { return refSpec.hashCode() + fieldId.hashCode() + getClass().hashCode(); } + @Override public boolean equals(Object obj) { if (obj instanceof WatchpointSpec) { WatchpointSpec watchpoint = (WatchpointSpec)obj; @@ -77,6 +81,7 @@ } } + @Override public String errorMessageFor(Exception e) { if (e instanceof NoSuchFieldException) { return ("No field " + fieldId + " in " + refSpec);
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/AbstractEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/AbstractEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -33,6 +33,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet { + private static final long serialVersionUID = 2772717574222076977L; private final EventSet jdiEventSet; final Event oneEvent; @@ -81,6 +82,7 @@ // Implement Mirror + @Override public VirtualMachine virtualMachine() { return jdiEventSet.virtualMachine(); } @@ -105,10 +107,12 @@ return jdiEventSet.suspendPolicy(); } + @Override public void resume() { jdiEventSet.resume(); } + @Override public int suspendPolicy() { return jdiEventSet.suspendPolicy(); } @@ -128,6 +132,7 @@ /** * Return an iterator specific to {@link Event} objects. */ + @Override public EventIterator eventIterator() { return jdiEventSet.eventIterator(); } @@ -142,6 +147,7 @@ * * @return the number of elements in this set (its cardinality). */ + @Override public int size() { return jdiEventSet.size(); } @@ -151,6 +157,7 @@ * * @return <tt>true</tt> if this set contains no elements. */ + @Override public boolean isEmpty() { return jdiEventSet.isEmpty(); } @@ -163,6 +170,7 @@ * * @return <tt>true</tt> if this set contains the specified element. */ + @Override public boolean contains(Object o) { return jdiEventSet.contains(o); } @@ -174,6 +182,7 @@ * * @return an iterator over the elements in this set. */ + @Override public Iterator<Event> iterator() { return jdiEventSet.iterator(); } @@ -184,6 +193,7 @@ * * @return an array containing all of the elements in this set. */ + @Override public Object[] toArray() { return jdiEventSet.toArray(); } @@ -202,6 +212,7 @@ * @throws ArrayStoreException the runtime type of a is not a supertype * of the runtime type of every element in this set. */ + @Override public <T> T[] toArray(T a[]) { return jdiEventSet.toArray(a); } @@ -217,6 +228,7 @@ * @return <tt>true</tt> if this set contains all of the elements of the * specified collection. */ + @Override public boolean containsAll(Collection<?> c) { return jdiEventSet.containsAll(c); } @@ -224,21 +236,27 @@ // Make the rest of Set unmodifiable + @Override public boolean add(Event e){ throw new UnsupportedOperationException(); } + @Override public boolean remove(Object o) { throw new UnsupportedOperationException(); } + @Override public boolean addAll(Collection<? extends Event> coll) { throw new UnsupportedOperationException(); } + @Override public boolean removeAll(Collection<?> coll) { throw new UnsupportedOperationException(); } + @Override public boolean retainAll(Collection<?> coll) { throw new UnsupportedOperationException(); } + @Override public void clear() { throw new UnsupportedOperationException(); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/AccessWatchpointEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/AccessWatchpointEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -25,15 +25,17 @@ package com.sun.tools.example.debug.event; -import com.sun.jdi.*; import com.sun.jdi.event.*; public class AccessWatchpointEventSet extends WatchpointEventSet { + private static final long serialVersionUID = -2620394219156607673L; + AccessWatchpointEventSet(EventSet jdiEventSet) { super(jdiEventSet); } + @Override public void notify(JDIListener listener) { listener.accessWatchpoint(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/ClassPrepareEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/ClassPrepareEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -30,6 +30,8 @@ public class ClassPrepareEventSet extends AbstractEventSet { + private static final long serialVersionUID = 5958493423581010491L; + ClassPrepareEventSet(EventSet jdiEventSet) { super(jdiEventSet); } @@ -55,6 +57,7 @@ return ((ClassPrepareEvent)oneEvent).referenceType(); } + @Override public void notify(JDIListener listener) { listener.classPrepare(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/ClassUnloadEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/ClassUnloadEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -25,11 +25,12 @@ package com.sun.tools.example.debug.event; -import com.sun.jdi.*; import com.sun.jdi.event.*; public class ClassUnloadEventSet extends AbstractEventSet { + private static final long serialVersionUID = 8370341450345835866L; + ClassUnloadEventSet(EventSet jdiEventSet) { super(jdiEventSet); } @@ -48,6 +49,7 @@ return ((ClassUnloadEvent)oneEvent).classSignature(); } + @Override public void notify(JDIListener listener) { listener.classUnload(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/ExceptionEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/ExceptionEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -30,6 +30,8 @@ public class ExceptionEventSet extends LocatableEventSet { + private static final long serialVersionUID = 5328140167954640711L; + ExceptionEventSet(EventSet jdiEventSet) { super(jdiEventSet); } @@ -75,6 +77,7 @@ return ((ExceptionEvent)oneEvent).catchLocation(); } + @Override public void notify(JDIListener listener) { listener.exception(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/JDIAdapter.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/JDIAdapter.java Mon May 09 12:32:40 2011 -0700 @@ -33,36 +33,47 @@ */ public class JDIAdapter implements JDIListener { + @Override public void accessWatchpoint(AccessWatchpointEventSet e) { } + @Override public void classPrepare(ClassPrepareEventSet e) { } + @Override public void classUnload(ClassUnloadEventSet e) { } + @Override public void exception(ExceptionEventSet e) { } + @Override public void locationTrigger(LocationTriggerEventSet e) { } + @Override public void modificationWatchpoint(ModificationWatchpointEventSet e) { } + @Override public void threadDeath(ThreadDeathEventSet e) { } + @Override public void threadStart(ThreadStartEventSet e) { } + @Override public void vmDeath(VMDeathEventSet e) { } + @Override public void vmDisconnect(VMDisconnectEventSet e) { } + @Override public void vmStart(VMStartEventSet e) { }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/LocatableEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/LocatableEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -33,6 +33,8 @@ */ public abstract class LocatableEventSet extends AbstractEventSet { + private static final long serialVersionUID = 1027131209997915620L; + LocatableEventSet(EventSet jdiEventSet) { super(jdiEventSet); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/LocationTriggerEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/LocationTriggerEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -25,15 +25,17 @@ package com.sun.tools.example.debug.event; -import com.sun.jdi.*; import com.sun.jdi.event.*; public class LocationTriggerEventSet extends LocatableEventSet { + private static final long serialVersionUID = -3674631710485872487L; + LocationTriggerEventSet(EventSet jdiEventSet) { super(jdiEventSet); } + @Override public void notify(JDIListener listener) { listener.locationTrigger(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/ModificationWatchpointEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/ModificationWatchpointEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -30,6 +30,8 @@ public class ModificationWatchpointEventSet extends WatchpointEventSet { + private static final long serialVersionUID = -680889300856154719L; + ModificationWatchpointEventSet(EventSet jdiEventSet) { super(jdiEventSet); } @@ -42,6 +44,7 @@ return ((ModificationWatchpointEvent)oneEvent).valueToBe(); } + @Override public void notify(JDIListener listener) { listener.modificationWatchpoint(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/ThreadDeathEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/ThreadDeathEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -30,6 +30,8 @@ public class ThreadDeathEventSet extends AbstractEventSet { + private static final long serialVersionUID = -8801604712308151331L; + ThreadDeathEventSet(EventSet jdiEventSet) { super(jdiEventSet); } @@ -44,6 +46,7 @@ return ((ThreadDeathEvent)oneEvent).thread(); } + @Override public void notify(JDIListener listener) { listener.threadDeath(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/ThreadStartEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/ThreadStartEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -30,6 +30,8 @@ public class ThreadStartEventSet extends AbstractEventSet { + private static final long serialVersionUID = -3802096132294933502L; + ThreadStartEventSet(EventSet jdiEventSet) { super(jdiEventSet); } @@ -44,6 +46,7 @@ return ((ThreadStartEvent)oneEvent).thread(); } + @Override public void notify(JDIListener listener) { listener.threadStart(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/VMDeathEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/VMDeathEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -29,10 +29,13 @@ public class VMDeathEventSet extends AbstractEventSet { + private static final long serialVersionUID = 1163097303940092229L; + VMDeathEventSet(EventSet jdiEventSet) { super(jdiEventSet); } + @Override public void notify(JDIListener listener) { listener.vmDeath(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/VMDisconnectEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/VMDisconnectEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -29,10 +29,13 @@ public class VMDisconnectEventSet extends AbstractEventSet { + private static final long serialVersionUID = 7968123152344675342L; + VMDisconnectEventSet(EventSet jdiEventSet) { super(jdiEventSet); } + @Override public void notify(JDIListener listener) { listener.vmDisconnect(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/VMStartEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/VMStartEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -30,6 +30,8 @@ public class VMStartEventSet extends AbstractEventSet { + private static final long serialVersionUID = -3384957227835478191L; + VMStartEventSet(EventSet jdiEventSet) { super(jdiEventSet); } @@ -44,6 +46,7 @@ return ((VMStartEvent)oneEvent).thread(); } + @Override public void notify(JDIListener listener) { listener.vmStart(this); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/event/WatchpointEventSet.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/event/WatchpointEventSet.java Mon May 09 12:32:40 2011 -0700 @@ -30,6 +30,8 @@ public abstract class WatchpointEventSet extends LocatableEventSet { + private static final long serialVersionUID = 5606285209703845409L; + WatchpointEventSet(EventSet jdiEventSet) { super(jdiEventSet); }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java Mon May 09 12:32:40 2011 -0700 @@ -27,25 +27,25 @@ package com.sun.tools.example.debug.expr; import com.sun.jdi.*; + import java.util.Stack; import java.util.List; import java.util.ArrayList; -@SuppressWarnings("unchecked") public class ExpressionParser implements ExpressionParserConstants { - Stack stack = new Stack(); + Stack<LValue> stack = new Stack<LValue>(); VirtualMachine vm = null; GetFrame frameGetter = null; private static GetFrame lastFrameGetter; private static LValue lastLValue; LValue peek() { - return (LValue)stack.peek(); + return stack.peek(); } LValue pop() { - return (LValue)stack.pop(); + return stack.pop(); } void push(LValue lval) { @@ -61,17 +61,14 @@ } public static Value evaluate(String expr, VirtualMachine vm, - GetFrame frameGetter) throws ParseException, - InvocationException, - InvalidTypeException, - ClassNotLoadedException, + GetFrame frameGetter) throws ParseException, InvocationException, + InvalidTypeException, ClassNotLoadedException, IncompatibleThreadStateException { // TODO StringBufferInputStream is deprecated. java.io.InputStream in = new java.io.StringBufferInputStream(expr); ExpressionParser parser = new ExpressionParser(in); parser.vm = vm; parser.frameGetter = frameGetter; - Value value = null; parser.Expression(); lastFrameGetter = frameGetter; lastLValue = parser.pop(); @@ -89,8 +86,8 @@ try { parser = new ExpressionParser(new java.io.FileInputStream(args[0])); } catch (java.io.FileNotFoundException e) { - System.out.println("Java Parser Version 1.0.2: File " + - args[0] + " not found."); + System.out.println("Java Parser Version 1.0.2: File " + args[0] + + " not found."); return; } } else { @@ -137,8 +134,7 @@ jj_consume_token(-1); throw new ParseException(); } - label_1: - while (true) { + label_1: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LBRACKET: ; @@ -189,8 +185,7 @@ StringBuffer sb = new StringBuffer(); jj_consume_token(IDENTIFIER); sb.append(token); - label_2: - while (true) { + label_2: while (true) { if (jj_2_1(2)) { ; } else { @@ -198,16 +193,18 @@ } jj_consume_token(DOT); jj_consume_token(IDENTIFIER); - sb.append('.'); sb.append(token); - } - {if (true) return sb.toString();} + sb.append('.'); + sb.append(token); + } + if (true) { + return sb.toString(); + } throw new Error("Missing return statement in function"); } final public void NameList() throws ParseException { Name(); - label_3: - while (true) { + label_3: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: ; @@ -261,7 +258,9 @@ PrimaryExpression(); AssignmentOperator(); Expression(); - LValue exprVal = pop(); pop().setValue(exprVal); push(exprVal); + LValue exprVal = pop(); + pop().setValue(exprVal); + push(exprVal); } final public void AssignmentOperator() throws ParseException { @@ -317,13 +316,18 @@ Expression(); jj_consume_token(COLON); ConditionalExpression(); - LValue falseBranch = pop(); LValue trueBranch = pop(); + LValue falseBranch = pop(); + LValue trueBranch = pop(); Value cond = pop().interiorGetValue(); if (cond instanceof BooleanValue) { - push(((BooleanValue)cond).booleanValue()? - trueBranch : falseBranch); + push(((BooleanValue) cond).booleanValue() ? trueBranch + : falseBranch); } else { - {if (true) throw new ParseException("Condition must be boolean");} + { + if (true) { + throw new ParseException("Condition must be boolean"); + } + } } break; default: @@ -334,8 +338,7 @@ final public void ConditionalOrExpression() throws ParseException { ConditionalAndExpression(); - label_4: - while (true) { + label_4: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SC_OR: ; @@ -346,14 +349,17 @@ } jj_consume_token(SC_OR); ConditionalAndExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } } } final public void ConditionalAndExpression() throws ParseException { InclusiveOrExpression(); - label_5: - while (true) { + label_5: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SC_AND: ; @@ -364,14 +370,17 @@ } jj_consume_token(SC_AND); InclusiveOrExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } } } final public void InclusiveOrExpression() throws ParseException { ExclusiveOrExpression(); - label_6: - while (true) { + label_6: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case BIT_OR: ; @@ -382,14 +391,17 @@ } jj_consume_token(BIT_OR); ExclusiveOrExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } } } final public void ExclusiveOrExpression() throws ParseException { AndExpression(); - label_7: - while (true) { + label_7: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case XOR: ; @@ -400,14 +412,17 @@ } jj_consume_token(XOR); AndExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } } } final public void AndExpression() throws ParseException { EqualityExpression(); - label_8: - while (true) { + label_8: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case BIT_AND: ; @@ -418,15 +433,18 @@ } jj_consume_token(BIT_AND); EqualityExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } } } final public void EqualityExpression() throws ParseException { Token tok; InstanceOfExpression(); - label_9: - while (true) { + label_9: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case EQ: case NE: @@ -460,7 +478,11 @@ case INSTANCEOF: jj_consume_token(INSTANCEOF); Type(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } break; default: jj_la1[14] = jj_gen; @@ -471,8 +493,7 @@ final public void RelationalExpression() throws ParseException { Token tok; ShiftExpression(); - label_10: - while (true) { + label_10: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case GT: case LT: @@ -510,8 +531,7 @@ final public void ShiftExpression() throws ParseException { AdditiveExpression(); - label_11: - while (true) { + label_11: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LSHIFT: case RSIGNEDSHIFT: @@ -538,15 +558,18 @@ throw new ParseException(); } AdditiveExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } } } final public void AdditiveExpression() throws ParseException { Token tok; MultiplicativeExpression(); - label_12: - while (true) { + label_12: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case PLUS: case MINUS: @@ -577,8 +600,7 @@ final public void MultiplicativeExpression() throws ParseException { Token tok; UnaryExpression(); - label_13: - while (true) { + label_13: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case STAR: case SLASH: @@ -627,7 +649,11 @@ throw new ParseException(); } UnaryExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } break; case INCR: PreIncrementExpression(); @@ -661,13 +687,21 @@ final public void PreIncrementExpression() throws ParseException { jj_consume_token(INCR); PrimaryExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } } final public void PreDecrementExpression() throws ParseException { jj_consume_token(DECR); PrimaryExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } } final public void UnaryExpressionNotPlusMinus() throws ParseException { @@ -687,7 +721,11 @@ throw new ParseException(); } UnaryExpression(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } break; default: jj_la1[26] = jj_gen; @@ -718,8 +756,10 @@ } } -// This production is to determine lookahead only. The LOOKAHEAD specifications -// below are not used, but they are there just to indicate that we know about + // This production is to determine lookahead only. The LOOKAHEAD + // specifications + // below are not used, but they are there just to indicate that we know + // about // this. final public void CastLookahead() throws ParseException { if (jj_2_4(2)) { @@ -792,7 +832,11 @@ break; case DECR: jj_consume_token(DECR); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } break; default: jj_la1[30] = jj_gen; @@ -810,8 +854,7 @@ if (jj_2_6(2)) { jj_consume_token(LPAREN); PrimitiveType(); - label_14: - while (true) { + label_14: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LBRACKET: ; @@ -830,8 +873,7 @@ case LPAREN: jj_consume_token(LPAREN); Name(); - label_15: - while (true) { + label_15: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LBRACKET: ; @@ -856,8 +898,7 @@ final public void PrimaryExpression() throws ParseException { PrimaryPrefix(); - label_16: - while (true) { + label_16: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LPAREN: case LBRACKET: @@ -896,7 +937,11 @@ jj_consume_token(SUPER); jj_consume_token(DOT); jj_consume_token(IDENTIFIER); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } break; case LPAREN: jj_consume_token(LPAREN); @@ -914,7 +959,7 @@ } final public void PrimarySuffix() throws ParseException { - List argList; + List<Value> argList; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LBRACKET: jj_consume_token(LBRACKET); @@ -992,8 +1037,8 @@ jj_consume_token(NULL); } - final public List Arguments() throws ParseException { - List argList = new ArrayList(); + final public List<Value> Arguments() throws ParseException { + List<Value> argList = new ArrayList<Value>(); jj_consume_token(LPAREN); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case FALSE: @@ -1021,15 +1066,18 @@ ; } jj_consume_token(RPAREN); - {if (true) return argList;} + { + if (true) { + return argList; + } + } throw new Error("Missing return statement in function"); } - final public void ArgumentList(List argList) throws ParseException { + final public void ArgumentList(List<Value> argList) throws ParseException { Expression(); argList.add(pop().interiorGetValue()); - label_17: - while (true) { + label_17: while (true) { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case COMMA: ; @@ -1045,7 +1093,8 @@ } final public void AllocationExpression() throws ParseException { - List argList; String className; + List<Value> argList; + String className; if (jj_2_7(2)) { jj_consume_token(NEW); PrimitiveType(); @@ -1062,7 +1111,11 @@ break; case LBRACKET: ArrayDimensions(); - {if (true) throw new ParseException("operation not yet supported");} + { + if (true) { + throw new ParseException("operation not yet supported"); + } + } break; default: jj_la1[42] = jj_gen; @@ -1079,12 +1132,11 @@ } /* - * The second LOOKAHEAD specification below is to parse to PrimarySuffix - * if there is an expression between the "[...]". + * The second LOOKAHEAD specification below is to parse to PrimarySuffix if + * there is an expression between the "[...]". */ final public void ArrayDimensions() throws ParseException { - label_18: - while (true) { + label_18: while (true) { jj_consume_token(LBRACKET); Expression(); jj_consume_token(RBRACKET); @@ -1094,8 +1146,7 @@ break label_18; } } - label_19: - while (true) { + label_19: while (true) { if (jj_2_9(2)) { ; } else { @@ -1107,71 +1158,84 @@ } final private boolean jj_2_1(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_1(); jj_save(0, xla); return retval; } final private boolean jj_2_2(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_2(); jj_save(1, xla); return retval; } final private boolean jj_2_3(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_3(); jj_save(2, xla); return retval; } final private boolean jj_2_4(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_4(); jj_save(3, xla); return retval; } final private boolean jj_2_5(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_5(); jj_save(4, xla); return retval; } final private boolean jj_2_6(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_6(); jj_save(5, xla); return retval; } final private boolean jj_2_7(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_7(); jj_save(6, xla); return retval; } final private boolean jj_2_8(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_8(); jj_save(7, xla); return retval; } final private boolean jj_2_9(int xla) { - jj_la = xla; jj_lastpos = jj_scanpos = token; + jj_la = xla; + jj_lastpos = jj_scanpos = token; boolean retval = !jj_3_9(); jj_save(8, xla); return retval; } final private boolean jj_3R_154() { - if (jj_scan_token(INCR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(INCR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1180,9 +1244,15 @@ xsp = jj_scanpos; if (jj_3R_154()) { jj_scanpos = xsp; - if (jj_3R_155()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_155()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1191,27 +1261,54 @@ xsp = jj_scanpos; if (jj_3_6()) { jj_scanpos = xsp; - if (jj_3R_150()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_150()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3_6() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_23()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_23()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_152()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } - if (jj_scan_token(RPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_115()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_152()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } + if (jj_scan_token(RPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_115()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1220,45 +1317,86 @@ xsp = jj_scanpos; if (jj_3R_50()) { jj_scanpos = xsp; - if (jj_3R_51()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_51()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_50() { - if (jj_3R_67()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_67()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3_5() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_24()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(LBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_24()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(LBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_149() { - if (jj_3R_20()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_20()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; xsp = jj_scanpos; - if (jj_3R_151()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_151()) { + jj_scanpos = xsp; + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_41() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_24()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_24()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; xsp = jj_scanpos; if (jj_3R_59()) { @@ -1275,51 +1413,109 @@ jj_scanpos = xsp; if (jj_3R_65()) { jj_scanpos = xsp; - if (jj_3R_66()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_66()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_40() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_24()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(LBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_24()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(LBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_123() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3_1() { - if (jj_scan_token(DOT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(DOT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(IDENTIFIER)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3_4() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_23()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_23()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1330,76 +1526,129 @@ jj_scanpos = xsp; if (jj_3R_40()) { jj_scanpos = xsp; - if (jj_3R_41()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_41()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3_3() { - if (jj_3R_22()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_22()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_24() { - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(IDENTIFIER)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3_1()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3_1()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_147() { - if (jj_scan_token(BANG)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(BANG)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_142() { - if (jj_3R_149()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_149()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_122() { - if (jj_3R_24()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_24()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_49() { - if (jj_scan_token(DOUBLE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(DOUBLE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_141() { - if (jj_3R_148()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_148()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_48() { - if (jj_scan_token(FLOAT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(FLOAT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_146() { - if (jj_scan_token(TILDE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(TILDE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_47() { - if (jj_scan_token(LONG)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LONG)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1408,11 +1657,21 @@ xsp = jj_scanpos; if (jj_3R_146()) { jj_scanpos = xsp; - if (jj_3R_147()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_115()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_147()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_115()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1423,48 +1682,84 @@ jj_scanpos = xsp; if (jj_3R_141()) { jj_scanpos = xsp; - if (jj_3R_142()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_142()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_46() { - if (jj_scan_token(INT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(INT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_145() { - if (jj_scan_token(REM)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(REM)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_45() { - if (jj_scan_token(SHORT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(SHORT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_44() { - if (jj_scan_token(BYTE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(BYTE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_135() { - if (jj_scan_token(DECR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_20()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(DECR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_20()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_43() { - if (jj_scan_token(CHAR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(CHAR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1485,49 +1780,95 @@ jj_scanpos = xsp; if (jj_3R_48()) { jj_scanpos = xsp; - if (jj_3R_49()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_49()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_42() { - if (jj_scan_token(BOOLEAN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(BOOLEAN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3_9() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_121() { - if (jj_3R_23()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_23()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_144() { - if (jj_scan_token(SLASH)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(SLASH)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_134() { - if (jj_scan_token(INCR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_20()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(INCR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_20()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1536,62 +1877,105 @@ xsp = jj_scanpos; if (jj_3R_121()) { jj_scanpos = xsp; - if (jj_3R_122()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_122()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } while (true) { xsp = jj_scanpos; - if (jj_3R_123()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_123()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_120() { - if (jj_scan_token(GE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(GE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_133() { - if (jj_scan_token(MINUS)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(MINUS)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_127() { - if (jj_3R_136()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_136()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_126() { - if (jj_3R_135()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_135()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_139() { - if (jj_scan_token(MINUS)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(MINUS)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_125() { - if (jj_3R_134()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_134()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_132() { - if (jj_scan_token(PLUS)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(PLUS)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_143() { - if (jj_scan_token(STAR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(STAR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1600,11 +1984,21 @@ xsp = jj_scanpos; if (jj_3R_132()) { jj_scanpos = xsp; - if (jj_3R_133()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_115()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_133()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_115()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1617,11 +2011,21 @@ jj_scanpos = xsp; if (jj_3R_126()) { jj_scanpos = xsp; - if (jj_3R_127()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_127()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1632,54 +2036,95 @@ jj_scanpos = xsp; if (jj_3R_144()) { jj_scanpos = xsp; - if (jj_3R_145()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_115()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_145()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_115()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_131() { - if (jj_scan_token(RUNSIGNEDSHIFT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(RUNSIGNEDSHIFT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_119() { - if (jj_scan_token(LE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_138() { - if (jj_scan_token(PLUS)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(PLUS)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_112() { - if (jj_3R_115()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_115()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_137()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_137()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_88() { - if (jj_3R_86()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_86()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_130() { - if (jj_scan_token(RSIGNEDSHIFT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(RSIGNEDSHIFT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1688,29 +2133,51 @@ xsp = jj_scanpos; if (jj_3R_138()) { jj_scanpos = xsp; - if (jj_3R_139()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_112()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_139()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_112()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_87() { - if (jj_3R_82()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_82()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_118() { - if (jj_scan_token(GT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(GT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_129() { - if (jj_scan_token(LSHIFT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LSHIFT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1721,68 +2188,128 @@ jj_scanpos = xsp; if (jj_3R_130()) { jj_scanpos = xsp; - if (jj_3R_131()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_108()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_131()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_108()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_108() { - if (jj_3R_112()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_112()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_128()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_128()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3_8() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_25()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_25()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_86() { Token xsp; - if (jj_3_8()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3_8()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } while (true) { xsp = jj_scanpos; - if (jj_3_8()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3_8()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } while (true) { xsp = jj_scanpos; - if (jj_3_9()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3_9()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_117() { - if (jj_scan_token(LT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_106() { - if (jj_3R_108()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_108()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_116()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_116()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } @@ -1796,64 +2323,125 @@ jj_scanpos = xsp; if (jj_3R_119()) { jj_scanpos = xsp; - if (jj_3R_120()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_106()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_120()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_106()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_111() { - if (jj_scan_token(NE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(NE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_109() { - if (jj_scan_token(INSTANCEOF)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_114()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(INSTANCEOF)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_114()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_104() { - if (jj_3R_106()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_106()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_113()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_113()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_81() { - if (jj_scan_token(NEW)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_24()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(NEW)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_24()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; xsp = jj_scanpos; if (jj_3R_87()) { jj_scanpos = xsp; - if (jj_3R_88()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_88()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3_7() { - if (jj_scan_token(NEW)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_23()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_86()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(NEW)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_23()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_86()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1862,39 +2450,68 @@ xsp = jj_scanpos; if (jj_3_7()) { jj_scanpos = xsp; - if (jj_3R_81()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_81()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_97() { - if (jj_scan_token(COMMA)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_25()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(COMMA)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_25()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_39() { - if (jj_scan_token(ORASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(ORASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_110() { - if (jj_scan_token(EQ)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(EQ)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_102() { - if (jj_3R_104()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_104()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; xsp = jj_scanpos; - if (jj_3R_109()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_109()) { + jj_scanpos = xsp; + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -1903,117 +2520,209 @@ xsp = jj_scanpos; if (jj_3R_110()) { jj_scanpos = xsp; - if (jj_3R_111()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_102()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_111()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_102()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_94() { - if (jj_3R_25()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_25()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_97()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_97()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_89() { - if (jj_3R_94()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_94()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_38() { - if (jj_scan_token(XORASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(XORASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_82() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; xsp = jj_scanpos; - if (jj_3R_89()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_89()) { + jj_scanpos = xsp; + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_105() { - if (jj_scan_token(BIT_AND)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_100()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(BIT_AND)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_100()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_100() { - if (jj_3R_102()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_102()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_107()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_107()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_37() { - if (jj_scan_token(ANDASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(ANDASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_85() { - if (jj_scan_token(NULL)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(NULL)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_103() { - if (jj_scan_token(XOR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_98()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(XOR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_98()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_98() { - if (jj_3R_100()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_100()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_105()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_105()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_92() { - if (jj_scan_token(FALSE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(FALSE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_36() { - if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(RUNSIGNEDSHIFTASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_91() { - if (jj_scan_token(TRUE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(TRUE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -2022,109 +2731,189 @@ xsp = jj_scanpos; if (jj_3R_91()) { jj_scanpos = xsp; - if (jj_3R_92()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_92()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_101() { - if (jj_scan_token(BIT_OR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_95()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(BIT_OR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_95()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_95() { - if (jj_3R_98()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_98()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_103()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_103()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_35() { - if (jj_scan_token(RSIGNEDSHIFTASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(RSIGNEDSHIFTASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_80() { - if (jj_3R_85()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_85()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_66() { - if (jj_3R_69()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_69()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_79() { - if (jj_3R_84()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_84()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_78() { - if (jj_scan_token(STRING_LITERAL)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(STRING_LITERAL)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_99() { - if (jj_scan_token(SC_AND)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_90()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(SC_AND)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_90()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_90() { - if (jj_3R_95()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_95()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_101()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_101()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_34() { - if (jj_scan_token(LSHIFTASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LSHIFTASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_65() { - if (jj_scan_token(NEW)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(NEW)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_77() { - if (jj_scan_token(CHARACTER_LITERAL)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(CHARACTER_LITERAL)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_76() { - if (jj_scan_token(FLOATING_POINT_LITERAL)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(FLOATING_POINT_LITERAL)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_33() { - if (jj_scan_token(MINUSASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(MINUSASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -2141,89 +2930,161 @@ jj_scanpos = xsp; if (jj_3R_79()) { jj_scanpos = xsp; - if (jj_3R_80()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_80()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_75() { - if (jj_scan_token(INTEGER_LITERAL)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(INTEGER_LITERAL)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_96() { - if (jj_scan_token(SC_OR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_83()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(SC_OR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_83()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_83() { - if (jj_3R_90()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_90()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_99()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_99()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_64() { - if (jj_scan_token(SUPER)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(SUPER)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_32() { - if (jj_scan_token(PLUSASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(PLUSASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_73() { - if (jj_3R_82()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_82()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_72() { - if (jj_scan_token(DOT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(DOT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(IDENTIFIER)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_74() { - if (jj_3R_83()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_83()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_96()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_96()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_63() { - if (jj_scan_token(THIS)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(THIS)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_31() { - if (jj_scan_token(REMASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(REMASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -2234,120 +3095,231 @@ jj_scanpos = xsp; if (jj_3R_72()) { jj_scanpos = xsp; - if (jj_3R_73()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_73()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_71() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_25()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_25()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_93() { - if (jj_scan_token(HOOK)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_25()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(COLON)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_68()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(HOOK)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_25()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(COLON)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_68()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_57() { - if (jj_3R_70()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_70()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_30() { - if (jj_scan_token(SLASHASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(SLASHASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_27() { - if (jj_3R_58()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_58()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_56() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_25()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_25()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_152() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_55() { - if (jj_scan_token(SUPER)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(DOT)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(SUPER)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(DOT)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(IDENTIFIER)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_29() { - if (jj_scan_token(STARASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(STARASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_68() { - if (jj_3R_74()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_74()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; xsp = jj_scanpos; - if (jj_3R_93()) jj_scanpos = xsp; - else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_93()) { + jj_scanpos = xsp; + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_54() { - if (jj_scan_token(THIS)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(THIS)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_62() { - if (jj_scan_token(IDENTIFIER)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(IDENTIFIER)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_53() { - if (jj_3R_24()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_24()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_153() { - if (jj_scan_token(LBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_scan_token(RBRACKET)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_scan_token(RBRACKET)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -2364,19 +3336,37 @@ jj_scanpos = xsp; if (jj_3R_56()) { jj_scanpos = xsp; - if (jj_3R_57()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_57()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_52() { - if (jj_3R_69()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_69()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -2405,103 +3395,206 @@ jj_scanpos = xsp; if (jj_3R_38()) { jj_scanpos = xsp; - if (jj_3R_39()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } else if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_39()) { + return true; + } + if (jj_la == 0 + && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 + && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 + && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } else if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_28() { - if (jj_scan_token(ASSIGN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(ASSIGN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_61() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3_2() { - if (jj_3R_20()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_21()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_20()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_21()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_20() { - if (jj_3R_26()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_26()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_27()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_27()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } } return false; } final private boolean jj_3R_60() { - if (jj_scan_token(BANG)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(BANG)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_155() { - if (jj_scan_token(DECR)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(DECR)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_67() { - if (jj_3R_20()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_21()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_25()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_20()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_21()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_25()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_150() { - if (jj_scan_token(LPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_24()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(LPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_24()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } Token xsp; while (true) { xsp = jj_scanpos; - if (jj_3R_153()) { jj_scanpos = xsp; break; } - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - } - if (jj_scan_token(RPAREN)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; - if (jj_3R_136()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_153()) { + jj_scanpos = xsp; + break; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + } + if (jj_scan_token(RPAREN)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } + if (jj_3R_136()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_59() { - if (jj_scan_token(TILDE)) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_scan_token(TILDE)) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } final private boolean jj_3R_51() { - if (jj_3R_68()) return true; - if (jj_la == 0 && jj_scanpos == jj_lastpos) return false; + if (jj_3R_68()) { + return true; + } + if (jj_la == 0 && jj_scanpos == jj_lastpos) { + return false; + } return false; } @@ -2512,13 +3605,28 @@ private Token jj_scanpos, jj_lastpos; private int jj_la; public boolean lookingAhead = false; - private boolean jj_semLA; private int jj_gen; final private int[] jj_la1 = new int[44]; - final private int[] jj_la1_0 = {0x8209400,0x0,0x8209400,0x0,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x0,0x1000000,0x1000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000000,0x0,0x1000000,0x1000000,0x1000000,0x0,0x0,0x0,}; - final private int[] jj_la1_1 = {0x2014,0x0,0x2014,0x0,0x884480c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x884480c0,0x0,0x0,0x884480c0,0x884480c0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x884480c0,0x0,0x88400080,0x400000,0x884480c0,0x0,0x0,0x40,}; - final private int[] jj_la1_2 = {0x8,0x400,0x0,0x2000,0xf00c004e,0x8000,0x100000,0x4000000,0x8000000,0x0,0x0,0x0,0x2400000,0x2400000,0x0,0x1830000,0x1830000,0x0,0x0,0xc0000000,0xc0000000,0x0,0x0,0xc0000000,0xf00c004e,0xc0000,0xc0000,0x4e,0xc004e,0x40,0x30000000,0x30000000,0x400,0x400,0x40,0x4440,0x4e,0x4440,0x6,0x0,0xf00c004e,0x2000,0x440,0x0,}; - final private int[] jj_la1_3 = {0x0,0x0,0x0,0x0,0x0,0xffe00,0x0,0x0,0x0,0x8,0x10,0x4,0x0,0x0,0x0,0x0,0x0,0x1c0,0x1c0,0x0,0x0,0x23,0x23,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,}; + final private int[] jj_la1_0 = { 0x8209400, 0x0, 0x8209400, 0x0, 0x1000000, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000000, 0x0, 0x0, 0x1000000, 0x1000000, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1000000, 0x0, 0x1000000, + 0x1000000, 0x1000000, 0x0, 0x0, 0x0, }; + final private int[] jj_la1_1 = { 0x2014, 0x0, 0x2014, 0x0, 0x884480c0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x884480c0, 0x0, 0x0, 0x884480c0, 0x884480c0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x884480c0, 0x0, 0x88400080, 0x400000, + 0x884480c0, 0x0, 0x0, 0x40, }; + final private int[] jj_la1_2 = { 0x8, 0x400, 0x0, 0x2000, 0xf00c004e, + 0x8000, 0x100000, 0x4000000, 0x8000000, 0x0, 0x0, 0x0, 0x2400000, + 0x2400000, 0x0, 0x1830000, 0x1830000, 0x0, 0x0, 0xc0000000, + 0xc0000000, 0x0, 0x0, 0xc0000000, 0xf00c004e, 0xc0000, 0xc0000, 0x4e, + 0xc004e, 0x40, 0x30000000, 0x30000000, 0x400, 0x400, 0x40, 0x4440, + 0x4e, 0x4440, 0x6, 0x0, 0xf00c004e, 0x2000, 0x440, 0x0, }; + final private int[] jj_la1_3 = { 0x0, 0x0, 0x0, 0x0, 0x0, 0xffe00, 0x0, 0x0, + 0x0, 0x8, 0x10, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c0, 0x1c0, 0x0, 0x0, + 0x23, 0x23, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, + 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }; final private JJExpressionParserCalls[] jj_2_rtns = new JJExpressionParserCalls[9]; private boolean jj_rescan = false; private int jj_gc = 0; @@ -2529,8 +3637,12 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 44; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJExpressionParserCalls(); + for (int i = 0; i < 44; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJExpressionParserCalls(); + } } public void ReInit(java.io.InputStream stream) { @@ -2539,8 +3651,12 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 44; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJExpressionParserCalls(); + for (int i = 0; i < 44; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJExpressionParserCalls(); + } } public ExpressionParser(ExpressionParserTokenManager tm) { @@ -2548,8 +3664,12 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 44; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJExpressionParserCalls(); + for (int i = 0; i < 44; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJExpressionParserCalls(); + } } public void ReInit(ExpressionParserTokenManager tm) { @@ -2557,23 +3677,32 @@ token = new Token(); jj_ntk = -1; jj_gen = 0; - for (int i = 0; i < 44; i++) jj_la1[i] = -1; - for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJExpressionParserCalls(); + for (int i = 0; i < 44; i++) { + jj_la1[i] = -1; + } + for (int i = 0; i < jj_2_rtns.length; i++) { + jj_2_rtns[i] = new JJExpressionParserCalls(); + } } final private Token jj_consume_token(int kind) throws ParseException { Token oldToken; - if ((oldToken = token).next != null) token = token.next; - else token = token.next = token_source.getNextToken(); + if ((oldToken = token).next != null) { + token = token.next; + } else { + token = token.next = token_source.getNextToken(); + } jj_ntk = -1; if (token.kind == kind) { jj_gen++; if (++jj_gc > 100) { jj_gc = 0; - for (int i = 0; i < jj_2_rtns.length; i++) { - JJExpressionParserCalls c = jj_2_rtns[i]; + for (JJExpressionParserCalls jj_2_rtn : jj_2_rtns) { + JJExpressionParserCalls c = jj_2_rtn; while (c != null) { - if (c.gen < jj_gen) c.first = null; + if (c.gen < jj_gen) { + c.first = null; + } c = c.next; } } @@ -2589,7 +3718,8 @@ if (jj_scanpos == jj_lastpos) { jj_la--; if (jj_scanpos.next == null) { - jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken(); + jj_lastpos = jj_scanpos = jj_scanpos.next = token_source + .getNextToken(); } else { jj_lastpos = jj_scanpos = jj_scanpos.next; } @@ -2597,16 +3727,25 @@ jj_scanpos = jj_scanpos.next; } if (jj_rescan) { - int i = 0; Token tok = token; - while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; } - if (tok != null) jj_add_error_token(kind, i); + int i = 0; + Token tok = token; + while (tok != null && tok != jj_scanpos) { + i++; + tok = tok.next; + } + if (tok != null) { + jj_add_error_token(kind, i); + } } return (jj_scanpos.kind != kind); } final public Token getNextToken() { - if (token.next != null) token = token.next; - else token = token.next = token_source.getNextToken(); + if (token.next != null) { + token = token.next; + } else { + token = token.next = token_source.getNextToken(); + } jj_ntk = -1; jj_gen++; return token; @@ -2615,27 +3754,33 @@ final public Token getToken(int index) { Token t = lookingAhead ? jj_scanpos : token; for (int i = 0; i < index; i++) { - if (t.next != null) t = t.next; - else t = t.next = token_source.getNextToken(); + if (t.next != null) { + t = t.next; + } else { + t = t.next = token_source.getNextToken(); + } } return t; } final private int jj_ntk() { - if ((jj_nt=token.next) == null) + if ((jj_nt = token.next) == null) { return (jj_ntk = (token.next=token_source.getNextToken()).kind); - else + } else { return (jj_ntk = jj_nt.kind); } + } - private java.util.Vector jj_expentries = new java.util.Vector(); + private java.util.Vector<int[]> jj_expentries = new java.util.Vector<int[]>(); private int[] jj_expentry; private int jj_kind = -1; private int[] jj_lasttokens = new int[100]; private int jj_endpos; private void jj_add_error_token(int kind, int pos) { - if (pos >= 100) return; + if (pos >= 100) { + return; + } if (pos == jj_endpos + 1) { jj_lasttokens[jj_endpos++] = kind; } else if (jj_endpos != 0) { @@ -2644,8 +3789,9 @@ jj_expentry[i] = jj_lasttokens[i]; } boolean exists = false; - for (java.util.Enumeration enum_ = jj_expentries.elements(); enum_.hasMoreElements();) { - int[] oldentry = (int[])(enum_.nextElement()); + for (java.util.Enumeration<int[]> enum_ = jj_expentries.elements(); enum_ + .hasMoreElements();) { + int[] oldentry = (enum_.nextElement()); if (oldentry.length == jj_expentry.length) { exists = true; for (int i = 0; i < jj_expentry.length; i++) { @@ -2654,11 +3800,17 @@ break; } } - if (exists) break; - } - } - if (!exists) jj_expentries.addElement(jj_expentry); - if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind; + if (exists) { + break; + } + } + } + if (!exists) { + jj_expentries.addElement(jj_expentry); + } + if (pos != 0) { + jj_lasttokens[(jj_endpos = pos) - 1] = kind; + } } } @@ -2702,7 +3854,7 @@ jj_add_error_token(0, 0); int[][] exptokseq = new int[jj_expentries.size()][]; for (int i = 0; i < jj_expentries.size(); i++) { - exptokseq[i] = (int[])jj_expentries.elementAt(i); + exptokseq[i] = jj_expentries.elementAt(i); } return new ParseException(token, exptokseq, tokenImage); } @@ -2719,17 +3871,36 @@ JJExpressionParserCalls p = jj_2_rtns[i]; do { if (p.gen > jj_gen) { - jj_la = p.arg; jj_lastpos = jj_scanpos = p.first; + jj_la = p.arg; + jj_lastpos = jj_scanpos = p.first; switch (i) { - case 0: jj_3_1(); break; - case 1: jj_3_2(); break; - case 2: jj_3_3(); break; - case 3: jj_3_4(); break; - case 4: jj_3_5(); break; - case 5: jj_3_6(); break; - case 6: jj_3_7(); break; - case 7: jj_3_8(); break; - case 8: jj_3_9(); break; + case 0: + jj_3_1(); + break; + case 1: + jj_3_2(); + break; + case 2: + jj_3_3(); + break; + case 3: + jj_3_4(); + break; + case 4: + jj_3_5(); + break; + case 5: + jj_3_6(); + break; + case 6: + jj_3_7(); + break; + case 7: + jj_3_8(); + break; + case 8: + jj_3_9(); + break; } } p = p.next; @@ -2741,10 +3912,15 @@ final private void jj_save(int index, int xla) { JJExpressionParserCalls p = jj_2_rtns[index]; while (p.gen > jj_gen) { - if (p.next == null) { p = p.next = new JJExpressionParserCalls(); break; } + if (p.next == null) { + p = p.next = new JJExpressionParserCalls(); + break; + } p = p.next; } - p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; + p.gen = jj_gen + xla - jj_la; + p.first = token; + p.arg = xla; } }
--- a/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java Fri May 06 10:31:40 2011 -0700 +++ b/jdk/src/share/classes/com/sun/tools/example/debug/expr/ExpressionParserTokenManager.java Mon May 09 12:32:40 2011 -0700 @@ -25,10 +25,6 @@ /* Generated By:JavaCC: Do not edit this line. ExpressionParserTokenManager.java */ package com.sun.tools.example.debug.expr; -import com.sun.jdi.*; -import java.util.Stack; -import java.util.List; -import java.util.ArrayList; public class ExpressionParserTokenManager implements ExpressionParserConstants { @@ -37,15 +33,17 @@ switch (pos) { case 0: - if ((active1 & 0x4000L) != 0L) + if ((active1 & 0x4000L) != 0L) { return 4; + } if ((active0 & 0x7fffffffffffe00L) != 0L) { jjmatchedKind = 67; return 28; } - if ((active1 & 0x100200000000L) != 0L) + if ((active1 & 0x100200000000L) != 0L) { return 49; + } return -1; case 1: if ((active0 & 0x7ffffffbfcffe00L) != 0L) @@ -57,8 +55,9 @@ } return 28; } - if ((active0 & 0x40300000L) != 0L) + if ((active0 & 0x40300000L) != 0L) { return 28; + } return -1; case 2: if ((active0 & 0x77fffb3afeffe00L) != 0L) @@ -70,8 +69,9 @@ } return 28; } - if ((active0 & 0x80004c10000000L) != 0L) + if ((active0 & 0x80004c10000000L) != 0L) { return 28; + } return -1; case 3: if ((active0 & 0x63bff2b8faf4e00L) != 0L) @@ -80,8 +80,9 @@ jjmatchedPos = 3; return 28; } - if ((active0 & 0x14400902040b000L) != 0L) + if ((active0 & 0x14400902040b000L) != 0L) { return 28; + } return -1; case 4: if ((active0 & 0x2235f2b80ac0600L) != 0L) @@ -93,8 +94,9 @@ } return 28; } - if ((active0 & 0x418a0000f034800L) != 0L) + if ((active0 & 0x418a0000f034800L) != 0L) { return 28; + } return -1; case 5: if ((active0 & 0x222070a848c0600L) != 0L) @@ -103,8 +105,9 @@ jjmatchedPos = 5; return 28; } - if ((active0 & 0x11582100200000L) != 0L) + if ((active0 & 0x11582100200000L) != 0L) { return 28; + } return -1; case 6: if ((active0 & 0x222040a80040200L) != 0L) @@ -113,8 +116,9 @@ jjmatchedPos = 6; return 28; } - if ((active0 & 0x30004880400L) != 0L) + if ((active0 & 0x30004880400L) != 0L) { return 28; + } return -1; case 7: if ((active0 & 0x22040a80000000L) != 0L) @@ -123,8 +127,9 @@ jjmatchedPos = 7; return 28; } - if ((active0 & 0x200000000040200L) != 0L) + if ((active0 & 0x200000000040200L) != 0L) { return 28; + } return -1; case 8: if ((active0 & 0x2000280000000L) != 0L) @@ -133,8 +138,9 @@ jjmatchedPos = 8; return 28; } - if ((active0 & 0x20040800000000L) != 0L) + if ((active0 & 0x20040800000000L) != 0L) { return 28; + } return -1; case 9: if ((active0 & 0x2000000000000L) != 0L) @@ -143,8 +149,9 @@ jjmatchedPos = 9; return 28; } - if ((active0 & 0x280000000L) != 0L) + if ((active0 & 0x280000000L) != 0L) { return 28; + } return -1; case 10: if ((active0 & 0x2000000000000L) != 0L) @@ -286,16 +293,19 @@ switch(curChar) { case 38: - if ((active1 & 0x8000000L) != 0L) + if ((active1 & 0x8000000L) != 0L) { return jjStopAtPos(1, 91); + } break; case 43: - if ((active1 & 0x10000000L) != 0L) + if ((active1 & 0x10000000L) != 0L) { return jjStopAtPos(1, 92); + } break; case 45: - if ((active1 & 0x20000000L) != 0L) + if ((active1 & 0x20000000L) != 0L) { return jjStopAtPos(1, 93); + } break; case 60: if ((active1 & 0x4000000000L) != 0L) @@ -305,30 +315,31 @@ } return jjMoveStringLiteralDfa2_0(active0, 0L, active1, 0x2000000000000L); case 61: - if ((active1 & 0x400000L) != 0L) + if ((active1 & 0x400000L) != 0L) { return jjStopAtPos(1, 86); - else if ((active1 & 0x800000L) != 0L) + } else if ((active1 & 0x800000L) != 0L) { return jjStopAtPos(1, 87); - else if ((active1 & 0x1000000L) != 0L) + } else if ((active1 & 0x1000000L) != 0L) { return jjStopAtPos(1, 88); - else if ((active1 & 0x2000000L) != 0L) + } else if ((active1 & 0x2000000L) != 0L) { return jjStopAtPos(1, 89); - else if ((active1 & 0x20000000000L) != 0L) + } else if ((active1 & 0x20000000000L) != 0L) { return jjStopAtPos(1, 105); - else if ((active1 & 0x40000000000L) != 0L) + } else if ((active1 & 0x40000000000L) != 0L) { return jjStopAtPos(1, 106); - else if ((active1 & 0x80000000000L) != 0L) + } else if ((active1 & 0x80000000000L) != 0L) { return jjStopAtPos(1, 107); - else if ((active1 & 0x100000000000L) != 0L) + } else if ((active1 & 0x100000000000L) != 0L) { return jjStopAtPos(1, 108); - else if ((active1 & 0x200000000000L) != 0L) + } else if ((active1 & 0x200000000000L) != 0L) { return jjStopAtPos(1, 109); - else if ((active1 & 0x400000000000L) != 0L) + } else if ((active1 & 0x400000000000L) != 0L) { return jjStopAtPos(1, 110); - else if ((active1 & 0x800000000000L) != 0L) + } else if ((active1 & 0x800000000000L) != 0L) { return jjStopAtPos(1, 111); - else if ((active1 & 0x1000000000000L) != 0L) + } else if ((active1 & 0x1000000000000L) != 0L) { return jjStopAtPos(1, 112); + } break; case 62: if ((active1 & 0x8000000000L) != 0L) @@ -344,8 +355,9 @@ case 101: return jjMoveStringLiteralDfa2_0(active0, 0x104000080000L, active1, 0L); case 102: - if ((active0 & 0x40000000L) != 0L) + if ((active0 & 0x40000000L) != 0L) { return jjStartNfaWithStates_0(1, 30, 28); + } break; case 104: return jjMoveStringLiteralDfa2_0(active0, 0x41c200000008000L, active1, 0L); @@ -377,8 +389,9 @@ case 121: return jjMoveStringLiteralDfa2_0(active0, 0x2000000001000L, active1, 0L); case 124: - if ((active1 & 0x4000000L) != 0L) + if ((active1 & 0x4000000L) != 0L) { return jjStopAtPos(1, 90); + } break; default : break; @@ -387,8 +400,9 @@ } private final int jjMoveStringLiteralDfa2_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) + if (((active0 &= old0) | (active1 &= old1)) == 0L) { return jjStartNfa_0(0, old0, old1); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(1, active0, active1); @@ -397,10 +411,11 @@ switch(curChar) { case 61: - if ((active1 & 0x2000000000000L) != 0L) + if ((active1 & 0x2000000000000L) != 0L) { return jjStopAtPos(2, 113); - else if ((active1 & 0x4000000000000L) != 0L) + } else if ((active1 & 0x4000000000000L) != 0L) { return jjStopAtPos(2, 114); + } break; case 62: if ((active1 & 0x10000000000L) != 0L) @@ -430,8 +445,9 @@ case 112: return jjMoveStringLiteralDfa3_0(active0, 0x800180000000L, active1, 0L); case 114: - if ((active0 & 0x10000000L) != 0L) + if ((active0 & 0x10000000L) != 0L) { return jjStartNfaWithStates_0(2, 28, 28); + } return jjMoveStringLiteralDfa3_0(active0, 0x18000000000000L, active1, 0L); case 115: return jjMoveStringLiteralDfa3_0(active0, 0x200402200L, active1, 0L); @@ -445,12 +461,14 @@ case 117: return jjMoveStringLiteralDfa3_0(active0, 0x40000000200000L, active1, 0L); case 119: - if ((active0 & 0x4000000000L) != 0L) + if ((active0 & 0x4000000000L) != 0L) { return jjStartNfaWithStates_0(2, 38, 28); + } break; case 121: - if ((active0 & 0x80000000000000L) != 0L) + if ((active0 & 0x80000000000000L) != 0L) { return jjStartNfaWithStates_0(2, 55, 28); + } break; default : break; @@ -459,8 +477,9 @@ } private final int jjMoveStringLiteralDfa3_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) + if (((active0 &= old0) | (active1 &= old1)) == 0L) { return jjStartNfa_0(1, old0, old1); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(2, active0, active1); @@ -469,8 +488,9 @@ switch(curChar) { case 61: - if ((active1 & 0x8000000000000L) != 0L) + if ((active1 & 0x8000000000000L) != 0L) { return jjStopAtPos(3, 115); + } break; case 97: return jjMoveStringLiteralDfa4_0(active0, 0x20000000e080800L, active1, 0L); @@ -479,44 +499,51 @@ case 99: return jjMoveStringLiteralDfa4_0(active0, 0x2000000004000L, active1, 0L); case 100: - if ((active0 & 0x100000000000000L) != 0L) + if ((active0 & 0x100000000000000L) != 0L) { return jjStartNfaWithStates_0(3, 56, 28); + } break; case 101: - if ((active0 & 0x1000L) != 0L) + if ((active0 & 0x1000L) != 0L) { return jjStartNfaWithStates_0(3, 12, 28); - else if ((active0 & 0x2000L) != 0L) + } else if ((active0 & 0x2000L) != 0L) { return jjStartNfaWithStates_0(3, 13, 28); - else if ((active0 & 0x400000L) != 0L) + } else if ((active0 & 0x400000L) != 0L) { return jjStartNfaWithStates_0(3, 22, 28); - else if ((active0 & 0x40000000000000L) != 0L) + } else if ((active0 & 0x40000000000000L) != 0L) { return jjStartNfaWithStates_0(3, 54, 28); + } return jjMoveStringLiteralDfa4_0(active0, 0x800800800000L, active1, 0L); case 103: - if ((active0 & 0x1000000000L) != 0L) + if ((active0 & 0x1000000000L) != 0L) { return jjStartNfaWithStates_0(3, 36, 28); + } break; case 105: return jjMoveStringLiteralDfa4_0(active0, 0x2000000000L, active1, 0L); case 107: return jjMoveStringLiteralDfa4_0(active0, 0x10000000000L, active1, 0L); case 108: - if ((active0 & 0x8000000000L) != 0L) + if ((active0 & 0x8000000000L) != 0L) { return jjStartNfaWithStates_0(3, 39, 28); + } return jjMoveStringLiteralDfa4_0(active0, 0x400080080000400L, active1, 0L); case 110: return jjMoveStringLiteralDfa4_0(active0, 0x20000000000000L, active1, 0L); case 111: - if ((active0 & 0x20000000L) != 0L) + if ((active0 & 0x20000000L) != 0L) { return jjStartNfaWithStates_0(3, 29, 28); + } return jjMoveStringLiteralDfa4_0(active0, 0x18000100000000L, active1, 0L); case 114: - if ((active0 & 0x8000L) != 0L) + if ((active0 & 0x8000L) != 0L) { return jjStartNfaWithStates_0(3, 15, 28); + } return jjMoveStringLiteralDfa4_0(active0, 0x200000000000L, active1, 0L); case 115: - if ((active0 & 0x4000000000000L) != 0L) + if ((active0 & 0x4000000000000L) != 0L) { return jjStartNfaWithStates_0(3, 50, 28); + } return jjMoveStringLiteralDfa4_0(active0, 0x1030000L, active1, 0L); case 116: return jjMoveStringLiteralDfa4_0(active0, 0x1440200040200L, active1, 0L); @@ -531,8 +558,9 @@ } private final int jjMoveStringLiteralDfa4_0(long old0, long active0, long old1, long active1) { - if (((active0 &= old0) | (active1 &= old1)) == 0L) + if (((active0 &= old0) | (active1 &= old1)) == 0L) { return jjStartNfa_0(2, old0, old1); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(3, active0, 0L); @@ -545,20 +573,23 @@ case 99: return jjMoveStringLiteralDfa5_0(active0, 0x1000000000000L); case 101: - if ((active0 & 0x1000000L) != 0L) + if ((active0 & 0x1000000L) != 0L) { return jjStartNfaWithStates_0(4, 24, 28); - else if ((active0 & 0x400000000000000L) != 0L) + } else if ((active0 & 0x400000000000000L) != 0L) { return jjStartNfaWithStates_0(4, 58, 28); + } return jjMoveStringLiteralDfa5_0(active0, 0x40080000400L); case 104: - if ((active0 & 0x4000L) != 0L) + if ((active0 & 0x4000L) != 0L) { return jjStartNfaWithStates_0(4, 14, 28); + } return jjMoveStringLiteralDfa5_0(active0, 0x2000000000000L); case 105: return jjMoveStringLiteralDfa5_0(active0, 0x480000040000L); case 107: - if ((active0 & 0x800L) != 0L) + if ((active0 & 0x800L) != 0L) { return jjStartNfaWithStates_0(4, 11, 28); + } break; case 108: if ((active0 & 0x2000000L) != 0L) @@ -570,20 +601,23 @@ case 110: return jjMoveStringLiteralDfa5_0(active0, 0x800000L); case 114: - if ((active0 & 0x800000000000L) != 0L) + if ((active0 & 0x800000000000L) != 0L) { return jjStartNfaWithStates_0(4, 47, 28); + } return jjMoveStringLiteralDfa5_0(active0, 0x100900000200L); case 115: - if ((active0 & 0x10000L) != 0L) + if ((active0 & 0x10000L) != 0L) { return jjStartNfaWithStates_0(4, 16, 28); + } return jjMoveStringLiteralDfa5_0(active0, 0x20000000000000L); case 116: - if ((active0 & 0x20000L) != 0L) + if ((active0 & 0x20000L) != 0L) { return jjStartNfaWithStates_0(4, 17, 28); - else if ((active0 & 0x8000000L) != 0L) + } else if ((active0 & 0x8000000L) != 0L) { return jjStartNfaWithStates_0(4, 27, 28); - else if ((active0 & 0x200000000000L) != 0L) + } else if ((active0 & 0x200000000000L) != 0L) { return jjStartNfaWithStates_0(4, 45, 28); + } return jjMoveStringLiteralDfa5_0(active0, 0x200000000000000L); case 117: return jjMoveStringLiteralDfa5_0(active0, 0x80000L); @@ -603,8 +637,9 @@ } private final int jjMoveStringLiteralDfa5_0(long old0, long active0) { - if (((active0 &= old0)) == 0L) + if (((active0 &= old0)) == 0L) { return jjStartNfa_0(3, old0, 0L); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(4, active0, 0L); @@ -615,26 +650,29 @@ case 97: return jjMoveStringLiteralDfa6_0(active0, 0x600L); case 99: - if ((active0 & 0x80000000000L) != 0L) + if ((active0 & 0x80000000000L) != 0L) { return jjStartNfaWithStates_0(5, 43, 28); - else if ((active0 & 0x400000000000L) != 0L) + } else if ((active0 & 0x400000000000L) != 0L) { return jjStartNfaWithStates_0(5, 46, 28); + } return jjMoveStringLiteralDfa6_0(active0, 0x40000000000L); case 100: return jjMoveStringLiteralDfa6_0(active0, 0x800000L); case 101: - if ((active0 & 0x200000L) != 0L) + if ((active0 & 0x200000L) != 0L) { return jjStartNfaWithStates_0(5, 21, 28); - else if ((active0 & 0x2000000000L) != 0L) + } else if ((active0 & 0x2000000000L) != 0L) { return jjStartNfaWithStates_0(5, 37, 28); + } break; case 102: return jjMoveStringLiteralDfa6_0(active0, 0x800000000L); case 103: return jjMoveStringLiteralDfa6_0(active0, 0x10000000000L); case 104: - if ((active0 & 0x1000000000000L) != 0L) + if ((active0 & 0x1000000000000L) != 0L) { return jjStartNfaWithStates_0(5, 48, 28); + } break; case 105: return jjMoveStringLiteralDfa6_0(active0, 0x220000000000000L); @@ -643,18 +681,21 @@ case 109: return jjMoveStringLiteralDfa6_0(active0, 0x80000000L); case 110: - if ((active0 & 0x100000000000L) != 0L) + if ((active0 & 0x100000000000L) != 0L) { return jjStartNfaWithStates_0(5, 44, 28); + } return jjMoveStringLiteralDfa6_0(active0, 0x200040000L); case 114: return jjMoveStringLiteralDfa6_0(active0, 0x2000000000000L); case 115: - if ((active0 & 0x10000000000000L) != 0L) + if ((active0 & 0x10000000000000L) != 0L) { return jjStartNfaWithStates_0(5, 52, 28); + } break; case 116: - if ((active0 & 0x100000000L) != 0L) + if ((active0 & 0x100000000L) != 0L) { return jjStartNfaWithStates_0(5, 32, 28); + } return jjMoveStringLiteralDfa6_0(active0, 0x20000000000L); default : break; @@ -663,8 +704,9 @@ } private final int jjMoveStringLiteralDfa6_0(long old0, long active0) { - if (((active0 &= old0)) == 0L) + if (((active0 &= old0)) == 0L) { return jjStartNfa_0(4, old0, 0L); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(5, active0, 0L); @@ -677,32 +719,37 @@ case 99: return jjMoveStringLiteralDfa7_0(active0, 0x200000200L); case 101: - if ((active0 & 0x10000000000L) != 0L) + if ((active0 & 0x10000000000L) != 0L) { return jjStartNfaWithStates_0(6, 40, 28); - else if ((active0 & 0x20000000000L) != 0L) + } else if ((active0 & 0x20000000000L) != 0L) { return jjStartNfaWithStates_0(6, 41, 28); + } return jjMoveStringLiteralDfa7_0(active0, 0x20000080000000L); case 108: return jjMoveStringLiteralDfa7_0(active0, 0x200000000000000L); case 110: - if ((active0 & 0x400L) != 0L) + if ((active0 & 0x400L) != 0L) { return jjStartNfaWithStates_0(6, 10, 28); + } break; case 111: return jjMoveStringLiteralDfa7_0(active0, 0x2000000000000L); case 115: - if ((active0 & 0x800000L) != 0L) + if ((active0 & 0x800000L) != 0L) { return jjStartNfaWithStates_0(6, 23, 28); + } break; case 116: - if ((active0 & 0x80000L) != 0L) + if ((active0 & 0x80000L) != 0L) { return jjStartNfaWithStates_0(6, 19, 28); + } return jjMoveStringLiteralDfa7_0(active0, 0x40000000000L); case 117: return jjMoveStringLiteralDfa7_0(active0, 0x40000L); case 121: - if ((active0 & 0x4000000L) != 0L) + if ((active0 & 0x4000000L) != 0L) { return jjStartNfaWithStates_0(6, 26, 28); + } break; default : break; @@ -711,8 +758,9 @@ } private final int jjMoveStringLiteralDfa7_0(long old0, long active0) { - if (((active0 &= old0)) == 0L) + if (((active0 &= old0)) == 0L) { return jjStartNfa_0(5, old0, 0L); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(6, active0, 0L); @@ -723,16 +771,18 @@ case 99: return jjMoveStringLiteralDfa8_0(active0, 0x800000000L); case 101: - if ((active0 & 0x40000L) != 0L) + if ((active0 & 0x40000L) != 0L) { return jjStartNfaWithStates_0(7, 18, 28); - else if ((active0 & 0x200000000000000L) != 0L) + } else if ((active0 & 0x200000000000000L) != 0L) { return jjStartNfaWithStates_0(7, 57, 28); + } return jjMoveStringLiteralDfa8_0(active0, 0x40200000000L); case 110: return jjMoveStringLiteralDfa8_0(active0, 0x22000080000000L); case 116: - if ((active0 & 0x200L) != 0L) + if ((active0 & 0x200L) != 0L) { return jjStartNfaWithStates_0(7, 9, 28); + } break; default : break; @@ -741,8 +791,9 @@ } private final int jjMoveStringLiteralDfa8_0(long old0, long active0) { - if (((active0 &= old0)) == 0L) + if (((active0 &= old0)) == 0L) { return jjStartNfa_0(6, old0, 0L); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(7, active0, 0L); @@ -751,20 +802,23 @@ switch(curChar) { case 100: - if ((active0 & 0x40000000000L) != 0L) + if ((active0 & 0x40000000000L) != 0L) { return jjStartNfaWithStates_0(8, 42, 28); + } break; case 101: - if ((active0 & 0x800000000L) != 0L) + if ((active0 & 0x800000000L) != 0L) { return jjStartNfaWithStates_0(8, 35, 28); + } break; case 105: return jjMoveStringLiteralDfa9_0(active0, 0x2000000000000L); case 111: return jjMoveStringLiteralDfa9_0(active0, 0x200000000L); case 116: - if ((active0 & 0x20000000000000L) != 0L) + if ((active0 & 0x20000000000000L) != 0L) { return jjStartNfaWithStates_0(8, 53, 28); + } return jjMoveStringLiteralDfa9_0(active0, 0x80000000L); default : break; @@ -773,8 +827,9 @@ } private final int jjMoveStringLiteralDfa9_0(long old0, long active0) { - if (((active0 &= old0)) == 0L) + if (((active0 &= old0)) == 0L) { return jjStartNfa_0(7, old0, 0L); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(8, active0, 0L); @@ -783,12 +838,14 @@ switch(curChar) { case 102: - if ((active0 & 0x200000000L) != 0L) + if ((active0 & 0x200000000L) != 0L) { return jjStartNfaWithStates_0(9, 33, 28); + } break; case 115: - if ((active0 & 0x80000000L) != 0L) + if ((active0 & 0x80000000L) != 0L) { return jjStartNfaWithStates_0(9, 31, 28); + } break; case 122: return jjMoveStringLiteralDfa10_0(active0, 0x2000000000000L); @@ -799,8 +856,9 @@ } private final int jjMoveStringLiteralDfa10_0(long old0, long active0) { - if (((active0 &= old0)) == 0L) + if (((active0 &= old0)) == 0L) { return jjStartNfa_0(8, old0, 0L); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(9, active0, 0L); @@ -817,8 +875,9 @@ } private final int jjMoveStringLiteralDfa11_0(long old0, long active0) { - if (((active0 &= old0)) == 0L) + if (((active0 &= old0)) == 0L) { return jjStartNfa_0(9, old0, 0L); + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { jjStopStringLiteralDfa_0(10, active0, 0L); @@ -827,8 +886,9 @@ switch(curChar) { case 100: - if ((active0 & 0x2000000000000L) != 0L) + if ((active0 & 0x2000000000000L) != 0L) { return jjStartNfaWithStates_0(11, 49, 28); + } break; default : break; @@ -891,320 +951,395 @@ }; private final int jjMoveNfa_0(int startState, int curPos) { - int[] nextStates; int startsAt = 0; jjnewStateCnt = 67; int i = 1; jjstateSet[0] = startState; - int j, kind = 0x7fffffff; + int kind = 0x7fffffff; for (;;) { - if (++jjround == 0x7fffffff) + if (++jjround == 0x7fffffff) { ReInitRounds(); + } if (curChar < 64) { long l = 1L << curChar; - MatchLoop: do + //MatchLoop + do { switch(jjstateSet[--i]) { case 0: - if ((0x3ff000000000000L & l) != 0L) + if ((0x3ff000000000000L & l) != 0L) { jjCheckNAddStates(0, 6); - else if (curChar == 47) + } else if (curChar == 47) { jjAddStates(7, 9); - else if (curChar == 36) + } else if (curChar == 36) { - if (kind > 67) + if (kind > 67) { kind = 67; + } jjCheckNAdd(28); } - else if (curChar == 34) + else if (curChar == 34) { jjCheckNAddStates(10, 12); - else if (curChar == 39) + } else if (curChar == 39) { jjAddStates(13, 14); - else if (curChar == 46) + } else if (curChar == 46) { jjCheckNAdd(4); + } if ((0x3fe000000000000L & l) != 0L) { - if (kind > 59) + if (kind > 59) { kind = 59; + } jjCheckNAddTwoStates(1, 2); } else if (curChar == 48) { - if (kind > 59) + if (kind > 59) { kind = 59; + } jjCheckNAddStates(15, 17); } break; case 49: - if (curChar == 42) + if (curChar == 42) { jjCheckNAddTwoStates(62, 63); - else if (curChar == 47) + } else if (curChar == 47) { jjCheckNAddStates(18, 20); - if (curChar == 42) + } + if (curChar == 42) { jjstateSet[jjnewStateCnt++] = 54; + } break; case 1: - if ((0x3ff000000000000L & l) == 0L) + if ((0x3ff000000000000L & l) == 0L) { break; - if (kind > 59) + } + if (kind > 59) { kind = 59; + } jjCheckNAddTwoStates(1, 2); break; case 3: - if (curChar == 46) + if (curChar == 46) { jjCheckNAdd(4); + } break; case 4: - if ((0x3ff000000000000L & l) == 0L) + if ((0x3ff000000000000L & l) == 0L) { break; - if (kind > 63) + } + if (kind > 63) { kind = 63; + } jjCheckNAddStates(21, 23); break; case 6: - if ((0x280000000000L & l) != 0L) + if ((0x280000000000L & l) != 0L) { jjCheckNAdd(7); + } break; case 7: - if ((0x3ff000000000000L & l) == 0L) + if ((0x3ff000000000000L & l) == 0L) { break; - if (kind > 63) + } + if (kind > 63) { kind = 63; + } jjCheckNAddTwoStates(7, 8); break; case 9: - if (curChar == 39) + if (curChar == 39) { jjAddStates(13, 14); + } break; case 10: - if ((0xffffff7fffffdbffL & l) != 0L) + if ((0xffffff7fffffdbffL & l) != 0L) { jjCheckNAdd(11); + } break; case 11: - if (curChar == 39 && kind > 65) + if (curChar == 39 && kind > 65) { kind = 65; + } break; case 13: - if ((0x8400000000L & l) != 0L) + if ((0x8400000000L & l) != 0L) { jjCheckNAdd(11); + } break; case 14: - if ((0xff000000000000L & l) != 0L) + if ((0xff000000000000L & l) != 0L) { jjCheckNAddTwoStates(15, 11); + } break; case 15: - if ((0xff000000000000L & l) != 0L) + if ((0xff000000000000L & l) != 0L) { jjCheckNAdd(11); + } break; case 16: - if ((0xf000000000000L & l) != 0L) + if ((0xf000000000000L & l) != 0L) { jjstateSet[jjnewStateCnt++] = 17; + } break; case 17: - if ((0xff000000000000L & l) != 0L) + if ((0xff000000000000L & l) != 0L) { jjCheckNAdd(15); + } break; case 18: - if (curChar == 34) + if (curChar == 34) { jjCheckNAddStates(10, 12); + } break; case 19: - if ((0xfffffffbffffdbffL & l) != 0L) + if ((0xfffffffbffffdbffL & l) != 0L) { jjCheckNAddStates(10, 12); + } break; case 21: - if ((0x8400000000L & l) != 0L) + if ((0x8400000000L & l) != 0L) { jjCheckNAddStates(10, 12); + } break; case 22: - if (curChar == 34 && kind > 66) + if (curChar == 34 && kind > 66) { kind = 66; + } break; case 23: - if ((0xff000000000000L & l) != 0L) + if ((0xff000000000000L & l) != 0L) { jjCheckNAddStates(24, 27); + } break; case 24: - if ((0xff000000000000L & l) != 0L) + if ((0xff000000000000L & l) != 0L) { jjCheckNAddStates(10, 12); + } break; case 25: - if ((0xf000000000000L & l) != 0L) + if ((0xf000000000000L & l) != 0L) { jjstateSet[jjnewStateCnt++] = 26; + } break; case 26: - if ((0xff000000000000L & l) != 0L) + if ((0xff000000000000L & l) != 0L) { jjCheckNAdd(24); + } break; case 27: - if (curChar != 36) + if (curChar != 36) { break; - if (kind > 67) + } + if (kind > 67) { kind = 67; + } jjCheckNAdd(28); break; case 28: - if ((0x3ff001000000000L & l) == 0L) + if ((0x3ff001000000000L & l) == 0L) { break; - if (kind > 67) + } + if (kind > 67) { kind = 67; + } jjCheckNAdd(28); break; case 29: - if ((0x3ff000000000000L & l) != 0L) + if ((0x3ff000000000000L & l) != 0L) { jjCheckNAddStates(0, 6); + } break; case 30: - if ((0x3ff000000000000L & l) != 0L) + if ((0x3ff000000000000L & l) != 0L) { jjCheckNAddTwoStates(30, 31); + } break; case 31: - if (curChar != 46) + if (curChar != 46) { break; - if (kind > 63) + } + if (kind > 63) { kind = 63; + } jjCheckNAddStates(28, 30); break; case 32: - if ((0x3ff000000000000L & l) == 0L) + if ((0x3ff000000000000L & l) == 0L) { break; - if (kind > 63) + } + if (kind > 63) { kind = 63; + } jjCheckNAddStates(28, 30); break; case 34: - if ((0x280000000000L & l) != 0L) + if ((0x280000000000L & l) != 0L) { jjCheckNAdd(35); + } break; case 35: - if ((0x3ff000000000000L & l) == 0L) + if ((0x3ff000000000000L & l) == 0L) { break; - if (kind > 63) + } + if (kind > 63) { kind = 63; + } jjCheckNAddTwoStates(35, 8); break; case 36: - if ((0x3ff000000000000L & l) != 0L) + if ((0x3ff000000000000L & l) != 0L) { jjCheckNAddTwoStates(36, 37); + } break; case 38: - if ((0x280000000000L & l) != 0L) + if ((0x280000000000L & l) != 0L) { jjCheckNAdd(39); + } break; case 39: - if ((0x3ff000000000000L & l) == 0L) + if ((0x3ff000000000000L & l) == 0L) { break; - if (kind > 63) + } + if (kind > 63) { kind = 63; + } jjCheckNAddTwoStates(39, 8); break; case 40: - if ((0x3ff000000000000L & l) != 0L) + if ((0x3ff000000000000L & l) != 0L) { jjCheckNAddStates(31, 33); + } break; case 42: - if ((0x280000000000L & l) != 0L) + if ((0x280000000000L & l) != 0L) { jjCheckNAdd(43); + } break; case 43: - if ((0x3ff000000000000L & l) != 0L) + if ((0x3ff000000000000L & l) != 0L) { jjCheckNAddTwoStates(43, 8); + } break; case 44: - if (curChar != 48) + if (curChar != 48) { break; - if (kind > 59) + } + if (kind > 59) { kind = 59; + } jjCheckNAddStates(15, 17); break; case 46: - if ((0x3ff000000000000L & l) == 0L) + if ((0x3ff000000000000L & l) == 0L) { break; - if (kind > 59) + } + if (kind > 59) { kind = 59; + } jjCheckNAddTwoStates(46, 2); break; case 47: - if ((0xff000000000000L & l) == 0L) + if ((0xff000000000000L & l) == 0L) { break; - if (kind > 59) + } + if (kind > 59) { kind = 59; + } jjCheckNAddTwoStates(47, 2); break; case 48: - if (curChar == 47) + if (curChar == 47) { jjAddStates(7, 9); + } break; case 50: - if ((0xffffffffffffdbffL & l) != 0L) + if ((0xffffffffffffdbffL & l) != 0L) { jjCheckNAddStates(18, 20); + } break; case 51: - if ((0x2400L & l) != 0L && kind > 6) + if ((0x2400L & l) != 0L && kind > 6) { kind = 6; + } break; case 52: - if (curChar == 10 && kind > 6) + if (curChar == 10 && kind > 6) { kind = 6; + } break; case 53: - if (curChar == 13) + if (curChar == 13) { jjstateSet[jjnewStateCnt++] = 52; + } break; case 54: - if (curChar == 42) + if (curChar == 42) { jjCheckNAddTwoStates(55, 56); + } break; case 55: - if ((0xfffffbffffffffffL & l) != 0L) + if ((0xfffffbffffffffffL & l) != 0L) { jjCheckNAddTwoStates(55, 56); + } break; case 56: - if (curChar == 42) + if (curChar == 42) { jjCheckNAddStates(34, 36); + } break; case 57: - if ((0xffff7bffffffffffL & l) != 0L) + if ((0xffff7bffffffffffL & l) != 0L) { jjCheckNAddTwoStates(58, 56); + } break; case 58: - if ((0xfffffbffffffffffL & l) != 0L) + if ((0xfffffbffffffffffL & l) != 0L) { jjCheckNAddTwoStates(58, 56); + } break; case 59: - if (curChar == 47 && kind > 7) + if (curChar == 47 && kind > 7) { kind = 7; + } break; case 60: - if (curChar == 42) + if (curChar == 42) { jjstateSet[jjnewStateCnt++] = 54; + } break; case 61: - if (curChar == 42) + if (curChar == 42) { jjCheckNAddTwoStates(62, 63); + } break; case 62: - if ((0xfffffbffffffffffL & l) != 0L) + if ((0xfffffbffffffffffL & l) != 0L) { jjCheckNAddTwoStates(62, 63); + } break; case 63: - if (curChar == 42) + if (curChar == 42) { jjCheckNAddStates(37, 39); + } break; case 64: - if ((0xffff7bffffffffffL & l) != 0L) + if ((0xffff7bffffffffffL & l) != 0L) { jjCheckNAddTwoStates(65, 63); + } break; case 65: - if ((0xfffffbffffffffffL & l) != 0L) + if ((0xfffffbffffffffffL & l) != 0L) { jjCheckNAddTwoStates(65, 63); + } break; case 66: - if (curChar == 47 && kind > 8) + if (curChar == 47 && kind > 8) { kind = 8; + } break; default : break; } @@ -1213,75 +1348,93 @@ else if (curChar < 128) { long l = 1L << (curChar & 077); - MatchLoop: do + //MatchLoop + do { switch(jjstateSet[--i]) { case 0: case 28: - if ((0x7fffffe87fffffeL & l) == 0L) + if ((0x7fffffe87fffffeL & l) == 0L) { break; - if (kind > 67) + } + if (kind > 67) { kind = 67; + } jjCheckNAdd(28); break; case 2: - if ((0x100000001000L & l) != 0L && kind > 59) + if ((0x100000001000L & l) != 0L && kind > 59) { kind = 59; + } break; case 5: - if ((0x2000000020L & l) != 0L) + if ((0x2000000020L & l) != 0L) { jjAddStates(40, 41); + } break; case 8: - if ((0x5000000050L & l) != 0L && kind > 63) + if ((0x5000000050L & l) != 0L && kind > 63) { kind = 63; + } break; case 10: - if ((0xffffffffefffffffL & l) != 0L) + if ((0xffffffffefffffffL & l) != 0L) { jjCheckNAdd(11); + } break; case 12: - if (curChar == 92) + if (curChar == 92) { jjAddStates(42, 44); + } break; case 13: - if ((0x14404410000000L & l) != 0L) + if ((0x14404410000000L & l) != 0L) { jjCheckNAdd(11); + } break; case 19: - if ((0xffffffffefffffffL & l) != 0L) + if ((0xffffffffefffffffL & l) != 0L) { jjCheckNAddStates(10, 12); + } break; case 20: - if (curChar == 92) + if (curChar == 92) { jjAddStates(45, 47); + } break; case 21: - if ((0x14404410000000L & l) != 0L) + if ((0x14404410000000L & l) != 0L) { jjCheckNAddStates(10, 12); + } break; case 33: - if ((0x2000000020L & l) != 0L) + if ((0x2000000020L & l) != 0L) { jjAddStates(48, 49); + } break; case 37: - if ((0x2000000020L & l) != 0L) + if ((0x2000000020L & l) != 0L) { jjAddStates(50, 51); + } break; case 41: - if ((0x2000000020L & l) != 0L) + if ((0x2000000020L & l) != 0L) { jjAddStates(52, 53); + } break; case 45: - if ((0x100000001000000L & l) != 0L) + if ((0x100000001000000L & l) != 0L) { jjCheckNAdd(46); + } break; case 46: - if ((0x7e0000007eL & l) == 0L) + if ((0x7e0000007eL & l) == 0L) { break; - if (kind > 59) + } + if (kind > 59) { kind = 59; + } jjCheckNAddTwoStates(46, 2); break; case 50: @@ -1312,47 +1465,57 @@ long l1 = 1L << (hiByte & 077); int i2 = (curChar & 0xff) >> 6; long l2 = 1L << (curChar & 077); - MatchLoop: do + //MatchLoop + do { switch(jjstateSet[--i]) { case 0: case 28: - if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) + if (!jjCanMove_1(hiByte, i1, i2, l1, l2)) { break; - if (kind > 67) + } + if (kind > 67) { kind = 67; + } jjCheckNAdd(28); break; case 10: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { jjstateSet[jjnewStateCnt++] = 11; + } break; case 19: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { jjAddStates(10, 12); + } break; case 50: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { jjAddStates(18, 20); + } break; case 55: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { jjCheckNAddTwoStates(55, 56); + } break; case 57: case 58: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { jjCheckNAddTwoStates(58, 56); + } break; case 62: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { jjCheckNAddTwoStates(62, 63); + } break; case 64: case 65: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) + if (jjCanMove_0(hiByte, i1, i2, l1, l2)) { jjCheckNAddTwoStates(65, 63); + } break; default : break; } @@ -1365,8 +1528,9 @@ kind = 0x7fffffff; } ++curPos; - if ((i = jjnewStateCnt) == (startsAt = 67 - (jjnewStateCnt = startsAt))) + if ((i = jjnewStateCnt) == (startsAt = 67 - (jjnewStateCnt = startsAt))) { return curPos; + } try { curChar = input_stream.readChar(); } catch(java.io.IOException e) { return curPos; } } @@ -1384,8 +1548,9 @@ case 0: return ((jjbitVec2[i2] & l2) != 0L); default : - if ((jjbitVec0[i1] & l1) != 0L) + if ((jjbitVec0[i1] & l1) != 0L) { return true; + } return false; } } @@ -1404,8 +1569,9 @@ case 61: return ((jjbitVec8[i2] & l2) != 0L); default : - if ((jjbitVec3[i1] & l1) != 0L) + if ((jjbitVec3[i1] & l1) != 0L) { return true; + } return false; } } @@ -1449,8 +1615,9 @@ protected char curChar; public ExpressionParserTokenManager(ASCII_UCodeESC_CharStream stream) { - if (ASCII_UCodeESC_CharStream.staticFlag) + if (ASCII_UCodeESC_CharStream.staticFlag) { throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer."); + } input_stream = stream; } public ExpressionParserTokenManager(ASCII_UCodeESC_CharStream stream, int lexState) @@ -1469,9 +1636,10 @@ { int i; jjround = 0x80000001; - for (i = 67; i-- > 0;)<