Skip to content

Adding integer literals to an enum is an invalid expression #5

@glopesdev

Description

@glopesdev

Adding integers to an enum value is allowed in C#, and used to be allowed in the previous Dynamic LINQ parser, but now fails. For example:

it + 1

Where it is an enum value.

Example workflow:

<?xml version="1.0" encoding="utf-8"?>
<WorkflowBuilder Version="2.9.0"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xmlns:rx="clr-namespace:Bonsai.Reactive;assembly=Bonsai.Core"
                 xmlns:scr="clr-namespace:Bonsai.Scripting.Expressions;assembly=Bonsai.Scripting.Expressions"
                 xmlns="https://bonsai-rx.org/2018/workflow">
  <Workflow>
    <Nodes>
      <Expression xsi:type="Combinator">
        <Combinator xsi:type="rx:Timer">
          <rx:DueTime>PT0S</rx:DueTime>
        </Combinator>
      </Expression>
      <Expression xsi:type="Combinator">
        <Combinator xsi:type="rx:Timestamp" />
      </Expression>
      <Expression xsi:type="MemberSelector">
        <Selector>Timestamp.DayOfWeek</Selector>
      </Expression>
      <Expression xsi:type="scr:ExpressionTransform">
        <scr:Expression>it + 1</scr:Expression>
      </Expression>
    </Nodes>
    <Edges>
      <Edge From="0" To="1" Label="Source1" />
      <Edge From="1" To="2" Label="Source1" />
      <Edge From="2" To="3" Label="Source1" />
    </Edges>
  </Workflow>
</WorkflowBuilder>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions