Exemplo n.º 1
0
 private string GetHash(ProcedureCall call)
 {
     var name = new Compiler.CodeElements.Expressions.URI(call.ProcedureName.Name);
     var found = Node.SymbolTable.GetFunction(name, call.AsProfile(Node.SymbolTable));
     if (found.Count < 1) return "?NOT_FOUND?";
     if (found.Count > 1) return "?AMBIGUOUS?";
     return ((Compiler.Nodes.FunctionDeclaration)found[0]).Hash;
 }
Exemplo n.º 2
0
 public virtual bool Visit(ProcedureCall functionCall)
 {
     return(true);
 }
Exemplo n.º 3
0
        //SMEDILOL: idea use 2 SymbolReference split per CandidatesType
        //Both are ambiguous, but less ambiguous than one
        //But this can be a bad idea, because code that use CallStatement will now have to deal with 2 variables
        //So try it, but don't hesitate to remove if it's a bad idea

        //public SymbolReferenceVariable ProgramNameOrProgramEntry { get; set; }
        //public SymbolReferenceVariable ProcdurePointerOrTCProcedureFunction { get; set; }

        public ProcedureStyleCallStatement(ProcedureCall call)
            : base(CodeElementType.ProcedureStyleCall, StatementType.CallStatement)
        {
            this.ProcedureCall = call;
        }
Exemplo n.º 4
0
 public ProcedureStyleCallStatement(ProcedureCall call)
     : base(CodeElementType.ProcedureStyleCall, StatementType.CallStatement)
 {
     this.ProcedureCall = call;
 }