public MClass(FileSyntaxNode tree, string name, string fileName, List <MMethod> methods) { Tree = tree; Name = name; FileName = FileName; Methods = methods; }
public override void VisitFile(FileSyntaxNode node) { _methodAssignments = new MethodAssignments(); foreach (var nodeOrToken in node.Body.Statements) { if (nodeOrToken.IsToken) { continue; } var n = nodeOrToken.AsNode(); if (n.Kind == TokenKind.FunctionDeclaration) { var functionDeclaration = (FunctionDeclarationSyntaxNode)n; _methodAssignments.Add(functionDeclaration.Name.Text, new Variable()); } } base.VisitFile(node); }
public static MClass FromTree(FileSyntaxNode tree, string fileName) { var classDeclaration = tree.Body.Statements[0].AsNode() as ClassDeclarationSyntaxNode; if (classDeclaration == null) { return(null); } var name = classDeclaration.ClassName.Text; var methods = new List <MMethod>(); foreach (var s in classDeclaration.Nodes) { if (s.IsToken) { continue; } if (s.AsNode() is MethodsListSyntaxNode methodsList) { methods.AddRange(MethodsFromList(methodsList)); } } return(new MClass(tree, name, fileName, methods)); }
public override void VisitFile(FileSyntaxNode node) { Visit(node.Body.Statements); AddToken(node.EndOfFile, _scheme.Keyword); }
public RootSyntaxNode RootSyntax(FileSyntaxNode file) { return(new RootSyntaxNode(file)); }
public override void VisitFile(FileSyntaxNode node) { Visit(node.Body.Statements); OutputKeyword(node.EndOfFile); }
private BoundFile BindFile(FileSyntaxNode node) { var body = BindBlockStatement(node.Body); return(File(node, body)); }
public RootSyntaxNode(FileSyntaxNode file, TokenDiagnostic[] diagnostics) : base(TokenKind.Root, diagnostics) { Slots = 1; this.AdjustWidth(file); _file = file; }
public RootSyntaxNode(FileSyntaxNode file) : base(TokenKind.Root) { Slots = 1; this.AdjustWidth(file); _file = file; }
public virtual void VisitFile(FileSyntaxNode node) { DefaultVisit(node); }