mirror of
https://github.com/twiglet/cs2j.git
synced 2025-01-18 13:15:17 +01:00
make net phase optional, we don't use it from JavaMaker
This commit is contained in:
parent
a3b3e67d76
commit
c62a2e241b
@ -133,6 +133,11 @@ namespace Twiglet.CS2J.Translator.Transform
|
||||
|
||||
// Routines to parse strings to ANTLR Trees on the fly, used to generate fragments needed by the transformation
|
||||
public CommonTree parseString(string startRule, string inStr)
|
||||
{
|
||||
return parseString(startRule, inStr, true);
|
||||
}
|
||||
|
||||
public CommonTree parseString(string startRule, string inStr, bool includeNet)
|
||||
{
|
||||
|
||||
if (Cfg.Verbosity > 5) Console.WriteLine("Parsing fragment ");
|
||||
@ -181,25 +186,28 @@ namespace Twiglet.CS2J.Translator.Transform
|
||||
|
||||
TreeRuleReturnScope javaSyntaxRet = (TreeRuleReturnScope) mi.Invoke(javaMaker, new object[0]);
|
||||
|
||||
CommonTree javaSyntaxAST = (CommonTree)javaSyntaxRet.Tree;
|
||||
CommonTree retAST = (CommonTree)javaSyntaxRet.Tree;
|
||||
|
||||
CommonTreeNodeStream javaSyntaxNodes = new CommonTreeNodeStream(javaSyntaxAST);
|
||||
if (includeNet) {
|
||||
CommonTreeNodeStream javaSyntaxNodes = new CommonTreeNodeStream(retAST);
|
||||
|
||||
javaSyntaxNodes.TokenStream = csTreeStream.TokenStream;
|
||||
javaSyntaxNodes.TokenStream = csTreeStream.TokenStream;
|
||||
|
||||
NetMaker netMaker = new NetMaker(javaSyntaxNodes);
|
||||
netMaker.TraceDestination = Console.Error;
|
||||
NetMaker netMaker = new NetMaker(javaSyntaxNodes);
|
||||
netMaker.TraceDestination = Console.Error;
|
||||
|
||||
netMaker.Cfg = Cfg;
|
||||
netMaker.AppEnv = AppEnv;
|
||||
netMaker.InitParser();
|
||||
netMaker.Cfg = Cfg;
|
||||
netMaker.AppEnv = AppEnv;
|
||||
netMaker.IsJavaish = true;
|
||||
netMaker.InitParser();
|
||||
|
||||
CommonTree javaAST = (CommonTree)netMaker.class_member_declarations().Tree;
|
||||
retAST = (CommonTree)netMaker.class_member_declarations().Tree;
|
||||
|
||||
// snaffle additional imports
|
||||
this.AddToImports(netMaker.Imports);
|
||||
|
||||
return javaAST;
|
||||
// snaffle additional imports
|
||||
this.AddToImports(netMaker.Imports);
|
||||
}
|
||||
|
||||
return retAST;
|
||||
}
|
||||
|
||||
// If true, then we are parsing some JavaIsh fragment
|
||||
|
@ -1623,7 +1623,7 @@ scope TypeContext;
|
||||
magicMultiInvokerMethod[$d.token, $return_type.tree, $return_type.thetext == "Void" || $return_type.thetext == "System.Void", ifTree, $formal_parameter_list.tree, mkArgsFromParams($d.token, $formal_parameter_list.tree), $variant_generic_parameter_list.tyargs]
|
||||
{
|
||||
multiDelName = "__Multi" + delName;
|
||||
delClassMemberNodes = this.parseString("class_member_declarations", this.MultiDelegateMethods(mkTypeString(delName, $variant_generic_parameter_list.tyargs), mkTypeString(multiDelName, $variant_generic_parameter_list.tyargs),mkTypeArgString($variant_generic_parameter_list.tyargs)));
|
||||
delClassMemberNodes = this.parseString("class_member_declarations", this.MultiDelegateMethods(mkTypeString(delName, $variant_generic_parameter_list.tyargs), mkTypeString(multiDelName, $variant_generic_parameter_list.tyargs),mkTypeArgString($variant_generic_parameter_list.tyargs)), false);
|
||||
AddToImports("java.util.List");
|
||||
AddToImports("java.util.LinkedList");
|
||||
AddToImports("java.util.ArrayList");
|
||||
|
Loading…
x
Reference in New Issue
Block a user