Skip to content

Commit

Permalink
Custom parsers recursivity added with few implementations: injectInto…
Browse files Browse the repository at this point in the history
… and mapType
  • Loading branch information
FrancisBourre committed Jun 12, 2017
1 parent cfd2425 commit 089bcb1
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions src/hex/compiler/parser/flow/ObjectParser.hx
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ class ObjectParser extends AbstractExprParser<hex.factory.BuildRequest>
methodParser:
[
'mapping' => hex.compiletime.flow.parser.custom.MappingParser.parse,
'injectInto' => hex.compiletime.flow.parser.custom.InjectIntoParser.parse,
'mapType' => hex.compiletime.flow.parser.custom.MapTypeParser.parse,
'xml' => hex.compiletime.flow.parser.custom.XmlParser.parse
]
};
Expand Down Expand Up @@ -117,7 +119,7 @@ class ObjectParser extends AbstractExprParser<hex.factory.BuildRequest>
}

case ENew( t, params ):
constructorVO = this.parser.parseType( this.parser, ident, value );
constructorVO = this.parser.parseType( this.parser, new ConstructorVO( ident ), value );
constructorVO.type = ExprTools.toString( value ).split( 'new ' )[ 1 ].split( '(' )[ 0 ];

case EObjectDecl( fields ):
Expand Down Expand Up @@ -155,7 +157,7 @@ class ObjectParser extends AbstractExprParser<hex.factory.BuildRequest>
}

case ECall( _.expr => EConst(CIdent(keyword)), params ):
return this.parser.methodParser.get( keyword )( this.parser, ident, params, value );
return this.parser.methodParser.get( keyword )( this.parser, new ConstructorVO( ident ), params, value );

case ECall( _.expr => EField( e, field ), params ):
switch( e.expr )
Expand Down

0 comments on commit 089bcb1

Please sign in to comment.