class org.apache.lucene.analysis.cn.smart.WordSegmenter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.lucene.analysis.cn.smart.WordSegmenter
super_class: java.lang.Object
{
private org.apache.lucene.analysis.cn.smart.hhmm.HHMMSegmenter hhmmSegmenter;
descriptor: Lorg/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter;
flags: (0x0002) ACC_PRIVATE
private org.apache.lucene.analysis.cn.smart.hhmm.SegTokenFilter tokenFilter;
descriptor: Lorg/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter;
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 // org.apache.lucene.analysis.cn.smart.WordSegmenter this
0: .line 30
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 32
aload 0 /* this */
new org.apache.lucene.analysis.cn.smart.hhmm.HHMMSegmenter
dup
invokespecial org.apache.lucene.analysis.cn.smart.hhmm.HHMMSegmenter.<init>:()V
putfield org.apache.lucene.analysis.cn.smart.WordSegmenter.hhmmSegmenter:Lorg/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter;
2: .line 34
aload 0 /* this */
new org.apache.lucene.analysis.cn.smart.hhmm.SegTokenFilter
dup
invokespecial org.apache.lucene.analysis.cn.smart.hhmm.SegTokenFilter.<init>:()V
putfield org.apache.lucene.analysis.cn.smart.WordSegmenter.tokenFilter:Lorg/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter;
3: .line 30
return
end local 0 // org.apache.lucene.analysis.cn.smart.WordSegmenter this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/lucene/analysis/cn/smart/WordSegmenter;
public java.util.List<org.apache.lucene.analysis.cn.smart.hhmm.SegToken> segmentSentence(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 // org.apache.lucene.analysis.cn.smart.WordSegmenter this
start local 1 // java.lang.String sentence
start local 2 // int startOffset
0: .line 45
aload 0 /* this */
getfield org.apache.lucene.analysis.cn.smart.WordSegmenter.hhmmSegmenter:Lorg/apache/lucene/analysis/cn/smart/hhmm/HHMMSegmenter;
aload 1 /* sentence */
invokevirtual org.apache.lucene.analysis.cn.smart.hhmm.HHMMSegmenter.process:(Ljava/lang/String;)Ljava/util/List;
astore 3 /* segTokenList */
start local 3 // java.util.List segTokenList
1: .line 47
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 4 /* result */
start local 4 // java.util.List result
2: .line 49
aload 3 /* segTokenList */
invokeinterface java.util.List.size:()I
iconst_2
if_icmple 4
3: .line 50
aload 3 /* segTokenList */
iconst_1
aload 3 /* segTokenList */
invokeinterface java.util.List.size:()I
iconst_1
isub
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 4 /* result */
4: .line 52
StackMap locals: java.util.List java.util.List
StackMap stack:
aload 4 /* result */
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 7
StackMap locals: org.apache.lucene.analysis.cn.smart.WordSegmenter java.lang.String int java.util.List java.util.List top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.lucene.analysis.cn.smart.hhmm.SegToken
astore 5 /* st */
start local 5 // org.apache.lucene.analysis.cn.smart.hhmm.SegToken st
6: .line 53
aload 0 /* this */
aload 5 /* st */
aload 1 /* sentence */
iload 2 /* startOffset */
invokevirtual org.apache.lucene.analysis.cn.smart.WordSegmenter.convertSegToken:(Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;Ljava/lang/String;I)Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;
pop
end local 5 // org.apache.lucene.analysis.cn.smart.hhmm.SegToken st
7: .line 52
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: .line 55
aload 4 /* result */
areturn
end local 4 // java.util.List result
end local 3 // java.util.List segTokenList
end local 2 // int startOffset
end local 1 // java.lang.String sentence
end local 0 // org.apache.lucene.analysis.cn.smart.WordSegmenter this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/lucene/analysis/cn/smart/WordSegmenter;
0 9 1 sentence Ljava/lang/String;
0 9 2 startOffset I
1 9 3 segTokenList Ljava/util/List<Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;>;
2 9 4 result Ljava/util/List<Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;>;
6 7 5 st Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;
Signature: (Ljava/lang/String;I)Ljava/util/List<Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;>;
MethodParameters:
Name Flags
sentence
startOffset
public org.apache.lucene.analysis.cn.smart.hhmm.SegToken convertSegToken(org.apache.lucene.analysis.cn.smart.hhmm.SegToken, java.lang.String, int);
descriptor: (Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;Ljava/lang/String;I)Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 // org.apache.lucene.analysis.cn.smart.WordSegmenter this
start local 1 // org.apache.lucene.analysis.cn.smart.hhmm.SegToken st
start local 2 // java.lang.String sentence
start local 3 // int sentenceStartOffset
0: .line 71
aload 1 /* st */
getfield org.apache.lucene.analysis.cn.smart.hhmm.SegToken.wordType:I
tableswitch { // 3 - 7
3: 1
4: 1
5: 5
6: 1
7: 1
default: 5
}
1: .line 76
StackMap locals:
StackMap stack:
aload 1 /* st */
aload 2 /* sentence */
aload 1 /* st */
getfield org.apache.lucene.analysis.cn.smart.hhmm.SegToken.startOffset:I
aload 1 /* st */
getfield org.apache.lucene.analysis.cn.smart.hhmm.SegToken.endOffset:I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
2: .line 77
invokevirtual java.lang.String.toCharArray:()[C
3: .line 76
putfield org.apache.lucene.analysis.cn.smart.hhmm.SegToken.charArray:[C
4: .line 78
goto 5
5: .line 83
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.lucene.analysis.cn.smart.WordSegmenter.tokenFilter:Lorg/apache/lucene/analysis/cn/smart/hhmm/SegTokenFilter;
aload 1 /* st */
invokevirtual org.apache.lucene.analysis.cn.smart.hhmm.SegTokenFilter.filter:(Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;)Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;
astore 1 /* st */
6: .line 84
aload 1 /* st */
dup
getfield org.apache.lucene.analysis.cn.smart.hhmm.SegToken.startOffset:I
iload 3 /* sentenceStartOffset */
iadd
putfield org.apache.lucene.analysis.cn.smart.hhmm.SegToken.startOffset:I
7: .line 85
aload 1 /* st */
dup
getfield org.apache.lucene.analysis.cn.smart.hhmm.SegToken.endOffset:I
iload 3 /* sentenceStartOffset */
iadd
putfield org.apache.lucene.analysis.cn.smart.hhmm.SegToken.endOffset:I
8: .line 86
aload 1 /* st */
areturn
end local 3 // int sentenceStartOffset
end local 2 // java.lang.String sentence
end local 1 // org.apache.lucene.analysis.cn.smart.hhmm.SegToken st
end local 0 // org.apache.lucene.analysis.cn.smart.WordSegmenter this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/lucene/analysis/cn/smart/WordSegmenter;
0 9 1 st Lorg/apache/lucene/analysis/cn/smart/hhmm/SegToken;
0 9 2 sentence Ljava/lang/String;
0 9 3 sentenceStartOffset I
MethodParameters:
Name Flags
st
sentence
sentenceStartOffset
}
SourceFile: "WordSegmenter.java"