public ES_AstNamespace( ES_AstDottableIdentifier name, ES_AstNode? [] contents, EchelonScriptToken namespaceTk, EchelonScriptToken closeBraceTk ) : base(1) { NamespaceName = name; Contents = contents; bounds = new ES_AstNodeBounds { StartPos = namespaceTk.TextStartPos, EndPos = closeBraceTk.TextEndPos, }; }
public ES_AbstractSyntaxTree( ReadOnlyMemory <char> source, ReadOnlyMemory <char> fileName, ES_AstImportStatement [] imports, ES_AstTypeAlias [] aliases, ES_AstNamespace [] namespaces, ES_AstNodeBounds bounds ) : base(1) { Source = source; FileName = fileName; ImportStatements = imports; TypeAliases = aliases; Namespaces = namespaces; this.bounds = bounds; }
private ES_NamespaceData?GetNamespace(SourceData src, ES_AstNodeBounds nodeBounds, ReadOnlySpan <char> namespaceStr) { var namespaceName = Environment !.IdPool.GetIdentifier(namespaceStr); if (!Environment !.Namespaces.TryGetValue(namespaceName, out var namespaceData)) { var err = ES_FrontendErrors.GenNamespaceDoesntExist( namespaceStr.GetPooledString(), src, nodeBounds ); errorList.Add(err); return(null); } return(namespaceData); }
public static EchelonScriptErrorMessage GenNoExplicitCast(string destType, string givenType, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = NoExplicitCast.Replace("{givenType}", givenType).Replace("{destType}", destType); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenInvalidExprTerm(string exprTerm, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = InvalidExprTerm.Replace("{exprTerm}", exprTerm); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenRepeatedInterfaceInList(string interfaceFqn, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = RepeatedInterfaceInList.Replace("{0}", interfaceFqn); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public EchelonScriptErrorMessage(SourceData sourceData, ES_AstNodeBounds bounds, string?message = null) : this(sourceData.Code, sourceData.FileName, bounds, message) { }
public static EchelonScriptErrorMessage GenNoSuchConstructor(string typeName, string signature, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = NoSuchConstructor.Replace("{typeName}", typeName).Replace("{signature}", signature); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenCantApplyIndexingToType(string typeName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = CantApplyIndexingToType.Replace("{typeName}", typeName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenNotEnoughFuncArgs(string funcName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = NotEnoughFuncArgs.Replace("{funcName}", funcName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenDuplicateSymbolDef(string symbolName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = DuplicateSymbolDefinition.Replace("{symbolName}", symbolName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenCantFindSymbol(string symbolName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = CantFindSymbol.Replace("{symbolName}", symbolName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenInaccessibleProtectionLevel(string symbolName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = InaccessibleProtectionLevel.Replace("{symbolName}", symbolName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenNamespaceDoesntExist(string nmName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = NamespaceDoesntExist.Replace("{namespace}", nmName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenCantApplyBinaryOp(string op, string lhs, string rhs, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = CantApplyBinaryOp.Replace("{op}", op).Replace("{lhs}", lhs).Replace("{rhs}", rhs); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenCantApplyUnaryOp(string op, string expr, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = CantApplyUnaryOp.Replace("{op}", op).Replace("{expr}", expr); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenMissingFuncArg(string argName, string funcName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = MissingFuncArg.Replace("{argName}", argName).Replace("{funcName}", funcName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenNoTypeNew(string typeName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = NoTypeNew.Replace("{typeName}", typeName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenWrongArgType(string argName, string argType, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = WrongArgType.Replace("{arg}", "\"{argName}\"").Replace("{argName}", argName).Replace("{argType}", argType); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenMissingReturnValue(string retType, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = MissingReturnValue.Replace("{retType}", retType); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenArgNeedsType(int argNum, string argType, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = ArgNeedsType.Replace("{arg}", argNum.ToString()).Replace("{argType}", argType); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public static EchelonScriptErrorMessage GenInvalidInheritance(string symbolName, SourceData src, ES_AstNodeBounds errorBounds) { var errorMessage = InvalidInheritance.Replace("{0}", symbolName); return(new EchelonScriptErrorMessage(src, errorBounds, errorMessage)); }
public EchelonScriptErrorMessage(ReadOnlySpan <char> srcText, ReadOnlyMemory <char> fileName, ES_AstNodeBounds bounds, string?message = null) { Message = message; StartPos = bounds.StartPos; Length = bounds.EndPos - bounds.StartPos; EchelonScriptTokenizer.CalcLine(srcText, StartPos, out var curLine, out var curLineStart); FileName = fileName.Span.GetPooledString(); Line = curLine; Column = EchelonScriptTokenizer.CalcColumn(srcText, curLineStart, StartPos); }