================================================
FILE: CONTRIBUTING.md
================================================
# How to contribute
[](https://gitter.im/go-lang-plugin-org/go-lang-idea-plugin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
## Contents
+ [Reporting errors](#reporting-errors)
+ [Contributing to the code](#contributing-to-the-code)
+ [Submitting test cases](#submitting-test-cases)
+ [Building and running the unit tests](#building-and-running-the-unit-tests)
+ [Configuring and debugging in IntelliJ](#configuring-and-debugging-in-IntelliJ)
+ [Code Style](#code-style)
+ [Delve integration](#delve-integration)
+ [Useful links](#useful-links)
## Reporting errors
Before reporting an error, please read the [FAQ](https://github.com/go-lang-plugin-org/go-lang-idea-plugin/wiki/FAQ)
and search for the issue in the issue tracker. Also, please don't bump, +1
or "me too" issues. Thank you.
The simplest way to contribute to the plugin is to report issues you encounter
in your day to day use.
As a rule of thumb, always keep in mind that we are developers just like you. So,
whenever you are going to report an issue, think of how you'd like to receive issues
for your projects. Also, we are doing this in our spare time, so the more information
we have in the report, the faster we can replicate the problem and get on solving it
rather that just doing a bunch of ping-pong in comments trying to extract the needed
details from you.
This information applies also when you don't have an error that is caught by the
built-in facility but it's something that happens and shouldn't happen (say for
example, a formatting issue).
When filing an issue, please answer these questions:
- What version of Go plugin are you using?
- What version of IDEA are you using?
- What version of Java are you using?
- What did you do?
- What did you expect to see?
- What did you see instead?
Also, every time you can, submit the piece of code that's generating the issue.
As it might be some proprietary code, take some time and write the smallest code
sample that can reproduce it and paste it in the issue (or send it as a link to
[Go Playground](http://play.golang.org/). Screenshots are useful, but, just like
you, we can't copy paste code from screenshots either.
Please ensure that the bug is not reported already, this helps us focusing on
working on bug fixes not triage work.
## Contributing to the code
If you want to contribute to the code, go to GitHub and check out the latest version
and follow the instructions on how to build the plugin from source. After that, you
can start picking some [pending tasks](https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues) on the issue tracker.
Make sure you look for issues tags with [up for grabs](https://github.com/go-lang-plugin-org/go-lang-idea-plugin/labels/up%20for%20grabs)
as these are some of the easier ones to get started with.
### CLA requirement
Contributing to the plugin requires a signed CLA with JetBrains.
You can view the steps necessary for this at [this page](http://www.jetbrains.org/display/IJOS/Contribute#Contribute-ContributeCode).
### Submitting test cases
Submitting test cases is the next best thing you can do to developing on this
project. In fact, you'll actually develop on it since the test code you are
going to contribute is still code.
Whenever your time or knowledge allows, submitting good test cases for either
for existing issues or for issues that you come across will make a huge difference
in the way we spend time to understand the problems and thus solve them.
### Building and running the unit tests
All code can be checked out from our Github repository in the usual way. That is, clone the repository with HTTPS or SSH:
```
$ git clone https://github.com/go-lang-plugin-org/go-lang-idea-plugin.git
Cloning into 'go-lang-idea-plugin'...
```
On Linux/Mac OS X we use gradle as our build system. Gradle is self-installing. This one command
```
$ ./gradlew buildPlugin
```
compiles everything, runs the tests, and builds the plugins. The output appears in `build/distributions`.
### Configuring and debugging in IntelliJ
1. [Download](http://www.jetbrains.com/idea/) IDEA Community or Ultimate
1. Setup the right version of [Grammar-Kit](https://github.com/JetBrains/Grammar-Kit/releases/download/1.4.1/GrammarKit.zip)
1. Make sure that **UI Designer** and **Gradle** plugins are turned on
1. Checkout plugin repo and open the project
1. Open the copy of go-lang-idea-plugin repository (`File | New | Project from Existing Sources...`) with it. Then import Gradle project. The default project module config should work with a recent IDEA 15 version
1. Git revert changes to the .idea folder because IDEA Gradle import blows it away (https://youtrack.jetbrains.com/issue/IDEA-146295)
1. Open `File -> Project Settings`, go to the SDKs entry, click the `+` and select JDK 1.6
1. Go to the Project entry and make sure that the Project SDK is set to selected SDK
1. Wait until the source files of the SDK are indexed
1. Run or debug the **Go** run configuration
If you use Mac, you may check follow path while looking for SDK:
```
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/
```
Now you can use the run configurations provided by the plugin source code to
run and play.
There are multiple branches of the plugin which correspond to different versions
of the IntelliJ Platform:
- 141 -> can be used for IDEA 14.1
- 144 -> can be used for IDEA 16
The master branch will follow the current stable release of IDEA (currently IDEA 15).
Going to ``` Run -> Run... ``` will provide you with the following run configurations:
+ `Go` will spawn a new IDEA with the latest version of the plugin enabled.
+ `All tests` will run all the test cases available in the project. Please make
sure that all the test cases pass before committing anything (or making a pull request).
+ `Performance tests` will run all performance test cases available in the project.
+ `Build plugin` will build plugin distribution archive. All artifacts are stored in `gradle/distributions` directory.
You can also have a look at some [useful links](#useful-links) for getting started with
plugin development on IntelliJ IDEA platform.
##### IMPORTANT: MacOS X users note
You might get the following error ```Unsupported major.minor version 52``` in the
logs or the plugin might not work at all.
Check the version of Java your IDE is running on. Since in 99.9% of the cases it will
be Java 6, this means that you compiled the plugin with a different version of Java,
for example Java 8.
To fix the error, please use Java JDK 6 to compile the plugin and everything should work.
To get the log files, you can go to ```Help | Show Log in File Manager``` and then the
log will be displayed to you.
### Code Style
* Please don't use class comments with information about author or date and time creation.
* Please don't commit anything from `.idea/` directory if you're not very sure what you doing.
### Delve integration
We're syncing the plugin source with the [Delve](https://github.com/derekparker/delve) debugger.
If you want to customize delve distribution that's used in the plugin you can use `-Dorg.gradle.project.customDlvPath` for setting up the path to your local version of dlv.
### Useful links
For further information please see [the official plugin development page](http://confluence.jetbrains.net/display/IDEADEV/PluginDevelopment).
Also, you can read some [tips and tricks](http://tomaszdziurko.pl/2011/09/developing-plugin-intellij-idea-some-tips-and-links/).
For all development questions and proposals, you can mail to our [Open API and Plugin Development forum](https://devnet.jetbrains.com/community/idea/open_api_and_plugin_development).
Happy hacking!
================================================
FILE: ISSUE_TEMPLATE.md
================================================
If you are using [GoLand](https://jetbrains.com/go) or [IntelliJ IDEA Ultimate](https://jetbrains.com/idea) 2017.3 or later, please report your issue at the official tracker: https://youtrack.jetbrains.com/issues/Go
This repository is not maintained anymore.
- Plugin version (or commit hash):
- IDE name and version:
- Java version:
- OS name and version:
- What are you trying to do?
- What would you expect to happen?
- What happens?
Your issue description goes here.
Please be as detailed as possible
```go
Please include a go sample to reproduce the issue
```
Or include a screenshot / video of the issue.
================================================
FILE: LICENCE
================================================
Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
# Go plugin for IntelliJ
# Deprecation notice
This project is officially not maintained anymore. If you are using [GoLand](https://jetbrains.com/go) or [IntelliJ IDEA Ultimate](https://jetbrains.com/idea) 2017.3 or later, please report your issue at the official tracker: https://youtrack.jetbrains.com/issues/Go
[/statusIcon.svg?guest=1)](https://teamcity.jetbrains.com/viewType.html?buildTypeId=IntellijIdeaPlugins_Go_Test&guest=1) [](https://gitter.im/go-lang-plugin-org/go-lang-idea-plugin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
## Pre-release builds
Please note, that the following features are available in [GoLand, JetBrains's official IDE](https://www.jetbrains.com/go/), or [JetBrains maintained plugin](https://plugins.jetbrains.com/plugin/9568-go), but **not in this plugin**:
- Navigation
- Go to inheritor structures
- Go to super interfaces
- Type-aware completion (aka Smart completion)
- Extract function refactoring
- Implement type
- Inspections and quick-fixes
- Introduce method
- Introduce field
- Delete unused parameter
- Show symbol duplicates
- Add/delete missing/redundant expressions in case of assignment count mismatch
- Properly implemented Duplicated symbols inspection
- Recursive type detection
- Invalid const initialization
- Tests and coverage
- Sub-tests support (runner, navigation, gutter actions)
- Debugging tests
- Debugger
- Step out
- 100x faster performance
- General
- Highlighting of go:generate comments
- Quick documentation for struct fields
- Semantic highlighting
- Parameter name hints
- SQL auto-injection
- Support for Go 1.9+
- Support for AppEngine 1.9.54+
**Supported IDEs**
The plugin can be installed on following IntelliJ-based:
- IntelliJ 2016.1+ (Ultimate or Community)
- WebStorm 2016.1+
- PhpStorm 2016.1+
- PyCharm 2016.1+
- RubyMine 2016.1+
- CLion 2016.1+
- Android Studio 1.2.1+
Pre-release builds are available in two forms: nightly and alphas. Alpha builds are usually released at the beginning of every week while nightly builds are released every night.
To use them do the following:
1. Use [the instructions](https://www.jetbrains.com/idea/help/managing-enterprise-plugin-repositories.html)
1. Paste the URL for the version you need:
- alpha: https://plugins.jetbrains.com/plugins/alpha/5047
- nightly: https://plugins.jetbrains.com/plugins/nightly/5047
**NOTE**
The above links are not meant to be used in browsers, so don't report issues
about them not working or being inaccessible unless there's an error in the IDE itself.
Since these are not stable releases, some things might not work as expected.
### Release versions schema
Bellow you can see the versions of the plugin which correspond to the versions of the
IntelliJ Platfom (IntelliJ IDEA, WebStorm, PyCharm etc.):
| Plugin version number | Platform number |
| ---- | --- |
| 0.12.x | IntelliJ 2016.2 (IntelliJ IDEA 2016.2) |
| 0.11.x | IntelliJ 2016.1 (IntelliJ IDEA 2016.1) |
| 0.10.x | IntelliJ 143.1180 - 143.9999 (IntelliJ IDEA 15.0.2+) |
| 0.9.x | IntelliJ 141.1532 - 141.9999 (IntelliJ IDEA 14.1) |
If you are not using IntelliJ IDEA, then please check the build number of your IDE
as that will correspond to the IntelliJ Platform version.
Reporting issues is very important for us as such, please see the section below
on how to submit a proper bug report.
## FAQ
Here's a list of the most frequently asked questions: [FAQ](https://github.com/go-lang-plugin-org/go-lang-idea-plugin/wiki/FAQ)
## Bugs
If you've found a bug, which is not a duplicate, [report it](http://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues).
When reporting a bug, please include the following:
- IDEA version
- OS version
- JDK version
- Plugin version (or commit hash, if you built the plugin yourself)
- Detailed steps to reproduce (please include sample code)
## Bumping or +1 comments
Please don't comment with "bump", "+1", "same for me" or other irrelevant comments as they're useless for identifying the issue and finding the solution.
Contributions are always welcome and we'll do our best to make the most of them.
## Contributing
We encourage you to contribute to the plugin if you find any issues or missing
functionality that you'd like to see. In order to get started, see the
[contribution](CONTRIBUTING.md) guide.
## [People who helped](https://github.com/go-lang-plugin-org/go-lang-idea-plugin/graphs/contributors)
## License
The Gopher icons are based on the Go mascot designed by [Renée French](http://reneefrench.blogspot.com/) and copyrighted under the [Creative Commons Attribution 3.0 license](http://creativecommons.org/licenses/by/3.0/us/).
The plugin is distributed under Apache License, version 2.0. For full license terms, see [LICENCE](https://github.com/go-lang-plugin-org/go-lang-idea-plugin/blob/master/LICENCE).
================================================
FILE: build.gradle
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
buildscript {
repositories {
maven { url 'http://dl.bintray.com/jetbrains/intellij-plugin-service' }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
classpath "org.jetbrains.intellij.plugins:gradle-intellij-plugin:0.2.0-SNAPSHOT"
}
}
plugins {
id "de.undercouch.download" version "3.1.0"
}
apply plugin: 'de.undercouch.download'
version = "${version}.$buildNumber"
allprojects {
apply plugin: 'java'
sourceCompatibility = javaVersion
targetCompatibility = javaTargetVersion
tasks.withType(JavaCompile) { options.encoding = 'UTF-8' }
sourceSets {
main {
java.srcDirs 'src', 'gen'
resources.srcDirs 'resources', 'pluginResources'
}
test {
java.srcDir 'tests'
}
}
apply plugin: 'org.jetbrains.intellij'
intellij {
version ideaVersion
pluginName 'Go'
plugins 'coverage'
downloadSources Boolean.valueOf(sources)
sameSinceUntilBuild Boolean.valueOf(isEAP)
alternativeIdePath localIdePath
systemProperty 'dlv.path', customDlvPath
}
}
publishPlugin {
username publishUsername
password publishPassword
channels publishChannel
}
patchPluginXml {
if (customSinceBuild) {
sinceBuild customSinceBuild
}
}
apply plugin: 'idea'
idea {
project {
jdkName = javaVersion
languageLevel = javaVersion
vcs = 'Git'
}
module {
generatedSourceDirs += file('gen')
}
}
repositories { maven { url "http://dl.bintray.com/jetbrains/golang" } }
dependencies {
compile project(':utils'), project(':google-app-engine'), project(':google-app-engine:google-app-engine-yaml'), project(':plan9')
runtime "com.jetbrains:delve:$delveVersion@zip"
}
// delve packing
project.afterEvaluate {
prepareSandbox.doLast {
def libraries = "$it.destinationDir/$intellij.pluginName/lib/"
def delveFile = fileTree(dir: libraries, include: 'delve*').singleFile
copy {
from zipTree(delveFile)
into libraries
}
delveFile.delete()
}
}
test {
useJUnit {
excludeCategories 'com.goide.categories.Performance'
}
testLogging {
exceptionFormat = 'full'
}
}
task preparePerformanceTestData << {
downloadAndUnzip('https://storage.googleapis.com/golang/go1.5.1.src.tar.gz', 'go', 'go')
downloadAndUnzip('https://github.com/docker/docker/archive/v1.9.1.tar.gz', 'docker-1.9.1', 'docker')
}
task performanceTest(type: Test, group: 'Verification', dependsOn: [classes, testClasses, preparePerformanceTestData]) {
maxHeapSize = '512m'
minHeapSize = '256m'
useJUnit {
includeCategories 'com.goide.categories.Performance'
reports.html.destination = "$buildDir/reports/performanceTests"
}
testLogging {
exceptionFormat = 'full'
}
}
check.dependsOn performanceTest
private void downloadAndUnzip(url, sourceDir, targetDir) {
def testDataPath = "$projectDir/testData/performance/"
def markerFile = file("$testDataPath/$targetDir/markerFile")
def tmpPath = "$testDataPath/tmp/"
def tar = file("$tmpPath/${targetDir}.tar.gz")
if (!markerFile.exists()) {
download {
src url
dest tar
}
copy {
from tarTree(tar)
into tmpPath
}
copy {
from "$tmpPath/$sourceDir"
into "$testDataPath/$targetDir"
}
markerFile.createNewFile()
}
delete file(tmpPath)
}
================================================
FILE: cloneToWt.sh
================================================
#!/bin/bash
# Creates new worktrees for all IntelliJ IDEA repositories pointing to a new release branch.
# Usage: ./cloneToWt.sh
# Restrictions:
# None of the given Git repositories should have the branch with name .
# There should be a remote branch origin/ from which a new local branch will be created by this script.
# You must use Git 2.5.0 or later.
set -e # Any command which returns non-zero exit code will cause this shell script to exit immediately
if [[ -z "$1" || -z "$2" ]] ; then
echo "
Usage: ./cloneToWt.sh
Example: ./cloneToWt.sh ~/intellij-go-143 143"
exit 1
fi
NEW_REPO="$1"
BRANCH="$2"
if [[ "$BRANCH" == origin/* ]]; then
BRANCH="${BRANCH/origin\//}"
fi
# Absolute path to directory containing existing IntelliJ IDEA repo (and this script as well)
OLD_REPO="$(cd "`dirname "$0"`"; pwd)"
ROOTS=("/")
if [ -d "$NEW_REPO" ]; then
echo "Directory '$NEW_REPO' already exists"
exit 2
fi
for ROOT in ${ROOTS[@]}; do
if [[ ! -z `git --git-dir="${OLD_REPO}${ROOT}/.git" --work-tree="${OLD_REPO}${ROOT}" branch --list $BRANCH` ]]; then
echo "Branch '$BRANCH' already exists in $ROOT"
exit 3
fi
done
for ROOT in ${ROOTS[@]}; do
git --git-dir="${OLD_REPO}${ROOT}/.git" --work-tree="${OLD_REPO}${ROOT}" worktree add -b $BRANCH "${NEW_REPO}${ROOT}" origin/${BRANCH}
done
cp -a "$OLD_REPO/.idea/workspace.xml" "$NEW_REPO/.idea/"
================================================
FILE: gen/com/goide/GoTypes.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.PsiElement;
import com.intellij.lang.ASTNode;
import com.goide.psi.GoCompositeElementType;
import com.goide.stubs.GoElementTypeFactory;
import com.goide.psi.GoTokenType;
import com.goide.psi.impl.*;
public interface GoTypes {
IElementType ADD_EXPR = new GoCompositeElementType("ADD_EXPR");
IElementType AND_EXPR = new GoCompositeElementType("AND_EXPR");
IElementType ANONYMOUS_FIELD_DEFINITION = GoElementTypeFactory.stubFactory("ANONYMOUS_FIELD_DEFINITION");
IElementType ARGUMENT_LIST = new GoCompositeElementType("ARGUMENT_LIST");
IElementType ARRAY_OR_SLICE_TYPE = GoElementTypeFactory.stubFactory("ARRAY_OR_SLICE_TYPE");
IElementType ASSIGNMENT_STATEMENT = new GoCompositeElementType("ASSIGNMENT_STATEMENT");
IElementType ASSIGN_OP = new GoCompositeElementType("ASSIGN_OP");
IElementType BLOCK = new GoCompositeElementType("BLOCK");
IElementType BREAK_STATEMENT = new GoCompositeElementType("BREAK_STATEMENT");
IElementType BUILTIN_ARGUMENT_LIST = new GoCompositeElementType("BUILTIN_ARGUMENT_LIST");
IElementType BUILTIN_CALL_EXPR = new GoCompositeElementType("BUILTIN_CALL_EXPR");
IElementType CALL_EXPR = new GoCompositeElementType("CALL_EXPR");
IElementType CHANNEL_TYPE = GoElementTypeFactory.stubFactory("CHANNEL_TYPE");
IElementType COMM_CASE = new GoCompositeElementType("COMM_CASE");
IElementType COMM_CLAUSE = new GoCompositeElementType("COMM_CLAUSE");
IElementType COMPOSITE_LIT = new GoCompositeElementType("COMPOSITE_LIT");
IElementType CONDITIONAL_EXPR = new GoCompositeElementType("CONDITIONAL_EXPR");
IElementType CONST_DECLARATION = new GoCompositeElementType("CONST_DECLARATION");
IElementType CONST_DEFINITION = GoElementTypeFactory.stubFactory("CONST_DEFINITION");
IElementType CONST_SPEC = GoElementTypeFactory.stubFactory("CONST_SPEC");
IElementType CONTINUE_STATEMENT = new GoCompositeElementType("CONTINUE_STATEMENT");
IElementType CONVERSION_EXPR = new GoCompositeElementType("CONVERSION_EXPR");
IElementType DEFER_STATEMENT = new GoCompositeElementType("DEFER_STATEMENT");
IElementType ELEMENT = new GoCompositeElementType("ELEMENT");
IElementType ELSE_STATEMENT = new GoCompositeElementType("ELSE_STATEMENT");
IElementType EXPRESSION = new GoCompositeElementType("EXPRESSION");
IElementType EXPR_CASE_CLAUSE = new GoCompositeElementType("EXPR_CASE_CLAUSE");
IElementType EXPR_SWITCH_STATEMENT = new GoCompositeElementType("EXPR_SWITCH_STATEMENT");
IElementType FALLTHROUGH_STATEMENT = new GoCompositeElementType("FALLTHROUGH_STATEMENT");
IElementType FIELD_DECLARATION = new GoCompositeElementType("FIELD_DECLARATION");
IElementType FIELD_DEFINITION = GoElementTypeFactory.stubFactory("FIELD_DEFINITION");
IElementType FIELD_NAME = new GoCompositeElementType("FIELD_NAME");
IElementType FOR_CLAUSE = new GoCompositeElementType("FOR_CLAUSE");
IElementType FOR_STATEMENT = new GoCompositeElementType("FOR_STATEMENT");
IElementType FUNCTION_DECLARATION = GoElementTypeFactory.stubFactory("FUNCTION_DECLARATION");
IElementType FUNCTION_LIT = new GoCompositeElementType("FUNCTION_LIT");
IElementType FUNCTION_TYPE = GoElementTypeFactory.stubFactory("FUNCTION_TYPE");
IElementType GOTO_STATEMENT = new GoCompositeElementType("GOTO_STATEMENT");
IElementType GO_STATEMENT = new GoCompositeElementType("GO_STATEMENT");
IElementType IF_STATEMENT = new GoCompositeElementType("IF_STATEMENT");
IElementType IMPORT_DECLARATION = new GoCompositeElementType("IMPORT_DECLARATION");
IElementType IMPORT_LIST = new GoCompositeElementType("IMPORT_LIST");
IElementType IMPORT_SPEC = GoElementTypeFactory.stubFactory("IMPORT_SPEC");
IElementType IMPORT_STRING = new GoCompositeElementType("IMPORT_STRING");
IElementType INC_DEC_STATEMENT = new GoCompositeElementType("INC_DEC_STATEMENT");
IElementType INDEX_OR_SLICE_EXPR = new GoCompositeElementType("INDEX_OR_SLICE_EXPR");
IElementType INTERFACE_TYPE = GoElementTypeFactory.stubFactory("INTERFACE_TYPE");
IElementType KEY = new GoCompositeElementType("KEY");
IElementType LABELED_STATEMENT = new GoCompositeElementType("LABELED_STATEMENT");
IElementType LABEL_DEFINITION = GoElementTypeFactory.stubFactory("LABEL_DEFINITION");
IElementType LABEL_REF = new GoCompositeElementType("LABEL_REF");
IElementType LEFT_HAND_EXPR_LIST = new GoCompositeElementType("LEFT_HAND_EXPR_LIST");
IElementType LITERAL = new GoCompositeElementType("LITERAL");
IElementType LITERAL_TYPE_EXPR = new GoCompositeElementType("LITERAL_TYPE_EXPR");
IElementType LITERAL_VALUE = new GoCompositeElementType("LITERAL_VALUE");
IElementType MAP_TYPE = GoElementTypeFactory.stubFactory("MAP_TYPE");
IElementType METHOD_DECLARATION = GoElementTypeFactory.stubFactory("METHOD_DECLARATION");
IElementType METHOD_SPEC = GoElementTypeFactory.stubFactory("METHOD_SPEC");
IElementType MUL_EXPR = new GoCompositeElementType("MUL_EXPR");
IElementType OR_EXPR = new GoCompositeElementType("OR_EXPR");
IElementType PACKAGE_CLAUSE = GoElementTypeFactory.stubFactory("PACKAGE_CLAUSE");
IElementType PARAMETERS = GoElementTypeFactory.stubFactory("PARAMETERS");
IElementType PARAMETER_DECLARATION = GoElementTypeFactory.stubFactory("PARAMETER_DECLARATION");
IElementType PARAM_DEFINITION = GoElementTypeFactory.stubFactory("PARAM_DEFINITION");
IElementType PARENTHESES_EXPR = new GoCompositeElementType("PARENTHESES_EXPR");
IElementType PAR_TYPE = GoElementTypeFactory.stubFactory("PAR_TYPE");
IElementType POINTER_TYPE = GoElementTypeFactory.stubFactory("POINTER_TYPE");
IElementType RANGE_CLAUSE = GoElementTypeFactory.stubFactory("RANGE_CLAUSE");
IElementType RECEIVER = GoElementTypeFactory.stubFactory("RECEIVER");
IElementType RECV_STATEMENT = GoElementTypeFactory.stubFactory("RECV_STATEMENT");
IElementType REFERENCE_EXPRESSION = new GoCompositeElementType("REFERENCE_EXPRESSION");
IElementType RESULT = GoElementTypeFactory.stubFactory("RESULT");
IElementType RETURN_STATEMENT = new GoCompositeElementType("RETURN_STATEMENT");
IElementType SELECTOR_EXPR = new GoCompositeElementType("SELECTOR_EXPR");
IElementType SELECT_STATEMENT = new GoCompositeElementType("SELECT_STATEMENT");
IElementType SEND_STATEMENT = new GoCompositeElementType("SEND_STATEMENT");
IElementType SHORT_VAR_DECLARATION = GoElementTypeFactory.stubFactory("SHORT_VAR_DECLARATION");
IElementType SIGNATURE = GoElementTypeFactory.stubFactory("SIGNATURE");
IElementType SIMPLE_STATEMENT = new GoCompositeElementType("SIMPLE_STATEMENT");
IElementType SPEC_TYPE = GoElementTypeFactory.stubFactory("SPEC_TYPE");
IElementType STATEMENT = new GoCompositeElementType("STATEMENT");
IElementType STRING_LITERAL = new GoCompositeElementType("STRING_LITERAL");
IElementType STRUCT_TYPE = GoElementTypeFactory.stubFactory("STRUCT_TYPE");
IElementType SWITCH_START = new GoCompositeElementType("SWITCH_START");
IElementType SWITCH_STATEMENT = new GoCompositeElementType("SWITCH_STATEMENT");
IElementType TAG = new GoCompositeElementType("TAG");
IElementType TYPE = GoElementTypeFactory.stubFactory("TYPE");
IElementType TYPE_ASSERTION_EXPR = new GoCompositeElementType("TYPE_ASSERTION_EXPR");
IElementType TYPE_CASE_CLAUSE = new GoCompositeElementType("TYPE_CASE_CLAUSE");
IElementType TYPE_DECLARATION = new GoCompositeElementType("TYPE_DECLARATION");
IElementType TYPE_GUARD = new GoCompositeElementType("TYPE_GUARD");
IElementType TYPE_LIST = GoElementTypeFactory.stubFactory("TYPE_LIST");
IElementType TYPE_REFERENCE_EXPRESSION = new GoCompositeElementType("TYPE_REFERENCE_EXPRESSION");
IElementType TYPE_SPEC = GoElementTypeFactory.stubFactory("TYPE_SPEC");
IElementType TYPE_SWITCH_GUARD = new GoCompositeElementType("TYPE_SWITCH_GUARD");
IElementType TYPE_SWITCH_STATEMENT = new GoCompositeElementType("TYPE_SWITCH_STATEMENT");
IElementType UNARY_EXPR = new GoCompositeElementType("UNARY_EXPR");
IElementType VALUE = new GoCompositeElementType("VALUE");
IElementType VAR_DECLARATION = new GoCompositeElementType("VAR_DECLARATION");
IElementType VAR_DEFINITION = GoElementTypeFactory.stubFactory("VAR_DEFINITION");
IElementType VAR_SPEC = GoElementTypeFactory.stubFactory("VAR_SPEC");
IElementType ASSIGN = new GoTokenType("=");
IElementType BIT_AND = new GoTokenType("&");
IElementType BIT_AND_ASSIGN = new GoTokenType("&=");
IElementType BIT_CLEAR = new GoTokenType("&^");
IElementType BIT_CLEAR_ASSIGN = new GoTokenType("&^=");
IElementType BIT_OR = new GoTokenType("|");
IElementType BIT_OR_ASSIGN = new GoTokenType("|=");
IElementType BIT_XOR = new GoTokenType("^");
IElementType BIT_XOR_ASSIGN = new GoTokenType("^=");
IElementType BREAK = new GoTokenType("break");
IElementType CASE = new GoTokenType("case");
IElementType CHAN = new GoTokenType("chan");
IElementType CHAR = new GoTokenType("char");
IElementType COLON = new GoTokenType(":");
IElementType COMMA = new GoTokenType(",");
IElementType COND_AND = new GoTokenType("&&");
IElementType COND_OR = new GoTokenType("||");
IElementType CONST = new GoTokenType("const");
IElementType CONTINUE = new GoTokenType("continue");
IElementType DECIMALI = new GoTokenType("decimali");
IElementType DEFAULT = new GoTokenType("default");
IElementType DEFER = new GoTokenType("defer");
IElementType DOT = new GoTokenType(".");
IElementType ELSE = new GoTokenType("else");
IElementType EQ = new GoTokenType("==");
IElementType FALLTHROUGH = new GoTokenType("fallthrough");
IElementType FLOAT = new GoTokenType("float");
IElementType FLOATI = new GoTokenType("floati");
IElementType FOR = new GoTokenType("for");
IElementType FUNC = new GoTokenType("func");
IElementType GO = new GoTokenType("go");
IElementType GOTO = new GoTokenType("goto");
IElementType GREATER = new GoTokenType(">");
IElementType GREATER_OR_EQUAL = new GoTokenType(">=");
IElementType HEX = new GoTokenType("hex");
IElementType IDENTIFIER = new GoTokenType("identifier");
IElementType IF = new GoTokenType("if");
IElementType IMPORT = new GoTokenType("import");
IElementType INT = new GoTokenType("int");
IElementType INTERFACE = new GoTokenType("interface");
IElementType LBRACE = new GoTokenType("{");
IElementType LBRACK = new GoTokenType("[");
IElementType LESS = new GoTokenType("<");
IElementType LESS_OR_EQUAL = new GoTokenType("<=");
IElementType LPAREN = new GoTokenType("(");
IElementType MAP = new GoTokenType("map");
IElementType MINUS = new GoTokenType("-");
IElementType MINUS_ASSIGN = new GoTokenType("-=");
IElementType MINUS_MINUS = new GoTokenType("--");
IElementType MUL = new GoTokenType("*");
IElementType MUL_ASSIGN = new GoTokenType("*=");
IElementType NOT = new GoTokenType("!");
IElementType NOT_EQ = new GoTokenType("!=");
IElementType OCT = new GoTokenType("oct");
IElementType PACKAGE = new GoTokenType("package");
IElementType PLUS = new GoTokenType("+");
IElementType PLUS_ASSIGN = new GoTokenType("+=");
IElementType PLUS_PLUS = new GoTokenType("++");
IElementType QUOTIENT = new GoTokenType("/");
IElementType QUOTIENT_ASSIGN = new GoTokenType("/=");
IElementType RANGE = new GoTokenType("range");
IElementType RAW_STRING = new GoTokenType("raw_string");
IElementType RBRACE = new GoTokenType("}");
IElementType RBRACK = new GoTokenType("]");
IElementType REMAINDER = new GoTokenType("%");
IElementType REMAINDER_ASSIGN = new GoTokenType("%=");
IElementType RETURN = new GoTokenType("return");
IElementType RPAREN = new GoTokenType(")");
IElementType SELECT = new GoTokenType("select");
IElementType SEMICOLON = new GoTokenType(";");
IElementType SEMICOLON_SYNTHETIC = new GoTokenType("");
IElementType SEND_CHANNEL = new GoTokenType("<-");
IElementType SHIFT_LEFT = new GoTokenType("<<");
IElementType SHIFT_LEFT_ASSIGN = new GoTokenType("<<=");
IElementType SHIFT_RIGHT = new GoTokenType(">>");
IElementType SHIFT_RIGHT_ASSIGN = new GoTokenType(">>=");
IElementType STRING = new GoTokenType("string");
IElementType STRUCT = new GoTokenType("struct");
IElementType SWITCH = new GoTokenType("switch");
IElementType TRIPLE_DOT = new GoTokenType("...");
IElementType TYPE_ = new GoTokenType("type");
IElementType VAR = new GoTokenType("var");
IElementType VAR_ASSIGN = new GoTokenType(":=");
class Factory {
public static PsiElement createElement(ASTNode node) {
IElementType type = node.getElementType();
if (type == ADD_EXPR) {
return new GoAddExprImpl(node);
}
else if (type == AND_EXPR) {
return new GoAndExprImpl(node);
}
else if (type == ANONYMOUS_FIELD_DEFINITION) {
return new GoAnonymousFieldDefinitionImpl(node);
}
else if (type == ARGUMENT_LIST) {
return new GoArgumentListImpl(node);
}
else if (type == ARRAY_OR_SLICE_TYPE) {
return new GoArrayOrSliceTypeImpl(node);
}
else if (type == ASSIGNMENT_STATEMENT) {
return new GoAssignmentStatementImpl(node);
}
else if (type == ASSIGN_OP) {
return new GoAssignOpImpl(node);
}
else if (type == BLOCK) {
return new GoBlockImpl(node);
}
else if (type == BREAK_STATEMENT) {
return new GoBreakStatementImpl(node);
}
else if (type == BUILTIN_ARGUMENT_LIST) {
return new GoBuiltinArgumentListImpl(node);
}
else if (type == BUILTIN_CALL_EXPR) {
return new GoBuiltinCallExprImpl(node);
}
else if (type == CALL_EXPR) {
return new GoCallExprImpl(node);
}
else if (type == CHANNEL_TYPE) {
return new GoChannelTypeImpl(node);
}
else if (type == COMM_CASE) {
return new GoCommCaseImpl(node);
}
else if (type == COMM_CLAUSE) {
return new GoCommClauseImpl(node);
}
else if (type == COMPOSITE_LIT) {
return new GoCompositeLitImpl(node);
}
else if (type == CONDITIONAL_EXPR) {
return new GoConditionalExprImpl(node);
}
else if (type == CONST_DECLARATION) {
return new GoConstDeclarationImpl(node);
}
else if (type == CONST_DEFINITION) {
return new GoConstDefinitionImpl(node);
}
else if (type == CONST_SPEC) {
return new GoConstSpecImpl(node);
}
else if (type == CONTINUE_STATEMENT) {
return new GoContinueStatementImpl(node);
}
else if (type == CONVERSION_EXPR) {
return new GoConversionExprImpl(node);
}
else if (type == DEFER_STATEMENT) {
return new GoDeferStatementImpl(node);
}
else if (type == ELEMENT) {
return new GoElementImpl(node);
}
else if (type == ELSE_STATEMENT) {
return new GoElseStatementImpl(node);
}
else if (type == EXPRESSION) {
return new GoExpressionImpl(node);
}
else if (type == EXPR_CASE_CLAUSE) {
return new GoExprCaseClauseImpl(node);
}
else if (type == EXPR_SWITCH_STATEMENT) {
return new GoExprSwitchStatementImpl(node);
}
else if (type == FALLTHROUGH_STATEMENT) {
return new GoFallthroughStatementImpl(node);
}
else if (type == FIELD_DECLARATION) {
return new GoFieldDeclarationImpl(node);
}
else if (type == FIELD_DEFINITION) {
return new GoFieldDefinitionImpl(node);
}
else if (type == FIELD_NAME) {
return new GoFieldNameImpl(node);
}
else if (type == FOR_CLAUSE) {
return new GoForClauseImpl(node);
}
else if (type == FOR_STATEMENT) {
return new GoForStatementImpl(node);
}
else if (type == FUNCTION_DECLARATION) {
return new GoFunctionDeclarationImpl(node);
}
else if (type == FUNCTION_LIT) {
return new GoFunctionLitImpl(node);
}
else if (type == FUNCTION_TYPE) {
return new GoFunctionTypeImpl(node);
}
else if (type == GOTO_STATEMENT) {
return new GoGotoStatementImpl(node);
}
else if (type == GO_STATEMENT) {
return new GoGoStatementImpl(node);
}
else if (type == IF_STATEMENT) {
return new GoIfStatementImpl(node);
}
else if (type == IMPORT_DECLARATION) {
return new GoImportDeclarationImpl(node);
}
else if (type == IMPORT_LIST) {
return new GoImportListImpl(node);
}
else if (type == IMPORT_SPEC) {
return new GoImportSpecImpl(node);
}
else if (type == IMPORT_STRING) {
return new GoImportStringImpl(node);
}
else if (type == INC_DEC_STATEMENT) {
return new GoIncDecStatementImpl(node);
}
else if (type == INDEX_OR_SLICE_EXPR) {
return new GoIndexOrSliceExprImpl(node);
}
else if (type == INTERFACE_TYPE) {
return new GoInterfaceTypeImpl(node);
}
else if (type == KEY) {
return new GoKeyImpl(node);
}
else if (type == LABELED_STATEMENT) {
return new GoLabeledStatementImpl(node);
}
else if (type == LABEL_DEFINITION) {
return new GoLabelDefinitionImpl(node);
}
else if (type == LABEL_REF) {
return new GoLabelRefImpl(node);
}
else if (type == LEFT_HAND_EXPR_LIST) {
return new GoLeftHandExprListImpl(node);
}
else if (type == LITERAL) {
return new GoLiteralImpl(node);
}
else if (type == LITERAL_TYPE_EXPR) {
return new GoLiteralTypeExprImpl(node);
}
else if (type == LITERAL_VALUE) {
return new GoLiteralValueImpl(node);
}
else if (type == MAP_TYPE) {
return new GoMapTypeImpl(node);
}
else if (type == METHOD_DECLARATION) {
return new GoMethodDeclarationImpl(node);
}
else if (type == METHOD_SPEC) {
return new GoMethodSpecImpl(node);
}
else if (type == MUL_EXPR) {
return new GoMulExprImpl(node);
}
else if (type == OR_EXPR) {
return new GoOrExprImpl(node);
}
else if (type == PACKAGE_CLAUSE) {
return new GoPackageClauseImpl(node);
}
else if (type == PARAMETERS) {
return new GoParametersImpl(node);
}
else if (type == PARAMETER_DECLARATION) {
return new GoParameterDeclarationImpl(node);
}
else if (type == PARAM_DEFINITION) {
return new GoParamDefinitionImpl(node);
}
else if (type == PARENTHESES_EXPR) {
return new GoParenthesesExprImpl(node);
}
else if (type == PAR_TYPE) {
return new GoParTypeImpl(node);
}
else if (type == POINTER_TYPE) {
return new GoPointerTypeImpl(node);
}
else if (type == RANGE_CLAUSE) {
return new GoRangeClauseImpl(node);
}
else if (type == RECEIVER) {
return new GoReceiverImpl(node);
}
else if (type == RECV_STATEMENT) {
return new GoRecvStatementImpl(node);
}
else if (type == REFERENCE_EXPRESSION) {
return new GoReferenceExpressionImpl(node);
}
else if (type == RESULT) {
return new GoResultImpl(node);
}
else if (type == RETURN_STATEMENT) {
return new GoReturnStatementImpl(node);
}
else if (type == SELECTOR_EXPR) {
return new GoSelectorExprImpl(node);
}
else if (type == SELECT_STATEMENT) {
return new GoSelectStatementImpl(node);
}
else if (type == SEND_STATEMENT) {
return new GoSendStatementImpl(node);
}
else if (type == SHORT_VAR_DECLARATION) {
return new GoShortVarDeclarationImpl(node);
}
else if (type == SIGNATURE) {
return new GoSignatureImpl(node);
}
else if (type == SIMPLE_STATEMENT) {
return new GoSimpleStatementImpl(node);
}
else if (type == SPEC_TYPE) {
return new GoSpecTypeImpl(node);
}
else if (type == STATEMENT) {
return new GoStatementImpl(node);
}
else if (type == STRING_LITERAL) {
return new GoStringLiteralImpl(node);
}
else if (type == STRUCT_TYPE) {
return new GoStructTypeImpl(node);
}
else if (type == SWITCH_START) {
return new GoSwitchStartImpl(node);
}
else if (type == SWITCH_STATEMENT) {
return new GoSwitchStatementImpl(node);
}
else if (type == TAG) {
return new GoTagImpl(node);
}
else if (type == TYPE) {
return new GoTypeImpl(node);
}
else if (type == TYPE_ASSERTION_EXPR) {
return new GoTypeAssertionExprImpl(node);
}
else if (type == TYPE_CASE_CLAUSE) {
return new GoTypeCaseClauseImpl(node);
}
else if (type == TYPE_DECLARATION) {
return new GoTypeDeclarationImpl(node);
}
else if (type == TYPE_GUARD) {
return new GoTypeGuardImpl(node);
}
else if (type == TYPE_LIST) {
return new GoTypeListImpl(node);
}
else if (type == TYPE_REFERENCE_EXPRESSION) {
return new GoTypeReferenceExpressionImpl(node);
}
else if (type == TYPE_SPEC) {
return new GoTypeSpecImpl(node);
}
else if (type == TYPE_SWITCH_GUARD) {
return new GoTypeSwitchGuardImpl(node);
}
else if (type == TYPE_SWITCH_STATEMENT) {
return new GoTypeSwitchStatementImpl(node);
}
else if (type == UNARY_EXPR) {
return new GoUnaryExprImpl(node);
}
else if (type == VALUE) {
return new GoValueImpl(node);
}
else if (type == VAR_DECLARATION) {
return new GoVarDeclarationImpl(node);
}
else if (type == VAR_DEFINITION) {
return new GoVarDefinitionImpl(node);
}
else if (type == VAR_SPEC) {
return new GoVarSpecImpl(node);
}
throw new AssertionError("Unknown element type: " + type);
}
}
}
================================================
FILE: gen/com/goide/lexer/_GoLexer.java
================================================
/* The following code was generated by JFlex 1.7.0-SNAPSHOT tweaked for IntelliJ platform */
package com.goide.lexer;
import com.intellij.lexer.FlexLexer;
import com.intellij.psi.tree.IElementType;
import com.goide.GoTypes;
import static com.intellij.psi.TokenType.BAD_CHARACTER;
import static com.goide.GoParserDefinition.*;
/**
* This class is a scanner generated by
* JFlex 1.7.0-SNAPSHOT
* from the specification file go.flex
*/
public class _GoLexer implements FlexLexer, GoTypes {
/** This character denotes the end of file */
public static final int YYEOF = -1;
/** initial size of the lookahead buffer */
private static final int ZZ_BUFFERSIZE = 16384;
/** lexical states */
public static final int YYINITIAL = 0;
public static final int MAYBE_SEMICOLON = 2;
/**
* ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
* ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
* at the beginning of a line
* l is of the form l = 2*k, k a non negative integer
*/
private static final int ZZ_LEXSTATE[] = {
0, 0, 1, 1
};
/**
* Translates characters to character classes
* Chosen bits are [11, 6, 4]
* Total runtime size is 13792 bytes
*/
public static int ZZ_CMAP(int ch) {
return ZZ_CMAP_A[(ZZ_CMAP_Y[(ZZ_CMAP_Z[ch>>10]<<6)|((ch>>4)&0x3f)]<<4)|(ch&0xf)];
}
/* The ZZ_CMAP_Z table has 1088 entries */
static final char ZZ_CMAP_Z[] = zzUnpackCMap(
"\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\2\11\1\12\1\13\6\14\1\15\23\14\1\16"+
"\1\14\1\17\1\20\12\14\1\21\10\11\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1"+
"\32\1\11\1\33\1\34\2\11\1\14\1\35\3\11\1\36\10\11\1\37\1\40\20\11\1\41\2\11"+
"\1\42\5\11\1\43\4\11\1\44\1\45\4\11\51\14\1\46\3\14\1\47\1\50\4\14\1\51\12"+
"\11\1\52\u0381\11");
/* The ZZ_CMAP_Y table has 2752 entries */
static final char ZZ_CMAP_Y[] = zzUnpackCMap(
"\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\1\1\11\1\12\1\13\1\14\1\13\1\14\34"+
"\13\1\15\1\16\1\17\10\1\1\20\1\21\1\13\1\22\4\13\1\23\10\13\1\24\12\13\1\25"+
"\1\13\1\26\1\25\1\13\1\27\4\1\1\13\1\30\1\31\2\1\2\13\1\30\1\1\1\32\1\25\5"+
"\13\1\33\1\34\1\35\1\1\1\36\1\13\1\1\1\37\5\13\1\40\1\41\1\42\1\13\1\30\1"+
"\43\1\13\1\44\1\45\1\1\1\13\1\46\4\1\1\13\1\47\4\1\1\50\2\13\1\51\1\1\1\52"+
"\1\53\1\25\1\54\1\55\1\56\1\57\1\60\1\61\1\53\1\16\1\62\1\55\1\56\1\63\1\1"+
"\1\64\1\65\1\66\1\67\1\22\1\56\1\70\1\1\1\71\1\53\1\72\1\73\1\55\1\56\1\70"+
"\1\1\1\61\1\53\1\41\1\74\1\75\1\76\1\77\1\1\1\71\1\65\1\1\1\100\1\36\1\56"+
"\1\51\1\1\1\101\1\53\1\1\1\100\1\36\1\56\1\102\1\1\1\60\1\53\1\103\1\100\1"+
"\36\1\13\1\104\1\60\1\105\1\53\1\106\1\107\1\110\1\13\1\111\1\112\1\1\1\65"+
"\1\1\1\25\2\13\1\113\1\112\1\114\2\1\1\115\1\116\1\117\1\120\1\121\1\122\2"+
"\1\1\71\1\1\1\114\1\1\1\123\1\13\1\124\1\1\1\125\7\1\2\13\1\30\1\105\1\114"+
"\1\126\1\127\1\130\1\131\1\114\2\13\1\132\2\13\1\133\24\13\1\134\1\135\2\13"+
"\1\134\2\13\1\136\1\137\1\14\3\13\1\137\3\13\1\30\2\1\1\13\1\1\5\13\1\140"+
"\1\25\45\13\1\141\1\13\1\25\1\30\4\13\1\30\1\142\1\143\1\16\1\13\1\16\1\13"+
"\1\16\1\143\1\71\3\13\1\144\1\1\1\145\1\114\2\1\1\114\5\13\1\27\2\13\1\146"+
"\4\13\1\40\1\13\1\147\2\1\1\65\1\13\1\150\1\47\2\13\1\151\1\13\1\77\1\114"+
"\2\1\1\13\1\112\3\13\1\47\2\1\2\114\1\152\5\1\1\107\2\13\1\144\1\153\1\114"+
"\2\1\1\154\1\13\1\155\1\42\2\13\1\40\1\1\2\13\1\144\1\1\1\156\1\42\1\13\1"+
"\150\6\1\1\157\1\160\14\13\4\1\21\13\1\140\2\13\1\140\1\161\1\13\1\150\3\13"+
"\1\162\1\163\1\164\1\124\1\163\2\1\1\165\4\1\1\166\1\1\1\124\6\1\1\167\1\170"+
"\1\171\1\172\1\173\3\1\1\174\147\1\2\13\1\147\2\13\1\147\10\13\1\175\1\176"+
"\2\13\1\132\3\13\1\177\1\1\1\13\1\112\4\200\4\1\1\105\35\1\1\201\2\1\1\202"+
"\1\25\4\13\1\203\1\25\4\13\1\133\1\107\1\13\1\150\1\25\4\13\1\147\1\1\1\13"+
"\1\30\3\1\1\13\40\1\133\13\1\40\4\1\135\13\1\40\2\1\10\13\1\124\4\1\2\13\1"+
"\150\20\13\1\124\1\13\1\204\1\1\2\13\1\147\1\105\1\13\1\150\4\13\1\40\2\1"+
"\1\205\1\206\5\13\1\207\1\13\1\150\1\27\3\1\1\205\1\210\1\13\1\31\1\1\3\13"+
"\1\144\1\206\2\13\1\144\1\1\1\114\1\1\1\211\1\42\1\13\1\40\1\13\1\112\1\1"+
"\1\13\1\124\1\50\2\13\1\31\1\105\1\114\1\212\1\213\2\13\1\46\1\1\1\214\1\114"+
"\1\13\1\215\3\13\1\216\1\217\1\220\1\30\1\66\1\221\1\222\1\200\2\13\1\133"+
"\1\40\7\13\1\31\1\114\72\13\1\144\1\13\1\223\2\13\1\151\20\1\26\13\1\150\6"+
"\13\1\77\2\1\1\112\1\224\1\56\1\225\1\226\6\13\1\16\1\1\1\154\25\13\1\150"+
"\1\1\4\13\1\206\2\13\1\27\2\1\1\151\7\1\1\212\7\13\1\124\1\1\1\114\1\25\1"+
"\30\1\25\1\30\1\227\4\13\1\147\1\230\1\231\2\1\1\232\1\13\1\14\1\233\2\150"+
"\2\1\7\13\1\30\30\1\1\13\1\124\3\13\1\71\2\1\2\13\1\1\1\13\1\234\2\13\1\40"+
"\1\13\1\150\2\13\1\235\3\1\11\13\1\150\1\114\5\1\2\13\1\27\3\13\1\144\11\1"+
"\23\13\1\112\1\13\1\40\1\27\11\1\1\236\2\13\1\237\1\13\1\40\1\13\1\112\1\13"+
"\1\147\4\1\1\13\1\240\1\13\1\40\1\13\1\77\4\1\3\13\1\241\4\1\1\71\1\242\1"+
"\13\1\144\2\1\1\13\1\124\1\13\1\124\2\1\1\123\1\13\1\47\1\1\3\13\1\40\1\13"+
"\1\40\1\13\1\31\1\13\1\16\6\1\4\13\1\46\3\1\3\13\1\31\3\13\1\31\60\1\1\154"+
"\2\13\1\27\2\1\1\65\1\1\1\154\2\13\2\1\1\13\1\46\1\114\1\154\1\13\1\112\1"+
"\65\1\1\2\13\1\243\1\154\2\13\1\31\1\244\1\245\2\1\1\13\1\22\1\151\5\1\1\246"+
"\1\247\1\46\2\13\1\147\1\1\1\114\1\73\1\55\1\56\1\70\1\1\1\250\1\16\21\1\3"+
"\13\1\1\1\251\1\114\12\1\2\13\1\147\2\1\1\252\2\1\3\13\1\1\1\253\1\114\2\1"+
"\2\13\1\30\1\1\1\114\3\1\1\13\1\77\1\1\1\114\26\1\4\13\1\114\1\105\34\1\3"+
"\13\1\46\20\1\71\13\1\77\16\1\14\13\1\144\53\1\2\13\1\147\75\1\44\13\1\112"+
"\33\1\43\13\1\46\1\13\1\147\1\114\6\1\1\13\1\150\1\1\3\13\1\1\1\144\1\114"+
"\1\154\1\254\1\13\67\1\4\13\1\47\1\71\3\1\1\154\6\1\1\16\77\1\6\13\1\30\1"+
"\124\1\46\1\77\66\1\5\13\1\212\3\13\1\143\1\255\1\256\1\257\3\13\1\260\1\261"+
"\1\13\1\262\1\263\1\36\24\13\1\264\1\13\1\36\1\133\1\13\1\133\1\13\1\212\1"+
"\13\1\212\1\147\1\13\1\147\1\13\1\56\1\13\1\56\1\13\1\265\3\266\14\13\1\47"+
"\123\1\1\257\1\13\1\267\1\270\1\271\1\272\1\273\1\274\1\275\1\151\1\276\1"+
"\151\24\1\55\13\1\112\2\1\103\13\1\47\15\13\1\150\150\13\1\16\25\1\41\13\1"+
"\150\36\1");
/* The ZZ_CMAP_A table has 3056 entries */
static final char ZZ_CMAP_A[] = zzUnpackCMap(
"\11\0\1\4\1\2\1\1\1\5\1\3\22\0\1\4\1\47\1\23\2\0\1\54\1\51\1\31\1\41\1\42"+
"\1\7\1\50\1\45\1\21\1\22\1\6\1\15\7\14\1\26\1\13\1\43\1\44\1\53\1\46\1\55"+
"\2\0\4\12\1\20\1\12\16\10\1\25\2\10\1\17\2\10\1\37\1\24\1\40\1\52\1\10\1\33"+
"\1\61\1\56\1\71\1\73\1\60\1\30\1\67\1\65\1\72\1\10\1\62\1\63\1\76\1\70\1\66"+
"\1\74\1\10\1\57\1\75\1\64\1\32\1\27\1\77\1\16\1\100\1\10\1\35\1\34\1\36\7"+
"\0\1\1\24\0\1\10\12\0\1\10\4\0\1\10\5\0\27\10\1\0\12\10\4\0\14\10\16\0\5\10"+
"\7\0\1\10\1\0\1\10\1\0\5\10\1\0\2\10\2\0\4\10\1\0\1\10\6\0\1\10\1\0\3\10\1"+
"\0\1\10\1\0\4\10\1\0\23\10\1\0\13\10\10\0\6\10\1\0\26\10\2\0\1\10\6\0\10\10"+
"\10\0\13\10\5\0\3\10\15\0\12\11\4\0\6\10\1\0\1\10\17\0\2\10\7\0\2\10\12\11"+
"\3\10\2\0\2\10\1\0\16\10\15\0\11\10\13\0\1\10\16\0\12\11\6\10\4\0\2\10\4\0"+
"\1\10\5\0\6\10\4\0\1\10\11\0\1\10\3\0\1\10\7\0\11\10\7\0\5\10\17\0\26\10\3"+
"\0\1\10\2\0\1\10\7\0\12\10\4\0\12\11\1\10\4\0\10\10\2\0\2\10\2\0\26\10\1\0"+
"\7\10\1\0\1\10\3\0\4\10\3\0\1\10\20\0\1\10\15\0\2\10\1\0\1\10\5\0\6\10\4\0"+
"\2\10\1\0\2\10\1\0\2\10\1\0\2\10\17\0\4\10\1\0\1\10\7\0\12\11\2\0\3\10\20"+
"\0\11\10\1\0\2\10\1\0\2\10\1\0\5\10\3\0\1\10\2\0\1\10\30\0\1\10\13\0\10\10"+
"\2\0\1\10\3\0\1\10\1\0\6\10\3\0\3\10\1\0\4\10\3\0\2\10\1\0\1\10\1\0\2\10\3"+
"\0\2\10\3\0\3\10\3\0\14\10\13\0\10\10\1\0\2\10\10\0\3\10\5\0\4\10\1\0\5\10"+
"\3\0\1\10\3\0\2\10\15\0\13\10\2\0\1\10\21\0\1\10\12\0\6\10\5\0\22\10\3\0\10"+
"\10\1\0\11\10\1\0\1\10\2\0\7\10\11\0\1\10\1\0\2\10\14\0\12\11\7\0\2\10\1\0"+
"\1\10\2\0\2\10\1\0\1\10\2\0\1\10\6\0\4\10\1\0\7\10\1\0\3\10\1\0\1\10\1\0\1"+
"\10\2\0\2\10\1\0\4\10\1\0\2\10\11\0\1\10\2\0\5\10\1\0\1\10\11\0\12\11\2\0"+
"\14\10\1\0\24\10\13\0\5\10\3\0\6\10\4\0\4\10\3\0\1\10\3\0\2\10\7\0\3\10\4"+
"\0\15\10\14\0\1\10\1\0\6\10\1\0\1\10\5\0\1\10\2\0\13\10\1\0\15\10\1\0\4\10"+
"\2\0\7\10\1\0\1\10\1\0\4\10\2\0\1\10\1\0\4\10\2\0\7\10\1\0\1\10\1\0\4\10\2"+
"\0\16\10\2\0\6\10\2\0\15\10\2\0\1\10\1\0\10\10\7\0\15\10\1\0\6\10\23\0\1\10"+
"\4\0\1\10\3\0\11\10\1\0\1\10\5\0\17\10\1\0\16\10\2\0\14\10\13\0\1\10\15\0"+
"\7\10\7\0\16\10\15\0\2\10\12\11\3\0\3\10\11\0\4\10\1\0\4\10\3\0\2\10\11\0"+
"\10\10\1\0\1\10\1\0\1\10\1\0\1\10\1\0\6\10\1\0\7\10\1\0\1\10\3\0\3\10\1\0"+
"\7\10\3\0\4\10\2\0\6\10\14\0\2\1\7\0\1\10\15\0\1\10\2\0\1\10\4\0\1\10\2\0"+
"\12\10\1\0\1\10\3\0\5\10\6\0\1\10\1\0\1\10\1\0\1\10\1\0\4\10\1\0\13\10\2\0"+
"\4\10\5\0\5\10\4\0\1\10\4\0\2\10\13\0\5\10\6\0\4\10\3\0\2\10\14\0\10\10\7"+
"\0\10\10\1\0\7\10\6\0\2\10\12\0\5\10\5\0\2\10\3\0\7\10\6\0\3\10\12\11\2\10"+
"\13\0\11\10\2\0\27\10\2\0\7\10\1\0\3\10\1\0\4\10\1\0\4\10\2\0\6\10\3\0\1\10"+
"\1\0\1\10\2\0\5\10\1\0\12\10\12\11\5\10\1\0\3\10\1\0\10\10\4\0\7\10\3\0\1"+
"\10\3\0\2\10\1\0\1\10\3\0\2\10\2\0\5\10\2\0\1\10\1\0\1\10\30\0\3\10\3\0\6"+
"\10\2\0\6\10\2\0\6\10\11\0\7\10\4\0\5\10\3\0\5\10\5\0\1\10\1\0\10\10\1\0\5"+
"\10\1\0\1\10\1\0\2\10\1\0\2\10\1\0\12\10\6\0\12\10\2\0\6\10\2\0\6\10\2\0\6"+
"\10\2\0\3\10\3\0\14\10\1\0\16\10\1\0\2\10\1\0\2\10\1\0\10\10\6\0\4\10\4\0"+
"\16\10\2\0\1\10\1\0\14\10\1\0\2\10\3\0\1\10\2\0\4\10\1\0\2\10\12\0\10\10\6"+
"\0\6\10\1\0\3\10\1\0\12\10\3\0\1\10\12\0\4\10\13\0\12\11\1\10\1\0\1\10\3\0"+
"\7\10\1\0\1\10\1\0\4\10\1\0\17\10\1\0\2\10\14\0\3\10\4\0\2\10\1\0\1\10\20"+
"\0\4\10\10\0\1\10\13\0\10\10\5\0\3\10\2\0\1\10\2\0\2\10\2\0\4\10\1\0\14\10"+
"\1\0\1\10\1\0\7\10\1\0\21\10\1\0\4\10\2\0\10\10\1\0\7\10\1\0\14\10\1\0\4\10"+
"\1\0\5\10\1\0\1\10\3\0\14\10\2\0\13\10\1\0\10\10\2\0\22\11\1\0\2\10\1\0\1"+
"\10\2\0\1\10\1\0\12\10\1\0\4\10\1\0\1\10\1\0\1\10\6\0\1\10\4\0\1\10\1\0\1"+
"\10\1\0\1\10\1\0\3\10\1\0\2\10\1\0\1\10\2\0\1\10\1\0\1\10\1\0\1\10\1\0\1\10"+
"\1\0\1\10\1\0\2\10\1\0\1\10\2\0\4\10\1\0\7\10\1\0\4\10\1\0\4\10\1\0\1\10\1"+
"\0\12\10\1\0\5\10\1\0\3\10\1\0\5\10\1\0\5\10");
/**
* Translates DFA states to action switch labels.
*/
private static final int [] ZZ_ACTION = zzUnpackAction();
private static final String ZZ_ACTION_PACKED_0 =
"\2\0\1\1\1\2\2\3\1\4\1\5\1\6\1\1"+
"\2\7\1\10\1\11\1\12\2\6\1\1\1\13\1\14"+
"\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
"\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34"+
"\1\35\13\6\1\36\2\37\1\36\1\40\1\41\1\42"+
"\1\43\2\0\1\44\1\45\1\46\1\0\1\47\1\50"+
"\1\0\1\12\1\0\4\6\1\51\1\0\1\13\1\52"+
"\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62"+
"\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72"+
"\5\6\1\73\3\6\1\74\10\6\1\41\1\44\1\0"+
"\1\75\1\76\1\77\1\100\2\6\1\101\1\51\3\0"+
"\1\102\1\0\1\103\1\104\1\105\20\6\1\106\1\41"+
"\1\0\1\107\1\6\4\0\3\6\1\110\1\111\1\112"+
"\1\113\1\114\13\6\1\0\1\115\1\6\1\116\1\6"+
"\1\117\2\6\1\120\6\6\1\0\1\121\2\6\1\122"+
"\2\6\1\123\1\124\1\125\3\6\1\126\1\127\1\6"+
"\1\130\2\6\1\131\1\6\1\132";
private static int [] zzUnpackAction() {
int [] result = new int[209];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAction(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/**
* Translates a state to a row index in the transition table
*/
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
"\0\0\0\101\0\202\0\303\0\202\0\303\0\u0104\0\u0145"+
"\0\u0186\0\u01c7\0\u0208\0\u0249\0\u028a\0\u02cb\0\u030c\0\u034d"+
"\0\u038e\0\u03cf\0\u0410\0\u0451\0\202\0\202\0\202\0\202"+
"\0\202\0\202\0\u0492\0\202\0\202\0\u04d3\0\u0514\0\u0555"+
"\0\u0596\0\u05d7\0\u0618\0\u0659\0\u069a\0\u06db\0\u071c\0\u075d"+
"\0\u079e\0\u07df\0\u0820\0\u0861\0\u08a2\0\u08e3\0\u0924\0\u0965"+
"\0\202\0\202\0\u09a6\0\u09e7\0\u0a28\0\u0a69\0\202\0\202"+
"\0\u01c7\0\u0aaa\0\u0aeb\0\202\0\u0b2c\0\u0b6d\0\202\0\202"+
"\0\u0bae\0\202\0\u0bef\0\u0c30\0\u0c71\0\u0cb2\0\u0cf3\0\u0d34"+
"\0\u0d75\0\202\0\202\0\202\0\202\0\202\0\202\0\202"+
"\0\202\0\202\0\202\0\u0db6\0\202\0\202\0\202\0\u0df7"+
"\0\202\0\202\0\u0e38\0\u0e79\0\u0eba\0\u0efb\0\u0f3c\0\u0f7d"+
"\0\u0fbe\0\u0fff\0\u1040\0\u1081\0\u0186\0\u10c2\0\u1103\0\u1144"+
"\0\u1185\0\u11c6\0\u1207\0\u1248\0\u1289\0\u12ca\0\u130b\0\u134c"+
"\0\202\0\u0b6d\0\202\0\u0186\0\u138d\0\u13ce\0\u0186\0\202"+
"\0\u140f\0\u1450\0\u1491\0\u0d34\0\u14d2\0\202\0\202\0\202"+
"\0\u1513\0\u1554\0\u1595\0\u15d6\0\u1617\0\u1658\0\u1699\0\u16da"+
"\0\u171b\0\u175c\0\u179d\0\u17de\0\u181f\0\u1860\0\u18a1\0\u18e2"+
"\0\u0186\0\202\0\u12ca\0\u0186\0\u1923\0\u1964\0\u19a5\0\u19e6"+
"\0\u1a27\0\u1a68\0\u1aa9\0\u1aea\0\u0186\0\u0186\0\u0186\0\u0186"+
"\0\u0186\0\u1b2b\0\u1b6c\0\u1bad\0\u1bee\0\u1c2f\0\u1c70\0\u1cb1"+
"\0\u1cf2\0\u1d33\0\u1d74\0\u1db5\0\u1df6\0\u0186\0\u1e37\0\u0186"+
"\0\u1e78\0\u0186\0\u1eb9\0\u1efa\0\u0186\0\u1f3b\0\u1f7c\0\u1fbd"+
"\0\u1ffe\0\u203f\0\u2080\0\u20c1\0\u0186\0\u2102\0\u2143\0\u0186"+
"\0\u2184\0\u21c5\0\u0186\0\u0186\0\u0186\0\u2206\0\u2247\0\u2288"+
"\0\u0186\0\u0186\0\u22c9\0\u0186\0\u230a\0\u234b\0\u0186\0\u238c"+
"\0\u0186";
private static int [] zzUnpackRowMap() {
int [] result = new int[209];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
}
private static int zzUnpackRowMap(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int high = packed.charAt(i++) << 16;
result[j++] = high | packed.charAt(i++);
}
return j;
}
/**
* The transition table of the DFA
*/
private static final int [] ZZ_TRANS = zzUnpackTrans();
private static final String ZZ_TRANS_PACKED_0 =
"\1\3\3\4\1\5\1\6\1\7\1\10\1\11\1\12"+
"\1\11\2\13\1\14\3\11\1\15\1\16\1\17\1\3"+
"\1\11\1\13\1\20\1\21\1\22\1\11\1\23\1\24"+
"\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34"+
"\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44"+
"\1\45\1\46\1\47\1\50\3\11\1\51\2\11\1\52"+
"\1\11\1\53\1\54\1\55\1\56\1\57\1\60\2\11"+
"\1\61\2\62\1\63\2\5\1\64\72\61\102\0\3\4"+
"\1\0\1\4\101\0\1\65\1\66\36\0\1\67\100\0"+
"\1\70\42\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\23\11\11\0\1\71\1\0\3\71\2\0\1\72\1\0"+
"\1\73\3\0\1\71\31\0\1\72\11\0\1\74\17\0"+
"\1\71\1\0\3\13\2\0\1\72\1\0\1\73\3\0"+
"\1\13\31\0\1\72\11\0\1\74\17\0\1\71\1\0"+
"\1\71\2\75\2\76\1\72\1\0\1\73\3\0\1\71"+
"\31\0\1\72\11\0\1\74\27\0\1\77\24\0\1\100"+
"\43\0\1\73\1\0\3\73\4\0\1\101\3\0\1\73"+
"\52\0\2\17\2\0\17\17\1\102\1\103\54\17\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\3\11\1\104"+
"\17\11\10\0\11\11\4\0\4\11\1\0\1\105\23\0"+
"\3\11\1\106\4\11\1\107\12\11\24\110\1\111\54\110"+
"\33\23\1\112\45\23\34\0\1\113\11\0\1\114\100\0"+
"\1\115\100\0\1\116\100\0\1\117\100\0\1\120\1\0"+
"\1\121\76\0\1\122\2\0\1\123\1\124\74\0\1\125"+
"\53\0\1\126\24\0\1\127\4\0\1\130\73\0\1\131"+
"\100\0\1\132\6\0\1\133\33\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\1\11\1\134\21\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\2\11\1\135\1\136"+
"\17\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\5\11\1\137\15\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\22\11\1\140\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\10\11\1\141\12\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\3\11\1\142\3\11"+
"\1\143\1\144\12\11\10\0\11\11\4\0\3\11\1\145"+
"\1\0\1\11\23\0\12\11\1\146\5\11\1\147\2\11"+
"\10\0\11\11\4\0\4\11\1\0\1\11\23\0\2\11"+
"\1\150\20\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\3\11\1\151\17\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\2\11\1\152\3\11\1\153\12\11"+
"\1\154\1\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\3\11\1\155\17\11\2\0\1\62\104\0\1\65"+
"\1\66\71\0\2\65\2\0\75\65\7\66\1\156\71\66"+
"\11\0\1\157\1\0\3\157\3\0\1\160\4\0\1\157"+
"\21\0\1\160\41\0\1\73\1\0\3\73\2\0\1\72"+
"\5\0\1\73\31\0\1\72\11\0\1\161\17\0\1\71"+
"\1\0\1\71\2\75\2\0\1\72\1\0\1\73\3\0"+
"\1\71\31\0\1\72\11\0\1\74\20\0\4\162\2\0"+
"\1\162\5\0\1\162\1\0\1\162\25\0\1\162\1\0"+
"\2\162\7\0\1\162\1\0\1\162\27\0\1\163\72\0"+
"\3\17\4\0\6\17\1\0\1\17\23\0\2\17\1\0"+
"\1\17\2\0\1\17\3\0\1\17\20\0\11\11\4\0"+
"\4\11\1\0\1\11\23\0\1\11\1\164\21\11\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\12\11\1\165"+
"\10\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\5\11\1\166\15\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\1\11\1\167\21\11\31\0\1\170\63\0"+
"\2\171\1\172\5\0\1\110\1\173\1\0\2\110\1\174"+
"\1\175\23\0\2\110\1\0\1\110\2\0\1\110\3\0"+
"\1\110\56\0\1\176\100\0\1\177\100\0\1\200\42\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\2\11\1\201"+
"\20\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\6\11\1\202\14\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\12\11\1\203\10\11\10\0\11\11\4\0"+
"\4\11\1\0\1\11\23\0\17\11\1\204\3\11\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\16\11\1\205"+
"\4\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\6\11\1\206\14\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\17\11\1\207\3\11\10\0\11\11\4\0"+
"\4\11\1\0\1\11\23\0\3\11\1\210\17\11\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\12\11\1\211"+
"\10\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\6\11\1\212\14\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\16\11\1\213\4\11\10\0\11\11\4\0"+
"\3\11\1\214\1\0\1\11\23\0\23\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\13\11\1\215\7\11"+
"\10\0\11\11\4\0\4\11\1\0\1\11\23\0\5\11"+
"\1\216\15\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\1\11\1\217\21\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\14\11\1\220\6\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\16\11\1\221\4\11"+
"\6\66\1\222\1\223\71\66\11\0\1\157\1\0\3\157"+
"\10\0\1\157\43\0\1\161\17\0\1\157\1\0\3\157"+
"\10\0\1\157\62\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\13\11\1\224\7\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\5\11\1\225\15\11\14\0\2\226"+
"\75\0\4\227\2\0\1\227\5\0\1\227\1\0\1\227"+
"\25\0\1\227\1\0\2\227\7\0\1\227\1\0\1\227"+
"\17\0\4\230\2\0\1\230\5\0\1\230\1\0\1\230"+
"\25\0\1\230\1\0\2\230\7\0\1\230\1\0\1\230"+
"\17\0\4\231\2\0\1\231\5\0\1\231\1\0\1\231"+
"\25\0\1\231\1\0\2\231\7\0\1\231\1\0\1\231"+
"\15\0\11\11\4\0\4\11\1\0\1\11\23\0\3\11"+
"\1\232\17\11\10\0\11\11\4\0\4\11\1\0\1\233"+
"\23\0\23\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\11\11\1\234\11\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\2\11\1\235\20\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\2\11\1\236\20\11"+
"\10\0\11\11\4\0\4\11\1\0\1\11\23\0\10\11"+
"\1\237\12\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\2\11\1\240\20\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\12\11\1\241\10\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\6\11\1\242\10\11"+
"\1\243\3\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\2\11\1\244\20\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\10\11\1\245\12\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\2\11\1\246\1\247"+
"\17\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\4\11\1\250\16\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\2\11\1\251\20\11\10\0\11\11\4\0"+
"\4\11\1\0\1\252\23\0\23\11\10\0\11\11\4\0"+
"\4\11\1\0\1\11\23\0\6\11\1\253\14\11\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\6\11\1\254"+
"\14\11\14\0\2\110\75\0\4\110\2\0\1\110\5\0"+
"\1\110\1\0\1\110\25\0\1\110\1\0\2\110\7\0"+
"\1\110\1\0\1\110\17\0\4\255\2\0\1\255\5\0"+
"\1\255\1\0\1\255\25\0\1\255\1\0\2\255\7\0"+
"\1\255\1\0\1\255\17\0\4\172\2\0\1\172\5\0"+
"\1\172\1\0\1\172\25\0\1\172\1\0\2\172\7\0"+
"\1\172\1\0\1\172\15\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\4\11\1\256\16\11\10\0\11\11\4\0"+
"\4\11\1\0\1\11\23\0\1\11\1\257\21\11\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\2\11\1\260"+
"\20\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\14\11\1\261\6\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\6\11\1\262\14\11\10\0\11\11\4\0"+
"\4\11\1\0\1\11\23\0\1\11\1\263\21\11\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\1\11\1\264"+
"\21\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\1\11\1\265\21\11\10\0\11\11\4\0\4\11\1\0"+
"\1\266\23\0\23\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\3\11\1\267\17\11\10\0\11\11\4\0"+
"\4\11\1\0\1\11\23\0\13\11\1\270\7\11\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\13\11\1\271"+
"\7\11\10\0\11\11\4\0\4\11\1\0\1\11\23\0"+
"\13\11\1\272\7\11\10\0\11\11\4\0\4\11\1\0"+
"\1\11\23\0\7\11\1\273\13\11\12\0\4\274\2\0"+
"\1\274\5\0\1\274\1\0\1\274\25\0\1\274\1\0"+
"\2\274\7\0\1\274\1\0\1\274\15\0\11\11\4\0"+
"\4\11\1\0\1\11\23\0\12\11\1\275\10\11\10\0"+
"\11\11\4\0\4\11\1\0\1\11\23\0\12\11\1\276"+
"\10\11\10\0\11\11\4\0\3\11\1\277\1\0\1\11"+
"\23\0\23\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\6\11\1\300\14\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\5\11\1\301\15\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\11\11\1\302\11\11"+
"\10\0\11\11\4\0\4\11\1\0\1\11\23\0\6\11"+
"\1\303\14\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\6\11\1\304\14\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\7\11\1\305\13\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\1\11\1\306\21\11"+
"\12\0\4\175\2\0\1\175\5\0\1\175\1\0\1\175"+
"\25\0\1\175\1\0\2\175\7\0\1\175\1\0\1\175"+
"\15\0\11\11\4\0\4\11\1\0\1\307\23\0\23\11"+
"\10\0\11\11\4\0\4\11\1\0\1\11\23\0\3\11"+
"\1\310\17\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\6\11\1\311\14\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\2\11\1\312\20\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\10\11\1\313\12\11"+
"\10\0\11\11\4\0\4\11\1\0\1\11\23\0\2\11"+
"\1\314\20\11\10\0\11\11\4\0\4\11\1\0\1\11"+
"\23\0\13\11\1\315\7\11\10\0\11\11\4\0\4\11"+
"\1\0\1\316\23\0\23\11\10\0\11\11\4\0\4\11"+
"\1\0\1\11\23\0\2\11\1\317\20\11\10\0\11\11"+
"\4\0\4\11\1\0\1\11\23\0\11\11\1\320\11\11"+
"\10\0\11\11\4\0\4\11\1\0\1\11\23\0\7\11"+
"\1\321\13\11";
private static int [] zzUnpackTrans() {
int [] result = new int[9165];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
}
private static int zzUnpackTrans(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
do result[j++] = value; while (--count > 0);
}
return j;
}
/* error codes */
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
/* error messages for the codes above */
private static final String[] ZZ_ERROR_MSG = {
"Unknown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
/**
* ZZ_ATTRIBUTE[aState] contains the attributes of state aState
*/
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\2\0\1\11\1\1\1\11\17\1\6\11\1\1\2\11"+
"\23\1\2\11\4\1\2\11\2\0\1\1\1\11\1\1"+
"\1\0\2\11\1\0\1\11\1\0\5\1\1\0\12\11"+
"\1\1\3\11\1\1\2\11\25\1\1\0\1\11\1\1"+
"\1\11\4\1\1\11\3\0\1\1\1\0\3\11\21\1"+
"\1\11\1\0\2\1\4\0\23\1\1\0\16\1\1\0"+
"\25\1";
private static int [] zzUnpackAttribute() {
int [] result = new int[209];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAttribute(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/** the input device */
private java.io.Reader zzReader;
/** the current state of the DFA */
private int zzState;
/** the current lexical state */
private int zzLexicalState = YYINITIAL;
/** this buffer contains the current text to be matched and is
the source of the yytext() string */
private CharSequence zzBuffer = "";
/** the textposition at the last accepting state */
private int zzMarkedPos;
/** the current text position in the buffer */
private int zzCurrentPos;
/** startRead marks the beginning of the yytext() string in the buffer */
private int zzStartRead;
/** endRead marks the last character in the buffer, that has been read
from input */
private int zzEndRead;
/**
* zzAtBOL == true <=> the scanner is currently at the beginning of a line
*/
private boolean zzAtBOL = true;
/** zzAtEOF == true <=> the scanner is at the EOF */
private boolean zzAtEOF;
/** denotes if the user-EOF-code has already been executed */
private boolean zzEOFDone;
/* user code: */
public _GoLexer() {
this((java.io.Reader)null);
}
/**
* Creates a new scanner
*
* @param in the java.io.Reader to read input from.
*/
public _GoLexer(java.io.Reader in) {
this.zzReader = in;
}
/**
* Unpacks the compressed character translation table.
*
* @param packed the packed character translation table
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
int size = 0;
for (int i = 0, length = packed.length(); i < length; i += 2) {
size += packed.charAt(i);
}
char[] map = new char[size];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
while (i < packed.length()) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
}
return map;
}
public final int getTokenStart() {
return zzStartRead;
}
public final int getTokenEnd() {
return getTokenStart() + yylength();
}
public void reset(CharSequence buffer, int start, int end, int initialState) {
zzBuffer = buffer;
zzCurrentPos = zzMarkedPos = zzStartRead = start;
zzAtEOF = false;
zzAtBOL = true;
zzEndRead = end;
yybegin(initialState);
}
/**
* Refills the input buffer.
*
* @return false, iff there was new input.
*
* @exception java.io.IOException if any I/O-Error occurs
*/
private boolean zzRefill() throws java.io.IOException {
return true;
}
/**
* Returns the current lexical state.
*/
public final int yystate() {
return zzLexicalState;
}
/**
* Enters a new lexical state
*
* @param newState the new lexical state
*/
public final void yybegin(int newState) {
zzLexicalState = newState;
}
/**
* Returns the text matched by the current regular expression.
*/
public final CharSequence yytext() {
return zzBuffer.subSequence(zzStartRead, zzMarkedPos);
}
/**
* Returns the character at position pos from the
* matched text.
*
* It is equivalent to yytext().charAt(pos), but faster
*
* @param pos the position of the character to fetch.
* A value from 0 to yylength()-1.
*
* @return the character at position pos
*/
public final char yycharat(int pos) {
return zzBuffer.charAt(zzStartRead+pos);
}
/**
* Returns the length of the matched text region.
*/
public final int yylength() {
return zzMarkedPos-zzStartRead;
}
/**
* Reports an error that occured while scanning.
*
* In a wellformed scanner (no or only correct usage of
* yypushback(int) and a match-all fallback rule) this method
* will only be called with things that "Can't Possibly Happen".
* If this method is called, something is seriously wrong
* (e.g. a JFlex bug producing a faulty scanner etc.).
*
* Usual syntax/scanner level error handling should be done
* in error fallback rules.
*
* @param errorCode the code of the errormessage to display
*/
private void zzScanError(int errorCode) {
String message;
try {
message = ZZ_ERROR_MSG[errorCode];
}
catch (ArrayIndexOutOfBoundsException e) {
message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
}
throw new Error(message);
}
/**
* Pushes the specified amount of characters back into the input stream.
*
* They will be read again by then next call of the scanning method
*
* @param number the number of characters to be read again.
* This number must not be greater than yylength()!
*/
public void yypushback(int number) {
if ( number > yylength() )
zzScanError(ZZ_PUSHBACK_2BIG);
zzMarkedPos -= number;
}
/**
* Resumes scanning until the next regular expression is matched,
* the end of input is encountered or an I/O-Error occurs.
*
* @return the next token
* @exception java.io.IOException if any I/O-Error occurs
*/
public IElementType advance() throws java.io.IOException {
int zzInput;
int zzAction;
// cached fields:
int zzCurrentPosL;
int zzMarkedPosL;
int zzEndReadL = zzEndRead;
CharSequence zzBufferL = zzBuffer;
int [] zzTransL = ZZ_TRANS;
int [] zzRowMapL = ZZ_ROWMAP;
int [] zzAttrL = ZZ_ATTRIBUTE;
while (true) {
zzMarkedPosL = zzMarkedPos;
zzAction = -1;
zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
zzState = ZZ_LEXSTATE[zzLexicalState];
// set up zzAction for empty match case:
int zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
}
zzForAction: {
while (true) {
if (zzCurrentPosL < zzEndReadL) {
zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
zzCurrentPosL += Character.charCount(zzInput);
}
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
}
else {
// store back cached positions
zzCurrentPos = zzCurrentPosL;
zzMarkedPos = zzMarkedPosL;
boolean eof = zzRefill();
// get translated positions and possibly new buffer
zzCurrentPosL = zzCurrentPos;
zzMarkedPosL = zzMarkedPos;
zzBufferL = zzBuffer;
zzEndReadL = zzEndRead;
if (eof) {
zzInput = YYEOF;
break zzForAction;
}
else {
zzInput = Character.codePointAt(zzBufferL, zzCurrentPosL/*, zzEndReadL*/);
zzCurrentPosL += Character.charCount(zzInput);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + ZZ_CMAP(zzInput) ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
if ( (zzAttributes & 8) == 8 ) break zzForAction;
}
}
}
// store back cached position
zzMarkedPos = zzMarkedPosL;
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true;
return null;
}
else {
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
case 1:
{ return BAD_CHARACTER;
}
case 91: break;
case 2:
{ return NLS;
}
case 92: break;
case 3:
{ return WS;
}
case 93: break;
case 4:
{ return QUOTIENT;
}
case 94: break;
case 5:
{ return MUL;
}
case 95: break;
case 6:
{ yybegin(MAYBE_SEMICOLON); return IDENTIFIER;
}
case 96: break;
case 7:
{ yybegin(MAYBE_SEMICOLON); return INT;
}
case 97: break;
case 8:
{ return MINUS;
}
case 98: break;
case 9:
{ return DOT;
}
case 99: break;
case 10:
{ yybegin(MAYBE_SEMICOLON); return STRING;
}
case 100: break;
case 11:
{ yybegin(MAYBE_SEMICOLON); return RAW_STRING;
}
case 101: break;
case 12:
{ return BIT_OR;
}
case 102: break;
case 13:
{ return LBRACE;
}
case 103: break;
case 14:
{ yybegin(MAYBE_SEMICOLON); return RBRACE;
}
case 104: break;
case 15:
{ return LBRACK;
}
case 105: break;
case 16:
{ yybegin(MAYBE_SEMICOLON); return RBRACK;
}
case 106: break;
case 17:
{ return LPAREN;
}
case 107: break;
case 18:
{ yybegin(MAYBE_SEMICOLON); return RPAREN;
}
case 108: break;
case 19:
{ return COLON;
}
case 109: break;
case 20:
{ return SEMICOLON;
}
case 110: break;
case 21:
{ return COMMA;
}
case 111: break;
case 22:
{ return ASSIGN;
}
case 112: break;
case 23:
{ return NOT;
}
case 113: break;
case 24:
{ return PLUS;
}
case 114: break;
case 25:
{ return BIT_AND;
}
case 115: break;
case 26:
{ return BIT_XOR;
}
case 116: break;
case 27:
{ return LESS;
}
case 117: break;
case 28:
{ return REMAINDER;
}
case 118: break;
case 29:
{ return GREATER;
}
case 119: break;
case 30:
{ yybegin(YYINITIAL); yypushback(yytext().length());
}
case 120: break;
case 31:
{ yybegin(YYINITIAL); yypushback(yytext().length()); return SEMICOLON_SYNTHETIC;
}
case 121: break;
case 32:
{ return LINE_COMMENT;
}
case 122: break;
case 33:
{ return MULTILINE_COMMENT;
}
case 123: break;
case 34:
{ return QUOTIENT_ASSIGN;
}
case 124: break;
case 35:
{ return MUL_ASSIGN;
}
case 125: break;
case 36:
{ yybegin(MAYBE_SEMICOLON); return FLOAT;
}
case 126: break;
case 37:
{ yybegin(MAYBE_SEMICOLON); return DECIMALI;
}
case 127: break;
case 38:
{ yybegin(MAYBE_SEMICOLON); return OCT;
}
case 128: break;
case 39:
{ yybegin(MAYBE_SEMICOLON); return MINUS_MINUS;
}
case 129: break;
case 40:
{ return MINUS_ASSIGN;
}
case 130: break;
case 41:
{ yybegin(MAYBE_SEMICOLON); return CHAR;
}
case 131: break;
case 42:
{ return COND_OR;
}
case 132: break;
case 43:
{ return BIT_OR_ASSIGN;
}
case 133: break;
case 44:
{ return VAR_ASSIGN;
}
case 134: break;
case 45:
{ return EQ;
}
case 135: break;
case 46:
{ return NOT_EQ;
}
case 136: break;
case 47:
{ return PLUS_ASSIGN;
}
case 137: break;
case 48:
{ yybegin(MAYBE_SEMICOLON); return PLUS_PLUS;
}
case 138: break;
case 49:
{ return BIT_AND_ASSIGN;
}
case 139: break;
case 50:
{ return COND_AND;
}
case 140: break;
case 51:
{ return BIT_CLEAR;
}
case 141: break;
case 52:
{ return BIT_XOR_ASSIGN;
}
case 142: break;
case 53:
{ return SEND_CHANNEL;
}
case 143: break;
case 54:
{ return LESS_OR_EQUAL;
}
case 144: break;
case 55:
{ return SHIFT_LEFT;
}
case 145: break;
case 56:
{ return REMAINDER_ASSIGN;
}
case 146: break;
case 57:
{ return GREATER_OR_EQUAL;
}
case 147: break;
case 58:
{ return SHIFT_RIGHT;
}
case 148: break;
case 59:
{ return GO;
}
case 149: break;
case 60:
{ return IF ;
}
case 150: break;
case 61:
{ yybegin(MAYBE_SEMICOLON); return FLOATI;
}
case 151: break;
case 62:
{ yybegin(MAYBE_SEMICOLON); return HEX;
}
case 152: break;
case 63:
{ return TRIPLE_DOT;
}
case 153: break;
case 64:
{ return VAR;
}
case 154: break;
case 65:
{ return FOR ;
}
case 155: break;
case 66:
{ yybegin(MAYBE_SEMICOLON); return BAD_CHARACTER;
}
case 156: break;
case 67:
{ return BIT_CLEAR_ASSIGN;
}
case 157: break;
case 68:
{ return SHIFT_LEFT_ASSIGN;
}
case 158: break;
case 69:
{ return SHIFT_RIGHT_ASSIGN;
}
case 159: break;
case 70:
{ return MAP;
}
case 160: break;
case 71:
{ return FUNC;
}
case 161: break;
case 72:
{ return ELSE;
}
case 162: break;
case 73:
{ return TYPE_;
}
case 163: break;
case 74:
{ return GOTO;
}
case 164: break;
case 75:
{ return CASE;
}
case 165: break;
case 76:
{ return CHAN;
}
case 166: break;
case 77:
{ yybegin(MAYBE_SEMICOLON); return BREAK;
}
case 167: break;
case 78:
{ return RANGE;
}
case 168: break;
case 79:
{ return CONST;
}
case 169: break;
case 80:
{ return DEFER;
}
case 170: break;
case 81:
{ yybegin(MAYBE_SEMICOLON); return RETURN ;
}
case 171: break;
case 82:
{ return IMPORT ;
}
case 172: break;
case 83:
{ return SELECT;
}
case 173: break;
case 84:
{ return STRUCT;
}
case 174: break;
case 85:
{ return SWITCH;
}
case 175: break;
case 86:
{ return DEFAULT;
}
case 176: break;
case 87:
{ return PACKAGE;
}
case 177: break;
case 88:
{ yybegin(MAYBE_SEMICOLON); return CONTINUE ;
}
case 178: break;
case 89:
{ return INTERFACE;
}
case 179: break;
case 90:
{ yybegin(MAYBE_SEMICOLON); return FALLTHROUGH;
}
case 180: break;
default:
zzScanError(ZZ_NO_MATCH);
}
}
}
}
}
================================================
FILE: gen/com/goide/parser/GoParser.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.parser;
import com.intellij.lang.PsiBuilder;
import com.intellij.lang.PsiBuilder.Marker;
import static com.goide.GoTypes.*;
import static com.goide.parser.GoParserUtil.*;
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;
@SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"})
public class GoParser implements PsiParser, LightPsiParser {
public ASTNode parse(IElementType t, PsiBuilder b) {
parseLight(t, b);
return b.getTreeBuilt();
}
public void parseLight(IElementType t, PsiBuilder b) {
boolean r;
b = adapt_builder_(t, b, this, EXTENDS_SETS_);
Marker m = enter_section_(b, 0, _COLLAPSE_, null);
if (t == ANONYMOUS_FIELD_DEFINITION) {
r = AnonymousFieldDefinition(b, 0);
}
else if (t == ARGUMENT_LIST) {
r = ArgumentList(b, 0);
}
else if (t == ARRAY_OR_SLICE_TYPE) {
r = ArrayOrSliceType(b, 0);
}
else if (t == ASSIGNMENT_STATEMENT) {
r = AssignmentStatement(b, 0);
}
else if (t == BLOCK) {
r = Block(b, 0);
}
else if (t == BREAK_STATEMENT) {
r = BreakStatement(b, 0);
}
else if (t == BUILTIN_ARGUMENT_LIST) {
r = BuiltinArgumentList(b, 0);
}
else if (t == CHANNEL_TYPE) {
r = ChannelType(b, 0);
}
else if (t == COMM_CASE) {
r = CommCase(b, 0);
}
else if (t == COMM_CLAUSE) {
r = CommClause(b, 0);
}
else if (t == CONST_DECLARATION) {
r = ConstDeclaration(b, 0);
}
else if (t == CONST_DEFINITION) {
r = ConstDefinition(b, 0);
}
else if (t == CONST_SPEC) {
r = ConstSpec(b, 0);
}
else if (t == CONTINUE_STATEMENT) {
r = ContinueStatement(b, 0);
}
else if (t == DEFER_STATEMENT) {
r = DeferStatement(b, 0);
}
else if (t == ELEMENT) {
r = Element(b, 0);
}
else if (t == ELSE_STATEMENT) {
r = ElseStatement(b, 0);
}
else if (t == EXPR_CASE_CLAUSE) {
r = ExprCaseClause(b, 0);
}
else if (t == EXPR_SWITCH_STATEMENT) {
r = ExprSwitchStatement(b, 0);
}
else if (t == EXPRESSION) {
r = Expression(b, 0, -1);
}
else if (t == FALLTHROUGH_STATEMENT) {
r = FallthroughStatement(b, 0);
}
else if (t == FIELD_DECLARATION) {
r = FieldDeclaration(b, 0);
}
else if (t == FIELD_DEFINITION) {
r = FieldDefinition(b, 0);
}
else if (t == FIELD_NAME) {
r = FieldName(b, 0);
}
else if (t == FOR_CLAUSE) {
r = ForClause(b, 0);
}
else if (t == FOR_STATEMENT) {
r = ForStatement(b, 0);
}
else if (t == FUNCTION_DECLARATION) {
r = FunctionDeclaration(b, 0);
}
else if (t == FUNCTION_TYPE) {
r = FunctionType(b, 0);
}
else if (t == GO_STATEMENT) {
r = GoStatement(b, 0);
}
else if (t == GOTO_STATEMENT) {
r = GotoStatement(b, 0);
}
else if (t == IF_STATEMENT) {
r = IfStatement(b, 0);
}
else if (t == IMPORT_DECLARATION) {
r = ImportDeclaration(b, 0);
}
else if (t == IMPORT_LIST) {
r = ImportList(b, 0);
}
else if (t == IMPORT_SPEC) {
r = ImportSpec(b, 0);
}
else if (t == IMPORT_STRING) {
r = ImportString(b, 0);
}
else if (t == INC_DEC_STATEMENT) {
r = IncDecStatement(b, 0);
}
else if (t == INTERFACE_TYPE) {
r = InterfaceType(b, 0);
}
else if (t == KEY) {
r = Key(b, 0);
}
else if (t == LABEL_DEFINITION) {
r = LabelDefinition(b, 0);
}
else if (t == LABEL_REF) {
r = LabelRef(b, 0);
}
else if (t == LABELED_STATEMENT) {
r = LabeledStatement(b, 0);
}
else if (t == LEFT_HAND_EXPR_LIST) {
r = LeftHandExprList(b, 0);
}
else if (t == LITERAL_TYPE_EXPR) {
r = LiteralTypeExpr(b, 0);
}
else if (t == LITERAL_VALUE) {
r = LiteralValue(b, 0);
}
else if (t == MAP_TYPE) {
r = MapType(b, 0);
}
else if (t == METHOD_DECLARATION) {
r = MethodDeclaration(b, 0);
}
else if (t == METHOD_SPEC) {
r = MethodSpec(b, 0);
}
else if (t == PACKAGE_CLAUSE) {
r = PackageClause(b, 0);
}
else if (t == PAR_TYPE) {
r = ParType(b, 0);
}
else if (t == PARAM_DEFINITION) {
r = ParamDefinition(b, 0);
}
else if (t == PARAMETER_DECLARATION) {
r = ParameterDeclaration(b, 0);
}
else if (t == PARAMETERS) {
r = Parameters(b, 0);
}
else if (t == POINTER_TYPE) {
r = PointerType(b, 0);
}
else if (t == RANGE_CLAUSE) {
r = RangeClause(b, 0);
}
else if (t == RECEIVER) {
r = Receiver(b, 0);
}
else if (t == RECV_STATEMENT) {
r = RecvStatement(b, 0);
}
else if (t == REFERENCE_EXPRESSION) {
r = ReferenceExpression(b, 0);
}
else if (t == RESULT) {
r = Result(b, 0);
}
else if (t == RETURN_STATEMENT) {
r = ReturnStatement(b, 0);
}
else if (t == SELECT_STATEMENT) {
r = SelectStatement(b, 0);
}
else if (t == SEND_STATEMENT) {
r = SendStatement(b, 0);
}
else if (t == SHORT_VAR_DECLARATION) {
r = ShortVarDeclaration(b, 0);
}
else if (t == SIGNATURE) {
r = Signature(b, 0);
}
else if (t == SIMPLE_STATEMENT) {
r = SimpleStatement(b, 0);
}
else if (t == SPEC_TYPE) {
r = SpecType(b, 0);
}
else if (t == STATEMENT) {
r = Statement(b, 0);
}
else if (t == STRING_LITERAL) {
r = StringLiteral(b, 0);
}
else if (t == STRUCT_TYPE) {
r = StructType(b, 0);
}
else if (t == SWITCH_START) {
r = SwitchStart(b, 0);
}
else if (t == SWITCH_STATEMENT) {
r = SwitchStatement(b, 0);
}
else if (t == TAG) {
r = Tag(b, 0);
}
else if (t == TYPE) {
r = Type(b, 0);
}
else if (t == TYPE_CASE_CLAUSE) {
r = TypeCaseClause(b, 0);
}
else if (t == TYPE_DECLARATION) {
r = TypeDeclaration(b, 0);
}
else if (t == TYPE_GUARD) {
r = TypeGuard(b, 0);
}
else if (t == TYPE_LIST) {
r = TypeList(b, 0);
}
else if (t == TYPE_REFERENCE_EXPRESSION) {
r = TypeReferenceExpression(b, 0);
}
else if (t == TYPE_SPEC) {
r = TypeSpec(b, 0);
}
else if (t == TYPE_SWITCH_GUARD) {
r = TypeSwitchGuard(b, 0);
}
else if (t == TYPE_SWITCH_STATEMENT) {
r = TypeSwitchStatement(b, 0);
}
else if (t == VALUE) {
r = Value(b, 0);
}
else if (t == VAR_DECLARATION) {
r = VarDeclaration(b, 0);
}
else if (t == VAR_DEFINITION) {
r = VarDefinition(b, 0);
}
else if (t == VAR_SPEC) {
r = VarSpec(b, 0);
}
else if (t == ASSIGN_OP) {
r = assign_op(b, 0);
}
else {
r = parse_root_(t, b, 0);
}
exit_section_(b, 0, m, t, r, true, TRUE_CONDITION);
}
protected boolean parse_root_(IElementType t, PsiBuilder b, int l) {
return File(b, l + 1);
}
public static final TokenSet[] EXTENDS_SETS_ = new TokenSet[] {
create_token_set_(ARGUMENT_LIST, BUILTIN_ARGUMENT_LIST),
create_token_set_(RANGE_CLAUSE, RECV_STATEMENT, SHORT_VAR_DECLARATION, VAR_SPEC),
create_token_set_(ARRAY_OR_SLICE_TYPE, CHANNEL_TYPE, FUNCTION_TYPE, INTERFACE_TYPE,
MAP_TYPE, PAR_TYPE, POINTER_TYPE, STRUCT_TYPE,
TYPE, TYPE_LIST),
create_token_set_(ASSIGNMENT_STATEMENT, BREAK_STATEMENT, CONTINUE_STATEMENT, DEFER_STATEMENT,
ELSE_STATEMENT, EXPR_SWITCH_STATEMENT, FALLTHROUGH_STATEMENT, FOR_STATEMENT,
GOTO_STATEMENT, GO_STATEMENT, IF_STATEMENT, INC_DEC_STATEMENT,
LABELED_STATEMENT, RETURN_STATEMENT, SELECT_STATEMENT, SEND_STATEMENT,
SIMPLE_STATEMENT, STATEMENT, SWITCH_STATEMENT, TYPE_SWITCH_STATEMENT),
create_token_set_(ADD_EXPR, AND_EXPR, BUILTIN_CALL_EXPR, CALL_EXPR,
COMPOSITE_LIT, CONDITIONAL_EXPR, CONVERSION_EXPR, EXPRESSION,
FUNCTION_LIT, INDEX_OR_SLICE_EXPR, LITERAL, LITERAL_TYPE_EXPR,
MUL_EXPR, OR_EXPR, PARENTHESES_EXPR, REFERENCE_EXPRESSION,
SELECTOR_EXPR, STRING_LITERAL, TYPE_ASSERTION_EXPR, UNARY_EXPR),
};
/* ********************************************************** */
// '+' | '-' | '|' | '^'
static boolean AddOp(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "AddOp")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, PLUS);
if (!r) r = consumeToken(b, MINUS);
if (!r) r = consumeToken(b, BIT_OR);
if (!r) r = consumeToken(b, BIT_XOR);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// Type
public static boolean AnonymousFieldDefinition(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "AnonymousFieldDefinition")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, ANONYMOUS_FIELD_DEFINITION, "");
r = Type(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// '(' [ ExpressionArgList '...'? ','? ] ')'
public static boolean ArgumentList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ArgumentList")) return false;
if (!nextTokenIs(b, LPAREN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, ARGUMENT_LIST, null);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, ArgumentList_1(b, l + 1));
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// [ ExpressionArgList '...'? ','? ]
private static boolean ArgumentList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ArgumentList_1")) return false;
ArgumentList_1_0(b, l + 1);
return true;
}
// ExpressionArgList '...'? ','?
private static boolean ArgumentList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ArgumentList_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = ExpressionArgList(b, l + 1);
r = r && ArgumentList_1_0_1(b, l + 1);
r = r && ArgumentList_1_0_2(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '...'?
private static boolean ArgumentList_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ArgumentList_1_0_1")) return false;
consumeToken(b, TRIPLE_DOT);
return true;
}
// ','?
private static boolean ArgumentList_1_0_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ArgumentList_1_0_2")) return false;
consumeToken(b, COMMA);
return true;
}
/* ********************************************************** */
// '[' ('...'|Expression?) ']' Type
public static boolean ArrayOrSliceType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ArrayOrSliceType")) return false;
if (!nextTokenIs(b, LBRACK)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, ARRAY_OR_SLICE_TYPE, null);
r = consumeToken(b, LBRACK);
p = r; // pin = 1
r = r && report_error_(b, ArrayOrSliceType_1(b, l + 1));
r = p && report_error_(b, consumeToken(b, RBRACK)) && r;
r = p && Type(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// '...'|Expression?
private static boolean ArrayOrSliceType_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ArrayOrSliceType_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, TRIPLE_DOT);
if (!r) r = ArrayOrSliceType_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// Expression?
private static boolean ArrayOrSliceType_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ArrayOrSliceType_1_1")) return false;
Expression(b, l + 1, -1);
return true;
}
/* ********************************************************** */
// assign_op ExpressionList
public static boolean AssignmentStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "AssignmentStatement")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _LEFT_, ASSIGNMENT_STATEMENT, "");
r = assign_op(b, l + 1);
p = r; // pin = 1
r = r && ExpressionList(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// BlockInner
public static boolean Block(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Block")) return false;
if (!nextTokenIs(b, LBRACE)) return false;
boolean r;
Marker m = enter_section_(b);
r = BlockInner(b, l + 1);
exit_section_(b, m, BLOCK, r);
return r;
}
/* ********************************************************** */
// '{' ('}' | (<> | (!() Statements)) '}')
static boolean BlockInner(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BlockInner")) return false;
if (!nextTokenIs(b, LBRACE)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, LBRACE);
p = r; // pin = 1
r = r && BlockInner_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// '}' | (<> | (!() Statements)) '}'
private static boolean BlockInner_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BlockInner_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, RBRACE);
if (!r) r = BlockInner_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// (<> | (!() Statements)) '}'
private static boolean BlockInner_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BlockInner_1_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = BlockInner_1_1_0(b, l + 1);
p = r; // pin = 1
r = r && consumeToken(b, RBRACE);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// <> | (!() Statements)
private static boolean BlockInner_1_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BlockInner_1_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = withOff(b, l + 1, Statements_parser_, "BLOCK?", "PAR");
if (!r) r = BlockInner_1_1_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// !() Statements
private static boolean BlockInner_1_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BlockInner_1_1_0_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = BlockInner_1_1_0_1_0(b, l + 1);
p = r; // pin = 1
r = r && Statements(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// !()
private static boolean BlockInner_1_1_0_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BlockInner_1_1_0_1_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !BlockInner_1_1_0_1_0_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ()
private static boolean BlockInner_1_1_0_1_0_0(PsiBuilder b, int l) {
return true;
}
/* ********************************************************** */
// <> | BlockInner
public static boolean BlockWithConsume(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BlockWithConsume")) return false;
boolean r;
Marker m = enter_section_(b, l, _COLLAPSE_, BLOCK, "");
r = consumeBlock(b, l + 1);
if (!r) r = BlockInner(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// break LabelRef?
public static boolean BreakStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BreakStatement")) return false;
if (!nextTokenIs(b, BREAK)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, BREAK_STATEMENT, null);
r = consumeToken(b, BREAK);
p = r; // pin = 1
r = r && BreakStatement_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// LabelRef?
private static boolean BreakStatement_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BreakStatement_1")) return false;
LabelRef(b, l + 1);
return true;
}
/* ********************************************************** */
// Type [ ',' BuiltinArgsTail ] | BuiltinArgsTail
static boolean BuiltinArgsInner(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgsInner")) return false;
boolean r;
Marker m = enter_section_(b);
r = BuiltinArgsInner_0(b, l + 1);
if (!r) r = BuiltinArgsTail(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// Type [ ',' BuiltinArgsTail ]
private static boolean BuiltinArgsInner_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgsInner_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = Type(b, l + 1);
r = r && BuiltinArgsInner_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// [ ',' BuiltinArgsTail ]
private static boolean BuiltinArgsInner_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgsInner_0_1")) return false;
BuiltinArgsInner_0_1_0(b, l + 1);
return true;
}
// ',' BuiltinArgsTail
private static boolean BuiltinArgsInner_0_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgsInner_0_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, COMMA);
r = r && BuiltinArgsTail(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// ExpressionList '...'?
static boolean BuiltinArgsTail(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgsTail")) return false;
boolean r;
Marker m = enter_section_(b);
r = ExpressionList(b, l + 1);
r = r && BuiltinArgsTail_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '...'?
private static boolean BuiltinArgsTail_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgsTail_1")) return false;
consumeToken(b, TRIPLE_DOT);
return true;
}
/* ********************************************************** */
// '(' [ BuiltinArgsInner ','? ] ')'
public static boolean BuiltinArgumentList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgumentList")) return false;
if (!nextTokenIs(b, LPAREN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, BUILTIN_ARGUMENT_LIST, null);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, BuiltinArgumentList_1(b, l + 1));
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// [ BuiltinArgsInner ','? ]
private static boolean BuiltinArgumentList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgumentList_1")) return false;
BuiltinArgumentList_1_0(b, l + 1);
return true;
}
// BuiltinArgsInner ','?
private static boolean BuiltinArgumentList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgumentList_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = BuiltinArgsInner(b, l + 1);
r = r && BuiltinArgumentList_1_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ','?
private static boolean BuiltinArgumentList_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinArgumentList_1_0_1")) return false;
consumeToken(b, COMMA);
return true;
}
/* ********************************************************** */
// chan '<-'? | '<-' chan
static boolean ChanTypePrefix(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ChanTypePrefix")) return false;
if (!nextTokenIs(b, "", SEND_CHANNEL, CHAN)) return false;
boolean r;
Marker m = enter_section_(b);
r = ChanTypePrefix_0(b, l + 1);
if (!r) r = ChanTypePrefix_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// chan '<-'?
private static boolean ChanTypePrefix_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ChanTypePrefix_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, CHAN);
p = r; // pin = 1
r = r && ChanTypePrefix_0_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// '<-'?
private static boolean ChanTypePrefix_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ChanTypePrefix_0_1")) return false;
consumeToken(b, SEND_CHANNEL);
return true;
}
// '<-' chan
private static boolean ChanTypePrefix_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ChanTypePrefix_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, SEND_CHANNEL);
p = r; // pin = 1
r = r && consumeToken(b, CHAN);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// ChanTypePrefix Type
public static boolean ChannelType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ChannelType")) return false;
if (!nextTokenIs(b, "", SEND_CHANNEL, CHAN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _COLLAPSE_, CHANNEL_TYPE, "");
r = ChanTypePrefix(b, l + 1);
p = r; // pin = 1
r = r && Type(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// case ( Expression SendStatement | RecvStatement ) | default
public static boolean CommCase(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CommCase")) return false;
if (!nextTokenIs(b, "", CASE, DEFAULT)) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, COMM_CASE, "");
r = CommCase_0(b, l + 1);
if (!r) r = consumeToken(b, DEFAULT);
exit_section_(b, l, m, r, false, null);
return r;
}
// case ( Expression SendStatement | RecvStatement )
private static boolean CommCase_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CommCase_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, CASE);
p = r; // pin = case
r = r && CommCase_0_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// Expression SendStatement | RecvStatement
private static boolean CommCase_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CommCase_0_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = CommCase_0_1_0(b, l + 1);
if (!r) r = RecvStatement(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// Expression SendStatement
private static boolean CommCase_0_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CommCase_0_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = Expression(b, l + 1, -1);
r = r && SendStatement(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// CommCase ':' Statements?
public static boolean CommClause(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CommClause")) return false;
if (!nextTokenIs(b, "", CASE, DEFAULT)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, COMM_CLAUSE, "");
r = CommCase(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, consumeToken(b, COLON));
r = p && CommClause_2(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// Statements?
private static boolean CommClause_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CommClause_2")) return false;
Statements(b, l + 1);
return true;
}
/* ********************************************************** */
// <> SimpleStatementOpt Expression? <>
static boolean Condition(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Condition")) return false;
boolean r;
Marker m = enter_section_(b);
r = enterMode(b, l + 1, "BLOCK?");
r = r && SimpleStatementOpt(b, l + 1);
r = r && Condition_2(b, l + 1);
r = r && exitModeSafe(b, l + 1, "BLOCK?");
exit_section_(b, m, null, r);
return r;
}
// Expression?
private static boolean Condition_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Condition_2")) return false;
Expression(b, l + 1, -1);
return true;
}
/* ********************************************************** */
// const ( ConstSpec | '(' ConstSpecs? ')' )
public static boolean ConstDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstDeclaration")) return false;
if (!nextTokenIs(b, CONST)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, CONST_DECLARATION, null);
r = consumeToken(b, CONST);
p = r; // pin = 1
r = r && ConstDeclaration_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ConstSpec | '(' ConstSpecs? ')'
private static boolean ConstDeclaration_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstDeclaration_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = ConstSpec(b, l + 1);
if (!r) r = ConstDeclaration_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '(' ConstSpecs? ')'
private static boolean ConstDeclaration_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstDeclaration_1_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, ConstDeclaration_1_1_1(b, l + 1));
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ConstSpecs?
private static boolean ConstDeclaration_1_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstDeclaration_1_1_1")) return false;
ConstSpecs(b, l + 1);
return true;
}
/* ********************************************************** */
// identifier
public static boolean ConstDefinition(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstDefinition")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, CONST_DEFINITION, r);
return r;
}
/* ********************************************************** */
// ConstDefinition ( ',' ConstDefinition )*
static boolean ConstDefinitionList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstDefinitionList")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ConstDefinition(b, l + 1);
p = r; // pin = 1
r = r && ConstDefinitionList_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ( ',' ConstDefinition )*
private static boolean ConstDefinitionList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstDefinitionList_1")) return false;
int c = current_position_(b);
while (true) {
if (!ConstDefinitionList_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ConstDefinitionList_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' ConstDefinition
private static boolean ConstDefinitionList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstDefinitionList_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COMMA);
p = r; // pin = 1
r = r && ConstDefinition(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// ConstDefinitionList [ ('=' ExpressionList | Type '=' ExpressionList) ]
public static boolean ConstSpec(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpec")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, CONST_SPEC, null);
r = ConstDefinitionList(b, l + 1);
p = r; // pin = 1
r = r && ConstSpec_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// [ ('=' ExpressionList | Type '=' ExpressionList) ]
private static boolean ConstSpec_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpec_1")) return false;
ConstSpec_1_0(b, l + 1);
return true;
}
// '=' ExpressionList | Type '=' ExpressionList
private static boolean ConstSpec_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpec_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = ConstSpec_1_0_0(b, l + 1);
if (!r) r = ConstSpec_1_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '=' ExpressionList
private static boolean ConstSpec_1_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpec_1_0_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, ASSIGN);
p = r; // pin = 1
r = r && ExpressionList(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// Type '=' ExpressionList
private static boolean ConstSpec_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpec_1_0_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = Type(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, consumeToken(b, ASSIGN));
r = p && ExpressionList(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// ConstSpec (semi ConstSpec)* semi?
static boolean ConstSpecs(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpecs")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ConstSpec(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, ConstSpecs_1(b, l + 1));
r = p && ConstSpecs_2(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (semi ConstSpec)*
private static boolean ConstSpecs_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpecs_1")) return false;
int c = current_position_(b);
while (true) {
if (!ConstSpecs_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ConstSpecs_1", c)) break;
c = current_position_(b);
}
return true;
}
// semi ConstSpec
private static boolean ConstSpecs_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpecs_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = semi(b, l + 1);
r = r && ConstSpec(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// semi?
private static boolean ConstSpecs_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConstSpecs_2")) return false;
semi(b, l + 1);
return true;
}
/* ********************************************************** */
// continue LabelRef?
public static boolean ContinueStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ContinueStatement")) return false;
if (!nextTokenIs(b, CONTINUE)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, CONTINUE_STATEMENT, null);
r = consumeToken(b, CONTINUE);
p = r; // pin = 1
r = r && ContinueStatement_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// LabelRef?
private static boolean ContinueStatement_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ContinueStatement_1")) return false;
LabelRef(b, l + 1);
return true;
}
/* ********************************************************** */
// ConversionStart | '(' ConversionStart
static boolean ConversionPredicate(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConversionPredicate")) return false;
boolean r;
Marker m = enter_section_(b);
r = ConversionStart(b, l + 1);
if (!r) r = ConversionPredicate_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '(' ConversionStart
private static boolean ConversionPredicate_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConversionPredicate_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, LPAREN);
r = r && ConversionStart(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// '*' | '<-' | '[' | chan | func | interface | map | struct
static boolean ConversionStart(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConversionStart")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, MUL);
if (!r) r = consumeToken(b, SEND_CHANNEL);
if (!r) r = consumeToken(b, LBRACK);
if (!r) r = consumeToken(b, CHAN);
if (!r) r = consumeToken(b, FUNC);
if (!r) r = consumeToken(b, INTERFACE);
if (!r) r = consumeToken(b, MAP);
if (!r) r = consumeToken(b, STRUCT);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// '(' Expression ','? ')'
static boolean ConversionTail(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConversionTail")) return false;
if (!nextTokenIs(b, LPAREN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, Expression(b, l + 1, -1));
r = p && report_error_(b, ConversionTail_2(b, l + 1)) && r;
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ','?
private static boolean ConversionTail_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConversionTail_2")) return false;
consumeToken(b, COMMA);
return true;
}
/* ********************************************************** */
// defer Expression
public static boolean DeferStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "DeferStatement")) return false;
if (!nextTokenIs(b, DEFER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, DEFER_STATEMENT, null);
r = consumeToken(b, DEFER);
p = r; // pin = 1
r = r && Expression(b, l + 1, -1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// <> | (!() Element)
static boolean E(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "E")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_);
r = withOn(b, l + 1, "PAR", Element_parser_);
if (!r) r = E_1(b, l + 1);
exit_section_(b, l, m, r, false, E_recover_parser_);
return r;
}
// !() Element
private static boolean E_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "E_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = E_1_0(b, l + 1);
r = r && Element(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// !()
private static boolean E_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "E_1_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !E_1_0_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ()
private static boolean E_1_0_0(PsiBuilder b, int l) {
return true;
}
/* ********************************************************** */
// !('}'|',')
static boolean E_recover(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "E_recover")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !E_recover_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// '}'|','
private static boolean E_recover_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "E_recover_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, RBRACE);
if (!r) r = consumeToken(b, COMMA);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// First [':' Value]
public static boolean Element(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Element")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, ELEMENT, "");
r = First(b, l + 1);
p = r; // pin = 1
r = r && Element_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// [':' Value]
private static boolean Element_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Element_1")) return false;
Element_1_0(b, l + 1);
return true;
}
// ':' Value
private static boolean Element_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Element_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COLON);
p = r; // pin = 1
r = r && Value(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// E ( ',' E? )*
static boolean ElementList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ElementList")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = E(b, l + 1);
p = r; // pin = 1
r = r && ElementList_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ( ',' E? )*
private static boolean ElementList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ElementList_1")) return false;
int c = current_position_(b);
while (true) {
if (!ElementList_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ElementList_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' E?
private static boolean ElementList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ElementList_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COMMA);
p = r; // pin = 1
r = r && ElementList_1_0_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// E?
private static boolean ElementList_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ElementList_1_0_1")) return false;
E(b, l + 1);
return true;
}
/* ********************************************************** */
// else (IfStatement | Block)
public static boolean ElseStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ElseStatement")) return false;
if (!nextTokenIs(b, ELSE)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, ELSE_STATEMENT, null);
r = consumeToken(b, ELSE);
p = r; // pin = 1
r = r && ElseStatement_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// IfStatement | Block
private static boolean ElseStatement_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ElseStatement_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = IfStatement(b, l + 1);
if (!r) r = Block(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// !'}' ExprSwitchCase ':' Statements?
public static boolean ExprCaseClause(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExprCaseClause")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, EXPR_CASE_CLAUSE, "");
r = ExprCaseClause_0(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, ExprSwitchCase(b, l + 1));
r = p && report_error_(b, consumeToken(b, COLON)) && r;
r = p && ExprCaseClause_3(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// !'}'
private static boolean ExprCaseClause_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExprCaseClause_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !consumeToken(b, RBRACE);
exit_section_(b, l, m, r, false, null);
return r;
}
// Statements?
private static boolean ExprCaseClause_3(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExprCaseClause_3")) return false;
Statements(b, l + 1);
return true;
}
/* ********************************************************** */
// case ExpressionList | default
static boolean ExprSwitchCase(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExprSwitchCase")) return false;
if (!nextTokenIs(b, "", CASE, DEFAULT)) return false;
boolean r;
Marker m = enter_section_(b);
r = ExprSwitchCase_0(b, l + 1);
if (!r) r = consumeToken(b, DEFAULT);
exit_section_(b, m, null, r);
return r;
}
// case ExpressionList
private static boolean ExprSwitchCase_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExprSwitchCase_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, CASE);
p = r; // pin = 1
r = r && ExpressionList(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// Condition '{' ExprCaseClause* '}'
public static boolean ExprSwitchStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExprSwitchStatement")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _LEFT_, EXPR_SWITCH_STATEMENT, "");
r = Condition(b, l + 1);
r = r && consumeToken(b, LBRACE);
p = r; // pin = 2
r = r && report_error_(b, ExprSwitchStatement_2(b, l + 1));
r = p && consumeToken(b, RBRACE) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ExprCaseClause*
private static boolean ExprSwitchStatement_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExprSwitchStatement_2")) return false;
int c = current_position_(b);
while (true) {
if (!ExprCaseClause(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ExprSwitchStatement_2", c)) break;
c = current_position_(b);
}
return true;
}
/* ********************************************************** */
// ExpressionOrTypeWithRecover2 (',' (ExpressionOrTypeWithRecover2 | &')'))*
static boolean ExpressionArgList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionArgList")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ExpressionOrTypeWithRecover2(b, l + 1);
p = r; // pin = 1
r = r && ExpressionArgList_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (',' (ExpressionOrTypeWithRecover2 | &')'))*
private static boolean ExpressionArgList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionArgList_1")) return false;
int c = current_position_(b);
while (true) {
if (!ExpressionArgList_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ExpressionArgList_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' (ExpressionOrTypeWithRecover2 | &')')
private static boolean ExpressionArgList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionArgList_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COMMA);
p = r; // pin = 1
r = r && ExpressionArgList_1_0_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ExpressionOrTypeWithRecover2 | &')'
private static boolean ExpressionArgList_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionArgList_1_0_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = ExpressionOrTypeWithRecover2(b, l + 1);
if (!r) r = ExpressionArgList_1_0_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &')'
private static boolean ExpressionArgList_1_0_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionArgList_1_0_1_1")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = consumeToken(b, RPAREN);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// ExpressionWithRecover (',' (ExpressionWithRecover | &')'))*
static boolean ExpressionList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionList")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ExpressionWithRecover(b, l + 1);
p = r; // pin = 1
r = r && ExpressionList_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (',' (ExpressionWithRecover | &')'))*
private static boolean ExpressionList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionList_1")) return false;
int c = current_position_(b);
while (true) {
if (!ExpressionList_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ExpressionList_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' (ExpressionWithRecover | &')')
private static boolean ExpressionList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionList_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COMMA);
p = r; // pin = 1
r = r && ExpressionList_1_0_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ExpressionWithRecover | &')'
private static boolean ExpressionList_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionList_1_0_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = ExpressionWithRecover(b, l + 1);
if (!r) r = ExpressionList_1_0_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &')'
private static boolean ExpressionList_1_0_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionList_1_0_1_1")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = consumeToken(b, RPAREN);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// !('!' | '!=' | '%' | '%=' | '&&' | '&' | '&=' | '&^' | '&^=' | '(' | ')' | '*' | '*=' | '+' | '++' | '+=' | ',' | '-' | '--' | '-=' | '...' | '/' | '/=' | ':' | ';' | '<' | '<-' | '<<' | '<<=' | '<=' | '' | '=' | '==' | '>' | '>=' | '>>' | '>>=' | '[' | ']' | '^' | '^=' | 'type' | '{' | '|' | '|=' | '||' | '}' | break | case | chan | char | const | continue | decimali | default | defer | else | fallthrough | float | floati | for | func | go | goto | hex | identifier | if | int | interface | map | oct | return | select | string | raw_string | struct | switch | var)
static boolean ExpressionListRecover(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionListRecover")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !ExpressionListRecover_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// '!' | '!=' | '%' | '%=' | '&&' | '&' | '&=' | '&^' | '&^=' | '(' | ')' | '*' | '*=' | '+' | '++' | '+=' | ',' | '-' | '--' | '-=' | '...' | '/' | '/=' | ':' | ';' | '<' | '<-' | '<<' | '<<=' | '<=' | '' | '=' | '==' | '>' | '>=' | '>>' | '>>=' | '[' | ']' | '^' | '^=' | 'type' | '{' | '|' | '|=' | '||' | '}' | break | case | chan | char | const | continue | decimali | default | defer | else | fallthrough | float | floati | for | func | go | goto | hex | identifier | if | int | interface | map | oct | return | select | string | raw_string | struct | switch | var
private static boolean ExpressionListRecover_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionListRecover_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, NOT);
if (!r) r = consumeToken(b, NOT_EQ);
if (!r) r = consumeToken(b, REMAINDER);
if (!r) r = consumeToken(b, REMAINDER_ASSIGN);
if (!r) r = consumeToken(b, COND_AND);
if (!r) r = consumeToken(b, BIT_AND);
if (!r) r = consumeToken(b, BIT_AND_ASSIGN);
if (!r) r = consumeToken(b, BIT_CLEAR);
if (!r) r = consumeToken(b, BIT_CLEAR_ASSIGN);
if (!r) r = consumeToken(b, LPAREN);
if (!r) r = consumeToken(b, RPAREN);
if (!r) r = consumeToken(b, MUL);
if (!r) r = consumeToken(b, MUL_ASSIGN);
if (!r) r = consumeToken(b, PLUS);
if (!r) r = consumeToken(b, PLUS_PLUS);
if (!r) r = consumeToken(b, PLUS_ASSIGN);
if (!r) r = consumeToken(b, COMMA);
if (!r) r = consumeToken(b, MINUS);
if (!r) r = consumeToken(b, MINUS_MINUS);
if (!r) r = consumeToken(b, MINUS_ASSIGN);
if (!r) r = consumeToken(b, TRIPLE_DOT);
if (!r) r = consumeToken(b, QUOTIENT);
if (!r) r = consumeToken(b, QUOTIENT_ASSIGN);
if (!r) r = consumeToken(b, COLON);
if (!r) r = consumeToken(b, SEMICOLON);
if (!r) r = consumeToken(b, LESS);
if (!r) r = consumeToken(b, SEND_CHANNEL);
if (!r) r = consumeToken(b, SHIFT_LEFT);
if (!r) r = consumeToken(b, SHIFT_LEFT_ASSIGN);
if (!r) r = consumeToken(b, LESS_OR_EQUAL);
if (!r) r = consumeToken(b, SEMICOLON_SYNTHETIC);
if (!r) r = consumeToken(b, ASSIGN);
if (!r) r = consumeToken(b, EQ);
if (!r) r = consumeToken(b, GREATER);
if (!r) r = consumeToken(b, GREATER_OR_EQUAL);
if (!r) r = consumeToken(b, SHIFT_RIGHT);
if (!r) r = consumeToken(b, SHIFT_RIGHT_ASSIGN);
if (!r) r = consumeToken(b, LBRACK);
if (!r) r = consumeToken(b, RBRACK);
if (!r) r = consumeToken(b, BIT_XOR);
if (!r) r = consumeToken(b, BIT_XOR_ASSIGN);
if (!r) r = consumeToken(b, TYPE_);
if (!r) r = consumeToken(b, LBRACE);
if (!r) r = consumeToken(b, BIT_OR);
if (!r) r = consumeToken(b, BIT_OR_ASSIGN);
if (!r) r = consumeToken(b, COND_OR);
if (!r) r = consumeToken(b, RBRACE);
if (!r) r = consumeToken(b, BREAK);
if (!r) r = consumeToken(b, CASE);
if (!r) r = consumeToken(b, CHAN);
if (!r) r = consumeToken(b, CHAR);
if (!r) r = consumeToken(b, CONST);
if (!r) r = consumeToken(b, CONTINUE);
if (!r) r = consumeToken(b, DECIMALI);
if (!r) r = consumeToken(b, DEFAULT);
if (!r) r = consumeToken(b, DEFER);
if (!r) r = consumeToken(b, ELSE);
if (!r) r = consumeToken(b, FALLTHROUGH);
if (!r) r = consumeToken(b, FLOAT);
if (!r) r = consumeToken(b, FLOATI);
if (!r) r = consumeToken(b, FOR);
if (!r) r = consumeToken(b, FUNC);
if (!r) r = consumeToken(b, GO);
if (!r) r = consumeToken(b, GOTO);
if (!r) r = consumeToken(b, HEX);
if (!r) r = consumeToken(b, IDENTIFIER);
if (!r) r = consumeToken(b, IF);
if (!r) r = consumeToken(b, INT);
if (!r) r = consumeToken(b, INTERFACE);
if (!r) r = consumeToken(b, MAP);
if (!r) r = consumeToken(b, OCT);
if (!r) r = consumeToken(b, RETURN);
if (!r) r = consumeToken(b, SELECT);
if (!r) r = consumeToken(b, STRING);
if (!r) r = consumeToken(b, RAW_STRING);
if (!r) r = consumeToken(b, STRUCT);
if (!r) r = consumeToken(b, SWITCH);
if (!r) r = consumeToken(b, VAR);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// Expression | LiteralTypeExpr
static boolean ExpressionOrLiteralTypeExpr(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionOrLiteralTypeExpr")) return false;
boolean r;
Marker m = enter_section_(b);
r = Expression(b, l + 1, -1);
if (!r) r = LiteralTypeExpr(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// ExpressionOrLiteralTypeExpr
static boolean ExpressionOrTypeWithRecover(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionOrTypeWithRecover")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_);
r = ExpressionOrLiteralTypeExpr(b, l + 1);
exit_section_(b, l, m, r, false, ExpressionListRecover_parser_);
return r;
}
/* ********************************************************** */
// <> | (!() ExpressionOrLiteralTypeExpr)
static boolean ExpressionOrTypeWithRecover2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionOrTypeWithRecover2")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_);
r = withOn(b, l + 1, "PAR", ExpressionOrTypeWithRecover_parser_);
if (!r) r = ExpressionOrTypeWithRecover2_1(b, l + 1);
exit_section_(b, l, m, r, false, ExpressionListRecover_parser_);
return r;
}
// !() ExpressionOrLiteralTypeExpr
private static boolean ExpressionOrTypeWithRecover2_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionOrTypeWithRecover2_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = ExpressionOrTypeWithRecover2_1_0(b, l + 1);
r = r && ExpressionOrLiteralTypeExpr(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// !()
private static boolean ExpressionOrTypeWithRecover2_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionOrTypeWithRecover2_1_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !ExpressionOrTypeWithRecover2_1_0_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ()
private static boolean ExpressionOrTypeWithRecover2_1_0_0(PsiBuilder b, int l) {
return true;
}
/* ********************************************************** */
// Expression
static boolean ExpressionWithRecover(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionWithRecover")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_);
r = Expression(b, l + 1, -1);
exit_section_(b, l, m, r, false, ExpressionListRecover_parser_);
return r;
}
/* ********************************************************** */
// ExpressionList '=' | VarDefinitionList ':='
static boolean ExpressionsOrVariables(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionsOrVariables")) return false;
boolean r;
Marker m = enter_section_(b);
r = ExpressionsOrVariables_0(b, l + 1);
if (!r) r = ExpressionsOrVariables_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ExpressionList '='
private static boolean ExpressionsOrVariables_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionsOrVariables_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = ExpressionList(b, l + 1);
r = r && consumeToken(b, ASSIGN);
exit_section_(b, m, null, r);
return r;
}
// VarDefinitionList ':='
private static boolean ExpressionsOrVariables_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ExpressionsOrVariables_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = VarDefinitionList(b, l + 1);
r = r && consumeToken(b, VAR_ASSIGN);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// fallthrough
public static boolean FallthroughStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FallthroughStatement")) return false;
if (!nextTokenIs(b, FALLTHROUGH)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, FALLTHROUGH);
exit_section_(b, m, FALLTHROUGH_STATEMENT, r);
return r;
}
/* ********************************************************** */
// (FieldDefinitionList Type | AnonymousFieldDefinition) Tag?
public static boolean FieldDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldDeclaration")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, FIELD_DECLARATION, "");
r = FieldDeclaration_0(b, l + 1);
r = r && FieldDeclaration_1(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// FieldDefinitionList Type | AnonymousFieldDefinition
private static boolean FieldDeclaration_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldDeclaration_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = FieldDeclaration_0_0(b, l + 1);
if (!r) r = AnonymousFieldDefinition(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// FieldDefinitionList Type
private static boolean FieldDeclaration_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldDeclaration_0_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = FieldDefinitionList(b, l + 1);
r = r && Type(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// Tag?
private static boolean FieldDeclaration_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldDeclaration_1")) return false;
Tag(b, l + 1);
return true;
}
/* ********************************************************** */
// identifier
public static boolean FieldDefinition(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldDefinition")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, FIELD_DEFINITION, r);
return r;
}
/* ********************************************************** */
// FieldDefinition (',' FieldDefinition)*
static boolean FieldDefinitionList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldDefinitionList")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = FieldDefinition(b, l + 1);
p = r; // pin = 1
r = r && FieldDefinitionList_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (',' FieldDefinition)*
private static boolean FieldDefinitionList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldDefinitionList_1")) return false;
int c = current_position_(b);
while (true) {
if (!FieldDefinitionList_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "FieldDefinitionList_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' FieldDefinition
private static boolean FieldDefinitionList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldDefinitionList_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COMMA);
p = r; // pin = 1
r = r && FieldDefinition(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// identifier
public static boolean FieldName(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FieldName")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, FIELD_NAME, r);
return r;
}
/* ********************************************************** */
// FieldDeclaration (semi FieldDeclaration)* semi?
static boolean Fields(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Fields")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = FieldDeclaration(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, Fields_1(b, l + 1));
r = p && Fields_2(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (semi FieldDeclaration)*
private static boolean Fields_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Fields_1")) return false;
int c = current_position_(b);
while (true) {
if (!Fields_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "Fields_1", c)) break;
c = current_position_(b);
}
return true;
}
// semi FieldDeclaration
private static boolean Fields_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Fields_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = semi(b, l + 1);
r = r && FieldDeclaration(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// semi?
private static boolean Fields_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Fields_2")) return false;
semi(b, l + 1);
return true;
}
/* ********************************************************** */
// PackageClause semi ImportList TopLevelDeclaration*
static boolean File(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "File")) return false;
if (!nextTokenIs(b, PACKAGE)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = PackageClause(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, semi(b, l + 1));
r = p && report_error_(b, ImportList(b, l + 1)) && r;
r = p && File_3(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// TopLevelDeclaration*
private static boolean File_3(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "File_3")) return false;
int c = current_position_(b);
while (true) {
if (!TopLevelDeclaration(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "File_3", c)) break;
c = current_position_(b);
}
return true;
}
/* ********************************************************** */
// Key | <>
static boolean First(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "First")) return false;
boolean r;
Marker m = enter_section_(b);
r = Key(b, l + 1);
if (!r) r = keyOrValueExpression(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// SimpleStatement? ';' Expression? ';' SimpleStatement?
public static boolean ForClause(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForClause")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, FOR_CLAUSE, "");
r = ForClause_0(b, l + 1);
r = r && consumeToken(b, SEMICOLON);
r = r && ForClause_2(b, l + 1);
r = r && consumeToken(b, SEMICOLON);
r = r && ForClause_4(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// SimpleStatement?
private static boolean ForClause_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForClause_0")) return false;
SimpleStatement(b, l + 1);
return true;
}
// Expression?
private static boolean ForClause_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForClause_2")) return false;
Expression(b, l + 1, -1);
return true;
}
// SimpleStatement?
private static boolean ForClause_4(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForClause_4")) return false;
SimpleStatement(b, l + 1);
return true;
}
/* ********************************************************** */
// ForClause | RangeClause
static boolean ForOrRangeClause(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForOrRangeClause")) return false;
boolean r;
Marker m = enter_section_(b);
r = ForClause(b, l + 1);
if (!r) r = RangeClause(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// for <> (ForOrRangeClause Block | Block | Expression Block) <>
public static boolean ForStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForStatement")) return false;
if (!nextTokenIs(b, FOR)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, FOR_STATEMENT, null);
r = consumeToken(b, FOR);
p = r; // pin = for|ForOrRangeClause
r = r && report_error_(b, enterMode(b, l + 1, "BLOCK?"));
r = p && report_error_(b, ForStatement_2(b, l + 1)) && r;
r = p && exitModeSafe(b, l + 1, "BLOCK?") && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ForOrRangeClause Block | Block | Expression Block
private static boolean ForStatement_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForStatement_2")) return false;
boolean r;
Marker m = enter_section_(b);
r = ForStatement_2_0(b, l + 1);
if (!r) r = Block(b, l + 1);
if (!r) r = ForStatement_2_2(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ForOrRangeClause Block
private static boolean ForStatement_2_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForStatement_2_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ForOrRangeClause(b, l + 1);
p = r; // pin = for|ForOrRangeClause
r = r && Block(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// Expression Block
private static boolean ForStatement_2_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ForStatement_2_2")) return false;
boolean r;
Marker m = enter_section_(b);
r = Expression(b, l + 1, -1);
r = r && Block(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// func identifier Signature BlockWithConsume?
public static boolean FunctionDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionDeclaration")) return false;
if (!nextTokenIs(b, FUNC)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, FUNCTION_DECLARATION, null);
r = consumeTokens(b, 2, FUNC, IDENTIFIER);
p = r; // pin = 2
r = r && report_error_(b, Signature(b, l + 1));
r = p && FunctionDeclaration_3(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// BlockWithConsume?
private static boolean FunctionDeclaration_3(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionDeclaration_3")) return false;
BlockWithConsume(b, l + 1);
return true;
}
/* ********************************************************** */
// func Signature
public static boolean FunctionType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionType")) return false;
if (!nextTokenIs(b, FUNC)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, FUNCTION_TYPE, null);
r = consumeToken(b, FUNC);
p = r; // pin = 1
r = r && Signature(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// go Expression
public static boolean GoStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "GoStatement")) return false;
if (!nextTokenIs(b, GO)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, GO_STATEMENT, null);
r = consumeToken(b, GO);
p = r; // pin = 1
r = r && Expression(b, l + 1, -1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// goto LabelRef
public static boolean GotoStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "GotoStatement")) return false;
if (!nextTokenIs(b, GOTO)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, GOTO_STATEMENT, null);
r = consumeToken(b, GOTO);
p = r; // pin = 1
r = r && LabelRef(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// if Condition Block ElseStatement?
public static boolean IfStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "IfStatement")) return false;
if (!nextTokenIs(b, IF)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, IF_STATEMENT, null);
r = consumeToken(b, IF);
p = r; // pin = 1
r = r && report_error_(b, Condition(b, l + 1));
r = p && report_error_(b, Block(b, l + 1)) && r;
r = p && IfStatement_3(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ElseStatement?
private static boolean IfStatement_3(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "IfStatement_3")) return false;
ElseStatement(b, l + 1);
return true;
}
/* ********************************************************** */
// import ( ImportSpec | '(' ImportSpecs? ')' )
public static boolean ImportDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportDeclaration")) return false;
if (!nextTokenIs(b, IMPORT)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, IMPORT_DECLARATION, null);
r = consumeToken(b, IMPORT);
p = r; // pin = 1
r = r && ImportDeclaration_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ImportSpec | '(' ImportSpecs? ')'
private static boolean ImportDeclaration_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportDeclaration_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = ImportSpec(b, l + 1);
if (!r) r = ImportDeclaration_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '(' ImportSpecs? ')'
private static boolean ImportDeclaration_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportDeclaration_1_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, ImportDeclaration_1_1_1(b, l + 1));
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ImportSpecs?
private static boolean ImportDeclaration_1_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportDeclaration_1_1_1")) return false;
ImportSpecs(b, l + 1);
return true;
}
/* ********************************************************** */
// (ImportDeclaration semi)+|<>
public static boolean ImportList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportList")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, IMPORT_LIST, "");
r = ImportList_0(b, l + 1);
if (!r) r = emptyImportList(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// (ImportDeclaration semi)+
private static boolean ImportList_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportList_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = ImportList_0_0(b, l + 1);
int c = current_position_(b);
while (r) {
if (!ImportList_0_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ImportList_0", c)) break;
c = current_position_(b);
}
exit_section_(b, m, null, r);
return r;
}
// ImportDeclaration semi
private static boolean ImportList_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportList_0_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ImportDeclaration(b, l + 1);
p = r; // pin = 1
r = r && semi(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// [ '.' | identifier ] ImportString
public static boolean ImportSpec(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportSpec")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, IMPORT_SPEC, "");
r = ImportSpec_0(b, l + 1);
r = r && ImportString(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// [ '.' | identifier ]
private static boolean ImportSpec_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportSpec_0")) return false;
ImportSpec_0_0(b, l + 1);
return true;
}
// '.' | identifier
private static boolean ImportSpec_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportSpec_0_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, DOT);
if (!r) r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// ImportSpec (semi ImportSpec)* semi?
static boolean ImportSpecs(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportSpecs")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ImportSpec(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, ImportSpecs_1(b, l + 1));
r = p && ImportSpecs_2(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (semi ImportSpec)*
private static boolean ImportSpecs_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportSpecs_1")) return false;
int c = current_position_(b);
while (true) {
if (!ImportSpecs_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ImportSpecs_1", c)) break;
c = current_position_(b);
}
return true;
}
// semi ImportSpec
private static boolean ImportSpecs_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportSpecs_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = semi(b, l + 1);
r = r && ImportSpec(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// semi?
private static boolean ImportSpecs_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportSpecs_2")) return false;
semi(b, l + 1);
return true;
}
/* ********************************************************** */
// StringLiteral
public static boolean ImportString(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ImportString")) return false;
if (!nextTokenIs(b, "", RAW_STRING, STRING)) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, IMPORT_STRING, "");
r = StringLiteral(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// Expression ('++' | '--')
public static boolean IncDecStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "IncDecStatement")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, INC_DEC_STATEMENT, "");
r = Expression(b, l + 1, -1);
r = r && IncDecStatement_1(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// '++' | '--'
private static boolean IncDecStatement_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "IncDecStatement_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, PLUS_PLUS);
if (!r) r = consumeToken(b, MINUS_MINUS);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// Expression SliceExprBodyInner?
static boolean IndexExprBody(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "IndexExprBody")) return false;
boolean r;
Marker m = enter_section_(b);
r = Expression(b, l + 1, -1);
r = r && IndexExprBody_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// SliceExprBodyInner?
private static boolean IndexExprBody_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "IndexExprBody_1")) return false;
SliceExprBodyInner(b, l + 1);
return true;
}
/* ********************************************************** */
// interface '{' MethodSpecs? '}'
public static boolean InterfaceType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "InterfaceType")) return false;
if (!nextTokenIs(b, INTERFACE)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, INTERFACE_TYPE, null);
r = consumeToken(b, INTERFACE);
p = r; // pin = 1
r = r && report_error_(b, consumeToken(b, LBRACE));
r = p && report_error_(b, InterfaceType_2(b, l + 1)) && r;
r = p && consumeToken(b, RBRACE) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// MethodSpecs?
private static boolean InterfaceType_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "InterfaceType_2")) return false;
MethodSpecs(b, l + 1);
return true;
}
/* ********************************************************** */
// (FieldName &':') | !() Expression
public static boolean Key(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Key")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = Key_0(b, l + 1);
if (!r) r = Key_1(b, l + 1);
exit_section_(b, m, KEY, r);
return r;
}
// FieldName &':'
private static boolean Key_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Key_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = FieldName(b, l + 1);
r = r && Key_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &':'
private static boolean Key_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Key_0_1")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = consumeToken(b, COLON);
exit_section_(b, l, m, r, false, null);
return r;
}
// !() Expression
private static boolean Key_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Key_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = Key_1_0(b, l + 1);
r = r && Expression(b, l + 1, -1);
exit_section_(b, m, null, r);
return r;
}
// !()
private static boolean Key_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Key_1_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !Key_1_0_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ()
private static boolean Key_1_0_0(PsiBuilder b, int l) {
return true;
}
/* ********************************************************** */
// identifier
public static boolean LabelDefinition(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LabelDefinition")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, LABEL_DEFINITION, r);
return r;
}
/* ********************************************************** */
// identifier
public static boolean LabelRef(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LabelRef")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, LABEL_REF, r);
return r;
}
/* ********************************************************** */
// LabelDefinition ':' Statement?
public static boolean LabeledStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LabeledStatement")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, LABELED_STATEMENT, null);
r = LabelDefinition(b, l + 1);
r = r && consumeToken(b, COLON);
p = r; // pin = 2
r = r && LabeledStatement_2(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// Statement?
private static boolean LabeledStatement_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LabeledStatement_2")) return false;
Statement(b, l + 1);
return true;
}
/* ********************************************************** */
// ExpressionList
public static boolean LeftHandExprList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LeftHandExprList")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, LEFT_HAND_EXPR_LIST, "");
r = ExpressionList(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// LiteralTypeExprInner | TypeName
public static boolean LiteralTypeExpr(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LiteralTypeExpr")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, LITERAL_TYPE_EXPR, "");
r = LiteralTypeExprInner(b, l + 1);
if (!r) r = TypeName(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// StructType | ArrayOrSliceType | MapType
static boolean LiteralTypeExprInner(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LiteralTypeExprInner")) return false;
boolean r;
Marker m = enter_section_(b);
r = StructType(b, l + 1);
if (!r) r = ArrayOrSliceType(b, l + 1);
if (!r) r = MapType(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// (<> | <> | <>) '{' ElementList? '}'
public static boolean LiteralValue(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LiteralValue")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, LITERAL_VALUE, "");
r = LiteralValue_0(b, l + 1);
r = r && consumeToken(b, LBRACE);
p = r; // pin = 2
r = r && report_error_(b, LiteralValue_2(b, l + 1));
r = p && consumeToken(b, RBRACE) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// <> | <> | <>
private static boolean LiteralValue_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LiteralValue_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = isModeOff(b, l + 1, "BLOCK?");
if (!r) r = isModeOn(b, l + 1, "PAR");
if (!r) r = prevIsType(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ElementList?
private static boolean LiteralValue_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "LiteralValue_2")) return false;
ElementList(b, l + 1);
return true;
}
/* ********************************************************** */
// map '[' Type ']' Type
public static boolean MapType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MapType")) return false;
if (!nextTokenIs(b, MAP)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, MAP_TYPE, null);
r = consumeToken(b, MAP);
p = r; // pin = 1
r = r && report_error_(b, consumeToken(b, LBRACK));
r = p && report_error_(b, Type(b, l + 1)) && r;
r = p && report_error_(b, consumeToken(b, RBRACK)) && r;
r = p && Type(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// func Receiver identifier Signature BlockWithConsume?
public static boolean MethodDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodDeclaration")) return false;
if (!nextTokenIs(b, FUNC)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, METHOD_DECLARATION, null);
r = consumeToken(b, FUNC);
p = r; // pin = 1
r = r && report_error_(b, Receiver(b, l + 1));
r = p && report_error_(b, consumeToken(b, IDENTIFIER)) && r;
r = p && report_error_(b, Signature(b, l + 1)) && r;
r = p && MethodDeclaration_4(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// BlockWithConsume?
private static boolean MethodDeclaration_4(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodDeclaration_4")) return false;
BlockWithConsume(b, l + 1);
return true;
}
/* ********************************************************** */
// TypeName &(!'(') | identifier Signature
public static boolean MethodSpec(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpec")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = MethodSpec_0(b, l + 1);
if (!r) r = MethodSpec_1(b, l + 1);
exit_section_(b, m, METHOD_SPEC, r);
return r;
}
// TypeName &(!'(')
private static boolean MethodSpec_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpec_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = TypeName(b, l + 1);
r = r && MethodSpec_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &(!'(')
private static boolean MethodSpec_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpec_0_1")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = MethodSpec_0_1_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// !'('
private static boolean MethodSpec_0_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpec_0_1_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !consumeToken(b, LPAREN);
exit_section_(b, l, m, r, false, null);
return r;
}
// identifier Signature
private static boolean MethodSpec_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpec_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
r = r && Signature(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// MethodSpec (semi MethodSpec)* semi?
static boolean MethodSpecs(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpecs")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = MethodSpec(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, MethodSpecs_1(b, l + 1));
r = p && MethodSpecs_2(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (semi MethodSpec)*
private static boolean MethodSpecs_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpecs_1")) return false;
int c = current_position_(b);
while (true) {
if (!MethodSpecs_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "MethodSpecs_1", c)) break;
c = current_position_(b);
}
return true;
}
// semi MethodSpec
private static boolean MethodSpecs_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpecs_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = semi(b, l + 1);
r = r && MethodSpec(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// semi?
private static boolean MethodSpecs_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MethodSpecs_2")) return false;
semi(b, l + 1);
return true;
}
/* ********************************************************** */
// '*' | '/' | '%' | '<<' | '>>' | '&' | '&^'
static boolean MulOp(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "MulOp")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, MUL);
if (!r) r = consumeToken(b, QUOTIENT);
if (!r) r = consumeToken(b, REMAINDER);
if (!r) r = consumeToken(b, SHIFT_LEFT);
if (!r) r = consumeToken(b, SHIFT_RIGHT);
if (!r) r = consumeToken(b, BIT_AND);
if (!r) r = consumeToken(b, BIT_CLEAR);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// package identifier
public static boolean PackageClause(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "PackageClause")) return false;
if (!nextTokenIs(b, PACKAGE)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, PACKAGE_CLAUSE, null);
r = consumeTokens(b, 1, PACKAGE, IDENTIFIER);
p = r; // pin = 1
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// '(' Type ')'
public static boolean ParType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParType")) return false;
if (!nextTokenIs(b, LPAREN)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, LPAREN);
r = r && Type(b, l + 1);
r = r && consumeToken(b, RPAREN);
exit_section_(b, m, PAR_TYPE, r);
return r;
}
/* ********************************************************** */
// identifier
public static boolean ParamDefinition(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParamDefinition")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, PARAM_DEFINITION, r);
return r;
}
/* ********************************************************** */
// ParamDefinition &(!('.' | ')')) (',' ParamDefinition)*
static boolean ParamDefinitionListNoPin(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParamDefinitionListNoPin")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = ParamDefinition(b, l + 1);
r = r && ParamDefinitionListNoPin_1(b, l + 1);
r = r && ParamDefinitionListNoPin_2(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &(!('.' | ')'))
private static boolean ParamDefinitionListNoPin_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParamDefinitionListNoPin_1")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = ParamDefinitionListNoPin_1_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// !('.' | ')')
private static boolean ParamDefinitionListNoPin_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParamDefinitionListNoPin_1_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !ParamDefinitionListNoPin_1_0_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// '.' | ')'
private static boolean ParamDefinitionListNoPin_1_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParamDefinitionListNoPin_1_0_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, DOT);
if (!r) r = consumeToken(b, RPAREN);
exit_section_(b, m, null, r);
return r;
}
// (',' ParamDefinition)*
private static boolean ParamDefinitionListNoPin_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParamDefinitionListNoPin_2")) return false;
int c = current_position_(b);
while (true) {
if (!ParamDefinitionListNoPin_2_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ParamDefinitionListNoPin_2", c)) break;
c = current_position_(b);
}
return true;
}
// ',' ParamDefinition
private static boolean ParamDefinitionListNoPin_2_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParamDefinitionListNoPin_2_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, COMMA);
r = r && ParamDefinition(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// ParamDefinitionListNoPin? '...'? Type | Type
public static boolean ParameterDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterDeclaration")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, PARAMETER_DECLARATION, "");
r = ParameterDeclaration_0(b, l + 1);
if (!r) r = Type(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ParamDefinitionListNoPin? '...'? Type
private static boolean ParameterDeclaration_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterDeclaration_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = ParameterDeclaration_0_0(b, l + 1);
r = r && ParameterDeclaration_0_1(b, l + 1);
r = r && Type(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ParamDefinitionListNoPin?
private static boolean ParameterDeclaration_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterDeclaration_0_0")) return false;
ParamDefinitionListNoPin(b, l + 1);
return true;
}
// '...'?
private static boolean ParameterDeclaration_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterDeclaration_0_1")) return false;
consumeToken(b, TRIPLE_DOT);
return true;
}
/* ********************************************************** */
// ParameterDeclaration (',' (ParameterDeclaration | &')'))*
static boolean ParameterList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterList")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ParameterDeclaration(b, l + 1);
p = r; // pin = 1
r = r && ParameterList_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (',' (ParameterDeclaration | &')'))*
private static boolean ParameterList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterList_1")) return false;
int c = current_position_(b);
while (true) {
if (!ParameterList_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "ParameterList_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' (ParameterDeclaration | &')')
private static boolean ParameterList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterList_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COMMA);
p = r; // pin = 1
r = r && ParameterList_1_0_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ParameterDeclaration | &')'
private static boolean ParameterList_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterList_1_0_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = ParameterDeclaration(b, l + 1);
if (!r) r = ParameterList_1_0_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &')'
private static boolean ParameterList_1_0_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParameterList_1_0_1_1")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = consumeToken(b, RPAREN);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// '(' [ (ParameterList ','?| TypeListNoPin) ] ')'
public static boolean Parameters(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Parameters")) return false;
if (!nextTokenIs(b, LPAREN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, PARAMETERS, null);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, Parameters_1(b, l + 1));
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// [ (ParameterList ','?| TypeListNoPin) ]
private static boolean Parameters_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Parameters_1")) return false;
Parameters_1_0(b, l + 1);
return true;
}
// ParameterList ','?| TypeListNoPin
private static boolean Parameters_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Parameters_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = Parameters_1_0_0(b, l + 1);
if (!r) r = TypeListNoPin(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ParameterList ','?
private static boolean Parameters_1_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Parameters_1_0_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = ParameterList(b, l + 1);
r = r && Parameters_1_0_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ','?
private static boolean Parameters_1_0_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Parameters_1_0_0_1")) return false;
consumeToken(b, COMMA);
return true;
}
/* ********************************************************** */
// '*' Type
public static boolean PointerType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "PointerType")) return false;
if (!nextTokenIs(b, MUL)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, POINTER_TYPE, null);
r = consumeToken(b, MUL);
p = r; // pin = 1
r = r && Type(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// '.' identifier
public static boolean QualifiedReferenceExpression(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "QualifiedReferenceExpression")) return false;
if (!nextTokenIs(b, DOT)) return false;
boolean r;
Marker m = enter_section_(b, l, _LEFT_, REFERENCE_EXPRESSION, null);
r = consumeToken(b, DOT);
r = r && consumeToken(b, IDENTIFIER);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// '.' identifier
public static boolean QualifiedTypeReferenceExpression(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "QualifiedTypeReferenceExpression")) return false;
if (!nextTokenIs(b, DOT)) return false;
boolean r;
Marker m = enter_section_(b, l, _LEFT_, TYPE_REFERENCE_EXPRESSION, null);
r = consumeToken(b, DOT);
r = r && consumeToken(b, IDENTIFIER);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// range Expression | ExpressionsOrVariables range Expression
public static boolean RangeClause(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "RangeClause")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, RANGE_CLAUSE, "");
r = RangeClause_0(b, l + 1);
if (!r) r = RangeClause_1(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// range Expression
private static boolean RangeClause_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "RangeClause_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, RANGE);
p = r; // pin = 1
r = r && Expression(b, l + 1, -1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ExpressionsOrVariables range Expression
private static boolean RangeClause_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "RangeClause_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = ExpressionsOrVariables(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, consumeToken(b, RANGE));
r = p && Expression(b, l + 1, -1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// '(' (identifier ReceiverTail | ReceiverTail) ')'
public static boolean Receiver(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Receiver")) return false;
if (!nextTokenIs(b, LPAREN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, RECEIVER, null);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, Receiver_1(b, l + 1));
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// identifier ReceiverTail | ReceiverTail
private static boolean Receiver_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Receiver_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = Receiver_1_0(b, l + 1);
if (!r) r = ReceiverTail(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// identifier ReceiverTail
private static boolean Receiver_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Receiver_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
r = r && ReceiverTail(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// Type ','?
static boolean ReceiverTail(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ReceiverTail")) return false;
boolean r;
Marker m = enter_section_(b);
r = Type(b, l + 1);
r = r && ReceiverTail_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ','?
private static boolean ReceiverTail_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ReceiverTail_1")) return false;
consumeToken(b, COMMA);
return true;
}
/* ********************************************************** */
// ExpressionsOrVariables? Expression
public static boolean RecvStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "RecvStatement")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, RECV_STATEMENT, "");
r = RecvStatement_0(b, l + 1);
r = r && Expression(b, l + 1, -1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ExpressionsOrVariables?
private static boolean RecvStatement_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "RecvStatement_0")) return false;
ExpressionsOrVariables(b, l + 1);
return true;
}
/* ********************************************************** */
// identifier
public static boolean ReferenceExpression(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ReferenceExpression")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, REFERENCE_EXPRESSION, r);
return r;
}
/* ********************************************************** */
// '==' | '!=' | '<' | '<=' | '>' | '>='
static boolean RelOp(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "RelOp")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, EQ);
if (!r) r = consumeToken(b, NOT_EQ);
if (!r) r = consumeToken(b, LESS);
if (!r) r = consumeToken(b, LESS_OR_EQUAL);
if (!r) r = consumeToken(b, GREATER);
if (!r) r = consumeToken(b, GREATER_OR_EQUAL);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// '(' TypeListNoPin ')' | Type | Parameters
public static boolean Result(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Result")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, RESULT, "");
r = Result_0(b, l + 1);
if (!r) r = Type(b, l + 1);
if (!r) r = Parameters(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// '(' TypeListNoPin ')'
private static boolean Result_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Result_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, LPAREN);
r = r && TypeListNoPin(b, l + 1);
r = r && consumeToken(b, RPAREN);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// return ExpressionList?
public static boolean ReturnStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ReturnStatement")) return false;
if (!nextTokenIs(b, RETURN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, RETURN_STATEMENT, null);
r = consumeToken(b, RETURN);
p = r; // pin = 1
r = r && ReturnStatement_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ExpressionList?
private static boolean ReturnStatement_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ReturnStatement_1")) return false;
ExpressionList(b, l + 1);
return true;
}
/* ********************************************************** */
// select '{' CommClause* '}'
public static boolean SelectStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SelectStatement")) return false;
if (!nextTokenIs(b, SELECT)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, SELECT_STATEMENT, null);
r = consumeToken(b, SELECT);
p = r; // pin = 1
r = r && report_error_(b, consumeToken(b, LBRACE));
r = p && report_error_(b, SelectStatement_2(b, l + 1)) && r;
r = p && consumeToken(b, RBRACE) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// CommClause*
private static boolean SelectStatement_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SelectStatement_2")) return false;
int c = current_position_(b);
while (true) {
if (!CommClause(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "SelectStatement_2", c)) break;
c = current_position_(b);
}
return true;
}
/* ********************************************************** */
// '<-' Expression
public static boolean SendStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SendStatement")) return false;
if (!nextTokenIs(b, SEND_CHANNEL)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _LEFT_, SEND_STATEMENT, null);
r = consumeToken(b, SEND_CHANNEL);
p = r; // pin = 1
r = r && Expression(b, l + 1, -1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// VarDefinitionList ':=' ExpressionList
public static boolean ShortVarDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ShortVarDeclaration")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, SHORT_VAR_DECLARATION, null);
r = VarDefinitionList(b, l + 1);
r = r && consumeToken(b, VAR_ASSIGN);
p = r; // pin = 2
r = r && ExpressionList(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// Parameters Result?
public static boolean Signature(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Signature")) return false;
if (!nextTokenIs(b, LPAREN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, SIGNATURE, null);
r = Parameters(b, l + 1);
p = r; // pin = 1
r = r && Signature_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// Result?
private static boolean Signature_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Signature_1")) return false;
Result(b, l + 1);
return true;
}
/* ********************************************************** */
// ShortVarDeclaration
// | IncDecStatement
// | (LeftHandExprList [AssignmentStatement | SendStatement])
public static boolean SimpleStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SimpleStatement")) return false;
boolean r;
Marker m = enter_section_(b, l, _COLLAPSE_, SIMPLE_STATEMENT, "");
r = ShortVarDeclaration(b, l + 1);
if (!r) r = IncDecStatement(b, l + 1);
if (!r) r = SimpleStatement_2(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// LeftHandExprList [AssignmentStatement | SendStatement]
private static boolean SimpleStatement_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SimpleStatement_2")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = LeftHandExprList(b, l + 1);
p = r; // pin = LeftHandExprList
r = r && SimpleStatement_2_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// [AssignmentStatement | SendStatement]
private static boolean SimpleStatement_2_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SimpleStatement_2_1")) return false;
SimpleStatement_2_1_0(b, l + 1);
return true;
}
// AssignmentStatement | SendStatement
private static boolean SimpleStatement_2_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SimpleStatement_2_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = AssignmentStatement(b, l + 1);
if (!r) r = SendStatement(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// [SimpleStatement ';'?]
static boolean SimpleStatementOpt(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SimpleStatementOpt")) return false;
SimpleStatementOpt_0(b, l + 1);
return true;
}
// SimpleStatement ';'?
private static boolean SimpleStatementOpt_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SimpleStatementOpt_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = SimpleStatement(b, l + 1);
r = r && SimpleStatementOpt_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ';'?
private static boolean SimpleStatementOpt_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SimpleStatementOpt_0_1")) return false;
consumeToken(b, SEMICOLON);
return true;
}
/* ********************************************************** */
// &':' (':' Expression ':' Expression) | (':' Expression?)
static boolean SliceExprBody(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SliceExprBody")) return false;
if (!nextTokenIs(b, COLON)) return false;
boolean r;
Marker m = enter_section_(b);
r = SliceExprBody_0(b, l + 1);
if (!r) r = SliceExprBody_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &':' (':' Expression ':' Expression)
private static boolean SliceExprBody_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SliceExprBody_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = SliceExprBody_0_0(b, l + 1);
r = r && SliceExprBody_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &':'
private static boolean SliceExprBody_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SliceExprBody_0_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = consumeToken(b, COLON);
exit_section_(b, l, m, r, false, null);
return r;
}
// ':' Expression ':' Expression
private static boolean SliceExprBody_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SliceExprBody_0_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, COLON);
r = r && Expression(b, l + 1, -1);
r = r && consumeToken(b, COLON);
r = r && Expression(b, l + 1, -1);
exit_section_(b, m, null, r);
return r;
}
// ':' Expression?
private static boolean SliceExprBody_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SliceExprBody_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, COLON);
r = r && SliceExprBody_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// Expression?
private static boolean SliceExprBody_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SliceExprBody_1_1")) return false;
Expression(b, l + 1, -1);
return true;
}
/* ********************************************************** */
// SliceExprBody
static boolean SliceExprBodyInner(PsiBuilder b, int l) {
return SliceExprBody(b, l + 1);
}
/* ********************************************************** */
// identifier Type
public static boolean SpecType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SpecType")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, SPEC_TYPE, null);
r = consumeToken(b, IDENTIFIER);
p = r; // pin = 1
r = r && Type(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// ConstDeclaration
// | TypeDeclaration
// | VarDeclaration
// | LabeledStatement
// | SimpleStatement
// | GoStatement
// | ReturnStatement
// | BreakStatement
// | ContinueStatement
// | GotoStatement
// | FallthroughStatement
// | Block
// | IfStatement
// | SwitchStatement
// | SelectStatement
// | ForStatement
// | DeferStatement
public static boolean Statement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Statement")) return false;
boolean r;
Marker m = enter_section_(b, l, _COLLAPSE_, STATEMENT, "");
r = ConstDeclaration(b, l + 1);
if (!r) r = TypeDeclaration(b, l + 1);
if (!r) r = VarDeclaration(b, l + 1);
if (!r) r = LabeledStatement(b, l + 1);
if (!r) r = SimpleStatement(b, l + 1);
if (!r) r = GoStatement(b, l + 1);
if (!r) r = ReturnStatement(b, l + 1);
if (!r) r = BreakStatement(b, l + 1);
if (!r) r = ContinueStatement(b, l + 1);
if (!r) r = GotoStatement(b, l + 1);
if (!r) r = FallthroughStatement(b, l + 1);
if (!r) r = Block(b, l + 1);
if (!r) r = IfStatement(b, l + 1);
if (!r) r = SwitchStatement(b, l + 1);
if (!r) r = SelectStatement(b, l + 1);
if (!r) r = ForStatement(b, l + 1);
if (!r) r = DeferStatement(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// !('!' | '&' | '(' | '*' | '+' | '-' | ';' | '<-' | '^' | 'type' | '{' | '|' | '|=' | '||' | '}' | break | case | char | const | continue | decimali | default | defer | else | fallthrough | float | floati | for | func | go | goto | hex | identifier | if | int | interface | map | oct | return | select | string | raw_string | struct | switch | var)
static boolean StatementRecover(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "StatementRecover")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !StatementRecover_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// '!' | '&' | '(' | '*' | '+' | '-' | ';' | '<-' | '^' | 'type' | '{' | '|' | '|=' | '||' | '}' | break | case | char | const | continue | decimali | default | defer | else | fallthrough | float | floati | for | func | go | goto | hex | identifier | if | int | interface | map | oct | return | select | string | raw_string | struct | switch | var
private static boolean StatementRecover_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "StatementRecover_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, NOT);
if (!r) r = consumeToken(b, BIT_AND);
if (!r) r = consumeToken(b, LPAREN);
if (!r) r = consumeToken(b, MUL);
if (!r) r = consumeToken(b, PLUS);
if (!r) r = consumeToken(b, MINUS);
if (!r) r = consumeToken(b, SEMICOLON);
if (!r) r = consumeToken(b, SEND_CHANNEL);
if (!r) r = consumeToken(b, BIT_XOR);
if (!r) r = consumeToken(b, TYPE_);
if (!r) r = consumeToken(b, LBRACE);
if (!r) r = consumeToken(b, BIT_OR);
if (!r) r = consumeToken(b, BIT_OR_ASSIGN);
if (!r) r = consumeToken(b, COND_OR);
if (!r) r = consumeToken(b, RBRACE);
if (!r) r = consumeToken(b, BREAK);
if (!r) r = consumeToken(b, CASE);
if (!r) r = consumeToken(b, CHAR);
if (!r) r = consumeToken(b, CONST);
if (!r) r = consumeToken(b, CONTINUE);
if (!r) r = consumeToken(b, DECIMALI);
if (!r) r = consumeToken(b, DEFAULT);
if (!r) r = consumeToken(b, DEFER);
if (!r) r = consumeToken(b, ELSE);
if (!r) r = consumeToken(b, FALLTHROUGH);
if (!r) r = consumeToken(b, FLOAT);
if (!r) r = consumeToken(b, FLOATI);
if (!r) r = consumeToken(b, FOR);
if (!r) r = consumeToken(b, FUNC);
if (!r) r = consumeToken(b, GO);
if (!r) r = consumeToken(b, GOTO);
if (!r) r = consumeToken(b, HEX);
if (!r) r = consumeToken(b, IDENTIFIER);
if (!r) r = consumeToken(b, IF);
if (!r) r = consumeToken(b, INT);
if (!r) r = consumeToken(b, INTERFACE);
if (!r) r = consumeToken(b, MAP);
if (!r) r = consumeToken(b, OCT);
if (!r) r = consumeToken(b, RETURN);
if (!r) r = consumeToken(b, SELECT);
if (!r) r = consumeToken(b, STRING);
if (!r) r = consumeToken(b, RAW_STRING);
if (!r) r = consumeToken(b, STRUCT);
if (!r) r = consumeToken(b, SWITCH);
if (!r) r = consumeToken(b, VAR);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// Statement (semi|&'}')
static boolean StatementWithSemi(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "StatementWithSemi")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = Statement(b, l + 1);
p = r; // pin = 1
r = r && StatementWithSemi_1(b, l + 1);
exit_section_(b, l, m, r, p, StatementRecover_parser_);
return r || p;
}
// semi|&'}'
private static boolean StatementWithSemi_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "StatementWithSemi_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = semi(b, l + 1);
if (!r) r = StatementWithSemi_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// &'}'
private static boolean StatementWithSemi_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "StatementWithSemi_1_1")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = consumeToken(b, RBRACE);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// StatementWithSemi*
static boolean Statements(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Statements")) return false;
int c = current_position_(b);
while (true) {
if (!StatementWithSemi(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "Statements", c)) break;
c = current_position_(b);
}
return true;
}
/* ********************************************************** */
// string | raw_string
public static boolean StringLiteral(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "StringLiteral")) return false;
if (!nextTokenIs(b, "", RAW_STRING, STRING)) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, STRING_LITERAL, "");
r = consumeToken(b, STRING);
if (!r) r = consumeToken(b, RAW_STRING);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// struct '{' Fields? '}'
public static boolean StructType(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "StructType")) return false;
if (!nextTokenIs(b, STRUCT)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, STRUCT_TYPE, null);
r = consumeToken(b, STRUCT);
p = r; // pin = 1
r = r && report_error_(b, consumeToken(b, LBRACE));
r = p && report_error_(b, StructType_2(b, l + 1)) && r;
r = p && consumeToken(b, RBRACE) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// Fields?
private static boolean StructType_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "StructType_2")) return false;
Fields(b, l + 1);
return true;
}
/* ********************************************************** */
// switch
public static boolean SwitchStart(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SwitchStart")) return false;
if (!nextTokenIs(b, SWITCH)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, SWITCH);
exit_section_(b, m, SWITCH_START, r);
return r;
}
/* ********************************************************** */
// SwitchStart (TypeSwitchStatement | ExprSwitchStatement)
public static boolean SwitchStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SwitchStatement")) return false;
if (!nextTokenIs(b, SWITCH)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _COLLAPSE_, SWITCH_STATEMENT, null);
r = SwitchStart(b, l + 1);
p = r; // pin = 1
r = r && SwitchStatement_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// TypeSwitchStatement | ExprSwitchStatement
private static boolean SwitchStatement_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SwitchStatement_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = TypeSwitchStatement(b, l + 1);
if (!r) r = ExprSwitchStatement(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// StringLiteral
public static boolean Tag(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Tag")) return false;
if (!nextTokenIs(b, "", RAW_STRING, STRING)) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, TAG, "");
r = StringLiteral(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// ConstDeclaration
// | TypeDeclaration
// | VarDeclaration
// | FunctionDeclaration
// | MethodDeclaration
static boolean TopDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TopDeclaration")) return false;
boolean r;
Marker m = enter_section_(b);
r = ConstDeclaration(b, l + 1);
if (!r) r = TypeDeclaration(b, l + 1);
if (!r) r = VarDeclaration(b, l + 1);
if (!r) r = FunctionDeclaration(b, l + 1);
if (!r) r = MethodDeclaration(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// !<> TopDeclaration semi
static boolean TopLevelDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TopLevelDeclaration")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = TopLevelDeclaration_0(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, TopDeclaration(b, l + 1));
r = p && semi(b, l + 1) && r;
exit_section_(b, l, m, r, p, TopLevelDeclarationRecover_parser_);
return r || p;
}
// !<>
private static boolean TopLevelDeclaration_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TopLevelDeclaration_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !eof(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// !(';' |'type' | const | func | var)
static boolean TopLevelDeclarationRecover(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TopLevelDeclarationRecover")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !TopLevelDeclarationRecover_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ';' |'type' | const | func | var
private static boolean TopLevelDeclarationRecover_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TopLevelDeclarationRecover_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, SEMICOLON);
if (!r) r = consumeToken(b, TYPE_);
if (!r) r = consumeToken(b, CONST);
if (!r) r = consumeToken(b, FUNC);
if (!r) r = consumeToken(b, VAR);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// TypeName | TypeLit | ParType
public static boolean Type(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Type")) return false;
boolean r;
Marker m = enter_section_(b, l, _COLLAPSE_, TYPE, "");
r = TypeName(b, l + 1);
if (!r) r = TypeLit(b, l + 1);
if (!r) r = ParType(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// !'}' TypeSwitchCase ':' Statements?
public static boolean TypeCaseClause(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeCaseClause")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, TYPE_CASE_CLAUSE, "");
r = TypeCaseClause_0(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, TypeSwitchCase(b, l + 1));
r = p && report_error_(b, consumeToken(b, COLON)) && r;
r = p && TypeCaseClause_3(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// !'}'
private static boolean TypeCaseClause_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeCaseClause_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !consumeToken(b, RBRACE);
exit_section_(b, l, m, r, false, null);
return r;
}
// Statements?
private static boolean TypeCaseClause_3(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeCaseClause_3")) return false;
Statements(b, l + 1);
return true;
}
/* ********************************************************** */
// 'type' ( TypeSpec | '(' TypeSpecs? ')' )
public static boolean TypeDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeDeclaration")) return false;
if (!nextTokenIs(b, TYPE_)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, TYPE_DECLARATION, null);
r = consumeToken(b, TYPE_);
p = r; // pin = 1
r = r && TypeDeclaration_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// TypeSpec | '(' TypeSpecs? ')'
private static boolean TypeDeclaration_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeDeclaration_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = TypeSpec(b, l + 1);
if (!r) r = TypeDeclaration_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '(' TypeSpecs? ')'
private static boolean TypeDeclaration_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeDeclaration_1_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, TypeDeclaration_1_1_1(b, l + 1));
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// TypeSpecs?
private static boolean TypeDeclaration_1_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeDeclaration_1_1_1")) return false;
TypeSpecs(b, l + 1);
return true;
}
/* ********************************************************** */
// '(' 'type' ')'
public static boolean TypeGuard(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeGuard")) return false;
if (!nextTokenIs(b, LPAREN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, TYPE_GUARD, null);
r = consumeToken(b, LPAREN);
r = r && consumeToken(b, TYPE_);
p = r; // pin = 2
r = r && consumeToken(b, RPAREN);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// Type ( ',' Type )* ','?
public static boolean TypeList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeList")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _COLLAPSE_, TYPE_LIST, "");
r = Type(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, TypeList_1(b, l + 1));
r = p && TypeList_2(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ( ',' Type )*
private static boolean TypeList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeList_1")) return false;
int c = current_position_(b);
while (true) {
if (!TypeList_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "TypeList_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' Type
private static boolean TypeList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeList_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COMMA);
p = r; // pin = 1
r = r && Type(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ','?
private static boolean TypeList_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeList_2")) return false;
consumeToken(b, COMMA);
return true;
}
/* ********************************************************** */
// Type ( ',' Type )* ','?
public static boolean TypeListNoPin(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeListNoPin")) return false;
boolean r;
Marker m = enter_section_(b, l, _COLLAPSE_, TYPE_LIST, "");
r = Type(b, l + 1);
r = r && TypeListNoPin_1(b, l + 1);
r = r && TypeListNoPin_2(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ( ',' Type )*
private static boolean TypeListNoPin_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeListNoPin_1")) return false;
int c = current_position_(b);
while (true) {
if (!TypeListNoPin_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "TypeListNoPin_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' Type
private static boolean TypeListNoPin_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeListNoPin_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, COMMA);
r = r && Type(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ','?
private static boolean TypeListNoPin_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeListNoPin_2")) return false;
consumeToken(b, COMMA);
return true;
}
/* ********************************************************** */
// ArrayOrSliceType
// | StructType
// | PointerType
// | FunctionType
// | InterfaceType
// | MapType
// | ChannelType
static boolean TypeLit(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeLit")) return false;
boolean r;
Marker m = enter_section_(b);
r = ArrayOrSliceType(b, l + 1);
if (!r) r = StructType(b, l + 1);
if (!r) r = PointerType(b, l + 1);
if (!r) r = FunctionType(b, l + 1);
if (!r) r = InterfaceType(b, l + 1);
if (!r) r = MapType(b, l + 1);
if (!r) r = ChannelType(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// TypeReferenceExpression QualifiedTypeReferenceExpression?
static boolean TypeName(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeName")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = TypeReferenceExpression(b, l + 1);
r = r && TypeName_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// QualifiedTypeReferenceExpression?
private static boolean TypeName_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeName_1")) return false;
QualifiedTypeReferenceExpression(b, l + 1);
return true;
}
/* ********************************************************** */
// identifier
public static boolean TypeReferenceExpression(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeReferenceExpression")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, TYPE_REFERENCE_EXPRESSION, r);
return r;
}
/* ********************************************************** */
// SpecType
public static boolean TypeSpec(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSpec")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = SpecType(b, l + 1);
exit_section_(b, m, TYPE_SPEC, r);
return r;
}
/* ********************************************************** */
// TypeSpec (semi TypeSpec)* semi?
static boolean TypeSpecs(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSpecs")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = TypeSpec(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, TypeSpecs_1(b, l + 1));
r = p && TypeSpecs_2(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (semi TypeSpec)*
private static boolean TypeSpecs_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSpecs_1")) return false;
int c = current_position_(b);
while (true) {
if (!TypeSpecs_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "TypeSpecs_1", c)) break;
c = current_position_(b);
}
return true;
}
// semi TypeSpec
private static boolean TypeSpecs_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSpecs_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = semi(b, l + 1);
r = r && TypeSpec(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// semi?
private static boolean TypeSpecs_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSpecs_2")) return false;
semi(b, l + 1);
return true;
}
/* ********************************************************** */
// case TypeList | default
static boolean TypeSwitchCase(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchCase")) return false;
if (!nextTokenIs(b, "", CASE, DEFAULT)) return false;
boolean r;
Marker m = enter_section_(b);
r = TypeSwitchCase_0(b, l + 1);
if (!r) r = consumeToken(b, DEFAULT);
exit_section_(b, m, null, r);
return r;
}
// case TypeList
private static boolean TypeSwitchCase_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchCase_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, CASE);
p = r; // pin = 1
r = r && TypeList(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// [ VarDefinition ':=' ] Expression '.' TypeGuard
public static boolean TypeSwitchGuard(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchGuard")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, TYPE_SWITCH_GUARD, "");
r = TypeSwitchGuard_0(b, l + 1);
r = r && Expression(b, l + 1, -1);
r = r && consumeToken(b, DOT);
r = r && TypeGuard(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// [ VarDefinition ':=' ]
private static boolean TypeSwitchGuard_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchGuard_0")) return false;
TypeSwitchGuard_0_0(b, l + 1);
return true;
}
// VarDefinition ':='
private static boolean TypeSwitchGuard_0_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchGuard_0_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = VarDefinition(b, l + 1);
r = r && consumeToken(b, VAR_ASSIGN);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// (TypeSwitchGuard | SimpleStatement ';'? TypeSwitchGuard) '{' ( TypeCaseClause )* '}'
public static boolean TypeSwitchStatement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchStatement")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _LEFT_, TYPE_SWITCH_STATEMENT, "");
r = TypeSwitchStatement_0(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, consumeToken(b, LBRACE));
r = p && report_error_(b, TypeSwitchStatement_2(b, l + 1)) && r;
r = p && consumeToken(b, RBRACE) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// TypeSwitchGuard | SimpleStatement ';'? TypeSwitchGuard
private static boolean TypeSwitchStatement_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchStatement_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = TypeSwitchGuard(b, l + 1);
if (!r) r = TypeSwitchStatement_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// SimpleStatement ';'? TypeSwitchGuard
private static boolean TypeSwitchStatement_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchStatement_0_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = SimpleStatement(b, l + 1);
r = r && TypeSwitchStatement_0_1_1(b, l + 1);
r = r && TypeSwitchGuard(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ';'?
private static boolean TypeSwitchStatement_0_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchStatement_0_1_1")) return false;
consumeToken(b, SEMICOLON);
return true;
}
// ( TypeCaseClause )*
private static boolean TypeSwitchStatement_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchStatement_2")) return false;
int c = current_position_(b);
while (true) {
if (!TypeSwitchStatement_2_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "TypeSwitchStatement_2", c)) break;
c = current_position_(b);
}
return true;
}
// ( TypeCaseClause )
private static boolean TypeSwitchStatement_2_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeSwitchStatement_2_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = TypeCaseClause(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// '+' | '-' | '!' | '^' | '*' | '&' | '<-'
static boolean UnaryOp(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "UnaryOp")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, PLUS);
if (!r) r = consumeToken(b, MINUS);
if (!r) r = consumeToken(b, NOT);
if (!r) r = consumeToken(b, BIT_XOR);
if (!r) r = consumeToken(b, MUL);
if (!r) r = consumeToken(b, BIT_AND);
if (!r) r = consumeToken(b, SEND_CHANNEL);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// Expression | LiteralValue
public static boolean Value(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Value")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, VALUE, "");
r = Expression(b, l + 1, -1);
if (!r) r = LiteralValue(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// var ( VarSpec | '(' VarSpecs? ')' )
public static boolean VarDeclaration(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarDeclaration")) return false;
if (!nextTokenIs(b, VAR)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, VAR_DECLARATION, null);
r = consumeToken(b, VAR);
p = r; // pin = 1
r = r && VarDeclaration_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// VarSpec | '(' VarSpecs? ')'
private static boolean VarDeclaration_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarDeclaration_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = VarSpec(b, l + 1);
if (!r) r = VarDeclaration_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '(' VarSpecs? ')'
private static boolean VarDeclaration_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarDeclaration_1_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, VarDeclaration_1_1_1(b, l + 1));
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// VarSpecs?
private static boolean VarDeclaration_1_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarDeclaration_1_1_1")) return false;
VarSpecs(b, l + 1);
return true;
}
/* ********************************************************** */
// identifier
public static boolean VarDefinition(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarDefinition")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, IDENTIFIER);
exit_section_(b, m, VAR_DEFINITION, r);
return r;
}
/* ********************************************************** */
// VarDefinition ( ',' VarDefinition )*
static boolean VarDefinitionList(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarDefinitionList")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = VarDefinition(b, l + 1);
p = r; // pin = 1
r = r && VarDefinitionList_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// ( ',' VarDefinition )*
private static boolean VarDefinitionList_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarDefinitionList_1")) return false;
int c = current_position_(b);
while (true) {
if (!VarDefinitionList_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "VarDefinitionList_1", c)) break;
c = current_position_(b);
}
return true;
}
// ',' VarDefinition
private static boolean VarDefinitionList_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarDefinitionList_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, COMMA);
p = r; // pin = 1
r = r && VarDefinition(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// VarDefinitionList ( Type [ '=' ExpressionList ] | '=' ExpressionList )
public static boolean VarSpec(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpec")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, VAR_SPEC, null);
r = VarDefinitionList(b, l + 1);
p = r; // pin = 1
r = r && VarSpec_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// Type [ '=' ExpressionList ] | '=' ExpressionList
private static boolean VarSpec_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpec_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = VarSpec_1_0(b, l + 1);
if (!r) r = VarSpec_1_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// Type [ '=' ExpressionList ]
private static boolean VarSpec_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpec_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = Type(b, l + 1);
p = r; // pin = 1
r = r && VarSpec_1_0_1(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// [ '=' ExpressionList ]
private static boolean VarSpec_1_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpec_1_0_1")) return false;
VarSpec_1_0_1_0(b, l + 1);
return true;
}
// '=' ExpressionList
private static boolean VarSpec_1_0_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpec_1_0_1_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, ASSIGN);
p = r; // pin = 1
r = r && ExpressionList(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// '=' ExpressionList
private static boolean VarSpec_1_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpec_1_1")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = consumeToken(b, ASSIGN);
p = r; // pin = 1
r = r && ExpressionList(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
/* ********************************************************** */
// VarSpec (semi VarSpec)* semi?
static boolean VarSpecs(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpecs")) return false;
if (!nextTokenIs(b, IDENTIFIER)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = VarSpec(b, l + 1);
p = r; // pin = 1
r = r && report_error_(b, VarSpecs_1(b, l + 1));
r = p && VarSpecs_2(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// (semi VarSpec)*
private static boolean VarSpecs_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpecs_1")) return false;
int c = current_position_(b);
while (true) {
if (!VarSpecs_1_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "VarSpecs_1", c)) break;
c = current_position_(b);
}
return true;
}
// semi VarSpec
private static boolean VarSpecs_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpecs_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = semi(b, l + 1);
r = r && VarSpec(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// semi?
private static boolean VarSpecs_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "VarSpecs_2")) return false;
semi(b, l + 1);
return true;
}
/* ********************************************************** */
// '=' | '+=' | '-=' | '|=' | '^=' | '*=' | '/=' | '%=' | '<<=' | '>>=' | '&=' | '&^='
public static boolean assign_op(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "assign_op")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, ASSIGN_OP, "");
r = consumeToken(b, ASSIGN);
if (!r) r = consumeToken(b, PLUS_ASSIGN);
if (!r) r = consumeToken(b, MINUS_ASSIGN);
if (!r) r = consumeToken(b, BIT_OR_ASSIGN);
if (!r) r = consumeToken(b, BIT_XOR_ASSIGN);
if (!r) r = consumeToken(b, MUL_ASSIGN);
if (!r) r = consumeToken(b, QUOTIENT_ASSIGN);
if (!r) r = consumeToken(b, REMAINDER_ASSIGN);
if (!r) r = consumeToken(b, SHIFT_LEFT_ASSIGN);
if (!r) r = consumeToken(b, SHIFT_RIGHT_ASSIGN);
if (!r) r = consumeToken(b, BIT_AND_ASSIGN);
if (!r) r = consumeToken(b, BIT_CLEAR_ASSIGN);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
// '' | ';' | <>
static boolean semi(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "semi")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, SEMICOLON_SYNTHETIC);
if (!r) r = consumeToken(b, SEMICOLON);
if (!r) r = eof(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// Expression root: Expression
// Operator priority table:
// 0: BINARY(OrExpr)
// 1: BINARY(AndExpr)
// 2: BINARY(ConditionalExpr)
// 3: BINARY(AddExpr)
// 4: BINARY(MulExpr)
// 5: PREFIX(UnaryExpr)
// 6: ATOM(ConversionExpr)
// 7: ATOM(CompositeLit) ATOM(OperandName) POSTFIX(BuiltinCallExpr) POSTFIX(CallExpr)
// POSTFIX(TypeAssertionExpr) BINARY(SelectorExpr) POSTFIX(IndexOrSliceExpr) ATOM(Literal)
// ATOM(FunctionLit)
// 8: ATOM(ParenthesesExpr)
public static boolean Expression(PsiBuilder b, int l, int g) {
if (!recursion_guard_(b, l, "Expression")) return false;
addVariant(b, "");
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, "");
r = UnaryExpr(b, l + 1);
if (!r) r = ConversionExpr(b, l + 1);
if (!r) r = CompositeLit(b, l + 1);
if (!r) r = OperandName(b, l + 1);
if (!r) r = Literal(b, l + 1);
if (!r) r = FunctionLit(b, l + 1);
if (!r) r = ParenthesesExpr(b, l + 1);
p = r;
r = r && Expression_0(b, l + 1, g);
exit_section_(b, l, m, null, r, p, null);
return r || p;
}
public static boolean Expression_0(PsiBuilder b, int l, int g) {
if (!recursion_guard_(b, l, "Expression_0")) return false;
boolean r = true;
while (true) {
Marker m = enter_section_(b, l, _LEFT_, null);
if (g < 0 && consumeTokenSmart(b, COND_OR)) {
r = Expression(b, l, 0);
exit_section_(b, l, m, OR_EXPR, r, true, null);
}
else if (g < 1 && consumeTokenSmart(b, COND_AND)) {
r = Expression(b, l, 1);
exit_section_(b, l, m, AND_EXPR, r, true, null);
}
else if (g < 2 && RelOp(b, l + 1)) {
r = Expression(b, l, 2);
exit_section_(b, l, m, CONDITIONAL_EXPR, r, true, null);
}
else if (g < 3 && AddOp(b, l + 1)) {
r = Expression(b, l, 3);
exit_section_(b, l, m, ADD_EXPR, r, true, null);
}
else if (g < 4 && MulOp(b, l + 1)) {
r = Expression(b, l, 4);
exit_section_(b, l, m, MUL_EXPR, r, true, null);
}
else if (g < 7 && leftMarkerIs(b, REFERENCE_EXPRESSION) && BuiltinCallExpr_0(b, l + 1)) {
r = true;
exit_section_(b, l, m, BUILTIN_CALL_EXPR, r, true, null);
}
else if (g < 7 && ArgumentList(b, l + 1)) {
r = true;
exit_section_(b, l, m, CALL_EXPR, r, true, null);
}
else if (g < 7 && TypeAssertionExpr_0(b, l + 1)) {
r = true;
exit_section_(b, l, m, TYPE_ASSERTION_EXPR, r, true, null);
}
else if (g < 7 && SelectorExpr_0(b, l + 1)) {
r = Expression(b, l, 7);
exit_section_(b, l, m, SELECTOR_EXPR, r, true, null);
}
else if (g < 7 && IndexOrSliceExpr_0(b, l + 1)) {
r = true;
exit_section_(b, l, m, INDEX_OR_SLICE_EXPR, r, true, null);
}
else {
exit_section_(b, l, m, null, false, false, null);
break;
}
}
return r;
}
public static boolean UnaryExpr(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "UnaryExpr")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, null);
r = UnaryOp(b, l + 1);
p = r;
r = p && Expression(b, l, 5);
exit_section_(b, l, m, UNARY_EXPR, r, p, null);
return r || p;
}
// &ConversionPredicate Type ConversionTail
public static boolean ConversionExpr(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConversionExpr")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, CONVERSION_EXPR, "");
r = ConversionExpr_0(b, l + 1);
r = r && Type(b, l + 1);
r = r && ConversionTail(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// &ConversionPredicate
private static boolean ConversionExpr_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ConversionExpr_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = ConversionPredicate(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// LiteralTypeExprInner LiteralValue | TypeName LiteralValue
public static boolean CompositeLit(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CompositeLit")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, COMPOSITE_LIT, "");
r = CompositeLit_0(b, l + 1);
if (!r) r = CompositeLit_1(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// LiteralTypeExprInner LiteralValue
private static boolean CompositeLit_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CompositeLit_0")) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_);
r = LiteralTypeExprInner(b, l + 1);
p = r; // pin = LiteralTypeExprInner
r = r && LiteralValue(b, l + 1);
exit_section_(b, l, m, r, p, null);
return r || p;
}
// TypeName LiteralValue
private static boolean CompositeLit_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "CompositeLit_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = TypeName(b, l + 1);
r = r && LiteralValue(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// ReferenceExpression QualifiedReferenceExpression?
public static boolean OperandName(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "OperandName")) return false;
if (!nextTokenIsSmart(b, IDENTIFIER)) return false;
boolean r;
Marker m = enter_section_(b, l, _COLLAPSE_, REFERENCE_EXPRESSION, null);
r = ReferenceExpression(b, l + 1);
r = r && OperandName_1(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// QualifiedReferenceExpression?
private static boolean OperandName_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "OperandName_1")) return false;
QualifiedReferenceExpression(b, l + 1);
return true;
}
// <> BuiltinArgumentList
private static boolean BuiltinCallExpr_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "BuiltinCallExpr_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = isBuiltin(b, l + 1);
r = r && BuiltinArgumentList(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// '.' '(' &(!'type') Type ')'
private static boolean TypeAssertionExpr_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeAssertionExpr_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeTokenSmart(b, DOT);
r = r && consumeToken(b, LPAREN);
r = r && TypeAssertionExpr_0_2(b, l + 1);
r = r && Type(b, l + 1);
r = r && consumeToken(b, RPAREN);
exit_section_(b, m, null, r);
return r;
}
// &(!'type')
private static boolean TypeAssertionExpr_0_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeAssertionExpr_0_2")) return false;
boolean r;
Marker m = enter_section_(b, l, _AND_);
r = TypeAssertionExpr_0_2_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// !'type'
private static boolean TypeAssertionExpr_0_2_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "TypeAssertionExpr_0_2_0")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !consumeTokenSmart(b, TYPE_);
exit_section_(b, l, m, r, false, null);
return r;
}
// '.' !('(' 'type')
private static boolean SelectorExpr_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SelectorExpr_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeTokenSmart(b, DOT);
r = r && SelectorExpr_0_1(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// !('(' 'type')
private static boolean SelectorExpr_0_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SelectorExpr_0_1")) return false;
boolean r;
Marker m = enter_section_(b, l, _NOT_);
r = !SelectorExpr_0_1_0(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// '(' 'type'
private static boolean SelectorExpr_0_1_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "SelectorExpr_0_1_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeTokenSmart(b, LPAREN);
r = r && consumeToken(b, TYPE_);
exit_section_(b, m, null, r);
return r;
}
// '[' <> (SliceExprBody | IndexExprBody) <> ']'
private static boolean IndexOrSliceExpr_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "IndexOrSliceExpr_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeTokenSmart(b, LBRACK);
r = r && enterMode(b, l + 1, "PAR");
r = r && IndexOrSliceExpr_0_2(b, l + 1);
r = r && exitModeSafe(b, l + 1, "PAR");
r = r && consumeToken(b, RBRACK);
exit_section_(b, m, null, r);
return r;
}
// SliceExprBody | IndexExprBody
private static boolean IndexOrSliceExpr_0_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "IndexOrSliceExpr_0_2")) return false;
boolean r;
Marker m = enter_section_(b);
r = SliceExprBody(b, l + 1);
if (!r) r = IndexExprBody(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
// int
// | float
// | floati
// | decimali
// | hex
// | oct
// | StringLiteral
// | char
public static boolean Literal(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Literal")) return false;
boolean r;
Marker m = enter_section_(b, l, _COLLAPSE_, LITERAL, "");
r = consumeTokenSmart(b, INT);
if (!r) r = consumeTokenSmart(b, FLOAT);
if (!r) r = consumeTokenSmart(b, FLOATI);
if (!r) r = consumeTokenSmart(b, DECIMALI);
if (!r) r = consumeTokenSmart(b, HEX);
if (!r) r = consumeTokenSmart(b, OCT);
if (!r) r = StringLiteral(b, l + 1);
if (!r) r = consumeTokenSmart(b, CHAR);
exit_section_(b, l, m, r, false, null);
return r;
}
// func Signature Block
public static boolean FunctionLit(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionLit")) return false;
if (!nextTokenIsSmart(b, FUNC)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, FUNCTION_LIT, null);
r = consumeTokenSmart(b, FUNC);
p = r; // pin = 1
r = r && report_error_(b, Signature(b, l + 1));
r = p && Block(b, l + 1) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
// '(' <> Expression <>')'
public static boolean ParenthesesExpr(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "ParenthesesExpr")) return false;
if (!nextTokenIsSmart(b, LPAREN)) return false;
boolean r, p;
Marker m = enter_section_(b, l, _NONE_, PARENTHESES_EXPR, null);
r = consumeTokenSmart(b, LPAREN);
p = r; // pin = 1
r = r && report_error_(b, enterMode(b, l + 1, "PAR"));
r = p && report_error_(b, Expression(b, l + 1, -1)) && r;
r = p && report_error_(b, exitModeSafe(b, l + 1, "PAR")) && r;
r = p && consumeToken(b, RPAREN) && r;
exit_section_(b, l, m, r, p, null);
return r || p;
}
final static Parser E_recover_parser_ = new Parser() {
public boolean parse(PsiBuilder b, int l) {
return E_recover(b, l + 1);
}
};
final static Parser Element_parser_ = new Parser() {
public boolean parse(PsiBuilder b, int l) {
return Element(b, l + 1);
}
};
final static Parser ExpressionListRecover_parser_ = new Parser() {
public boolean parse(PsiBuilder b, int l) {
return ExpressionListRecover(b, l + 1);
}
};
final static Parser ExpressionOrTypeWithRecover_parser_ = new Parser() {
public boolean parse(PsiBuilder b, int l) {
return ExpressionOrTypeWithRecover(b, l + 1);
}
};
final static Parser StatementRecover_parser_ = new Parser() {
public boolean parse(PsiBuilder b, int l) {
return StatementRecover(b, l + 1);
}
};
final static Parser Statements_parser_ = new Parser() {
public boolean parse(PsiBuilder b, int l) {
return Statements(b, l + 1);
}
};
final static Parser TopLevelDeclarationRecover_parser_ = new Parser() {
public boolean parse(PsiBuilder b, int l) {
return TopLevelDeclarationRecover(b, l + 1);
}
};
}
================================================
FILE: gen/com/goide/psi/GoAddExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoAddExpr extends GoBinaryExpr {
@Nullable
PsiElement getBitOr();
@Nullable
PsiElement getBitXor();
@Nullable
PsiElement getMinus();
@Nullable
PsiElement getPlus();
}
================================================
FILE: gen/com/goide/psi/GoAndExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoAndExpr extends GoBinaryExpr {
@NotNull
PsiElement getCondAnd();
}
================================================
FILE: gen/com/goide/psi/GoAnonymousFieldDefinition.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoAnonymousFieldDefinitionStub;
import com.intellij.psi.ResolveState;
public interface GoAnonymousFieldDefinition extends GoNamedElement, StubBasedPsiElement {
@NotNull
GoType getType();
@Nullable
PsiElement getIdentifier();
@Nullable
String getName();
@Nullable
GoTypeReferenceExpression getTypeReferenceExpression();
@Nullable
GoType getGoTypeInner(ResolveState context);
}
================================================
FILE: gen/com/goide/psi/GoArgumentList.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoArgumentList extends GoCompositeElement {
@NotNull
List getExpressionList();
@NotNull
PsiElement getLparen();
@Nullable
PsiElement getRparen();
@Nullable
PsiElement getTripleDot();
}
================================================
FILE: gen/com/goide/psi/GoArrayOrSliceType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoArrayOrSliceType extends GoType {
@Nullable
GoExpression getExpression();
@Nullable
GoType getType();
@NotNull
PsiElement getLbrack();
@Nullable
PsiElement getRbrack();
@Nullable
PsiElement getTripleDot();
}
================================================
FILE: gen/com/goide/psi/GoAssignOp.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoAssignOp extends GoCompositeElement {
@Nullable
PsiElement getAssign();
@Nullable
PsiElement getBitAndAssign();
@Nullable
PsiElement getBitClearAssign();
@Nullable
PsiElement getBitOrAssign();
@Nullable
PsiElement getBitXorAssign();
@Nullable
PsiElement getMinusAssign();
@Nullable
PsiElement getMulAssign();
@Nullable
PsiElement getPlusAssign();
@Nullable
PsiElement getQuotientAssign();
@Nullable
PsiElement getRemainderAssign();
@Nullable
PsiElement getShiftLeftAssign();
@Nullable
PsiElement getShiftRightAssign();
}
================================================
FILE: gen/com/goide/psi/GoAssignmentStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoAssignmentStatement extends GoStatement {
@NotNull
List getExpressionList();
@NotNull
GoLeftHandExprList getLeftHandExprList();
@NotNull
GoAssignOp getAssignOp();
}
================================================
FILE: gen/com/goide/psi/GoBinaryExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoBinaryExpr extends GoExpression {
@NotNull
List getExpressionList();
@NotNull
GoExpression getLeft();
@Nullable
GoExpression getRight();
@Nullable
PsiElement getOperator();
}
================================================
FILE: gen/com/goide/psi/GoBlock.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public interface GoBlock extends GoCompositeElement {
@NotNull
List getStatementList();
@NotNull
PsiElement getLbrace();
@Nullable
PsiElement getRbrace();
boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place);
}
================================================
FILE: gen/com/goide/psi/GoBreakStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoBreakStatement extends GoStatement {
@Nullable
GoLabelRef getLabelRef();
@NotNull
PsiElement getBreak();
}
================================================
FILE: gen/com/goide/psi/GoBuiltinArgumentList.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoBuiltinArgumentList extends GoArgumentList {
@Nullable
GoType getType();
}
================================================
FILE: gen/com/goide/psi/GoBuiltinCallExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoBuiltinCallExpr extends GoExpression {
@Nullable
GoBuiltinArgumentList getBuiltinArgumentList();
@NotNull
GoReferenceExpression getReferenceExpression();
}
================================================
FILE: gen/com/goide/psi/GoCallExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoCallExpr extends GoExpression {
@NotNull
GoArgumentList getArgumentList();
@NotNull
GoExpression getExpression();
}
================================================
FILE: gen/com/goide/psi/GoChannelType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoChannelType extends GoType {
@Nullable
GoType getType();
@Nullable
PsiElement getSendChannel();
@Nullable
PsiElement getChan();
}
================================================
FILE: gen/com/goide/psi/GoCommCase.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoCommCase extends GoCompositeElement {
@Nullable
GoRecvStatement getRecvStatement();
@Nullable
GoSendStatement getSendStatement();
@Nullable
PsiElement getCase();
@Nullable
PsiElement getDefault();
}
================================================
FILE: gen/com/goide/psi/GoCommClause.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoCommClause extends GoCompositeElement {
@NotNull
GoCommCase getCommCase();
@NotNull
List getStatementList();
@Nullable
PsiElement getColon();
}
================================================
FILE: gen/com/goide/psi/GoCompositeLit.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoCompositeLit extends GoExpression {
@Nullable
GoLiteralValue getLiteralValue();
@Nullable
GoType getType();
@Nullable
GoTypeReferenceExpression getTypeReferenceExpression();
}
================================================
FILE: gen/com/goide/psi/GoConditionalExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoConditionalExpr extends GoBinaryExpr {
@Nullable
PsiElement getEq();
@Nullable
PsiElement getGreater();
@Nullable
PsiElement getGreaterOrEqual();
@Nullable
PsiElement getLess();
@Nullable
PsiElement getLessOrEqual();
@Nullable
PsiElement getNotEq();
}
================================================
FILE: gen/com/goide/psi/GoConstDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoConstDeclaration extends GoTopLevelDeclaration {
@NotNull
List getConstSpecList();
@Nullable
PsiElement getLparen();
@Nullable
PsiElement getRparen();
@NotNull
PsiElement getConst();
@NotNull
GoConstSpec addSpec(String name, String type, String value, GoConstSpec specAnchor);
void deleteSpec(GoConstSpec specToDelete);
}
================================================
FILE: gen/com/goide/psi/GoConstDefinition.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoConstDefinitionStub;
import com.intellij.psi.ResolveState;
public interface GoConstDefinition extends GoNamedElement, StubBasedPsiElement {
@NotNull
PsiElement getIdentifier();
@Nullable
GoType getGoTypeInner(ResolveState context);
@Nullable
GoExpression getValue();
}
================================================
FILE: gen/com/goide/psi/GoConstSpec.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoConstSpecStub;
public interface GoConstSpec extends GoCompositeElement, StubBasedPsiElement {
@NotNull
List getConstDefinitionList();
@NotNull
List getExpressionList();
@Nullable
GoType getType();
@Nullable
PsiElement getAssign();
void deleteDefinition(GoConstDefinition definitionToDelete);
}
================================================
FILE: gen/com/goide/psi/GoContinueStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoContinueStatement extends GoStatement {
@Nullable
GoLabelRef getLabelRef();
@NotNull
PsiElement getContinue();
}
================================================
FILE: gen/com/goide/psi/GoConversionExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoConversionExpr extends GoBinaryExpr {
@Nullable
GoExpression getExpression();
@NotNull
GoType getType();
@Nullable
PsiElement getComma();
@NotNull
PsiElement getLparen();
@Nullable
PsiElement getRparen();
}
================================================
FILE: gen/com/goide/psi/GoDeferStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoDeferStatement extends GoStatement {
@Nullable
GoExpression getExpression();
@NotNull
PsiElement getDefer();
}
================================================
FILE: gen/com/goide/psi/GoElement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoElement extends GoCompositeElement {
@Nullable
GoKey getKey();
@Nullable
GoValue getValue();
@Nullable
PsiElement getColon();
}
================================================
FILE: gen/com/goide/psi/GoElseStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoElseStatement extends GoStatement {
@Nullable
GoIfStatement getIfStatement();
@NotNull
PsiElement getElse();
}
================================================
FILE: gen/com/goide/psi/GoExprCaseClause.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoExprCaseClause extends GoCaseClause {
@NotNull
List getExpressionList();
@NotNull
List getStatementList();
@Nullable
PsiElement getColon();
@Nullable
PsiElement getCase();
@Nullable
PsiElement getDefault();
}
================================================
FILE: gen/com/goide/psi/GoExprSwitchStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoExprSwitchStatement extends GoSwitchStatement {
@NotNull
List getExprCaseClauseList();
@Nullable
GoExpression getExpression();
@Nullable
GoStatement getStatement();
@NotNull
GoSwitchStart getSwitchStart();
@NotNull
PsiElement getLbrace();
@Nullable
PsiElement getRbrace();
@Nullable
PsiElement getSemicolon();
}
================================================
FILE: gen/com/goide/psi/GoExpression.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.ResolveState;
public interface GoExpression extends GoTypeOwner {
@Nullable
GoType getGoType(ResolveState context);
}
================================================
FILE: gen/com/goide/psi/GoFallthroughStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoFallthroughStatement extends GoStatement {
@NotNull
PsiElement getFallthrough();
}
================================================
FILE: gen/com/goide/psi/GoFieldDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoFieldDeclaration extends GoCompositeElement {
@Nullable
GoAnonymousFieldDefinition getAnonymousFieldDefinition();
@NotNull
List getFieldDefinitionList();
@Nullable
GoTag getTag();
@Nullable
GoType getType();
}
================================================
FILE: gen/com/goide/psi/GoFieldDefinition.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoFieldDefinitionStub;
public interface GoFieldDefinition extends GoNamedElement, StubBasedPsiElement {
@NotNull
PsiElement getIdentifier();
}
================================================
FILE: gen/com/goide/psi/GoFieldName.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
public interface GoFieldName extends GoReferenceExpressionBase {
@NotNull
PsiElement getIdentifier();
@NotNull
PsiReference getReference();
@Nullable
GoReferenceExpression getQualifier();
@Nullable
PsiElement resolve();
}
================================================
FILE: gen/com/goide/psi/GoForClause.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public interface GoForClause extends GoCompositeElement {
@Nullable
GoExpression getExpression();
@NotNull
List getStatementList();
boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place);
}
================================================
FILE: gen/com/goide/psi/GoForStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoForStatement extends GoStatement {
@Nullable
GoExpression getExpression();
@Nullable
GoForClause getForClause();
@Nullable
GoRangeClause getRangeClause();
@NotNull
PsiElement getFor();
}
================================================
FILE: gen/com/goide/psi/GoFunctionDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoFunctionDeclarationStub;
public interface GoFunctionDeclaration extends GoFunctionOrMethodDeclaration, StubBasedPsiElement {
@Nullable
GoBlock getBlock();
@Nullable
GoSignature getSignature();
@NotNull
PsiElement getFunc();
@NotNull
PsiElement getIdentifier();
}
================================================
FILE: gen/com/goide/psi/GoFunctionLit.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public interface GoFunctionLit extends GoExpression, GoSignatureOwner {
@Nullable
GoBlock getBlock();
@Nullable
GoSignature getSignature();
@NotNull
PsiElement getFunc();
boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place);
}
================================================
FILE: gen/com/goide/psi/GoFunctionType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoFunctionType extends GoType, GoSignatureOwner {
@Nullable
GoSignature getSignature();
@NotNull
PsiElement getFunc();
}
================================================
FILE: gen/com/goide/psi/GoGoStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoGoStatement extends GoStatement {
@Nullable
GoExpression getExpression();
@NotNull
PsiElement getGo();
}
================================================
FILE: gen/com/goide/psi/GoGotoStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoGotoStatement extends GoStatement {
@Nullable
GoLabelRef getLabelRef();
@NotNull
PsiElement getGoto();
}
================================================
FILE: gen/com/goide/psi/GoIfStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoIfStatement extends GoStatement {
@Nullable
GoElseStatement getElseStatement();
@Nullable
GoExpression getExpression();
@Nullable
GoStatement getStatement();
@Nullable
PsiElement getSemicolon();
@NotNull
PsiElement getIf();
}
================================================
FILE: gen/com/goide/psi/GoImportDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoImportDeclaration extends GoCompositeElement {
@NotNull
List getImportSpecList();
@Nullable
PsiElement getLparen();
@Nullable
PsiElement getRparen();
@NotNull
PsiElement getImport();
@NotNull
GoImportSpec addImportSpec(String packagePath, String alias);
}
================================================
FILE: gen/com/goide/psi/GoImportList.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoImportList extends GoCompositeElement {
@NotNull
List getImportDeclarationList();
@NotNull
GoImportSpec addImport(String packagePath, String alias);
}
================================================
FILE: gen/com/goide/psi/GoImportSpec.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoImportSpecStub;
public interface GoImportSpec extends GoNamedElement, StubBasedPsiElement {
@NotNull
GoImportString getImportString();
@Nullable
PsiElement getDot();
@Nullable
PsiElement getIdentifier();
String getAlias();
String getLocalPackageName();
boolean shouldGoDeeper();
boolean isForSideEffects();
boolean isDot();
@NotNull
String getPath();
String getName();
boolean isCImport();
}
================================================
FILE: gen/com/goide/psi/GoImportString.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiReference;
public interface GoImportString extends GoCompositeElement {
@NotNull
GoStringLiteral getStringLiteral();
@NotNull
PsiReference[] getReferences();
@Nullable
PsiDirectory resolve();
@NotNull
String getPath();
@NotNull
TextRange getPathTextRange();
}
================================================
FILE: gen/com/goide/psi/GoIncDecStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoIncDecStatement extends GoStatement {
@NotNull
GoExpression getExpression();
@Nullable
PsiElement getMinusMinus();
@Nullable
PsiElement getPlusPlus();
}
================================================
FILE: gen/com/goide/psi/GoIndexOrSliceExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.openapi.util.Trinity;
public interface GoIndexOrSliceExpr extends GoExpression {
@NotNull
List getExpressionList();
@NotNull
PsiElement getLbrack();
@Nullable
PsiElement getRbrack();
@Nullable
GoExpression getExpression();
@NotNull
Trinity getIndices();
}
================================================
FILE: gen/com/goide/psi/GoInterfaceType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoInterfaceType extends GoType {
@NotNull
List getMethodSpecList();
@Nullable
PsiElement getLbrace();
@Nullable
PsiElement getRbrace();
@NotNull
PsiElement getInterface();
@NotNull
List getMethods();
@NotNull
List getBaseTypesReferences();
}
================================================
FILE: gen/com/goide/psi/GoKey.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoKey extends GoCompositeElement {
@Nullable
GoExpression getExpression();
@Nullable
GoFieldName getFieldName();
}
================================================
FILE: gen/com/goide/psi/GoLabelDefinition.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoLabelDefinitionStub;
public interface GoLabelDefinition extends GoNamedElement, StubBasedPsiElement {
@NotNull
PsiElement getIdentifier();
}
================================================
FILE: gen/com/goide/psi/GoLabelRef.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
public interface GoLabelRef extends GoCompositeElement {
@NotNull
PsiElement getIdentifier();
@NotNull
PsiReference getReference();
}
================================================
FILE: gen/com/goide/psi/GoLabeledStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoLabeledStatement extends GoStatement {
@NotNull
GoLabelDefinition getLabelDefinition();
@Nullable
GoStatement getStatement();
@NotNull
PsiElement getColon();
}
================================================
FILE: gen/com/goide/psi/GoLeftHandExprList.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoLeftHandExprList extends GoCompositeElement {
@NotNull
List getExpressionList();
}
================================================
FILE: gen/com/goide/psi/GoLiteral.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoLiteral extends GoExpression {
@Nullable
PsiElement getChar();
@Nullable
PsiElement getDecimali();
@Nullable
PsiElement getFloat();
@Nullable
PsiElement getFloati();
@Nullable
PsiElement getHex();
@Nullable
PsiElement getInt();
@Nullable
PsiElement getOct();
}
================================================
FILE: gen/com/goide/psi/GoLiteralTypeExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoLiteralTypeExpr extends GoExpression {
@Nullable
GoType getType();
@Nullable
GoTypeReferenceExpression getTypeReferenceExpression();
}
================================================
FILE: gen/com/goide/psi/GoLiteralValue.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoLiteralValue extends GoCompositeElement {
@NotNull
List getElementList();
@NotNull
PsiElement getLbrace();
@Nullable
PsiElement getRbrace();
}
================================================
FILE: gen/com/goide/psi/GoMapType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoMapType extends GoType {
@NotNull
List getTypeList();
@Nullable
PsiElement getLbrack();
@Nullable
PsiElement getRbrack();
@NotNull
PsiElement getMap();
@Nullable
GoType getKeyType();
@Nullable
GoType getValueType();
}
================================================
FILE: gen/com/goide/psi/GoMethodDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoMethodDeclarationStub;
public interface GoMethodDeclaration extends GoFunctionOrMethodDeclaration, StubBasedPsiElement {
@Nullable
GoBlock getBlock();
@Nullable
GoReceiver getReceiver();
@Nullable
GoSignature getSignature();
@NotNull
PsiElement getFunc();
@Nullable
PsiElement getIdentifier();
@Nullable
GoType getReceiverType();
}
================================================
FILE: gen/com/goide/psi/GoMethodSpec.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoMethodSpecStub;
import com.intellij.psi.ResolveState;
public interface GoMethodSpec extends GoNamedSignatureOwner, StubBasedPsiElement {
@Nullable
GoSignature getSignature();
@Nullable
GoTypeReferenceExpression getTypeReferenceExpression();
@Nullable
PsiElement getIdentifier();
@Nullable
GoType getGoTypeInner(ResolveState context);
@Nullable
String getName();
}
================================================
FILE: gen/com/goide/psi/GoMulExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoMulExpr extends GoBinaryExpr {
@Nullable
PsiElement getBitAnd();
@Nullable
PsiElement getBitClear();
@Nullable
PsiElement getMul();
@Nullable
PsiElement getQuotient();
@Nullable
PsiElement getRemainder();
@Nullable
PsiElement getShiftLeft();
@Nullable
PsiElement getShiftRight();
}
================================================
FILE: gen/com/goide/psi/GoOrExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoOrExpr extends GoBinaryExpr {
@NotNull
PsiElement getCondOr();
}
================================================
FILE: gen/com/goide/psi/GoPackageClause.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoPackageClauseStub;
public interface GoPackageClause extends GoCompositeElement, StubBasedPsiElement {
@Nullable
PsiElement getIdentifier();
@NotNull
PsiElement getPackage();
@Nullable
String getName();
}
================================================
FILE: gen/com/goide/psi/GoParType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoParType extends GoType {
@NotNull
GoType getType();
@NotNull
PsiElement getLparen();
@NotNull
PsiElement getRparen();
@NotNull
GoType getActualType();
}
================================================
FILE: gen/com/goide/psi/GoParamDefinition.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoParamDefinitionStub;
public interface GoParamDefinition extends GoNamedElement, StubBasedPsiElement {
@NotNull
PsiElement getIdentifier();
boolean isVariadic();
}
================================================
FILE: gen/com/goide/psi/GoParameterDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoParameterDeclarationStub;
public interface GoParameterDeclaration extends GoCompositeElement, StubBasedPsiElement {
@NotNull
List getParamDefinitionList();
@NotNull
GoType getType();
@Nullable
PsiElement getTripleDot();
boolean isVariadic();
}
================================================
FILE: gen/com/goide/psi/GoParameters.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoParametersStub;
public interface GoParameters extends GoCompositeElement, StubBasedPsiElement {
@NotNull
List getParameterDeclarationList();
@Nullable
GoType getType();
@NotNull
PsiElement getLparen();
@Nullable
PsiElement getRparen();
}
================================================
FILE: gen/com/goide/psi/GoParenthesesExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoParenthesesExpr extends GoExpression {
@Nullable
GoExpression getExpression();
@NotNull
PsiElement getLparen();
@Nullable
PsiElement getRparen();
}
================================================
FILE: gen/com/goide/psi/GoPointerType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoPointerType extends GoType {
@Nullable
GoType getType();
@NotNull
PsiElement getMul();
}
================================================
FILE: gen/com/goide/psi/GoRangeClause.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoRangeClause extends GoVarSpec {
@NotNull
List getVarDefinitionList();
@Nullable
PsiElement getVarAssign();
@Nullable
PsiElement getRange();
@Nullable
GoExpression getRangeExpression();
@NotNull
List getLeftExpressionsList();
@NotNull
List getRightExpressionsList();
}
================================================
FILE: gen/com/goide/psi/GoReceiver.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoReceiverStub;
import com.intellij.psi.ResolveState;
public interface GoReceiver extends GoNamedElement, StubBasedPsiElement {
@Nullable
GoType getType();
@Nullable
PsiElement getComma();
@NotNull
PsiElement getLparen();
@Nullable
PsiElement getRparen();
@Nullable
PsiElement getIdentifier();
@Nullable
GoType getGoTypeInner(ResolveState context);
}
================================================
FILE: gen/com/goide/psi/GoRecvStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoRecvStatement extends GoVarSpec {
@NotNull
List getExpressionList();
@NotNull
List getVarDefinitionList();
@Nullable
PsiElement getVarAssign();
@Nullable
GoExpression getRecvExpression();
@NotNull
List getLeftExpressionsList();
@NotNull
List getRightExpressionsList();
}
================================================
FILE: gen/com/goide/psi/GoReferenceExpression.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.goide.psi.impl.GoReference;
import com.intellij.codeInsight.highlighting.ReadWriteAccessDetector.Access;
public interface GoReferenceExpression extends GoExpression, GoReferenceExpressionBase {
@NotNull
PsiElement getIdentifier();
@NotNull
GoReference getReference();
@Nullable
GoReferenceExpression getQualifier();
@Nullable
PsiElement resolve();
@NotNull
Access getReadWriteAccess();
}
================================================
FILE: gen/com/goide/psi/GoResult.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoResultStub;
public interface GoResult extends GoCompositeElement, StubBasedPsiElement {
@Nullable
GoParameters getParameters();
@Nullable
GoType getType();
@Nullable
PsiElement getLparen();
@Nullable
PsiElement getRparen();
boolean isVoid();
}
================================================
FILE: gen/com/goide/psi/GoReturnStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoReturnStatement extends GoStatement {
@NotNull
List getExpressionList();
@NotNull
PsiElement getReturn();
}
================================================
FILE: gen/com/goide/psi/GoSelectStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoSelectStatement extends GoStatement {
@NotNull
List getCommClauseList();
@Nullable
PsiElement getLbrace();
@Nullable
PsiElement getRbrace();
@NotNull
PsiElement getSelect();
}
================================================
FILE: gen/com/goide/psi/GoSelectorExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoSelectorExpr extends GoBinaryExpr {
@NotNull
PsiElement getDot();
}
================================================
FILE: gen/com/goide/psi/GoSendStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoSendStatement extends GoStatement {
@NotNull
List getExpressionList();
@Nullable
GoLeftHandExprList getLeftHandExprList();
@NotNull
PsiElement getSendChannel();
@Nullable
GoExpression getSendExpression();
}
================================================
FILE: gen/com/goide/psi/GoShortVarDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoShortVarDeclaration extends GoVarSpec {
@NotNull
PsiElement getVarAssign();
}
================================================
FILE: gen/com/goide/psi/GoSignature.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoSignatureStub;
public interface GoSignature extends GoCompositeElement, StubBasedPsiElement {
@NotNull
GoParameters getParameters();
@Nullable
GoResult getResult();
}
================================================
FILE: gen/com/goide/psi/GoSimpleStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoSimpleStatement extends GoStatement {
@Nullable
GoLeftHandExprList getLeftHandExprList();
@Nullable
GoShortVarDeclaration getShortVarDeclaration();
@Nullable
GoStatement getStatement();
}
================================================
FILE: gen/com/goide/psi/GoSpecType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoTypeStub;
public interface GoSpecType extends GoType, StubBasedPsiElement {
@Nullable
GoType getType();
@NotNull
PsiElement getIdentifier();
}
================================================
FILE: gen/com/goide/psi/GoStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public interface GoStatement extends GoCompositeElement {
@Nullable
GoBlock getBlock();
@Nullable
GoConstDeclaration getConstDeclaration();
@Nullable
GoTypeDeclaration getTypeDeclaration();
@Nullable
GoVarDeclaration getVarDeclaration();
boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place);
}
================================================
FILE: gen/com/goide/psi/GoStringLiteral.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiLanguageInjectionHost;
import com.goide.psi.impl.GoStringLiteralImpl;
import com.goide.util.GoStringLiteralEscaper;
public interface GoStringLiteral extends GoExpression, PsiLanguageInjectionHost {
@Nullable
PsiElement getRawString();
@Nullable
PsiElement getString();
boolean isValidHost();
@NotNull
GoStringLiteralImpl updateText(String text);
@NotNull
GoStringLiteralEscaper createLiteralTextEscaper();
@NotNull
String getDecodedText();
}
================================================
FILE: gen/com/goide/psi/GoStructType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoStructType extends GoType {
@NotNull
List getFieldDeclarationList();
@Nullable
PsiElement getLbrace();
@Nullable
PsiElement getRbrace();
@NotNull
PsiElement getStruct();
}
================================================
FILE: gen/com/goide/psi/GoSwitchStart.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoSwitchStart extends GoCompositeElement {
@NotNull
PsiElement getSwitch();
}
================================================
FILE: gen/com/goide/psi/GoSwitchStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoSwitchStatement extends GoStatement {
@Nullable
GoSwitchStart getSwitchStart();
@Nullable
GoSwitchStatement getSwitchStatement();
}
================================================
FILE: gen/com/goide/psi/GoTag.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoTag extends GoCompositeElement {
@NotNull
GoStringLiteral getStringLiteral();
}
================================================
FILE: gen/com/goide/psi/GoType.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoTypeStub;
public interface GoType extends GoCompositeElement, StubBasedPsiElement {
@Nullable
GoTypeReferenceExpression getTypeReferenceExpression();
@NotNull
GoType getUnderlyingType();
boolean shouldGoDeeper();
}
================================================
FILE: gen/com/goide/psi/GoTypeAssertionExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoTypeAssertionExpr extends GoExpression {
@NotNull
GoExpression getExpression();
@NotNull
GoType getType();
@NotNull
PsiElement getDot();
@NotNull
PsiElement getLparen();
@NotNull
PsiElement getRparen();
}
================================================
FILE: gen/com/goide/psi/GoTypeCaseClause.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoTypeCaseClause extends GoCaseClause {
@NotNull
List getStatementList();
@Nullable
GoType getType();
@Nullable
PsiElement getColon();
@Nullable
PsiElement getCase();
@Nullable
PsiElement getDefault();
}
================================================
FILE: gen/com/goide/psi/GoTypeDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoTypeDeclaration extends GoTopLevelDeclaration {
@NotNull
List getTypeSpecList();
@Nullable
PsiElement getLparen();
@Nullable
PsiElement getRparen();
@NotNull
PsiElement getType_();
}
================================================
FILE: gen/com/goide/psi/GoTypeGuard.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoTypeGuard extends GoCompositeElement {
@NotNull
PsiElement getLparen();
@Nullable
PsiElement getRparen();
@NotNull
PsiElement getType_();
}
================================================
FILE: gen/com/goide/psi/GoTypeList.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoTypeList extends GoType {
@NotNull
List getTypeList();
}
================================================
FILE: gen/com/goide/psi/GoTypeReferenceExpression.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiReference;
public interface GoTypeReferenceExpression extends GoReferenceExpressionBase {
@NotNull
PsiElement getIdentifier();
@NotNull
PsiReference getReference();
@Nullable
GoTypeReferenceExpression getQualifier();
@Nullable
PsiElement resolve();
@Nullable
GoType resolveType();
}
================================================
FILE: gen/com/goide/psi/GoTypeSpec.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoTypeSpecStub;
import com.intellij.psi.ResolveState;
public interface GoTypeSpec extends GoNamedElement, StubBasedPsiElement {
@NotNull
GoSpecType getSpecType();
@Nullable
GoType getGoTypeInner(ResolveState context);
@NotNull
List getMethods();
boolean shouldGoDeeper();
@NotNull
PsiElement getIdentifier();
}
================================================
FILE: gen/com/goide/psi/GoTypeSwitchGuard.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoTypeSwitchGuard extends GoCompositeElement {
@NotNull
GoExpression getExpression();
@NotNull
GoTypeGuard getTypeGuard();
@Nullable
GoVarDefinition getVarDefinition();
@NotNull
PsiElement getDot();
@Nullable
PsiElement getVarAssign();
}
================================================
FILE: gen/com/goide/psi/GoTypeSwitchStatement.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoTypeSwitchStatement extends GoSwitchStatement {
@Nullable
GoStatement getStatement();
@NotNull
GoSwitchStart getSwitchStart();
@NotNull
List getTypeCaseClauseList();
@NotNull
GoTypeSwitchGuard getTypeSwitchGuard();
@Nullable
PsiElement getLbrace();
@Nullable
PsiElement getRbrace();
@Nullable
PsiElement getSemicolon();
}
================================================
FILE: gen/com/goide/psi/GoUnaryExpr.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoUnaryExpr extends GoExpression {
@Nullable
GoExpression getExpression();
@Nullable
PsiElement getBitAnd();
@Nullable
PsiElement getBitXor();
@Nullable
PsiElement getMinus();
@Nullable
PsiElement getMul();
@Nullable
PsiElement getNot();
@Nullable
PsiElement getPlus();
@Nullable
PsiElement getSendChannel();
@Nullable
PsiElement getOperator();
}
================================================
FILE: gen/com/goide/psi/GoValue.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoValue extends GoCompositeElement {
@Nullable
GoExpression getExpression();
@Nullable
GoLiteralValue getLiteralValue();
}
================================================
FILE: gen/com/goide/psi/GoVarDeclaration.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface GoVarDeclaration extends GoTopLevelDeclaration {
@NotNull
List getVarSpecList();
@Nullable
PsiElement getLparen();
@Nullable
PsiElement getRparen();
@NotNull
PsiElement getVar();
@NotNull
GoVarSpec addSpec(String name, String type, String value, GoVarSpec specAnchor);
void deleteSpec(GoVarSpec specToDelete);
}
================================================
FILE: gen/com/goide/psi/GoVarDefinition.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoVarDefinitionStub;
import com.intellij.psi.PsiReference;
import com.intellij.psi.ResolveState;
public interface GoVarDefinition extends GoNamedElement, StubBasedPsiElement {
@NotNull
PsiElement getIdentifier();
@Nullable
GoType getGoTypeInner(ResolveState context);
@Nullable
PsiReference getReference();
@Nullable
GoExpression getValue();
}
================================================
FILE: gen/com/goide/psi/GoVarSpec.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
import com.intellij.psi.StubBasedPsiElement;
import com.goide.stubs.GoVarSpecStub;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public interface GoVarSpec extends GoCompositeElement, StubBasedPsiElement {
@NotNull
List getExpressionList();
@Nullable
GoType getType();
@NotNull
List getVarDefinitionList();
@Nullable
PsiElement getAssign();
boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place);
void deleteDefinition(GoVarDefinition definitionToDelete);
@NotNull
List getRightExpressionsList();
}
================================================
FILE: gen/com/goide/psi/GoVisitor.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.PsiLanguageInjectionHost;
public class GoVisitor extends PsiElementVisitor {
public void visitAddExpr(@NotNull GoAddExpr o) {
visitBinaryExpr(o);
}
public void visitAndExpr(@NotNull GoAndExpr o) {
visitBinaryExpr(o);
}
public void visitAnonymousFieldDefinition(@NotNull GoAnonymousFieldDefinition o) {
visitNamedElement(o);
}
public void visitArgumentList(@NotNull GoArgumentList o) {
visitCompositeElement(o);
}
public void visitArrayOrSliceType(@NotNull GoArrayOrSliceType o) {
visitType(o);
}
public void visitAssignmentStatement(@NotNull GoAssignmentStatement o) {
visitStatement(o);
}
public void visitBinaryExpr(@NotNull GoBinaryExpr o) {
visitExpression(o);
}
public void visitBlock(@NotNull GoBlock o) {
visitCompositeElement(o);
}
public void visitBreakStatement(@NotNull GoBreakStatement o) {
visitStatement(o);
}
public void visitBuiltinArgumentList(@NotNull GoBuiltinArgumentList o) {
visitArgumentList(o);
}
public void visitBuiltinCallExpr(@NotNull GoBuiltinCallExpr o) {
visitExpression(o);
}
public void visitCallExpr(@NotNull GoCallExpr o) {
visitExpression(o);
}
public void visitChannelType(@NotNull GoChannelType o) {
visitType(o);
}
public void visitCommCase(@NotNull GoCommCase o) {
visitCompositeElement(o);
}
public void visitCommClause(@NotNull GoCommClause o) {
visitCompositeElement(o);
}
public void visitCompositeLit(@NotNull GoCompositeLit o) {
visitExpression(o);
}
public void visitConditionalExpr(@NotNull GoConditionalExpr o) {
visitBinaryExpr(o);
}
public void visitConstDeclaration(@NotNull GoConstDeclaration o) {
visitTopLevelDeclaration(o);
}
public void visitConstDefinition(@NotNull GoConstDefinition o) {
visitNamedElement(o);
}
public void visitConstSpec(@NotNull GoConstSpec o) {
visitCompositeElement(o);
}
public void visitContinueStatement(@NotNull GoContinueStatement o) {
visitStatement(o);
}
public void visitConversionExpr(@NotNull GoConversionExpr o) {
visitBinaryExpr(o);
}
public void visitDeferStatement(@NotNull GoDeferStatement o) {
visitStatement(o);
}
public void visitElement(@NotNull GoElement o) {
visitCompositeElement(o);
}
public void visitElseStatement(@NotNull GoElseStatement o) {
visitStatement(o);
}
public void visitExprCaseClause(@NotNull GoExprCaseClause o) {
visitCaseClause(o);
}
public void visitExprSwitchStatement(@NotNull GoExprSwitchStatement o) {
visitSwitchStatement(o);
}
public void visitExpression(@NotNull GoExpression o) {
visitTypeOwner(o);
}
public void visitFallthroughStatement(@NotNull GoFallthroughStatement o) {
visitStatement(o);
}
public void visitFieldDeclaration(@NotNull GoFieldDeclaration o) {
visitCompositeElement(o);
}
public void visitFieldDefinition(@NotNull GoFieldDefinition o) {
visitNamedElement(o);
}
public void visitFieldName(@NotNull GoFieldName o) {
visitReferenceExpressionBase(o);
}
public void visitForClause(@NotNull GoForClause o) {
visitCompositeElement(o);
}
public void visitForStatement(@NotNull GoForStatement o) {
visitStatement(o);
}
public void visitFunctionDeclaration(@NotNull GoFunctionDeclaration o) {
visitFunctionOrMethodDeclaration(o);
}
public void visitFunctionLit(@NotNull GoFunctionLit o) {
visitExpression(o);
// visitSignatureOwner(o);
}
public void visitFunctionType(@NotNull GoFunctionType o) {
visitType(o);
// visitSignatureOwner(o);
}
public void visitGoStatement(@NotNull GoGoStatement o) {
visitStatement(o);
}
public void visitGotoStatement(@NotNull GoGotoStatement o) {
visitStatement(o);
}
public void visitIfStatement(@NotNull GoIfStatement o) {
visitStatement(o);
}
public void visitImportDeclaration(@NotNull GoImportDeclaration o) {
visitCompositeElement(o);
}
public void visitImportList(@NotNull GoImportList o) {
visitCompositeElement(o);
}
public void visitImportSpec(@NotNull GoImportSpec o) {
visitNamedElement(o);
}
public void visitImportString(@NotNull GoImportString o) {
visitCompositeElement(o);
}
public void visitIncDecStatement(@NotNull GoIncDecStatement o) {
visitStatement(o);
}
public void visitIndexOrSliceExpr(@NotNull GoIndexOrSliceExpr o) {
visitExpression(o);
}
public void visitInterfaceType(@NotNull GoInterfaceType o) {
visitType(o);
}
public void visitKey(@NotNull GoKey o) {
visitCompositeElement(o);
}
public void visitLabelDefinition(@NotNull GoLabelDefinition o) {
visitNamedElement(o);
}
public void visitLabelRef(@NotNull GoLabelRef o) {
visitCompositeElement(o);
}
public void visitLabeledStatement(@NotNull GoLabeledStatement o) {
visitStatement(o);
}
public void visitLeftHandExprList(@NotNull GoLeftHandExprList o) {
visitCompositeElement(o);
}
public void visitLiteral(@NotNull GoLiteral o) {
visitExpression(o);
}
public void visitLiteralTypeExpr(@NotNull GoLiteralTypeExpr o) {
visitExpression(o);
}
public void visitLiteralValue(@NotNull GoLiteralValue o) {
visitCompositeElement(o);
}
public void visitMapType(@NotNull GoMapType o) {
visitType(o);
}
public void visitMethodDeclaration(@NotNull GoMethodDeclaration o) {
visitFunctionOrMethodDeclaration(o);
}
public void visitMethodSpec(@NotNull GoMethodSpec o) {
visitNamedSignatureOwner(o);
}
public void visitMulExpr(@NotNull GoMulExpr o) {
visitBinaryExpr(o);
}
public void visitOrExpr(@NotNull GoOrExpr o) {
visitBinaryExpr(o);
}
public void visitPackageClause(@NotNull GoPackageClause o) {
visitCompositeElement(o);
}
public void visitParType(@NotNull GoParType o) {
visitType(o);
}
public void visitParamDefinition(@NotNull GoParamDefinition o) {
visitNamedElement(o);
}
public void visitParameterDeclaration(@NotNull GoParameterDeclaration o) {
visitCompositeElement(o);
}
public void visitParameters(@NotNull GoParameters o) {
visitCompositeElement(o);
}
public void visitParenthesesExpr(@NotNull GoParenthesesExpr o) {
visitExpression(o);
}
public void visitPointerType(@NotNull GoPointerType o) {
visitType(o);
}
public void visitRangeClause(@NotNull GoRangeClause o) {
visitVarSpec(o);
}
public void visitReceiver(@NotNull GoReceiver o) {
visitNamedElement(o);
}
public void visitRecvStatement(@NotNull GoRecvStatement o) {
visitVarSpec(o);
}
public void visitReferenceExpression(@NotNull GoReferenceExpression o) {
visitExpression(o);
// visitReferenceExpressionBase(o);
}
public void visitResult(@NotNull GoResult o) {
visitCompositeElement(o);
}
public void visitReturnStatement(@NotNull GoReturnStatement o) {
visitStatement(o);
}
public void visitSelectStatement(@NotNull GoSelectStatement o) {
visitStatement(o);
}
public void visitSelectorExpr(@NotNull GoSelectorExpr o) {
visitBinaryExpr(o);
}
public void visitSendStatement(@NotNull GoSendStatement o) {
visitStatement(o);
}
public void visitShortVarDeclaration(@NotNull GoShortVarDeclaration o) {
visitVarSpec(o);
}
public void visitSignature(@NotNull GoSignature o) {
visitCompositeElement(o);
}
public void visitSimpleStatement(@NotNull GoSimpleStatement o) {
visitStatement(o);
}
public void visitSpecType(@NotNull GoSpecType o) {
visitType(o);
}
public void visitStatement(@NotNull GoStatement o) {
visitCompositeElement(o);
}
public void visitStringLiteral(@NotNull GoStringLiteral o) {
visitExpression(o);
// visitPsiLanguageInjectionHost(o);
}
public void visitStructType(@NotNull GoStructType o) {
visitType(o);
}
public void visitSwitchStart(@NotNull GoSwitchStart o) {
visitCompositeElement(o);
}
public void visitSwitchStatement(@NotNull GoSwitchStatement o) {
visitStatement(o);
}
public void visitTag(@NotNull GoTag o) {
visitCompositeElement(o);
}
public void visitType(@NotNull GoType o) {
visitCompositeElement(o);
}
public void visitTypeAssertionExpr(@NotNull GoTypeAssertionExpr o) {
visitExpression(o);
}
public void visitTypeCaseClause(@NotNull GoTypeCaseClause o) {
visitCaseClause(o);
}
public void visitTypeDeclaration(@NotNull GoTypeDeclaration o) {
visitTopLevelDeclaration(o);
}
public void visitTypeGuard(@NotNull GoTypeGuard o) {
visitCompositeElement(o);
}
public void visitTypeList(@NotNull GoTypeList o) {
visitType(o);
}
public void visitTypeReferenceExpression(@NotNull GoTypeReferenceExpression o) {
visitReferenceExpressionBase(o);
}
public void visitTypeSpec(@NotNull GoTypeSpec o) {
visitNamedElement(o);
}
public void visitTypeSwitchGuard(@NotNull GoTypeSwitchGuard o) {
visitCompositeElement(o);
}
public void visitTypeSwitchStatement(@NotNull GoTypeSwitchStatement o) {
visitSwitchStatement(o);
}
public void visitUnaryExpr(@NotNull GoUnaryExpr o) {
visitExpression(o);
}
public void visitValue(@NotNull GoValue o) {
visitCompositeElement(o);
}
public void visitVarDeclaration(@NotNull GoVarDeclaration o) {
visitTopLevelDeclaration(o);
}
public void visitVarDefinition(@NotNull GoVarDefinition o) {
visitNamedElement(o);
}
public void visitVarSpec(@NotNull GoVarSpec o) {
visitCompositeElement(o);
}
public void visitAssignOp(@NotNull GoAssignOp o) {
visitCompositeElement(o);
}
public void visitCaseClause(@NotNull GoCaseClause o) {
visitCompositeElement(o);
}
public void visitFunctionOrMethodDeclaration(@NotNull GoFunctionOrMethodDeclaration o) {
visitCompositeElement(o);
}
public void visitNamedElement(@NotNull GoNamedElement o) {
visitCompositeElement(o);
}
public void visitNamedSignatureOwner(@NotNull GoNamedSignatureOwner o) {
visitCompositeElement(o);
}
public void visitReferenceExpressionBase(@NotNull GoReferenceExpressionBase o) {
visitCompositeElement(o);
}
public void visitTopLevelDeclaration(@NotNull GoTopLevelDeclaration o) {
visitCompositeElement(o);
}
public void visitTypeOwner(@NotNull GoTypeOwner o) {
visitCompositeElement(o);
}
public void visitCompositeElement(@NotNull GoCompositeElement o) {
visitElement(o);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoAddExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoAddExprImpl extends GoBinaryExprImpl implements GoAddExpr {
public GoAddExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitAddExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getBitOr() {
return findChildByType(BIT_OR);
}
@Override
@Nullable
public PsiElement getBitXor() {
return findChildByType(BIT_XOR);
}
@Override
@Nullable
public PsiElement getMinus() {
return findChildByType(MINUS);
}
@Override
@Nullable
public PsiElement getPlus() {
return findChildByType(PLUS);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoAndExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoAndExprImpl extends GoBinaryExprImpl implements GoAndExpr {
public GoAndExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitAndExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getCondAnd() {
return notNullChild(findChildByType(COND_AND));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoAnonymousFieldDefinitionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoAnonymousFieldDefinitionStub;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.stubs.IStubElementType;
public class GoAnonymousFieldDefinitionImpl extends GoNamedElementImpl implements GoAnonymousFieldDefinition {
public GoAnonymousFieldDefinitionImpl(GoAnonymousFieldDefinitionStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoAnonymousFieldDefinitionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitAnonymousFieldDefinition(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoType getType() {
return notNullChild(GoPsiTreeUtil.getStubChildOfType(this, GoType.class));
}
@Nullable
public PsiElement getIdentifier() {
return GoPsiImplUtil.getIdentifier(this);
}
@Nullable
public String getName() {
return GoPsiImplUtil.getName(this);
}
@Nullable
public GoTypeReferenceExpression getTypeReferenceExpression() {
return GoPsiImplUtil.getTypeReferenceExpression(this);
}
@Nullable
public GoType getGoTypeInner(ResolveState context) {
return GoPsiImplUtil.getGoTypeInner(this, context);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoArgumentListImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoArgumentListImpl extends GoCompositeElementImpl implements GoArgumentList {
public GoArgumentListImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitArgumentList(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@NotNull
public PsiElement getLparen() {
return notNullChild(findChildByType(LPAREN));
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
@Override
@Nullable
public PsiElement getTripleDot() {
return findChildByType(TRIPLE_DOT);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoArrayOrSliceTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoArrayOrSliceTypeImpl extends GoTypeImpl implements GoArrayOrSliceType {
public GoArrayOrSliceTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoArrayOrSliceTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitArrayOrSliceType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@NotNull
public PsiElement getLbrack() {
return notNullChild(findChildByType(LBRACK));
}
@Override
@Nullable
public PsiElement getRbrack() {
return findChildByType(RBRACK);
}
@Override
@Nullable
public PsiElement getTripleDot() {
return findChildByType(TRIPLE_DOT);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoAssignOpImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoAssignOpImpl extends GoCompositeElementImpl implements GoAssignOp {
public GoAssignOpImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitAssignOp(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getAssign() {
return findChildByType(ASSIGN);
}
@Override
@Nullable
public PsiElement getBitAndAssign() {
return findChildByType(BIT_AND_ASSIGN);
}
@Override
@Nullable
public PsiElement getBitClearAssign() {
return findChildByType(BIT_CLEAR_ASSIGN);
}
@Override
@Nullable
public PsiElement getBitOrAssign() {
return findChildByType(BIT_OR_ASSIGN);
}
@Override
@Nullable
public PsiElement getBitXorAssign() {
return findChildByType(BIT_XOR_ASSIGN);
}
@Override
@Nullable
public PsiElement getMinusAssign() {
return findChildByType(MINUS_ASSIGN);
}
@Override
@Nullable
public PsiElement getMulAssign() {
return findChildByType(MUL_ASSIGN);
}
@Override
@Nullable
public PsiElement getPlusAssign() {
return findChildByType(PLUS_ASSIGN);
}
@Override
@Nullable
public PsiElement getQuotientAssign() {
return findChildByType(QUOTIENT_ASSIGN);
}
@Override
@Nullable
public PsiElement getRemainderAssign() {
return findChildByType(REMAINDER_ASSIGN);
}
@Override
@Nullable
public PsiElement getShiftLeftAssign() {
return findChildByType(SHIFT_LEFT_ASSIGN);
}
@Override
@Nullable
public PsiElement getShiftRightAssign() {
return findChildByType(SHIFT_RIGHT_ASSIGN);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoAssignmentStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoAssignmentStatementImpl extends GoStatementImpl implements GoAssignmentStatement {
public GoAssignmentStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitAssignmentStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@NotNull
public GoLeftHandExprList getLeftHandExprList() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoLeftHandExprList.class));
}
@Override
@NotNull
public GoAssignOp getAssignOp() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoAssignOp.class));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoBinaryExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoBinaryExprImpl extends GoExpressionImpl implements GoBinaryExpr {
public GoBinaryExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitBinaryExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@NotNull
public GoExpression getLeft() {
List p1 = getExpressionList();
return p1.get(0);
}
@Override
@Nullable
public GoExpression getRight() {
List p1 = getExpressionList();
return p1.size() < 2 ? null : p1.get(1);
}
@Nullable
public PsiElement getOperator() {
return GoPsiImplUtil.getOperator(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoBlockImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public class GoBlockImpl extends GoCompositeElementImpl implements GoBlock {
public GoBlockImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitBlock(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getStatementList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoStatement.class);
}
@Override
@NotNull
public PsiElement getLbrace() {
return notNullChild(findChildByType(LBRACE));
}
@Override
@Nullable
public PsiElement getRbrace() {
return findChildByType(RBRACE);
}
public boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place) {
return GoPsiImplUtil.processDeclarations(this, processor, state, lastParent, place);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoBreakStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoBreakStatementImpl extends GoStatementImpl implements GoBreakStatement {
public GoBreakStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitBreakStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoLabelRef getLabelRef() {
return GoPsiTreeUtil.getChildOfType(this, GoLabelRef.class);
}
@Override
@NotNull
public PsiElement getBreak() {
return notNullChild(findChildByType(BREAK));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoBuiltinArgumentListImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoBuiltinArgumentListImpl extends GoArgumentListImpl implements GoBuiltinArgumentList {
public GoBuiltinArgumentListImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitBuiltinArgumentList(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getChildOfType(this, GoType.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoBuiltinCallExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoBuiltinCallExprImpl extends GoExpressionImpl implements GoBuiltinCallExpr {
public GoBuiltinCallExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitBuiltinCallExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoBuiltinArgumentList getBuiltinArgumentList() {
return GoPsiTreeUtil.getChildOfType(this, GoBuiltinArgumentList.class);
}
@Override
@NotNull
public GoReferenceExpression getReferenceExpression() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoReferenceExpression.class));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoCallExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoCallExprImpl extends GoExpressionImpl implements GoCallExpr {
public GoCallExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitCallExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoArgumentList getArgumentList() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoArgumentList.class));
}
@Override
@NotNull
public GoExpression getExpression() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoExpression.class));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoChannelTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoChannelTypeImpl extends GoTypeImpl implements GoChannelType {
public GoChannelTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoChannelTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitChannelType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@Nullable
public PsiElement getSendChannel() {
return findChildByType(SEND_CHANNEL);
}
@Override
@Nullable
public PsiElement getChan() {
return findChildByType(CHAN);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoCommCaseImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoCommCaseImpl extends GoCompositeElementImpl implements GoCommCase {
public GoCommCaseImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitCommCase(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoRecvStatement getRecvStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoRecvStatement.class);
}
@Override
@Nullable
public GoSendStatement getSendStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoSendStatement.class);
}
@Override
@Nullable
public PsiElement getCase() {
return findChildByType(CASE);
}
@Override
@Nullable
public PsiElement getDefault() {
return findChildByType(DEFAULT);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoCommClauseImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoCommClauseImpl extends GoCompositeElementImpl implements GoCommClause {
public GoCommClauseImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitCommClause(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoCommCase getCommCase() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoCommCase.class));
}
@Override
@NotNull
public List getStatementList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoStatement.class);
}
@Override
@Nullable
public PsiElement getColon() {
return findChildByType(COLON);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoCompositeLitImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoCompositeLitImpl extends GoExpressionImpl implements GoCompositeLit {
public GoCompositeLitImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitCompositeLit(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoLiteralValue getLiteralValue() {
return GoPsiTreeUtil.getChildOfType(this, GoLiteralValue.class);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getChildOfType(this, GoType.class);
}
@Override
@Nullable
public GoTypeReferenceExpression getTypeReferenceExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoTypeReferenceExpression.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoConditionalExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoConditionalExprImpl extends GoBinaryExprImpl implements GoConditionalExpr {
public GoConditionalExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitConditionalExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getEq() {
return findChildByType(EQ);
}
@Override
@Nullable
public PsiElement getGreater() {
return findChildByType(GREATER);
}
@Override
@Nullable
public PsiElement getGreaterOrEqual() {
return findChildByType(GREATER_OR_EQUAL);
}
@Override
@Nullable
public PsiElement getLess() {
return findChildByType(LESS);
}
@Override
@Nullable
public PsiElement getLessOrEqual() {
return findChildByType(LESS_OR_EQUAL);
}
@Override
@Nullable
public PsiElement getNotEq() {
return findChildByType(NOT_EQ);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoConstDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoConstDeclarationImpl extends GoCompositeElementImpl implements GoConstDeclaration {
public GoConstDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitConstDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getConstSpecList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoConstSpec.class);
}
@Override
@Nullable
public PsiElement getLparen() {
return findChildByType(LPAREN);
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
@Override
@NotNull
public PsiElement getConst() {
return notNullChild(findChildByType(CONST));
}
@NotNull
public GoConstSpec addSpec(String name, String type, String value, GoConstSpec specAnchor) {
return GoPsiImplUtil.addSpec(this, name, type, value, specAnchor);
}
public void deleteSpec(GoConstSpec specToDelete) {
GoPsiImplUtil.deleteSpec(this, specToDelete);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoConstDefinitionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoConstDefinitionStub;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.stubs.IStubElementType;
public class GoConstDefinitionImpl extends GoNamedElementImpl implements GoConstDefinition {
public GoConstDefinitionImpl(GoConstDefinitionStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoConstDefinitionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitConstDefinition(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
@Nullable
public GoType getGoTypeInner(ResolveState context) {
return GoPsiImplUtil.getGoTypeInner(this, context);
}
@Nullable
public GoExpression getValue() {
return GoPsiImplUtil.getValue(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoConstSpecImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoConstSpecStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoConstSpecImpl extends GoStubbedElementImpl implements GoConstSpec {
public GoConstSpecImpl(GoConstSpecStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoConstSpecImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitConstSpec(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getConstDefinitionList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoConstDefinition.class);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@Nullable
public PsiElement getAssign() {
return findChildByType(ASSIGN);
}
public void deleteDefinition(GoConstDefinition definitionToDelete) {
GoPsiImplUtil.deleteDefinition(this, definitionToDelete);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoContinueStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoContinueStatementImpl extends GoStatementImpl implements GoContinueStatement {
public GoContinueStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitContinueStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoLabelRef getLabelRef() {
return GoPsiTreeUtil.getChildOfType(this, GoLabelRef.class);
}
@Override
@NotNull
public PsiElement getContinue() {
return notNullChild(findChildByType(CONTINUE));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoConversionExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoConversionExprImpl extends GoBinaryExprImpl implements GoConversionExpr {
public GoConversionExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitConversionExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@NotNull
public GoType getType() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoType.class));
}
@Override
@Nullable
public PsiElement getComma() {
return findChildByType(COMMA);
}
@Override
@NotNull
public PsiElement getLparen() {
return notNullChild(findChildByType(LPAREN));
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoDeferStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoDeferStatementImpl extends GoStatementImpl implements GoDeferStatement {
public GoDeferStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitDeferStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@NotNull
public PsiElement getDefer() {
return notNullChild(findChildByType(DEFER));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoElementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoElementImpl extends GoCompositeElementImpl implements GoElement {
public GoElementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitElement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoKey getKey() {
return GoPsiTreeUtil.getChildOfType(this, GoKey.class);
}
@Override
@Nullable
public GoValue getValue() {
return GoPsiTreeUtil.getChildOfType(this, GoValue.class);
}
@Override
@Nullable
public PsiElement getColon() {
return findChildByType(COLON);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoElseStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoElseStatementImpl extends GoStatementImpl implements GoElseStatement {
public GoElseStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitElseStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoIfStatement getIfStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoIfStatement.class);
}
@Override
@NotNull
public PsiElement getElse() {
return notNullChild(findChildByType(ELSE));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoExprCaseClauseImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoExprCaseClauseImpl extends GoCompositeElementImpl implements GoExprCaseClause {
public GoExprCaseClauseImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitExprCaseClause(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@NotNull
public List getStatementList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoStatement.class);
}
@Override
@Nullable
public PsiElement getColon() {
return findChildByType(COLON);
}
@Override
@Nullable
public PsiElement getCase() {
return findChildByType(CASE);
}
@Override
@Nullable
public PsiElement getDefault() {
return findChildByType(DEFAULT);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoExprSwitchStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoExprSwitchStatementImpl extends GoSwitchStatementImpl implements GoExprSwitchStatement {
public GoExprSwitchStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitExprSwitchStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExprCaseClauseList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExprCaseClause.class);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@Nullable
public GoStatement getStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoStatement.class);
}
@Override
@NotNull
public GoSwitchStart getSwitchStart() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoSwitchStart.class));
}
@Override
@NotNull
public PsiElement getLbrace() {
return notNullChild(findChildByType(LBRACE));
}
@Override
@Nullable
public PsiElement getRbrace() {
return findChildByType(RBRACE);
}
@Override
@Nullable
public PsiElement getSemicolon() {
return findChildByType(SEMICOLON);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoExpressionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
public class GoExpressionImpl extends GoCompositeElementImpl implements GoExpression {
public GoExpressionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitExpression(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Nullable
public GoType getGoType(ResolveState context) {
return GoPsiImplUtil.getGoType(this, context);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoFallthroughStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoFallthroughStatementImpl extends GoStatementImpl implements GoFallthroughStatement {
public GoFallthroughStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitFallthroughStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getFallthrough() {
return notNullChild(findChildByType(FALLTHROUGH));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoFieldDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoFieldDeclarationImpl extends GoCompositeElementImpl implements GoFieldDeclaration {
public GoFieldDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitFieldDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoAnonymousFieldDefinition getAnonymousFieldDefinition() {
return GoPsiTreeUtil.getChildOfType(this, GoAnonymousFieldDefinition.class);
}
@Override
@NotNull
public List getFieldDefinitionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoFieldDefinition.class);
}
@Override
@Nullable
public GoTag getTag() {
return GoPsiTreeUtil.getChildOfType(this, GoTag.class);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getChildOfType(this, GoType.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoFieldDefinitionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoFieldDefinitionStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoFieldDefinitionImpl extends GoNamedElementImpl implements GoFieldDefinition {
public GoFieldDefinitionImpl(GoFieldDefinitionStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoFieldDefinitionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitFieldDefinition(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoFieldNameImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.psi.PsiReference;
public class GoFieldNameImpl extends GoCompositeElementImpl implements GoFieldName {
public GoFieldNameImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitFieldName(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
@NotNull
public PsiReference getReference() {
return GoPsiImplUtil.getReference(this);
}
@Nullable
public GoReferenceExpression getQualifier() {
return GoPsiImplUtil.getQualifier(this);
}
@Nullable
public PsiElement resolve() {
return GoPsiImplUtil.resolve(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoForClauseImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public class GoForClauseImpl extends GoCompositeElementImpl implements GoForClause {
public GoForClauseImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitForClause(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@NotNull
public List getStatementList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoStatement.class);
}
public boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place) {
return GoPsiImplUtil.processDeclarations(this, processor, state, lastParent, place);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoForStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoForStatementImpl extends GoStatementImpl implements GoForStatement {
public GoForStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitForStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@Nullable
public GoForClause getForClause() {
return GoPsiTreeUtil.getChildOfType(this, GoForClause.class);
}
@Override
@Nullable
public GoRangeClause getRangeClause() {
return GoPsiTreeUtil.getChildOfType(this, GoRangeClause.class);
}
@Override
@NotNull
public PsiElement getFor() {
return notNullChild(findChildByType(FOR));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoFunctionDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoFunctionDeclarationStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoFunctionDeclarationImpl extends GoFunctionOrMethodDeclarationImpl implements GoFunctionDeclaration {
public GoFunctionDeclarationImpl(GoFunctionDeclarationStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoFunctionDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitFunctionDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoBlock getBlock() {
return GoPsiTreeUtil.getChildOfType(this, GoBlock.class);
}
@Override
@Nullable
public GoSignature getSignature() {
return GoPsiTreeUtil.getStubChildOfType(this, GoSignature.class);
}
@Override
@NotNull
public PsiElement getFunc() {
return notNullChild(findChildByType(FUNC));
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoFunctionLitImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public class GoFunctionLitImpl extends GoExpressionImpl implements GoFunctionLit {
public GoFunctionLitImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitFunctionLit(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoBlock getBlock() {
return GoPsiTreeUtil.getChildOfType(this, GoBlock.class);
}
@Override
@Nullable
public GoSignature getSignature() {
return GoPsiTreeUtil.getChildOfType(this, GoSignature.class);
}
@Override
@NotNull
public PsiElement getFunc() {
return notNullChild(findChildByType(FUNC));
}
public boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place) {
return GoPsiImplUtil.processDeclarations(this, processor, state, lastParent, place);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoFunctionTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoFunctionTypeImpl extends GoTypeImpl implements GoFunctionType {
public GoFunctionTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoFunctionTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitFunctionType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoSignature getSignature() {
return GoPsiTreeUtil.getStubChildOfType(this, GoSignature.class);
}
@Override
@NotNull
public PsiElement getFunc() {
return notNullChild(findChildByType(FUNC));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoGoStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoGoStatementImpl extends GoStatementImpl implements GoGoStatement {
public GoGoStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitGoStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@NotNull
public PsiElement getGo() {
return notNullChild(findChildByType(GO));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoGotoStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoGotoStatementImpl extends GoStatementImpl implements GoGotoStatement {
public GoGotoStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitGotoStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoLabelRef getLabelRef() {
return GoPsiTreeUtil.getChildOfType(this, GoLabelRef.class);
}
@Override
@NotNull
public PsiElement getGoto() {
return notNullChild(findChildByType(GOTO));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoIfStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoIfStatementImpl extends GoStatementImpl implements GoIfStatement {
public GoIfStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitIfStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoElseStatement getElseStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoElseStatement.class);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@Nullable
public GoStatement getStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoStatement.class);
}
@Override
@Nullable
public PsiElement getSemicolon() {
return findChildByType(SEMICOLON);
}
@Override
@NotNull
public PsiElement getIf() {
return notNullChild(findChildByType(IF));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoImportDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoImportDeclarationImpl extends GoCompositeElementImpl implements GoImportDeclaration {
public GoImportDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitImportDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getImportSpecList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoImportSpec.class);
}
@Override
@Nullable
public PsiElement getLparen() {
return findChildByType(LPAREN);
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
@Override
@NotNull
public PsiElement getImport() {
return notNullChild(findChildByType(IMPORT));
}
@NotNull
public GoImportSpec addImportSpec(String packagePath, String alias) {
return GoPsiImplUtil.addImportSpec(this, packagePath, alias);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoImportListImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoImportListImpl extends GoCompositeElementImpl implements GoImportList {
public GoImportListImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitImportList(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getImportDeclarationList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoImportDeclaration.class);
}
@NotNull
public GoImportSpec addImport(String packagePath, String alias) {
return GoPsiImplUtil.addImport(this, packagePath, alias);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoImportSpecImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoImportSpecStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoImportSpecImpl extends GoNamedElementImpl implements GoImportSpec {
public GoImportSpecImpl(GoImportSpecStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoImportSpecImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitImportSpec(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoImportString getImportString() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoImportString.class));
}
@Override
@Nullable
public PsiElement getDot() {
return findChildByType(DOT);
}
@Override
@Nullable
public PsiElement getIdentifier() {
return findChildByType(IDENTIFIER);
}
public String getAlias() {
return GoPsiImplUtil.getAlias(this);
}
public String getLocalPackageName() {
return GoPsiImplUtil.getLocalPackageName(this);
}
public boolean shouldGoDeeper() {
return GoPsiImplUtil.shouldGoDeeper(this);
}
public boolean isForSideEffects() {
return GoPsiImplUtil.isForSideEffects(this);
}
public boolean isDot() {
return GoPsiImplUtil.isDot(this);
}
@NotNull
public String getPath() {
return GoPsiImplUtil.getPath(this);
}
public String getName() {
return GoPsiImplUtil.getName(this);
}
public boolean isCImport() {
return GoPsiImplUtil.isCImport(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoImportStringImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.openapi.util.TextRange;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiReference;
public class GoImportStringImpl extends GoCompositeElementImpl implements GoImportString {
public GoImportStringImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitImportString(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoStringLiteral getStringLiteral() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoStringLiteral.class));
}
@NotNull
public PsiReference[] getReferences() {
return GoPsiImplUtil.getReferences(this);
}
@Nullable
public PsiDirectory resolve() {
return GoPsiImplUtil.resolve(this);
}
@NotNull
public String getPath() {
return GoPsiImplUtil.getPath(this);
}
@NotNull
public TextRange getPathTextRange() {
return GoPsiImplUtil.getPathTextRange(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoIncDecStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoIncDecStatementImpl extends GoStatementImpl implements GoIncDecStatement {
public GoIncDecStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitIncDecStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoExpression getExpression() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoExpression.class));
}
@Override
@Nullable
public PsiElement getMinusMinus() {
return findChildByType(MINUS_MINUS);
}
@Override
@Nullable
public PsiElement getPlusPlus() {
return findChildByType(PLUS_PLUS);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoIndexOrSliceExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.openapi.util.Trinity;
public class GoIndexOrSliceExprImpl extends GoExpressionImpl implements GoIndexOrSliceExpr {
public GoIndexOrSliceExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitIndexOrSliceExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@NotNull
public PsiElement getLbrack() {
return notNullChild(findChildByType(LBRACK));
}
@Override
@Nullable
public PsiElement getRbrack() {
return findChildByType(RBRACK);
}
@Nullable
public GoExpression getExpression() {
return GoPsiImplUtil.getExpression(this);
}
@NotNull
public Trinity getIndices() {
return GoPsiImplUtil.getIndices(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoInterfaceTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoInterfaceTypeImpl extends GoTypeImpl implements GoInterfaceType {
public GoInterfaceTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoInterfaceTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitInterfaceType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getMethodSpecList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoMethodSpec.class);
}
@Override
@Nullable
public PsiElement getLbrace() {
return findChildByType(LBRACE);
}
@Override
@Nullable
public PsiElement getRbrace() {
return findChildByType(RBRACE);
}
@Override
@NotNull
public PsiElement getInterface() {
return notNullChild(findChildByType(INTERFACE));
}
@NotNull
public List getMethods() {
return GoPsiImplUtil.getMethods(this);
}
@NotNull
public List getBaseTypesReferences() {
return GoPsiImplUtil.getBaseTypesReferences(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoKeyImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoKeyImpl extends GoCompositeElementImpl implements GoKey {
public GoKeyImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitKey(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@Nullable
public GoFieldName getFieldName() {
return GoPsiTreeUtil.getChildOfType(this, GoFieldName.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoLabelDefinitionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoLabelDefinitionStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoLabelDefinitionImpl extends GoNamedElementImpl implements GoLabelDefinition {
public GoLabelDefinitionImpl(GoLabelDefinitionStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoLabelDefinitionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitLabelDefinition(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoLabelRefImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.psi.PsiReference;
public class GoLabelRefImpl extends GoCompositeElementImpl implements GoLabelRef {
public GoLabelRefImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitLabelRef(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
@NotNull
public PsiReference getReference() {
return GoPsiImplUtil.getReference(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoLabeledStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoLabeledStatementImpl extends GoStatementImpl implements GoLabeledStatement {
public GoLabeledStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitLabeledStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoLabelDefinition getLabelDefinition() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoLabelDefinition.class));
}
@Override
@Nullable
public GoStatement getStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoStatement.class);
}
@Override
@NotNull
public PsiElement getColon() {
return notNullChild(findChildByType(COLON));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoLeftHandExprListImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoLeftHandExprListImpl extends GoCompositeElementImpl implements GoLeftHandExprList {
public GoLeftHandExprListImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitLeftHandExprList(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoLiteralImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoLiteralImpl extends GoExpressionImpl implements GoLiteral {
public GoLiteralImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitLiteral(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getChar() {
return findChildByType(CHAR);
}
@Override
@Nullable
public PsiElement getDecimali() {
return findChildByType(DECIMALI);
}
@Override
@Nullable
public PsiElement getFloat() {
return findChildByType(FLOAT);
}
@Override
@Nullable
public PsiElement getFloati() {
return findChildByType(FLOATI);
}
@Override
@Nullable
public PsiElement getHex() {
return findChildByType(HEX);
}
@Override
@Nullable
public PsiElement getInt() {
return findChildByType(INT);
}
@Override
@Nullable
public PsiElement getOct() {
return findChildByType(OCT);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoLiteralTypeExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoLiteralTypeExprImpl extends GoExpressionImpl implements GoLiteralTypeExpr {
public GoLiteralTypeExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitLiteralTypeExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getChildOfType(this, GoType.class);
}
@Override
@Nullable
public GoTypeReferenceExpression getTypeReferenceExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoTypeReferenceExpression.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoLiteralValueImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoLiteralValueImpl extends GoCompositeElementImpl implements GoLiteralValue {
public GoLiteralValueImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitLiteralValue(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getElementList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoElement.class);
}
@Override
@NotNull
public PsiElement getLbrace() {
return notNullChild(findChildByType(LBRACE));
}
@Override
@Nullable
public PsiElement getRbrace() {
return findChildByType(RBRACE);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoMapTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoMapTypeImpl extends GoTypeImpl implements GoMapType {
public GoMapTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoMapTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitMapType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getTypeList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoType.class);
}
@Override
@Nullable
public PsiElement getLbrack() {
return findChildByType(LBRACK);
}
@Override
@Nullable
public PsiElement getRbrack() {
return findChildByType(RBRACK);
}
@Override
@NotNull
public PsiElement getMap() {
return notNullChild(findChildByType(MAP));
}
@Override
@Nullable
public GoType getKeyType() {
List p1 = getTypeList();
return p1.size() < 1 ? null : p1.get(0);
}
@Override
@Nullable
public GoType getValueType() {
List p1 = getTypeList();
return p1.size() < 2 ? null : p1.get(1);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoMethodDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoMethodDeclarationStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoMethodDeclarationImpl extends GoFunctionOrMethodDeclarationImpl implements GoMethodDeclaration {
public GoMethodDeclarationImpl(GoMethodDeclarationStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoMethodDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitMethodDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoBlock getBlock() {
return GoPsiTreeUtil.getChildOfType(this, GoBlock.class);
}
@Override
@Nullable
public GoReceiver getReceiver() {
return GoPsiTreeUtil.getStubChildOfType(this, GoReceiver.class);
}
@Override
@Nullable
public GoSignature getSignature() {
return GoPsiTreeUtil.getStubChildOfType(this, GoSignature.class);
}
@Override
@NotNull
public PsiElement getFunc() {
return notNullChild(findChildByType(FUNC));
}
@Override
@Nullable
public PsiElement getIdentifier() {
return findChildByType(IDENTIFIER);
}
@Nullable
public GoType getReceiverType() {
return GoPsiImplUtil.getReceiverType(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoMethodSpecImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoMethodSpecStub;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.stubs.IStubElementType;
public class GoMethodSpecImpl extends GoNamedElementImpl implements GoMethodSpec {
public GoMethodSpecImpl(GoMethodSpecStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoMethodSpecImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitMethodSpec(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoSignature getSignature() {
return GoPsiTreeUtil.getStubChildOfType(this, GoSignature.class);
}
@Override
@Nullable
public GoTypeReferenceExpression getTypeReferenceExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoTypeReferenceExpression.class);
}
@Override
@Nullable
public PsiElement getIdentifier() {
return findChildByType(IDENTIFIER);
}
@Nullable
public GoType getGoTypeInner(ResolveState context) {
return GoPsiImplUtil.getGoTypeInner(this, context);
}
@Nullable
public String getName() {
return GoPsiImplUtil.getName(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoMulExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoMulExprImpl extends GoBinaryExprImpl implements GoMulExpr {
public GoMulExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitMulExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getBitAnd() {
return findChildByType(BIT_AND);
}
@Override
@Nullable
public PsiElement getBitClear() {
return findChildByType(BIT_CLEAR);
}
@Override
@Nullable
public PsiElement getMul() {
return findChildByType(MUL);
}
@Override
@Nullable
public PsiElement getQuotient() {
return findChildByType(QUOTIENT);
}
@Override
@Nullable
public PsiElement getRemainder() {
return findChildByType(REMAINDER);
}
@Override
@Nullable
public PsiElement getShiftLeft() {
return findChildByType(SHIFT_LEFT);
}
@Override
@Nullable
public PsiElement getShiftRight() {
return findChildByType(SHIFT_RIGHT);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoOrExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoOrExprImpl extends GoBinaryExprImpl implements GoOrExpr {
public GoOrExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitOrExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getCondOr() {
return notNullChild(findChildByType(COND_OR));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoPackageClauseImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoPackageClauseStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoPackageClauseImpl extends GoStubbedElementImpl implements GoPackageClause {
public GoPackageClauseImpl(GoPackageClauseStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoPackageClauseImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitPackageClause(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getIdentifier() {
return findChildByType(IDENTIFIER);
}
@Override
@NotNull
public PsiElement getPackage() {
return notNullChild(findChildByType(PACKAGE));
}
@Nullable
public String getName() {
return GoPsiImplUtil.getName(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoParTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoParTypeImpl extends GoTypeImpl implements GoParType {
public GoParTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoParTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitParType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoType getType() {
return notNullChild(GoPsiTreeUtil.getStubChildOfType(this, GoType.class));
}
@Override
@NotNull
public PsiElement getLparen() {
return notNullChild(findChildByType(LPAREN));
}
@Override
@NotNull
public PsiElement getRparen() {
return notNullChild(findChildByType(RPAREN));
}
@NotNull
public GoType getActualType() {
return GoPsiImplUtil.getActualType(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoParamDefinitionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoParamDefinitionStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoParamDefinitionImpl extends GoNamedElementImpl implements GoParamDefinition {
public GoParamDefinitionImpl(GoParamDefinitionStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoParamDefinitionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitParamDefinition(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
public boolean isVariadic() {
return GoPsiImplUtil.isVariadic(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoParameterDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoParameterDeclarationStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoParameterDeclarationImpl extends GoStubbedElementImpl implements GoParameterDeclaration {
public GoParameterDeclarationImpl(GoParameterDeclarationStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoParameterDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitParameterDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getParamDefinitionList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoParamDefinition.class);
}
@Override
@NotNull
public GoType getType() {
return notNullChild(GoPsiTreeUtil.getStubChildOfType(this, GoType.class));
}
@Override
@Nullable
public PsiElement getTripleDot() {
return findChildByType(TRIPLE_DOT);
}
public boolean isVariadic() {
return GoPsiImplUtil.isVariadic(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoParametersImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoParametersStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoParametersImpl extends GoStubbedElementImpl implements GoParameters {
public GoParametersImpl(GoParametersStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoParametersImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitParameters(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getParameterDeclarationList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoParameterDeclaration.class);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@NotNull
public PsiElement getLparen() {
return notNullChild(findChildByType(LPAREN));
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoParenthesesExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoParenthesesExprImpl extends GoExpressionImpl implements GoParenthesesExpr {
public GoParenthesesExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitParenthesesExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@NotNull
public PsiElement getLparen() {
return notNullChild(findChildByType(LPAREN));
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoPointerTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoPointerTypeImpl extends GoTypeImpl implements GoPointerType {
public GoPointerTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoPointerTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitPointerType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@NotNull
public PsiElement getMul() {
return notNullChild(findChildByType(MUL));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoRangeClauseImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoVarSpecStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoRangeClauseImpl extends GoVarSpecImpl implements GoRangeClause {
public GoRangeClauseImpl(GoVarSpecStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoRangeClauseImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitRangeClause(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getVarDefinitionList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoVarDefinition.class);
}
@Override
@Nullable
public PsiElement getVarAssign() {
return findChildByType(VAR_ASSIGN);
}
@Override
@Nullable
public PsiElement getRange() {
return findChildByType(RANGE);
}
@Nullable
public GoExpression getRangeExpression() {
return GoPsiImplUtil.getRangeExpression(this);
}
@NotNull
public List getLeftExpressionsList() {
return GoPsiImplUtil.getLeftExpressionsList(this);
}
@NotNull
public List getRightExpressionsList() {
return GoPsiImplUtil.getRightExpressionsList(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoReceiverImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoReceiverStub;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.stubs.IStubElementType;
public class GoReceiverImpl extends GoNamedElementImpl implements GoReceiver {
public GoReceiverImpl(GoReceiverStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoReceiverImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitReceiver(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@Nullable
public PsiElement getComma() {
return findChildByType(COMMA);
}
@Override
@NotNull
public PsiElement getLparen() {
return notNullChild(findChildByType(LPAREN));
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
@Override
@Nullable
public PsiElement getIdentifier() {
return findChildByType(IDENTIFIER);
}
@Nullable
public GoType getGoTypeInner(ResolveState context) {
return GoPsiImplUtil.getGoTypeInner(this, context);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoRecvStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoVarSpecStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoRecvStatementImpl extends GoVarSpecImpl implements GoRecvStatement {
public GoRecvStatementImpl(GoVarSpecStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoRecvStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitRecvStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@NotNull
public List getVarDefinitionList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoVarDefinition.class);
}
@Override
@Nullable
public PsiElement getVarAssign() {
return findChildByType(VAR_ASSIGN);
}
@Nullable
public GoExpression getRecvExpression() {
return GoPsiImplUtil.getRecvExpression(this);
}
@NotNull
public List getLeftExpressionsList() {
return GoPsiImplUtil.getLeftExpressionsList(this);
}
@NotNull
public List getRightExpressionsList() {
return GoPsiImplUtil.getRightExpressionsList(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoReferenceExpressionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.codeInsight.highlighting.ReadWriteAccessDetector.Access;
public class GoReferenceExpressionImpl extends GoExpressionImpl implements GoReferenceExpression {
public GoReferenceExpressionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitReferenceExpression(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
@NotNull
public GoReference getReference() {
return GoPsiImplUtil.getReference(this);
}
@Nullable
public GoReferenceExpression getQualifier() {
return GoPsiImplUtil.getQualifier(this);
}
@Nullable
public PsiElement resolve() {
return GoPsiImplUtil.resolve(this);
}
@NotNull
public Access getReadWriteAccess() {
return GoPsiImplUtil.getReadWriteAccess(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoResultImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoResultStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoResultImpl extends GoStubbedElementImpl implements GoResult {
public GoResultImpl(GoResultStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoResultImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitResult(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoParameters getParameters() {
return GoPsiTreeUtil.getStubChildOfType(this, GoParameters.class);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@Nullable
public PsiElement getLparen() {
return findChildByType(LPAREN);
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
public boolean isVoid() {
return GoPsiImplUtil.isVoid(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoReturnStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoReturnStatementImpl extends GoStatementImpl implements GoReturnStatement {
public GoReturnStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitReturnStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@NotNull
public PsiElement getReturn() {
return notNullChild(findChildByType(RETURN));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoSelectStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoSelectStatementImpl extends GoStatementImpl implements GoSelectStatement {
public GoSelectStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitSelectStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getCommClauseList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoCommClause.class);
}
@Override
@Nullable
public PsiElement getLbrace() {
return findChildByType(LBRACE);
}
@Override
@Nullable
public PsiElement getRbrace() {
return findChildByType(RBRACE);
}
@Override
@NotNull
public PsiElement getSelect() {
return notNullChild(findChildByType(SELECT));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoSelectorExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoSelectorExprImpl extends GoBinaryExprImpl implements GoSelectorExpr {
public GoSelectorExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitSelectorExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getDot() {
return notNullChild(findChildByType(DOT));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoSendStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoSendStatementImpl extends GoStatementImpl implements GoSendStatement {
public GoSendStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitSendStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@Nullable
public GoLeftHandExprList getLeftHandExprList() {
return GoPsiTreeUtil.getChildOfType(this, GoLeftHandExprList.class);
}
@Override
@NotNull
public PsiElement getSendChannel() {
return notNullChild(findChildByType(SEND_CHANNEL));
}
@Nullable
public GoExpression getSendExpression() {
return GoPsiImplUtil.getSendExpression(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoShortVarDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoVarSpecStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoShortVarDeclarationImpl extends GoVarSpecImpl implements GoShortVarDeclaration {
public GoShortVarDeclarationImpl(GoVarSpecStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoShortVarDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitShortVarDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getVarAssign() {
return notNullChild(findChildByType(VAR_ASSIGN));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoSignatureImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoSignatureStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoSignatureImpl extends GoStubbedElementImpl implements GoSignature {
public GoSignatureImpl(GoSignatureStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoSignatureImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitSignature(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoParameters getParameters() {
return notNullChild(GoPsiTreeUtil.getStubChildOfType(this, GoParameters.class));
}
@Override
@Nullable
public GoResult getResult() {
return GoPsiTreeUtil.getStubChildOfType(this, GoResult.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoSimpleStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoSimpleStatementImpl extends GoStatementImpl implements GoSimpleStatement {
public GoSimpleStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitSimpleStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoLeftHandExprList getLeftHandExprList() {
return GoPsiTreeUtil.getChildOfType(this, GoLeftHandExprList.class);
}
@Override
@Nullable
public GoShortVarDeclaration getShortVarDeclaration() {
return GoPsiTreeUtil.getChildOfType(this, GoShortVarDeclaration.class);
}
@Override
@Nullable
public GoStatement getStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoStatement.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoSpecTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoSpecTypeImpl extends GoTypeImpl implements GoSpecType {
public GoSpecTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoSpecTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitSpecType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
public class GoStatementImpl extends GoCompositeElementImpl implements GoStatement {
public GoStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoBlock getBlock() {
return GoPsiTreeUtil.getChildOfType(this, GoBlock.class);
}
@Override
@Nullable
public GoConstDeclaration getConstDeclaration() {
return GoPsiTreeUtil.getChildOfType(this, GoConstDeclaration.class);
}
@Override
@Nullable
public GoTypeDeclaration getTypeDeclaration() {
return GoPsiTreeUtil.getChildOfType(this, GoTypeDeclaration.class);
}
@Override
@Nullable
public GoVarDeclaration getVarDeclaration() {
return GoPsiTreeUtil.getChildOfType(this, GoVarDeclaration.class);
}
public boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place) {
return GoPsiImplUtil.processDeclarations(this, processor, state, lastParent, place);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoStringLiteralImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.util.GoStringLiteralEscaper;
public class GoStringLiteralImpl extends GoExpressionImpl implements GoStringLiteral {
public GoStringLiteralImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitStringLiteral(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public PsiElement getRawString() {
return findChildByType(RAW_STRING);
}
@Override
@Nullable
public PsiElement getString() {
return findChildByType(STRING);
}
public boolean isValidHost() {
return GoPsiImplUtil.isValidHost(this);
}
@NotNull
public GoStringLiteralImpl updateText(String text) {
return GoPsiImplUtil.updateText(this, text);
}
@NotNull
public GoStringLiteralEscaper createLiteralTextEscaper() {
return GoPsiImplUtil.createLiteralTextEscaper(this);
}
@NotNull
public String getDecodedText() {
return GoPsiImplUtil.getDecodedText(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoStructTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoStructTypeImpl extends GoTypeImpl implements GoStructType {
public GoStructTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoStructTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitStructType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getFieldDeclarationList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoFieldDeclaration.class);
}
@Override
@Nullable
public PsiElement getLbrace() {
return findChildByType(LBRACE);
}
@Override
@Nullable
public PsiElement getRbrace() {
return findChildByType(RBRACE);
}
@Override
@NotNull
public PsiElement getStruct() {
return notNullChild(findChildByType(STRUCT));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoSwitchStartImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoSwitchStartImpl extends GoCompositeElementImpl implements GoSwitchStart {
public GoSwitchStartImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitSwitchStart(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getSwitch() {
return notNullChild(findChildByType(SWITCH));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoSwitchStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoSwitchStatementImpl extends GoStatementImpl implements GoSwitchStatement {
public GoSwitchStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitSwitchStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoSwitchStart getSwitchStart() {
return GoPsiTreeUtil.getChildOfType(this, GoSwitchStart.class);
}
@Override
@Nullable
public GoSwitchStatement getSwitchStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoSwitchStatement.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTagImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoTagImpl extends GoCompositeElementImpl implements GoTag {
public GoTagImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTag(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoStringLiteral getStringLiteral() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoStringLiteral.class));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeAssertionExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoTypeAssertionExprImpl extends GoExpressionImpl implements GoTypeAssertionExpr {
public GoTypeAssertionExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeAssertionExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoExpression getExpression() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoExpression.class));
}
@Override
@NotNull
public GoType getType() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoType.class));
}
@Override
@NotNull
public PsiElement getDot() {
return notNullChild(findChildByType(DOT));
}
@Override
@NotNull
public PsiElement getLparen() {
return notNullChild(findChildByType(LPAREN));
}
@Override
@NotNull
public PsiElement getRparen() {
return notNullChild(findChildByType(RPAREN));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeCaseClauseImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoTypeCaseClauseImpl extends GoCompositeElementImpl implements GoTypeCaseClause {
public GoTypeCaseClauseImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeCaseClause(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getStatementList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoStatement.class);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getChildOfType(this, GoType.class);
}
@Override
@Nullable
public PsiElement getColon() {
return findChildByType(COLON);
}
@Override
@Nullable
public PsiElement getCase() {
return findChildByType(CASE);
}
@Override
@Nullable
public PsiElement getDefault() {
return findChildByType(DEFAULT);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoTypeDeclarationImpl extends GoCompositeElementImpl implements GoTypeDeclaration {
public GoTypeDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getTypeSpecList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoTypeSpec.class);
}
@Override
@Nullable
public PsiElement getLparen() {
return findChildByType(LPAREN);
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
@Override
@NotNull
public PsiElement getType_() {
return notNullChild(findChildByType(TYPE_));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeGuardImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoTypeGuardImpl extends GoCompositeElementImpl implements GoTypeGuard {
public GoTypeGuardImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeGuard(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getLparen() {
return notNullChild(findChildByType(LPAREN));
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
@Override
@NotNull
public PsiElement getType_() {
return notNullChild(findChildByType(TYPE_));
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoTypeStub;
import com.goide.psi.*;
import com.intellij.psi.stubs.IStubElementType;
public class GoTypeImpl extends GoStubbedElementImpl implements GoType {
public GoTypeImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoTypeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitType(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoTypeReferenceExpression getTypeReferenceExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoTypeReferenceExpression.class);
}
@NotNull
public GoType getUnderlyingType() {
return GoPsiImplUtil.getUnderlyingType(this);
}
public boolean shouldGoDeeper() {
return GoPsiImplUtil.shouldGoDeeper(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeListImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.goide.stubs.GoTypeStub;
import com.intellij.psi.stubs.IStubElementType;
public class GoTypeListImpl extends GoTypeImpl implements GoTypeList {
public GoTypeListImpl(GoTypeStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoTypeListImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeList(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getTypeList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoType.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeReferenceExpressionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
import com.intellij.psi.PsiReference;
public class GoTypeReferenceExpressionImpl extends GoCompositeElementImpl implements GoTypeReferenceExpression {
public GoTypeReferenceExpressionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeReferenceExpression(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
@NotNull
public PsiReference getReference() {
return GoPsiImplUtil.getReference(this);
}
@Nullable
public GoTypeReferenceExpression getQualifier() {
return GoPsiImplUtil.getQualifier(this);
}
@Nullable
public PsiElement resolve() {
return GoPsiImplUtil.resolve(this);
}
@Nullable
public GoType resolveType() {
return GoPsiImplUtil.resolveType(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeSpecImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoTypeSpecStub;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.stubs.IStubElementType;
public class GoTypeSpecImpl extends GoNamedElementImpl implements GoTypeSpec {
public GoTypeSpecImpl(GoTypeSpecStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoTypeSpecImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeSpec(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoSpecType getSpecType() {
return notNullChild(GoPsiTreeUtil.getStubChildOfType(this, GoSpecType.class));
}
@Nullable
public GoType getGoTypeInner(ResolveState context) {
return GoPsiImplUtil.getGoTypeInner(this, context);
}
@NotNull
public List getMethods() {
return GoPsiImplUtil.getMethods(this);
}
public boolean shouldGoDeeper() {
return GoPsiImplUtil.shouldGoDeeper(this);
}
@Override
@NotNull
public PsiElement getIdentifier() {
GoSpecType p1 = getSpecType();
return p1.getIdentifier();
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeSwitchGuardImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoTypeSwitchGuardImpl extends GoCompositeElementImpl implements GoTypeSwitchGuard {
public GoTypeSwitchGuardImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeSwitchGuard(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public GoExpression getExpression() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoExpression.class));
}
@Override
@NotNull
public GoTypeGuard getTypeGuard() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoTypeGuard.class));
}
@Override
@Nullable
public GoVarDefinition getVarDefinition() {
return GoPsiTreeUtil.getChildOfType(this, GoVarDefinition.class);
}
@Override
@NotNull
public PsiElement getDot() {
return notNullChild(findChildByType(DOT));
}
@Override
@Nullable
public PsiElement getVarAssign() {
return findChildByType(VAR_ASSIGN);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoTypeSwitchStatementImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoTypeSwitchStatementImpl extends GoSwitchStatementImpl implements GoTypeSwitchStatement {
public GoTypeSwitchStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitTypeSwitchStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoStatement getStatement() {
return GoPsiTreeUtil.getChildOfType(this, GoStatement.class);
}
@Override
@NotNull
public GoSwitchStart getSwitchStart() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoSwitchStart.class));
}
@Override
@NotNull
public List getTypeCaseClauseList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoTypeCaseClause.class);
}
@Override
@NotNull
public GoTypeSwitchGuard getTypeSwitchGuard() {
return notNullChild(GoPsiTreeUtil.getChildOfType(this, GoTypeSwitchGuard.class));
}
@Override
@Nullable
public PsiElement getLbrace() {
return findChildByType(LBRACE);
}
@Override
@Nullable
public PsiElement getRbrace() {
return findChildByType(RBRACE);
}
@Override
@Nullable
public PsiElement getSemicolon() {
return findChildByType(SEMICOLON);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoUnaryExprImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoUnaryExprImpl extends GoExpressionImpl implements GoUnaryExpr {
public GoUnaryExprImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitUnaryExpr(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@Nullable
public PsiElement getBitAnd() {
return findChildByType(BIT_AND);
}
@Override
@Nullable
public PsiElement getBitXor() {
return findChildByType(BIT_XOR);
}
@Override
@Nullable
public PsiElement getMinus() {
return findChildByType(MINUS);
}
@Override
@Nullable
public PsiElement getMul() {
return findChildByType(MUL);
}
@Override
@Nullable
public PsiElement getNot() {
return findChildByType(NOT);
}
@Override
@Nullable
public PsiElement getPlus() {
return findChildByType(PLUS);
}
@Override
@Nullable
public PsiElement getSendChannel() {
return findChildByType(SEND_CHANNEL);
}
@Nullable
public PsiElement getOperator() {
return GoPsiImplUtil.getOperator(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoValueImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoValueImpl extends GoCompositeElementImpl implements GoValue {
public GoValueImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitValue(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public GoExpression getExpression() {
return GoPsiTreeUtil.getChildOfType(this, GoExpression.class);
}
@Override
@Nullable
public GoLiteralValue getLiteralValue() {
return GoPsiTreeUtil.getChildOfType(this, GoLiteralValue.class);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoVarDeclarationImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.psi.*;
public class GoVarDeclarationImpl extends GoCompositeElementImpl implements GoVarDeclaration {
public GoVarDeclarationImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitVarDeclaration(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getVarSpecList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoVarSpec.class);
}
@Override
@Nullable
public PsiElement getLparen() {
return findChildByType(LPAREN);
}
@Override
@Nullable
public PsiElement getRparen() {
return findChildByType(RPAREN);
}
@Override
@NotNull
public PsiElement getVar() {
return notNullChild(findChildByType(VAR));
}
@NotNull
public GoVarSpec addSpec(String name, String type, String value, GoVarSpec specAnchor) {
return GoPsiImplUtil.addSpec(this, name, type, value, specAnchor);
}
public void deleteSpec(GoVarSpec specToDelete) {
GoPsiImplUtil.deleteSpec(this, specToDelete);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoVarDefinitionImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoVarDefinitionStub;
import com.goide.psi.*;
import com.intellij.psi.PsiReference;
import com.intellij.psi.ResolveState;
import com.intellij.psi.stubs.IStubElementType;
public class GoVarDefinitionImpl extends GoNamedElementImpl implements GoVarDefinition {
public GoVarDefinitionImpl(GoVarDefinitionStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoVarDefinitionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitVarDefinition(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public PsiElement getIdentifier() {
return notNullChild(findChildByType(IDENTIFIER));
}
@Nullable
public GoType getGoTypeInner(ResolveState context) {
return GoPsiImplUtil.getGoTypeInner(this, context);
}
@Nullable
public PsiReference getReference() {
return GoPsiImplUtil.getReference(this);
}
@Nullable
public GoExpression getValue() {
return GoPsiImplUtil.getValue(this);
}
}
================================================
FILE: gen/com/goide/psi/impl/GoVarSpecImpl.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.goide.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.goide.psi.GoPsiTreeUtil;
import static com.goide.GoTypes.*;
import com.goide.stubs.GoVarSpecStub;
import com.goide.psi.*;
import com.intellij.psi.ResolveState;
import com.intellij.psi.scope.PsiScopeProcessor;
import com.intellij.psi.stubs.IStubElementType;
public class GoVarSpecImpl extends GoStubbedElementImpl implements GoVarSpec {
public GoVarSpecImpl(GoVarSpecStub stub, IStubElementType nodeType) {
super(stub, nodeType);
}
public GoVarSpecImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull GoVisitor visitor) {
visitor.visitVarSpec(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof GoVisitor) accept((GoVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getExpressionList() {
return GoPsiTreeUtil.getChildrenOfTypeAsList(this, GoExpression.class);
}
@Override
@Nullable
public GoType getType() {
return GoPsiTreeUtil.getStubChildOfType(this, GoType.class);
}
@Override
@NotNull
public List getVarDefinitionList() {
return GoPsiTreeUtil.getStubChildrenOfTypeAsList(this, GoVarDefinition.class);
}
@Override
@Nullable
public PsiElement getAssign() {
return findChildByType(ASSIGN);
}
public boolean processDeclarations(PsiScopeProcessor processor, ResolveState state, PsiElement lastParent, PsiElement place) {
return GoPsiImplUtil.processDeclarations(this, processor, state, lastParent, place);
}
public void deleteDefinition(GoVarDefinition definitionToDelete) {
GoPsiImplUtil.deleteDefinition(this, definitionToDelete);
}
@NotNull
public List getRightExpressionsList() {
return GoPsiImplUtil.getRightExpressionsList(this);
}
}
================================================
FILE: google-app-engine/google-app-engine-yaml/build.gradle
================================================
dependencies {
compile project(':google-app-engine')
}
================================================
FILE: google-app-engine/google-app-engine-yaml/src/yaml/AppEngineYamlCompletionContributor.java
================================================
/*
* Copyright 2013-2015 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package yaml;
import com.intellij.appengine.AppEngineExtension;
import com.intellij.codeInsight.completion.CompletionContributor;
import com.intellij.codeInsight.completion.CompletionParameters;
import com.intellij.codeInsight.completion.CompletionProvider;
import com.intellij.codeInsight.completion.CompletionResultSet;
import com.intellij.psi.PsiElement;
import com.intellij.util.ProcessingContext;
import org.jetbrains.annotations.NotNull;
@SuppressWarnings("ALL")
public class AppEngineYamlCompletionContributor extends CompletionContributor {
public AppEngineYamlCompletionContributor() {
//extend(CompletionType.BASIC, key(), new YamlCompletionProvider());
//extend(CompletionType.BASIC, inSequence(), new YamlCompletionProvider());
}
private static class YamlCompletionProvider extends CompletionProvider {
@Override
protected void addCompletions(@NotNull CompletionParameters completionParameters,
ProcessingContext processingContext,
@NotNull CompletionResultSet result) {
PsiElement position = completionParameters.getPosition();
if (!AppEngineExtension.isAppEngineContext(position)) {
return;
}
}
}
}
================================================
FILE: google-app-engine/google-app-engine-yaml/src/yaml/YamlConstants.java
================================================
/*
* Copyright 2013-2015 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package yaml;
import java.util.Collections;
import java.util.EnumSet;
public interface YamlConstants {
enum Value {
REQUIRED, ADMIN,
UNAUTHORIZED, REDIRECT,
OPTIONAL, NEVER, ALWAYS,
TRUE, FALSE
}
enum Key {
APPLICATION(true, true),
HANDLERS(true, true),
VERSION(false, true),
RUNTIME(true, true),
API_VERSION(true, true),
URL(true, false),
THREADSAFE(false, true, Value.TRUE, Value.FALSE),
DEFAULT_EXPIRATION(false, true),
BUILTINS(false, true),
INCLUDES(false, true),
INBOUND_SERVICES(false, true),
ADMIN_CONSOLE(false, true),
ERROR_HANDLERS(false, true),
MIME_TYPE(false, false),
EXPIRATION(false, false),
UPLOAD(false, false),
AUTH_FAIL_ACTION(false, false, Value.UNAUTHORIZED, Value.REDIRECT),
SECURE(false, false, Value.OPTIONAL, Value.NEVER, Value.ALWAYS),
LOGIN(false, false, Value.REQUIRED, Value.ADMIN),
SKIP_FILES(false, true),
TYPE_SCRIPT(true, false),
TYPE_STATIC_DIR(true, false),
TYPE_STATIC_FILES(true, false);
private final boolean myRequired;
private final boolean myTopLevel;
private final EnumSet myValues;
Key(boolean required, boolean topLevel, Value... values) {
myRequired = required;
myTopLevel = topLevel;
myValues = EnumSet.noneOf(Value.class);
Collections.addAll(myValues, values);
}
}
}
================================================
FILE: google-app-engine/src/com/intellij/appengine/AppEngineExtension.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.appengine;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.util.Disposer;
import com.intellij.psi.PsiElement;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
public abstract class AppEngineExtension {
private static final ExtensionPointName EXTENSION = ExtensionPointName.create("ro.redeul.google.go.appengine.Extension");
private static boolean ourTestingMode;
public static void enableTestingMode(@NotNull Disposable disposable) {
ourTestingMode = true;
Disposer.register(disposable, () -> {
//noinspection AssignmentToStaticFieldFromInstanceMethod
ourTestingMode = false;
});
}
public abstract boolean isAppEngineEnabled(@Nullable PsiElement context);
public static boolean isAppEngineContext(@Nullable PsiElement context) {
for (AppEngineExtension extension : EXTENSION.getExtensions()) {
if (extension.isAppEngineEnabled(context)) {
return true;
}
}
return ourTestingMode;
}
}
================================================
FILE: google-app-engine/src/com/intellij/appengine/GoogleAppEngineIcons.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.intellij.appengine;
import com.intellij.openapi.util.IconLoader;
import javax.swing.*;
public class GoogleAppEngineIcons {
public static final Icon AppEngine = IconLoader.findIcon("/icons/appEngine.png");
public static final Icon AppEngineMark = IconLoader.findIcon("/icons/appEngineMark.png");
private GoogleAppEngineIcons() {}
}
================================================
FILE: gradle/wrapper/gradle-wrapper.properties
================================================
#
# Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#Wed Jun 22 07:25:55 MSK 2016
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.0-milestone-2-all.zip
================================================
FILE: gradle.properties
================================================
#
# Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
version = 0.13
ideaVersion = 2016.3
javaVersion = 1.8
javaTargetVersion = 1.8
delveVersion = 0.11.318
customDlvPath =
buildNumber=SNAPSHOT
isEAP=false
sources=true
customSinceBuild=
localIdePath=
publishUsername=user
publishPassword=password
publishChannel=
org.gradle.jvmargs=-Xms256m -Xmx1024m
================================================
FILE: gradlew
================================================
#!/usr/bin/env bash
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn ( ) {
echo "$*"
}
die ( ) {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
function splitJvmOpts() {
JVM_OPTS=("$@")
}
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [[ "$(uname)" == "Darwin" ]] && [[ "$HOME" == "$PWD" ]]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
================================================
FILE: gradlew.bat
================================================
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
================================================
FILE: grammars/copyrightHeader.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
================================================
FILE: grammars/go.bnf
================================================
{
parserClass='com.goide.parser.GoParser'
classHeader='copyrightHeader.java'
implements='com.goide.psi.GoCompositeElement'
extends='com.goide.psi.impl.GoCompositeElementImpl'
elementTypeHolderClass='com.goide.GoTypes'
elementTypeClass='com.goide.psi.GoCompositeElementType'
tokenTypeClass='com.goide.psi.GoTokenType'
psiTreeUtilClass='com.goide.psi.GoPsiTreeUtil'
psiClassPrefix='Go'
psiImplClassSuffix='Impl'
psiPackage='com.goide.psi'
psiImplPackage='com.goide.psi.impl'
psiImplUtilClass="com.goide.psi.impl.GoPsiImplUtil"
parserUtilClass="com.goide.parser.GoParserUtil"
tokens=[
LBRACE = '{'
RBRACE = '}'
LBRACK = '['
RBRACK = ']'
LPAREN = '('
RPAREN = ')'
COLON = ':'
SEMICOLON = ';'
COMMA = ','
EQ = '=='
ASSIGN = '='
NOT_EQ = '!='
NOT = '!'
PLUS_PLUS = '++'
PLUS_ASSIGN = '+='
PLUS = '+'
MINUS_MINUS = '--'
MINUS_ASSIGN = '-='
MINUS = '-'
COND_OR = '||'
BIT_OR_ASSIGN = '|='
BIT_CLEAR_ASSIGN = '&^='
BIT_CLEAR = '&^'
COND_AND = '&&'
BIT_AND_ASSIGN = '&='
BIT_AND = '&'
BIT_OR = '|'
SHIFT_LEFT_ASSIGN = '<<='
SHIFT_LEFT = '<<'
SEND_CHANNEL = '<-'
LESS_OR_EQUAL = '<='
LESS = '<'
BIT_XOR_ASSIGN = '^='
BIT_XOR = '^'
MUL_ASSIGN = '*='
MUL = '*'
QUOTIENT_ASSIGN = '/='
QUOTIENT = '/'
REMAINDER_ASSIGN = '%='
REMAINDER = '%'
SHIFT_RIGHT_ASSIGN = '>>='
SHIFT_RIGHT = '>>'
GREATER_OR_EQUAL = '>='
GREATER = '>'
VAR_ASSIGN = ':='
TRIPLE_DOT = '...'
DOT = '.'
SEMICOLON_SYNTHETIC = ''
TYPE_ = 'type'
raw_string = 'raw_string'
]
extends("(Or|And|Add|Conversion|Mul|Selector|Conditional)Expr")=BinaryExpr
extends(".*(Expr|Literal|Lit|OperandName)")=Expression
implements("(Type|Import)Spec|(Var|Const|Param|(Anonymous)?Field|Label)Definition|Receiver")="com.goide.psi.GoNamedElement"
implements("FunctionLit")="com.goide.psi.GoSignatureOwner"
implements("MethodSpec")="com.goide.psi.GoNamedSignatureOwner"
implements("(Function|Method)Declaration")="com.goide.psi.GoFunctionOrMethodDeclaration"
implements("(Const|Type|Var)Declaration")="com.goide.psi.GoTopLevelDeclaration"
implements(".*ReferenceExpression|FieldName")="com.goide.psi.GoReferenceExpressionBase"
extends("(Function|Method)Declaration")="com.goide.psi.impl.GoFunctionOrMethodDeclarationImpl>"
extends("(Type|Import|Method)Spec|(Var|Const|Param|(Anonymous)?Field|Label)Definition|Receiver")="com.goide.psi.impl.GoNamedElementImpl>"
extends("PackageClause|Parameters|Signature|ParameterDeclaration|Result|Type|(Const|Var|Import)Spec")="com.goide.psi.impl.GoStubbedElementImpl>"
elementTypeFactory("PackageClause|(Function|Method|Parameter)Declaration|(Type|Import|Method|Const|Var)Spec|RangeClause|RecvStatement|ShortVarDeclaration|(Var|Const|Param|(Anonymous)?Field|Label)Definition|Receiver|Parameters|Signature|Result|.*Type|TypeList.*")='com.goide.stubs.GoElementTypeFactory.stubFactory'
pin(".*Statement")=1
extends(".*Statement")=Statement
extends(".*Type|TypeList")=Type
pin('.*List(?:_\d.*)?')=1
generateTokenAccessors=true
}
File ::= PackageClause semi ImportList TopLevelDeclaration* {pin(".*")=1}
ImportList ::= (ImportDeclaration semi)+|<> {
methods=[addImport]
}
private semi ::= '' | ';' | <>
PackageClause ::= package identifier {pin=1 methods=[getName] stubClass="com.goide.stubs.GoPackageClauseStub"}
ImportDeclaration ::= import ( ImportSpec | '(' ImportSpecs? ')' ) {
pin(".*")=1
methods=[addImportSpec]
}
private ImportSpecs ::= ImportSpec (semi ImportSpec)* semi? {pin=1}
ImportSpec ::= [ '.' | identifier ] ImportString {
stubClass="com.goide.stubs.GoImportSpecStub"
methods=[getAlias getLocalPackageName shouldGoDeeper isForSideEffects isDot getPath getName isCImport]
}
ImportString ::= StringLiteral {methods=[getReferences resolve getPath getPathTextRange]}
Type ::= TypeName | TypeLit | ParType {stubClass="com.goide.stubs.GoTypeStub" methods=[getUnderlyingType shouldGoDeeper]}
ParType ::= '(' Type ')' {methods=[getActualType]}
private TypeName ::= TypeReferenceExpression QualifiedTypeReferenceExpression?
TypeReferenceExpression ::= identifier { methods=[getReference getQualifier resolve resolveType] }
left QualifiedTypeReferenceExpression ::= '.' identifier {elementType=TypeReferenceExpression}
private TypeLit ::=
ArrayOrSliceType
| StructType
| PointerType
| FunctionType
| InterfaceType
| MapType
| ChannelType
ArrayOrSliceType ::= '[' ('...'|Expression?) ']' Type {pin=1}
StructType ::= struct '{' Fields? '}' {pin=1}
private Fields ::= FieldDeclaration (semi FieldDeclaration)* semi? {pin=1}
FieldDeclaration ::= (FieldDefinitionList Type | AnonymousFieldDefinition) Tag?
Tag ::= StringLiteral
private FieldDefinitionList ::= FieldDefinition (',' FieldDefinition)*
FieldDefinition ::= identifier {
stubClass="com.goide.stubs.GoFieldDefinitionStub"
}
AnonymousFieldDefinition ::= Type {
stubClass="com.goide.stubs.GoAnonymousFieldDefinitionStub"
methods=[getIdentifier getName getTypeReferenceExpression getGoTypeInner]
}
PointerType ::= '*' Type {pin=1}
FunctionType ::= func Signature {pin=1 implements="com.goide.psi.GoSignatureOwner"}
Signature ::= Parameters Result? {
pin=1
stubClass="com.goide.stubs.GoSignatureStub"
}
Result ::= '(' TypeListNoPin ')' | Type | Parameters { // todo: reorder and pin (
stubClass="com.goide.stubs.GoResultStub"
methods=[isVoid]
}
Parameters ::= '(' [ (ParameterList ','?| TypeListNoPin) ] ')' {
pin=1
stubClass="com.goide.stubs.GoParametersStub"
}
private ParameterList ::= ParameterDeclaration (',' (ParameterDeclaration | &')'))* {pin(".*")=1}
ParameterDeclaration ::= ParamDefinitionListNoPin? '...'? Type | Type { // todo: use left rule
stubClass="com.goide.stubs.GoParameterDeclarationStub"
methods = [isVariadic]
}
private ParamDefinitionListNoPin ::= ParamDefinition &(!('.' | ')')) (',' ParamDefinition)* // todo
ParamDefinition ::= identifier {
stubClass="com.goide.stubs.GoParamDefinitionStub"
methods = [isVariadic]
}
InterfaceType ::= interface '{' MethodSpecs? '}' {
pin(".*")=1
methods=[getMethods getBaseTypesReferences]
}
private MethodSpecs ::= MethodSpec (semi MethodSpec)* semi? {pin=1}
MethodSpec ::= TypeName &(!'(') | identifier Signature {
stubClass="com.goide.stubs.GoMethodSpecStub"
methods=[getGoTypeInner getName]
}
MapType ::= map '[' Type ']' Type {
pin=1
methods = [
keyType="Type[0]"
valueType="Type[1]"
]
}
ChannelType ::= ChanTypePrefix Type {pin=1}
private ChanTypePrefix ::= chan '<-'? | '<-' chan {pin(".*")=1}
BlockWithConsume ::= <> | BlockInner {elementType=Block}
Block ::= BlockInner {methods=[processDeclarations]}
private BlockInner ::= '{' ('}' | (<> | (!() Statements)) '}') {pin(".*")=1}
private Statements ::= StatementWithSemi*
private StatementWithSemi ::= Statement (semi|&'}') { pin=1 recoverWhile=StatementRecover }
Statement ::=
ConstDeclaration
| TypeDeclaration
| VarDeclaration
| LabeledStatement
| SimpleStatement
| GoStatement
| ReturnStatement
| BreakStatement
| ContinueStatement
| GotoStatement
| FallthroughStatement
| Block
| IfStatement
| SwitchStatement
| SelectStatement
| ForStatement
| DeferStatement {methods=[processDeclarations]}
private StatementRecover ::= !('!' | '&' | '(' | '*' | '+' | '-' | ';' | '<-' | '^' | 'type' | '{' | '|' | '|=' | '||' | '}' | break | case | char | const | continue | decimali | default | defer | else | fallthrough | float | floati | for | func | go | goto | hex | identifier | if | int | interface | map | oct | return | select | string | raw_string | struct | switch | var)
SimpleStatement ::=
ShortVarDeclaration
| IncDecStatement
| (LeftHandExprList [AssignmentStatement | SendStatement]) {pin(".*")=LeftHandExprList}
private TopLevelDeclaration ::= !<> TopDeclaration semi {pin=1 recoverWhile=TopLevelDeclarationRecover}
private TopDeclaration ::=
ConstDeclaration
| TypeDeclaration
| VarDeclaration
| FunctionDeclaration
| MethodDeclaration
private TopLevelDeclarationRecover ::= !(';' |'type' | const | func | var)
ConstDeclaration ::= const ( ConstSpec | '(' ConstSpecs? ')' ) {pin(".*")=1 methods=[addSpec deleteSpec]}
private ConstSpecs ::= ConstSpec (semi ConstSpec)* semi? {pin=1}
ConstSpec ::= ConstDefinitionList [ ('=' ExpressionList | Type '=' ExpressionList) ] {
pin(".*")=1
stubClass="com.goide.stubs.GoConstSpecStub"
methods=[deleteDefinition]
}
private ConstDefinitionList ::= ConstDefinition ( ',' ConstDefinition )*
ConstDefinition ::= identifier {
stubClass="com.goide.stubs.GoConstDefinitionStub"
methods=[getGoTypeInner getValue]
}
LeftHandExprList ::= ExpressionList
private ExpressionArgList ::= ExpressionOrTypeWithRecover2 (',' (ExpressionOrTypeWithRecover2 | &')'))* {pin(".*")=1}
private ExpressionOrTypeWithRecover2 ::= <> | (!() ExpressionOrLiteralTypeExpr) {recoverWhile=ExpressionListRecover}
private ExpressionOrTypeWithRecover ::= ExpressionOrLiteralTypeExpr {recoverWhile=ExpressionListRecover}
private ExpressionOrLiteralTypeExpr ::= Expression | LiteralTypeExpr
private ExpressionList ::= ExpressionWithRecover (',' (ExpressionWithRecover | &')'))* {pin(".*")=1}
private ExpressionWithRecover ::= Expression {recoverWhile=ExpressionListRecover}
private ExpressionListRecover ::= !('!' | '!=' | '%' | '%=' | '&&' | '&' | '&=' | '&^' | '&^=' | '(' | ')' | '*' | '*=' | '+' | '++' | '+=' | ',' | '-' | '--' | '-=' | '...' | '/' | '/=' | ':' | ';' | '<' | '<-' | '<<' | '<<=' | '<=' | '' | '=' | '==' | '>' | '>=' | '>>' | '>>=' | '[' | ']' | '^' | '^=' | 'type' | '{' | '|' | '|=' | '||' | '}' | break | case | chan | char | const | continue | decimali | default | defer | else | fallthrough | float | floati | for | func | go | goto | hex | identifier | if | int | interface | map | oct | return | select | string | raw_string | struct | switch | var)
TypeDeclaration ::= 'type' ( TypeSpec | '(' TypeSpecs? ')' ) {pin(".*")=1}
private TypeSpecs ::= TypeSpec (semi TypeSpec)* semi? {pin=1}
TypeSpec ::= SpecType {
methods=[getGoTypeInner getMethods shouldGoDeeper identifier="SpecType/identifier"]
stubClass="com.goide.stubs.GoTypeSpecStub"
}
SpecType ::= identifier Type {pin=1 stubClass="com.goide.stubs.GoTypeStub" extends="com.goide.psi.impl.GoTypeImpl" implements=Type}
VarDeclaration ::= var ( VarSpec | '(' VarSpecs? ')' ) {pin(".*")=1 methods=[addSpec deleteSpec]}
private VarSpecs ::= VarSpec (semi VarSpec)* semi? {pin=1}
VarSpec ::= VarDefinitionList ( Type [ '=' ExpressionList ] | '=' ExpressionList ) {
pin(".*")=1
methods=[processDeclarations deleteDefinition getRightExpressionsList]
stubClass="com.goide.stubs.GoVarSpecStub"
}
private VarDefinitionList ::= VarDefinition ( ',' VarDefinition )*
VarDefinition ::= identifier {
methods=[getGoTypeInner getReference getValue]
stubClass="com.goide.stubs.GoVarDefinitionStub"
}
ShortVarDeclaration ::= VarDefinitionList ':=' ExpressionList {pin=2 extends=VarSpec}
FunctionDeclaration ::= func identifier Signature BlockWithConsume? {
pin=2
stubClass="com.goide.stubs.GoFunctionDeclarationStub"
}
MethodDeclaration ::= func Receiver identifier Signature BlockWithConsume? {
pin=1
stubClass="com.goide.stubs.GoMethodDeclarationStub"
methods=[getReceiverType]
}
Receiver ::= '(' (identifier ReceiverTail | ReceiverTail) ')' {
methods=[getGoTypeInner]
pin=1
stubClass="com.goide.stubs.GoReceiverStub"
}
private ReceiverTail ::= Type ','?
Literal ::=
int
| float
| floati
| decimali
| hex
| oct
| StringLiteral
| char
StringLiteral ::= string | raw_string {
implements = "com.intellij.psi.PsiLanguageInjectionHost"
methods = [isValidHost updateText createLiteralTextEscaper getDecodedText]
}
OperandName ::= ReferenceExpression QualifiedReferenceExpression? {elementType=ReferenceExpression}
left QualifiedReferenceExpression ::= '.' identifier {elementType=ReferenceExpression}
ReferenceExpression ::= identifier { methods=[getReference getQualifier resolve getReadWriteAccess] extends=Expression}
CompositeLit ::= (LiteralTypeExprInner LiteralValue | TypeName LiteralValue) {pin(".*")="LiteralTypeExprInner"} // the brackets are valuable
private LiteralTypeExprInner ::= StructType | ArrayOrSliceType | MapType
LiteralTypeExpr ::= LiteralTypeExprInner | TypeName
LiteralValue ::= (<> | <> | <>) '{' ElementList? '}' {pin=2}
private ElementList ::= E ( ',' E? )*
private E ::= <> | (!() Element) {recoverWhile=E_recover}
private E_recover ::= !('}'|',')
Element ::= First [':' Value] {pin(".*")=1}
private First ::= Key | <>
Key ::= (FieldName &':') | !() Expression // nullability hack for key without reference inside
FieldName ::= identifier { methods=[getReference getQualifier resolve] }
Value ::= Expression | LiteralValue
FunctionLit ::= func Signature Block {pin=1 methods=[processDeclarations]}
Expression ::=
OrExpr
| AndExpr
| ConditionalExpr
| AddExpr
| MulExpr
| UnaryExpr
| ConversionExpr
| MaxGroup
| ParenthesesExpr {methods=[getGoType] implements="com.goide.psi.GoTypeOwner"}
fake BinaryExpr ::= Expression+ {
methods=[left="Expression[0]" right="Expression[1]" getOperator]
}
OrExpr ::= Expression '||' Expression
AndExpr ::= Expression '&&' Expression
UnaryExpr ::= UnaryOp Expression {methods=[getOperator]}
ConditionalExpr ::= Expression RelOp Expression
AddExpr ::= Expression AddOp Expression
MulExpr ::= Expression MulOp Expression
ParenthesesExpr ::= '(' <> Expression <>')' {pin=1}
BuiltinCallExpr ::= ReferenceExpression <> BuiltinArgumentList {pin=2}
BuiltinArgumentList ::= '(' [ BuiltinArgsInner ','? ] ')' {pin=1 extends=ArgumentList}
private BuiltinArgsInner ::= Type [ ',' BuiltinArgsTail ] | BuiltinArgsTail
private BuiltinArgsTail ::= ExpressionList '...'?
private MaxGroup ::=
CompositeLit
| OperandName
| BuiltinCallExpr
| CallExpr
| TypeAssertionExpr
| SelectorExpr
| IndexOrSliceExpr
| Literal
| FunctionLit
private RelOp ::= '==' | '!=' | '<' | '<=' | '>' | '>='
private AddOp ::= '+' | '-' | '|' | '^'
private MulOp ::= '*' | '/' | '%' | '<<' | '>>' | '&' | '&^'
private UnaryOp ::= '+' | '-' | '!' | '^' | '*' | '&' | '<-'
SelectorExpr ::= Expression '.' !('(' 'type') Expression
IndexOrSliceExpr ::= Expression '[' <> (SliceExprBody | IndexExprBody) <> ']' {pin=2 methods = [getExpression getIndices]}
private IndexExprBody ::= Expression SliceExprBodyInner?
private inner SliceExprBodyInner ::= SliceExprBody
private SliceExprBody ::= &':' (':' Expression ':' Expression) | (':' Expression?)
TypeAssertionExpr ::= Expression '.' '(' &(!'type') Type ')'
CallExpr ::= Expression ArgumentList
ArgumentList ::= '(' [ ExpressionArgList '...'? ','? ] ')' {pin=1}
ConversionExpr ::= &ConversionPredicate Type ConversionTail
private ConversionPredicate ::= ConversionStart | '(' ConversionStart
private ConversionTail ::= '(' Expression ','? ')' {pin=1}
private ConversionStart ::= '*' | '<-' | '[' | chan | func | interface | map | struct
LabeledStatement ::= LabelDefinition ':' Statement? {pin=2}
LabelDefinition ::= identifier {
stubClass="com.goide.stubs.GoLabelDefinitionStub" // todo: remove when you'll have some spare time
}
left SendStatement ::= '<-' Expression {pin=1 methods=[getSendExpression]}
left AssignmentStatement ::= assign_op ExpressionList {pin=1}
IncDecStatement ::= Expression ('++' | '--') {pin=2}
assign_op ::= '=' | '+=' | '-=' | '|=' | '^=' | '*=' | '/=' | '%=' | '<<=' | '>>=' | '&=' | '&^='
IfStatement ::= if Condition Block ElseStatement?
ElseStatement ::= else (IfStatement | Block)
SwitchStatement ::= SwitchStart (TypeSwitchStatement | ExprSwitchStatement)
SwitchStart ::= switch
left ExprSwitchStatement ::= Condition '{' ExprCaseClause* '}' {pin=2 extends=SwitchStatement}
private Condition ::= <> SimpleStatementOpt Expression? <>
private SimpleStatementOpt ::= [SimpleStatement ';'?] // todo: remove ?
ExprCaseClause ::= !'}' ExprSwitchCase ':' Statements? {pin=1 implements="com.goide.psi.GoCaseClause"}
private ExprSwitchCase ::= case ExpressionList | default {pin(".*")=1}
left TypeSwitchStatement ::= (TypeSwitchGuard | SimpleStatement ';'? TypeSwitchGuard) '{' ( TypeCaseClause )* '}' {pin=1 extends=SwitchStatement}
TypeSwitchGuard ::= [ VarDefinition ':=' ] Expression '.' TypeGuard
TypeGuard ::= '(' 'type' ')' {pin=2}
TypeCaseClause ::= !'}' TypeSwitchCase ':' Statements? {pin=1 implements="com.goide.psi.GoCaseClause"}
private TypeSwitchCase ::= case TypeList | default {pin(".*")=1}
TypeList ::= Type ( ',' Type )* ','?
TypeListNoPin ::= Type ( ',' Type )* ','? {elementType=TypeList}
ForStatement ::= for <> (ForOrRangeClause Block | Block | Expression Block) <> {pin(".*")="for|ForOrRangeClause"}
private ForOrRangeClause ::= (ForClause | RangeClause)
ForClause ::= SimpleStatement? ';' Expression? ';' SimpleStatement? {methods=[processDeclarations]}
RangeClause ::= range Expression | ExpressionsOrVariables range Expression {pin(".*")=1 extends=VarSpec methods=[getRangeExpression getLeftExpressionsList getRightExpressionsList]}
private ExpressionsOrVariables ::= ExpressionList '=' | VarDefinitionList ':='
GoStatement ::= go Expression
SelectStatement ::= select '{' CommClause* '}'
CommClause ::= CommCase ':' Statements? {pin=1}
CommCase ::= case ( Expression SendStatement | RecvStatement ) | default {pin(".*")="case"}
RecvStatement ::= ExpressionsOrVariables? Expression {pin=0 extends=VarSpec methods=[getRecvExpression getLeftExpressionsList getRightExpressionsList]}
ReturnStatement ::= return ExpressionList?
LabelRef ::= identifier { methods=[getReference] }
BreakStatement ::= break LabelRef?
ContinueStatement ::= continue LabelRef?
GotoStatement ::= goto LabelRef
FallthroughStatement ::= fallthrough
DeferStatement ::= defer Expression
================================================
FILE: plan9/build.gradle
================================================
//version '0.10.SNAPSHOT'
//
//apply plugin: 'java'
//
//sourceCompatibility = 1.5
//
//repositories {
// mavenCentral()
//}
//
//dependencies {
// testCompile group: 'junit', name: 'junit', version: '4.11'
//}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/lexer/_AsmIntelHighlightingLexer.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* The following code was generated by JFlex 1.4.3 on 3/26/16 7:41 PM */
package com.plan9.intel.lang.core.lexer;
import com.intellij.lexer.FlexLexer;
import com.intellij.psi.TokenType;
import com.intellij.psi.tree.IElementType;
import com.intellij.util.text.CharArrayUtil;
import java.io.IOException;
import java.io.Reader;
import static com.plan9.intel.ide.highlighting.AsmIntelLexerTokens.*;
/**
* This class is a scanner generated by
* JFlex 1.4.3
* on 3/26/16 7:41 PM from the specification file
* /Users/zolotov/dev/intellij-plugins/intellij-go/plan9/src/com/plan9/intel/ide/highlighting/AsmIntelHighlightingLexer.flex
*/
public class _AsmIntelHighlightingLexer implements FlexLexer {
/** initial size of the lookahead buffer */
private static final int ZZ_BUFFERSIZE = 16384;
/** lexical states */
public static final int YYINITIAL = 0;
/**
* ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
* ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
* at the beginning of a line
* l is of the form l = 2*k, k a non negative integer
*/
private static final int ZZ_LEXSTATE[] = {
0, 0
};
/**
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
"\11\0\1\3\1\1\1\0\1\2\1\1\22\0\1\3\1\0\1\5"+
"\1\60\1\0\2\12\1\0\1\72\1\72\2\12\1\73\1\12\1\0"+
"\1\4\1\13\1\41\1\42\1\43\1\44\1\45\1\47\1\11\1\37"+
"\1\40\1\16\1\0\1\74\1\0\1\75\2\0\1\26\1\24\1\30"+
"\1\25\1\20\1\31\1\21\1\46\1\35\1\53\1\52\1\22\1\50"+
"\1\33\1\23\1\27\1\54\1\36\1\34\1\17\1\32\1\56\1\51"+
"\1\15\1\55\1\57\3\0\1\12\1\6\1\0\2\10\1\63\1\66"+
"\1\67\1\70\2\6\1\61\2\6\1\64\1\6\1\62\4\6\1\71"+
"\1\6\1\65\2\6\1\14\2\6\1\0\1\12\1\0\1\12\53\0"+
"\1\6\12\0\1\6\1\0\1\6\2\0\1\6\5\0\27\6\1\0"+
"\37\6\1\0\u01ca\6\4\0\14\6\16\0\5\6\7\0\1\6\1\0"+
"\1\6\201\0\5\6\1\0\2\6\2\0\4\6\10\0\1\6\1\0"+
"\3\6\1\0\1\6\1\0\24\6\1\0\123\6\1\0\213\6\10\0"+
"\236\6\11\0\46\6\2\0\1\6\7\0\47\6\110\0\33\6\5\0"+
"\3\6\55\0\53\6\25\0\12\7\4\0\2\6\1\0\143\6\1\0"+
"\1\6\17\0\2\6\7\0\2\6\12\7\3\6\2\0\1\6\20\0"+
"\1\6\1\0\36\6\35\0\131\6\13\0\1\6\16\0\12\7\41\6"+
"\11\0\2\6\4\0\1\6\5\0\26\6\4\0\1\6\11\0\1\6"+
"\3\0\1\6\27\0\31\6\107\0\1\6\1\0\13\6\127\0\66\6"+
"\3\0\1\6\22\0\1\6\7\0\12\6\4\0\12\7\1\0\7\6"+
"\1\0\7\6\5\0\10\6\2\0\2\6\2\0\26\6\1\0\7\6"+
"\1\0\1\6\3\0\4\6\3\0\1\6\20\0\1\6\15\0\2\6"+
"\1\0\3\6\4\0\12\7\2\6\23\0\6\6\4\0\2\6\2\0"+
"\26\6\1\0\7\6\1\0\2\6\1\0\2\6\1\0\2\6\37\0"+
"\4\6\1\0\1\6\7\0\12\7\2\0\3\6\20\0\11\6\1\0"+
"\3\6\1\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6\3\0"+
"\1\6\22\0\1\6\17\0\2\6\4\0\12\7\25\0\10\6\2\0"+
"\2\6\2\0\26\6\1\0\7\6\1\0\2\6\1\0\5\6\3\0"+
"\1\6\36\0\2\6\1\0\3\6\4\0\12\7\1\0\1\6\21\0"+
"\1\6\1\0\6\6\3\0\3\6\1\0\4\6\3\0\2\6\1\0"+
"\1\6\1\0\2\6\3\0\2\6\3\0\3\6\3\0\14\6\26\0"+
"\1\6\25\0\12\7\25\0\10\6\1\0\3\6\1\0\27\6\1\0"+
"\12\6\1\0\5\6\3\0\1\6\32\0\2\6\6\0\2\6\4\0"+
"\12\7\25\0\10\6\1\0\3\6\1\0\27\6\1\0\12\6\1\0"+
"\5\6\3\0\1\6\40\0\1\6\1\0\2\6\4\0\12\7\1\0"+
"\2\6\22\0\10\6\1\0\3\6\1\0\51\6\2\0\1\6\20\0"+
"\1\6\21\0\2\6\4\0\12\7\12\0\6\6\5\0\22\6\3\0"+
"\30\6\1\0\11\6\1\0\1\6\2\0\7\6\72\0\60\6\1\0"+
"\2\6\14\0\7\6\11\0\12\7\47\0\2\6\1\0\1\6\2\0"+
"\2\6\1\0\1\6\2\0\1\6\6\0\4\6\1\0\7\6\1\0"+
"\3\6\1\0\1\6\1\0\1\6\2\0\2\6\1\0\4\6\1\0"+
"\2\6\11\0\1\6\2\0\5\6\1\0\1\6\11\0\12\7\2\0"+
"\4\6\40\0\1\6\37\0\12\7\26\0\10\6\1\0\44\6\33\0"+
"\5\6\163\0\53\6\24\0\1\6\12\7\6\0\6\6\4\0\4\6"+
"\3\0\1\6\3\0\2\6\7\0\3\6\4\0\15\6\14\0\1\6"+
"\1\0\12\7\6\0\46\6\1\0\1\6\5\0\1\6\2\0\53\6"+
"\1\0\u014d\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0\4\6"+
"\2\0\51\6\1\0\4\6\2\0\41\6\1\0\4\6\2\0\7\6"+
"\1\0\1\6\1\0\4\6\2\0\17\6\1\0\71\6\1\0\4\6"+
"\2\0\103\6\45\0\20\6\20\0\125\6\14\0\u026c\6\2\0\21\6"+
"\1\0\32\6\5\0\113\6\25\0\15\6\1\0\4\6\16\0\22\6"+
"\16\0\22\6\16\0\15\6\1\0\3\6\17\0\64\6\43\0\1\6"+
"\4\0\1\6\3\0\12\7\46\0\12\7\6\0\130\6\10\0\51\6"+
"\1\0\1\6\5\0\106\6\12\0\35\6\51\0\12\7\36\6\2\0"+
"\5\6\13\0\54\6\25\0\7\6\10\0\12\7\46\0\27\6\11\0"+
"\65\6\53\0\12\7\6\0\12\7\15\0\1\6\135\0\57\6\21\0"+
"\7\6\4\0\12\7\51\0\36\6\15\0\2\6\12\7\54\6\32\0"+
"\44\6\34\0\12\7\3\0\3\6\12\7\44\6\153\0\4\6\1\0"+
"\4\6\3\0\2\6\11\0\300\6\100\0\u0116\6\2\0\6\6\2\0"+
"\46\6\2\0\6\6\2\0\10\6\1\0\1\6\1\0\1\6\1\0"+
"\1\6\1\0\37\6\2\0\65\6\1\0\7\6\1\0\1\6\3\0"+
"\3\6\1\0\7\6\3\0\4\6\2\0\6\6\4\0\15\6\5\0"+
"\3\6\1\0\7\6\164\0\1\6\15\0\1\6\20\0\15\6\145\0"+
"\1\6\4\0\1\6\2\0\12\6\1\0\1\6\3\0\5\6\6\0"+
"\1\6\1\0\1\6\1\0\1\6\1\0\4\6\1\0\13\6\2\0"+
"\4\6\5\0\5\6\4\0\1\6\64\0\2\6\220\0\1\6\u09ea\0"+
"\57\6\1\0\57\6\1\0\205\6\6\0\4\6\3\0\2\6\14\0"+
"\46\6\1\0\1\6\5\0\1\6\2\0\70\6\7\0\1\6\20\0"+
"\27\6\11\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0"+
"\7\6\1\0\7\6\1\0\7\6\1\0\7\6\120\0\1\6\u01d5\0"+
"\2\6\52\0\5\6\5\0\2\6\4\0\126\6\6\0\3\6\1\0"+
"\132\6\1\0\4\6\5\0\51\6\3\0\136\6\21\0\33\6\65\0"+
"\20\6\u0200\0\u19b6\6\112\0\u51cd\6\63\0\u048d\6\103\0\56\6\2\0"+
"\u010d\6\3\0\20\6\12\7\2\6\24\0\57\6\20\0\31\6\10\0"+
"\106\6\61\0\11\6\2\0\147\6\2\0\4\6\1\0\4\6\14\0"+
"\13\6\115\0\12\6\1\0\3\6\1\0\4\6\1\0\27\6\35\0"+
"\64\6\16\0\62\6\34\0\12\7\30\0\6\6\3\0\1\6\4\0"+
"\12\7\34\6\12\0\27\6\31\0\35\6\7\0\57\6\34\0\1\6"+
"\12\7\46\0\51\6\27\0\3\6\1\0\10\6\4\0\12\7\6\0"+
"\27\6\3\0\1\6\5\0\60\6\1\0\1\6\3\0\2\6\2\0"+
"\5\6\2\0\1\6\1\0\1\6\30\0\3\6\2\0\13\6\7\0"+
"\3\6\14\0\6\6\2\0\6\6\2\0\6\6\11\0\7\6\1\0"+
"\7\6\221\0\43\6\15\0\12\7\6\0\u2ba4\6\14\0\27\6\4\0"+
"\61\6\u2104\0\u016e\6\2\0\152\6\46\0\7\6\14\0\5\6\5\0"+
"\1\6\1\0\12\6\1\0\15\6\1\0\5\6\1\0\1\6\1\0"+
"\2\6\1\0\2\6\1\0\154\6\41\0\u016b\6\22\0\100\6\2\0"+
"\66\6\50\0\14\6\164\0\5\6\1\0\207\6\23\0\12\7\7\0"+
"\32\6\6\0\32\6\13\0\131\6\3\0\6\6\2\0\6\6\2\0"+
"\6\6\2\0\3\6\43\0";
/**
* Translates characters to character classes
*/
private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
/**
* Translates DFA states to action switch labels.
*/
private static final int [] ZZ_ACTION = zzUnpackAction();
private static final String ZZ_ACTION_PACKED_0 =
"\1\0\1\1\2\2\1\3\1\1\1\4\1\5\1\3"+
"\1\5\27\4\1\1\1\6\1\7\2\1\1\10\1\0"+
"\1\11\1\12\1\0\1\13\10\4\1\13\22\4\1\13"+
"\5\4\1\13\11\4\1\14\6\4\1\13\16\4\1\14"+
"\4\4\1\13\2\4\1\13\10\4\1\14\1\4\1\14"+
"\32\4\7\15\1\4\1\15\6\4\4\0\1\16\10\4"+
"\1\13\2\4\1\17\145\4\1\17\10\4\1\15\4\4"+
"\1\17\1\15\22\4\5\0\3\4\1\20\3\4\1\15"+
"\14\4\1\15\57\4\1\15\26\4\4\15\3\4\2\15"+
"\6\4\5\0\4\4\1\21\11\4\2\15\32\4\3\15"+
"\1\4\1\15\2\4\1\15\23\4\3\0\1\22\1\4"+
"\1\15\7\4\1\15\11\4\1\15\11\4\1\0\35\4";
private static int [] zzUnpackAction() {
int [] result = new int[570];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAction(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/**
* Translates a state to a row index in the transition table
*/
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
"\0\0\0\76\0\174\0\76\0\272\0\370\0\u0136\0\u0174"+
"\0\76\0\u01b2\0\u01f0\0\u022e\0\u026c\0\u02aa\0\u02e8\0\u0326"+
"\0\u0364\0\u03a2\0\u03e0\0\u041e\0\u045c\0\u049a\0\u04d8\0\u0516"+
"\0\u0554\0\u0592\0\u05d0\0\u060e\0\u064c\0\u068a\0\u06c8\0\u0706"+
"\0\u0744\0\u0782\0\76\0\76\0\u07c0\0\u07fe\0\u083c\0\370"+
"\0\76\0\76\0\u087a\0\u0136\0\u08b8\0\u08f6\0\u0934\0\u0972"+
"\0\u09b0\0\u09ee\0\u0a2c\0\u0a6a\0\u0aa8\0\u0ae6\0\u0b24\0\u0b62"+
"\0\u0ba0\0\u0bde\0\u0c1c\0\u0c5a\0\u0c98\0\u0cd6\0\u0d14\0\u0d52"+
"\0\u0d90\0\u0dce\0\u0e0c\0\u0e4a\0\u0e88\0\u0ec6\0\u0f04\0\u0f42"+
"\0\u0f80\0\u0fbe\0\u0ffc\0\u103a\0\u1078\0\u10b6\0\u10f4\0\u1132"+
"\0\u1170\0\u11ae\0\u11ec\0\u122a\0\u1268\0\u12a6\0\u12e4\0\u1322"+
"\0\u1360\0\u139e\0\u13dc\0\u141a\0\u1458\0\u1496\0\u14d4\0\u1512"+
"\0\u1550\0\u158e\0\u15cc\0\u160a\0\u1648\0\u1686\0\u16c4\0\u1702"+
"\0\u1740\0\u177e\0\u17bc\0\u17fa\0\u1838\0\u1876\0\u18b4\0\u18f2"+
"\0\u1930\0\u196e\0\u19ac\0\u19ea\0\u1a28\0\u1a66\0\u1aa4\0\u1ae2"+
"\0\u1b20\0\u1b5e\0\u1b9c\0\u1bda\0\u1c18\0\u1c56\0\u1c94\0\u1cd2"+
"\0\u0f42\0\u1d10\0\u1d4e\0\u1d8c\0\u1dca\0\u1e08\0\u1e46\0\u1e84"+
"\0\u1ec2\0\u1f00\0\u1f3e\0\u1f7c\0\u1fba\0\u1ff8\0\u2036\0\u2074"+
"\0\u20b2\0\u20f0\0\u212e\0\u216c\0\u21aa\0\u21e8\0\u2226\0\u2264"+
"\0\u22a2\0\u22e0\0\u231e\0\u1550\0\u235c\0\u239a\0\u23d8\0\u2416"+
"\0\u2454\0\u2492\0\u24d0\0\u0136\0\u250e\0\u254c\0\u258a\0\u25c8"+
"\0\u2606\0\u2644\0\u2682\0\u26c0\0\u26fe\0\u273c\0\u087a\0\u277a"+
"\0\u27b8\0\u27f6\0\u2834\0\u2872\0\u28b0\0\u28ee\0\u292c\0\u296a"+
"\0\u29a8\0\u29e6\0\u0136\0\u2a24\0\u2a62\0\u2aa0\0\u2ade\0\u2b1c"+
"\0\u2b5a\0\u2b98\0\u2bd6\0\u2c14\0\u2c52\0\u2c90\0\u2cce\0\u2d0c"+
"\0\u2d4a\0\u2d88\0\u2dc6\0\u2e04\0\u2416\0\u2e42\0\u2e80\0\u2ebe"+
"\0\u2efc\0\u2f3a\0\u2f78\0\u2fb6\0\u2ff4\0\u3032\0\u3070\0\u30ae"+
"\0\u30ec\0\u312a\0\u3168\0\u31a6\0\u31e4\0\u3222\0\u3260\0\u329e"+
"\0\u32dc\0\u331a\0\u3358\0\u3396\0\u33d4\0\u3412\0\u3450\0\u348e"+
"\0\u34cc\0\u350a\0\u3548\0\u3586\0\u35c4\0\u3602\0\u3640\0\u367e"+
"\0\u36bc\0\u36fa\0\u3738\0\u3776\0\u37b4\0\u37f2\0\u3830\0\u386e"+
"\0\u38ac\0\u38ea\0\u3928\0\u3966\0\u39a4\0\u39e2\0\u3a20\0\u3a5e"+
"\0\u3a9c\0\u3ada\0\u3b18\0\u3b56\0\u3b94\0\u3bd2\0\u3c10\0\u3c4e"+
"\0\u3c8c\0\u3cca\0\u3d08\0\u3d46\0\u3d84\0\u3dc2\0\u3e00\0\u3e3e"+
"\0\u3e7c\0\u3eba\0\u3ef8\0\u3f36\0\u3f74\0\u3fb2\0\u3ff0\0\u402e"+
"\0\u406c\0\u40aa\0\u40e8\0\u4126\0\u4164\0\u41a2\0\u41e0\0\u421e"+
"\0\u425c\0\u429a\0\u42d8\0\u4316\0\u4354\0\u4392\0\u43d0\0\u440e"+
"\0\u444c\0\u16c4\0\u448a\0\u44c8\0\u4506\0\u4544\0\u4582\0\u45c0"+
"\0\u45fe\0\u463c\0\u467a\0\u46b8\0\u46f6\0\u4734\0\u4772\0\u47b0"+
"\0\u47ee\0\u482c\0\u486a\0\u48a8\0\u48e6\0\u4924\0\u4962\0\u49a0"+
"\0\u49de\0\u4a1c\0\u4a5a\0\u4a98\0\u4ad6\0\u4b14\0\u4b52\0\u4b90"+
"\0\u4bce\0\u4c0c\0\u0136\0\u4c4a\0\u4c88\0\u4cc6\0\u4d04\0\u4d42"+
"\0\u4d80\0\u4dbe\0\u4dfc\0\u4e3a\0\u4e78\0\u4eb6\0\u4ef4\0\u4f32"+
"\0\u4f70\0\u4fae\0\u4fec\0\u502a\0\u5068\0\u50a6\0\u50e4\0\u5122"+
"\0\u5160\0\u519e\0\u51dc\0\u521a\0\u5258\0\u5296\0\u52d4\0\u5312"+
"\0\u45c0\0\u5350\0\u538e\0\u53cc\0\u540a\0\u5448\0\u5486\0\u54c4"+
"\0\u5502\0\u5540\0\u557e\0\u55bc\0\u55fa\0\u5638\0\u5676\0\u56b4"+
"\0\u56f2\0\u5730\0\u576e\0\u57ac\0\u57ea\0\u5828\0\u5866\0\u58a4"+
"\0\u58e2\0\u5920\0\u595e\0\u599c\0\u59da\0\u5a18\0\u5a56\0\u5a94"+
"\0\u5ad2\0\u5b10\0\u5b4e\0\u5b8c\0\u5bca\0\u5c08\0\u5c46\0\u5c84"+
"\0\u5cc2\0\u5d00\0\u5d3e\0\u5d7c\0\u5dba\0\u5df8\0\u235c\0\u5e36"+
"\0\u23d8\0\u5e74\0\u5eb2\0\u5ef0\0\u5f2e\0\u5f6c\0\u5faa\0\u5fe8"+
"\0\u6026\0\u6064\0\u60a2\0\u60e0\0\u611e\0\u615c\0\u619a\0\u61d8"+
"\0\u6216\0\u6254\0\u6292\0\u62d0\0\u630e\0\u634c\0\u638a\0\u63c8"+
"\0\u6406\0\u6444\0\u6482\0\u64c0\0\u64fe\0\u653c\0\u657a\0\u65b8"+
"\0\u65f6\0\u6634\0\u0136\0\u6672\0\u66b0\0\u66ee\0\u672c\0\u676a"+
"\0\u67a8\0\u67e6\0\u6824\0\u6862\0\u3032\0\u68a0\0\u68de\0\u691c"+
"\0\u695a\0\u6998\0\u69d6\0\u6a14\0\u6a52\0\u6a90\0\u6ace\0\u6b0c"+
"\0\u6b4a\0\u6b88\0\u6bc6\0\u6c04\0\u6c42\0\u6c80\0\u6cbe\0\u6cfc"+
"\0\u6d3a\0\u6d78\0\u6db6\0\u6df4\0\u6e32\0\u6e70\0\u6eae\0\u6eec"+
"\0\u3e7c\0\u5c08\0\u6f2a\0\u6f68\0\u6fa6\0\u6fe4\0\u7022\0\u7060"+
"\0\u709e\0\u70dc\0\u711a\0\u7158\0\u7196\0\u71d4\0\u7212\0\u7250"+
"\0\u728e\0\u72cc\0\u730a\0\u60e0\0\u7348\0\u7386\0\u73c4\0\u7402"+
"\0\u7440\0\u747e\0\u74bc\0\u74fa\0\u7538\0\u7576\0\76\0\u75b4"+
"\0\u75f2\0\u7630\0\u766e\0\u76ac\0\u76ea\0\u7728\0\u7766\0\u77a4"+
"\0\u5920\0\u77e2\0\u7820\0\u785e\0\u789c\0\u78da\0\u7918\0\u7956"+
"\0\u7994\0\u79d2\0\u7a10\0\u7a4e\0\u7a8c\0\u7aca\0\u7b08\0\u7b46"+
"\0\u7b84\0\u7bc2\0\u7c00\0\u7c3e\0\u7c7c\0\u7cba\0\u7cf8\0\u7d36"+
"\0\u7d74\0\u7db2\0\u7df0\0\u7e2e\0\u7e6c\0\u7eaa\0\u7ee8\0\u7f26"+
"\0\u7f64\0\u7fa2\0\u7fe0\0\u801e\0\u805c\0\u809a\0\u80d8\0\u8116"+
"\0\u8154\0\u8192\0\u81d0\0\u820e\0\u824c\0\u828a\0\u82c8\0\u8306"+
"\0\u8344\0\u8382";
private static int [] zzUnpackRowMap() {
int [] result = new int[570];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
}
private static int zzUnpackRowMap(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int high = packed.charAt(i++) << 16;
result[j++] = high | packed.charAt(i++);
}
return j;
}
/**
* The transition table of the DFA
*/
private static final int [] ZZ_TRANS = zzUnpackTrans();
private static final String ZZ_TRANS_PACKED_0 =
"\1\2\1\3\1\4\1\3\1\5\1\6\1\7\1\2"+
"\1\7\1\10\1\11\1\12\1\7\1\13\1\2\1\14"+
"\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+
"\1\25\1\26\1\27\1\30\1\31\1\32\1\33\7\10"+
"\1\34\1\10\1\35\1\36\1\7\1\37\1\40\1\7"+
"\1\41\1\7\1\42\11\7\1\43\1\44\1\45\1\46"+
"\77\0\1\3\1\0\1\3\76\0\1\47\71\0\5\50"+
"\1\51\70\50\6\0\4\7\1\0\3\7\1\52\41\7"+
"\1\0\11\7\15\0\1\10\1\0\1\10\23\0\7\10"+
"\1\0\1\10\42\0\2\53\66\0\3\7\1\54\1\0"+
"\1\54\2\7\1\52\1\55\1\56\1\7\1\57\1\60"+
"\1\61\1\7\1\62\1\7\1\63\5\7\1\64\2\54"+
"\1\65\4\54\1\7\1\54\10\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\7\1\66\1\7\1\67"+
"\3\7\1\70\7\7\1\71\21\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\14\7\1\72\1\54\13\7"+
"\1\73\7\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\74\2\7\1\75\6\7\1\54\23\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\1\7"+
"\1\76\2\7\1\77\1\7\1\100\1\101\2\7\1\102"+
"\2\7\1\103\23\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\13\7\1\104\3\7\1\105\21\7\1\0"+
"\11\7\12\0\4\7\1\0\2\7\1\54\1\52\1\106"+
"\2\7\1\54\1\107\3\7\1\110\4\7\1\111\11\7"+
"\1\54\6\7\1\112\2\7\1\0\11\7\12\0\4\7"+
"\1\0\2\7\1\54\1\52\1\7\1\113\1\7\1\54"+
"\3\7\1\114\3\7\1\115\1\7\1\54\1\116\1\71"+
"\7\7\1\54\11\7\1\0\11\7\12\0\4\7\1\0"+
"\2\7\1\54\1\52\1\7\1\117\1\7\1\54\2\7"+
"\1\120\1\121\4\7\1\122\2\7\1\123\7\7\1\54"+
"\11\7\1\0\11\7\12\0\4\7\1\0\2\7\1\124"+
"\1\52\1\7\1\125\2\7\1\126\2\7\1\127\1\7"+
"\1\130\1\131\1\132\1\7\1\133\1\134\1\135\11\7"+
"\1\136\7\7\1\0\11\7\12\0\4\7\1\0\2\7"+
"\1\54\1\52\3\7\1\137\1\140\1\7\1\141\1\142"+
"\1\143\4\7\1\54\1\7\1\144\7\7\1\54\1\7"+
"\1\145\1\146\2\7\1\147\1\7\1\150\1\7\1\0"+
"\11\7\12\0\3\7\1\54\1\0\1\54\1\7\1\151"+
"\1\52\1\152\2\7\1\153\2\7\1\154\1\155\1\156"+
"\1\157\1\160\1\161\1\162\1\163\1\164\1\165\2\7"+
"\1\54\1\166\3\54\1\7\1\54\1\167\4\7\1\170"+
"\2\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\11\7\1\171\2\7\1\172\24\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\7\1\173\2\7\1\174"+
"\34\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\175\1\176\3\7\1\177\1\7\1\200\1\201\1\202"+
"\1\102\1\203\1\7\1\54\1\110\10\7\1\204\2\7"+
"\1\205\2\7\1\206\1\207\2\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\6\7\1\210\5\7\1\211"+
"\2\7\1\212\11\7\1\213\7\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\7\1\214\2\7\1\215"+
"\1\7\1\216\2\7\1\217\3\7\1\220\2\7\2\110"+
"\1\221\16\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\222\35\7\1\0\11\7\12\0\3\7"+
"\1\54\1\0\1\54\2\7\1\52\4\7\1\223\2\7"+
"\1\224\2\7\1\102\1\225\1\7\1\226\1\227\3\7"+
"\5\54\1\7\1\54\10\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\4\7\1\230\1\231\1\7\1\232"+
"\7\7\1\233\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\1\7\1\234\1\235\1\236\1\237\1\240"+
"\1\7\1\240\1\241\1\242\2\7\1\243\1\244\11\7"+
"\1\245\1\7\1\246\6\7\1\244\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\13\7\1\247\25\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\1\7\1\250"+
"\6\7\1\251\27\7\1\252\1\0\11\7\65\0\1\253"+
"\3\0\1\254\1\255\1\256\102\0\1\11\76\0\1\11"+
"\1\47\1\0\74\47\10\0\2\257\1\0\1\257\4\0"+
"\1\257\3\0\3\257\1\0\2\257\5\0\7\257\1\0"+
"\1\257\13\0\1\257\2\0\3\257\13\0\4\7\1\0"+
"\3\7\1\52\1\7\1\152\37\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\14\7\1\146\24\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\7\7\1\222"+
"\31\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\17\7\1\105\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\1\7\1\260\37\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\5\7\1\261\1\262\2\7"+
"\1\263\27\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\27\7\1\264\11\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\265\37\7\1\0\11\7"+
"\12\0\4\7\1\0\1\54\2\7\1\52\22\7\5\54"+
"\12\7\1\0\11\7\12\0\4\7\1\0\2\7\1\266"+
"\1\52\15\7\1\267\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\15\7\1\270\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\15\7\1\271\23\7"+
"\1\0\11\7\12\0\3\7\1\54\1\0\1\54\2\7"+
"\1\52\22\7\5\54\1\7\1\54\10\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\272\5\7\1\273"+
"\32\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\31\7\1\274\7\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\4\7\1\275\34\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\276\40\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\7\7\1\277\31\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\4\7"+
"\1\300\1\7\1\301\2\7\1\302\2\7\1\303\24\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\1\276"+
"\30\7\1\304\7\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\15\7\1\222\1\7\1\305\7\7\1\306"+
"\11\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\7\1\307\37\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\305\35\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\310\40\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\3\7\1\244\1\7"+
"\1\244\2\7\1\311\21\7\1\244\2\7\1\244\3\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\3\7"+
"\1\244\5\7\1\312\3\7\1\312\1\7\1\312\12\7"+
"\1\244\2\7\1\244\3\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\13\7\1\313\25\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\5\7\1\54\33\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\12\7"+
"\1\312\4\7\1\312\12\7\1\314\6\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\315\40\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\11\7\1\316"+
"\27\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\317\6\7\1\244\5\7\1\244\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\10\7\1\320\30\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\5\7"+
"\1\54\31\7\1\321\1\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\15\7\1\322\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\6\7\1\321\2\7"+
"\1\316\22\7\1\323\4\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\6\7\2\244\5\7\1\244\13\7"+
"\1\244\7\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\6\7\1\324\32\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\10\7\1\325\30\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\4\7\1\326\34\7"+
"\1\0\11\7\12\0\4\7\1\0\2\7\1\327\1\52"+
"\41\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\10\7\1\330\6\7\1\244\21\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\6\7\1\331\2\7\1\332"+
"\1\7\1\333\1\334\22\7\1\335\1\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\3\7\1\336\2\7"+
"\1\337\22\7\1\340\7\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\7\7\1\341\1\342\1\343\2\7"+
"\1\344\1\345\1\7\1\346\3\7\1\347\5\7\1\350"+
"\7\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\14\7\1\351\1\352\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\3\7\1\353\3\7\1\354\3\7"+
"\1\355\3\7\1\356\7\7\1\357\2\7\1\360\6\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\14\7"+
"\1\361\6\7\1\362\15\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\363\37\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\4\7\1\364\2\7"+
"\1\365\3\7\1\366\2\7\1\367\22\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\274\5\7\1\244"+
"\2\7\1\244\4\7\1\244\22\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\31\7\1\370\7\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\35\7\1\244"+
"\3\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\3\7\1\371\35\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\13\7\1\372\25\7\1\0\11\7\12\0"+
"\3\7\1\54\1\0\1\54\2\7\1\52\11\7\1\373"+
"\6\7\2\54\1\65\4\54\1\7\1\54\10\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\4\7\1\374"+
"\3\7\1\375\1\244\27\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\6\7\1\244\32\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\4\7\1\244\34\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\1\376"+
"\40\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\377\6\7\1\u0100\1\7\1\u0101\3\7\1\u0102\1\7"+
"\1\u0103\21\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\15\7\1\222\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\6\7\1\u0104\32\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\7\1\u0105\14\7"+
"\1\u0106\22\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\5\7\1\274\1\u0107\32\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\u0108\6\7\1\u0109\7\7"+
"\1\u010a\21\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\u010b\1\u010c\22\7\1\274\1\7\1\u010d"+
"\7\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\17\7\1\u010e\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\11\7\1\u010f\2\7\1\u0110\24\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\4\7\1\u0111"+
"\34\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\u0112\6\7\1\u0113\1\7\1\u0114\1\7\1\u0115\2\7"+
"\1\u0116\16\7\1\u0117\3\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\14\7\1\u0118\24\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\14\7\1\u0119\1\u011a"+
"\23\7\1\0\11\7\12\0\4\7\1\0\2\7\1\u011b"+
"\1\52\41\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\4\7\1\u011c\6\7\1\u011d\25\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\3\7\1\u011e\35\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\4\7"+
"\1\140\34\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\10\7\1\u011f\30\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\u0120\1\316\36\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\1\316\7\7"+
"\1\u0121\1\7\1\u0122\2\7\1\u0123\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\4\7\1\301\1\7"+
"\1\244\2\7\1\244\4\7\1\244\12\7\1\304\7\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\1\u0124"+
"\40\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\5\7\1\316\33\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\316\13\7\1\316\7\7\1\306"+
"\11\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\7\7\1\301\31\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\5\7\1\321\33\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\316\7\7\1\u0125"+
"\3\7\1\316\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\7\7\1\u0126\31\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\17\7\1\u0127\21\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\15\7\1\u0128"+
"\23\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\276\15\7\1\u0129\22\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\u012a\2\7\1\244\1\7\1\244"+
"\3\7\1\316\3\7\1\u012b\14\7\1\244\4\7\1\u012c"+
"\1\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\7\1\u012d\37\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\13\7\1\u012e\25\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\u012f\7\7\1\u0130\30\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\3\7"+
"\1\316\2\7\1\u0131\4\7\1\u0132\3\7\1\316\21\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\1\u0133"+
"\7\7\1\u0134\20\7\1\u0135\7\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\316\4\7\1\u0136"+
"\6\7\1\316\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\31\7\1\244\3\7\1\u0137\3\7\1\0"+
"\11\7\12\0\4\7\1\0\1\110\2\7\1\52\22\7"+
"\5\110\12\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\244\40\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\6\7\1\315\30\7\1\u0138\1\7\1\0"+
"\11\7\12\0\4\7\1\0\2\7\1\u0139\1\52\15\7"+
"\1\u013a\23\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\321\35\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\32\7\1\54\6\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\14\7\1\u0139\24\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\17\7"+
"\1\146\21\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\16\7\1\u013b\22\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\16\7\1\222\22\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\7\7\1\u013c\21\7"+
"\1\u0135\7\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\2\244\37\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\2\244\2\7\1\244\10\7\1\244\23\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\11\7"+
"\1\244\3\7\1\244\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\244\37\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\7\1\244\1\7"+
"\2\244\4\7\1\244\3\7\1\244\23\7\1\0\11\7"+
"\12\0\4\7\1\0\2\7\1\u013d\1\52\11\7\1\244"+
"\3\7\1\244\23\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\1\7\1\244\2\240\1\244\1\240\1\7"+
"\1\240\2\244\3\7\1\244\22\7\1\244\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\15\7\2\244\22\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\10\7"+
"\1\273\5\7\1\244\22\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\7\7\1\146\31\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\17\7\1\u013e\21\7"+
"\1\0\11\7\12\0\4\7\1\0\2\7\1\124\1\52"+
"\1\55\4\7\1\u013f\1\7\1\56\1\7\1\u0140\17\7"+
"\1\u0141\7\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\7\1\u0142\37\7\1\0\11\7\66\0\1\u0143"+
"\5\0\1\u0144\67\0\1\u0144\102\0\1\u0145\70\0\1\u0146"+
"\1\0\1\u0147\17\0\4\7\1\0\3\7\1\52\2\7"+
"\1\u0148\36\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\4\7\1\u0117\34\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\6\7\1\316\32\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\35\7\1\u0149\3\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\2\7"+
"\1\316\36\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\u014a\35\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\u014b\40\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\316\40\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\5\7\1\u014c\33\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\33\7"+
"\1\54\5\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\7\1\326\37\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\15\7\1\244\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\5\7\1\u014d\33\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\17\7"+
"\1\54\21\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\244\26\7\1\244\2\7\1\244\1\7"+
"\1\u014e\1\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\10\7\1\u014f\30\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\15\7\1\316\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\33\7\1\244\5\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\2\7"+
"\1\244\36\7\1\0\11\7\12\0\4\7\1\0\2\7"+
"\1\u0150\1\52\41\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\244\26\7\1\244\6\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\12\7\1\244"+
"\26\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\14\7\1\u0151\24\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\244\1\7\1\244\7\7\1\u012b"+
"\14\7\1\244\6\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\6\7\1\244\6\7\1\244\23\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\3\7\1\244"+
"\26\7\1\244\2\7\1\244\3\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\14\7\1\u0152\24\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\7\7\1\u0153"+
"\31\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\3\7\1\244\1\7\1\244\24\7\1\244\2\7\1\244"+
"\3\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\7\7\1\u014b\31\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\4\7\1\u0154\34\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\244\1\7\1\244"+
"\2\7\1\311\4\7\1\311\14\7\1\244\2\7\1\244"+
"\3\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\7\1\u0155\4\7\1\u0156\7\7\1\u0134\14\7\1\u0157"+
"\5\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\15\7\1\u0111\23\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\244\1\7\1\244\2\7\1\311"+
"\3\7\1\u0158\15\7\1\244\2\7\1\244\3\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\3\7\1\244"+
"\35\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\17\7\1\244\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\1\u0159\40\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\3\7\1\244\3\7\1\305\2\7"+
"\1\312\17\7\1\244\2\7\1\244\3\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\6\7\1\u015a\32\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\33\7"+
"\1\u015b\5\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\15\7\1\315\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\6\7\1\u015c\32\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\2\7\1\u015d\36\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\31\7"+
"\1\u015e\7\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\7\7\1\u015f\31\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\10\7\1\u0160\30\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\6\7\1\146\2\7"+
"\1\u0161\27\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\14\7\1\344\24\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\31\7\1\u0162\7\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\7\7\1\u0163\31\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\13\7"+
"\1\u0164\25\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\11\7\1\u0165\3\7\1\u0166\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\16\7\1\u0167\22\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\7\7"+
"\1\u0168\3\7\1\325\2\7\1\u0169\22\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\10\7\1\u016a\30\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\27\7"+
"\1\330\11\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\u016b\35\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\6\7\1\u016c\32\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\5\7\1\u015a\33\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\3\7"+
"\1\u016b\3\7\1\305\31\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\13\7\1\u016d\25\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\7\7\1\123\31\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\15\7"+
"\1\u016e\23\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\12\7\1\u0167\26\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\12\7\1\u016f\26\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\37\7\1\u0170\1\7"+
"\1\0\11\7\12\0\4\7\1\0\2\7\1\u0171\1\52"+
"\6\7\1\u0172\32\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\u0173\35\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\14\7\1\u0171\24\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\16\7\1\u0174"+
"\22\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\3\7\1\273\35\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\16\7\1\146\22\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\24\7\1\u0175\14\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\37\7\1\u0176"+
"\1\7\1\0\11\7\12\0\4\7\1\0\2\7\1\u0177"+
"\1\52\3\7\1\244\1\7\1\244\2\7\1\311\4\7"+
"\1\u0178\14\7\1\244\2\7\1\244\3\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\u0179\7\7\1\u017a"+
"\4\7\1\u017b\23\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\17\7\1\u017c\21\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\31\7\1\244\7\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\27\7\1\146"+
"\11\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\7\7\1\u017d\31\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\15\7\1\u017e\23\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\7\1\u017f\1\7\1\u0180"+
"\4\7\1\u0181\1\u0182\10\7\1\244\15\7\1\244\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\11\7\1\u0183"+
"\27\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\37\7\1\u0184\1\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\6\7\1\u0185\32\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\7\7\1\u0169\31\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\1\u0108\40\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\1\7"+
"\1\u0186\37\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\7\1\u0168\37\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\15\7\1\244\13\7\1\u0187\7\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\4\7"+
"\1\u0188\34\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\7\1\315\37\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\4\7\1\u0189\34\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\11\7\1\u018a\27\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\10\7"+
"\1\244\30\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\7\1\u017f\7\7\1\u0182\3\7\1\u0182\23\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\37\7"+
"\1\315\1\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\7\7\1\u018b\31\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\5\7\1\u0184\33\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\14\7\1\u018c\24\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\17\7"+
"\1\222\21\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\11\7\1\u0183\4\7\1\222\22\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\6\7\1\u018d\32\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\1\124"+
"\40\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\31\7\1\u018e\7\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\37\7\1\u018f\1\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\u0185\35\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\23\7\1\u0190"+
"\15\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\11\7\1\u0191\27\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\6\7\1\u0192\32\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\u0193\16\7\1\u0194\21\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\17\7"+
"\1\u0195\21\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\10\7\1\u0196\30\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\141\1\u0197\1\u0198\1\u0199"+
"\3\7\1\u019a\1\u0199\2\7\1\315\12\7\1\u0181\1\7"+
"\1\u0181\7\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\12\7\1\u0158\26\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\10\7\1\u019b\30\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\u0139\40\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\11\7\1\u019c"+
"\5\7\1\u019d\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\37\7\1\316\1\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\244\1\7\1\244"+
"\24\7\1\244\6\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\u019e\2\7\1\244\32\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\1\312\40\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\3\7"+
"\1\u019f\35\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\12\7\1\312\26\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\14\7\1\244\24\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\7\7\1\u01a0\31\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\14\7"+
"\1\u01a1\24\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\15\7\1\u0161\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\31\7\1\u0161\7\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\15\7\1\326\23\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\10\7"+
"\1\274\4\7\1\274\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\17\7\1\u01a2\21\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\3\7\1\u01a3\1\u01a4"+
"\1\u01a5\1\u01a6\1\u0158\3\7\1\u0158\1\u01a7\1\u0178\11\7"+
"\1\u01a8\1\7\1\u01a9\1\u01aa\2\7\1\u01ab\3\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\10\7\1\311"+
"\4\7\1\311\23\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\33\7\1\u01ac\5\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\14\7\1\u01ad\24\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\10\7\1\u01ae"+
"\30\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\40\7\1\312\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\17\7\1\244\12\7\1\244\6\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\17\7\1\u01af\21\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\31\7"+
"\1\u01b0\7\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\4\7\1\364\34\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\17\7\1\u01b1\21\7\1\0\11\7"+
"\67\0\1\u01b2\100\0\1\u01b3\77\0\1\u01b4\73\0\1\u01b5"+
"\100\0\1\u01b6\12\0\4\7\1\0\3\7\1\52\16\7"+
"\1\u0169\22\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\13\7\1\u01b7\25\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\u01b8\37\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\15\7\1\u01b9\23\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\3\7"+
"\1\u014b\35\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\7\1\312\37\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\141\12\7\1\315\24\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\11\7"+
"\1\u0135\27\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\11\7\1\315\27\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\6\7\1\305\32\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\10\7\1\u01ba\30\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\33\7"+
"\1\u01bb\5\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\14\7\1\u01bc\24\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\u01bc\37\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\7\1\u01bd\37\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\10\7"+
"\1\311\30\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\17\7\1\u0182\21\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\3\7\1\244\1\7\1\244\5\7"+
"\1\u01be\1\7\1\u015d\14\7\1\244\2\7\1\244\3\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\13\7"+
"\1\u01bf\1\7\1\u01c0\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\3\7\1\244\1\7\1\244\5\7"+
"\1\u01be\1\244\1\u015d\14\7\1\244\6\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\5\7\1\244\24\7"+
"\1\244\6\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\13\7\1\u01c1\25\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\317\40\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\7\1\u01c2\1\u01c3\36\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\11\7"+
"\1\244\27\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\10\7\1\u01c4\30\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\11\7\1\u0161\27\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\5\7\1\u01c5\33\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\10\7"+
"\1\u01c6\30\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\35\7\1\u01c7\3\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\3\7\1\244\2\7\1\244\23\7"+
"\1\244\6\7\1\0\11\7\12\0\4\7\1\0\2\7"+
"\1\244\1\52\41\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\11\7\1\u01c8\27\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\2\244\1\7\1\141"+
"\23\7\1\244\2\7\1\244\3\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\5\7\1\u0182\33\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\12\7\1\u01c9"+
"\26\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\17\7\1\u01ca\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\1\7\1\u01cb\37\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\31\7\1\u01cc\7\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\13\7\1\u01cd"+
"\1\7\1\u0182\23\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\6\7\1\u01ce\32\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\u0182\7\7\1\u01cf"+
"\13\7\1\u01d0\11\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\15\7\1\311\23\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\23\7\1\u01d1\15\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\3\7\1\u0124"+
"\26\7\1\u0124\2\7\1\u0124\3\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\11\7\1\u01d2\27\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\3\7\1\244"+
"\1\7\2\244\6\7\1\244\14\7\1\244\2\7\1\244"+
"\3\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\10\7\1\u01d3\4\7\1\u01d4\23\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\u01d5\2\7\1\u01d6"+
"\6\7\1\u01d7\23\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\u01d8\2\7\1\u01d9\6\7\1\u01da"+
"\17\7\1\u01d8\3\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\7\7\1\u01db\31\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\37\7\1\u01dc\1\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\1\u01dd\40\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\14\7"+
"\1\u01de\24\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\2\7\1\u01df\11\7\1\u01df\6\7\1\u0197\15\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\16\7"+
"\1\244\22\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\32\7\1\244\6\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\15\7\1\u01e0\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\3\7\1\244\2\7"+
"\1\u01e1\3\7\1\244\4\7\1\u0185\12\7\1\244\6\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\3\7"+
"\1\244\2\7\1\u01e1\3\7\1\244\17\7\1\244\6\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\31\7"+
"\1\u01e2\7\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\u01e1\1\7\1\u01e1\1\u01e3\3\7\1\u01e1"+
"\3\7\1\u01e1\13\7\1\u01e1\6\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\37\7\1\u01e4\1\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\31\7\1\u01e5"+
"\7\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\6\7\1\337\32\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\315\35\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\11\7\1\u01e6\27\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\16\7\1\u01e7"+
"\22\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\22\7\1\244\16\7\1\0\11\7\12\0\4\7\1\0"+
"\2\7\1\u01e1\1\52\3\7\1\u01e1\1\7\2\u01e1\3\7"+
"\1\u01e1\17\7\1\u01e1\4\7\1\u01e1\1\7\1\0\11\7"+
"\12\0\4\7\1\0\2\7\1\u01e8\1\52\41\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\33\7\1\u01e9"+
"\5\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\11\7\1\u01ea\27\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\17\7\1\u01bb\21\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\4\7\1\u01eb\34\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\7\7\1\u01ec"+
"\31\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\3\7\1\u01ed\35\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\2\244\13\7\1\244\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\3\7\1\244\5\7"+
"\1\244\3\7\1\244\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\2\7\1\274\36\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\7\7\1\u01ee\31\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\1\7"+
"\1\222\37\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\10\7\1\303\30\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\3\7\1\244\1\7\1\244\16\7"+
"\1\141\5\7\1\244\2\7\1\244\3\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\u01ef\40\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\6\7\1\u0139"+
"\32\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\u0136\40\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\10\7\1\311\16\7\1\u01f0\5\7\1\u01f1\3\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\7\7"+
"\1\244\3\7\1\244\25\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\3\7\1\u01f1\26\7\1\u01f1\2\7"+
"\1\u01f1\3\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\35\7\1\u01f2\3\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\u01f3\40\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\u01f0\2\7\1\u01f4"+
"\1\7\1\311\30\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\15\7\1\u01f5\23\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\u01f1\31\7\1\u01f1"+
"\3\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\3\7\1\244\1\u01f6\34\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\31\7\1\u01f7\7\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\37\7\1\146\1\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\10\7"+
"\1\u01f8\30\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\4\7\1\u01f9\34\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\10\7\1\u01fa\30\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\4\7\1\u01fb\34\7"+
"\1\0\11\7\70\0\1\u01fc\100\0\1\u01fd\67\0\1\u01fe"+
"\75\0\1\u01fd\103\0\1\u01ff\14\0\4\7\1\0\3\7"+
"\1\52\16\7\1\u0200\22\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\7\7\1\333\31\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\15\7\1\u01bb\23\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\3\7"+
"\1\244\31\7\1\244\3\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\11\7\1\u0201\27\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\36\7\1\u0202\2\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\15\7"+
"\1\u015d\23\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\15\7\1\u0203\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\15\7\1\u0204\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\3\7\1\u0205\35\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\35\7"+
"\1\u012b\3\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\u012b\40\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\1\7\1\141\1\u0197\36\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\16\7\1\u0206\22\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\16\7"+
"\1\u0207\1\222\21\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\33\7\1\u0208\5\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\u0209\1\7\2\244"+
"\20\7\1\u0182\2\7\1\244\6\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\6\7\1\244\23\7\1\244"+
"\2\7\1\244\3\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\1\u020a\40\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\15\7\1\u020b\23\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\5\7\1\244\33\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\32\7"+
"\1\325\6\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\3\7\1\141\35\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\13\7\1\u0182\3\7\1\u0182\12\7"+
"\1\244\6\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\5\7\1\244\27\7\1\244\3\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\27\7\1\u020c\11\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\6\7"+
"\1\u020d\6\7\1\u020d\23\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\6\7\1\u020e\6\7\1\u020e\23\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\23\7"+
"\1\u0158\15\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\23\7\1\u020f\15\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\23\7\1\u0210\15\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\23\7\1\u0174\15\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\23\7"+
"\1\u0211\15\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\23\7\1\u0212\15\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\11\7\1\222\27\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\7\1\u0213\37\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\4\7"+
"\1\u0214\34\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\37\7\1\244\1\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\23\7\1\244\15\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\u0111\40\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\10\7\1\u01e1"+
"\30\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\7\1\141\1\7\1\274\5\7\1\u0199\1\7\1\u0169"+
"\1\u0215\12\7\1\u0181\11\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\10\7\1\u01e1\5\7\1\u01e1\22\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\4\7"+
"\1\274\34\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\14\7\1\222\24\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\10\7\1\u018e\30\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\3\7\1\u0158\23\7"+
"\1\u0158\11\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\1\u0216\40\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\12\7\1\u01bb\26\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\31\7\1\u0217\7\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\16\7\1\u0218"+
"\22\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\3\7\1\325\35\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\7\7\1\u01bb\31\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\10\7\1\274\30\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\15\7\1\u0168"+
"\22\7\1\u0168\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\23\7\1\141\15\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\4\7\1\244\1\7\1\141\1\7"+
"\1\311\5\7\1\u01ba\10\7\1\146\5\7\1\244\3\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\33\7"+
"\1\u0158\5\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\40\7\1\u0168\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\4\7\1\u0219\34\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\7\1\u0193\37\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\7\7\1\u021a"+
"\31\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\7\1\u021b\37\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\13\7\1\u021c\25\7\1\0\11\7\71\0"+
"\1\u021d\100\0\1\u01ff\67\0\1\u01b6\21\0\4\7\1\0"+
"\3\7\1\52\17\7\1\315\21\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\u021e\35\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\2\7\1\u021f"+
"\36\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\32\7\1\u01cd\6\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\u0182\26\7\1\u01cd\6\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\35\7\1\u0220"+
"\3\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\1\u018e\22\7\1\222\15\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\u018e\40\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\u0221\23\7\1\u0221"+
"\11\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\11\7\1\u0222\27\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\33\7\1\u01cd\5\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\2\7\1\u0223\36\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\23\7\1\123"+
"\15\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\23\7\1\u0224\15\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\10\7\1\u0225\30\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\10\7\1\u0226\30\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\15\7\1\u0227"+
"\23\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\15\7\1\u0228\23\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\30\7\1\u0229\10\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\17\7\1\u0213\21\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\1\7\1\244"+
"\11\7\1\244\25\7\1\0\11\7\12\0\4\7\1\0"+
"\2\7\1\u0218\1\52\41\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\7\1\u01bb\37\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\1\u01bb\40\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\37\7\1\u022a"+
"\1\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\6\7\1\u022b\32\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\35\7\1\u01cd\3\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\10\7\1\u022c\30\7\1\0"+
"\11\7\72\0\1\u01b6\15\0\4\7\1\0\3\7\1\52"+
"\7\7\1\152\31\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\1\7\1\u022d\37\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\6\7\1\141\32\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\3\7\1\141"+
"\1\7\1\u0182\24\7\1\325\2\7\1\u0220\3\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\27\7\1\u022e"+
"\11\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\3\7\1\244\1\7\1\244\12\7\1\u01cd\11\7\1\244"+
"\2\7\1\244\3\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\15\7\1\u01ba\23\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\244\11\7\1\244"+
"\23\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\3\7\1\244\2\7\1\244\32\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\3\7\1\244\11\7\1\244"+
"\17\7\1\244\3\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\3\7\1\244\2\7\1\244\26\7\1\244"+
"\3\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\25\7\1\244\13\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\4\7\1\u022f\1\7\1\u0230\26\7\1\244"+
"\3\7\1\0\11\7\12\0\4\7\1\0\3\7\1\52"+
"\11\7\1\u0231\27\7\1\0\11\7\12\0\4\7\1\0"+
"\3\7\1\52\10\7\1\272\30\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\14\7\1\u0232\24\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\1\u0233\13\7"+
"\1\u0234\24\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\13\7\1\244\25\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\35\7\1\u022f\3\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\7\7\1\u0235\31\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\7\7"+
"\1\u0236\31\7\1\0\11\7\12\0\4\7\1\0\1\244"+
"\2\7\1\52\22\7\2\244\15\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\1\u0237\40\7\1\0\11\7"+
"\12\0\4\7\1\0\3\7\1\52\15\7\1\u0238\23\7"+
"\1\0\11\7\12\0\4\7\1\0\3\7\1\52\15\7"+
"\1\u0239\23\7\1\0\11\7\12\0\4\7\1\0\3\7"+
"\1\52\7\7\1\244\31\7\1\0\11\7\12\0\4\7"+
"\1\0\3\7\1\52\1\u01cd\40\7\1\0\11\7\12\0"+
"\4\7\1\0\3\7\1\52\15\7\1\u023a\23\7\1\0"+
"\11\7\12\0\4\7\1\0\3\7\1\52\16\7\1\152"+
"\22\7\1\0\11\7\4\0";
private static int [] zzUnpackTrans() {
int [] result = new int[33728];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
}
private static int zzUnpackTrans(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
do result[j++] = value; while (--count > 0);
}
return j;
}
/* error codes */
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
private static final char[] EMPTY_BUFFER = new char[0];
private static final int YYEOF = -1;
private static Reader zzReader; // Fake
/* error messages for the codes above */
private static final String ZZ_ERROR_MSG[] = {
"Unkown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
/**
* ZZ_ATTRIBUTE[aState] contains the attributes of state aState
*/
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\1\0\1\11\1\1\1\11\4\1\1\11\31\1\2\11"+
"\3\1\1\0\2\11\1\0\177\1\4\0\224\1\5\0"+
"\152\1\5\0\105\1\3\0\1\11\35\1\1\0\35\1";
private static int [] zzUnpackAttribute() {
int [] result = new int[570];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAttribute(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/** the current state of the DFA */
private int zzState;
/** the current lexical state */
private int zzLexicalState = YYINITIAL;
/** this buffer contains the current text to be matched and is
the source of the yytext() string */
private CharSequence zzBuffer = "";
/** this buffer may contains the current text array to be matched when it is cheap to acquire it */
private char[] zzBufferArray;
/** the textposition at the last accepting state */
private int zzMarkedPos;
/** the textposition at the last state to be included in yytext */
private int zzPushbackPos;
/** the current text position in the buffer */
private int zzCurrentPos;
/** startRead marks the beginning of the yytext() string in the buffer */
private int zzStartRead;
/** endRead marks the last character in the buffer, that has been read
from input */
private int zzEndRead;
/**
* zzAtBOL == true <=> the scanner is currently at the beginning of a line
*/
private boolean zzAtBOL = true;
/** zzAtEOF == true <=> the scanner is at the EOF */
private boolean zzAtEOF;
/* user code: */
public _AsmIntelHighlightingLexer() {
this(null);
}
/**
* Creates a new scanner
*
* @param in the java.io.Reader to read input from.
*/
public _AsmIntelHighlightingLexer(Reader in) {
zzReader = in;
}
/**
* Unpacks the compressed character translation table.
*
* @param packed the packed character translation table
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
char [] map = new char[0x10000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
while (i < 1768) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
}
return map;
}
@Override
public final int getTokenStart(){
return zzStartRead;
}
@Override
public final int getTokenEnd(){
return getTokenStart() + yylength();
}
@Override
public void reset(CharSequence buffer, int start, int end, int initialState){
zzBuffer = buffer;
zzBufferArray = CharArrayUtil.fromSequenceWithoutCopying(buffer);
zzCurrentPos = zzMarkedPos = zzStartRead = start;
zzPushbackPos = 0;
zzAtEOF = false;
zzAtBOL = true;
zzEndRead = end;
yybegin(initialState);
}
/**
* Refills the input buffer.
*
* @return false, iff there was new input.
*
* @exception IOException if any I/O-Error occurs
*/
private boolean zzRefill() throws IOException {
return true;
}
/**
* Returns the current lexical state.
*/
@Override
public final int yystate() {
return zzLexicalState;
}
/**
* Enters a new lexical state
*
* @param newState the new lexical state
*/
@Override
public final void yybegin(int newState) {
zzLexicalState = newState;
}
/**
* Returns the text matched by the current regular expression.
*/
public final CharSequence yytext() {
return zzBuffer.subSequence(zzStartRead, zzMarkedPos);
}
/**
* Returns the character at position pos from the
* matched text.
*
* It is equivalent to yytext().charAt(pos), but faster
*
* @param pos the position of the character to fetch.
* A value from 0 to yylength()-1.
*
* @return the character at position pos
*/
public final char yycharat(int pos) {
return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos);
}
/**
* Returns the length of the matched text region.
*/
public final int yylength() {
return zzMarkedPos-zzStartRead;
}
/**
* Reports an error that occured while scanning.
*
* In a wellformed scanner (no or only correct usage of
* yypushback(int) and a match-all fallback rule) this method
* will only be called with things that "Can't Possibly Happen".
* If this method is called, something is seriously wrong
* (e.g. a JFlex bug producing a faulty scanner etc.).
*
* Usual syntax/scanner level error handling should be done
* in error fallback rules.
*
* @param errorCode the code of the errormessage to display
*/
private void zzScanError(int errorCode) {
String message;
try {
message = ZZ_ERROR_MSG[errorCode];
}
catch (ArrayIndexOutOfBoundsException e) {
message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
}
throw new Error(message);
}
/**
* Pushes the specified amount of characters back into the input stream.
*
* They will be read again by then next call of the scanning method
*
* @param number the number of characters to be read again.
* This number must not be greater than yylength()!
*/
public void yypushback(int number) {
if ( number > yylength() )
zzScanError(ZZ_PUSHBACK_2BIG);
zzMarkedPos -= number;
}
/**
* Resumes scanning until the next regular expression is matched,
* the end of input is encountered or an I/O-Error occurs.
*
* @return the next token
* @exception IOException if any I/O-Error occurs
*/
@Override
public IElementType advance() throws IOException {
int zzInput;
int zzAction;
// cached fields:
int zzCurrentPosL;
int zzMarkedPosL;
int zzEndReadL = zzEndRead;
CharSequence zzBufferL = zzBuffer;
char[] zzBufferArrayL = zzBufferArray;
char [] zzCMapL = ZZ_CMAP;
int [] zzTransL = ZZ_TRANS;
int [] zzRowMapL = ZZ_ROWMAP;
int [] zzAttrL = ZZ_ATTRIBUTE;
while (true) {
zzMarkedPosL = zzMarkedPos;
zzAction = -1;
zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
zzState = ZZ_LEXSTATE[zzLexicalState];
zzForAction: {
while (true) {
if (zzCurrentPosL < zzEndReadL)
zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++);
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
}
else {
// store back cached positions
zzCurrentPos = zzCurrentPosL;
zzMarkedPos = zzMarkedPosL;
boolean eof = zzRefill();
// get translated positions and possibly new buffer
zzCurrentPosL = zzCurrentPos;
zzMarkedPosL = zzMarkedPos;
zzBufferL = zzBuffer;
zzEndReadL = zzEndRead;
if (eof) {
zzInput = YYEOF;
break zzForAction;
}
else {
zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
int zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
if ( (zzAttributes & 8) == 8 ) break zzForAction;
}
}
}
// store back cached position
zzMarkedPos = zzMarkedPosL;
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
case 17:
return FLAG;
case 19: break;
case 7:
return COMMA;
case 20: break;
case 5:
return INT;
case 21: break;
case 8:
return LINE_COMMENT;
case 22: break;
case 11:
return REGISTER;
case 23: break;
case 4:
return IDENTIFIER;
case 24: break;
case 10:
return LABEL;
case 25: break;
case 1:
return TokenType.BAD_CHARACTER;
case 26: break;
case 14:
return HEX;
case 27: break;
case 18:
return PREPROCESSOR;
case 28: break;
case 2:
return TokenType.WHITE_SPACE;
case 29: break;
case 3:
return OPERATOR;
case 30: break;
case 16:
return DIRECTIVE;
case 31: break;
case 15:
return PSEUDO_INS;
case 32: break;
case 9:
return STRING;
case 33: break;
case 6:
return PAREN;
case 34: break;
case 13:
return INSTRUCTION;
case 35: break;
case 12:
return PSEUDO_REG;
case 36: break;
default:
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true;
return null;
}
else {
zzScanError(ZZ_NO_MATCH);
}
}
}
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/lexer/_AsmIntelLexer.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* The following code was generated by JFlex 1.4.3 on 3/26/16 7:42 PM */
package com.plan9.intel.lang.core.lexer;
import com.intellij.lexer.FlexLexer;
import com.intellij.psi.TokenType;
import com.intellij.psi.tree.IElementType;
import com.intellij.util.text.CharArrayUtil;
import com.plan9.intel.lang.core.psi.AsmIntelTypes;
import java.io.IOException;
import java.io.Reader;
import static com.plan9.intel.lang.core.AsmIntelParserDefinition.LINE_COMMENT;
/**
* This class is a scanner generated by
* JFlex 1.4.3
* on 3/26/16 7:42 PM from the specification file
* /Users/zolotov/dev/intellij-plugins/intellij-go/plan9/src/com/plan9/intel/lang/core/lexer/AsmIntelLexer.flex
*/
public class _AsmIntelLexer implements FlexLexer, AsmIntelTypes {
/** initial size of the lookahead buffer */
private static final int ZZ_BUFFERSIZE = 16384;
/** lexical states */
public static final int YYINITIAL = 0;
/**
* ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
* ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
* at the beginning of a line
* l is of the form l = 2*k, k a non negative integer
*/
private static final int ZZ_LEXSTATE[] = {
0, 0
};
/**
* Translates characters to character classes
*/
private static final String ZZ_CMAP_PACKED =
"\11\0\1\3\1\1\1\0\1\2\1\1\22\0\1\3\1\0\1\5"+
"\1\55\4\0\1\64\1\65\2\0\1\66\2\0\1\4\1\12\1\50"+
"\1\47\1\54\1\53\1\11\1\52\1\11\1\51\1\11\1\15\6\0"+
"\1\23\1\22\1\20\1\24\1\37\1\16\1\45\1\43\1\40\1\30"+
"\1\46\1\26\1\25\1\31\1\33\1\17\1\41\1\32\1\21\1\35"+
"\1\34\1\42\1\27\1\14\1\36\1\44\4\0\1\6\1\0\6\10"+
"\2\6\1\56\3\6\1\57\1\6\1\61\1\60\1\6\1\62\1\6"+
"\1\63\3\6\1\13\2\6\1\0\1\67\55\0\1\6\12\0\1\6"+
"\4\0\1\6\5\0\27\6\1\0\37\6\1\0\u01ca\6\4\0\14\6"+
"\16\0\5\6\7\0\1\6\1\0\1\6\201\0\5\6\1\0\2\6"+
"\2\0\4\6\10\0\1\6\1\0\3\6\1\0\1\6\1\0\24\6"+
"\1\0\123\6\1\0\213\6\10\0\236\6\11\0\46\6\2\0\1\6"+
"\7\0\47\6\110\0\33\6\5\0\3\6\55\0\53\6\25\0\12\7"+
"\4\0\2\6\1\0\143\6\1\0\1\6\17\0\2\6\7\0\2\6"+
"\12\7\3\6\2\0\1\6\20\0\1\6\1\0\36\6\35\0\131\6"+
"\13\0\1\6\16\0\12\7\41\6\11\0\2\6\4\0\1\6\5\0"+
"\26\6\4\0\1\6\11\0\1\6\3\0\1\6\27\0\31\6\107\0"+
"\1\6\1\0\13\6\127\0\66\6\3\0\1\6\22\0\1\6\7\0"+
"\12\6\4\0\12\7\1\0\7\6\1\0\7\6\5\0\10\6\2\0"+
"\2\6\2\0\26\6\1\0\7\6\1\0\1\6\3\0\4\6\3\0"+
"\1\6\20\0\1\6\15\0\2\6\1\0\3\6\4\0\12\7\2\6"+
"\23\0\6\6\4\0\2\6\2\0\26\6\1\0\7\6\1\0\2\6"+
"\1\0\2\6\1\0\2\6\37\0\4\6\1\0\1\6\7\0\12\7"+
"\2\0\3\6\20\0\11\6\1\0\3\6\1\0\26\6\1\0\7\6"+
"\1\0\2\6\1\0\5\6\3\0\1\6\22\0\1\6\17\0\2\6"+
"\4\0\12\7\25\0\10\6\2\0\2\6\2\0\26\6\1\0\7\6"+
"\1\0\2\6\1\0\5\6\3\0\1\6\36\0\2\6\1\0\3\6"+
"\4\0\12\7\1\0\1\6\21\0\1\6\1\0\6\6\3\0\3\6"+
"\1\0\4\6\3\0\2\6\1\0\1\6\1\0\2\6\3\0\2\6"+
"\3\0\3\6\3\0\14\6\26\0\1\6\25\0\12\7\25\0\10\6"+
"\1\0\3\6\1\0\27\6\1\0\12\6\1\0\5\6\3\0\1\6"+
"\32\0\2\6\6\0\2\6\4\0\12\7\25\0\10\6\1\0\3\6"+
"\1\0\27\6\1\0\12\6\1\0\5\6\3\0\1\6\40\0\1\6"+
"\1\0\2\6\4\0\12\7\1\0\2\6\22\0\10\6\1\0\3\6"+
"\1\0\51\6\2\0\1\6\20\0\1\6\21\0\2\6\4\0\12\7"+
"\12\0\6\6\5\0\22\6\3\0\30\6\1\0\11\6\1\0\1\6"+
"\2\0\7\6\72\0\60\6\1\0\2\6\14\0\7\6\11\0\12\7"+
"\47\0\2\6\1\0\1\6\2\0\2\6\1\0\1\6\2\0\1\6"+
"\6\0\4\6\1\0\7\6\1\0\3\6\1\0\1\6\1\0\1\6"+
"\2\0\2\6\1\0\4\6\1\0\2\6\11\0\1\6\2\0\5\6"+
"\1\0\1\6\11\0\12\7\2\0\4\6\40\0\1\6\37\0\12\7"+
"\26\0\10\6\1\0\44\6\33\0\5\6\163\0\53\6\24\0\1\6"+
"\12\7\6\0\6\6\4\0\4\6\3\0\1\6\3\0\2\6\7\0"+
"\3\6\4\0\15\6\14\0\1\6\1\0\12\7\6\0\46\6\1\0"+
"\1\6\5\0\1\6\2\0\53\6\1\0\u014d\6\1\0\4\6\2\0"+
"\7\6\1\0\1\6\1\0\4\6\2\0\51\6\1\0\4\6\2\0"+
"\41\6\1\0\4\6\2\0\7\6\1\0\1\6\1\0\4\6\2\0"+
"\17\6\1\0\71\6\1\0\4\6\2\0\103\6\45\0\20\6\20\0"+
"\125\6\14\0\u026c\6\2\0\21\6\1\0\32\6\5\0\113\6\25\0"+
"\15\6\1\0\4\6\16\0\22\6\16\0\22\6\16\0\15\6\1\0"+
"\3\6\17\0\64\6\43\0\1\6\4\0\1\6\3\0\12\7\46\0"+
"\12\7\6\0\130\6\10\0\51\6\1\0\1\6\5\0\106\6\12\0"+
"\35\6\51\0\12\7\36\6\2\0\5\6\13\0\54\6\25\0\7\6"+
"\10\0\12\7\46\0\27\6\11\0\65\6\53\0\12\7\6\0\12\7"+
"\15\0\1\6\135\0\57\6\21\0\7\6\4\0\12\7\51\0\36\6"+
"\15\0\2\6\12\7\54\6\32\0\44\6\34\0\12\7\3\0\3\6"+
"\12\7\44\6\153\0\4\6\1\0\4\6\3\0\2\6\11\0\300\6"+
"\100\0\u0116\6\2\0\6\6\2\0\46\6\2\0\6\6\2\0\10\6"+
"\1\0\1\6\1\0\1\6\1\0\1\6\1\0\37\6\2\0\65\6"+
"\1\0\7\6\1\0\1\6\3\0\3\6\1\0\7\6\3\0\4\6"+
"\2\0\6\6\4\0\15\6\5\0\3\6\1\0\7\6\164\0\1\6"+
"\15\0\1\6\20\0\15\6\145\0\1\6\4\0\1\6\2\0\12\6"+
"\1\0\1\6\3\0\5\6\6\0\1\6\1\0\1\6\1\0\1\6"+
"\1\0\4\6\1\0\13\6\2\0\4\6\5\0\5\6\4\0\1\6"+
"\64\0\2\6\u0a7b\0\57\6\1\0\57\6\1\0\205\6\6\0\4\6"+
"\3\0\2\6\14\0\46\6\1\0\1\6\5\0\1\6\2\0\70\6"+
"\7\0\1\6\20\0\27\6\11\0\7\6\1\0\7\6\1\0\7\6"+
"\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6\1\0\7\6"+
"\120\0\1\6\u01d5\0\2\6\52\0\5\6\5\0\2\6\4\0\126\6"+
"\6\0\3\6\1\0\132\6\1\0\4\6\5\0\51\6\3\0\136\6"+
"\21\0\33\6\65\0\20\6\u0200\0\u19b6\6\112\0\u51cd\6\63\0\u048d\6"+
"\103\0\56\6\2\0\u010d\6\3\0\20\6\12\7\2\6\24\0\57\6"+
"\20\0\31\6\10\0\106\6\61\0\11\6\2\0\147\6\2\0\4\6"+
"\1\0\4\6\14\0\13\6\115\0\12\6\1\0\3\6\1\0\4\6"+
"\1\0\27\6\35\0\64\6\16\0\62\6\34\0\12\7\30\0\6\6"+
"\3\0\1\6\4\0\12\7\34\6\12\0\27\6\31\0\35\6\7\0"+
"\57\6\34\0\1\6\12\7\46\0\51\6\27\0\3\6\1\0\10\6"+
"\4\0\12\7\6\0\27\6\3\0\1\6\5\0\60\6\1\0\1\6"+
"\3\0\2\6\2\0\5\6\2\0\1\6\1\0\1\6\30\0\3\6"+
"\2\0\13\6\7\0\3\6\14\0\6\6\2\0\6\6\2\0\6\6"+
"\11\0\7\6\1\0\7\6\221\0\43\6\15\0\12\7\6\0\u2ba4\6"+
"\14\0\27\6\4\0\61\6\u2104\0\u016e\6\2\0\152\6\46\0\7\6"+
"\14\0\5\6\5\0\1\6\1\0\12\6\1\0\15\6\1\0\5\6"+
"\1\0\1\6\1\0\2\6\1\0\2\6\1\0\154\6\41\0\u016b\6"+
"\22\0\100\6\2\0\66\6\50\0\14\6\164\0\5\6\1\0\207\6"+
"\23\0\12\7\7\0\32\6\6\0\32\6\13\0\131\6\3\0\6\6"+
"\2\0\6\6\2\0\6\6\2\0\3\6\43\0";
/**
* Translates characters to character classes
*/
private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
/**
* Translates DFA states to action switch labels.
*/
private static final int [] ZZ_ACTION = zzUnpackAction();
private static final String ZZ_ACTION_PACKED_0 =
"\1\0\1\1\2\2\2\1\1\3\2\4\1\3\1\5"+
"\25\3\1\1\1\6\1\7\1\10\1\11\1\12\1\0"+
"\1\13\1\14\1\0\12\3\1\15\17\3\1\15\22\3"+
"\1\15\1\3\1\15\101\3\1\0\1\16\102\3\1\17"+
"\64\3\1\17\13\3\1\17\7\3\1\0\17\3\1\17"+
"\25\3\1\17\36\3\1\17\1\3\2\17\1\3\2\17"+
"\1\3\1\17\15\3\1\20\5\3\1\0\5\3\1\17"+
"\1\3\2\17\5\3\2\17\1\3\2\17\36\3\1\21"+
"\22\3\1\0\1\3\1\17\5\3\1\17\14\3\1\17"+
"\10\3\1\0\17\3\1\22\15\3";
private static int [] zzUnpackAction() {
int [] result = new int[522];
int offset = 0;
offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAction(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/**
* Translates a state to a row index in the transition table
*/
private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
private static final String ZZ_ROWMAP_PACKED_0 =
"\0\0\0\70\0\160\0\70\0\250\0\340\0\u0118\0\u0150"+
"\0\u0188\0\u01c0\0\70\0\u01f8\0\u0230\0\u0268\0\u02a0\0\u02d8"+
"\0\u0310\0\u0348\0\u0380\0\u03b8\0\u03f0\0\u0428\0\u0460\0\u0498"+
"\0\u04d0\0\u0508\0\u0540\0\u0578\0\u05b0\0\u05e8\0\u0620\0\u0658"+
"\0\u0690\0\70\0\70\0\70\0\70\0\u06c8\0\340\0\70"+
"\0\70\0\u0700\0\u0738\0\u0770\0\u07a8\0\u07e0\0\u0818\0\u0850"+
"\0\u0888\0\u08c0\0\u08f8\0\u0930\0\u0968\0\u09a0\0\u09d8\0\u0a10"+
"\0\u0a48\0\u0a80\0\u0ab8\0\u0af0\0\u0b28\0\u0b60\0\u0b98\0\u0bd0"+
"\0\u0c08\0\u0c40\0\u0c78\0\u0cb0\0\u0ce8\0\u0d20\0\u0d58\0\u0d90"+
"\0\u0dc8\0\u0e00\0\u0e38\0\u0e70\0\u0ea8\0\u0ee0\0\u0f18\0\u0f50"+
"\0\u0f88\0\u0fc0\0\u0ff8\0\u1030\0\u1068\0\u10a0\0\u10d8\0\u0118"+
"\0\u1110\0\u1148\0\u1180\0\u11b8\0\u11f0\0\u1228\0\u1260\0\u1298"+
"\0\u12d0\0\u1308\0\u1340\0\u1378\0\u13b0\0\u13e8\0\u1420\0\u1458"+
"\0\u1490\0\u14c8\0\u1500\0\u1538\0\u1570\0\u15a8\0\u15e0\0\u1618"+
"\0\u1650\0\u1688\0\u16c0\0\u16f8\0\u1730\0\u1768\0\u17a0\0\u17d8"+
"\0\u1810\0\u1848\0\u1880\0\u18b8\0\u18f0\0\u1928\0\u1960\0\u1998"+
"\0\u19d0\0\u1a08\0\u1a40\0\u1a78\0\u1ab0\0\u1ae8\0\u1b20\0\u1b58"+
"\0\u1b90\0\u1bc8\0\u1c00\0\u1c38\0\u1c70\0\u1ca8\0\u1ce0\0\u1d18"+
"\0\u1d50\0\u1d88\0\u1dc0\0\u1df8\0\u1e30\0\u1e68\0\u1ea0\0\u1ed8"+
"\0\u1f10\0\u1f48\0\u1f80\0\u1fb8\0\u0700\0\u1ff0\0\u2028\0\u2060"+
"\0\u2098\0\u20d0\0\u2108\0\u2140\0\u2178\0\u21b0\0\u21e8\0\u2220"+
"\0\u2258\0\u2290\0\u22c8\0\u2300\0\u2338\0\u2370\0\u23a8\0\u23e0"+
"\0\u2418\0\u2450\0\u2488\0\u24c0\0\u24f8\0\u2530\0\u2568\0\u25a0"+
"\0\u25d8\0\u2610\0\u2648\0\u2680\0\u26b8\0\u26f0\0\u2728\0\u2760"+
"\0\u2798\0\u27d0\0\u2808\0\u2840\0\u2878\0\u28b0\0\u28e8\0\u2920"+
"\0\u2958\0\u2990\0\u29c8\0\u2a00\0\u2a38\0\u2a70\0\u2aa8\0\u2ae0"+
"\0\u2b18\0\u2b50\0\u2b88\0\u2bc0\0\u2bf8\0\u2c30\0\u2c68\0\u2ca0"+
"\0\u2cd8\0\u2d10\0\u2d48\0\u2d80\0\u2db8\0\u2df0\0\u2e28\0\u0118"+
"\0\u2e60\0\u2e98\0\u2ed0\0\u2f08\0\u2f40\0\u2f78\0\u2fb0\0\u2fe8"+
"\0\u3020\0\u3058\0\u3090\0\u30c8\0\u3100\0\u3138\0\u3170\0\u31a8"+
"\0\u31e0\0\u3218\0\u3250\0\u3288\0\u32c0\0\u32f8\0\u3330\0\u3368"+
"\0\u33a0\0\u33d8\0\u3410\0\u3448\0\u3480\0\u34b8\0\u34f0\0\u3528"+
"\0\u3560\0\u3598\0\u35d0\0\u3608\0\u3640\0\u3678\0\u36b0\0\u36e8"+
"\0\u3720\0\u3758\0\u3790\0\u37c8\0\u3800\0\u3838\0\u3870\0\u38a8"+
"\0\u38e0\0\u3918\0\u3950\0\u3988\0\u39c0\0\u39f8\0\u3a30\0\u3a68"+
"\0\u3aa0\0\u3ad8\0\u3b10\0\u3b48\0\u3b80\0\u3bb8\0\u3bf0\0\u3c28"+
"\0\u1068\0\u3c60\0\u3c98\0\u3cd0\0\u3d08\0\u3d40\0\u3d78\0\u3db0"+
"\0\u3de8\0\u3e20\0\u3e58\0\u3e90\0\u3ec8\0\u3f00\0\u3f38\0\u3f70"+
"\0\u39c0\0\u3fa8\0\u3fe0\0\u4018\0\u4050\0\u4088\0\u40c0\0\u40f8"+
"\0\u4130\0\u4168\0\u41a0\0\u41d8\0\u4210\0\u4248\0\u4280\0\u42b8"+
"\0\u42f0\0\u4328\0\u4360\0\u4398\0\u43d0\0\u4408\0\u4440\0\u4478"+
"\0\u44b0\0\u44e8\0\u4520\0\u4558\0\u4590\0\u45c8\0\u4600\0\u4638"+
"\0\u4670\0\u46a8\0\u46e0\0\u4718\0\u4750\0\u4788\0\u47c0\0\u47f8"+
"\0\u4830\0\u4868\0\u48a0\0\u48d8\0\u4910\0\u4948\0\u4980\0\u49b8"+
"\0\u49f0\0\u4a28\0\u4a60\0\u4a98\0\u4ad0\0\u4b08\0\u4b40\0\u4b78"+
"\0\u4bb0\0\u4be8\0\u4c20\0\u4c58\0\u4c90\0\u4cc8\0\u4d00\0\u4d38"+
"\0\u4d70\0\u4da8\0\u4de0\0\u4e18\0\u4e50\0\u4e88\0\u4ec0\0\u4ef8"+
"\0\u4f30\0\u4f68\0\u4fa0\0\u4fd8\0\u5010\0\u5048\0\u5080\0\u50b8"+
"\0\u50f0\0\u5128\0\u5160\0\u0118\0\u5198\0\u51d0\0\u5208\0\u5240"+
"\0\u5278\0\u52b0\0\u52e8\0\u5320\0\u5358\0\u5390\0\u53c8\0\u42f0"+
"\0\u5400\0\u26b8\0\u5438\0\u5470\0\u54a8\0\u54e0\0\u5518\0\u5550"+
"\0\u5588\0\u55c0\0\u55f8\0\u2840\0\u5630\0\u5668\0\u56a0\0\u56d8"+
"\0\u5710\0\u5748\0\u5780\0\u57b8\0\u57f0\0\u5828\0\u5860\0\u5898"+
"\0\u58d0\0\u5908\0\u5940\0\u5978\0\u59b0\0\u59e8\0\u5a20\0\u5a58"+
"\0\u5a90\0\u5ac8\0\u5b00\0\u5b38\0\u5b70\0\u5ba8\0\u5be0\0\u5c18"+
"\0\u5c50\0\u5c88\0\u5cc0\0\u0118\0\u5cf8\0\u5d30\0\u5d68\0\u5da0"+
"\0\u5dd8\0\u5e10\0\u5e48\0\u5e80\0\u5eb8\0\u5ef0\0\u5f28\0\u5f60"+
"\0\u5f98\0\u5fd0\0\u6008\0\u6040\0\u6078\0\u60b0\0\u60e8\0\u6120"+
"\0\u6158\0\u6190\0\u61c8\0\u6200\0\u6238\0\u6270\0\u40c0\0\u62a8"+
"\0\u62e0\0\u6318\0\u6350\0\u6388\0\u63c0\0\u63f8\0\u6430\0\u6468"+
"\0\u64a0\0\u64d8\0\u6510\0\u6548\0\u6580\0\u65b8\0\u65f0\0\u6628"+
"\0\u6660\0\u6698\0\u66d0\0\u6708\0\u6740\0\u6778\0\u67b0\0\u67e8"+
"\0\u6820\0\u6858\0\u6890\0\u68c8\0\u6900\0\u6938\0\u6970\0\u69a8"+
"\0\u69e0\0\u6a18\0\u6a50\0\u6a88\0\70\0\u6ac0\0\u6af8\0\u4de0"+
"\0\u6b30\0\u6b68\0\u6ba0\0\u6bd8\0\u6c10\0\u6c48\0\u6c80\0\u6cb8"+
"\0\u6cf0\0\u6d28";
private static int [] zzUnpackRowMap() {
int [] result = new int[522];
int offset = 0;
offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
return result;
}
private static int zzUnpackRowMap(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int high = packed.charAt(i++) << 16;
result[j++] = high | packed.charAt(i++);
}
return j;
}
/**
* The transition table of the DFA
*/
private static final int [] ZZ_TRANS = zzUnpackTrans();
private static final String ZZ_TRANS_PACKED_0 =
"\1\2\1\3\1\4\1\3\1\5\1\6\1\7\1\2"+
"\1\7\1\10\1\11\1\7\1\12\1\13\1\14\1\15"+
"\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25"+
"\1\26\1\27\1\30\1\31\1\32\1\33\1\7\1\34"+
"\1\35\1\36\1\37\1\40\3\7\6\10\1\41\6\7"+
"\1\42\1\43\1\44\1\45\71\0\1\3\1\0\1\3"+
"\70\0\1\46\63\0\5\47\1\50\62\47\6\0\7\7"+
"\1\51\37\7\1\0\6\7\15\0\2\10\34\0\6\10"+
"\26\0\2\52\61\0\7\7\1\51\2\7\1\53\1\7"+
"\1\54\1\55\2\7\1\56\3\7\1\57\1\60\1\7"+
"\1\61\1\7\1\62\15\7\1\0\6\7\12\0\6\7"+
"\1\63\1\51\1\64\1\65\1\66\1\67\1\7\1\70"+
"\1\71\1\72\1\73\2\7\1\74\1\75\1\7\1\76"+
"\1\77\1\100\1\7\1\101\6\7\1\102\5\7\1\0"+
"\6\7\12\0\6\7\1\103\1\51\1\104\1\7\1\105"+
"\1\106\1\7\1\107\1\7\1\110\4\7\1\111\1\112"+
"\1\113\2\7\1\114\1\115\14\7\1\0\6\7\12\0"+
"\7\7\1\51\1\7\1\116\4\7\1\117\1\120\1\121"+
"\1\122\2\7\1\123\1\124\5\7\1\125\1\126\12\7"+
"\1\0\6\7\12\0\7\7\1\51\1\127\1\130\1\131"+
"\1\7\1\132\1\133\3\7\1\134\4\7\1\135\1\136"+
"\1\137\1\140\1\7\1\141\1\7\1\142\11\7\1\0"+
"\6\7\12\0\7\7\1\51\3\7\1\143\11\7\1\144"+
"\1\7\1\145\1\146\16\7\1\0\6\7\12\0\7\7"+
"\1\51\5\7\1\147\1\150\4\7\1\151\1\152\4\7"+
"\1\153\15\7\1\0\6\7\12\0\7\7\1\51\5\7"+
"\1\154\10\7\1\155\2\7\1\156\1\157\14\7\1\0"+
"\6\7\12\0\7\7\1\51\1\127\4\7\1\160\7\7"+
"\1\161\1\162\3\7\1\163\14\7\1\0\6\7\12\0"+
"\7\7\1\51\1\127\2\7\1\164\1\7\1\165\1\166"+
"\6\7\1\167\3\7\1\170\15\7\1\0\6\7\12\0"+
"\7\7\1\51\4\7\1\171\1\172\6\7\1\173\1\174"+
"\21\7\1\0\6\7\12\0\7\7\1\51\1\7\1\175"+
"\1\176\4\7\1\177\1\200\2\7\1\201\1\7\1\202"+
"\3\7\1\117\3\7\1\177\1\7\1\203\7\7\1\0"+
"\6\7\12\0\7\7\1\51\15\7\1\204\3\7\1\205"+
"\15\7\1\0\6\7\12\0\7\7\1\51\2\7\1\206"+
"\1\207\2\7\1\210\6\7\1\211\3\7\1\212\15\7"+
"\1\0\6\7\12\0\7\7\1\51\14\7\1\213\1\7"+
"\1\214\20\7\1\0\6\7\12\0\7\7\1\51\2\7"+
"\1\215\10\7\1\216\23\7\1\0\6\7\12\0\7\7"+
"\1\51\10\7\1\217\10\7\1\220\15\7\1\0\6\7"+
"\12\0\7\7\1\51\7\7\1\221\3\7\1\222\23\7"+
"\1\0\6\7\12\0\7\7\1\51\6\7\1\223\1\224"+
"\3\7\1\225\1\226\22\7\1\0\6\7\12\0\7\7"+
"\1\51\16\7\1\227\20\7\1\0\6\7\12\0\7\7"+
"\1\51\1\7\1\230\17\7\1\231\4\7\1\232\10\7"+
"\1\0\6\7\12\0\7\7\1\51\10\7\1\233\26\7"+
"\1\0\6\7\62\0\1\234\11\0\1\46\1\0\66\46"+
"\10\0\3\235\3\0\1\235\1\0\1\235\1\0\3\235"+
"\12\0\1\235\7\0\6\235\21\0\7\7\1\51\25\7"+
"\1\236\11\7\1\0\6\7\12\0\7\7\1\51\21\7"+
"\1\237\15\7\1\0\6\7\12\0\7\7\1\51\2\7"+
"\1\240\1\7\1\241\1\7\1\242\30\7\1\0\6\7"+
"\12\0\7\7\1\51\5\7\1\233\31\7\1\0\6\7"+
"\12\0\7\7\1\51\21\7\1\243\15\7\1\0\6\7"+
"\12\0\7\7\1\51\14\7\1\213\22\7\1\0\6\7"+
"\12\0\7\7\1\51\21\7\1\77\15\7\1\0\6\7"+
"\12\0\7\7\1\51\13\7\1\122\23\7\1\0\6\7"+
"\12\0\7\7\1\51\2\7\1\244\1\245\1\7\1\246"+
"\6\7\1\247\2\7\1\250\17\7\1\0\6\7\12\0"+
"\7\7\1\51\14\7\1\251\22\7\1\0\6\7\12\0"+
"\7\7\1\51\5\7\1\252\6\7\1\253\2\7\1\254"+
"\17\7\1\0\6\7\12\0\7\7\1\51\7\7\1\255"+
"\1\256\4\7\1\257\7\7\1\260\11\7\1\0\6\7"+
"\12\0\7\7\1\51\2\7\1\261\2\7\1\262\10\7"+
"\1\263\1\264\2\7\1\265\1\266\13\7\1\0\6\7"+
"\12\0\7\7\1\51\4\7\1\260\1\7\1\267\30\7"+
"\1\0\6\7\12\0\7\7\1\51\21\7\1\270\1\271"+
"\14\7\1\0\6\7\12\0\7\7\1\51\15\7\1\272"+
"\1\273\20\7\1\0\6\7\12\0\7\7\1\51\6\7"+
"\1\274\30\7\1\0\6\7\12\0\7\7\1\51\15\7"+
"\1\275\21\7\1\0\6\7\12\0\7\7\1\51\3\7"+
"\1\276\7\7\1\277\23\7\1\0\6\7\12\0\7\7"+
"\1\51\2\7\1\300\34\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\1\233\33\7\1\0\6\7\12\0\7\7"+
"\1\51\10\7\1\301\26\7\1\0\6\7\12\0\7\7"+
"\1\51\13\7\1\302\23\7\1\0\6\7\12\0\6\7"+
"\1\303\1\51\37\7\1\0\6\7\12\0\7\7\1\51"+
"\15\7\1\304\21\7\1\0\6\7\12\0\7\7\1\51"+
"\1\7\1\305\1\306\1\307\1\7\1\310\1\7\1\311"+
"\3\7\1\312\1\313\14\7\1\314\5\7\1\0\6\7"+
"\12\0\7\7\1\51\7\7\1\315\1\316\26\7\1\0"+
"\6\7\12\0\7\7\1\51\5\7\1\317\2\7\1\320"+
"\1\321\2\7\1\322\1\7\1\323\6\7\1\324\11\7"+
"\1\0\6\7\12\0\7\7\1\51\2\7\1\325\3\7"+
"\1\326\4\7\1\327\2\7\1\330\5\7\1\331\12\7"+
"\1\0\6\7\12\0\7\7\1\51\5\7\1\332\7\7"+
"\1\333\1\334\3\7\1\335\14\7\1\0\6\7\12\0"+
"\7\7\1\51\21\7\1\336\15\7\1\0\6\7\12\0"+
"\7\7\1\51\1\7\1\337\12\7\1\340\22\7\1\0"+
"\6\7\12\0\7\7\1\51\3\7\1\341\7\7\1\342"+
"\23\7\1\0\6\7\12\0\6\7\1\343\1\51\37\7"+
"\1\0\6\7\12\0\7\7\1\51\13\7\1\344\15\7"+
"\1\345\5\7\1\0\6\7\12\0\7\7\1\51\16\7"+
"\1\346\20\7\1\0\6\7\12\0\7\7\1\51\23\7"+
"\1\340\13\7\1\0\6\7\12\0\7\7\1\51\1\7"+
"\1\347\1\340\12\7\1\350\21\7\1\0\6\7\12\0"+
"\7\7\1\51\2\7\1\340\3\7\1\340\10\7\1\260"+
"\2\7\1\340\14\7\1\0\6\7\12\0\7\7\1\51"+
"\6\7\1\340\30\7\1\0\6\7\12\0\7\7\1\51"+
"\2\7\1\351\34\7\1\0\6\7\12\0\7\7\1\51"+
"\7\7\1\352\27\7\1\0\6\7\12\0\7\7\1\51"+
"\15\7\1\340\21\7\1\0\6\7\12\0\7\7\1\51"+
"\17\7\1\353\17\7\1\0\6\7\12\0\7\7\1\51"+
"\21\7\1\354\15\7\1\0\6\7\12\0\7\7\1\51"+
"\5\7\1\355\31\7\1\0\6\7\12\0\7\7\1\51"+
"\4\7\1\356\32\7\1\0\6\7\12\0\7\7\1\51"+
"\10\7\1\356\3\7\1\356\10\7\1\357\11\7\1\0"+
"\6\7\12\0\7\7\1\51\5\7\1\360\31\7\1\0"+
"\6\7\12\0\7\7\1\51\4\7\1\361\32\7\1\0"+
"\6\7\12\0\7\7\1\51\2\7\1\340\3\7\1\340"+
"\1\362\5\7\1\355\4\7\1\340\14\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\363\33\7\1\0\6\7"+
"\12\0\7\7\1\51\17\7\1\364\17\7\1\0\6\7"+
"\12\0\7\7\1\51\14\7\1\365\22\7\1\0\6\7"+
"\12\0\7\7\1\51\10\7\1\356\3\7\1\356\1\7"+
"\1\366\20\7\1\0\6\7\12\0\7\7\1\51\1\367"+
"\10\7\1\370\2\7\1\367\22\7\1\0\6\7\12\0"+
"\7\7\1\51\16\7\1\371\20\7\1\0\6\7\12\0"+
"\7\7\1\51\2\7\2\367\4\7\2\340\2\7\1\367"+
"\6\7\1\340\13\7\1\0\6\7\12\0\7\7\1\51"+
"\17\7\1\201\17\7\1\0\6\7\12\0\7\7\1\51"+
"\3\7\1\340\1\7\3\340\27\7\1\0\6\7\12\0"+
"\7\7\1\51\2\7\1\356\3\7\1\361\3\7\1\372"+
"\24\7\1\0\6\7\12\0\7\7\1\51\6\7\1\373"+
"\30\7\1\0\6\7\12\0\7\7\1\51\1\7\1\374"+
"\35\7\1\0\6\7\12\0\7\7\1\51\3\7\1\375"+
"\33\7\1\0\6\7\12\0\7\7\1\51\3\7\1\340"+
"\1\7\1\340\31\7\1\0\6\7\12\0\7\7\1\51"+
"\1\7\1\376\35\7\1\0\6\7\12\0\7\7\1\51"+
"\2\7\1\356\34\7\1\0\6\7\12\0\7\7\1\51"+
"\24\7\1\361\12\7\1\0\6\7\12\0\6\7\1\377"+
"\1\51\3\7\1\u0100\33\7\1\0\6\7\12\0\7\7"+
"\1\51\6\7\1\201\15\7\1\u0101\12\7\1\0\6\7"+
"\12\0\7\7\1\51\10\7\1\361\26\7\1\0\6\7"+
"\12\0\7\7\1\51\13\7\1\377\23\7\1\0\6\7"+
"\12\0\7\7\1\51\10\7\1\u0102\26\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\233\10\7\1\u0102\10\7"+
"\1\357\11\7\1\0\6\7\12\0\7\7\1\51\7\7"+
"\1\362\27\7\1\0\6\7\12\0\7\7\1\51\2\7"+
"\1\u0103\3\7\1\355\4\7\1\u0104\1\7\1\u0105\21\7"+
"\1\0\6\7\12\0\7\7\1\51\5\7\1\u0106\31\7"+
"\1\0\6\7\12\0\7\7\1\51\22\7\1\u0107\14\7"+
"\1\0\6\7\12\0\7\7\1\51\22\7\1\233\14\7"+
"\1\0\6\7\12\0\7\7\1\51\5\7\1\u0108\1\7"+
"\1\u0109\27\7\1\0\6\7\12\0\7\7\1\51\14\7"+
"\1\122\22\7\1\0\6\7\12\0\7\7\1\51\2\7"+
"\2\340\4\7\1\340\26\7\1\0\6\7\12\0\6\7"+
"\1\u010a\1\51\2\7\2\340\33\7\1\0\6\7\12\0"+
"\7\7\1\51\22\7\1\340\14\7\1\0\6\7\12\0"+
"\7\7\1\51\3\7\1\340\13\7\1\340\1\7\1\340"+
"\15\7\1\0\6\7\12\0\7\7\1\51\21\7\1\340"+
"\15\7\1\0\6\7\12\0\7\7\1\51\2\7\2\340"+
"\33\7\1\0\6\7\12\0\7\7\1\51\17\7\1\340"+
"\1\7\1\340\15\7\1\0\6\7\12\0\7\7\1\51"+
"\1\u010b\1\u010c\1\7\1\u010d\13\7\1\356\17\7\1\0"+
"\6\7\12\0\7\7\1\51\21\7\1\u010e\5\7\1\356"+
"\7\7\1\0\6\7\12\0\7\7\1\51\1\7\1\u010f"+
"\6\7\1\356\3\7\1\356\22\7\1\0\6\7\12\0"+
"\7\7\1\51\7\7\1\340\13\7\1\u0110\13\7\1\0"+
"\6\7\12\0\7\7\1\51\1\7\1\u0111\5\7\1\u0109"+
"\7\7\1\u0112\17\7\1\0\6\7\12\0\7\7\1\51"+
"\6\7\1\u0113\1\7\1\356\3\7\1\356\1\7\1\u0114"+
"\20\7\1\0\6\7\12\0\7\7\1\51\1\7\1\u0115"+
"\15\7\1\u0116\17\7\1\0\6\7\12\0\7\7\1\51"+
"\1\7\1\u0117\2\7\1\340\3\7\2\340\11\7\1\340"+
"\13\7\1\0\6\7\12\0\7\7\1\51\17\7\1\u0118"+
"\17\7\1\0\6\7\12\0\7\7\1\51\15\7\1\124"+
"\21\7\1\0\6\7\12\0\7\7\1\51\1\7\1\u0119"+
"\35\7\1\0\6\7\12\0\7\7\1\51\3\7\1\u011a"+
"\33\7\1\0\6\7\12\0\6\7\1\u011b\1\51\3\7"+
"\1\u011c\33\7\1\0\6\7\12\0\7\7\1\51\7\7"+
"\1\260\27\7\1\0\6\7\12\0\7\7\1\51\17\7"+
"\1\u011d\17\7\1\0\6\7\12\0\7\7\1\51\22\7"+
"\1\u011e\14\7\1\0\6\7\12\0\7\7\1\51\16\7"+
"\1\u011f\20\7\1\0\6\7\12\0\7\7\1\51\2\7"+
"\1\356\1\u0120\1\340\3\7\2\340\5\7\1\u0121\4\7"+
"\1\u0122\12\7\1\0\6\7\12\0\7\7\1\51\21\7"+
"\1\u0123\15\7\1\0\6\7\12\0\7\7\1\51\5\7"+
"\1\122\31\7\1\0\6\7\12\0\6\7\1\103\1\51"+
"\2\7\1\u0124\1\7\1\u0125\1\62\1\7\1\u0126\7\7"+
"\1\61\17\7\1\0\6\7\12\0\7\7\1\51\14\7"+
"\1\u0127\22\7\1\0\6\7\12\0\7\7\1\51\21\7"+
"\1\u0128\15\7\1\0\6\7\12\0\7\7\1\51\17\7"+
"\1\340\17\7\1\0\6\7\63\0\1\u0129\16\0\7\7"+
"\1\51\27\7\1\356\7\7\1\0\6\7\12\0\7\7"+
"\1\51\27\7\1\u012a\7\7\1\0\6\7\12\0\7\7"+
"\1\51\23\7\1\u012b\13\7\1\0\6\7\12\0\7\7"+
"\1\51\15\7\1\266\21\7\1\0\6\7\12\0\7\7"+
"\1\51\6\7\1\356\30\7\1\0\6\7\12\0\7\7"+
"\1\51\10\7\1\u012c\26\7\1\0\6\7\12\0\7\7"+
"\1\51\25\7\1\122\11\7\1\0\6\7\12\0\7\7"+
"\1\51\5\7\1\u012d\31\7\1\0\6\7\12\0\7\7"+
"\1\51\7\7\1\340\27\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\1\u012e\33\7\1\0\6\7\12\0\7\7"+
"\1\51\14\7\1\u012f\22\7\1\0\6\7\12\0\7\7"+
"\1\51\21\7\1\201\15\7\1\0\6\7\12\0\7\7"+
"\1\51\17\7\1\254\17\7\1\0\6\7\12\0\7\7"+
"\1\51\21\7\1\u0130\15\7\1\0\6\7\12\0\7\7"+
"\1\51\5\7\1\u0131\31\7\1\0\6\7\12\0\7\7"+
"\1\51\15\7\1\u0132\21\7\1\0\6\7\12\0\7\7"+
"\1\51\21\7\1\u0133\15\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\1\340\3\7\1\u0134\27\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\340\33\7\1\0\6\7"+
"\12\0\7\7\1\51\5\7\1\u0135\31\7\1\0\6\7"+
"\12\0\7\7\1\51\24\7\1\201\12\7\1\0\6\7"+
"\12\0\7\7\1\51\4\7\1\u0136\32\7\1\0\6\7"+
"\12\0\7\7\1\51\2\7\2\u0137\15\7\1\u0138\15\7"+
"\1\0\6\7\12\0\7\7\1\51\13\7\1\u0139\23\7"+
"\1\0\6\7\12\0\7\7\1\51\14\7\1\233\22\7"+
"\1\0\6\7\12\0\7\7\1\51\6\7\1\u013a\30\7"+
"\1\0\6\7\12\0\7\7\1\51\2\7\1\u013b\34\7"+
"\1\0\6\7\12\0\7\7\1\51\24\7\1\u0136\12\7"+
"\1\0\6\7\12\0\7\7\1\51\24\7\1\u013c\12\7"+
"\1\0\6\7\12\0\7\7\1\51\10\7\1\u013a\26\7"+
"\1\0\6\7\12\0\7\7\1\51\1\7\1\177\1\u0137"+
"\5\7\1\u013d\10\7\1\u0138\4\7\1\340\3\7\1\340"+
"\4\7\1\0\6\7\12\0\7\7\1\51\1\7\1\340"+
"\35\7\1\0\6\7\12\0\7\7\1\51\17\7\1\103"+
"\17\7\1\0\6\7\12\0\7\7\1\51\6\7\1\u013e"+
"\30\7\1\0\6\7\12\0\7\7\1\51\15\7\1\u013f"+
"\21\7\1\0\6\7\12\0\7\7\1\51\31\7\1\u0140"+
"\5\7\1\0\6\7\12\0\7\7\1\51\2\7\1\u013b"+
"\17\7\1\233\14\7\1\0\6\7\12\0\7\7\1\51"+
"\7\7\1\u0141\27\7\1\0\6\7\12\0\7\7\1\51"+
"\14\7\1\340\22\7\1\0\6\7\12\0\7\7\1\51"+
"\13\7\1\312\23\7\1\0\6\7\12\0\7\7\1\51"+
"\7\7\1\u0142\27\7\1\0\6\7\12\0\7\7\1\51"+
"\16\7\1\u0143\20\7\1\0\6\7\12\0\7\7\1\51"+
"\2\7\1\u0144\3\7\1\122\30\7\1\0\6\7\12\0"+
"\7\7\1\51\5\7\1\u0133\10\7\1\374\3\7\1\u0131"+
"\14\7\1\0\6\7\12\0\7\7\1\51\5\7\1\u0145"+
"\31\7\1\0\6\7\12\0\7\7\1\51\2\7\1\u0146"+
"\1\u0147\33\7\1\0\6\7\12\0\7\7\1\51\22\7"+
"\1\u0102\14\7\1\0\6\7\12\0\7\7\1\51\1\7"+
"\1\u0148\35\7\1\0\6\7\12\0\7\7\1\51\7\7"+
"\1\u0149\27\7\1\0\6\7\12\0\7\7\1\51\6\7"+
"\1\u014a\30\7\1\0\6\7\12\0\7\7\1\51\10\7"+
"\1\u014b\26\7\1\0\6\7\12\0\7\7\1\51\5\7"+
"\1\152\31\7\1\0\6\7\12\0\7\7\1\51\5\7"+
"\1\u0102\2\7\1\u014b\26\7\1\0\6\7\12\0\7\7"+
"\1\51\4\7\1\u014c\32\7\1\0\6\7\12\0\7\7"+
"\1\51\16\7\1\u014d\20\7\1\0\6\7\12\0\7\7"+
"\1\51\30\7\1\u014e\6\7\1\0\6\7\12\0\7\7"+
"\1\51\6\7\1\u014c\30\7\1\0\6\7\12\0\7\7"+
"\1\51\6\7\1\u014f\30\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\1\201\33\7\1\0\6\7\12\0\7\7"+
"\1\51\27\7\1\u0150\7\7\1\0\6\7\12\0\6\7"+
"\1\u0151\1\51\6\7\1\u0152\30\7\1\0\6\7\12\0"+
"\7\7\1\51\24\7\1\u0153\12\7\1\0\6\7\12\0"+
"\7\7\1\51\10\7\1\u0154\26\7\1\0\6\7\12\0"+
"\7\7\1\51\13\7\1\u0151\23\7\1\0\6\7\12\0"+
"\7\7\1\51\1\u0155\36\7\1\0\6\7\12\0\7\7"+
"\1\51\1\367\4\7\1\u0102\2\7\2\340\11\7\1\340"+
"\13\7\1\0\6\7\12\0\7\7\1\51\25\7\1\337"+
"\11\7\1\0\6\7\12\0\7\7\1\51\1\7\1\u0156"+
"\35\7\1\0\6\7\12\0\7\7\1\51\17\7\1\u0157"+
"\17\7\1\0\6\7\12\0\7\7\1\51\3\7\1\u0158"+
"\33\7\1\0\6\7\12\0\7\7\1\51\1\u0102\36\7"+
"\1\0\6\7\12\0\7\7\1\51\22\7\1\122\14\7"+
"\1\0\6\7\12\0\6\7\1\u0159\1\51\1\7\1\u0117"+
"\1\7\1\u015a\1\340\3\7\2\340\11\7\1\340\13\7"+
"\1\0\6\7\12\0\7\7\1\51\24\7\1\u015b\12\7"+
"\1\0\6\7\12\0\7\7\1\51\36\7\1\u015c\1\0"+
"\6\7\12\0\7\7\1\51\22\7\1\u015d\14\7\1\0"+
"\6\7\12\0\7\7\1\51\1\7\1\u015e\1\7\1\u015f"+
"\13\7\1\u0160\17\7\1\0\6\7\12\0\7\7\1\51"+
"\13\7\1\u0161\23\7\1\0\6\7\12\0\7\7\1\51"+
"\3\7\1\356\33\7\1\0\6\7\12\0\7\7\1\51"+
"\4\7\1\340\3\7\2\340\11\7\1\340\13\7\1\0"+
"\6\7\12\0\7\7\1\51\1\340\36\7\1\0\6\7"+
"\12\0\7\7\1\51\1\7\1\u0162\35\7\1\0\6\7"+
"\12\0\7\7\1\51\1\7\1\u0117\1\7\1\u0117\1\340"+
"\3\7\2\340\11\7\1\340\13\7\1\0\6\7\12\0"+
"\6\7\1\u0163\1\51\37\7\1\0\6\7\12\0\7\7"+
"\1\51\2\7\1\u0164\11\7\1\u0165\22\7\1\0\6\7"+
"\12\0\7\7\1\51\1\7\1\175\1\202\4\7\1\177"+
"\1\200\2\7\1\201\1\7\1\202\3\7\1\117\3\7"+
"\1\177\1\7\1\203\7\7\1\0\6\7\12\0\7\7"+
"\1\51\17\7\1\377\17\7\1\0\6\7\12\0\7\7"+
"\1\51\1\u0166\36\7\1\0\6\7\12\0\7\7\1\51"+
"\10\7\2\340\11\7\1\340\13\7\1\0\6\7\12\0"+
"\7\7\1\51\5\7\1\u0167\31\7\1\0\6\7\12\0"+
"\7\7\1\51\13\7\1\u0168\23\7\1\0\6\7\12\0"+
"\7\7\1\51\3\7\1\275\33\7\1\0\6\7\12\0"+
"\7\7\1\51\1\7\1\u0117\2\7\1\340\3\7\2\340"+
"\1\7\1\u0166\7\7\1\340\13\7\1\0\6\7\12\0"+
"\7\7\1\51\10\7\1\340\26\7\1\0\6\7\12\0"+
"\7\7\1\51\6\7\1\u0169\12\7\1\u016a\1\u0111\5\7"+
"\1\u016b\6\7\1\0\6\7\12\0\7\7\1\51\15\7"+
"\1\u016c\21\7\1\0\6\7\12\0\7\7\1\51\1\7"+
"\1\u0117\1\7\1\u0117\33\7\1\0\6\7\12\0\7\7"+
"\1\51\30\7\1\u016d\6\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\1\u015a\1\u016e\1\u0166\1\7\1\u016f\1\u0170"+
"\1\u0171\1\7\1\u0172\1\7\1\u0173\1\u0166\4\7\1\u0174"+
"\1\7\1\u0175\11\7\1\0\6\7\12\0\7\7\1\51"+
"\10\7\2\340\25\7\1\0\6\7\12\0\7\7\1\51"+
"\30\7\1\340\6\7\1\0\6\7\12\0\7\7\1\51"+
"\27\7\1\340\7\7\1\0\6\7\12\0\7\7\1\51"+
"\1\7\1\u0176\35\7\1\0\6\7\12\0\7\7\1\51"+
"\10\7\2\340\11\7\1\340\1\u0177\12\7\1\0\6\7"+
"\12\0\7\7\1\51\13\7\1\u0178\23\7\1\0\6\7"+
"\12\0\7\7\1\51\1\7\1\u0179\35\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\304\33\7\1\0\6\7"+
"\12\0\7\7\1\51\26\7\1\367\10\7\1\0\6\7"+
"\12\0\7\7\1\51\14\7\1\u017a\22\7\1\0\6\7"+
"\12\0\7\7\1\51\14\7\1\u017b\2\7\1\u017c\17\7"+
"\1\0\6\7\12\0\7\7\1\51\1\7\1\u017d\35\7"+
"\1\0\6\7\12\0\7\7\1\51\6\7\1\u017e\30\7"+
"\1\0\6\7\12\0\7\7\1\51\1\7\1\260\1\7"+
"\1\260\33\7\1\0\6\7\12\0\7\7\1\51\14\7"+
"\1\u017f\22\7\1\0\6\7\12\0\7\7\1\51\7\7"+
"\1\u0144\27\7\1\0\6\7\12\0\7\7\1\51\3\7"+
"\1\u0144\33\7\1\0\6\7\12\0\7\7\1\51\5\7"+
"\1\u0180\31\7\1\0\6\7\12\0\7\7\1\51\13\7"+
"\1\u0181\23\7\1\0\6\7\12\0\7\7\1\51\13\7"+
"\1\340\23\7\1\0\6\7\12\0\7\7\1\51\1\367"+
"\36\7\1\0\6\7\12\0\7\7\1\51\3\7\1\340"+
"\2\7\1\340\30\7\1\0\6\7\12\0\7\7\1\51"+
"\3\7\1\u0120\1\340\3\7\2\340\25\7\1\0\6\7"+
"\12\0\7\7\1\51\2\7\1\u0182\34\7\1\0\6\7"+
"\12\0\7\7\1\51\4\7\1\u0183\32\7\1\0\6\7"+
"\12\0\7\7\1\51\17\7\1\u0184\17\7\1\0\6\7"+
"\12\0\7\7\1\51\17\7\1\356\17\7\1\0\6\7"+
"\12\0\7\7\1\51\21\7\1\304\15\7\1\0\6\7"+
"\12\0\7\7\1\51\24\7\1\356\12\7\1\0\6\7"+
"\12\0\7\7\1\51\10\7\1\u0185\26\7\1\0\6\7"+
"\12\0\7\7\1\51\4\7\1\340\3\7\2\340\25\7"+
"\1\0\6\7\12\0\7\7\1\51\6\7\1\340\1\7"+
"\1\u0186\26\7\1\0\6\7\12\0\7\7\1\51\17\7"+
"\1\367\17\7\1\0\6\7\12\0\7\7\1\51\7\7"+
"\1\u0187\27\7\1\0\6\7\12\0\7\7\1\51\14\7"+
"\1\u0188\22\7\1\0\6\7\12\0\7\7\1\51\15\7"+
"\1\333\21\7\1\0\6\7\12\0\7\7\1\51\11\7"+
"\1\340\2\7\1\340\22\7\1\0\6\7\12\0\7\7"+
"\1\51\14\7\1\u0189\22\7\1\0\6\7\64\0\1\u018a"+
"\15\0\7\7\1\51\22\7\1\u0131\14\7\1\0\6\7"+
"\12\0\7\7\1\51\16\7\1\u018b\20\7\1\0\6\7"+
"\12\0\7\7\1\51\21\7\1\u018c\15\7\1\0\6\7"+
"\12\0\7\7\1\51\24\7\1\u018d\12\7\1\0\6\7"+
"\12\0\7\7\1\51\17\7\1\u018e\17\7\1\0\6\7"+
"\12\0\7\7\1\51\5\7\1\u018f\31\7\1\0\6\7"+
"\12\0\7\7\1\51\7\7\1\u0190\27\7\1\0\6\7"+
"\12\0\7\7\1\51\24\7\1\u0191\12\7\1\0\6\7"+
"\12\0\6\7\1\340\1\51\37\7\1\0\6\7\12\0"+
"\7\7\1\51\1\u0192\3\7\1\u0192\1\7\1\u0193\1\7"+
"\2\u0192\10\7\1\u0192\14\7\1\0\6\7\12\0\7\7"+
"\1\51\10\7\1\201\26\7\1\0\6\7\12\0\7\7"+
"\1\51\1\340\5\7\1\u0192\1\7\2\340\2\7\1\u013a"+
"\22\7\1\0\6\7\12\0\7\7\1\51\11\7\1\340"+
"\25\7\1\0\6\7\12\0\7\7\1\51\13\7\1\u0194"+
"\23\7\1\0\6\7\12\0\7\7\1\51\2\7\1\u0195"+
"\34\7\1\0\6\7\12\0\7\7\1\51\1\340\5\7"+
"\1\u0192\1\7\2\340\25\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\1\u0196\33\7\1\0\6\7\12\0\6\7"+
"\1\u0192\1\51\1\u0192\3\7\1\u0192\1\7\1\u0192\1\7"+
"\2\u0192\12\7\1\u0192\12\7\1\0\6\7\12\0\7\7"+
"\1\51\13\7\1\u0197\13\7\1\u0197\1\7\1\203\5\7"+
"\1\0\6\7\12\0\7\7\1\51\22\7\1\u0198\14\7"+
"\1\0\6\7\12\0\7\7\1\51\7\7\1\u0199\27\7"+
"\1\0\6\7\12\0\6\7\1\u019a\1\51\37\7\1\0"+
"\6\7\12\0\7\7\1\51\32\7\1\340\4\7\1\0"+
"\6\7\12\0\7\7\1\51\1\7\1\u019b\35\7\1\0"+
"\6\7\12\0\7\7\1\51\4\7\1\u019c\32\7\1\0"+
"\6\7\12\0\7\7\1\51\2\7\1\340\34\7\1\0"+
"\6\7\12\0\7\7\1\51\2\7\1\u0144\34\7\1\0"+
"\6\7\12\0\7\7\1\51\1\7\1\u019d\35\7\1\0"+
"\6\7\12\0\7\7\1\51\23\7\1\u019e\13\7\1\0"+
"\6\7\12\0\7\7\1\51\21\7\1\u019f\5\7\1\u01a0"+
"\7\7\1\0\6\7\12\0\7\7\1\51\16\7\1\u01a1"+
"\20\7\1\0\6\7\12\0\7\7\1\51\4\7\1\u0137"+
"\32\7\1\0\6\7\12\0\7\7\1\51\10\7\2\340"+
"\3\7\1\340\5\7\1\340\13\7\1\0\6\7\12\0"+
"\7\7\1\51\3\7\1\u0150\1\340\3\7\2\340\4\7"+
"\1\u01a2\4\7\1\340\13\7\1\0\6\7\12\0\7\7"+
"\1\51\1\u01a3\36\7\1\0\6\7\12\0\7\7\1\51"+
"\3\7\1\u01a4\12\7\1\u01a5\20\7\1\0\6\7\12\0"+
"\7\7\1\51\3\7\1\u0150\1\340\3\7\2\340\1\7"+
"\1\340\2\7\1\u01a2\20\7\1\0\6\7\12\0\7\7"+
"\1\51\4\7\1\340\4\7\1\340\25\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\u0137\12\7\1\u01a6\20\7"+
"\1\0\6\7\12\0\7\7\1\51\6\7\1\u01a7\30\7"+
"\1\0\6\7\12\0\7\7\1\51\7\7\1\u01a8\27\7"+
"\1\0\6\7\12\0\7\7\1\51\10\7\1\u0137\5\7"+
"\1\u01a9\6\7\1\u01aa\11\7\1\0\6\7\12\0\7\7"+
"\1\51\21\7\1\u01ab\15\7\1\0\6\7\12\0\7\7"+
"\1\51\2\7\1\u01ac\34\7\1\0\6\7\12\0\7\7"+
"\1\51\14\7\1\u0137\22\7\1\0\6\7\12\0\7\7"+
"\1\51\14\7\1\u01ad\22\7\1\0\6\7\12\0\7\7"+
"\1\51\2\7\1\u01ae\34\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\2\340\1\7\1\340\1\7\2\340\11\7"+
"\1\340\13\7\1\0\6\7\12\0\7\7\1\51\10\7"+
"\2\364\11\7\1\364\13\7\1\0\6\7\12\0\7\7"+
"\1\51\31\7\1\u01af\5\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\1\u0117\33\7\1\0\6\7\12\0\7\7"+
"\1\51\3\7\1\u01b0\2\7\1\u01b1\1\7\1\u01b2\26\7"+
"\1\0\6\7\12\0\7\7\1\51\3\7\1\u01b3\2\7"+
"\1\u01b4\1\7\1\u01b5\12\7\1\u01b5\13\7\1\0\6\7"+
"\12\0\7\7\1\51\1\7\1\u01b6\1\7\1\u01b7\33\7"+
"\1\0\6\7\12\0\7\7\1\51\2\7\1\201\34\7"+
"\1\0\6\7\12\0\7\7\1\51\27\7\1\260\7\7"+
"\1\0\6\7\12\0\7\7\1\51\2\7\1\u0109\34\7"+
"\1\0\6\7\12\0\7\7\1\51\5\7\1\u01b8\31\7"+
"\1\0\6\7\12\0\7\7\1\51\21\7\1\233\15\7"+
"\1\0\6\7\12\0\7\7\1\51\1\7\1\u0117\35\7"+
"\1\0\6\7\12\0\7\7\1\51\1\7\1\u01b9\35\7"+
"\1\0\6\7\12\0\7\7\1\51\6\7\1\u0102\30\7"+
"\1\0\6\7\12\0\7\7\1\51\21\7\1\u01ba\15\7"+
"\1\0\6\7\12\0\7\7\1\51\13\7\1\u01ba\23\7"+
"\1\0\6\7\12\0\7\7\1\51\21\7\1\u01bb\15\7"+
"\1\0\6\7\12\0\7\7\1\51\30\7\1\u01bc\6\7"+
"\1\0\6\7\12\0\7\7\1\51\7\7\1\u01bd\27\7"+
"\1\0\6\7\12\0\7\7\1\51\10\7\2\u01be\11\7"+
"\1\u01be\13\7\1\0\6\7\12\0\7\7\1\51\3\7"+
"\1\u01bf\33\7\1\0\6\7\12\0\7\7\1\51\1\7"+
"\1\u0117\21\7\1\u01be\1\7\1\u01c0\11\7\1\0\6\7"+
"\12\0\7\7\1\51\10\7\1\u01be\12\7\1\u01be\13\7"+
"\1\0\6\7\12\0\7\7\1\51\17\7\1\u01c1\17\7"+
"\1\0\6\7\12\0\7\7\1\51\16\7\1\340\20\7"+
"\1\0\6\7\12\0\7\7\1\51\10\7\1\340\4\7"+
"\1\u01c2\21\7\1\0\6\7\12\0\7\7\1\51\1\7"+
"\1\u0117\4\7\1\u01c3\1\7\1\u01c0\26\7\1\0\6\7"+
"\12\0\7\7\1\51\13\7\1\201\5\7\1\117\15\7"+
"\1\0\6\7\12\0\7\7\1\51\21\7\1\367\15\7"+
"\1\0\6\7\12\0\7\7\1\51\24\7\1\122\12\7"+
"\1\0\6\7\12\0\7\7\1\51\1\7\1\u01c4\35\7"+
"\1\0\6\7\12\0\7\7\1\51\5\7\1\u01c5\31\7"+
"\1\0\6\7\12\0\7\7\1\51\15\7\1\u01c6\21\7"+
"\1\0\6\7\12\0\7\7\1\51\14\7\1\u01bc\22\7"+
"\1\0\6\7\12\0\7\7\1\51\10\7\1\u01c7\26\7"+
"\1\0\6\7\12\0\7\7\1\51\2\7\1\u01c8\34\7"+
"\1\0\6\7\12\0\7\7\1\51\17\7\1\u010f\17\7"+
"\1\0\6\7\12\0\7\7\1\51\17\7\1\u01c9\17\7"+
"\1\0\6\7\12\0\7\7\1\51\6\7\1\377\30\7"+
"\1\0\6\7\12\0\7\7\1\51\30\7\1\u01ca\6\7"+
"\1\0\6\7\12\0\7\7\1\51\3\7\1\u01cb\33\7"+
"\1\0\6\7\12\0\7\7\1\51\4\7\1\340\3\7"+
"\2\340\11\7\1\340\12\7\1\117\1\0\6\7\12\0"+
"\7\7\1\51\1\7\1\u0104\35\7\1\0\6\7\12\0"+
"\7\7\1\51\1\7\1\u01cc\35\7\1\0\6\7\12\0"+
"\7\7\1\51\15\7\1\u01cd\21\7\1\0\6\7\12\0"+
"\7\7\1\51\15\7\1\u01ce\21\7\1\0\6\7\65\0"+
"\1\u01cf\14\0\7\7\1\51\22\7\1\u01d0\14\7\1\0"+
"\6\7\12\0\7\7\1\51\5\7\1\330\31\7\1\0"+
"\6\7\12\0\7\7\1\51\21\7\1\u01d1\15\7\1\0"+
"\6\7\12\0\7\7\1\51\15\7\1\u01d2\21\7\1\0"+
"\6\7\12\0\7\7\1\51\2\7\1\233\34\7\1\0"+
"\6\7\12\0\7\7\1\51\2\7\1\202\5\7\1\260"+
"\2\7\1\u01d3\2\7\1\u0131\2\7\1\117\3\7\1\177"+
"\11\7\1\0\6\7\12\0\7\7\1\51\1\7\1\u0192"+
"\35\7\1\0\6\7\12\0\7\7\1\51\24\7\1\340"+
"\12\7\1\0\6\7\12\0\7\7\1\51\15\7\1\260"+
"\21\7\1\0\6\7\12\0\7\7\1\51\17\7\1\275"+
"\17\7\1\0\6\7\12\0\7\7\1\51\31\7\1\340"+
"\5\7\1\0\6\7\12\0\7\7\1\51\13\7\1\233"+
"\23\7\1\0\6\7\12\0\7\7\1\51\1\7\1\u0192"+
"\20\7\1\u0192\14\7\1\0\6\7\12\0\7\7\1\51"+
"\1\7\1\u0141\35\7\1\0\6\7\12\0\7\7\1\51"+
"\21\7\1\117\5\7\1\203\7\7\1\0\6\7\12\0"+
"\7\7\1\51\22\7\1\u01d4\14\7\1\0\6\7\12\0"+
"\7\7\1\51\14\7\1\233\5\7\1\u01d5\14\7\1\0"+
"\6\7\12\0\7\7\1\51\23\7\1\u0120\13\7\1\0"+
"\6\7\12\0\7\7\1\51\17\7\1\u0120\17\7\1\0"+
"\6\7\12\0\7\7\1\51\10\7\1\u01d6\26\7\1\0"+
"\6\7\12\0\7\7\1\51\3\7\1\u0150\33\7\1\0"+
"\6\7\12\0\7\7\1\51\4\7\1\340\1\7\1\340"+
"\1\7\1\u01d7\1\340\13\7\1\u0137\11\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\u01d8\33\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\u01d9\33\7\1\0\6\7"+
"\12\0\7\7\1\51\4\7\1\340\32\7\1\0\6\7"+
"\12\0\7\7\1\51\11\7\1\374\25\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\u01da\33\7\1\0\6\7"+
"\12\0\7\7\1\51\10\7\1\117\26\7\1\0\6\7"+
"\12\0\7\7\1\51\11\7\1\340\2\7\1\u0137\1\7"+
"\1\u0137\20\7\1\0\6\7\12\0\7\7\1\51\17\7"+
"\1\u01db\17\7\1\0\6\7\12\0\7\7\1\51\30\7"+
"\1\u01dc\6\7\1\0\6\7\12\0\7\7\1\51\6\7"+
"\1\340\2\7\1\340\11\7\1\340\13\7\1\0\6\7"+
"\12\0\7\7\1\51\25\7\1\u01dd\11\7\1\0\6\7"+
"\12\0\7\7\1\51\4\7\1\340\16\7\1\340\13\7"+
"\1\0\6\7\12\0\7\7\1\51\31\7\1\u01de\5\7"+
"\1\0\6\7\12\0\7\7\1\51\31\7\1\u01df\5\7"+
"\1\0\6\7\12\0\7\7\1\51\31\7\1\u0166\5\7"+
"\1\0\6\7\12\0\7\7\1\51\31\7\1\u01e0\5\7"+
"\1\0\6\7\12\0\7\7\1\51\31\7\1\u01e1\5\7"+
"\1\0\6\7\12\0\7\7\1\51\31\7\1\u015d\5\7"+
"\1\0\6\7\12\0\7\7\1\51\3\7\1\u01e2\2\7"+
"\1\u01e2\30\7\1\0\6\7\12\0\7\7\1\51\3\7"+
"\1\u01e3\2\7\1\u01e3\30\7\1\0\6\7\12\0\7\7"+
"\1\51\10\7\1\374\26\7\1\0\6\7\12\0\7\7"+
"\1\51\10\7\1\340\12\7\1\340\13\7\1\0\6\7"+
"\12\0\7\7\1\51\2\7\1\u01e4\34\7\1\0\6\7"+
"\12\0\7\7\1\51\20\7\1\u01e5\16\7\1\0\6\7"+
"\12\0\7\7\1\51\15\7\1\u01e6\21\7\1\0\6\7"+
"\12\0\7\7\1\51\3\7\1\u0133\22\7\1\u0133\10\7"+
"\1\0\6\7\12\0\7\7\1\51\30\7\1\u0166\6\7"+
"\1\0\6\7\12\0\7\7\1\51\1\7\1\260\35\7"+
"\1\0\6\7\12\0\7\7\1\51\1\7\1\u0117\13\7"+
"\1\340\4\7\1\u01b9\1\340\1\7\1\122\11\7\1\0"+
"\6\7\12\0\7\7\1\51\26\7\1\u0133\10\7\1\0"+
"\6\7\12\0\7\7\1\51\5\7\1\340\10\7\1\340"+
"\20\7\1\0\6\7\12\0\7\7\1\51\21\7\1\u017c"+
"\15\7\1\0\6\7\12\0\7\7\1\51\7\7\1\u01e7"+
"\27\7\1\0\6\7\12\0\7\7\1\51\1\u01bc\36\7"+
"\1\0\6\7\12\0\7\7\1\51\22\7\1\u01e8\14\7"+
"\1\0\6\7\12\0\7\7\1\51\17\7\1\u01e9\17\7"+
"\1\0\6\7\12\0\7\7\1\51\5\7\1\u01bc\31\7"+
"\1\0\6\7\12\0\7\7\1\51\10\7\1\u0166\14\7"+
"\1\u0166\11\7\1\0\6\7\12\0\7\7\1\51\3\7"+
"\1\u01bc\33\7\1\0\6\7\12\0\7\7\1\51\21\7"+
"\1\u01ea\15\7\1\0\6\7\12\0\7\7\1\51\5\7"+
"\1\u01eb\31\7\1\0\6\7\12\0\7\7\1\51\16\7"+
"\1\u01ec\20\7\1\0\6\7\66\0\1\u01ed\13\0\7\7"+
"\1\51\14\7\1\201\22\7\1\0\6\7\12\0\7\7"+
"\1\51\34\7\1\u01ee\2\7\1\0\6\7\12\0\7\7"+
"\1\51\14\7\1\u01d1\22\7\1\0\6\7\12\0\7\7"+
"\1\51\16\7\1\340\2\7\1\340\15\7\1\0\6\7"+
"\12\0\7\7\1\51\17\7\1\u0141\11\7\1\233\5\7"+
"\1\0\6\7\12\0\7\7\1\51\17\7\1\u0141\17\7"+
"\1\0\6\7\12\0\7\7\1\51\23\7\1\u01ef\13\7"+
"\1\0\6\7\12\0\7\7\1\51\10\7\1\u0137\1\u01a6"+
"\25\7\1\0\6\7\12\0\7\7\1\51\11\7\1\u01a6"+
"\25\7\1\0\6\7\12\0\7\7\1\51\30\7\1\u01a6"+
"\6\7\1\0\6\7\12\0\7\7\1\51\2\7\1\u01f0"+
"\34\7\1\0\6\7\12\0\7\7\1\51\10\7\1\u01f1"+
"\14\7\1\u01f1\11\7\1\0\6\7\12\0\7\7\1\51"+
"\27\7\1\u01f2\7\7\1\0\6\7\12\0\7\7\1\51"+
"\1\7\1\u01f3\35\7\1\0\6\7\12\0\7\7\1\51"+
"\1\7\1\u01f4\35\7\1\0\6\7\12\0\7\7\1\51"+
"\3\7\1\u01f5\33\7\1\0\6\7\12\0\7\7\1\51"+
"\3\7\1\u01f6\33\7\1\0\6\7\12\0\7\7\1\51"+
"\31\7\1\152\5\7\1\0\6\7\12\0\7\7\1\51"+
"\31\7\1\u01f7\5\7\1\0\6\7\12\0\7\7\1\51"+
"\10\7\1\u01f8\26\7\1\0\6\7\12\0\7\7\1\51"+
"\27\7\1\u01f9\7\7\1\0\6\7\12\0\7\7\1\51"+
"\24\7\1\u01fa\12\7\1\0\6\7\12\0\7\7\1\51"+
"\21\7\1\u01bc\15\7\1\0\6\7\12\0\7\7\1\51"+
"\17\7\1\u01bc\17\7\1\0\6\7\12\0\6\7\1\u01e8"+
"\1\51\37\7\1\0\6\7\12\0\7\7\1\51\23\7"+
"\1\u01a6\13\7\1\0\6\7\12\0\7\7\1\51\6\7"+
"\1\u01fb\30\7\1\0\6\7\12\0\7\7\1\51\1\7"+
"\1\u01fc\35\7\1\0\6\7\67\0\1\u01fd\12\0\7\7"+
"\1\51\35\7\1\340\1\7\1\0\6\7\12\0\7\7"+
"\1\51\6\7\1\117\30\7\1\0\6\7\12\0\7\7"+
"\1\51\25\7\1\u01fe\11\7\1\0\6\7\12\0\7\7"+
"\1\51\4\7\1\u0137\3\7\1\117\1\374\11\7\1\u01ef"+
"\13\7\1\0\6\7\12\0\7\7\1\51\4\7\1\340"+
"\3\7\2\340\11\7\1\340\7\7\1\u01a6\3\7\1\0"+
"\6\7\12\0\7\7\1\51\6\7\1\340\1\7\1\340"+
"\26\7\1\0\6\7\12\0\7\7\1\51\3\7\1\340"+
"\4\7\1\340\26\7\1\0\6\7\12\0\7\7\1\51"+
"\6\7\1\340\1\7\1\340\12\7\1\340\13\7\1\0"+
"\6\7\12\0\7\7\1\51\3\7\1\340\4\7\1\340"+
"\12\7\1\340\13\7\1\0\6\7\12\0\7\7\1\51"+
"\3\7\1\u01b9\33\7\1\0\6\7\12\0\7\7\1\51"+
"\5\7\1\77\31\7\1\0\6\7\12\0\7\7\1\51"+
"\21\7\1\u01ff\15\7\1\0\6\7\12\0\7\7\1\51"+
"\15\7\1\u0200\5\7\1\340\13\7\1\0\6\7\12\0"+
"\7\7\1\51\2\7\1\u0201\34\7\1\0\6\7\12\0"+
"\7\7\1\51\1\7\1\u011d\35\7\1\0\6\7\12\0"+
"\7\7\1\51\13\7\1\u0202\3\7\1\u0203\17\7\1\0"+
"\6\7\12\0\7\7\1\51\13\7\1\u0204\23\7\1\0"+
"\6\7\12\0\7\7\1\51\5\7\1\u0205\31\7\1\0"+
"\6\7\12\0\7\7\1\51\17\7\1\u0206\17\7\1\0"+
"\6\7\12\0\4\7\1\340\2\7\1\51\31\7\2\340"+
"\4\7\1\0\6\7\12\0\7\7\1\51\5\7\1\u0207"+
"\31\7\1\0\6\7\12\0\7\7\1\51\3\7\1\u0208"+
"\33\7\1\0\6\7\12\0\7\7\1\51\5\7\1\340"+
"\31\7\1\0\6\7\12\0\7\7\1\51\3\7\1\u0209"+
"\33\7\1\0\6\7\12\0\7\7\1\51\17\7\1\u01a6"+
"\17\7\1\0\6\7\12\0\7\7\1\51\3\7\1\u020a"+
"\33\7\1\0\6\7\12\0\7\7\1\51\22\7\1\77"+
"\14\7\1\0\6\7\4\0";
private static int [] zzUnpackTrans() {
int [] result = new int[28000];
int offset = 0;
offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
return result;
}
private static int zzUnpackTrans(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
value--;
do result[j++] = value; while (--count > 0);
}
return j;
}
/* error codes */
private static final int ZZ_UNKNOWN_ERROR = 0;
private static final int ZZ_NO_MATCH = 1;
private static final int ZZ_PUSHBACK_2BIG = 2;
private static final char[] EMPTY_BUFFER = new char[0];
private static final int YYEOF = -1;
private static Reader zzReader; // Fake
/* error messages for the codes above */
private static final String ZZ_ERROR_MSG[] = {
"Unkown internal scanner error",
"Error: could not match input",
"Error: pushback value was too large"
};
/**
* ZZ_ATTRIBUTE[aState] contains the attributes of state aState
*/
private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
private static final String ZZ_ATTRIBUTE_PACKED_0 =
"\1\0\1\11\1\1\1\11\6\1\1\11\26\1\4\11"+
"\1\1\1\0\2\11\1\0\161\1\1\0\214\1\1\0"+
"\140\1\1\0\104\1\1\0\35\1\1\0\17\1\1\11"+
"\15\1";
private static int [] zzUnpackAttribute() {
int [] result = new int[522];
int offset = 0;
offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
return result;
}
private static int zzUnpackAttribute(String packed, int offset, int [] result) {
int i = 0; /* index in packed string */
int j = offset; /* index in unpacked array */
int l = packed.length();
while (i < l) {
int count = packed.charAt(i++);
int value = packed.charAt(i++);
do result[j++] = value; while (--count > 0);
}
return j;
}
/** the current state of the DFA */
private int zzState;
/** the current lexical state */
private int zzLexicalState = YYINITIAL;
/** this buffer contains the current text to be matched and is
the source of the yytext() string */
private CharSequence zzBuffer = "";
/** this buffer may contains the current text array to be matched when it is cheap to acquire it */
private char[] zzBufferArray;
/** the textposition at the last accepting state */
private int zzMarkedPos;
/** the textposition at the last state to be included in yytext */
private int zzPushbackPos;
/** the current text position in the buffer */
private int zzCurrentPos;
/** startRead marks the beginning of the yytext() string in the buffer */
private int zzStartRead;
/** endRead marks the last character in the buffer, that has been read
from input */
private int zzEndRead;
/**
* zzAtBOL == true <=> the scanner is currently at the beginning of a line
*/
private boolean zzAtBOL = true;
/** zzAtEOF == true <=> the scanner is at the EOF */
private boolean zzAtEOF;
/* user code: */
public _AsmIntelLexer() {
this(null);
}
/**
* Creates a new scanner
*
* @param in the java.io.Reader to read input from.
*/
public _AsmIntelLexer(Reader in) {
zzReader = in;
}
/**
* Unpacks the compressed character translation table.
*
* @param packed the packed character translation table
* @return the unpacked character translation table
*/
private static char [] zzUnpackCMap(String packed) {
char [] map = new char[0x10000];
int i = 0; /* index in packed string */
int j = 0; /* index in unpacked array */
while (i < 1734) {
int count = packed.charAt(i++);
char value = packed.charAt(i++);
do map[j++] = value; while (--count > 0);
}
return map;
}
@Override
public final int getTokenStart(){
return zzStartRead;
}
@Override
public final int getTokenEnd(){
return getTokenStart() + yylength();
}
@Override
public void reset(CharSequence buffer, int start, int end, int initialState){
zzBuffer = buffer;
zzBufferArray = CharArrayUtil.fromSequenceWithoutCopying(buffer);
zzCurrentPos = zzMarkedPos = zzStartRead = start;
zzPushbackPos = 0;
zzAtEOF = false;
zzAtBOL = true;
zzEndRead = end;
yybegin(initialState);
}
/**
* Refills the input buffer.
*
* @return false, iff there was new input.
*
* @exception IOException if any I/O-Error occurs
*/
private boolean zzRefill() throws IOException {
return true;
}
/**
* Returns the current lexical state.
*/
@Override
public final int yystate() {
return zzLexicalState;
}
/**
* Enters a new lexical state
*
* @param newState the new lexical state
*/
@Override
public final void yybegin(int newState) {
zzLexicalState = newState;
}
/**
* Returns the text matched by the current regular expression.
*/
public final CharSequence yytext() {
return zzBuffer.subSequence(zzStartRead, zzMarkedPos);
}
/**
* Returns the character at position pos from the
* matched text.
*
* It is equivalent to yytext().charAt(pos), but faster
*
* @param pos the position of the character to fetch.
* A value from 0 to yylength()-1.
*
* @return the character at position pos
*/
public final char yycharat(int pos) {
return zzBufferArray != null ? zzBufferArray[zzStartRead+pos]:zzBuffer.charAt(zzStartRead+pos);
}
/**
* Returns the length of the matched text region.
*/
public final int yylength() {
return zzMarkedPos-zzStartRead;
}
/**
* Reports an error that occured while scanning.
*
* In a wellformed scanner (no or only correct usage of
* yypushback(int) and a match-all fallback rule) this method
* will only be called with things that "Can't Possibly Happen".
* If this method is called, something is seriously wrong
* (e.g. a JFlex bug producing a faulty scanner etc.).
*
* Usual syntax/scanner level error handling should be done
* in error fallback rules.
*
* @param errorCode the code of the errormessage to display
*/
private void zzScanError(int errorCode) {
String message;
try {
message = ZZ_ERROR_MSG[errorCode];
}
catch (ArrayIndexOutOfBoundsException e) {
message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
}
throw new Error(message);
}
/**
* Pushes the specified amount of characters back into the input stream.
*
* They will be read again by then next call of the scanning method
*
* @param number the number of characters to be read again.
* This number must not be greater than yylength()!
*/
public void yypushback(int number) {
if ( number > yylength() )
zzScanError(ZZ_PUSHBACK_2BIG);
zzMarkedPos -= number;
}
/**
* Resumes scanning until the next regular expression is matched,
* the end of input is encountered or an I/O-Error occurs.
*
* @return the next token
* @exception IOException if any I/O-Error occurs
*/
@Override
public IElementType advance() throws IOException {
int zzInput;
int zzAction;
// cached fields:
int zzCurrentPosL;
int zzMarkedPosL;
int zzEndReadL = zzEndRead;
CharSequence zzBufferL = zzBuffer;
char[] zzBufferArrayL = zzBufferArray;
char [] zzCMapL = ZZ_CMAP;
int [] zzTransL = ZZ_TRANS;
int [] zzRowMapL = ZZ_ROWMAP;
int [] zzAttrL = ZZ_ATTRIBUTE;
while (true) {
zzMarkedPosL = zzMarkedPos;
zzAction = -1;
zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
zzState = ZZ_LEXSTATE[zzLexicalState];
zzForAction: {
while (true) {
if (zzCurrentPosL < zzEndReadL)
zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++);
else if (zzAtEOF) {
zzInput = YYEOF;
break zzForAction;
}
else {
// store back cached positions
zzCurrentPos = zzCurrentPosL;
zzMarkedPos = zzMarkedPosL;
boolean eof = zzRefill();
// get translated positions and possibly new buffer
zzCurrentPosL = zzCurrentPos;
zzMarkedPosL = zzMarkedPos;
zzBufferL = zzBuffer;
zzEndReadL = zzEndRead;
if (eof) {
zzInput = YYEOF;
break zzForAction;
}
else {
zzInput = zzBufferArrayL != null ? zzBufferArrayL[zzCurrentPosL++] : zzBufferL.charAt(zzCurrentPosL++);
}
}
int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
if (zzNext == -1) break zzForAction;
zzState = zzNext;
int zzAttributes = zzAttrL[zzState];
if ( (zzAttributes & 1) == 1 ) {
zzAction = zzState;
zzMarkedPosL = zzCurrentPosL;
if ( (zzAttributes & 8) == 8 ) break zzForAction;
}
}
}
// store back cached position
zzMarkedPos = zzMarkedPosL;
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
case 17:
return FLAG;
case 19: break;
case 8:
return COMMA;
case 20: break;
case 4:
return INT;
case 21: break;
case 10:
return LINE_COMMENT;
case 22: break;
case 3:
return IDENTIFIER;
case 23: break;
case 12:
return LABEL;
case 24: break;
case 1:
return TokenType.BAD_CHARACTER;
case 25: break;
case 14:
return HEX;
case 26: break;
case 2:
return TokenType.WHITE_SPACE;
case 27: break;
case 5:
return COLON;
case 28: break;
case 6:
return LPAREN;
case 29: break;
case 7:
return RPAREN;
case 30: break;
case 16:
return TEXT;
case 31: break;
case 11:
return STRING;
case 32: break;
case 9:
return BIT_OR;
case 33: break;
case 18:
return IMPORT;
case 34: break;
case 15:
return INSTRUCTION;
case 35: break;
case 13:
return PSEUDO_REG;
case 36: break;
default:
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
zzAtEOF = true;
return null;
}
else {
zzScanError(ZZ_NO_MATCH);
}
}
}
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/parser/AsmIntelParser.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.parser;
import com.intellij.lang.PsiBuilder;
import com.intellij.lang.PsiBuilder.Marker;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import static com.intellij.lang.parser.GeneratedParserUtilBase.*;
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;
@SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"})
public class AsmIntelParser implements PsiParser, LightPsiParser {
public ASTNode parse(IElementType t, PsiBuilder b) {
parseLight(t, b);
return b.getTreeBuilt();
}
public void parseLight(IElementType t, PsiBuilder b) {
boolean r;
b = adapt_builder_(t, b, this, null);
Marker m = enter_section_(b, 0, _COLLAPSE_, null);
if (t == FRAME_SIZE) {
r = FrameSize(b, 0);
}
else if (t == FUNCTION) {
r = Function(b, 0);
}
else if (t == FUNCTION_BODY) {
r = FunctionBody(b, 0);
}
else if (t == FUNCTION_FLAGS) {
r = FunctionFlags(b, 0);
}
else if (t == FUNCTION_HEADER) {
r = FunctionHeader(b, 0);
}
else if (t == INSTRUCTION_STMT) {
r = InstructionStmt(b, 0);
}
else if (t == LITERAL) {
r = Literal(b, 0);
}
else if (t == OPERANDS) {
r = Operands(b, 0);
}
else if (t == PREPROCESSOR_DIRECTIVE) {
r = PreprocessorDirective(b, 0);
}
else if (t == STATEMENT) {
r = Statement(b, 0);
}
else {
r = parse_root_(t, b, 0);
}
exit_section_(b, 0, m, t, r, true, TRUE_CONDITION);
}
protected boolean parse_root_(IElementType t, PsiBuilder b, int l) {
return File(b, l + 1);
}
/* ********************************************************** */
// Statement*
static boolean File(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "File")) return false;
int c = current_position_(b);
while (true) {
if (!Statement(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "File", c)) break;
c = current_position_(b);
}
return true;
}
/* ********************************************************** */
// '$' Literal ['-' Literal]
public static boolean FrameSize(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FrameSize")) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, FRAME_SIZE, "");
r = consumeToken(b, "$");
r = r && Literal(b, l + 1);
r = r && FrameSize_2(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// ['-' Literal]
private static boolean FrameSize_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FrameSize_2")) return false;
FrameSize_2_0(b, l + 1);
return true;
}
// '-' Literal
private static boolean FrameSize_2_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FrameSize_2_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, "-");
r = r && Literal(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// FunctionHeader FunctionBody
public static boolean Function(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Function")) return false;
if (!nextTokenIs(b, TEXT)) return false;
boolean r;
Marker m = enter_section_(b);
r = FunctionHeader(b, l + 1);
r = r && FunctionBody(b, l + 1);
exit_section_(b, m, FUNCTION, r);
return r;
}
/* ********************************************************** */
// ( InstructionStmt | LABEL )*
public static boolean FunctionBody(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionBody")) return false;
Marker m = enter_section_(b, l, _NONE_, FUNCTION_BODY, "");
int c = current_position_(b);
while (true) {
if (!FunctionBody_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "FunctionBody", c)) break;
c = current_position_(b);
}
exit_section_(b, l, m, true, false, null);
return true;
}
// InstructionStmt | LABEL
private static boolean FunctionBody_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionBody_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = InstructionStmt(b, l + 1);
if (!r) r = consumeToken(b, LABEL);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// FLAG | '(' FLAG ( '|' FLAG )* ')'
public static boolean FunctionFlags(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionFlags")) return false;
if (!nextTokenIs(b, "", LPAREN, FLAG)) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, FUNCTION_FLAGS, "");
r = consumeToken(b, FLAG);
if (!r) r = FunctionFlags_1(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
// '(' FLAG ( '|' FLAG )* ')'
private static boolean FunctionFlags_1(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionFlags_1")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, LPAREN);
r = r && consumeToken(b, FLAG);
r = r && FunctionFlags_1_2(b, l + 1);
r = r && consumeToken(b, RPAREN);
exit_section_(b, m, null, r);
return r;
}
// ( '|' FLAG )*
private static boolean FunctionFlags_1_2(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionFlags_1_2")) return false;
int c = current_position_(b);
while (true) {
if (!FunctionFlags_1_2_0(b, l + 1)) break;
if (!empty_element_parsed_guard_(b, "FunctionFlags_1_2", c)) break;
c = current_position_(b);
}
return true;
}
// '|' FLAG
private static boolean FunctionFlags_1_2_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionFlags_1_2_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, BIT_OR);
r = r && consumeToken(b, FLAG);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// TEXT identifier '(' PSEUDO_REG ')' ',' FunctionFlags [',' FrameSize]
public static boolean FunctionHeader(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionHeader")) return false;
if (!nextTokenIs(b, TEXT)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeTokens(b, 0, TEXT, IDENTIFIER);
r = r && consumeToken(b, LPAREN);
r = r && consumeToken(b, PSEUDO_REG);
r = r && consumeToken(b, RPAREN);
r = r && consumeToken(b, COMMA);
r = r && FunctionFlags(b, l + 1);
r = r && FunctionHeader_7(b, l + 1);
exit_section_(b, m, FUNCTION_HEADER, r);
return r;
}
// [',' FrameSize]
private static boolean FunctionHeader_7(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionHeader_7")) return false;
FunctionHeader_7_0(b, l + 1);
return true;
}
// ',' FrameSize
private static boolean FunctionHeader_7_0(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "FunctionHeader_7_0")) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, COMMA);
r = r && FrameSize(b, l + 1);
exit_section_(b, m, null, r);
return r;
}
/* ********************************************************** */
// INSTRUCTION Operands
public static boolean InstructionStmt(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "InstructionStmt")) return false;
if (!nextTokenIs(b, INSTRUCTION)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeToken(b, INSTRUCTION);
r = r && Operands(b, l + 1);
exit_section_(b, m, INSTRUCTION_STMT, r);
return r;
}
/* ********************************************************** */
// int | hex
public static boolean Literal(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Literal")) return false;
if (!nextTokenIs(b, "", HEX, INT)) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, LITERAL, "");
r = consumeToken(b, INT);
if (!r) r = consumeToken(b, HEX);
exit_section_(b, l, m, r, false, null);
return r;
}
/* ********************************************************** */
public static boolean Operands(PsiBuilder b, int l) {
Marker m = enter_section_(b);
exit_section_(b, m, OPERANDS, true);
return true;
}
/* ********************************************************** */
// import STRING
public static boolean PreprocessorDirective(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "PreprocessorDirective")) return false;
if (!nextTokenIs(b, IMPORT)) return false;
boolean r;
Marker m = enter_section_(b);
r = consumeTokens(b, 0, IMPORT, STRING);
exit_section_(b, m, PREPROCESSOR_DIRECTIVE, r);
return r;
}
/* ********************************************************** */
// PreprocessorDirective | Function
public static boolean Statement(PsiBuilder b, int l) {
if (!recursion_guard_(b, l, "Statement")) return false;
if (!nextTokenIs(b, "", TEXT, IMPORT)) return false;
boolean r;
Marker m = enter_section_(b, l, _NONE_, STATEMENT, "");
r = PreprocessorDirective(b, l + 1);
if (!r) r = Function(b, l + 1);
exit_section_(b, l, m, r, false, null);
return r;
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelFrameSize.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelFrameSize extends PsiElement {
@NotNull
List getLiteralList();
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelFunction.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelFunction extends PsiElement {
@NotNull
AsmIntelFunctionBody getFunctionBody();
@NotNull
AsmIntelFunctionHeader getFunctionHeader();
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelFunctionBody.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelFunctionBody extends PsiElement {
@NotNull
List getInstructionStmtList();
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelFunctionFlags.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelFunctionFlags extends PsiElement {
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelFunctionHeader.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelFunctionHeader extends PsiElement {
@Nullable
AsmIntelFrameSize getFrameSize();
@NotNull
AsmIntelFunctionFlags getFunctionFlags();
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelInstructionStmt.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelInstructionStmt extends PsiElement {
@NotNull
AsmIntelOperands getOperands();
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelLiteral.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelLiteral extends PsiElement {
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelOperands.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelOperands extends PsiElement {
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelPreprocessorDirective.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelPreprocessorDirective extends PsiElement {
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelStatement.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface AsmIntelStatement extends PsiElement {
@Nullable
AsmIntelFunction getFunction();
@Nullable
AsmIntelPreprocessorDirective getPreprocessorDirective();
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelTypes.java
================================================
/*
* Copyright 2013-2016 Sergey Ignatov, Alexander Zolotov, Florin Patan
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.PsiElement;
import com.intellij.lang.ASTNode;
import com.plan9.intel.lang.core.lexer.AsmIntelTokenType;
import com.plan9.intel.lang.core.psi.impl.*;
public interface AsmIntelTypes {
IElementType FRAME_SIZE = new AsmIntelElementType("FRAME_SIZE");
IElementType FUNCTION = new AsmIntelElementType("FUNCTION");
IElementType FUNCTION_BODY = new AsmIntelElementType("FUNCTION_BODY");
IElementType FUNCTION_FLAGS = new AsmIntelElementType("FUNCTION_FLAGS");
IElementType FUNCTION_HEADER = new AsmIntelElementType("FUNCTION_HEADER");
IElementType INSTRUCTION_STMT = new AsmIntelElementType("INSTRUCTION_STMT");
IElementType LITERAL = new AsmIntelElementType("LITERAL");
IElementType OPERANDS = new AsmIntelElementType("OPERANDS");
IElementType PREPROCESSOR_DIRECTIVE = new AsmIntelElementType("PREPROCESSOR_DIRECTIVE");
IElementType STATEMENT = new AsmIntelElementType("STATEMENT");
IElementType BIT_OR = new AsmIntelTokenType("|");
IElementType COLON = new AsmIntelTokenType(":");
IElementType COMMA = new AsmIntelTokenType(",");
IElementType FLAG = new AsmIntelTokenType("FLAG");
IElementType HEX = new AsmIntelTokenType("hex");
IElementType IDENTIFIER = new AsmIntelTokenType("identifier");
IElementType IMPORT = new AsmIntelTokenType("import");
IElementType INSTRUCTION = new AsmIntelTokenType("INSTRUCTION");
IElementType INT = new AsmIntelTokenType("int");
IElementType LABEL = new AsmIntelTokenType("LABEL");
IElementType LPAREN = new AsmIntelTokenType("(");
IElementType PSEUDO_REG = new AsmIntelTokenType("PSEUDO_REG");
IElementType RPAREN = new AsmIntelTokenType(")");
IElementType STRING = new AsmIntelTokenType("STRING");
IElementType TEXT = new AsmIntelTokenType("TEXT");
class Factory {
public static PsiElement createElement(ASTNode node) {
IElementType type = node.getElementType();
if (type == FRAME_SIZE) {
return new AsmIntelFrameSizeImpl(node);
}
else if (type == FUNCTION) {
return new AsmIntelFunctionImpl(node);
}
else if (type == FUNCTION_BODY) {
return new AsmIntelFunctionBodyImpl(node);
}
else if (type == FUNCTION_FLAGS) {
return new AsmIntelFunctionFlagsImpl(node);
}
else if (type == FUNCTION_HEADER) {
return new AsmIntelFunctionHeaderImpl(node);
}
else if (type == INSTRUCTION_STMT) {
return new AsmIntelInstructionStmtImpl(node);
}
else if (type == LITERAL) {
return new AsmIntelLiteralImpl(node);
}
else if (type == OPERANDS) {
return new AsmIntelOperandsImpl(node);
}
else if (type == PREPROCESSOR_DIRECTIVE) {
return new AsmIntelPreprocessorDirectiveImpl(node);
}
else if (type == STATEMENT) {
return new AsmIntelStatementImpl(node);
}
throw new AssertionError("Unknown element type: " + type);
}
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/AsmIntelVisitor.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.PsiElement;
public class AsmIntelVisitor extends PsiElementVisitor {
public void visitFrameSize(@NotNull AsmIntelFrameSize o) {
visitPsiElement(o);
}
public void visitFunction(@NotNull AsmIntelFunction o) {
visitPsiElement(o);
}
public void visitFunctionBody(@NotNull AsmIntelFunctionBody o) {
visitPsiElement(o);
}
public void visitFunctionFlags(@NotNull AsmIntelFunctionFlags o) {
visitPsiElement(o);
}
public void visitFunctionHeader(@NotNull AsmIntelFunctionHeader o) {
visitPsiElement(o);
}
public void visitInstructionStmt(@NotNull AsmIntelInstructionStmt o) {
visitPsiElement(o);
}
public void visitLiteral(@NotNull AsmIntelLiteral o) {
visitPsiElement(o);
}
public void visitOperands(@NotNull AsmIntelOperands o) {
visitPsiElement(o);
}
public void visitPreprocessorDirective(@NotNull AsmIntelPreprocessorDirective o) {
visitPsiElement(o);
}
public void visitStatement(@NotNull AsmIntelStatement o) {
visitPsiElement(o);
}
public void visitPsiElement(@NotNull PsiElement o) {
visitElement(o);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelFrameSizeImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelFrameSizeImpl extends AsmIntelElementImpl implements AsmIntelFrameSize {
public AsmIntelFrameSizeImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitFrameSize(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getLiteralList() {
return PsiTreeUtil.getChildrenOfTypeAsList(this, AsmIntelLiteral.class);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelFunctionBodyImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelFunctionBodyImpl extends AsmIntelElementImpl implements AsmIntelFunctionBody {
public AsmIntelFunctionBodyImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitFunctionBody(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List getInstructionStmtList() {
return PsiTreeUtil.getChildrenOfTypeAsList(this, AsmIntelInstructionStmt.class);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelFunctionFlagsImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelFunctionFlagsImpl extends AsmIntelElementImpl implements AsmIntelFunctionFlags {
public AsmIntelFunctionFlagsImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitFunctionFlags(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelFunctionHeaderImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelFunctionHeaderImpl extends AsmIntelElementImpl implements AsmIntelFunctionHeader {
public AsmIntelFunctionHeaderImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitFunctionHeader(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public AsmIntelFrameSize getFrameSize() {
return findChildByClass(AsmIntelFrameSize.class);
}
@Override
@NotNull
public AsmIntelFunctionFlags getFunctionFlags() {
return findNotNullChildByClass(AsmIntelFunctionFlags.class);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelFunctionImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelFunctionImpl extends AsmIntelElementImpl implements AsmIntelFunction {
public AsmIntelFunctionImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitFunction(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public AsmIntelFunctionBody getFunctionBody() {
return findNotNullChildByClass(AsmIntelFunctionBody.class);
}
@Override
@NotNull
public AsmIntelFunctionHeader getFunctionHeader() {
return findNotNullChildByClass(AsmIntelFunctionHeader.class);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelInstructionStmtImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelInstructionStmtImpl extends AsmIntelElementImpl implements AsmIntelInstructionStmt {
public AsmIntelInstructionStmtImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitInstructionStmt(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public AsmIntelOperands getOperands() {
return findNotNullChildByClass(AsmIntelOperands.class);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelLiteralImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelLiteralImpl extends AsmIntelElementImpl implements AsmIntelLiteral {
public AsmIntelLiteralImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitLiteral(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelOperandsImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelOperandsImpl extends AsmIntelElementImpl implements AsmIntelOperands {
public AsmIntelOperandsImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitOperands(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelPreprocessorDirectiveImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelPreprocessorDirectiveImpl extends AsmIntelElementImpl implements AsmIntelPreprocessorDirective {
public AsmIntelPreprocessorDirectiveImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitPreprocessorDirective(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
}
================================================
FILE: plan9/gen/com/plan9/intel/lang/core/psi/impl/AsmIntelStatementImpl.java
================================================
// This is a generated file. Not intended for manual editing.
package com.plan9.intel.lang.core.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static com.plan9.intel.lang.core.psi.AsmIntelTypes.*;
import com.plan9.intel.lang.core.psi.*;
public class AsmIntelStatementImpl extends AsmIntelElementImpl implements AsmIntelStatement {
public AsmIntelStatementImpl(ASTNode node) {
super(node);
}
public void accept(@NotNull AsmIntelVisitor visitor) {
visitor.visitStatement(this);
}
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof AsmIntelVisitor) accept((AsmIntelVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public AsmIntelFunction getFunction() {
return findChildByClass(AsmIntelFunction.class);
}
@Override
@Nullable
public AsmIntelPreprocessorDirective getPreprocessorDirective() {
return findChildByClass(AsmIntelPreprocessorDirective.class);
}
}
================================================
FILE: plan9/resources/colorscheme/AsmIntelDarcula.xml
================================================