GreedyPatternParseRule.java
net.minecraft.util.parsing.packrat.commands.GreedyPatternParseRule
信息
- 全限定名:net.minecraft.util.parsing.packrat.commands.GreedyPatternParseRule
- 类型:public final class
- 包:net.minecraft.util.parsing.packrat.commands
- 源码路径:src/main/java/net/minecraft/util/parsing/packrat/commands/GreedyPatternParseRule.java
- 起始行号:L11
- 实现:Rule<StringReader,String>
- 职责:
TODO
字段/常量
-
pattern- 类型:
Pattern - 修饰符:
private final - 源码定位:
L12 - 说明:
TODO
- 类型:
-
error- 类型:
DelayedException<CommandSyntaxException> - 修饰符:
private final - 源码定位:
L13 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public GreedyPatternParseRule(Pattern pattern, DelayedException<CommandSyntaxException> error) @ L15
- 构造器名:GreedyPatternParseRule
- 源码定位:L15
- 修饰符:public
参数:
- pattern: Pattern
- error: DelayedException
说明:
TODO
方法
下面的方法块按源码顺序生成。
public String parse(ParseState<StringReader> state) @ L20
- 方法名:parse
- 源码定位:L20
- 返回类型:String
- 修饰符:public
参数:
- state: ParseState
说明:
TODO
代码
public final class GreedyPatternParseRule implements Rule<StringReader, String> {
private final Pattern pattern;
private final DelayedException<CommandSyntaxException> error;
public GreedyPatternParseRule(Pattern pattern, DelayedException<CommandSyntaxException> error) {
this.pattern = pattern;
this.error = error;
}
public String parse(ParseState<StringReader> state) {
StringReader input = state.input();
String fullString = input.getString();
Matcher matcher = this.pattern.matcher(fullString).region(input.getCursor(), fullString.length());
if (!matcher.lookingAt()) {
state.errorCollector().store(state.mark(), this.error);
return null;
} else {
input.setCursor(matcher.end());
return matcher.group(0);
}
}
}引用的其他类
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置: