public static JsMemberExpression MemberOrSelf(this JsMemberExpression member, string name) { if (name.IsNullOrEmpty()) { return(member); } return(member.Member(name)); }
void _Visit(JsMemberExpression node) { if (node.PreviousMember != null) { Visit(node.PreviousMember); Control("."); } Literal(node.Name); }
public static JsInvocationExpression Typeof(JsMemberExpression me) { return(new JsInvocationExpression { Member = new JsMemberExpression { Name = "typeof" }, Arguments = new List <JsExpression> { me } }); }
public static JsMemberExpression Members(string members) { JsMemberExpression node = null; foreach (var token in members.Split('.')) { node = new JsMemberExpression { PreviousMember = node }; node.Name = token; } return(node); }
protected virtual void _visit( JsMemberExpression node ) { throw new NotImplementedException( "JsMemberExpression" ); }
public static JsMemberExpression Member(this JsExpression member, JsMemberExpression exp) { exp.PreviousMember = member; return(exp); }
protected void _visit(JsMemberExpression node, bool include) { if (node != null) { if (include) { dependencyList.Add(node.Name); } } }
protected override void _visit(JsMemberExpression node) { if (node != null) { visit( node.PreviousMember ); // bschmidtke : We may need this although I don't think so. Keeping around for node.Name, just in case. //string jsStr = node.ToJs(); //string regStr = @"(?:Typeof\(|new\s)([\w\.]+)(?:\(|\))"; //MatchCollection match = Regex.Matches( node.Name, regStr, RegexOptions.None ); //if ( match.Count > 0 ) //{ // visit( node, true ); //} //else //{ // // end of the line for this guy //} } }
public JsNode VisitInvocationResolveResult(CSharpInvocationResolveResult res) { Res = res; ProcessMember(); if (MethodAtt != null && MethodAtt.InlineCode != null) return Js.CodeExpression(MethodAtt.InlineCode); var conditional = ProcessConditional(); if (conditional) return null; bool omittedCalls; var omittedCallsNode = ProcessOmitCalls(out omittedCalls); if (omittedCalls) return omittedCallsNode; JsMember = SkJs.EntityToMember(Member); ProcessTarget(); ProcessPrmBindings(); ProcessNativeParams(); ProcessByRefs1(); PrmBindings.ForEach(t => t.JsCallResult = VisitExpression(t.Binding.CallResult)); Node2 = new JsInvocationExpression { Member = JsMember, Arguments = PrmBindings.Select(t => t.JsCallResult).ToList(), }; ProcessByRefs2(); ProcessExtensionImplementedInInstance(); TransformIntoBaseMethodCallIfNeeded(Res, Node2); ProcessArgsCustomization(); ProcessGenericMethodArgs(); var inlineCodeExpression = ProcessInlineCodeExpression(); if (inlineCodeExpression != null) return inlineCodeExpression; var omittedDotOperator = ProcessOmitDotOperator(); if (omittedDotOperator != null) return omittedDotOperator; ProcessRemoveEmptyPreviousMemberName(); var indexerAccess = ProcessIndexer(); if (indexerAccess != null) return indexerAccess; ProcessByRefs3(); return Node2; }
public static JsMemberExpression getNewMemberExpression(string name, JsMemberExpression previousMember = null) { JsMemberExpression result = new JsMemberExpression(); result.Name = name; result.PreviousMember = previousMember; return result; }
public static JsInvocationExpression Typeof(JsMemberExpression me) { return new JsInvocationExpression { Member = new JsMemberExpression { Name = "typeof" }, Arguments = new List<JsExpression> { me } }; }
public static JsMemberExpression Members(string members) { JsMemberExpression node = null; foreach (var token in members.Split('.')) { node = new JsMemberExpression { PreviousMember = node }; node.Name = token; } return node; }
public static JsMemberExpression Member(this JsExpression member, JsMemberExpression exp) { exp.PreviousMember = member; return exp; }