private static FSharpString GetStringConst([CanBeNull] ISynExpr expr) { switch (expr) { case IParenExpr parenExpr: return(GetStringConst(parenExpr.InnerExpression)); case IConstExpr constExpr: return(constExpr.FirstChild as FSharpString); } return(null); }
private static bool IsModuleSuffixExpr([CanBeNull] ISynExpr expr) { switch (expr) { case ParenExpr parenExpr: return(IsModuleSuffixExpr(parenExpr.InnerExpression)); case IReferenceExpr referenceExpr: return(referenceExpr.QualifiedName == ModuleSuffix); } return(false); }
private static bool IsModuleSuffixExpr([CanBeNull] ISynExpr expr) { switch (expr) { case ParenExpr parenExpr: return(IsModuleSuffixExpr(parenExpr.InnerExpression)); case ILongIdentExpr longIdentExpr: return(longIdentExpr.LongIdentifier.QualifiedName == ModuleSuffix); } return(false); }
public static IWhileExpr GetByExpression([CanBeNull] ISynExpr param) => GetByConditionExpr(param) ?? GetByDoExpression(param);
public static IBinaryAppExpr GetByArgument([CanBeNull] ISynExpr param) => GetByLeftArgument(param) ?? GetByRightArgument(param);
public static IIfThenElseExpr GetByExpression([CanBeNull] ISynExpr param) => GetByConditionExpr(param) ?? GetByBranchExpression(param);
public static IAppExpr GetByArgument([CanBeNull] ISynExpr param) => (IAppExpr)BinaryAppExprNavigator.GetByArgument(param) ?? PrefixAppExprNavigator.GetByArgumentExpression(param);
public static IConditionOwnerExpr GetByExpr([CanBeNull] ISynExpr param) => (IConditionOwnerExpr)IfThenElseExprNavigator.GetByExpression(param) ?? WhileExprNavigator.GetByExpression(param);
public static IPrefixAppExpr GetByExpression([CanBeNull] ISynExpr param) => GetByFunctionExpression(param) ?? GetByArgumentExpression(param);