public TaskDef CreateTaskDef(Token token, AstNodeKind kind) { if (token.ToString() == Name) { kind = AstNodeKind.CreatorDef; } switch (kind) { case AstNodeKind.CreatorDef: token = TokenInstance.CSharp.CREATE; break; } //Create StubDef TaskStubDef stubDef; switch (kind) { case AstNodeKind.CreatorDef: stubDef = new ExpertStubDef(token); break; default: stubDef = new TaskStubDef(token); break; } //CreateProcDef TaskProcedureDef procDef = new TaskProcedureDef(new Token(token.ToString() + "Proc")); TaskDef taskDef = TaskDef.Create(this, kind, token, stubDef, procDef); return(taskDef); }
AstNode UnmarshalNode(BinaryReader nodeData, AstNodeKind nodeKind) { var node = new AstNode(nodeKind); UnmarshalNode(nodeData, node); return(node); }
public BinaryOp(AstNodeKind kind, Token token, Expression left, Expression right) : base(kind, token) { Subject = left; //Predicate = BuiltinDefs.NotEqual.CreateName(); Predicate = new Name(token); Object = right; }
// public TaskDef(ExpertDef parent, AstNodeKind kind, Token token, TaskStubDef stubDef, TaskProcedureDef procDef) : base(kind, token) { Parent = parent; stubDef.Parent = procDef.Parent = this; StubDef = stubDef; ProcedureDef = procDef; Atomicity = Atomicity.StronglyNonAtomic; }
public static TaskDef Create(ExpertDef parent, AstNodeKind kind, Token token, TaskStubDef stubDef, TaskProcedureDef procDef) { TaskDef def = new TaskDef(parent, kind, token, stubDef, procDef); if (kind != AstNodeKind.InnerTaskDef) { def.AddChild(stubDef); } def.AddChild(procDef); parent.AddChild(def); return(def); }
public static AstSymbolKind ToSymbolKind(this AstNodeKind nodeKind) { return(nodeKind switch { AstNodeKind.Enum => AstSymbolKind.Type, AstNodeKind.Function => AstSymbolKind.Function, AstNodeKind.Struct => AstSymbolKind.Type, AstNodeKind.Type => AstSymbolKind.Type, AstNodeKind.Module => AstSymbolKind.Module, AstNodeKind.FunctionParameter => AstSymbolKind.Variable, AstNodeKind.Variable => AstSymbolKind.Variable, AstNodeKind.Field => AstSymbolKind.Field, AstNodeKind.EnumOption => AstSymbolKind.Field, AstNodeKind.TemplateParameter => AstSymbolKind.TemplateParameter, _ => AstSymbolKind.Unknown });
public NodeVisitInfo(AstNodeKind kind, INodeVisit visit) { Kind = kind; Visit = visit; }
public AtomDef(AstNodeKind kind, Token token) : base(kind, token) { AtomTypeExpr = new Name(TokenInstance.CSharp.TYPE_ENTITY); }
protected AstNode(AstNodeKind kind) { this.Kind = kind; }
public ClauseExpr(AstNodeKind kind, Token token) : base(kind, token) { AtomTypeExpr = BuiltinDefs.Clause.CreateName(); }
public StmtBlock(AstNodeKind kind) : base(kind) { }
protected AstType(AstNodeKind nodeKind) : base(nodeKind) { }
public TaskStubDef(AstNodeKind kind, Token token) : base(kind, token) { }
public TaskFunctionDef(AstNodeKind kind, Token token) : base(kind, token) { }
public ConstructorDef(AstNodeKind kind, Token token) : base(kind, token) { }
// public FunctionDef(AstNodeKind kind) : this(kind, null) { }
public OperatorExpr(AstNodeKind kind, Token token) : base(kind, token) { }
public AstNode(AstNodeKind kind) { Kind = kind; }
public StmtBlock(AstNodeKind kind, Token token) : base(kind, token) { }
protected AstTypeFieldDefinition(ParserRuleContext context, AstNodeKind nodeKind = AstNodeKind.Field) : base(context, nodeKind) { }
public EntityDef(AstNodeKind kind, Token token, bool isBuiltIn = false) : base(kind, token) { IsBuiltin = isBuiltIn; }
protected AstNode(AstNodeKind kind) { Kind = kind; }
// public AstNode(AstNodeKind kind, Token token = null) { NodeKind = kind; Token = token; Atomicity = Atomicity.WeaklyAtomic; }
public TopicDef(AstNodeKind kind, Token token) : base(kind, token) { }
public AtomDef(AstNodeKind kind) : this(kind, null) { }
protected BodyNodes(AstNodeKind kind) : base(kind) { }
// public Expression(AstNodeKind kind, Token token = null) : base(kind, token) { }
public CondStmt(AstNodeKind kind, Token token) : base(kind, token) { }
protected AstNode(AstNodeKind nodeKind) { NodeKind = nodeKind; }
public CondStmt(AstNodeKind kind) : base(kind) { }