1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029 |
- 2019-07-12 Per Bothner <per@bothner.com>
- New GVector type for "generalized vector".
- * GVector.java: New interface.
- * BitVector.java: Implement GVector.
- * F32Vector.java: Likewise.
- * F64Vector.java: Likewise.
- * PrimIntegerVector.java: Likewise.
- * Range.java: Likewise.
- * FVector.java: Likewise.
- (copyFrom): Generalize source to GVector.
- 2018-07-20 Per Bothner <per@bothner.com>
- * PrintConsumer.java: Add hooks for DomTerm show/hide buttons.
- (isDomTerm): New method, super for ones in OutPort and XMLPrinter.
- (writeShowHideButton, startHiderSection, endHiderSection): New method.
- 2017-08-03 Per Bothner <per@bothner.com>
- * Sequences.java (subList, dronop): Use coerceToSequence.
- This extends the methods to Java arrays and other non-List sequences.
- 2017-06-08 Per Bothner <per@bothner.com>
- * PairWithPosition.java: Update for new source position model.
- 2017-04-25 Per Bothner <per@bothner.com>
- * Sequences.java (getSize): Use sizeInCodePoints for strings.
- 2017-04-20 Per Bothner <per@bothner.com>
- * IString.java (SubString): New constructor for member class.
- * CharBuffer.java (length): Remove method -causes infinite recursion.
- The inherited method works fine.
- 2017-04-18 Per Bothner <per@bothner.com>
- * FString.java (replace): Avoid needlessly making a copy of source.
- * IString.java (subSequence): Fix so it works for SubString.
- 2017-04-10 Per Bothner <per@bothner.com>
- * PrimVector.template: Move previous utf16ToString change to right file.
- 2017-04-09 Per Bothner <per@bothner.com>
- * ByteVector.java (utf16ToString): Two new methods.
- * Strings.java (toUtf16): New static method.
- 2017-04-06 Per Bothner <per@bothner.com>
- * ByteVector.java (toUtf8): Rename to utf8ToString.
- * Strings.java (toUtf8): Rename to fromUtf8.
- * PrimVector.template: Fix castOrNull/cast for FVector.
- FVector.java is a generated class. Fixes bug from 2017-02-03.
- 2017-03-26 Per Bothner <per@bothner.com>
- * FString.java (prepend *2): Two new methods.
- 2017-03-25 Per Bothner <per@bothner.com>
- * FString.java (prependCharacter): New method.
- 2017-03-20 Per Bothner <per@bothner.com>
- * Strings.java (replicate): Change return type to plain String.
- 2017-03-15 Per Bothner <per@bothner.com>
- * Strings.java (replicate): New method.
- (offsetByCodePoints): Add index checking.
- * FString.java (<init>): Minor optimization.
- 2017-03-10 Per Bothner <per@bothner.com>
- String viewed as vector works same as string-ref.
- I.e. a string is a list of Unicode chars (with no #\ignorable-char).
- * FString.java: Major re-write.
- * CharSeq.java (subSequence, consume): Remove methods.
- * SubCharSeq.java: Remove - no longer needed.
- 2017-02-28 Per Bothner <per@bothner.com>
- * CharSeq.java (fill): Remove two 'fill' methods.
- They aren't used any more as they don't work for non-BMP characters.
- * FString.java (fill): Remove methods.
- * SubCharSeq.java (fill): Likewise.
- 2017-02-03 Per Bothner <per@bothner.com>
- * PrimVector.template (cast, castOrNull): New methods.
- * CharVector.java (cast, castOrNull): Likewise.
- * FVector.java (cast, castOrNull): Likewise.
- 2017-01-17 Per Bothner <per@bothner.com>
- * IString.java (SubString): New class for substring of an IString.
- Generalize methods to handle plain IString as well as SubString.
- (valueOf): New factory method.
- * Strings.java (compareTo): New static method.
- 2016-12-03 Per Bothner <per@bothner.com>
- * FString.java: Simplify set of constructors.
- * IString.java (valueOf): New factory method.
- (toCharArray, getBytes(String)): New methods.
- 2016-11-28 Per Bothner <per@bothner.com>
- * IString.java: Implement Comparable.
- (compareTo): New method.
- (hashCode, equals): New methods.
- * Strings.java (offsetByCodePoints): Fix logic bug.
- * AbstractSequence.java (setAt): New method - more efficient than set.
- 2016-11-27 Per Bothner <per@bothner.com>
- * AbstractSequence.java: Trivial inlining.
- 2016-10-15 Per Bothner <per@bothner.com>
- * PrimVector.template: Fix incorrect edits in generated files by making here instead.
- (FVector.makConstant, FVector.replaceAll, ByteVector.writeTo): New methods.
- * ByteVector.java: Re-generated.
- * FVector.java: Re-generated.
- 2016-10-11 Per Bothner <per@bothner.com>
- * PrintConsumer.java (writeBreak): Make public.
- 2016-09-21 Per Bothner <per@bothner.com>
- * Strings.java (toJson): New method.
- (printQuoted): Some tweaks.
- 2016-09-03 Per Bothner <per@bothner.com>
- * AbstractFormat.java: Moved to gnu/kawa/format.
- * AbstractFormat.java (format): Fix logic for non-OutPort case.
- 2016-09-02 Per Bothner <per@bothner.com>
- Add support for pseudo-ranges, with unspecified start *and* end.
- * Range.java (isUnspecifiedStart): New method.
- (upto, downto): New factor methods - logic moded from RangeUtils.
- * ComposedArray.java: Resolve pseudo-ranges.
- 2016-09-01 Per Bothner <per@bothner.com>
- * ComposedArray.java: Restructured the logic a bit.
- 2016-08-31 Per Bothner <per@bothner.com>
- * Range.java: Move factory method to java/kawa/functions/RangeUtils.java.
- (isUnbounded): Move public.
- 2016-08-14 Per Bothner <per@bothner.com>
- * Blob.java: Don't implement Consumble.
- (consume): Remove method.
- * ByteVector.java (writeTo): Add one-argument overload
- 2016-08-12 Per Bothner <per@bothner.com>
- A cleaner format/consumer model.
- * AbstractFormat.java (class FormatConsumer): New static class.
- (makeConsumer): New method.
- (getPassThroughOutPort): New static method.
- * PrintConsumer.java: Add a bucnh of of methods, include
- some moved from OutPort or PrettyWriter.
- 2016-07-17 Per Bothner <per@bothner.com>
- * IntSequence.java: Implement AVector rather than List *and* Array.
- * Range.java: Impplement AVector - i.e. Array as well as Sequence.
- 2016-05-02 Per Bothner <per@bothner.com>
- * Arrays.java (hashCode(Array)): New static method.
- * AbstractSequence.java (hashCode): Use new method for Arrays.
- 2016-05-01 Per Bothner <per@bothner.com>
- * ConstVector.java: Remove class. Use FVector.makeVector instead.
- * FVector.java (makeVector): New factory method.
- (replaceAll): New method.
- * SimpleVector.java (VERY_SIMPLE_FLAG): New constant.
- (isReadOnly, setReadOnly): New methods.
- 2016-03-16 Okumura Yuki <mjt@cltn.org>
- * IntSequence.java: Fix thinko.
- 2016-03-11 Per Bothner <per@bothner.com>
- * CharBuffer.java (delete): Remove unneeded and wrong override.
- Fixes bug reported by Jamison Hope.
- 2016-03-10 Per Bothner <per@bothner.com>
- Major re-write for more general array support.
- Rename methods like byteAt to getByte and longAtBuffer to getLongRaw.
- * SimpleVector.java: Add new 64-bit 'info' field, used for flags,
- sub-range bounds, or gap bounds. Handle gao management,
- * IndirectIndexable.java: Removed class - no longer delegating
- indexing to an indexes mapper class. Doing it in SimpleVector
- is less general but more memory- and cache-friendly.
- * GapManager.java: Removed class - functionality now in SimpleVector.
- * Arrays.java: New class with static utility methods.
- * TransformedArray.java: New abstract class.
- * ComposedArray.java: New class for generalized indexing.
- * FlattenedArray.java: New class for a flattened (ravel) view.
- * AVector.java: New interface.
- 2016-01-19 Per Bothner <per@bothner.com>
- * GeneralArray.java (getTag): New method.
- 2015-08-18 Per Bothner <per@bothner.com>
- Make result of sequence-as-index return same type, with sharing.
- * FString.java (getBuffer, setBuffer): Change to throw exception.
- (set): Re-implement.
- (setAt): Add implementation.
- * GapManager.java (subList): New method.
- * IndirectIndexable.java (size): Move implementation from sub-classes.
- (getBufferLength): New abstract method, used by size.
- (withIndexes): New abstract method.
- (indexesSelect, indexesSubList): New protected helper methods.
- (select, subList): New methods.
- * IndirectIndexedSeq.java (getBufferLength): New method.
- (size): Removed - subsumed by IndirectIndexable version.
- * IntSequence.java (subList): New, with overriding returning types.
- * PrimVector.template (withIndexes, subList): New methods.
- * Range.java (subListFromRange, subList): New methods.
- (valueOfUnbounded): Create an IntRnge if appropriate.
- * Sequences.java (class ComposedIndexes): New member class.
- (indirectIndexed(IntSequence,IntSequence)): New method.
- (indirectIndexed(List,IntSequence)): Improve.
- * SimpleVector.java (size, getBufferLength): Moved to super-class.
- (setAt): New method.
- * Strings.java (indirectIndexed): Optimize for FString.
- * SubCharSeq.java (valueOf): New convenience/factory method.
- * Sequence.java (setAt): New method.
- * AbstractSequence.java (setAt): New dummy implementation.
- 2015-08-13 Per Bothner <per@bothner.com>
- * SimpleVector.java (forEach): (JAVA8-only) Fix syntax errors,
- reported by Jamison Hope. Replace by implementation using segments.
- 2015-07-31 Per Bothner <per@bothner.com>
- Re-implement SimpleVector to use an index mapper.
- * AbstractCharVector.java
- * GapVector.java: Replace by ...
- * GapManager.java: which is an IntSequence index mapper. Thus any
- SimpleVector subclass can be dynamically switch to a gap vector.
- * StableVector.java: Likewise replace by ...
- * StableManager.java: which is a subclass of GapManager.
- * IndirectIndexable.java: New abstract class for sequences that can
- be re-mappings of other sequences or Lists.
- * IndirectIndexedSeq.java: Changed to extend IndirectIndexable.
- * SimpleVector.java: Re-write to be IndirectIndexable.
- * Sequences.java (indirectIndexed, replace): New helper methods.
- * Strings.java (toUtf8): New helper method.
- * Range.java: Make Externalizable.
- (cantWriteMarker): New static field.
- (toString): New method.
- * PrimIntegerVector.java: New abstract class.
- * Blob.java: Update for being based on IndirectIndexable.
- * ConstVector.java: Likewise.
- * FString.java: Likewise.
- * CharVector.java: Likewise.
- * CharBuffer.java: Change to extend FString, and using a
- StableManager for the indexes. Move some code to FString.
- * PrimVector.template: New source template to be pre-processed
- into any of the following classes.
- * BitVector.java: Now auto-generated from PrimVector.template.
- * ByteVector.java: Likewise.
- * ShortVector.java: Likewise.
- * IntVector.java: Likewise.
- * LongVector.java: Likewise.
- * F32Vector.java: Likewise.
- * F64Vector.java: Likewise.
- * S16Vector.java: Likewise.
- * S32Vector.java: Likewise.
- * S64Vector.java: Likewise.
- * S8Vector.java: Likewise.
- * U16Vector.java: Likewise.
- * U32Vector.java: Likewise.
- * U64Vector.java: Likewise.
- * U8Vector.java: Likewise.
- * FVector.java: Likewise.
- * CharSeq.java: Remove some pre-Java5 cruft.
- 2015-07-22 Per Bothner <per@bothner.com>
- * Sequences.java (writeUInt, writeULong): New methods.
- 2015-07-02 Per Bothner <per@bothner.com>
- * CharBuffer.java (delete): Change parameters to be consistent
- with String.delete's (start,end) convention.
- * Range.java: Add generic parameter to supertypes.
- 2015-06-22 Per Bothner <per@bothner.com>
- * LList.java: Use getCdr/getCar methods instead of reading car/cdr
- fields directly.
- * LListPosition.java: Likewise.
- 2015-06-12 Per Bothner <per@bothner.com>
- * Strings.java (indirectIndexed): New method.
- * Range.java (isUnbounded): New method.
- * IndirectIndexedSeq.java: New class.
- * S32Vector.java: Also implement IntSequence.
- * Sequences.java (asIntSequenceOrNull): New method.
- * Range.java (IntRange.getStepInt): New method.
- (valueOfUnbounded, valueOfLT, valueOfLE, valueOfGT, valueOfGE):
- New factory methods.
- 2015-06-11 Per Bothner <per@bothner.com>
- * Sequences.java (asSequenceOrNull, coerceToSequence, getSize):
- New methods.
- (getIterator): Use asSequenceOrNull.
- * SubCharSeq.java: Implement Externalizable.
- * TreeList.java (getNextKindI): Fix handling of CHAR_FOLLOWS.
- 2015-06-10 Per Bothner <per@bothner.com>
- Efficient treatment of CharSequences as sequences of Unicode characters.
- * AbstractCharVector.java: New abstract class extends SimpleVector.
- Move some code from FString.java to here.
- * CharSeq.java: Change to extend Sequence<Char> (20-bit code points)
- rather than Sequence<Character> (16-bit code units).
- (subSequence): Return CharSeq rather than CharSequence.
- * CharVector.java: New class, extends AbstractCharVector.
- This extends Sequence<Character>, and is meant to wrap char arrays.
- * FString.java: Change to extend AbstractCharVector.
- * Sequences.java (getIterator): For char[] return a CharVector
- rather than an FString.
- * CharBuffer.java: Parameterize by Char, not Character.
- * Strings.java (characterAt) Add overload which takes start and
- end indexes.
- * SubCharSeq.java: Parameterize by Char, not Character.
- Use new Strings.characterAt method.
- * FString.java (delete, insertRepeated): New methods.
- (<init>(int,int)): Re-write to use insetRepeated.
- 2015-06-07 Per Bothner <per@bothner.com>
- Tweak SimpleVector classes for performace (use primitive values more),
- and to use new unsigned primitive types.
- Also fix pervasive off-by-one comparison bug.
- Add add 'add' methods taking primitive value.
- * BitVector.java: Parameterize as SimpleVector<Boolean>.
- * CharBuffer.java: Parameterize as <Character>.
- * CharSeq.java: Parameterize as Sequence<Character>.
- * F32Vector.java: Parameterize as SimpleVector<Float>.
- * F64Vector.java: Parameterize as SimpleVector<Double>.
- * FString.java: Parameterize as SimpleVector<Character>.
- * PrimIntegerVector.java: New abstract class extends SimpleVector.
- * SimpleVector.java (intAt, intBuffer, longAt, longAtBuffer):
- Methods moved to PrimIntegerVector.
- * IntVector.java: New abstract class extends PrimIntegerVector.
- Move code there from S32Vector and U32Vector.
- * S32Vector.java: Change to extend IntVector<Integer>.
- * U32Vector.java: Change to extend IntVector<UInt>.
- * LongVector.java: New abstract class extends PrimIntegerVector.
- Move code there from S64Vector and U64Vector.
- * S64Vector.java: Change to extend LongVector<Long>.
- * U64Vector.java: Change to extend LongVector<ULong>.
- * ByteVector.java: Add type parameter.
- * S8Vector.java: Change to extend ByteVector<Byte>.
- * U8Vector.java: Change to extend ByteVector<UByte>.
- * ShortVector.java: New abstract class extends PrimIntegerVector.
- Move code there from S16Vector and U16Vector.
- * S16Vector.java: Change to extend ShortVector<Short>.
- * U16Vector.java: Change to extend ShortVector<UShort>.
- * StableVector.java: Add type parameter.
- * SubCharSeq.java: Parameterize as AbstractSequence<Character>.
- 2015-06-01 Per Bothner <per@bothner.com>
- * SubCharSeq.java: Reimplement to handle substring of arbitrary
- CharSequence. Hence we can't extends SubSequence.
- * AbstractSequence.java (nextIndex): Make non-abstract by
- adding a default implementation.
- * Range.java (nextIndex): Remove - subsumed by inherited default.
- * GeneralArray1.java (nextIndex): Likewise.
- * SimpleVector.java (nextIndex): Likewise.
- * SimpleVector.java (removePos): Fix one-by-one error.
- (removePos): Fix logic error.
- 2015-05-21 Per Bothner <per@bothner.com>
- * IntSequence.java: Fix pre-processing syntax error.
- 2015-05-20 Per Bothner <per@bothner.com>
- * IntSequence.java: New interface.
- * Range.java: Implement IntSequence.
- (getInt): Rename intAt.
- * S32Vector.java: Implement IntSequence.
- 2015-05-01 Per Bothner <per@bothner.com>
- * AbstractSequence.java (boundedHash): New method.
- * LList.java (boundedHash): New method.
- * Pair.java (hashCode): Moved to ...
- * LList.java (hashCode): ... here.
- 2015-04-22 Per Bothner <per@bothner.com>
- * SimpleVector.java (setSize): Grow buffer by a factor of 1.5, not 2.
- 2015-04-18 Per Bothner <per@bothner.com>
- * Sequences.java (subList, drop, drop): New convenience methods.
- * FString.java (setCharacterAt): Handle IGNORABLE_CHAR.
- (appendCharacter): Likewise.
- * Strings.java (characterAt): New method.
- 2015-03-11 Per Bothner <per@bothner.com>
- * TreeList.java (ensureSpace): Parrial inline to allow overrride
- in ValueSpace.
- 2015-02-27 Per Bothner <per@bothner.com>
- * Sequences.java (CharacterIterator.remove): Add method required
- for Java 7 or earlier.
- 2015-02-26 Per Bothner <per@bothner.com>
- * Sequences.java: New file.
- (getIterator): New method.
- (class CharacterIterator): New static member class.
- * Range.java: New class, extends AbstractSequence.
- (class IntRange): New static member class.
- 2015-02-24 Per Bothner <per@bothner.com>
- Minor performance improvements.
- * LListPosition.java (next): New method.
- * SeqPosition.java (next): New method. Should be afster/simpler.
- Also fixes bug where next would fail if a value is eofValue.
- 2014-09-17 Per Bothner <per@bothner.com>
- * PairWithPosition.java (init): New method.
- (readExternal): Use new init method.
- 2014-08-31 Per Bothner <per@bothner.com>
- * Makefile.am: Merge in gnu/Makefile.am.
- 2014-08-14 Per Bothner <per@bothner.com>
- * FString.java (replace): New method.
- 2014-08-11 Per Bothner <per@bothner.com>
- * FString (append(Object)): New method.
- * FString.java (ensureBufferLength, append): Fix logic errors.
- 2014-08-08 Per Bothner <per@bothner.com>
- * CharBuffer.java (setCharacterAt): Performance improvement.
- 2014-08-06 Per Bothner <per@bothner.com>
- * CharSeq.java (setCharacterAt): New method.
- * CharBuffer.java (setCharacterAt): New method.
- (insert): Handle beforemarkers parameter.
- * FString.java (<init>(int,char)): Handle parameters to (int,int)
- and handle non-BMP characters.
- (setCharacterAt): New method.
- * SubCharSeq.java (setCharacterAt): New method.
- 2014-08-05 Per Bothner <per@bothner.com>
- * Strings.java (sizeInCodePoints): New method.
- 2014-08-04 Per Bothner <per@bothner.com>
- * FString.java (alloc, appendCharacter): New methods.
- 2014-05-21 Per Bothner <per@bothner.com>
- * TreeList.java (posToDataIndex): Fix thinko in gap handling.
- 2014-03-17 Per Bothner <per@bothner.com>
- * Blob.java (toString): Added some heuristics - for now just
- check for byte-order mark.
- 2013-12-21 Per Bothner <per@bothner.com>
- * Blob.java: New class, extends U8Vector.
- * Makefile.am: Update accordingly.
- * ByteVector.java (getInputStream): New method.
- 2013-12-20 Per Bothner <per@bothner.com>
- * Strings.java (printQuoted): Add escape option value.
- * PrintConsumer.java: Add synchronization.
- 2013-11-28 Matthieu Vachon <matthieu.o.vachon@gmail.com>
- * TreeList.java: Don't use @Override for a method implementing
- an interface - Java 5 doesn't like it.
- 2013-11-13 Per Bothner <per@bothner.com>
- * SimpleVector.java (size): Make protected.
- 2013-11-10 Per Bothner <per@bothner.com>
- * Pair.java (lastPair): Make non-final.
- 2013-11-03 Per Bothner <per@bothner.com>
- * AbstractSequence.java (nextIndex): Make abstract, rather than
- a circular default that depends on getIndexDifference which
- depends on nextIndex.
- * GeneralArray.java (nextIndex): New implementation.
- * TreeList.java (nextIndex): New implementation.
- * AbstractSequence.java (consume(int,int.Consumer)): New method.
- * TreeList.java (dump): Handle null object entry.
- * SeqPosition.java: Make generic.
- * ExtPosition.java: Likewise.
- * LListPosition.java: Update accordingly.
- (set): Remove now-redundant method.
- * LList.java: Add needed generic parameters.
- * TreeList.java: Likewise.
- * AbstractSequence.java: Likewise.
- * AbstractSequence.java (getNextTypeName): Replace null-turning
- default implementation with one that calls getNextTypeObject.
- * TreeList.java (getNextTypeName): Remove now-redundant method.
- * AbstractSequence.java (createPos): Add default implementation.
- * SimpleVector.java (createPos): Remove redundant implemengtation.
- * GeneralArray1.java (createPos): Likewise.
- * GapVector.java (add): Use setBuffer rather than set. The
- former may be more efficient, as it doesn't get the old value.
- * GapVector.java (consumePosRange): Fix infinite-recursion thinko.
- 2013-11-01 Per Bothner <per@bothner.com>
- * PositionConsumer.java (consume(SeqPosition)): Rename
- to writePosition.
- * TreeList.java: Update accordingly.
- 2013-10-31 Per Bothner <per@bothner.com>
- * SimpleVector.java (consumeNext): Remove redundant method - it
- doesn't really buy anything compared to the inherited default.
- * BitVector.java, ByteVector.java, F32Vector.java, F64Vector.java,
- FString.java, FVector.java, S16Vector.java, S32Vector.java,
- S64Vector.java, U16Vector.java, U32Vector.java, U64Vector.java:
- Likewise.
- * GapVector.java: Add generic parameter.
- * SubSequence.java: Likewise.
- 2013-10-31 Per Bothner <per@bothner.com>
- * SimpleVector.java (setBuffer): Change return type to void.
- * BitVector.java, F32Vector.java, F64Vector.java, FString.java,
- FVector.java, S16Vector.java, S32Vector.java, S64Vector.java,
- S8Vector.java, U16Vector.java, U32Vector.java, U64Vector.java,
- U8Vector.java: Update accordingly.
- 2013-10-19 David Van Horn
- Per Bothner <per@bothner.com>
- * RAPair.java: Port to Java of low-level class definition and methods
- from SRFI-101 "Purely Functional Random-Access Pairs and Lists"
- reference implementation.
- * Makefile.am: Update accordingly.
- 2013-09-20 Per Bothner <per@bothner.com>
- * Consumer.java: If JAVA8 implement java.util.function.Consumer and
- java.util.function.PInt,Long,Double}Consumer.
- * SimpleVector.java (forEach): New method (optimization) if JAVA8.
- 2013-09-15 Per Bothner <per@bothner.com>
- * StableVector.java (adjustPositions): Fix off-by-one calculations.
- * CharBuffer.java (dump): Adjust for gap size when printing positions.
- 2013-09-03 Per Bothner <per@bothner.com>
- * PrintConsumer.java (write): The write method is supposed to
- take a (start,length)-pair, not a (start,end)-pair.
- (append): Update call to write.
- 2013-08-31 Per Bothner <per@bothner.com>
- * Strings.java (copyInfo): Fix off-by-one error.
- 2013-08-25 Per Bothner <per@bothner.com>
- * FString.java: Some simplication of constructors that copy a
- CharSequence.
- * Strings.java (copyInto): New static method, used by string-copy!.
- 2013-05-11 Per Bothner <per@bothner.com>
- * PrintConsumer.java (write): If range is empty, write empty String.
- Thus delimiter actions done for any string get done.
- (append): Don't use loop - use above version of write instead.
- 2013-03-04 Per Bothner <per@bothner.com>
- * Strings.java (printQuoted): Generalize to Appendable.
- 2013-02-14 Per Bothner <per@bothner.com>
- * Pair.java: Use getCar()/getCdr() instead of accessinging car/cdr
- fields directly - which may not work for for subclasses.
- * ImmutablePair.java (<init>): Call super constructor.
- 2012-11-29 Per Bothner <per@bothner.com>
- * U8Vector.java (toUtf): Add (start,length) parameters.
- * ByteVector.java (copyFrom): New method.
- * FVector.java (copyFrom): New method.
- 2012-11-28 Per Bothner <per@bothner.com>
- * ByteVector.java (getBuffer): Change return type to public,
- to support open-input-bytevector.
- 2012-11-27 Per Bothner <per@bothner.com>
- * U8Vector.java: New constructor.
- (writeTo): Move to super-class.
- * ByteVector.java (writeTo): New method, moved from U8Vector.
- (copyFrom, readFrom): New methods.
- 2012-11-22 Per Bothner <per@bothner.com>
- * U8Vector.java (writeTo): New method.
- 2012-11-20 Per Bothner <per@bothner.com>
- * FString.java (<init>): Add constructor taking StringBuilder,
- in addition to ones taking StringBuffer.
- * FVector.java (setAll): Rename to ...
- (fill): and add optional range parameters.
- * SimpleVector.java: Also implement RandomAccess.
- 2012-06-08 Per Bothner <per@bothner.com>
- * LList.java (toString): Use getCar/getCdr instead of car/cdr.
- 2012-01-19 Per Bothner <per@bothner.com>
- * LList.java (listRef): Remove method - reimplemented in Scheme.
- 2011-12-19 Per Bothner <per@bothner.com>
- * U8Vector.java (<init>): Add copy constructors.
- (toUtf8): New method.
- 2011-07-11 Per Bothner <per@bothner.com>
- * ConstVector.java (<init>): New default constructor.
- (setDataBackDoor): New method used by LispReader.
- * Pair.java (setCarBackdoor): New method used by LispReader.
- 2011-04-25 Charles Turner <chturne@gmail.com>
- Per Bothner <per@bothner.com>
- * LList.java: Give a class identity to the Empty field
- for type information
- * EmptyList.java (new): New class that identifies empty lists.
- * Makefile.am: Update accordingly.
- 2011-04-15 Per Bothner <per@bothner.com>
- * SimpleVector.java (add): Fix off-by-one bug, reported by Jamison Hope.
- 2011-01-03 Per Bothner <per@bothner.com>
- * SimpleVector.java (checkCanWrite): New method.
- Call checkCanWrite before any mutation.
- * FVector.java: Likewise call checkCanWrite before any mutation.
- * ConstVector.java: New class, extends FVector.
- (checkCanWrite): Override to throw exception.
- * Makefile.am: Update.
- 2010-11-27 Per Bothner <per@bothner.com>
- * AbstractFormat.java (writeObject): Only closeThis, don't close.
- 2010-11-21 Per Bothner <per@bothner.com>
- Partially generic-ize.
- * Sequence.java: Add generic parameter for element type.
- * Array.java: Likewise.
- * AbstractSequence.java: Likewise.
- * ExtSequence.java: Likewise.
- * SimpleVector.java: Likewise.
- * FVector.java: Likewise.
- * SeqPosition.java: Likewise, for pointed-to element type.
- 2010-06-30 Per Bothner <per@bothner.com>
- * FilterConsumer.java: Change to implement XConsumer.
- (writeComment, writeCDATA, writeProcessingInstruction,
- beginEntity, endEntity): New methods.
- (before): New empty method to provide override hook.
- * FilterConsumer.java: (append(CharSequence,int,int),
- append(CharSequence)): Re-implement to call write method.
- 2010-06-21 Per Bothner <per@bothner.com>
- * ByteVector.java: New abstract class, extends SimpleVector.
- * S8Vector.java: Change to extend ByteVector.
- * U8Vector.java: Likewise.
- * Makefile.am: Update accordingly.
- 2010-06-18 Per Bothner <per@bothner.com>
- * TreeList.java (nextMatching, nextDataIndex): Add missing
- FLOAT_FOLLOWS cases.
- 2009-11-19 Per Bothner <per@bothner.com>
- * StableVector.java (adjustPositions, removePosRange): Fix thinkos.
- (checkInvariants): New commented-out test method.
- 2009-10-17 Per Bothner <per@bothner.com>
- * FVector.java (make): New helper method.
- 2009-08-06 Per Bothner <per@bothner.com>
- Fix for Savannah bug #27188 "Sequence printing".
- * SubSequence.java (startPos, endPos): New methods.
- * SubSequence.java (subSequencePos): New optimized method.
- * AbstractSequence.java (subList): Use subSequencePos.
- 2009-05-12 Per Bothner <per@bothner.com>
- * UnescapedData.java: Make UnescapedData implement CharSequence.
- 2009-03-13 Per Bothner <per@bothner.com>
- * FString.java: Optimize by copying data field to local before loops.
- * FVector.java: Likewise.
- 2009-03-07 Per Bothner <per@bothner.com>
- * Strings.java (printQuoted): Also use R6RS escapes \a, \b, \v, and \f.
- 2008-11-10 Per Bothner <per@bothner.com>
- * SimpleVector.java (resizeShift): New internal method.
- * GapVector.java (gapReserve(int,int)): Optimize so we don't
- copy twice when doing gapReserve(int) followed by shiftGap.
- * StableVector.java: Similar optimization.
- * CharBuffer.java (indexOf): Fix thinko.
- 2008-10-29 Per Bothner <per@bothner.com>
- * SeqPosition.java (toString): Also write nextIndex().
- 2008-06-08 Per Bothner <per@bothner.com>
- * ImmutablePair.java: New class, extends Pair.
- (setCar, setCdr): Throw exception.
- * Makefile.am: Update accordingly.
- * PairWithPosition.java: New extends ImmutableList.
- * Pair.java (car, cdr): Make protected.
- (setCdrBackdoor): New method.
- 2008-06-03 Per Bothner <per@bothner.com>
- * Pair.java (car, cdr): Make non-public.
- (getCar, getCdr, setCar, setCdr): New public accessor methods.
- 2008-03-23 Per Bothner <per@bothner.com>
- * EofClass.java (eofValue): Fix type of literal. This fixes
- code-generator to #!eof.
- Fixes Savannah bug #22703 "Wrong type inferred for #!eof".
- 2007-12-30 Per Bothner <per@bothner.com>
- * FString.java (append(CharSequence,int,int)): Optimize.
- * CharBuffer.java (indexOf, lastIndexOf, substring): New methods.
- 2007-02-18 Per Bothner <per@bothner.com>
- * FString.java (<init>(CharSeq)): Change implementation.
- (<init>(CharSequence), <init>CharSequence,int,int)): New methods.
- (addAll(CharSequence)): New method.
- (addAllString): Generalize to CharSequence and String.
- * Strings.java (printQuoted): Change non-use:CharSequence type.
- 2007-01-20 Per Bothner <per@bothner.com>
- * TreeList.java (writeComment, writeProcessingInstruction):
- New overloaded methods.
- 2007-01-17 Per Bothner <per@bothner.com>
- * TreeList.java (beginEntity, endEntity): Ignore if not at top level.
- (stringValue): Fix END_ENTITY handling.
- (nextNodeIndex, nextDataIndex): Handle END_ENTITY.
- 2007-01-02 Per Bothner <per@bothner.com>
- * AbstractFormat.java (writeObject): Leave file path null.
- 2006-12-14 Per Bothner <per@bothner.com>
- * TreeList.java (nextDataIndex): Handle BEGIN_ENTITY.
- 2006-12-06 Per Bothner <per@bothner.com>
- * Consumer.java (beginDocument): Renamed to startDocument.
- (beginGroup): Renamed to startElement.
- (endGroup): Renamed to endElement.
- (beginAttribute): Renamed to startAttribute.
- * TreeList.java (BEGIN_GROUP_SHORT): Renamed to BEGIN_ELEMENT_SHORT.
- (BEGIN_GROUP_SHORT_INDEX_MAX): Renamed to BEGIN_ELEMENT_SHORT_INDEX_MAX.
- (END_GROUP_SHORT): Renamed to END_ELEMENT_SHORT.
- (BEGIN_GROUP_LONG): Renamed to BEGIN_ELEMENT_LONG.
- (END_GROUP_LONG): Renamed to END_ELEMENT_LONG.
- * Sequence.java (GROUP_VALUE): Renamed to ELEMENT_VALUE.
- * FilterConsumer.java: Update accordingly.
- * AbstractFormat.java: Likewise.
- * LList.java: Likewise.
- * PrintConsumer.java: Likewise.
- * FVector.java: Likewise.
- * AbstractSequence.java: Likewise.
- * ElementPredicate.java: Renamed to ItemPredicate.
- * GroupPredicate.java: Renamed to ElementPredicate.
- * Makefile.am: Update accordingly.
- * NodePredicate.java: Likewise.
- * TreeList.java: Likewise.
- * AbstractSequence.java: Likewise.
- 2006-11-25 Per Bothner <per@bothner.com>
- * AbstractSdequence.java (unsupportedException): New static method.
- (unsupported): Use it.
- 2006-11-22 Per Bothner <per@bothner.com>
- Partially revert changes from 11-17 and 11-18.
- However, we've renamed writeChar and writeChars to write,
- * Consumer.java (append*3): Only define in JAVA5 case.
- (write): New/renamed methods.
- * FilterConsumer.java: Rename Consumer methods append->write.
- * PrintConsumer.java: Likewise.
- * TreeList.java: Likewise.
- * FString.java: Update accordingly.
- * AbstractFormat.java: Likewise.
- * LList.java: Likewise.
- 2006-11-18 Per Bothner <per@bothner.com>
- * Consumer.java (writeChars): Remove method.
- * PrintConsumer.java (writeChars): Likewise.
- * TreeList.java (writeChars): Likewise.
- * FilterConsumer.java (writeChars): Likewise.
- (append(CharSequence)): Just call the general case.
- * AbstractFormat.java: Update writeChars -> append.
- * LList.java: Likewise.
- * Consumer.java (append): Make append methods conditional on
- CharSequence (which is Java4), rather than JAVA5.
- Add fallback case that takes a String.
- * FilterConsumer.java: Always implement some append method.
- * FString.java: If JAVA5, implement Appendable.
- (ensureBufferLength): New method.
- (append): Implement methods.
- * PrintConsumer.java: Implement append methods.
- * TreeList.java: Implement append methods.
- * AbstractSequence.java: Remove append methods.
- 2006-11-17 Per Bothner <per@bothner.com>
- * Consumer.java (append): Make unconditional, rather than JAVA5-only.
- (writeChar): Remove, replaced by append.
- * PrintConsumer.java: Also rename writeChar to append, but return void.
- * AbstractFormat.java: Update writeChar -> append.
- * AbstractSequence.java: Likewise.
- * FilterConsumer.java: Likewise.
- * LLIst.java: Likewise.
- * TreeList.java: Likewise.
- (CHAR_PAIR_FOLLOWS): Remove code - doesn't really work.
- Use a surrugate pair instead.
- 2006-11-15 Per Bothner <per@bothner.com>
- * TreeList.java (dump): Check for out-of-range object index.
- 2006-11-14 Per Bothner <per@bothner.com>
- * TreeList.java (writeJoiner): Make public.
- * TreeList.java (dump): Write identityHashCode in hex.
- 2006-11-13 Per Bothner <per@bothner.com>
- * PairWithPosition.java: Implement SourceLocation.
- (position): Change interpretation.
- * PrintConsumer.java (endNumber): New method, to be overridden.
- (writeFloat, writeDouble, writeInt, writeLong): Call endNumber.
- 2006-11-09 Per Bothner <per@bothner.com>
- * Consumer.java (beginGroup, endGroup): Remove typeName parameter.
- (beginAttribute): Remove attrName parameter.
- * PrintConsumer.java: Update for Consumer changes
- * TreeList.java: Likewise.
- (find(Object,Object)): Removed.
- *getNextTypeName): Since we don't store group/attribute String names
- any more, change to just do toString of getNextTypeObject.
- (getNextTypeIndex): Now just inline in getNextTypeObject.
- * AbstractFormat.java: Update for Consumer changes
- * LList.java: Likewise.
- * FVector.java: Likewise.
- * NamedChildrenFilter.java: Likewise.
- * FilterConsumer.java: Likewise.
- (attributeName): Remove no-longer-needed field.
- 2006-11-05 Per Bothner <per@bothner.com>
- * TreeList.java (MAX_CHAR_SHORT): Make public.
- (stringValue): New method.
- 2006-10-26 Per Bothner <per@bothner.com>
- * TreeList.java (setGroupName): Now also works when the gruupIndex
- is a BEGIN_GROUP_LONG, as it is when called from NodeTree.
- (BEGIN_ATTRIBUTE_LONG_SIZE, END_ATTRIBUTE_SIZE): New fields.
- 2006-10-24 Per Bothner <per@bothner.com>
- * TreeList.java (currentParent): Initial value should be -1,
- (BEGIN_ENTITY, BEGIN_DOCUMEMT): Clarify parent_offset semantics.
- (beginEntity, endEntity, beginDocument, endDocument, parentOrEntityI):
- Fix accordingly.
- (endDocument, endEntity): Add sanity checks.
- (posToDataIndex): Fix ipos/index confusion and lack of updating.
- (dump): Print raw parent offset for BEGIN_DOCUMENT/BEGIN_ENTITY.
- 2006-10-22 Per Bothner <per@bothner.com>
- * XConsumer.java (writeBaseUri): Remove method.
- (beginEntity, endEntity): New methods.
- * TreeList.java (BASE_URI): Removed constant.
- (BEGIN_ENTITY, BEGIN_ENTITY_SIZE, END_ENITY): New constants.
- (BEGIN_DOCUMENT): Now also includes parent_offset operand.
- (beginDocument): Also store parent offset.
- (writeBaseUri): Removed method.
- (beginEntity, endEntity): New methods.
- (parentOrEntityPos, parentOrEntityI, getNextKindI): New methods.
- (parentPos): Use new methods.
- * AbstractSequence.java (baseUriOfPos): Remove method.
- 2006-09-28 Per Bothner <per@bothner.com>
- * TreeList.java (DOCUMENT_URI): New constant.
- (writeDocumentUri): New method.
- (documentUriOfPos): New method.
- (gotoChildrenStart, consumeIRange, toString, getNextKind, stringValue,
- nextNodeIndex, nextMatching, baseUriOfPos, dump): Handle DOCUMENT_URI.
- * TreeList.java (dump, baseUriOfPos): Fix bugs in handling of
- PROCESSING_INSTRUCTION.
- 2006-09-26 Per Bothner <per@bothner.com>
- * TreeList.java (clear): Also reset oindex field.
- * TreeList.java (dump): Print hash code in hex.
- * TreeList.java (dump): Normally suppress printing follow-on words.
- * TreeList.java (setGroupName, setAttributeName): New methods
- 2006-09-14 Per Bothner <per@bothner.com>
- * TreeList.java (getAttributeCount): New method.
- * TreeList.java (nextMatching): Allow -1 for 'limit'.
- * AbstractSequence.java (firstChildPos(int,ElementPredicate)): New.
- 2006-09-11 Per Bothner <per@bothner.com>
- * TreeList.java: Remove unused local variables.
- 2006-09-06 Per Bothner <per@bothner.com>
- * SimpleVector.java (remove): Remove unused local 'result'.
- * TreeList.java (nextMatching): Removed unused locals 'j' and checkAll.
- 2006-06-16 Per Bothner <per@bothner.com>
-
- * Consumer.java (endAttribute): Note we allow unmatched endAttribute,
- to indicate end of a parameter in a function parameter list.
- * TreeList.java (endAttribute): Handle unmatched endAttribute.
- * TreeList.java (writeObject): No special handling of SeqPosition.
- It is not needed, and is wrong if given a JEmacs marker.
- 2006-06-12 Per Bothner <per@bothner.com>
- * LList.java (get): Throw IndexOutOfBoundsException rather than
- ArrayIndexOutOfBoundsException since we're not an array.
- * Sequence.java (set): Declare new method.
- 2006-06-04 Per Bothner <per@bothner.com>
- * TreeList.java (JOINER): New constant.
- (writeJoiner): New method.
- (writeChars, write): Call writeJoiner if no characters.
- (gotoChildrenStart): Skip bogus/pointless initial JOINER.
- (stringValue): Add spaces between atomic items.
- (nextNodeIndex, nextMatching): Skip JOINER.
- (nextDataIndex, dump): Handle JOINER.
- 2006-04-13 Per Bothner <per@bothner.com>
- * TreeList.java (beginGroup): Fix error in "popping" currentParent.
- * TreeList.java (dump): New debug helper method.
- 2006-03-15 Per Bothner <per@bothner.com>
- * FilterConsumer.java (beforeContent): New sub-class hook.
- Call it before the various writeXxx methods.
- (inAttribute, attributeName, attributeType): New convience
- fields for sub-class use.
- * TreeList.java (getNextTypeIndex): Take extra parameter to indicate
- if we want type-name or type-object. This is needed to make it work
- for processing-instructions, whihc only have one objects array entry.
- 2005-12-30 Per Bothner <per@bothner.com>
- * Strings.java (printQuoted): Allow any CharSequence, not just
- CharSeq, if java.lang.CharSequence is available - e.g. JDK 1.4 or later.
- 2005-12-18 Per Bothner <per@bothner.com>
- * GapVector.java: Add protected no-arg constructor, for serialization.
- * StableVector.java: Likewise.
- * CharBuffer.java: Likewise. Also implement java.io.Serializable.
- * StableVector.java (remove): Fix buggy position adjustment.
- * CharBuffer.java (dump): Suppress printing unused positions.
- 2005-12-11 Per Bothner <per@bothner.com>
- * GapVector.java (getSegment): New method, based on old getChars
- method in gnu.jemacs.swing.BufferContent.
- (removePosRange): Fix thinko in calculating where to shiftGap.
- * StableVector.java (chainFreelist): Fix two thinkos.
- (removePosRange): We have to unchainFreelist before we can
- loop over the positions.
- * CharBuffer.java (toString): Use new getSegment method.
- (dump): Moved from gnu.jemacs.swing.BufferContent.
- 2005-12-05 Per Bothner <per@bothner.com>
- * AbstractFormat.java (beginGroup): Emit a space after the typename.
- (beginAttribute): Don't need an initial space.
- 2005-12-03 Per Bothner <per@bothner.com>
- * AbstractSequence.java (consumePosRange): Add missing nextPos call.
- Ooops.
- * GeneralArray1.java (createPos, nextPos): Need to define these,
- since the ones in AbstractSequence are mutually dependent, and it
- matters since GeneralArray1 but not GeneralArray implements Sequence.
- (consumePosRange): Optimization.
- 2005-11-29 Per Bothner <per@bothner.com>
- * LList.java (consX): New method.
- 2005-11-14 thomas kirk <tk@research.att.com>
- * AbstractFormat.java (format): Close OutPort.
- 2005-11-03 Per Bothner <per@bothner.com>
- * AbstractFormat.java (beginAttribute, endAttribute): New methods.
- 2005-08-16 Per Bothner <per@bothner.com>
- * PositionConsumer.java (consume) Change return type to void.
- (writePosition): Likewise.
- * TreeList.java (consume, writePosition): Update accordingly.
- 2005-07-21 Per Bothner <per@bothner.com>
- * AbstractFormat.java (writeBoolean): Use target's writeBoolean.
- 2005-06-15 Per Bothner <per@bothner.com>
- * SeqPosition.java (nextElement): Remove redundant throws specifier.
- 2005-06-04 Per Bothner <per@bothner.com>
- * AbstractFormat.java: Moved from gnu.kawa.util.
- * Makefile.am: Update accordingly.
- * FormatToConsumer.java: Remove interface. Use AbstractFormat instead.
- * Makefile.am: Update accordingly.
- * Consumer.java: If JAVA5 is defined, extend Appendable.
- (append): Add 3 methods, if JAVA5 is defined,
- * String.java: Remove now-redundant implements of Appendable.
- * FilterConsumer.java (append): Add 3 methods, if JAVA5 is defined,
- 2005-04-18 Per Bothner <per@bothner.com>
- * CharSeq.java: Use use:java.lang.CharSequence conditional instead
- of JAVA5, where appropriate. Make it the default.
- * FString.java: Likewise.
- * CharBuffer.java: Likewise.
- * SubCharSeq.java: Likewise.
- (subCharSeq): New provate helper method - not needed if JAVA 5.
- 2005-04-03 Per Bothner <per@bothner.com>
- * AbstractSequence.java: Fix two javadoc typos.
- 2005-03-17 Per Bothner <per@bothner.com>
- * LList.java (checkNonList): New static helper function.
- (consume, toString): Use checkNonList.
- Fixes Savannah bug #12216.
- 2005-01-07 Per Bothner <per@bothner.com>
- * CharSeq.java: #ifdef JAVA5 also extend CharSequence.
- (writeTo): If Java 5, output is Appendable, not Writer.
- * SubCharSeq.java: New class extends SubSequence implements CharSeq.
- * Makefile.am: Update accordingly.
- * AbstractSequence.java (append): New Java5 methods.
- * CharBuffer.java (subSequence, writeTo): New Java 5 methods.
- * FString.java: #ifdfe JAVA5, implement Appendable.
- (subSequence, append, writeTo): New Java 5 methods.
- * PrintConsumer.java: #ifdef JAVA5, implement Appendable.
- (append): New Jav5 methods.
- * TreeList.java (append): Make methods return more specific TreeList.
- * LList.java: Partially de-tabify.
- * SimpleVector.java: Likewise.
- * SubSequence.java (get): Check index in range.
- 2005-01-02 Per Bothner <per@bothner.com>
- * AbstractSequence.java, Convert.java, EofClass.java, F32Vector.java,
- F64Vector.java, FString.java, FVector.java, LList.java, Pair.java,
- S16Vector.java, S32Vector.java, S64Vector.java, S8Vector.java,
- SeqPosition.java, Sequence.java, SimpleVector.java, TreeList.java,
- U16Vector.java, U32Vector.java, U64Vector.java, U8Vector.java:
- Change "select" (preprocessor) syntax.
- 2004-11-06 Per Bothner <per@bothner.com>
- * LList.java (compareTo): Move comment, so it doesn't get
- removed by select-java1.
- * TreeList.java: If JAVA5 is selected, implement Appendable.
- 2004-08-31 Per Bothner <per@bothner.com>
- * AbstractSequence.java (getIterator(int)): New overloaded method.
- (getIterator(), listIterator): Define in terms of new method.
- * LList.java (getIterator(int)): New method replaces getIterator().
- * ExtPosition.java (finalize): Rename to release.
- Just use the inherited finalize.
- * TreePosition.java (clear): Rename to release.
- (set): Change to use clear.
- (finalize): Remove as being redundant.
- * LListPosition.java (set): Clear xpos if we're not setting it.
- (set): New overloaded method, to override inherited method.
- (gotoPrevious): Add cast to pick specific method.
- * LListPosition.java (hasPrevious): New method.
- * LListPosition.java (getNextPair): Take cdr of result.
- * LListPosition.java (getNextPair): Take cdr of result.
- * PositionManager.java (getPositionObject, register, release):
- Add synchronization.
- * SeqPosition.java (previous): Use getPrevious method.
- 2004-08-04 Christian Surlykke <christian@surlykke.dk>
- * GapVector.java: (GapVector) Initialization of gapStart and gapEnd.
- 2004-08-19 Per Bothner <per@bothner.com>
- * GapVector.java (gapReserve): Use setSize to change base.size,
- rather than setBufferLength, which doesn't update size.
- (size, hasNext, fill, gapReserve, nextIndex): Use base.size
- rather than getBufferLength for performance and consistency.
- 2004-08-08 Chris Dean <ctdean@sokitomi.com>
- * FString.java (addAllStrings): Only grow the internal buffer.
- 2004-07-20 Per Bothner <per@bothner.com>
- * LList.java: Remove useless import statements.
- * Sequence.java: Likewise.
- 2004-05-29 Per Bothner <per@bothner.com>
- * TreeList.java (nextDataIndex): Fix thinko.
- 2004-05-20 Per Bothner <per@bothner.com>
- * TreeList.java (PROCESSING_INSTRUCTION): Make protected.
- * Sequence.java (CDATA_VALUE): New constant.
- * TreeList.java (getNextKind): Return CDATA_VALUE if CDATA_SECTION.
- * AbstractSequence.java (getIteratorAtPos): Add a copyPos.
- * TreeList.java (consumeIRange): Use getIteratorAtPos.
- (toString): Likewise.
- * TreeList.java (toString): Print separator.
- 2004-05-18 Per Bothner <per@bothner.com>
- * TreeList.java (statistics): New methods.
- 2004-05-05 Per Bothner <per@bothner.com>
- * XConsumer.java (writeCDATA): New method.
- * TreeList.java (CDATA_SECTION): New constant.
- (writeCData): New method.
- (consumeIRange, toString, getNextKind, stringValue, nextNodeIndex,
- nextMatching, nextDataIndex, dump): Handle CDATA_SECTION.
- 2004-05-04 Per Bothner <per@bothner.com>
- * SimpleVector.java (compareToInt, compareToLong): New helper methods.
- * F32Vector.java: Implement Comparable, if JAVA2..
- (compareTo): New method.
- * F64Vector.java: Likewise.
- * FVector.java: Likewise.
- * U64Vector.java: Likewise.
- * S8Vector.java: Likewise - using compareToInt.
- * S16Vector.java: Likewise.
- * S32Vector.java: Likewise.
- * U8Vector.java: Likewise.
- * U16Vector.java: Likewise.
- * S64Vector.java: Likewise - using compareToLong.
- * U32Vector.java: Likewise.
-
- * LList.java: Implement Comparable, if JAVA2.
- (compareTo): New method.
- * Pair.java (compareTo): Two new methods.
- 2004-04-22 Per Bothner <per@bothner.com>
- * FString.java: Implement Comparable, if JAVA2.
- (compareTo): New method.
- 2004-04-18 Per Bothner <per@bothner.com>
- * XConsumer.java (XConsumer): New interface, extends Consumer.
- * Makefile.am: Update accordingly.
- * Sequence.java (COMMENT_VALUE, PROCESSING_INSTRUCTION_VALUE): New
- constants.
- * TreeList.java: Implement XConsumer.
- (COMMENT, PROCESSING_INSTRUCTION): New contants.
- (writeComment, writeProcessingInstruction): New methods.
- (consumeIRange, toString, getNextKind, stringValue, nextNodeIndex,
- nextMatching, nextDataIndex, dump): Handle new node kinds.
- 2004-01-27 Rafael Jesus Alcantara Perez <rafa@dedaloingenieros.com>
- * Pair.java (lastPair): Fix thinko.
- 2004-01-12 Per Bothner <per@bothner.com>
- * TreeList.java (parentPos): The begin-offset is just one word.
- Fixes bug reported 2003-11-29 by sascha_opletal@web.de.
- 2004-01-04 Per Bothner <per@bothner.com>
- * AbstractSequence.java (getIteratorAtPos): New method.
- * TreeList.java (getPosNext): Use getIteratorAtPos method, which
- is overridden by NodeTree to return a KNode.
- * TreeList.java (BEGIN_ATTRIBUTE_LONG, BEGIN_DOCUMENT, END_DOCUMENT,
- END_GROUP_SHORT, END_GROUP_LONG): Make protected.
- 2003-11-16 Per Bothner <per@bothner.com>
- * Pair.java (readResolve): New method.
- * PairWithPosition.java (<init>): New default constructor.
- 2003-11-09 Chris Dean <Chris.Dean@sokitomi.com>
- * FString.java (addAll): New method to add an FString directly.
- * FString.java (addAllStrings): New method to add an array of
- FStrings.
- 2003-11-09 Per Bothner <per@bothner.com>
- * SeqPosition.java (toString): Rename to toInfo, and add new toString.
- 2003-11-03 Per Bothner <per@bothner.com>
- * UnescapedData.java: New longer implement Consumable.
- (consume): Remove method.
- 2003-10-07 Per Bothner <per@bothner.com>
- * AbstractSequence.java (equals): If either operand is non-List
- or non-Sequence, just compare using identity.
- 2003-10-02 Per Bothner <per@bothner.com>
- * Sequence.java: Move class EofClass to separate file.
- * Makefile.am: Update accordingly.
- * EofClass.java: Make class public.
- (eofValue): New public field.
- * Sequence.java (eofValue): Make same as EofClass.eofValue.
- 2003-09-30 Per Bothner <per@bothner.com>
- * TreeList.java (INT_FOLLOWS): Make public - used by CallContext.
- * TreeList.java (getPosNextInt): New method.
- 2003-09-24 Per Bothner <per@bothner.com>
- * TreeList.java (copyToList): Revert use of gnu.xml.NodeTree.
- 2003-09-23 Per Bothner <per@bothner.com>
- * LList.java (makeList): Generalize parameter to java.util.List,
- but only if JAVA2.
- * FVector.java (<init>)(Sequence)): Likewise.
- 2003-09-14 Per Bothner <per@bothner.com>
- * AbstractSequence.java (nextMatching): New method.
- * TreeList.java (newMatching): New method, based on nextMatchingChild.
- (nextMatchingChild): Remove.
- 2003-09-09 Per Bothner <per@bothner.com>
- * AbstractSequence.java (nextIndex): Use getIndexDifference.
- * TreeList.java (getIndexDifference): New method.
- 2003-09-04 Per Bothner <per@bothner.com>
- * TreeList.java (dump): Print attribute type as well as name.
- 2003-08-02 Per Bothner <per@bothner.com>
- * AbstractSequence.java (firstAttributePos): New method.
- * TreeList.java (firstAttributePos): New method.
- * AttributePredicate.java (isInstance): Remove xpos parameter.
- * TreeList.java (createPos): Just call createRelativePos.
- (createRelativePos): Fix some corner cases.
- * TreeList.java (posToDataIndex): Fix some corner cases.
- * TreeList.java (copyToList): New method.
- This is a kludge, since it creates a gnu.xml.NodeTree.
- (getPosNext): Use use copyToList when copying to new TreeList.
- * TreeList.java (compare): Simplify and fix using posToDataIndex.
- 2003-07-26 Per Bothner <per@bothner.com>
- * TreeList.java (POSITION_PAIR_FOLLOWS): Make protected.
- * TreeList.java (dump): Also print identityHashCode.
- 2003-07-23 Per Bothner <per@bothner.com>
- * AbstractSequence.java (stableCompare): New method.
- (compare): New static 4-argument method.
- 2003-07-10 Per Bothner <per@bothner.com>
- * AbstractSequence.java (consumeNext): Hopefully more efficient.
- * TreeList.java (dump): Write out class name.
- 2003-05-09 Per Bothner <per@bothner.com>
- * AbstractSequence.java.in, Convert.java.in, SeqPosition.java.in,
- Sequence.java.in, SimpleVector.java.in: Renamed to ...
- * AbstractSequence.java, Convert.java, SeqPosition.java, Sequence.java,
- SimpleVector.java: New files, using new JAVA1/JAVA2 framework.
- * Makefile.am: Updated accordingly.
- Various cleanups followed.
- * LList.java (class LListPostion): Moved to ...
- * LListPosition.java: .. new file, as it is also used by Pair.java.
- 2003-05-03 Per Bothner <per@bothner.com>
- * AbstractSequence.java.in (addAll): Fix typo in non-collections case.
- 2003-04-08 Per Bothner <per@bothner.com>
- * Sequence.java.in (EofClass): New non-public class.
- (eofValue): Use EofClass instance.
- 2003-04-05 Per Bothner <per@bothner.com>
- * GeneralArray.java (toString): Two new methods.
- 2003-03-13 Per Bothner <per@bothner.com>
- * TreeList.java (consumeIRange): Fix typo in BASE_URI handling.
- 2003-03-02 Per Bothner <per@bothner.com>
- * AbstractSequence.java.in (getPosPrevious): Make public.
- * SubSequence.java (getPosPrevious): Likewise.
- * TreeList.java (getPosPrevious): Likewise.
- 2003-02-19 Per Bothner <per@bothner.com>
- * TreeList.java (oindex): Field moved here from ValuesStack.
- (availOject): Removed field
- (find(Object), find(Object,Object)): Methods moved here
- from ValuesStack. This fixes quadratic behavior, at the cost of
- not sharing duplicate indexes.
- 2003-02-13 Per Bothner <per@bothner.com>
- * AbstractSequence.java.in (parentPos, baseUriOfPos): New methods.
- * TreeList.java (BASE_URI): New constant.
- (writeBaseUri): New method, to add base-uri property.
- (baseUriOfPos): New method.
- (gotoChildrenStart): Skip BASE_URI for documents and groups.
- (consumeIRange, dump): Handle BASE_URI.
- (toString, stringValue, nextNodeIndex, nextMatchingChild):
- Skip BASE_URI.
- (parentPos): New method.
- * TreeList.java (curerntBeginGroup): Re-named to currentParent.
- (beginDocument, endDocument): Set and clear currentParent.
- 2003-01-05 Per Bothner <per@bothner.com>
- Replace position triples (including xpos), with positions pairs,
- using just an 'int' "Pos" cookie to identify a position.
- * PositionContainer.java: Remove no-longer-useful interface.
- * AbstractSequence.java.in (fillPosRange): New method.
- (fill): Re-write to use nextPos+setPosPrevious.
- (elements, iterator): Use getIterator and make final.
- (getIterator): Default implementation uses startPos.
- (indexOf, removeAll, retailAll, toArray, hashCode): Re-implement using
- startPos+nextPos+getPosPrevious.
- (contains): Re-implement to just call indexOf.
- (containsAll): Fix bug.
- (listIterator): Use new SeqPosition constructor.
- (add, releasePosition, copyPosition, gotoNext, gotoPrevious):
- Remove methods taking a PositionContainer.
- (addPos): New method.
- (removePos): Renamed from remove. Remove xpos parameter. Update.
- (removePosRange): Renamed from remove. Remove xpos parameters.
- (isAfter): Rename to isAfterPos. Remove xpos parameter.
- (getNext): Renamed to getPosNext. Remove xpos parameter.
- (getPrevious): Renamed to getPosPrevious. Remove xpos parameter.
- (subSequence): Renamed to subSequencePos. Remove xpos parameter.
- (setNext): Renamed to setPosNext. Remove xpos parameter.
- (setPrevious): Renamed to setPosPrevious. Remove xpos parameter.
- (consume): Renamed to consumePosRange. Remove xpos parameters.
- (getIndexDifference, nextIndex, getContainingSequenceSize, hasNext,
- fromEndIndex, getNextKind, getNextTypeName, getNextTypeObject, equals,
- compare, hasPrevious, consumeNext): Remove xpos parameter.
- (remove(int)): Re-implement using createPos+getNext+removePos.
- (remove(Object)): Likewise.
- (clear): Re-implement using removePos.
- (createPos): New abstract method.
- (makePosition, createPosition, makeRelativePosition,
- makeStartPosition, makeEndPosition): Remove methods.
- (createRelativePos, startPos, endPos, releasePos, copyPos, nextPos,
- previousPos, firstChildPos): New methods.
- (subList): Re-implement using createPos.
- (toString(String,StringBuffer)): New helper method.
- * SeqPosition.java.in: No longer implement PositionContainer.
- (getPositionInt, getPositionPtr, setPosition, setSequence,
- countPositions): Remove PositionContainer methods.
- (xpos): Remove field.
- (toString): Don't print xpos.
- (hasNext, getNextKind, getNextTypeName, getNextTypeObject, hasPrevious,
- getNext, nextIndex, fromEndIndex, getContainingSequenceSize, isAfter,
- previousIndex, remove, add, init, release): Don't pass xpos to
- corresponding sequence method.
- (<init>(AbstractSequence,int,boolean)): Re-implement using createPos.
- (<init>(AbstractSequence,int,Object)): Remove xpos parameter.
- (make): Likewise.
- (copy): New method.
- (gotoStart): Re-implement using setPos and startPos.
- (gotoEnd): Re-implement using setPos and endPos.
- (gotoChildrenStart): New method.
- (hasMoreElements): Use hasNext and make final.
- (gotoNext): Make non-final. Use nextPos.
- (gotoPrevious): New method.
- (next): Use getNext and gotNext methods in this class, not sequence.
- (previous): Use getPosPrevious and new gotoPrevious method.
- (nextElement): Make final, define in terms of next.
- (nextIndex): Make non-final.
- (getNext, getPrevious) Use renamed getPosNext, getPosPrevious.
- (init, release): Update for renamed releasePos, copyPos.
- (setNext, setPrevious): New methods.
- (set) Use them.
- (setPos, setPos): New methods.
- (init): Renamed to set.
- (getPos): New method.
- (various): Use getPos instead of accessing ipos directly.
- * SimpleVector.java.in (createPosition): Rename to createPos.
- (isAfter): Rename to isAfterPos. Remove xpos parameter.
- (getNext): Rename to getPosNext. Remove xpos parameter.
- (remove): Rename to consumePosRange. Remove xpos parameters.
- (consume): Rename to getPosNext. Remove xpos parameter.
- (nextIndex, consumeNext, getNextKind): Remove xpos parameter.
- (nextPos): New method.
- (add): Remove methods taking a PositionContainer.
- (addPos): New method.
- * U8Vector.java, U16Vector.java, U32Vector.java, U64Vector.java,
- S8Vector.java, S16Vector.java, S32Vector.java, S64Vector.java,
- F32Vector.java, F64Vector.java, FString.java, FVector.java,
- BitVector.java (consumeNext): Remove xpos parameter.
- (remove): Rename to consumePosRange. Remove xpos parameters.
- * FVector.java (consumePosRange): New method.
- * GapVector.java (add): Remove methods taking a PositionContainer.
- (addPos): New method.
- (nextIndex, nextIndex, getNextKind): Remove xpos parameter.
- (remove): Rename to consumePosRange. Remove xpos parameters.
- (clear): Remove - use inherited method.
- (createPosition): Rename to createPos.
- (consume): Renamed to consumePosRange. Rmeove xpos parammeters.
- (fill): Replaced by fillPosRange.
- * StableVector.java (createPosition): Rename to createPos.
- (startPos, endPos, nextPos. copyPos, addPos): New methods.
- (makeStartPosition, makeEndPosition, gotoNext, copyPosition, add):
- Removed methods.
- (isAfter): Rename to isAfterPos.
- (hasNext, nextIndex): Remove xpos parameter.
- (releasePosition): Renamed to releasePos. Remove xpos parameter.
- (remove): Renamed to removePosRange. Rmeove xpos parammeters.
- (consume): Renamed to consumePosRange. Rmeove xpos parammeters.
- (fillPosRange): New method.
- * CharBuffer.java (delete): Use createPos+removePos.
- * GeneralArray.java (createPos): New method.
- * SubSequence.java: No longer implement PositionContainer.
- (xpos0, xpos1): Remove fields.
- (<init>): New constructor.
- Update various methods.
- * PositionManager.java: New class.
- * ExtPosition.java: New class, extends SeqPosition.
- * ExtSequence: New abatract class; extends AbstacrtSequence.
- * ElementPredicate.java (isInstance): Renamed to isInstancePos,
- remove xpos parameter.
- * GroupPredicate.java: Remove xpos parameter.
- * LList.java: new inherit from ExtSequence.
- (getIterator, createPos, createRelativePos): New methods.
- (various): Other updates; some logic moved to LListPosition.
- (makePosition): Removed PositionContainer method.
- (class LListPosition): New, inherits from ExtPosition.
- * Pair.java (hasNext, nextPos, getPosNext, getPosPrevious, lastPair,
- getPosPrevious, lastPaur): New methods.
- * TreeList.java (consumeRange): Rebane to consumeIRange.
- Fix bug in INT_FOLLOWS/FLOAT_FOLLOWS/LONG_FOLLOWS/DOUBLE_FOLLOWS cases.
- (consumePosRange): New method.
- (POSITION_TRIPLE_FOLLOWS): Renamed to POSITION_PAIR_FOLLOWS.
- (posToDataIndex, firstChildPos, toSrring, compare, hashCode):
- New methods.
- (various): Update various methods.
- * PositionConsumer.java (consume): Take SeqPosition, not TreePosition.
- (wrotePosition): Remove xpos parameter.
- * TreePosition.java (xpos): "New" field, now private and here.
- (xstack): Removed.
- Remove PosutionContainer methods.
- Various updates.
- * TreePositionList.java: Removed, since it was unused.
- * Makefile.am: Update accordingly.
- * package.html: Update for new world.
-
- 2003-01-06 Per Bothner <per@bothner.com>
- * AbstractSequence.java.in (isEmpty): Fix obvious thinko.
- 2003-01-05 Per Bothner <per@bothner.com>
- * LList.java (toString): New method.
- 2002-09-21 Per Bothner <per@bothner.com>
- * TreeList.java (getIntN): Mask with 0xFFFF, in case low word is < 0.
- (getLongN): Likewise, and force shifts to be long.
- 2002-07-24 Per Bothner <per@bothner.com>
- * LList.java (getPrevious, setPrevious): New methods.
- 2002-06-10 Per Bothner <per@bothner.com>
- * Array.java (isEmpty, getRowMajor, getLowBound, getSize, transpose):
- New methods.
- * GeneralArray.java: Extend AbstractSequence.
- Generalize to arbitrary lower bound.
- (makeSimple, get, getRowMajor, getLowBound, getSize, transpose):
- New methods.
- * Sequence.java.in: Don't implement Array.
- * SimpleVector.java.in: Do implement Array.
- (getRowMajor, transpose): New methods.
- * AbstractSequence.java.in (getLowBound(int), getSize(int)): New.
- * GeneralArray1.java: New class, extends GeneralArray and Sequence.
- * Makefile.am: (java_sources): Update accordingly.
- * FVector.java (<init>): Don't set initial value if it is null.
- 2002-05-06 Per Bothner <per@bothner.com>
- * TreeList.java (find(Object), find (Object,Object)): Make public.
- * TreePosition.java (depth): New field.
- (set, getRoot, push, popNoRelease, getAncestor, dump): Use depth.
- 2002-04-18 Per Bothner <per@bothner.com>
- * AbstractSequence.java.in (createPosition): New semi-abstract method.
- (makePosition): New default implementation uses createPosition.
- * GapVector.java (makePosition): Remove - just use inherited default.
- (createPosition): New method.
- * SimpleVector.java.in (makePosition): Likewise remove.
- (createPosition): New method.
- * StableVector.java (makePosition): Likewise remove.
- * TreePositionList.java (makePosition): Likewise remove.
- (createPosition): New method.
- * TreePosition.java (<init>): Just call super constructor.
- * TreeList.java (makePosition): Likewise remove.
- (createPosition): New method.
- * TreeList.java (stringValue): Use nextNodeIndex.
- 2002-04-06 Per Bothner <per@bothner.com>
- * NodePredicate.java: New class, extends ElementPredicate.
- * GroupPredicate.java: Change to extend NodePredicate.
- * AttributePredicate.java: New class, extends NodePredicate.
- * Makefile.am (java_sources); Add new classes.
- * TreeList.java (nextMatchingChild): Generalize to take en
- ElementPredicate instead of a GroupPredicate.
- * TreeList.java (nextNodeIndex): New method.
- (consumeNext): Call nextNodeIndex.
- * TreeList.java (hasNext): Return false also for END_DOCUMENT.
- * AbstractSequence.java.in (hasNext): Make public.
- * GapVector.java (hasNext): Likewise.
- * LList.java (hasNext): Likewise.
- * StableVector.java (hasNext): Likewise.
- 2002-03-19 Per Bothner <per@bothner.com>
- * AbstractSequence.java.in (remove): Make public.
- * SimpleVector.java.in (remove): Make public.
- * StableVector.java (makePosition): Make public.
- 2002-02-16 Per Bothner <per@bothner.com>
- * UnescapedData.java: Implement Consumable..
- (consume): New method.
- 2002-02-05 Per Bothner <per@bothner.com>
- * TreeList.java (getNextTypeIndex): Fix bad BEGIN_GROUP_LONG handling.
- * TreeList.java (nextMatchingChild): New method.
- * ElementPredicate.java: New interface.
- * GroupPredicate.java: New interface, extends ElementPredicate.java.
- * Makefile.am (java_sources): Update accordingly.
- 2002-02-01 Per Bothner <per@bothner.com>
- * PrintConsumer.java (writeInt): Add missing startNumber call.
- 2002-01-23 Per Bothner <per@bothner.com>
- * ConsumerWriter.java: Extends Writer.
- * PrintConsumer.java: New class, extends PrintWriter.
- * Makefile.am (java_sources): Add new classes.
- 2002-01-21 Per Bothner <per@bothner.com>
- * UnescapedData.java: New class.
- * Makefile.am (java_sources): Add UnescapedData.java.
- 2002-01-07 Per Bothner <per@bothner.com>
- * Consumer.java (beginDocument, endDocument): New methods.
- * FilterConsumer.java (beginDocument, endDocument): New methods.
- * TreeList.java (END_DOCUMENT): New code.
- (BEGIN_DOCUMENT): Now followed by pointer to END_DOCUMENT.
- (various methods): update as appropriate.
- * FilterConsumer.java (skipping): New boolean field.
- (Consumer methods): Do nothing if skipping is true.
- * VoidConsumer.java: New extends FilterConsumer.
- (Consumer methods): Remove - use inherited versions.
- 2001-12-29 Per Bothner <per@bothner.com>
- * TreeList.java (consumeRange): Fix indexing bug for BEGIN_GROUP_LONG.
- * TreeList.java (stringValue): Fix indexing bugs.
- Support POSITION_TRIPLE_FOLLOWS.
- 2001-12-24 Per Bothner <per@bothner.com>
- * TreeList.java (get): Add working implementation.
- * FString.java (getChars): New method.
- 2001-11-24 Per Bothner <per@bothner.com>
- * TreeList.java (writeObject): Special-case SeqPosition.
- * SeqPosition.java.in (<init>): New constructor.
- (toString): Handle null sequence.
- * FString.java (getChars): New method, writes to StringBuffer.
- 2001-11-18 Per Bothner <per@bothner.com>
- * TreeList.java (dump): Better output for POSITION_TRIPLE_FOLLOWS.
- 2001-11-12 Per Bothner <per@bothner.com>
- * TreeList.java (dump): Print group and attribute type objects.
- 2001-11-06 Per Bothner <per@bothner.com>
- * TreeList.java (stringValue): Make attributes and long groups work.
- 2001-10-25 Per Bothner <per@bothner.com>
- * AbstractSequence.java.in (getNextKind, getNextTypeName,
- getNextTypeObject, gotoNext, gotoChildrenStart): Make public.
- * GapVector.java, LList.java, SimpleVector.java.in, StableVector.java,
- SubSequence.java, TreeList.java: Update accordingly.
- 2001-10-17 Per Bothner <per@bothner.com>
- * Sequence.java.in (ATTRIBUTE_VALUE): New constant.
- * TreeList.java (getNextKind, getNext): Handle BEGIN_ATTRIBUTE_LONG.
- (attrStart): New field.
- (beginAttribute, endAttribute): Use it to correctly set end pointer.
- (gotoAttributesStart, gotoAttributesStart): New methods.
- (nextDataIndex): Return index *after* END_ATTRIBUTE.
- 2001-10-05 Per Bothner <per@bothner.com>
- * CharSequence.java: Renamed to CharSeq.java to avoid conflict with
- similar interface java.lang.CharSequence in JDK 1.4beta.
- * CharSeq.java: New interface renamed fro CharSequence.
- (toString): Added new method - matching JDK 1.4 CharSequence.
- * CharBuffer.java (toString): New method.
- * CharBuffer.java, FString.java, Strings.java, Makefile.am:
- Update for CharSequence -> CharSeq renaming.
- 2001-08-15 Per Bothner <per@bothner.com>
- * Sequence.java.in (DOCUMENT_VALUE): New constant.
- * AbstractSequence.java.in (toArray): Removed debugging catch.
- * SeqPosition.java.in (make): New static method
- * TreeList.java (consumeRange): On POSITION_TRIPLE_FOLLOWS
- create new SeqPostion, not TreePosition.
- (getNext): Likewise.
- * TreePosition.java (stringValue): New methods.
- * TreeList.java (nextDataIndex): Fix off-by-one error.
- * SeqPosition.java.in (toString): New method
- * TreeList.java (BEGIN_DOCUMENT): New constant.
- (beginDocument, endDocument): New methods.
- (consumeRange, getNextKind, getNextTypeObject, nextDataIndex,
- dump): Handle BEGIN_DOCUMENT.
- * TreeList.java (size): Re-write to use nextDataIndex rather
- than less efficient and broken consumeRange.
- (gotoChildrenStart(int)): New overloaded method.
- (consumeRange): Remove maxSteps parameter.
- (consumeNext): Use nextDataIndex.
- (getNextKind, getNextTypeObject): Make public.
- 2001-07-15 Per Bothner <per@bothner.com>
- * Consumer.java: Replace endAttributes by endAttribute.
- * VoidConsumer.java: Likewise.
- * FilterConsumer.java: Likewise.
- * TreeList.java (END_ATTRIBUTES): Removed constant.
- (END_ATTRIBUTE): New constant.
- (beginGroup): No longer emit END_ATTRIBUTES word.
- (beginAttribute): Write END_ATTRIBUTE word.
- (endAttributes): Removed.
- (endAttribute): New method.
- (consumeRange, gotoChildrenStart, hasNext, getNextKind, getNext,
- nextDataIndex, dump): Update accordingly.
- * FVector.java: Remove endAttributes call.
- * PositionConsumer.java (writePosition): New method.
- * TreeList.java: Implement PositionConsumer.
- (consume, writePosition): New methods.
- (POSITION_REF_FOLLOWS, POSITION_TRIPLE_FOLLOWS): New constants.
- (consumeRange, getNextKind, getNext, nextDataIndex, dump):
- Support new constants.
- * TreeList.java (<init>): New constructors.
- (isEmpty): New method.
- (consumeRange): Fix logic checking maxSteps.
- (getNext): Handle BEGIN_GROUP_SHORT/_LONG using copy constructor.
- * TreePositionList.java (added): New helper method,.
- (consume): Replace old logic by new 'added' method..
- (writePosition): New method.
- (expand): New helper method.
- * AbstractSequence.java.in (toArray): Change 0-argument version
- to use correct implementation rather than using 1-argument version.
- * AbstractSequence.java.in (consume) Likewise.
- * LList.java (consume): Likewise.
- * FormatToConsumer.java (beginGroup, endGroup): New methods.
- 2001-06-17 Per Bothner <per@bothner.com>
- Various improvements to documentation comments.
- * package.html: Additional text.
- 2001-06-03 Per Bothner <per@bothner.com>
- * CharSequence.java (consume(int,int,Consumer)): New method.
- * CharBuffer.java (consume): Implement.
- * SimpleVector.java.in (consume): Likewise.
- * SimpleVector.java.in (get, intAt, longAt, set):
- Fix off-by-one errors: > should be >=.
- * SimpleVector.java.in (getNext): New method.
- * AbstractSequence.java.in (consumeNext): New method.
- (consume): Fix to use nextElement.
- * U8Vector.java, F32Vector.java, F64Vector.java, U8Vector.java,
- S16Vector.java, S32Vector.java, S64Vector.java, S8Vector.java,
- U16Vector.java, U32Vector.java, U64Vector.java, U8Vector.java,
- FString.java, SimpleVector.java.in (consumeNext): New methods.
- * TreeList.java (consumeStep): Replaced by new consumeNext method.
- * U16Vector.java, U8Vector.java (consume): Mask off value.
- * FString.java (consume): Just do plain write.
- * FormatToConsumer.java: New interface.
- * Makefile.am (java_sources): Add FormatToConsumer.java.
- * LList.java (print): Remove unused method.
- (consume): Re-write to generate more robust output.
- 2001-05-16 Per Bothner <per@bothner.com>
- * TreeList.java (getNext): Better error for default unsupported case.
- 2001-05-09 Per Bothner <per@bothner.com>
- * Makefile.am (install-data-am): Removed bogus dependency.
- * TreeList.java (data, hasNext): Make public.
- (getNext): New method.
- * PairWithPosition.java (<init>): Remove constructor taking a
- LineBufferedReader to remove dependency on gnu.text.
- 2001-04-24 Per Bothner <per@bothner.com>
- * Convert.java: Moved to ...
- * Convert.java.in: New file.
- (parseDouble): New static convenience method.
- * Makefile.am: Update to generate Convert.java from Convert.java.in.
- 2001-04-22 Per Bothner <per@bothner.com>
- * Convert.java (booleanToObject, objectToBoolean): New methods.
- (toObject, toBoolean): New static methods.
- * BitVector.java: New class, extends SimpleVector.
- * Makefile.am: Update accordingly.
- 2001-04-10 Per Bothner <per@bothner.com>
- * TreePosition.java (copy constructor): Positions are numbered
- with the most recent (a leaf) as 0.
- * TreePosition.java (gotoParent): Handle null sequence.
- 2001-04-09 Per Bothner <per@bothner.com>
- * Sequence.java.in (isEmpty): New method.
- (EOF_VALUE, INT_U8_VALUE, INT_S8_VALUE, INT_U16_VALUE, INT_S16_VALUE,
- INT_U32_VALUE, INT_S32_VALUE, INT_U64_VALUE, INT_S64_VALUE,
- FLOAT_VALUE, DOUBLE_VALUE, BOOLEAN_VALUE, TEXT_BYTE_VALUE, CHAR_VALUE,
- OBJECT_VALUE, GROUP_VALUE): New constants.
- * AbstractSequence.java.in (getNextKind, getNextTypeName,
- getNextTypeObject): New methods.
- * SeqPosition.java.in (getNextKind, getNextTypeName,
- getNextTypeObject): New methods.
- * SimpleVector.java.in (getNextKind, getElementKind): New methods.
- * GapVector.java (getNextKind): New method.
- * FString.java, F32Vector.java, F64Vector.java, S16Vector.java,
- S32Vector.java, S64Vector.java, S8Vector.java, U16Vector.java,
- U32Vector.java, U64Vector.java, U8Vector.java (getElementKind):
- New method.
- * SubSequence.java (getNext, getPrevious): Fix thinko.
- (getNextKind): New method.
- * TreeList.java (endGroup, consumeRange): Fix thinkos.
- (makePosition, gotoChildrenStart, getNextKind, getNextTypeIndex,
- getNextTypeName, getNextTypeObject, makeRelativePosition,
- nextDataIndex): New methods.
- * TreePosition.java: Implement Cloneable.
- (TreePosition(TreePosition)): New copy constructor.
- (clone, set): New method.
- (push): Handle case of depth == -1.
- (clear): Improve.
- * FilterConsumer.java: New class, implements Consumer.
- * PositionConsumer.java: New interface.
- * TreePositionList.java: New class.
- * Makefile.am: Add new classes.
- 2001-04-04 Per Bothner <per@bothner.com>
- * VoidConsumer.java: New class, implements Consumer.
- * Makefile.am (java_sources): Add VoidConsumer.java.
- 2001-04-02 Per Bothner <per@bothner.com>
- * TreeList.java: Make it extend AbstractSequence.
- Made various fields public for convenience that probably shouldn't be.
- (clear, size, makePosition, get, hasNext): New method.
- (ensureSpace): Set data to new array. Oops.
- (beginGroup, beginAttribute): New versions that just take an index.
- 2001-03-23 Per Bothner <per@bothner.com>
- * Makefile.am: The automake Java support does not handle "built"
- Java sources, so roll our own.
- 2001-03-08 Per Bothner <per@bothner.com>
- New package.
- Many of the classes are based on ones that used to be in gnu.kawa.util.
|