public static GtSyntaxTree ApplyParseFunc(GtFunc ParseFunc, GtNameSpace NameSpace, GtTokenContext TokenContext, GtSyntaxTree LeftTree, GtSyntaxPattern Pattern) { return (GtSyntaxTree)ApplyMethodV(ParseFunc, null, NameSpace, TokenContext, LeftTree, Pattern); }
public static object ImportNativeObject(GtNameSpace NameSpace, string PackageName) { LibGreenTea.VerboseLog(GreenTeaUtils.VerboseNative, "importing " + PackageName); try { Type NativeClass = LibNative.ImportClass(PackageName); try { MethodInfo LoaderMethod = NativeClass.GetMethod("ImportGrammar");//, typeof(GtNameSpace), typeof(Type)); LoaderMethod.Invoke(null, new object[] { NameSpace, NativeClass }); } catch (Exception) { // naming } return LibNative.GetNativeType(NativeClass); } catch (Exception) { } int Index = PackageName.LastIndexOf("."); if (Index >= 0) { try { Type NativeClass = LibNative.ImportClass(PackageName.Substring(0, Index)); return ImportStaticObject(NameSpace.Context, NativeClass, PackageName.Substring(Index + 1)); } catch (Exception) { } } return null; }