com.incapture.rapgen.TTreeDotNet Maven / Gradle / Ivy
// $ANTLR 3.5.2 /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g 2016-03-01 15:23:00
package com.incapture.rapgen;
import java.util.Collection;
import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.HashSet;
import com.incapture.rapgen.annotations.*;
import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import org.antlr.stringtemplate.*;
import org.antlr.stringtemplate.language.*;
import java.util.HashMap;
@SuppressWarnings("all")
public class TTreeDotNet extends AbstractTTreeDotNet {
public static final String[] tokenNames = new String[] {
"", "", "", "", "ADDRESSABLE", "API", "AT", "BANG",
"BEAN", "BOOLTYPE", "BYTEARRAYTYPE", "CACHEABLE", "CLOSESQUARE", "COLUMN",
"COMMA", "COMMENT", "CRUDTYPED", "DATA", "DATETYPE", "DEPRECATED", "DOC",
"DOT", "DOUBLETYPE", "DYNENT", "ENTITLE", "EQUAL", "EXTENDS", "FALSE",
"G_THAN", "ID", "INCLUDE", "INDEXED", "INT", "INTTYPE", "LBRAC", "LISTTYPE",
"LONGCTYPE", "LONGTYPE", "LPAREN", "L_THAN", "MAPTYPE", "MINUS", "NEW",
"OBJECTTYPE", "OPENSQUARE", "PACKAGE", "PACKAGENAME", "PRIVATE", "PUBLIC",
"RBRAC", "REGULARENTITLE", "RPAREN", "SCHEME", "SDKNAME", "SEMI", "SETTYPE",
"SQUOTE", "STORABLE", "STORAGE_PATH", "STREAMING", "STRING", "STRINGTYPE",
"TRUE", "TYPED", "VOIDTYPE", "WS", "APIENTRY", "APISEC", "CLASSTYPE",
"COMPLEX", "CRUDINFO", "CRUDINFOENTRY", "CRUDPACKAGEANNOTATION", "CRUDTYPEDEF",
"ENTITLEASPECT", "ENUM", "EXPR", "FIELD_CONSTRUCTOR", "FNNAME", "INDEX_COMPONENT",
"INDEX_NAME", "INNERA", "INNERC", "INNERT", "MAIN", "MEMBER", "MEMBERS",
"MINVERSIONDEF", "NAME", "PARAM", "PARAMS", "PRIVATEVIS", "PUBLICVIS",
"RAW", "RETTYPE", "SCRIPT", "SDKDEF", "STATEMENT", "STORABLE_ENCODING",
"STORABLE_PREFIX", "STORABLE_REPO_NAME", "STORABLE_SEPARATOR", "STORABLE_TTL_DAYS",
"STORAGE_PATH_ADDER", "STREAMINGASPECT", "TYPE", "TYPEASPECT", "TYPEDEF",
"TYPEFIELDS", "TYPEMEMBER", "VERSIONDEF", "VISIBILITY", "112", "113",
"114", "115", "116", "117", "118", "119", "120", "121", "122", "123",
"124", "125", "126", "127", "128", "129", "130", "131", "132", "133",
"134", "135", "136", "137", "138", "139"
};
public static final int EOF=-1;
public static final int ADDRESSABLE=4;
public static final int API=5;
public static final int AT=6;
public static final int BANG=7;
public static final int BEAN=8;
public static final int BOOLTYPE=9;
public static final int BYTEARRAYTYPE=10;
public static final int CACHEABLE=11;
public static final int CLOSESQUARE=12;
public static final int COLUMN=13;
public static final int COMMA=14;
public static final int COMMENT=15;
public static final int CRUDTYPED=16;
public static final int DATA=17;
public static final int DATETYPE=18;
public static final int DEPRECATED=19;
public static final int DOC=20;
public static final int DOT=21;
public static final int DOUBLETYPE=22;
public static final int DYNENT=23;
public static final int ENTITLE=24;
public static final int EQUAL=25;
public static final int EXTENDS=26;
public static final int FALSE=27;
public static final int G_THAN=28;
public static final int ID=29;
public static final int INCLUDE=30;
public static final int INDEXED=31;
public static final int INT=32;
public static final int INTTYPE=33;
public static final int LBRAC=34;
public static final int LISTTYPE=35;
public static final int LONGCTYPE=36;
public static final int LONGTYPE=37;
public static final int LPAREN=38;
public static final int L_THAN=39;
public static final int MAPTYPE=40;
public static final int MINUS=41;
public static final int NEW=42;
public static final int OBJECTTYPE=43;
public static final int OPENSQUARE=44;
public static final int PACKAGE=45;
public static final int PACKAGENAME=46;
public static final int PRIVATE=47;
public static final int PUBLIC=48;
public static final int RBRAC=49;
public static final int REGULARENTITLE=50;
public static final int RPAREN=51;
public static final int SCHEME=52;
public static final int SDKNAME=53;
public static final int SEMI=54;
public static final int SETTYPE=55;
public static final int SQUOTE=56;
public static final int STORABLE=57;
public static final int STORAGE_PATH=58;
public static final int STREAMING=59;
public static final int STRING=60;
public static final int STRINGTYPE=61;
public static final int TRUE=62;
public static final int TYPED=63;
public static final int VOIDTYPE=64;
public static final int WS=65;
public static final int APIENTRY=66;
public static final int APISEC=67;
public static final int CLASSTYPE=68;
public static final int COMPLEX=69;
public static final int CRUDINFO=70;
public static final int CRUDINFOENTRY=71;
public static final int CRUDPACKAGEANNOTATION=72;
public static final int CRUDTYPEDEF=73;
public static final int ENTITLEASPECT=74;
public static final int ENUM=75;
public static final int EXPR=76;
public static final int FIELD_CONSTRUCTOR=77;
public static final int FNNAME=78;
public static final int INDEX_COMPONENT=79;
public static final int INDEX_NAME=80;
public static final int INNERA=81;
public static final int INNERC=82;
public static final int INNERT=83;
public static final int MAIN=84;
public static final int MEMBER=85;
public static final int MEMBERS=86;
public static final int MINVERSIONDEF=87;
public static final int NAME=88;
public static final int PARAM=89;
public static final int PARAMS=90;
public static final int PRIVATEVIS=91;
public static final int PUBLICVIS=92;
public static final int RAW=93;
public static final int RETTYPE=94;
public static final int SCRIPT=95;
public static final int SDKDEF=96;
public static final int STATEMENT=97;
public static final int STORABLE_ENCODING=98;
public static final int STORABLE_PREFIX=99;
public static final int STORABLE_REPO_NAME=100;
public static final int STORABLE_SEPARATOR=101;
public static final int STORABLE_TTL_DAYS=102;
public static final int STORAGE_PATH_ADDER=103;
public static final int STREAMINGASPECT=104;
public static final int TYPE=105;
public static final int TYPEASPECT=106;
public static final int TYPEDEF=107;
public static final int TYPEFIELDS=108;
public static final int TYPEMEMBER=109;
public static final int VERSIONDEF=110;
public static final int VISIBILITY=111;
// delegates
public TTreeDotNet_TTreeShared gTTreeShared;
public AbstractTTreeDotNet[] getDelegates() {
return new AbstractTTreeDotNet[] {gTTreeShared};
}
// delegators
public TTreeDotNet(TreeNodeStream input) {
this(input, new RecognizerSharedState());
}
public TTreeDotNet(TreeNodeStream input, RecognizerSharedState state) {
super(input, state);
gTTreeShared = new TTreeDotNet_TTreeShared(input, state, this);
}
protected StringTemplateGroup templateLib =
new StringTemplateGroup("TTreeDotNetTemplates", AngleBracketTemplateLexer.class);
public void setTemplateLib(StringTemplateGroup templateLib) {
this.templateLib = templateLib;
}
public StringTemplateGroup getTemplateLib() {
return templateLib;
}
/** allows convenient multi-value initialization:
* "new STAttrMap().put(...).put(...)"
*/
@SuppressWarnings("serial")
public static class STAttrMap extends HashMap {
public STAttrMap put(String attrName, Object value) {
super.put(attrName, value);
return this;
}
}
@Override public String[] getTokenNames() { return TTreeDotNet.tokenNames; }
@Override public String getGrammarFileName() { return "/Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g"; }
boolean isSdkExpected = false;
String sdkName;
public static class innerExpr_return extends TreeRuleReturnScope {
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "innerExpr"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:30:1: innerExpr : ( ^( INNERT typeExpr ) | ^( INNERC crudTypeExpr ) | ^( INNERA a= apiExpr ) );
public final TTreeDotNet.innerExpr_return innerExpr() throws RecognitionException {
TTreeDotNet.innerExpr_return retval = new TTreeDotNet.innerExpr_return();
retval.start = input.LT(1);
TreeRuleReturnScope a =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:30:11: ( ^( INNERT typeExpr ) | ^( INNERC crudTypeExpr ) | ^( INNERA a= apiExpr ) )
int alt1=3;
switch ( input.LA(1) ) {
case INNERT:
{
alt1=1;
}
break;
case INNERC:
{
alt1=2;
}
break;
case INNERA:
{
alt1=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:30:13: ^( INNERT typeExpr )
{
match(input,INNERT,FOLLOW_INNERT_in_innerExpr96);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_typeExpr_in_innerExpr98);
typeExpr();
state._fsp--;
match(input, Token.UP, null);
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:31:15: ^( INNERC crudTypeExpr )
{
match(input,INNERC,FOLLOW_INNERC_in_innerExpr116);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_crudTypeExpr_in_innerExpr118);
crudTypeExpr();
state._fsp--;
match(input, Token.UP, null);
System.out.println("CRUD TYPE EXPR");
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:32:15: ^( INNERA a= apiExpr )
{
match(input,INNERA,FOLLOW_INNERA_in_innerExpr139);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_apiExpr_in_innerExpr143);
a=apiExpr();
state._fsp--;
hmxdef_stack.peek().ents.add((a!=null?((TTreeDotNet.apiExpr_return)a).entList:null)); hmxdef_stack.peek().kEntries.add((a!=null?((TTreeDotNet.apiExpr_return)a).kEntry:null)); hmxdef_stack.peek().kSetups.add((a!=null?((TTreeDotNet.apiExpr_return)a).kSetup:null));
match(input, Token.UP, null);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "innerExpr"
public static class sdkGen_return extends TreeRuleReturnScope {
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "sdkGen"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:36:1: sdkGen : hmxdef ;
public final TTreeDotNet.sdkGen_return sdkGen() throws RecognitionException {
TTreeDotNet.sdkGen_return retval = new TTreeDotNet.sdkGen_return();
retval.start = input.LT(1);
isSdkExpected = true;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:40:5: ( hmxdef )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:40:7: hmxdef
{
pushFollow(FOLLOW_hmxdef_in_sdkGen169);
hmxdef();
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "sdkGen"
public static class apiGen_return extends TreeRuleReturnScope {
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "apiGen"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:43:1: apiGen : hmxdef ;
public final TTreeDotNet.apiGen_return apiGen() throws RecognitionException {
TTreeDotNet.apiGen_return retval = new TTreeDotNet.apiGen_return();
retval.start = input.LT(1);
isSdkExpected = false;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:47:5: ( hmxdef )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:47:7: hmxdef
{
pushFollow(FOLLOW_hmxdef_in_apiGen191);
hmxdef();
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "apiGen"
protected static class hmxdef_scope {
List ents;
List kEntries;
List kSetups;
}
protected Stack hmxdef_stack = new Stack();
public static class hmxdef_return extends TreeRuleReturnScope {
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "hmxdef"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:50:1: hmxdef : ^( MAIN ( sdkExpr )? versionExpr minVerExpr ( innerExpr )* ) ;
public final TTreeDotNet.hmxdef_return hmxdef() throws RecognitionException {
hmxdef_stack.push(new hmxdef_scope());
TTreeDotNet.hmxdef_return retval = new TTreeDotNet.hmxdef_return();
retval.start = input.LT(1);
TreeRuleReturnScope sdkExpr1 =null;
TreeRuleReturnScope versionExpr2 =null;
TreeRuleReturnScope minVerExpr3 =null;
sdkName = null;
hmxdef_stack.peek().ents = new ArrayList();
hmxdef_stack.peek().kEntries = new ArrayList();
hmxdef_stack.peek().kSetups = new ArrayList();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:62:5: ( ^( MAIN ( sdkExpr )? versionExpr minVerExpr ( innerExpr )* ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:62:7: ^( MAIN ( sdkExpr )? versionExpr minVerExpr ( innerExpr )* )
{
match(input,MAIN,FOLLOW_MAIN_in_hmxdef223);
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:62:14: ( sdkExpr )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==SDKDEF) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:62:15: sdkExpr
{
pushFollow(FOLLOW_sdkExpr_in_hmxdef226);
sdkExpr1=sdkExpr();
state._fsp--;
sdkName = (sdkExpr1!=null?((TTreeDotNet.sdkExpr_return)sdkExpr1).name:null);
}
break;
}
if (isSdkExpected && sdkName == null) {
throw new IllegalArgumentException("Error: SDK Name is required for this grammar");
}
else if (!isSdkExpected && sdkName != null) {
throw new IllegalArgumentException("Error: SDK Name is not expected in this grammar, but found: " + sdkName);
}
pushFollow(FOLLOW_versionExpr_in_hmxdef250);
versionExpr2=versionExpr();
state._fsp--;
pushFollow(FOLLOW_minVerExpr_in_hmxdef252);
minVerExpr3=minVerExpr();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:71:32: ( innerExpr )*
loop3:
while (true) {
int alt3=2;
int LA3_0 = input.LA(1);
if ( ((LA3_0 >= INNERA && LA3_0 <= INNERT)) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:71:32: innerExpr
{
pushFollow(FOLLOW_innerExpr_in_hmxdef254);
innerExpr();
state._fsp--;
}
break;
default :
break loop3;
}
}
match(input, Token.UP, null);
processHmxdef(sdkName, hmxdef_stack.peek().ents, hmxdef_stack.peek().kEntries, hmxdef_stack.peek().kSetups, (versionExpr2!=null?((TTreeDotNet_TTreeShared.versionExpr_return)versionExpr2).major:0), (versionExpr2!=null?((TTreeDotNet_TTreeShared.versionExpr_return)versionExpr2).minor:0), (versionExpr2!=null?((TTreeDotNet_TTreeShared.versionExpr_return)versionExpr2).micro:0), (minVerExpr3!=null?((TTreeDotNet_TTreeShared.minVerExpr_return)minVerExpr3).major:0), (minVerExpr3!=null?((TTreeDotNet_TTreeShared.minVerExpr_return)minVerExpr3).minor:0), (minVerExpr3!=null?((TTreeDotNet_TTreeShared.minVerExpr_return)minVerExpr3).micro:0));
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
hmxdef_stack.pop();
}
return retval;
}
// $ANTLR end "hmxdef"
public static class sdkExpr_return extends TreeRuleReturnScope {
public String name;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "sdkExpr"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:75:1: sdkExpr returns [String name] : ^( SDKDEF ID ) ;
public final TTreeDotNet.sdkExpr_return sdkExpr() throws RecognitionException {
TTreeDotNet.sdkExpr_return retval = new TTreeDotNet.sdkExpr_return();
retval.start = input.LT(1);
CommonTree ID4=null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:75:30: ( ^( SDKDEF ID ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:75:32: ^( SDKDEF ID )
{
match(input,SDKDEF,FOLLOW_SDKDEF_in_sdkExpr279);
match(input, Token.DOWN, null);
ID4=(CommonTree)match(input,ID,FOLLOW_ID_in_sdkExpr281);
match(input, Token.UP, null);
retval.name = (ID4!=null?ID4.getText():null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "sdkExpr"
protected static class crudTypeExpr_scope {
String crudTypeName;
BeanAnnotation bean;
AddressableAnnotation addressable;
StorableAnnotation storable;
ExtendsAnnotation extend;
DeprecatedAnnotation deprecated;
}
protected Stack crudTypeExpr_stack = new Stack();
public static class crudTypeExpr_return extends TreeRuleReturnScope {
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "crudTypeExpr"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:77:1: crudTypeExpr : ^( CRUDTYPEDEF doc= DOC ( addressableAnnotation | storableAnnotation | extendsAnnotation | deprecatedAnnotation | beanAnnotation )* ( crudPackageAnnotation )? name= ID crudTypeInfo typeFields ) ;
public final TTreeDotNet.crudTypeExpr_return crudTypeExpr() throws RecognitionException {
crudTypeExpr_stack.push(new crudTypeExpr_scope());
TTreeDotNet.crudTypeExpr_return retval = new TTreeDotNet.crudTypeExpr_return();
retval.start = input.LT(1);
CommonTree doc=null;
CommonTree name=null;
TreeRuleReturnScope addressableAnnotation5 =null;
TreeRuleReturnScope storableAnnotation6 =null;
TreeRuleReturnScope extendsAnnotation7 =null;
TreeRuleReturnScope deprecatedAnnotation8 =null;
TreeRuleReturnScope beanAnnotation9 =null;
TreeRuleReturnScope crudPackageAnnotation10 =null;
TreeRuleReturnScope typeFields11 =null;
TreeRuleReturnScope crudTypeInfo12 =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:84:7: ( ^( CRUDTYPEDEF doc= DOC ( addressableAnnotation | storableAnnotation | extendsAnnotation | deprecatedAnnotation | beanAnnotation )* ( crudPackageAnnotation )? name= ID crudTypeInfo typeFields ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:85:5: ^( CRUDTYPEDEF doc= DOC ( addressableAnnotation | storableAnnotation | extendsAnnotation | deprecatedAnnotation | beanAnnotation )* ( crudPackageAnnotation )? name= ID crudTypeInfo typeFields )
{
match(input,CRUDTYPEDEF,FOLLOW_CRUDTYPEDEF_in_crudTypeExpr301);
match(input, Token.DOWN, null);
doc=(CommonTree)match(input,DOC,FOLLOW_DOC_in_crudTypeExpr305);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:86:9: ( addressableAnnotation | storableAnnotation | extendsAnnotation | deprecatedAnnotation | beanAnnotation )*
loop4:
while (true) {
int alt4=6;
switch ( input.LA(1) ) {
case ADDRESSABLE:
{
alt4=1;
}
break;
case STORABLE:
{
alt4=2;
}
break;
case EXTENDS:
{
alt4=3;
}
break;
case DEPRECATED:
{
alt4=4;
}
break;
case BEAN:
{
alt4=5;
}
break;
}
switch (alt4) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:87:13: addressableAnnotation
{
pushFollow(FOLLOW_addressableAnnotation_in_crudTypeExpr329);
addressableAnnotation5=addressableAnnotation();
state._fsp--;
crudTypeExpr_stack.peek().addressable = (addressableAnnotation5!=null?((TTreeDotNet_TTreeShared.addressableAnnotation_return)addressableAnnotation5).result:null);
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:90:13: storableAnnotation
{
pushFollow(FOLLOW_storableAnnotation_in_crudTypeExpr345);
storableAnnotation6=storableAnnotation();
state._fsp--;
crudTypeExpr_stack.peek().storable = (storableAnnotation6!=null?((TTreeDotNet_TTreeShared.storableAnnotation_return)storableAnnotation6).result:null);
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:93:13: extendsAnnotation
{
pushFollow(FOLLOW_extendsAnnotation_in_crudTypeExpr361);
extendsAnnotation7=extendsAnnotation();
state._fsp--;
crudTypeExpr_stack.peek().extend = (extendsAnnotation7!=null?((TTreeDotNet_TTreeShared.extendsAnnotation_return)extendsAnnotation7).result:null);
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:96:13: deprecatedAnnotation
{
pushFollow(FOLLOW_deprecatedAnnotation_in_crudTypeExpr377);
deprecatedAnnotation8=deprecatedAnnotation();
state._fsp--;
crudTypeExpr_stack.peek().deprecated = (deprecatedAnnotation8!=null?((TTreeDotNet_TTreeShared.deprecatedAnnotation_return)deprecatedAnnotation8).result:null);
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:99:13: beanAnnotation
{
pushFollow(FOLLOW_beanAnnotation_in_crudTypeExpr393);
beanAnnotation9=beanAnnotation();
state._fsp--;
crudTypeExpr_stack.peek().bean = (beanAnnotation9!=null?((TTreeDotNet_TTreeShared.beanAnnotation_return)beanAnnotation9).result:null);
}
break;
default :
break loop4;
}
}
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:103:9: ( crudPackageAnnotation )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==CRUDPACKAGEANNOTATION) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:103:9: crudPackageAnnotation
{
pushFollow(FOLLOW_crudPackageAnnotation_in_crudTypeExpr416);
crudPackageAnnotation10=crudPackageAnnotation();
state._fsp--;
}
break;
}
name=(CommonTree)match(input,ID,FOLLOW_ID_in_crudTypeExpr421);
crudTypeExpr_stack.peek().crudTypeName = (name!=null?name.getText():null);
pushFollow(FOLLOW_crudTypeInfo_in_crudTypeExpr425);
crudTypeInfo12=crudTypeInfo();
state._fsp--;
pushFollow(FOLLOW_typeFields_in_crudTypeExpr427);
typeFields11=typeFields();
state._fsp--;
match(input, Token.UP, null);
// We need to generate
// (1) A bean document for this type
// (2) A special API subsection for this type (with get, put, delete, getChildren type calls) (so that should be registerd in the same way as an API)
// (3) The implementation for this API in the Kernel code (special for this crud type)
// (4) Potentially a nice client set of classes to make it easier to interact with this type
String packageToUse = (crudPackageAnnotation10!=null?((TTreeDotNet.crudPackageAnnotation_return)crudPackageAnnotation10).pkg:null) == null ? "rapture.common" : (crudPackageAnnotation10!=null?((TTreeDotNet.crudPackageAnnotation_return)crudPackageAnnotation10).pkg:null);
addTypeImport((name!=null?name.getText():null), packageToUse);
StringTemplate debugMeth = getDebugMethod((typeFields11!=null?((TTreeDotNet.typeFields_return)typeFields11).fieldNameToType:null).keySet());
Collection importList = ImporterRegistry.getImportList((typeFields11!=null?((TTreeDotNet.typeFields_return)typeFields11).fieldNameToType:null).values());
StringTemplate beanClass = templateLib.getInstanceOf("beanClass",new STAttrMap().put("name", (name!=null?name.getText():null)).put("fields", (typeFields11!=null?((TTreeDotNet.typeFields_return)typeFields11).beans:null)).put("adders", (crudTypeInfo12!=null?((TTreeDotNet.crudTypeInfo_return)crudTypeInfo12).storageAdders:null)).put("package", packageToUse).put("debugMethod", debugMeth).put("storable", crudTypeExpr_stack.peek().storable).put("importList", importList));
String packagePath = packageToUse.replaceAll("\\.", "/");
String apiFullPath = "Generated/crud/" + (name!=null?name.getText():null) + ".cs";
addApiTemplate(apiFullPath, "1", beanClass);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
crudTypeExpr_stack.pop();
}
return retval;
}
// $ANTLR end "crudTypeExpr"
public static class crudTypeInfo_return extends TreeRuleReturnScope {
public List storageAdders;
public List builderAdders;
public List builderEntries;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "crudTypeInfo"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:123:1: crudTypeInfo returns [List storageAdders, List builderAdders, List builderEntries] : ^( CRUDINFO ( crudDirective )* ) ;
public final TTreeDotNet.crudTypeInfo_return crudTypeInfo() throws RecognitionException {
TTreeDotNet.crudTypeInfo_return retval = new TTreeDotNet.crudTypeInfo_return();
retval.start = input.LT(1);
TreeRuleReturnScope crudDirective13 =null;
retval.storageAdders = new ArrayList(); retval.builderAdders = new ArrayList(); retval.builderEntries = new ArrayList();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:125:5: ( ^( CRUDINFO ( crudDirective )* ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:125:7: ^( CRUDINFO ( crudDirective )* )
{
match(input,CRUDINFO,FOLLOW_CRUDINFO_in_crudTypeInfo456);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:125:18: ( crudDirective )*
loop6:
while (true) {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==CRUDINFOENTRY) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:125:19: crudDirective
{
pushFollow(FOLLOW_crudDirective_in_crudTypeInfo459);
crudDirective13=crudDirective();
state._fsp--;
retval.storageAdders.add((crudDirective13!=null?((TTreeDotNet.crudDirective_return)crudDirective13).storageAdder:null));
retval.builderAdders.add((crudDirective13!=null?((TTreeDotNet.crudDirective_return)crudDirective13).storageBuilder:null));
retval.builderEntries.add((crudDirective13!=null?((TTreeDotNet.crudDirective_return)crudDirective13).builderAdder:null));
}
break;
default :
break loop6;
}
}
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "crudTypeInfo"
public static class crudDirective_return extends TreeRuleReturnScope {
public StringTemplate storageAdder;
public StringTemplate storageBuilder;
public StringTemplate builderAdder;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "crudDirective"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:130:1: crudDirective returns [StringTemplate storageAdder, StringTemplate storageBuilder, StringTemplate builderAdder] : ^( CRUDINFOENTRY n= ID ) ;
public final TTreeDotNet.crudDirective_return crudDirective() throws RecognitionException {
TTreeDotNet.crudDirective_return retval = new TTreeDotNet.crudDirective_return();
retval.start = input.LT(1);
CommonTree n=null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:130:113: ( ^( CRUDINFOENTRY n= ID ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:130:115: ^( CRUDINFOENTRY n= ID )
{
match(input,CRUDINFOENTRY,FOLLOW_CRUDINFOENTRY_in_crudDirective477);
match(input, Token.DOWN, null);
n=(CommonTree)match(input,ID,FOLLOW_ID_in_crudDirective481);
match(input, Token.UP, null);
retval.storageAdder = templateLib.getInstanceOf("storageAdder",new STAttrMap().put("name", (n!=null?n.getText():null)));
retval.storageBuilder = templateLib.getInstanceOf("builderEntry",new STAttrMap().put("fieldName", (n!=null?n.getText():null)).put("name", crudTypeExpr_stack.peek().crudTypeName).put("fieldType", "String"));
retval.builderAdder = templateLib.getInstanceOf("builderAdder",new STAttrMap().put("name", (n!=null?n.getText():null)).put("separator", "\"/\""));
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "crudDirective"
protected static class typeExpr_scope {
BeanAnnotation bean;
AddressableAnnotation addressable;
StorableAnnotation storable;
ExtendsAnnotation extend;
DeprecatedAnnotation deprecated;
IndexedAnnotation indexed;
CacheableAnnotation cacheable;
}
protected Stack typeExpr_stack = new Stack();
public static class typeExpr_return extends TreeRuleReturnScope {
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "typeExpr"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:136:1: typeExpr : ^( TYPEDEF doc= DOC ( addressableAnnotation | storableAnnotation | extendsAnnotation | deprecatedAnnotation | indexedAnnotation | beanAnnotation | cacheableAnnotation )* name= ID typeAspect typeFields ) ;
public final TTreeDotNet.typeExpr_return typeExpr() throws RecognitionException {
typeExpr_stack.push(new typeExpr_scope());
TTreeDotNet.typeExpr_return retval = new TTreeDotNet.typeExpr_return();
retval.start = input.LT(1);
CommonTree doc=null;
CommonTree name=null;
TreeRuleReturnScope addressableAnnotation14 =null;
TreeRuleReturnScope storableAnnotation15 =null;
TreeRuleReturnScope extendsAnnotation16 =null;
TreeRuleReturnScope deprecatedAnnotation17 =null;
TreeRuleReturnScope indexedAnnotation18 =null;
TreeRuleReturnScope beanAnnotation19 =null;
TreeRuleReturnScope cacheableAnnotation20 =null;
TreeRuleReturnScope typeAspect21 =null;
TreeRuleReturnScope typeFields22 =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:146:5: ( ^( TYPEDEF doc= DOC ( addressableAnnotation | storableAnnotation | extendsAnnotation | deprecatedAnnotation | indexedAnnotation | beanAnnotation | cacheableAnnotation )* name= ID typeAspect typeFields ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:147:5: ^( TYPEDEF doc= DOC ( addressableAnnotation | storableAnnotation | extendsAnnotation | deprecatedAnnotation | indexedAnnotation | beanAnnotation | cacheableAnnotation )* name= ID typeAspect typeFields )
{
match(input,TYPEDEF,FOLLOW_TYPEDEF_in_typeExpr509);
match(input, Token.DOWN, null);
doc=(CommonTree)match(input,DOC,FOLLOW_DOC_in_typeExpr513);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:148:9: ( addressableAnnotation | storableAnnotation | extendsAnnotation | deprecatedAnnotation | indexedAnnotation | beanAnnotation | cacheableAnnotation )*
loop7:
while (true) {
int alt7=8;
switch ( input.LA(1) ) {
case ADDRESSABLE:
{
alt7=1;
}
break;
case STORABLE:
{
alt7=2;
}
break;
case EXTENDS:
{
alt7=3;
}
break;
case DEPRECATED:
{
alt7=4;
}
break;
case INDEXED:
{
alt7=5;
}
break;
case BEAN:
{
alt7=6;
}
break;
case CACHEABLE:
{
alt7=7;
}
break;
}
switch (alt7) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:149:13: addressableAnnotation
{
pushFollow(FOLLOW_addressableAnnotation_in_typeExpr538);
addressableAnnotation14=addressableAnnotation();
state._fsp--;
typeExpr_stack.peek().addressable = (addressableAnnotation14!=null?((TTreeDotNet_TTreeShared.addressableAnnotation_return)addressableAnnotation14).result:null);
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:152:13: storableAnnotation
{
pushFollow(FOLLOW_storableAnnotation_in_typeExpr554);
storableAnnotation15=storableAnnotation();
state._fsp--;
typeExpr_stack.peek().storable = (storableAnnotation15!=null?((TTreeDotNet_TTreeShared.storableAnnotation_return)storableAnnotation15).result:null);
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:155:13: extendsAnnotation
{
pushFollow(FOLLOW_extendsAnnotation_in_typeExpr570);
extendsAnnotation16=extendsAnnotation();
state._fsp--;
typeExpr_stack.peek().extend = (extendsAnnotation16!=null?((TTreeDotNet_TTreeShared.extendsAnnotation_return)extendsAnnotation16).result:null).narrow();
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:158:13: deprecatedAnnotation
{
pushFollow(FOLLOW_deprecatedAnnotation_in_typeExpr586);
deprecatedAnnotation17=deprecatedAnnotation();
state._fsp--;
typeExpr_stack.peek().deprecated = (deprecatedAnnotation17!=null?((TTreeDotNet_TTreeShared.deprecatedAnnotation_return)deprecatedAnnotation17).result:null);
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:161:13: indexedAnnotation
{
pushFollow(FOLLOW_indexedAnnotation_in_typeExpr602);
indexedAnnotation18=indexedAnnotation();
state._fsp--;
typeExpr_stack.peek().indexed = (indexedAnnotation18!=null?((TTreeDotNet_TTreeShared.indexedAnnotation_return)indexedAnnotation18).result:null);
}
break;
case 6 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:164:13: beanAnnotation
{
pushFollow(FOLLOW_beanAnnotation_in_typeExpr618);
beanAnnotation19=beanAnnotation();
state._fsp--;
typeExpr_stack.peek().bean = (beanAnnotation19!=null?((TTreeDotNet_TTreeShared.beanAnnotation_return)beanAnnotation19).result:null);
}
break;
case 7 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:167:13: cacheableAnnotation
{
pushFollow(FOLLOW_cacheableAnnotation_in_typeExpr634);
cacheableAnnotation20=cacheableAnnotation();
state._fsp--;
typeExpr_stack.peek().cacheable = (cacheableAnnotation20!=null?((TTreeDotNet_TTreeShared.cacheableAnnotation_return)cacheableAnnotation20).result:null);
}
break;
default :
break loop7;
}
}
name=(CommonTree)match(input,ID,FOLLOW_ID_in_typeExpr659);
pushFollow(FOLLOW_typeAspect_in_typeExpr661);
typeAspect21=typeAspect();
state._fsp--;
pushFollow(FOLLOW_typeFields_in_typeExpr663);
typeFields22=typeFields();
state._fsp--;
match(input, Token.UP, null);
// Record the type for later use, also build class for it
addType((name!=null?name.getText():null), (typeAspect21!=null?((TTreeDotNet.typeAspect_return)typeAspect21).name:null), typeExpr_stack.peek().bean, typeExpr_stack.peek().cacheable, typeExpr_stack.peek().addressable, typeExpr_stack.peek().storable, typeExpr_stack.peek().extend, typeExpr_stack.peek().deprecated, typeExpr_stack.peek().indexed, sdkName, (typeFields22!=null?((TTreeDotNet.typeFields_return)typeFields22).fieldNameToType:null),
(typeFields22!=null?((TTreeDotNet.typeFields_return)typeFields22).beans:null), (typeFields22!=null?((TTreeDotNet.typeFields_return)typeFields22).constructors:null));
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
typeExpr_stack.pop();
}
return retval;
}
// $ANTLR end "typeExpr"
public static class typeAspect_return extends TreeRuleReturnScope {
public String name;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "typeAspect"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:177:1: typeAspect returns [String name] : ^( TYPEASPECT p= PACKAGENAME ) ;
public final TTreeDotNet.typeAspect_return typeAspect() throws RecognitionException {
TTreeDotNet.typeAspect_return retval = new TTreeDotNet.typeAspect_return();
retval.start = input.LT(1);
CommonTree p=null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:177:33: ( ^( TYPEASPECT p= PACKAGENAME ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:178:5: ^( TYPEASPECT p= PACKAGENAME )
{
match(input,TYPEASPECT,FOLLOW_TYPEASPECT_in_typeAspect683);
match(input, Token.DOWN, null);
p=(CommonTree)match(input,PACKAGENAME,FOLLOW_PACKAGENAME_in_typeAspect687);
match(input, Token.UP, null);
retval.name = (p!=null?p.getText():null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "typeAspect"
public static class crudPackageAnnotation_return extends TreeRuleReturnScope {
public String pkg;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "crudPackageAnnotation"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:180:1: crudPackageAnnotation returns [String pkg] : ^( CRUDPACKAGEANNOTATION p= PACKAGENAME ) ;
public final TTreeDotNet.crudPackageAnnotation_return crudPackageAnnotation() throws RecognitionException {
TTreeDotNet.crudPackageAnnotation_return retval = new TTreeDotNet.crudPackageAnnotation_return();
retval.start = input.LT(1);
CommonTree p=null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:180:43: ( ^( CRUDPACKAGEANNOTATION p= PACKAGENAME ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:181:5: ^( CRUDPACKAGEANNOTATION p= PACKAGENAME )
{
match(input,CRUDPACKAGEANNOTATION,FOLLOW_CRUDPACKAGEANNOTATION_in_crudPackageAnnotation706);
match(input, Token.DOWN, null);
p=(CommonTree)match(input,PACKAGENAME,FOLLOW_PACKAGENAME_in_crudPackageAnnotation710);
match(input, Token.UP, null);
retval.pkg = (p!=null?p.getText():null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "crudPackageAnnotation"
public static class deprecatedAspect_return extends TreeRuleReturnScope {
public String reason;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "deprecatedAspect"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:183:1: deprecatedAspect returns [String reason] : ( ( DEPRECATED ID ) | ( DEPRECATED STRING ) );
public final TTreeDotNet.deprecatedAspect_return deprecatedAspect() throws RecognitionException {
TTreeDotNet.deprecatedAspect_return retval = new TTreeDotNet.deprecatedAspect_return();
retval.start = input.LT(1);
CommonTree ID23=null;
CommonTree STRING24=null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:185:5: ( ( DEPRECATED ID ) | ( DEPRECATED STRING ) )
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==DEPRECATED) ) {
int LA8_1 = input.LA(2);
if ( (LA8_1==ID) ) {
alt8=1;
}
else if ( (LA8_1==STRING) ) {
alt8=2;
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 8, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:185:7: ( DEPRECATED ID )
{
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:185:7: ( DEPRECATED ID )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:185:9: DEPRECATED ID
{
match(input,DEPRECATED,FOLLOW_DEPRECATED_in_deprecatedAspect732);
ID23=(CommonTree)match(input,ID,FOLLOW_ID_in_deprecatedAspect734);
retval.reason = (ID23!=null?ID23.getText():null);
}
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:186:7: ( DEPRECATED STRING )
{
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:186:7: ( DEPRECATED STRING )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:186:9: DEPRECATED STRING
{
match(input,DEPRECATED,FOLLOW_DEPRECATED_in_deprecatedAspect749);
STRING24=(CommonTree)match(input,STRING,FOLLOW_STRING_in_deprecatedAspect751);
retval.reason = (STRING24!=null?STRING24.getText():null).substring(1, (STRING24!=null?STRING24.getText():null).length() -1);
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "deprecatedAspect"
public static class typeFields_return extends TreeRuleReturnScope {
public Map fieldNameToType;
public List beans;
public List constructors;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "typeFields"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:189:1: typeFields returns [Map fieldNameToType, List beans, List constructors ] : ^( TYPEFIELDS ( typeFieldDef )* ) ;
public final TTreeDotNet.typeFields_return typeFields() throws RecognitionException {
TTreeDotNet.typeFields_return retval = new TTreeDotNet.typeFields_return();
retval.start = input.LT(1);
TreeRuleReturnScope typeFieldDef25 =null;
retval.fieldNameToType = new HashMap();
retval.beans = new ArrayList();
retval.constructors = new ArrayList();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:195:5: ( ^( TYPEFIELDS ( typeFieldDef )* ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:196:5: ^( TYPEFIELDS ( typeFieldDef )* )
{
match(input,TYPEFIELDS,FOLLOW_TYPEFIELDS_in_typeFields793);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:197:9: ( typeFieldDef )*
loop9:
while (true) {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==TYPEMEMBER) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:197:10: typeFieldDef
{
pushFollow(FOLLOW_typeFieldDef_in_typeFields805);
typeFieldDef25=typeFieldDef();
state._fsp--;
retval.fieldNameToType.put((typeFieldDef25!=null?((TTreeDotNet.typeFieldDef_return)typeFieldDef25).fieldName:null), (typeFieldDef25!=null?((TTreeDotNet.typeFieldDef_return)typeFieldDef25).varType:null));
retval.beans.add((typeFieldDef25!=null?((TTreeDotNet.typeFieldDef_return)typeFieldDef25).beanInfo:null));
if ((typeFieldDef25!=null?((TTreeDotNet.typeFieldDef_return)typeFieldDef25).constructor:null) != null) {
retval.constructors.add((typeFieldDef25!=null?((TTreeDotNet.typeFieldDef_return)typeFieldDef25).constructor:null));
}
}
break;
default :
break loop9;
}
}
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "typeFields"
public static class typeFieldDef_return extends TreeRuleReturnScope {
public String fieldName;
public StringTemplate beanInfo;
public String varType;
public String constructor;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "typeFieldDef"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:207:1: typeFieldDef returns [String fieldName, StringTemplate beanInfo, String varType, String constructor] : ^( TYPEMEMBER ^( TYPE vartype ) ^( NAME name= ID ) ^( FIELD_CONSTRUCTOR ( fieldConstructor )? ) ) ;
public final TTreeDotNet.typeFieldDef_return typeFieldDef() throws RecognitionException {
TTreeDotNet.typeFieldDef_return retval = new TTreeDotNet.typeFieldDef_return();
retval.start = input.LT(1);
CommonTree name=null;
TreeRuleReturnScope fieldConstructor26 =null;
TreeRuleReturnScope vartype27 =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:208:5: ( ^( TYPEMEMBER ^( TYPE vartype ) ^( NAME name= ID ) ^( FIELD_CONSTRUCTOR ( fieldConstructor )? ) ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:209:5: ^( TYPEMEMBER ^( TYPE vartype ) ^( NAME name= ID ) ^( FIELD_CONSTRUCTOR ( fieldConstructor )? ) )
{
match(input,TYPEMEMBER,FOLLOW_TYPEMEMBER_in_typeFieldDef842);
match(input, Token.DOWN, null);
match(input,TYPE,FOLLOW_TYPE_in_typeFieldDef854);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_vartype_in_typeFieldDef856);
vartype27=vartype();
state._fsp--;
match(input, Token.UP, null);
match(input,NAME,FOLLOW_NAME_in_typeFieldDef869);
match(input, Token.DOWN, null);
name=(CommonTree)match(input,ID,FOLLOW_ID_in_typeFieldDef873);
match(input, Token.UP, null);
match(input,FIELD_CONSTRUCTOR,FOLLOW_FIELD_CONSTRUCTOR_in_typeFieldDef886);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:212:29: ( fieldConstructor )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( ((LA10_0 >= ADDRESSABLE && LA10_0 <= 139)) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:212:30: fieldConstructor
{
pushFollow(FOLLOW_fieldConstructor_in_typeFieldDef889);
fieldConstructor26=fieldConstructor();
state._fsp--;
retval.constructor = (fieldConstructor26!=null?((TTreeDotNet_TTreeShared.fieldConstructor_return)fieldConstructor26).constructor:null);
}
break;
}
match(input, Token.UP, null);
}
match(input, Token.UP, null);
boolean isURI = (vartype27!=null?((TTreeDotNet.vartype_return)vartype27).mainType:null).endsWith("URI");
String scheme = ((vartype27!=null?((TTreeDotNet.vartype_return)vartype27).mainType:null)).equals("RaptureURI") ? null : ((vartype27!=null?((TTreeDotNet.vartype_return)vartype27).mainType:null)).substring(0, (vartype27!=null?((TTreeDotNet.vartype_return)vartype27).mainType:null).length()-3).toUpperCase();
retval.fieldName = (name!=null?name.getText():null);
String transportName = retval.fieldName;
String realFieldName = convertFieldName(retval.fieldName);
retval.beanInfo = templateLib.getInstanceOf("beanInfo",new STAttrMap().put("varName", realFieldName).put("transportName", retval.fieldName).put("varType", (isURI) ? "string" : (vartype27!=null?((TTreeDotNet.vartype_return)vartype27).mainType:null)).put("constructor", retval.constructor).put("isURI", isURI).put("scheme", scheme));
retval.varType = (isURI) ? "string" : (vartype27!=null?((TTreeDotNet.vartype_return)vartype27).mainType:null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "typeFieldDef"
public static class vartype_return extends TreeRuleReturnScope {
public String mainType;
public boolean isMappedType;
public String importType;
public String defValue;
public boolean equalsTest;
public String genericAlt;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "vartype"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:233:1: vartype returns [String mainType, boolean isMappedType, String importType, String defValue, boolean equalsTest, String genericAlt] : ( ^( RAW INTTYPE ) | ^( RAW LONGTYPE ) | ^( RAW BYTEARRAYTYPE ) | ^( RAW DATETYPE ) | ^( RAW OBJECTTYPE ) | ^( RAW LONGCTYPE ) | ^( RAW BOOLTYPE ) | ^( RAW DOUBLETYPE ) | ^( RAW STRINGTYPE ) | ^( RAW VOIDTYPE ) | ^( LISTTYPE v= vartype ) | ^( SETTYPE v= vartype ) | ^( MAPTYPE k= vartype v= vartype ) | ^( COMPLEX typeid= ID ) );
public final TTreeDotNet.vartype_return vartype() throws RecognitionException {
TTreeDotNet.vartype_return retval = new TTreeDotNet.vartype_return();
retval.start = input.LT(1);
CommonTree typeid=null;
TreeRuleReturnScope v =null;
TreeRuleReturnScope k =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:233:131: ( ^( RAW INTTYPE ) | ^( RAW LONGTYPE ) | ^( RAW BYTEARRAYTYPE ) | ^( RAW DATETYPE ) | ^( RAW OBJECTTYPE ) | ^( RAW LONGCTYPE ) | ^( RAW BOOLTYPE ) | ^( RAW DOUBLETYPE ) | ^( RAW STRINGTYPE ) | ^( RAW VOIDTYPE ) | ^( LISTTYPE v= vartype ) | ^( SETTYPE v= vartype ) | ^( MAPTYPE k= vartype v= vartype ) | ^( COMPLEX typeid= ID ) )
int alt11=14;
switch ( input.LA(1) ) {
case RAW:
{
int LA11_1 = input.LA(2);
if ( (LA11_1==DOWN) ) {
switch ( input.LA(3) ) {
case INTTYPE:
{
alt11=1;
}
break;
case LONGTYPE:
{
alt11=2;
}
break;
case BYTEARRAYTYPE:
{
alt11=3;
}
break;
case DATETYPE:
{
alt11=4;
}
break;
case OBJECTTYPE:
{
alt11=5;
}
break;
case LONGCTYPE:
{
alt11=6;
}
break;
case BOOLTYPE:
{
alt11=7;
}
break;
case DOUBLETYPE:
{
alt11=8;
}
break;
case STRINGTYPE:
{
alt11=9;
}
break;
case VOIDTYPE:
{
alt11=10;
}
break;
default:
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 11, 6, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 11, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
break;
case LISTTYPE:
{
alt11=11;
}
break;
case SETTYPE:
{
alt11=12;
}
break;
case MAPTYPE:
{
alt11=13;
}
break;
case COMPLEX:
{
alt11=14;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:234:5: ^( RAW INTTYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype928);
match(input, Token.DOWN, null);
match(input,INTTYPE,FOLLOW_INTTYPE_in_vartype930);
match(input, Token.UP, null);
retval.mainType = "int"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "0"; retval.equalsTest =true;
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:235:7: ^( RAW LONGTYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype942);
match(input, Token.DOWN, null);
match(input,LONGTYPE,FOLLOW_LONGTYPE_in_vartype944);
match(input, Token.UP, null);
retval.mainType = "long"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "0L"; retval.equalsTest =true;
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:236:7: ^( RAW BYTEARRAYTYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype956);
match(input, Token.DOWN, null);
match(input,BYTEARRAYTYPE,FOLLOW_BYTEARRAYTYPE_in_vartype958);
match(input, Token.UP, null);
retval.mainType = "byte[]"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "null"; retval.equalsTest =true;
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:237:7: ^( RAW DATETYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype970);
match(input, Token.DOWN, null);
match(input,DATETYPE,FOLLOW_DATETYPE_in_vartype972);
match(input, Token.UP, null);
retval.mainType = "DateTime"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "null"; retval.equalsTest =true;
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:238:7: ^( RAW OBJECTTYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype984);
match(input, Token.DOWN, null);
match(input,OBJECTTYPE,FOLLOW_OBJECTTYPE_in_vartype986);
match(input, Token.UP, null);
retval.mainType = "Object"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "null";retval.equalsTest =true;
}
break;
case 6 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:239:7: ^( RAW LONGCTYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype998);
match(input, Token.DOWN, null);
match(input,LONGCTYPE,FOLLOW_LONGCTYPE_in_vartype1000);
match(input, Token.UP, null);
retval.mainType = "long"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "0L";retval.equalsTest =true;
}
break;
case 7 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:240:7: ^( RAW BOOLTYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype1012);
match(input, Token.DOWN, null);
match(input,BOOLTYPE,FOLLOW_BOOLTYPE_in_vartype1014);
match(input, Token.UP, null);
retval.mainType = "bool"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "true";retval.equalsTest =true;
}
break;
case 8 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:241:7: ^( RAW DOUBLETYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype1026);
match(input, Token.DOWN, null);
match(input,DOUBLETYPE,FOLLOW_DOUBLETYPE_in_vartype1028);
match(input, Token.UP, null);
retval.mainType = "double"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "0.0";retval.equalsTest =false;
}
break;
case 9 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:242:7: ^( RAW STRINGTYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype1040);
match(input, Token.DOWN, null);
match(input,STRINGTYPE,FOLLOW_STRINGTYPE_in_vartype1042);
match(input, Token.UP, null);
retval.mainType = "string"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "\"job://test\"";retval.equalsTest =false;
}
break;
case 10 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:243:7: ^( RAW VOIDTYPE )
{
match(input,RAW,FOLLOW_RAW_in_vartype1054);
match(input, Token.DOWN, null);
match(input,VOIDTYPE,FOLLOW_VOIDTYPE_in_vartype1056);
match(input, Token.UP, null);
retval.mainType = "void"; retval.isMappedType = false; retval.importType = "";
}
break;
case 11 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:244:7: ^( LISTTYPE v= vartype )
{
match(input,LISTTYPE,FOLLOW_LISTTYPE_in_vartype1068);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_vartype_in_vartype1072);
v=vartype();
state._fsp--;
match(input, Token.UP, null);
retval.isMappedType = (v!=null?((TTreeDotNet.vartype_return)v).isMappedType:false); retval.importType = (v!=null?((TTreeDotNet.vartype_return)v).mainType:null); retval.defValue ="null"; retval.equalsTest =true;
retval.mainType = String.format("List<%s>", (v!=null?((TTreeDotNet.vartype_return)v).genericAlt:null) == null ? (v!=null?((TTreeDotNet.vartype_return)v).mainType:null) : (v!=null?((TTreeDotNet.vartype_return)v).genericAlt:null));
}
break;
case 12 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:248:7: ^( SETTYPE v= vartype )
{
match(input,SETTYPE,FOLLOW_SETTYPE_in_vartype1084);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_vartype_in_vartype1088);
v=vartype();
state._fsp--;
match(input, Token.UP, null);
retval.isMappedType = (v!=null?((TTreeDotNet.vartype_return)v).isMappedType:false); retval.importType = (v!=null?((TTreeDotNet.vartype_return)v).mainType:null); retval.defValue ="null"; retval.equalsTest =true;
retval.mainType = String.format("HashSet<%s>", (v!=null?((TTreeDotNet.vartype_return)v).genericAlt:null) == null ? (v!=null?((TTreeDotNet.vartype_return)v).mainType:null) : (v!=null?((TTreeDotNet.vartype_return)v).genericAlt:null));
}
break;
case 13 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:252:7: ^( MAPTYPE k= vartype v= vartype )
{
match(input,MAPTYPE,FOLLOW_MAPTYPE_in_vartype1100);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_vartype_in_vartype1104);
k=vartype();
state._fsp--;
pushFollow(FOLLOW_vartype_in_vartype1108);
v=vartype();
state._fsp--;
match(input, Token.UP, null);
retval.isMappedType = (v!=null?((TTreeDotNet.vartype_return)v).isMappedType:false); retval.importType = (v!=null?((TTreeDotNet.vartype_return)v).mainType:null); retval.defValue ="null";retval.equalsTest =true;
retval.mainType = String.format("Dictionary<%s, %s>", (k!=null?((TTreeDotNet.vartype_return)k).genericAlt:null) == null ? (k!=null?((TTreeDotNet.vartype_return)k).mainType:null) : (k!=null?((TTreeDotNet.vartype_return)k).genericAlt:null),
(v!=null?((TTreeDotNet.vartype_return)v).genericAlt:null) == null ? (v!=null?((TTreeDotNet.vartype_return)v).mainType:null) : (v!=null?((TTreeDotNet.vartype_return)v).genericAlt:null));
}
break;
case 14 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:258:7: ^( COMPLEX typeid= ID )
{
match(input,COMPLEX,FOLLOW_COMPLEX_in_vartype1120);
match(input, Token.DOWN, null);
typeid=(CommonTree)match(input,ID,FOLLOW_ID_in_vartype1124);
match(input, Token.UP, null);
retval.mainType = (typeid!=null?typeid.getText():null);
retval.isMappedType = true;
retval.importType = retval.mainType;
retval.defValue = "null";
retval.equalsTest =true;
if (retval.mainType.endsWith("URI")) {
retval.genericAlt = "String";
} else if (retval.mainType.equals("Integer")) {
retval.mainType = "int"; retval.isMappedType = false; retval.importType = ""; retval.defValue = "0"; retval.equalsTest =true;
}
else {
retval.genericAlt = retval.mainType;
}
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "vartype"
protected static class apiExpr_scope {
String apiName;
}
protected Stack apiExpr_stack = new Stack();
public static class apiExpr_return extends TreeRuleReturnScope {
public StringTemplate entList;
public StringTemplate kEntry;
public StringTemplate kSetup;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "apiExpr"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:275:1: apiExpr returns [StringTemplate entList, StringTemplate kEntry, StringTemplate kSetup] : ^( APISEC doc= DOC (deprecated= deprecatedAspect )? apiType= ID (a= apilist ) ) ;
public final TTreeDotNet.apiExpr_return apiExpr() throws RecognitionException {
apiExpr_stack.push(new apiExpr_scope());
TTreeDotNet.apiExpr_return retval = new TTreeDotNet.apiExpr_return();
retval.start = input.LT(1);
CommonTree doc=null;
CommonTree apiType=null;
TreeRuleReturnScope deprecated =null;
TreeRuleReturnScope a =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:277:7: ( ^( APISEC doc= DOC (deprecated= deprecatedAspect )? apiType= ID (a= apilist ) ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:278:7: ^( APISEC doc= DOC (deprecated= deprecatedAspect )? apiType= ID (a= apilist ) )
{
match(input,APISEC,FOLLOW_APISEC_in_apiExpr1163);
match(input, Token.DOWN, null);
doc=(CommonTree)match(input,DOC,FOLLOW_DOC_in_apiExpr1167);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:278:34: (deprecated= deprecatedAspect )?
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==DEPRECATED) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:278:34: deprecated= deprecatedAspect
{
pushFollow(FOLLOW_deprecatedAspect_in_apiExpr1171);
deprecated=deprecatedAspect();
state._fsp--;
}
break;
}
apiType=(CommonTree)match(input,ID,FOLLOW_ID_in_apiExpr1176);
apiExpr_stack.peek().apiName = convertApiName((apiType!=null?apiType.getText():null));
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:278:119: (a= apilist )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:278:120: a= apilist
{
pushFollow(FOLLOW_apilist_in_apiExpr1183);
a=apilist();
state._fsp--;
}
match(input, Token.UP, null);
// This is the definition of a set of apis in the same "class", so we
// need to emit at this level the DispatchFunction and the API definition
String convertedName = convertApiName((apiType!=null?apiType.getText():null));
// Imports for all types referenced
String imp = getTypeImports(convertedName);
// Construct the template for the API - not the passed apis etc are collected at the lower level
StringTemplate s = templateLib.getInstanceOf("apilist",new STAttrMap().put("sdkname", sdkName).put("apitype", convertedName).put("apis", (a!=null?((TTreeDotNet.apilist_return)a).main:null)).put("typeimports", imp));
String apiFullPath = getGeneratedFilePath(sdkName, "common", "common", "api/" + "" + apiType + "Api.cs");
addApiTemplate(apiFullPath, "1", s);
//script apis
String scriptApiFullPath = getGeneratedFilePath(sdkName, "common", "common", "api/Script" + apiType + "Api.cs");
StringTemplate scriptS = templateLib.getInstanceOf("scriptapilist",new STAttrMap().put("sdkname", sdkName).put("apitype", convertedName).put("apis", (a!=null?((TTreeDotNet.apilist_return)a).scriptMain:null)).put("typeimports", imp));
addApiTemplate(scriptApiFullPath, "1", scriptS);
// Api function template
String httpFullPath = getGeneratedFilePath(sdkName, "common", "common", "client/Http" + apiType + "Api.cs");
// imp is not the right thing here, we should get it from the apilist
StringTemplate s3 = templateLib.getInstanceOf("httpfile",new STAttrMap().put("sdkname", sdkName).put("apitype", convertedName).put("imports", imp).put("fns", (a!=null?((TTreeDotNet.apilist_return)a).httpApi:null)).put("scriptFns", (a!=null?((TTreeDotNet.apilist_return)a).httpScriptApi:null)).put("payloadImports", (a!=null?((TTreeDotNet.apilist_return)a).payloadImports:null)));
addApiTemplate(httpFullPath, "1", s3);
addApiName((apiType!=null?apiType.getText():null));
retval.entList = templateLib.getInstanceOf("entTypes",new STAttrMap().put("entTypes", (a!=null?((TTreeDotNet.apilist_return)a).entTypes:null)));
retval.entList = templateLib.getInstanceOf("entTypes",new STAttrMap().put("sdkname", sdkName).put("entTypes", (a!=null?((TTreeDotNet.apilist_return)a).entTypes:null)));
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
apiExpr_stack.pop();
}
return retval;
}
// $ANTLR end "apiExpr"
public static class apilist_return extends TreeRuleReturnScope {
public List main;
public List scriptMain;
public List scriptImpl;
public List disp;
public List httpApi;
public List httpScriptApi;
public List payloadImports;
public List entTypes;
public List wrapperList;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "apilist"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:313:1: apilist returns [List main, List scriptMain, List scriptImpl, List disp, List httpApi, List httpScriptApi, List payloadImports, List entTypes, List wrapperList] : (a= apistmt )+ ;
public final TTreeDotNet.apilist_return apilist() throws RecognitionException {
TTreeDotNet.apilist_return retval = new TTreeDotNet.apilist_return();
retval.start = input.LT(1);
TreeRuleReturnScope a =null;
retval.main = new ArrayList();
retval.wrapperList = new ArrayList();
retval.scriptMain = new ArrayList();
retval.disp = new ArrayList();
retval.httpApi = new ArrayList();
retval.httpScriptApi = new ArrayList();
retval.payloadImports = new ArrayList();
retval.entTypes = new ArrayList();
retval.scriptImpl = new ArrayList();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:325:3: ( (a= apistmt )+ )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:325:3: (a= apistmt )+
{
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:325:3: (a= apistmt )+
int cnt13=0;
loop13:
while (true) {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==APIENTRY) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:325:4: a= apistmt
{
pushFollow(FOLLOW_apistmt_in_apilist1209);
a=apistmt();
state._fsp--;
retval.main.add((a!=null?((StringTemplate)a.getTemplate()):null));
retval.wrapperList.add((a!=null?((TTreeDotNet.apistmt_return)a).wrapperStatement:null));
retval.scriptMain.add((a!=null?((TTreeDotNet.apistmt_return)a).scriptEntry:null));
retval.disp.add((a!=null?((TTreeDotNet.apistmt_return)a).dispatchEntry:null));
retval.httpApi.add((a!=null?((TTreeDotNet.apistmt_return)a).httpEntry:null));
retval.httpScriptApi.add((a!=null?((TTreeDotNet.apistmt_return)a).httpScriptEntry:null));
retval.payloadImports.add((a!=null?((TTreeDotNet.apistmt_return)a).imp:null));
retval.entTypes.add((a!=null?((TTreeDotNet.apistmt_return)a).entType:null));
retval.scriptImpl.add((a!=null?((TTreeDotNet.apistmt_return)a).scriptImpl:null));
}
break;
default :
if ( cnt13 >= 1 ) break loop13;
EarlyExitException eee = new EarlyExitException(13, input);
throw eee;
}
cnt13++;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "apilist"
public static class visibility_return extends TreeRuleReturnScope {
public int type;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "visibility"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:337:1: visibility returns [int type] : ( PRIVATEVIS | PUBLICVIS );
public final TTreeDotNet.visibility_return visibility() throws RecognitionException {
TTreeDotNet.visibility_return retval = new TTreeDotNet.visibility_return();
retval.start = input.LT(1);
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:338:5: ( PRIVATEVIS | PUBLICVIS )
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==PRIVATEVIS) ) {
alt14=1;
}
else if ( (LA14_0==PUBLICVIS) ) {
alt14=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 14, 0, input);
throw nvae;
}
switch (alt14) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:338:7: PRIVATEVIS
{
match(input,PRIVATEVIS,FOLLOW_PRIVATEVIS_in_visibility1237);
retval.type = PRIVATEVIS;
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:339:7: PUBLICVIS
{
match(input,PUBLICVIS,FOLLOW_PUBLICVIS_in_visibility1248);
retval.type = PUBLICVIS;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "visibility"
public static class apistmt_return extends TreeRuleReturnScope {
public StringTemplate scriptEntry;
public StringTemplate dispatchEntry;
public StringTemplate httpEntry;
public StringTemplate httpScriptEntry;
public StringTemplate imp;
public StringTemplate entType;
public StringTemplate scriptImpl;
public StringTemplate wrapperStatement;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "apistmt"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:349:1: apistmt returns [StringTemplate scriptEntry, StringTemplate dispatchEntry, StringTemplate httpEntry, StringTemplate httpScriptEntry, StringTemplate imp, StringTemplate entType, StringTemplate scriptImpl, StringTemplate wrapperStatement] : ^( APIENTRY doc= DOC ^( ENTITLEASPECT (rent= REGULARENTITLE )+ (k= ID v= ID )* ) (deprecated= deprecatedAspect )? (streaming= STREAMING )? ^( VISIBILITY visibility ) ^( RETTYPE vartype ) ^( FNNAME name= ID ) p= paramList ) ;
public final TTreeDotNet.apistmt_return apistmt() throws RecognitionException {
TTreeDotNet.apistmt_return retval = new TTreeDotNet.apistmt_return();
retval.start = input.LT(1);
CommonTree doc=null;
CommonTree rent=null;
CommonTree k=null;
CommonTree v=null;
CommonTree streaming=null;
CommonTree name=null;
TreeRuleReturnScope deprecated =null;
TreeRuleReturnScope p =null;
TreeRuleReturnScope visibility28 =null;
TreeRuleReturnScope vartype29 =null;
List regularEntitlements = new ArrayList();
Map dynamicEntMap = new HashMap();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:3: ( ^( APIENTRY doc= DOC ^( ENTITLEASPECT (rent= REGULARENTITLE )+ (k= ID v= ID )* ) (deprecated= deprecatedAspect )? (streaming= STREAMING )? ^( VISIBILITY visibility ) ^( RETTYPE vartype ) ^( FNNAME name= ID ) p= paramList ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:3: ^( APIENTRY doc= DOC ^( ENTITLEASPECT (rent= REGULARENTITLE )+ (k= ID v= ID )* ) (deprecated= deprecatedAspect )? (streaming= STREAMING )? ^( VISIBILITY visibility ) ^( RETTYPE vartype ) ^( FNNAME name= ID ) p= paramList )
{
match(input,APIENTRY,FOLLOW_APIENTRY_in_apistmt1278);
match(input, Token.DOWN, null);
doc=(CommonTree)match(input,DOC,FOLLOW_DOC_in_apistmt1282);
match(input,ENTITLEASPECT,FOLLOW_ENTITLEASPECT_in_apistmt1285);
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:38: (rent= REGULARENTITLE )+
int cnt15=0;
loop15:
while (true) {
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==REGULARENTITLE) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:39: rent= REGULARENTITLE
{
rent=(CommonTree)match(input,REGULARENTITLE,FOLLOW_REGULARENTITLE_in_apistmt1290);
regularEntitlements.add((rent!=null?rent.getText():null));
}
break;
default :
if ( cnt15 >= 1 ) break loop15;
EarlyExitException eee = new EarlyExitException(15, input);
throw eee;
}
cnt15++;
}
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:100: (k= ID v= ID )*
loop16:
while (true) {
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==ID) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:101: k= ID v= ID
{
k=(CommonTree)match(input,ID,FOLLOW_ID_in_apistmt1299);
v=(CommonTree)match(input,ID,FOLLOW_ID_in_apistmt1303);
dynamicEntMap.put((k!=null?k.getText():null), (v!=null?v.getText():null));
}
break;
default :
break loop16;
}
}
match(input, Token.UP, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:163: (deprecated= deprecatedAspect )?
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==DEPRECATED) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:163: deprecated= deprecatedAspect
{
pushFollow(FOLLOW_deprecatedAspect_in_apistmt1312);
deprecated=deprecatedAspect();
state._fsp--;
}
break;
}
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:191: (streaming= STREAMING )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==STREAMING) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:354:191: streaming= STREAMING
{
streaming=(CommonTree)match(input,STREAMING,FOLLOW_STREAMING_in_apistmt1317);
}
break;
}
match(input,VISIBILITY,FOLLOW_VISIBILITY_in_apistmt1321);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_visibility_in_apistmt1323);
visibility28=visibility();
state._fsp--;
match(input, Token.UP, null);
match(input,RETTYPE,FOLLOW_RETTYPE_in_apistmt1327);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_vartype_in_apistmt1329);
vartype29=vartype();
state._fsp--;
match(input, Token.UP, null);
match(input,FNNAME,FOLLOW_FNNAME_in_apistmt1333);
match(input, Token.DOWN, null);
name=(CommonTree)match(input,ID,FOLLOW_ID_in_apistmt1337);
match(input, Token.UP, null);
pushFollow(FOLLOW_paramList_in_apistmt1342);
p=paramList();
state._fsp--;
match(input, Token.UP, null);
// An apistmt needs to generate in two files - the api file (which is done at a higher level) and in
// a whole new set of files which are dependent on the fnName
// System.out.println("PVT is : " + (visibility28!=null?(input.getTokenStream().toString(input.getTreeAdaptor().getTokenStartIndex(visibility28.start),input.getTreeAdaptor().getTokenStopIndex(visibility28.start))):null));
// Visibility can be either @public or @private
// If it is @private, we don't generate much at all, particularly the Payload
// And HttpEntry files
boolean isPrivate = false;
if (PRIVATEVIS == (visibility28!=null?((TTreeDotNet.visibility_return)visibility28).type:0)) {
isPrivate = true;
}
// store the reflection methods for the payload files
List dynEntEntries = new ArrayList();
for (Map.Entry entry : dynamicEntMap.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
if (key.equals("f")) {
dynEntEntries.add(templateLib.getInstanceOf("dynamicentitlemententry",new STAttrMap().put("dynEntType", "fullPath").put("uriArg", value)));
}
else if (key.equals("d")) {
dynEntEntries.add(templateLib.getInstanceOf("dynamicentitlemententry",new STAttrMap().put("dynEntType", "docPath").put("uriArg", value)));
}
else if (key.equals("a")) {
dynEntEntries.add(templateLib.getInstanceOf("dynamicentitlemententry",new STAttrMap().put("dynEntType", "authority").put("uriArg", value)));
}
}
String ent = reassembleFullEntitlmentPath(regularEntitlements, dynamicEntMap);
boolean isStreaming = false;
if(streaming != null ) {
isStreaming = true;
}
String entName = generateEntName(apiExpr_stack.peek().apiName, ent);
retval.entType = templateLib.getInstanceOf("entEntry",new STAttrMap().put("api", apiExpr_stack.peek().apiName).put("name", (name!=null?name.getText():null)).put("path", entName));
addCallNameEntry(templateLib.getInstanceOf("callNameEntry",new STAttrMap().put("api", apiExpr_stack.peek().apiName).put("name", (name!=null?name.getText():null))));
// This is the one that is passed above (we could add it to the "api.java" here, but there's no real need
String d = doc.getText();
d = d.substring(1,d.length()-1);
d = formatDoc(d);
retval.st = templateLib.getInstanceOf("apiEntry",new STAttrMap().put("ret", (vartype29!=null?((TTreeDotNet.vartype_return)vartype29).mainType:null)).put("name", name).put("params", (p!=null?((TTreeDotNet.paramList_return)p).main:null)).put("deprecated", (deprecated!=null?((TTreeDotNet.deprecatedAspect_return)deprecated).reason:null)).put("doc", d));
retval.wrapperStatement = templateLib.getInstanceOf("wrapperEntry",new STAttrMap().put("ret", (vartype29!=null?((TTreeDotNet.vartype_return)vartype29).mainType:null)).put("name", (name!=null?name.getText():null)).put("params", (p!=null?((TTreeDotNet.paramList_return)p).main:null)).put("callParams", (p!=null?((TTreeDotNet.paramList_return)p).paramListAspect:null)).put("apitype", apiExpr_stack.peek().apiName).put("deprecated", (deprecated!=null?((TTreeDotNet.deprecatedAspect_return)deprecated).reason:null)));
retval.scriptEntry = templateLib.getInstanceOf("apiEntry",new STAttrMap().put("ret", (vartype29!=null?((TTreeDotNet.vartype_return)vartype29).mainType:null)).put("name", name).put("params", (p!=null?((TTreeDotNet.paramList_return)p).scriptMain:null)).put("deprecated", (deprecated!=null?((TTreeDotNet.deprecatedAspect_return)deprecated).reason:null)));
retval.scriptImpl = templateLib.getInstanceOf("scriptapientry",new STAttrMap().put("ret", (vartype29!=null?((TTreeDotNet.vartype_return)vartype29).mainType:null)).put("name", name).put("params", (p!=null?((TTreeDotNet.paramList_return)p).scriptMain:null)).put("apiparams", (p!=null?((TTreeDotNet.paramList_return)p).paramListAlt:null)));
// And this is the one that is used to create new files
String retImport = "";
if ((vartype29!=null?((TTreeDotNet.vartype_return)vartype29).isMappedType:false)) {
retImport = "using " + getPackageAndClass((vartype29!=null?((TTreeDotNet.vartype_return)vartype29).importType:null)) + ";";
addImportForApi(apiExpr_stack.peek().apiName, (vartype29!=null?((TTreeDotNet.vartype_return)vartype29).importType:null));
}
if (!isPrivate && !isStreaming) {
retval.imp = templateLib.getInstanceOf("reqRespImp",new STAttrMap().put("sdkname", sdkName).put("apitype", apiExpr_stack.peek().apiName).put("name", (name!=null?name.getText():null)));
retval.httpScriptEntry = templateLib.getInstanceOf("httpscriptapifn",new STAttrMap().put("apitype", apiExpr_stack.peek().apiName).put("ret", (vartype29!=null?((TTreeDotNet.vartype_return)vartype29).mainType:null)).put("name", (name!=null?name.getText():null)).put("params", (p!=null?((TTreeDotNet.paramList_return)p).scriptMain:null)).put("callParams", (p!=null?((TTreeDotNet.paramList_return)p).paramListAlt:null)));
retval.httpEntry = templateLib.getInstanceOf("httpapifn",new STAttrMap().put("apitype", apiExpr_stack.peek().apiName).put("ret", (vartype29!=null?((TTreeDotNet.vartype_return)vartype29).mainType:null)).put("name", (name!=null?name.getText():null)).put("params", (p!=null?((TTreeDotNet.paramList_return)p).main:null)).put("apiparams", (p!=null?((TTreeDotNet.paramList_return)p).paramList:null)));
// Also create a payload file
StringTemplate s2 = templateLib.getInstanceOf("payloadFile",new STAttrMap().put("sdkname", sdkName).put("apitype", apiExpr_stack.peek().apiName).put("name", (name!=null?name.getText():null)).put("params", (p!=null?((TTreeDotNet.paramList_return)p).alternate:null)).put("apiparams", (p!=null?((TTreeDotNet.paramList_return)p).paramList:null)).put("imports", (p!=null?((TTreeDotNet.paramList_return)p).packageList:null)).put("retImport", retImport).put("dynEnt", dynEntEntries));
String reqFullPath2 = getFileNameForType(sdkName, "payload/" + apiExpr_stack.peek().apiName, (name!=null?name.getText():null), "Payload");
addApiTemplate(reqFullPath2, "1", s2);
addImportForApi(apiExpr_stack.peek().apiName, (p!=null?((TTreeDotNet.paramList_return)p).typeNames:null));
} else if(!isPrivate && isStreaming ) {
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "apistmt"
public static class paramList_return extends TreeRuleReturnScope {
public Set typeNames;
public List main;
public List scriptMain;
public List alternate;
public List paramList;
public List paramListAlt;
public List paramListAspect;
public List packageList;
public List testSetters;
public List testGetters;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "paramList"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:431:1: paramList returns [Set typeNames, List main, List scriptMain, List alternate, List paramList, List paramListAlt, List paramListAspect, \n List packageList, List testSetters, List testGetters] : ^( PARAMS (a= param )* ) ;
public final TTreeDotNet.paramList_return paramList() throws RecognitionException {
TTreeDotNet.paramList_return retval = new TTreeDotNet.paramList_return();
retval.start = input.LT(1);
TreeRuleReturnScope a =null;
retval.typeNames = new HashSet();
retval.alternate = new ArrayList();
retval.main = new ArrayList();
retval.scriptMain = new ArrayList();
retval.main.add(new StringTemplate("CallingContext context"));
retval.paramList = new ArrayList();
retval.paramList.add(new StringTemplate("payload.getContext()"));
retval.paramListAlt = new ArrayList();
retval.paramListAspect = new ArrayList();
retval.paramListAspect.add(new StringTemplate("context"));
retval.packageList = new ArrayList();
retval.testSetters = new ArrayList();
retval.testGetters = new ArrayList();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:448:2: ( ^( PARAMS (a= param )* ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:449:2: ^( PARAMS (a= param )* )
{
match(input,PARAMS,FOLLOW_PARAMS_in_paramList1364);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:449:11: (a= param )*
loop19:
while (true) {
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==PARAM) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:449:12: a= param
{
pushFollow(FOLLOW_param_in_paramList1369);
a=param();
state._fsp--;
retval.alternate.add((a!=null?((TTreeDotNet.param_return)a).alternate:null));
retval.main.add((a!=null?((StringTemplate)a.getTemplate()):null));
retval.scriptMain.add((a!=null?((StringTemplate)a.getTemplate()):null));
retval.paramList.add((a!=null?((TTreeDotNet.param_return)a).param:null).toString());
retval.paramListAlt.add((a!=null?((TTreeDotNet.param_return)a).param:null).toString());
retval.paramListAspect.add((a!=null?((TTreeDotNet.param_return)a).param:null).toString());
retval.packageList.add((a!=null?((TTreeDotNet.param_return)a).pack:null));
retval.testSetters.add((a!=null?((TTreeDotNet.param_return)a).testSetter:null));
retval.testGetters.add((a!=null?((TTreeDotNet.param_return)a).testGetter:null));
retval.typeNames.add((a!=null?((TTreeDotNet.param_return)a).typeName:null).toString());
}
break;
default :
break loop19;
}
}
match(input, Token.UP, null);
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "paramList"
public static class param_return extends TreeRuleReturnScope {
public StringTemplate alternate;
public StringTemplate param;
public StringTemplate pack;
public StringTemplate testSetter;
public StringTemplate testGetter;
public String typeName;
public StringTemplate st;
public Object getTemplate() { return st; }
public String toString() { return st==null?null:st.toString(); }
};
// $ANTLR start "param"
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:462:1: param returns [StringTemplate alternate, StringTemplate param, StringTemplate pack, StringTemplate testSetter, StringTemplate testGetter, String typeName] : ^( PARAM ^( TYPE t= vartype ) ^( NAME n= ID ) ( BANG )? ) ;
public final TTreeDotNet.param_return param() throws RecognitionException {
TTreeDotNet.param_return retval = new TTreeDotNet.param_return();
retval.start = input.LT(1);
CommonTree n=null;
TreeRuleReturnScope t =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:462:154: ( ^( PARAM ^( TYPE t= vartype ) ^( NAME n= ID ) ( BANG )? ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:462:157: ^( PARAM ^( TYPE t= vartype ) ^( NAME n= ID ) ( BANG )? )
{
match(input,PARAM,FOLLOW_PARAM_in_param1406);
match(input, Token.DOWN, null);
match(input,TYPE,FOLLOW_TYPE_in_param1409);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_vartype_in_param1413);
t=vartype();
state._fsp--;
match(input, Token.UP, null);
match(input,NAME,FOLLOW_NAME_in_param1417);
match(input, Token.DOWN, null);
n=(CommonTree)match(input,ID,FOLLOW_ID_in_param1421);
match(input, Token.UP, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:462:196: ( BANG )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==BANG) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/CodeGen/CodeGenLib/src/main/antlr3/com/incapture/rapgen/TTreeDotNet.g:462:196: BANG
{
match(input,BANG,FOLLOW_BANG_in_param1424);
}
break;
}
match(input, Token.UP, null);
String transportName = (n!=null?n.getText():null);
String realName = convertFieldName((n!=null?n.getText():null));
retval.st = templateLib.getInstanceOf("param",new STAttrMap().put("type", (t!=null?((TTreeDotNet.vartype_return)t).mainType:null)).put("name", realName));
boolean isURI = (t!=null?((TTreeDotNet.vartype_return)t).mainType:null).endsWith("URI");
String scheme = ((t!=null?((TTreeDotNet.vartype_return)t).mainType:null)).equals("RaptureURI") ? null : ((t!=null?((TTreeDotNet.vartype_return)t).mainType:null)).substring(0, (t!=null?((TTreeDotNet.vartype_return)t).mainType:null).length()-3).toUpperCase();
retval.alternate = templateLib.getInstanceOf("attrForClass",new STAttrMap().put("name", realName).put("transportName", transportName).put("type", (isURI) ? "string" : (t!=null?((TTreeDotNet.vartype_return)t).mainType:null)).put("isURI", isURI).put("scheme", scheme));
retval.param = templateLib.getInstanceOf("param2",new STAttrMap().put("name", realName));
if ((t!=null?((TTreeDotNet.vartype_return)t).isMappedType:false) && !isURI) {
retval.pack = templateLib.getInstanceOf("package",new STAttrMap().put("name", getPackageAndClass((t!=null?((TTreeDotNet.vartype_return)t).importType:null)) ));
retval.typeName = (t!=null?((TTreeDotNet.vartype_return)t).importType:null);
} else {
retval.pack = new StringTemplate();
retval.typeName = "";
}
retval.testSetter = templateLib.getInstanceOf("callSetter",new STAttrMap().put("name", realName).put("value", (t!=null?((TTreeDotNet.vartype_return)t).defValue:null)));
retval.testGetter = templateLib.getInstanceOf("testGetter",new STAttrMap().put("name", realName).put("value", (t!=null?((TTreeDotNet.vartype_return)t).defValue:null)).put("equalsTest", (t!=null?((TTreeDotNet.vartype_return)t).equalsTest:false)));
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "param"
// Delegated rules
public TTreeDotNet_TTreeShared.versionExpr_return versionExpr() throws RecognitionException { return gTTreeShared.versionExpr(); }
public TTreeDotNet_TTreeShared.fieldConstructor_return fieldConstructor() throws RecognitionException { return gTTreeShared.fieldConstructor(); }
public TTreeDotNet_TTreeShared.cacheableAnnotation_return cacheableAnnotation() throws RecognitionException { return gTTreeShared.cacheableAnnotation(); }
public TTreeDotNet_TTreeShared.storableAnnotation_return storableAnnotation() throws RecognitionException { return gTTreeShared.storableAnnotation(); }
public TTreeDotNet_TTreeShared.beanAnnotation_return beanAnnotation() throws RecognitionException { return gTTreeShared.beanAnnotation(); }
public TTreeDotNet_TTreeShared.indexedAnnotation_return indexedAnnotation() throws RecognitionException { return gTTreeShared.indexedAnnotation(); }
public TTreeDotNet_TTreeShared.deprecatedAnnotation_return deprecatedAnnotation() throws RecognitionException { return gTTreeShared.deprecatedAnnotation(); }
public TTreeDotNet_TTreeShared.extendsAnnotation_return extendsAnnotation() throws RecognitionException { return gTTreeShared.extendsAnnotation(); }
public TTreeDotNet_TTreeShared.addressableAnnotation_return addressableAnnotation() throws RecognitionException { return gTTreeShared.addressableAnnotation(); }
public TTreeDotNet_TTreeShared.minVerExpr_return minVerExpr() throws RecognitionException { return gTTreeShared.minVerExpr(); }
public static final BitSet FOLLOW_INNERT_in_innerExpr96 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_typeExpr_in_innerExpr98 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_INNERC_in_innerExpr116 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_crudTypeExpr_in_innerExpr118 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_INNERA_in_innerExpr139 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_apiExpr_in_innerExpr143 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_hmxdef_in_sdkGen169 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_hmxdef_in_apiGen191 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_MAIN_in_hmxdef223 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_sdkExpr_in_hmxdef226 = new BitSet(new long[]{0x0000000000000000L,0x0000400000000000L});
public static final BitSet FOLLOW_versionExpr_in_hmxdef250 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
public static final BitSet FOLLOW_minVerExpr_in_hmxdef252 = new BitSet(new long[]{0x0000000000000008L,0x00000000000E0000L});
public static final BitSet FOLLOW_innerExpr_in_hmxdef254 = new BitSet(new long[]{0x0000000000000008L,0x00000000000E0000L});
public static final BitSet FOLLOW_SDKDEF_in_sdkExpr279 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_sdkExpr281 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CRUDTYPEDEF_in_crudTypeExpr301 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_DOC_in_crudTypeExpr305 = new BitSet(new long[]{0x0200000024080110L,0x0000000000000100L});
public static final BitSet FOLLOW_addressableAnnotation_in_crudTypeExpr329 = new BitSet(new long[]{0x0200000024080110L,0x0000000000000100L});
public static final BitSet FOLLOW_storableAnnotation_in_crudTypeExpr345 = new BitSet(new long[]{0x0200000024080110L,0x0000000000000100L});
public static final BitSet FOLLOW_extendsAnnotation_in_crudTypeExpr361 = new BitSet(new long[]{0x0200000024080110L,0x0000000000000100L});
public static final BitSet FOLLOW_deprecatedAnnotation_in_crudTypeExpr377 = new BitSet(new long[]{0x0200000024080110L,0x0000000000000100L});
public static final BitSet FOLLOW_beanAnnotation_in_crudTypeExpr393 = new BitSet(new long[]{0x0200000024080110L,0x0000000000000100L});
public static final BitSet FOLLOW_crudPackageAnnotation_in_crudTypeExpr416 = new BitSet(new long[]{0x0000000020000000L});
public static final BitSet FOLLOW_ID_in_crudTypeExpr421 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000040L});
public static final BitSet FOLLOW_crudTypeInfo_in_crudTypeExpr425 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
public static final BitSet FOLLOW_typeFields_in_crudTypeExpr427 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CRUDINFO_in_crudTypeInfo456 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_crudDirective_in_crudTypeInfo459 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000080L});
public static final BitSet FOLLOW_CRUDINFOENTRY_in_crudDirective477 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_crudDirective481 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TYPEDEF_in_typeExpr509 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_DOC_in_typeExpr513 = new BitSet(new long[]{0x02000000A4080910L});
public static final BitSet FOLLOW_addressableAnnotation_in_typeExpr538 = new BitSet(new long[]{0x02000000A4080910L});
public static final BitSet FOLLOW_storableAnnotation_in_typeExpr554 = new BitSet(new long[]{0x02000000A4080910L});
public static final BitSet FOLLOW_extendsAnnotation_in_typeExpr570 = new BitSet(new long[]{0x02000000A4080910L});
public static final BitSet FOLLOW_deprecatedAnnotation_in_typeExpr586 = new BitSet(new long[]{0x02000000A4080910L});
public static final BitSet FOLLOW_indexedAnnotation_in_typeExpr602 = new BitSet(new long[]{0x02000000A4080910L});
public static final BitSet FOLLOW_beanAnnotation_in_typeExpr618 = new BitSet(new long[]{0x02000000A4080910L});
public static final BitSet FOLLOW_cacheableAnnotation_in_typeExpr634 = new BitSet(new long[]{0x02000000A4080910L});
public static final BitSet FOLLOW_ID_in_typeExpr659 = new BitSet(new long[]{0x0000000000000000L,0x0000040000000000L});
public static final BitSet FOLLOW_typeAspect_in_typeExpr661 = new BitSet(new long[]{0x0000000000000000L,0x0000100000000000L});
public static final BitSet FOLLOW_typeFields_in_typeExpr663 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_TYPEASPECT_in_typeAspect683 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_PACKAGENAME_in_typeAspect687 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_CRUDPACKAGEANNOTATION_in_crudPackageAnnotation706 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_PACKAGENAME_in_crudPackageAnnotation710 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_DEPRECATED_in_deprecatedAspect732 = new BitSet(new long[]{0x0000000020000000L});
public static final BitSet FOLLOW_ID_in_deprecatedAspect734 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DEPRECATED_in_deprecatedAspect749 = new BitSet(new long[]{0x1000000000000000L});
public static final BitSet FOLLOW_STRING_in_deprecatedAspect751 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_TYPEFIELDS_in_typeFields793 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_typeFieldDef_in_typeFields805 = new BitSet(new long[]{0x0000000000000008L,0x0000200000000000L});
public static final BitSet FOLLOW_TYPEMEMBER_in_typeFieldDef842 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_TYPE_in_typeFieldDef854 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_vartype_in_typeFieldDef856 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_NAME_in_typeFieldDef869 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_typeFieldDef873 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_FIELD_CONSTRUCTOR_in_typeFieldDef886 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_fieldConstructor_in_typeFieldDef889 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype928 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_INTTYPE_in_vartype930 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype942 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_LONGTYPE_in_vartype944 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype956 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BYTEARRAYTYPE_in_vartype958 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype970 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_DATETYPE_in_vartype972 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype984 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_OBJECTTYPE_in_vartype986 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype998 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_LONGCTYPE_in_vartype1000 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype1012 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_BOOLTYPE_in_vartype1014 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype1026 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_DOUBLETYPE_in_vartype1028 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype1040 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_STRINGTYPE_in_vartype1042 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RAW_in_vartype1054 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_VOIDTYPE_in_vartype1056 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_LISTTYPE_in_vartype1068 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_vartype_in_vartype1072 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_SETTYPE_in_vartype1084 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_vartype_in_vartype1088 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_MAPTYPE_in_vartype1100 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_vartype_in_vartype1104 = new BitSet(new long[]{0x0080010800000000L,0x0000000020000020L});
public static final BitSet FOLLOW_vartype_in_vartype1108 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_COMPLEX_in_vartype1120 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_vartype1124 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_APISEC_in_apiExpr1163 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_DOC_in_apiExpr1167 = new BitSet(new long[]{0x0000000020080000L});
public static final BitSet FOLLOW_deprecatedAspect_in_apiExpr1171 = new BitSet(new long[]{0x0000000020000000L});
public static final BitSet FOLLOW_ID_in_apiExpr1176 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L});
public static final BitSet FOLLOW_apilist_in_apiExpr1183 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_apistmt_in_apilist1209 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
public static final BitSet FOLLOW_PRIVATEVIS_in_visibility1237 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_PUBLICVIS_in_visibility1248 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_APIENTRY_in_apistmt1278 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_DOC_in_apistmt1282 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_ENTITLEASPECT_in_apistmt1285 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_REGULARENTITLE_in_apistmt1290 = new BitSet(new long[]{0x0004000020000008L});
public static final BitSet FOLLOW_ID_in_apistmt1299 = new BitSet(new long[]{0x0000000020000000L});
public static final BitSet FOLLOW_ID_in_apistmt1303 = new BitSet(new long[]{0x0000000020000008L});
public static final BitSet FOLLOW_deprecatedAspect_in_apistmt1312 = new BitSet(new long[]{0x0800000000000000L,0x0000800000000000L});
public static final BitSet FOLLOW_STREAMING_in_apistmt1317 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L});
public static final BitSet FOLLOW_VISIBILITY_in_apistmt1321 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_visibility_in_apistmt1323 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_RETTYPE_in_apistmt1327 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_vartype_in_apistmt1329 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_FNNAME_in_apistmt1333 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_apistmt1337 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_paramList_in_apistmt1342 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_PARAMS_in_paramList1364 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_param_in_paramList1369 = new BitSet(new long[]{0x0000000000000008L,0x0000000002000000L});
public static final BitSet FOLLOW_PARAM_in_param1406 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_TYPE_in_param1409 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_vartype_in_param1413 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_NAME_in_param1417 = new BitSet(new long[]{0x0000000000000004L});
public static final BitSet FOLLOW_ID_in_param1421 = new BitSet(new long[]{0x0000000000000008L});
public static final BitSet FOLLOW_BANG_in_param1424 = new BitSet(new long[]{0x0000000000000008L});
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy