app.softwork.sqldelight.postgresdialect.PostgreSqlNativeParser Maven / Gradle / Ivy
// This is a generated file. Not intended for manual editing.
package app.softwork.sqldelight.postgresdialect;
import com.intellij.lang.PsiBuilder;
import com.intellij.lang.PsiBuilder.Marker;
import static app.softwork.sqldelight.postgresdialect.psi.PostgreSqlNativeTypes.*;
import static app.softwork.sqldelight.postgresdialect.PostgreSqlNativeParserUtil.*;
import com.intellij.psi.tree.IElementType;
import com.intellij.lang.ASTNode;
import com.intellij.psi.tree.TokenSet;
import com.intellij.lang.PsiParser;
import com.intellij.lang.LightPsiParser;
import static com.alecstrong.sql.psi.core.SqlParser.*;
import static com.alecstrong.sql.psi.core.SqlParserUtil.identifierExt;
import static com.alecstrong.sql.psi.core.psi.SqlTypes.DEFAULT;
@SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"})
public class PostgreSqlNativeParser implements PsiParser, LightPsiParser {
public ASTNode parse(IElementType root_, PsiBuilder builder_) {
parseLight(root_, builder_);
return builder_.getTreeBuilt();
}
public void parseLight(IElementType root_, PsiBuilder builder_) {
boolean result_;
builder_ = adapt_builder_(root_, builder_, this, null);
Marker marker_ = enter_section_(builder_, 0, _COLLAPSE_, null);
result_ = parse_root_(root_, builder_);
exit_section_(builder_, 0, marker_, root_, result_, true, TRUE_CONDITION);
}
protected boolean parse_root_(IElementType root_, PsiBuilder builder_) {
return parse_root_(root_, builder_, 0);
}
static boolean parse_root_(IElementType root_, PsiBuilder builder_, int level_) {
return root(builder_, level_ + 1);
}
/* ********************************************************** */
// DEFAULT | ( '?' | ':' <>>> )
public static boolean bind_parameter_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bind_parameter_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, BIND_PARAMETER, "");
result_ = consumeToken(builder_, DEFAULT);
if (!result_) result_ = bind_parameter_real_1(builder_, level_ + 1);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
// '?' | ':' <>>>
private static boolean bind_parameter_real_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bind_parameter_real_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, "?");
if (!result_) result_ = bind_parameter_real_1_1(builder_, level_ + 1);
exit_section_(builder_, marker_, null, result_);
return result_;
}
// ':' <>>>
private static boolean bind_parameter_real_1_1(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "bind_parameter_real_1_1")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_);
result_ = consumeToken(builder_, ":");
result_ = result_ && identifierExt(builder_, level_ + 1, bind_parameter_real_1_1_1_0_parser_);
exit_section_(builder_, marker_, null, result_);
return result_;
}
/* ********************************************************** */
// <>
public static boolean overrides_real(PsiBuilder builder_, int level_) {
if (!recursion_guard_(builder_, level_, "overrides_real")) return false;
boolean result_;
Marker marker_ = enter_section_(builder_, level_, _COLLAPSE_, OVERRIDES, "");
result_ = bindParameterExt(builder_, level_ + 1, PostgreSqlNativeParser::bind_parameter_real);
exit_section_(builder_, level_, marker_, result_, false, null);
return result_;
}
/* ********************************************************** */
// <>
static boolean root(PsiBuilder builder_, int level_) {
return overridesExt(builder_, level_ + 1, PostgreSqlNativeParser::overrides_real);
}
static final Parser bind_parameter_real_1_1_1_0_parser_ = (builder_, level_) -> identifier_real(builder_, level_ + 1);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy