public static EocArrayLiteralExpression Translate(CodeConverter C, ArrayLiteralExpression expr) { if (expr == null) { return(null); } return(new EocArrayLiteralExpression(C, expr.Select(x => EocExpression.Translate(C, x)).ToList())); }
public static EocAccessArrayExpression Translate(CodeConverter C, AccessArrayExpression expr) { if (expr == null) { return(null); } return(new EocAccessArrayExpression(C, EocExpression.Translate(C, expr.Target), EocExpression.Translate(C, expr.Index))); }
public static EocAccessMemberExpression Translate(CodeConverter C, AccessMemberExpression expr) { if (expr == null) { return(null); } return(new EocAccessMemberExpression(C, EocExpression.Translate(C, expr.Target), C.P.GetEocMemberInfo(expr))); }
public static EocCallExpression Translate(CodeConverter C, CallExpression expr) { if (expr == null) { return(null); } return(new EocCallExpression( C, C.P.GetEocCmdInfo(expr), EocExpression.Translate(C, expr.Target), expr.ParamList?.Select(x => EocExpression.Translate(C, x)).ToList(), expr.LibraryId >= 0 ? C.P.EocLibs[expr.LibraryId]?.SuperTemplateAssembly : null)); }
public static EocCallExpression Translate(CodeConverter C, CallExpression expr) { var P = C.P; if (expr == null) { return(null); } var result = new EocCallExpression( C, P.GetEocCmdInfo(expr), EocExpression.Translate(C, expr.Target), expr.ParamList?.Select(x => EocExpression.Translate(C, x)).ToList(), expr.LibraryId >= 0 ? P.EocLibs[expr.LibraryId]?.SuperTemplateAssembly : null); if (expr.InvokeSpecial) { result.SpecialScope = "raw_" + P.GetUserDefinedName_SimpleCppName(P.MethodIdToClassMap[expr.MethodId].Id); } return(result); }
public static EocCallExpression Translate(CodeConverter C, CallExpression expr) { var P = C.P; if (expr == null) { return(null); } var paramList = expr.ParamList?.Select(x => EocExpression.Translate(C, x)).ToList(); var countOfDefaultAtEnd = 0; for (int i = paramList.Count - 1; i >= 0; i--) { if (paramList[i] != null) { break; } countOfDefaultAtEnd++; } if (countOfDefaultAtEnd != 0) { paramList.RemoveRange(paramList.Count - countOfDefaultAtEnd, countOfDefaultAtEnd); } var result = new EocCallExpression( C, P.GetEocCmdInfo(expr), EocExpression.Translate(C, expr.Target), paramList, expr.LibraryId >= 0 ? P.EocLibs[expr.LibraryId]?.SuperTemplateAssembly : null); if (expr.InvokeSpecial) { result.SpecialScope = "raw_" + P.GetUserDefinedName_SimpleCppName(P.MethodIdToClassMap[expr.MethodId].Id); } return(result); }