本文整理匯總了Java中org.antlr.v4.runtime.ParserRuleContext.getStart方法的典型用法代碼示例。如果您正苦於以下問題:Java ParserRuleContext.getStart方法的具體用法?Java ParserRuleContext.getStart怎麽用?Java ParserRuleContext.getStart使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.antlr.v4.runtime.ParserRuleContext
的用法示例。
在下文中一共展示了ParserRuleContext.getStart方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: resolveType
import org.antlr.v4.runtime.ParserRuleContext; //導入方法依賴的package包/類
private EObject resolveType(final ParserRuleContext ruleContext, final EObject superType) {
final EObject resolvedType;
if (superType.eIsProxy()) {
resolvedType = null;
} else {
resolvedType = create(superType.eClass(), ruleContext);
EcoreUtil.replace(unresolved, resolvedType);
final Token nameToken = ruleContext.getStart();
final String name = nameToken.getText();
final Scope typeScope = scope.with(resolvedType, TYPE_CONTAINER__TYPES);
typeScope.with(IDENTIFIABLE_ELEMENT__NAME)
.setValue(name, nameToken);
typeScope.with(unresolved.eClass().getEStructuralFeature("type"))
.setValue(superType, nameToken);
}
return resolvedType;
}
示例2: constructType
import org.antlr.v4.runtime.ParserRuleContext; //導入方法依賴的package包/類
private EObject constructType(final ParserRuleContext context, final EObject superType) {
final EObject declaredType;
final Token nameToken = context.getStart();
final Optional<BuiltinType> optionalBuiltinType = BuiltinType.of(nameToken.getText());
if (optionalBuiltinType.isPresent() || superType == null || !superType.eIsProxy()) {
final EClass eClass = optionalBuiltinType
.map(builtinType -> builtinType.getScopedMetaType(scope))
.orElseGet(() -> superType == null ? BuiltinType.STRING.getScopedMetaType(scope) : superType.eClass());
declaredType = create(eClass, context);
final Scope typeScope = scope.with(declaredType);
final String name = nameToken.getText();
typeScope.with(declaredType.eClass().getEStructuralFeature("name"))
.setValue(name, nameToken);
if (!optionalBuiltinType.isPresent()) {
typeScope.with(declaredType.eClass().getEStructuralFeature("type"))
.setValue(superType, nameToken);
}
} else {
final InternalEObject proxy = (InternalEObject) EcoreUtil.create(superType.eClass());
final String uriFragment = scope.getUriFragment(nameToken.getText());
proxy.eSetProxyURI(scope.getResource().getURI().appendFragment(uriFragment));
declaredType = proxy;
}
scope.setValue(declaredType, nameToken);
return declaredType;
}
示例3: Location
import org.antlr.v4.runtime.ParserRuleContext; //導入方法依賴的package包/類
public Location(ParserRuleContext parserRuleContext) {
Token start = parserRuleContext.getStart();
this.start = start.getStartIndex();
Token stop = parserRuleContext.getStop();
end = stop.getStopIndex();
line = start.getLine();
}
示例4: handleCreationException
import org.antlr.v4.runtime.ParserRuleContext; //導入方法依賴的package包/類
static AntlrError handleCreationException(ObjectCreationException ex, ParserRuleContext ctx) {
Token t = ctx.getStart();
Log.log(Log.LOG_WARNING, ex.getMessage(), ex);
return new AntlrError(t, t.getLine(), t.getCharPositionInLine(), ex.getMessage());
}