Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        AstNode UnmarshalNode(BinaryReader nodeData, AstNodeKind nodeKind)
        {
            var node = new AstNode(nodeKind);

            UnmarshalNode(nodeData, node);
            return(node);
        }
Esempio n. 3
0
 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;
 }
Esempio n. 4
0
 //
 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;
 }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
 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
     });
Esempio n. 7
0
 public NodeVisitInfo(AstNodeKind kind, INodeVisit visit)
 {
     Kind  = kind;
     Visit = visit;
 }
Esempio n. 8
0
 public AtomDef(AstNodeKind kind, Token token)
     : base(kind, token)
 {
     AtomTypeExpr = new Name(TokenInstance.CSharp.TYPE_ENTITY);
 }
Esempio n. 9
0
 protected AstNode(AstNodeKind kind)
 {
     this.Kind = kind;
 }
Esempio n. 10
0
 public ClauseExpr(AstNodeKind kind, Token token)
     : base(kind, token)
 {
     AtomTypeExpr = BuiltinDefs.Clause.CreateName();
 }
Esempio n. 11
0
 public StmtBlock(AstNodeKind kind) : base(kind)
 {
 }
Esempio n. 12
0
 protected AstType(AstNodeKind nodeKind)
     : base(nodeKind)
 {
 }
Esempio n. 13
0
 public TaskStubDef(AstNodeKind kind, Token token)
     : base(kind, token)
 {
 }
Esempio n. 14
0
 public TaskFunctionDef(AstNodeKind kind, Token token)
     : base(kind, token)
 {
 }
Esempio n. 15
0
 public ConstructorDef(AstNodeKind kind, Token token)
     : base(kind, token)
 {
 }
Esempio n. 16
0
 //
 public FunctionDef(AstNodeKind kind) : this(kind, null)
 {
 }
Esempio n. 17
0
 public OperatorExpr(AstNodeKind kind, Token token)
     : base(kind, token)
 {
 }
Esempio n. 18
0
 public AstNode(AstNodeKind kind)
 {
     Kind = kind;
 }
Esempio n. 19
0
 public StmtBlock(AstNodeKind kind, Token token) : base(kind, token)
 {
 }
Esempio n. 20
0
 protected AstTypeFieldDefinition(ParserRuleContext context, AstNodeKind nodeKind = AstNodeKind.Field)
     : base(context, nodeKind)
 {
 }
Esempio n. 21
0
 public EntityDef(AstNodeKind kind, Token token, bool isBuiltIn = false)
     : base(kind, token)
 {
     IsBuiltin = isBuiltIn;
 }
Esempio n. 22
0
 protected AstNode(AstNodeKind kind)
 {
     Kind = kind;
 }
Esempio n. 23
0
 //
 public AstNode(AstNodeKind kind, Token token = null)
 {
     NodeKind  = kind;
     Token     = token;
     Atomicity = Atomicity.WeaklyAtomic;
 }
Esempio n. 24
0
 public TopicDef(AstNodeKind kind, Token token)
     : base(kind, token)
 {
 }
Esempio n. 25
0
 public AtomDef(AstNodeKind kind)
     : this(kind, null)
 {
 }
Esempio n. 26
0
 protected BodyNodes(AstNodeKind kind) : base(kind)
 {
 }
Esempio n. 27
0
 //
 public Expression(AstNodeKind kind, Token token = null)
     : base(kind, token)
 {
 }
Esempio n. 28
0
 public CondStmt(AstNodeKind kind, Token token)
     : base(kind, token)
 {
 }
Esempio n. 29
0
 protected AstNode(AstNodeKind nodeKind)
 {
     NodeKind = nodeKind;
 }
Esempio n. 30
0
 public CondStmt(AstNodeKind kind)
     : base(kind)
 {
 }