Beispiel #1
0
 override public void VisitGlobalConstUse(GlobalConstUse x)
 {
     _serializer.StartSerialize(typeof(GlobalConstUse).Name, SerializeSpan(x.Span),
                                new NodeObj("Name", x.Name.ToString()), new NodeObj("OrigianlName", x.FullName.OriginalName.ToString()), new NodeObj("FallbackName", x.FallbackName.ToString()));
     base.VisitGlobalConstUse(x);
     _serializer.EndSerialize();
 }
            public override void VisitGlobalConstUse(GlobalConstUse x)
            {
                VisitSpecificElementProlog();

                SerializeToken(nameof(x.Name), x.Name.ToString(), x.Span);

                base.VisitGlobalConstUse(x);
            }
Beispiel #3
0
        public override MemoryEntry Constant(GlobalConstUse x)
        {
            Value result;

            switch (x.Name.Name.Value)
            {
            case "true":
                result = OutSet.CreateBool(true);
                break;

            case "false":
                result = OutSet.CreateBool(false);
                break;

            default:
                var constantName = ".constant_" + x.Name;
                var constantVar  = new VariableIdentifier(constantName);
                OutSet.FetchFromGlobal(constantVar.DirectName);
                return(OutSet.ReadVariable(constantVar).ReadMemory(OutSnapshot));
            }

            return(new MemoryEntry(result));
        }
Beispiel #4
0
 public override void VisitGlobalConstUse(GlobalConstUse x)
 {
     VisitQualifiedName(x.FullName.OriginalName);
 }
Beispiel #5
0
 virtual public void VisitGlobalConstUse(GlobalConstUse x)
 {
     VisitConstantUse(x);
 }
Beispiel #6
0
 public override void VisitGlobalConstUse(GlobalConstUse x)
 {
     visitConstantNularyElement(x,
                                (e) => e.Constant(x)
                                );
 }
Beispiel #7
0
 /// <inheritdoc />
 public override void VisitGlobalConstUse(GlobalConstUse x)
 {
     RValueResult(x);
 }
Beispiel #8
0
 /// <summary>
 /// Get value representation of given constant
 /// </summary>
 /// <param name="x">Constant representation</param>
 /// <returns>Represented value</returns>
 public abstract MemoryEntry Constant(GlobalConstUse x);
Beispiel #9
0
 /// <summary>
 /// Visits the global constant use.
 /// </summary>
 /// <param name="x">The x.</param>
 public override void VisitGlobalConstUse(GlobalConstUse x)
 {
     initializationValue = expressionResolver.Constant(x);
 }
Beispiel #10
0
 private static VariableExpression ToVariableExpression(GlobalConstUse e)
 {
     return(new VariableExpression(ToNameOfVariable(e.Name)));
 }
Beispiel #11
0
 /// <inheritdoc />
 override public void VisitGlobalConstUse(GlobalConstUse x)
 {
     result = new GlobalConstUse(x.Position, x.Name, null);
 }