public override string VisitNativeMemberAccess([NotNull] sphereScript99Parser.NativeMemberAccessContext context) { if (currentLevel == targetLevel || (targetLevel == -1 && context.chainedMemberAccess() == null)) { return(context.nativeFunctionName().GetText()); } return(base.VisitNativeMemberAccess(context)); }
public override IParseTree[] VisitNativeMemberAccess([NotNull] sphereScript99Parser.NativeMemberAccessContext context) { if (!CanVisitNatvieMemberAccess(context)) { return(base.VisitNativeMemberAccess(context)); } if (context.nativeArgumentList()?.enclosedArgumentList()?.enclosedArgumentListInner()?.enclosedArgument() != null) { return(context.nativeArgumentList().enclosedArgumentList().enclosedArgumentListInner().enclosedArgument().Select(x => x.children[0]).ToArray()); } var freeArgumentList = context.nativeArgumentList()?.freeArgumentList(); if (freeArgumentList != null) { var arguments = new List <IParseTree>(); var optionalWhiteSpaceArgument = freeArgumentList?.firstFreeArgument()?.firstFreeArgumentOptionalWhiteSpace(); if (optionalWhiteSpaceArgument != null) { arguments.Add(optionalWhiteSpaceArgument.evalExpression() ?? optionalWhiteSpaceArgument.triggerArgument() ?? (IParseTree)optionalWhiteSpaceArgument.quotedLiteralArgument()); } var mandatoryWhiteSpaceArgument = freeArgumentList?.firstFreeArgument()?.firstFreeArgumentMandatoryWhiteSpace(); if (mandatoryWhiteSpaceArgument != null) { arguments.Add(mandatoryWhiteSpaceArgument.assignmentArgument() ?? (IParseTree)mandatoryWhiteSpaceArgument.unquotedLiteralArgument()); } arguments.AddRange(freeArgumentList.argument()); return(arguments.ToArray()); } return(Array.Empty <IParseTree>()); }
protected abstract bool CanVisitNatvieMemberAccess(sphereScript99Parser.NativeMemberAccessContext context);
protected override bool CanVisitNatvieMemberAccess(sphereScript99Parser.NativeMemberAccessContext context) => true;
protected override bool CanVisitNatvieMemberAccess(sphereScript99Parser.NativeMemberAccessContext context) => context.chainedMemberAccess() == null;
public override string VisitNativeMemberAccess([NotNull] sphereScript99Parser.NativeMemberAccessContext context) { return(context.nativeFunctionName().GetText()); }
public override bool VisitNativeMemberAccess([NotNull] sphereScript99Parser.NativeMemberAccessContext context) { parentTranspiler.Visit(context.nativeFunctionName()); return(true); }