示例#1
0
        private object EvaluateWithTailCheck(ScriptThread thread)
        {
            thread.CurrentNode = this; //standard prolog
            var target = TargetRef.Evaluate(thread);
            var iCall  = target as ICallTarget;

            if (iCall == null)
            {
                thread.ThrowScriptError(Resources.ErrVarIsNotCallable, _targetName);
            }
            var    args   = (object[])Arguments.Evaluate(thread);
            object result = null;

            result = iCall.Call(thread, args);
            //Note that after invoking tail we can get another tail.
            // So we need to keep calling tails while they are there.
            while (thread.Tail != null)
            {
                var tail     = thread.Tail;
                var tailArgs = thread.TailArgs;
                thread.Tail     = null;
                thread.TailArgs = null;
                result          = tail.Call(thread, tailArgs);
            }
            thread.CurrentNode = Parent; //standard epilog
            return(result);
        }
示例#2
0
        // Evaluation for non-tail languages
        private object EvaluateNoTail(ScriptThread thread)
        {
            thread.CurrentNode = this; //standard prolog
            var target = TargetRef.Evaluate(thread);
            var iCall  = target as ICallTarget;

            if (iCall == null)
            {
                thread.ThrowScriptError(Resources.ErrVarIsNotCallable, _targetName);
            }
            var    args   = (object[])Arguments.Evaluate(thread);
            object result = iCall.Call(thread, args);

            thread.CurrentNode = Parent; //standard epilog
            return(result);
        }
示例#3
0
 public unsafe static TargetRef GetTargetMachineTarget(TargetMachineRef T) {
   TargetRef ret = new TargetRef(LLVMPINVOKE.GetTargetMachineTarget(T.Value));
   return ret;
 }
示例#4
0
 public unsafe static bool TargetHasAsmBackend(TargetRef T) {
   bool ret = LLVMPINVOKE.TargetHasAsmBackend(T.Value);
   return ret;
 }
示例#5
0
 public unsafe static TargetMachineRef CreateTargetMachine(TargetRef T, string Triple, string CPU, string Features, CodeGenOptLevel Level, RelocMode Reloc, CodeModel CodeModel) {
   TargetMachineRef ret = new TargetMachineRef(LLVMPINVOKE.CreateTargetMachine(T.Value, Triple, CPU, Features, (int)Level, (int)Reloc, (int)CodeModel));
   return ret;
 }
示例#6
0
 public unsafe static string GetTargetDescription(TargetRef T) {
   string ret = LLVMPINVOKE.GetTargetDescription(T.Value);
   return ret;
 }
示例#7
0
 public unsafe static bool TargetHasTargetMachine(TargetRef T) {
   bool ret = LLVMPINVOKE.TargetHasTargetMachine(T.Value);
   return ret;
 }
示例#8
0
 public unsafe static string GetTargetName(TargetRef T) {
   string ret = LLVMPINVOKE.GetTargetName(T.Value);
   return ret;
 }
示例#9
0
 public unsafe static bool GetTargetFromTriple(string Triple, out TargetRef T, out string ErrorMessage) {
   bool ret = LLVMPINVOKE.GetTargetFromTriple(Triple, out T.Value, out ErrorMessage);
   return ret;
 }
示例#10
0
 public unsafe static TargetRef GetTargetFromName(string Name) {
   TargetRef ret = new TargetRef(LLVMPINVOKE.GetTargetFromName(Name));
   return ret;
 }
示例#11
0
 public unsafe static TargetRef GetFirstTarget() {
   TargetRef ret = new TargetRef(LLVMPINVOKE.GetFirstTarget());
   return ret;
 }
示例#12
0
        protected internal virtual void DoRegisterTypes(ModelBuilder bpmnModelBuilder)
        {
            ActivationConditionImpl.RegisterType(bpmnModelBuilder);
            ActivityImpl.RegisterType(bpmnModelBuilder);
            ArtifactImpl.RegisterType(bpmnModelBuilder);
            AssignmentImpl.RegisterType(bpmnModelBuilder);
            AssociationImpl.RegisterType(bpmnModelBuilder);
            AuditingImpl.RegisterType(bpmnModelBuilder);
            BaseElementImpl.RegisterType(bpmnModelBuilder);
            BoundaryEventImpl.RegisterType(bpmnModelBuilder);
            BusinessRuleTaskImpl.RegisterType(bpmnModelBuilder);
            CallableElementImpl.RegisterType(bpmnModelBuilder);
            CallActivityImpl.RegisterType(bpmnModelBuilder);
            CallConversationImpl.RegisterType(bpmnModelBuilder);
            CancelEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            CatchEventImpl.RegisterType(bpmnModelBuilder);
            CategoryValueImpl.RegisterType(bpmnModelBuilder);
            CategoryValueRef.RegisterType(bpmnModelBuilder);
            ChildLaneSet.RegisterType(bpmnModelBuilder);
            CollaborationImpl.RegisterType(bpmnModelBuilder);
            CompensateEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            ConditionImpl.RegisterType(bpmnModelBuilder);
            ConditionalEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            CompletionConditionImpl.RegisterType(bpmnModelBuilder);
            ComplexBehaviorDefinitionImpl.RegisterType(bpmnModelBuilder);
            ComplexGatewayImpl.RegisterType(bpmnModelBuilder);
            ConditionExpressionImpl.RegisterType(bpmnModelBuilder);
            ConversationAssociationImpl.RegisterType(bpmnModelBuilder);
            ConversationImpl.RegisterType(bpmnModelBuilder);
            ConversationLinkImpl.RegisterType(bpmnModelBuilder);
            ConversationNodeImpl.RegisterType(bpmnModelBuilder);
            CorrelationKeyImpl.RegisterType(bpmnModelBuilder);
            CorrelationPropertyBindingImpl.RegisterType(bpmnModelBuilder);
            CorrelationPropertyImpl.RegisterType(bpmnModelBuilder);
            CorrelationPropertyRef.RegisterType(bpmnModelBuilder);
            CorrelationPropertyRetrievalExpressionImpl.RegisterType(bpmnModelBuilder);
            CorrelationSubscriptionImpl.RegisterType(bpmnModelBuilder);
            DataAssociationImpl.RegisterType(bpmnModelBuilder);
            DataInputAssociationImpl.RegisterType(bpmnModelBuilder);
            DataInputImpl.RegisterType(bpmnModelBuilder);
            DataInputRefs.RegisterType(bpmnModelBuilder);
            DataOutputAssociationImpl.RegisterType(bpmnModelBuilder);
            DataOutputImpl.RegisterType(bpmnModelBuilder);
            DataOutputRefs.RegisterType(bpmnModelBuilder);
            DataPath.RegisterType(bpmnModelBuilder);
            DataStateImpl.RegisterType(bpmnModelBuilder);
            DataObjectImpl.RegisterType(bpmnModelBuilder);
            DataObjectReferenceImpl.RegisterType(bpmnModelBuilder);
            DataStoreImpl.RegisterType(bpmnModelBuilder);
            DefinitionsImpl.RegisterType(bpmnModelBuilder);
            DocumentationImpl.RegisterType(bpmnModelBuilder);
            EndEventImpl.RegisterType(bpmnModelBuilder);
            EndPointImpl.RegisterType(bpmnModelBuilder);
            EndPointRef.RegisterType(bpmnModelBuilder);
            ErrorEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            ErrorImpl.RegisterType(bpmnModelBuilder);
            ErrorRef.RegisterType(bpmnModelBuilder);
            EscalationImpl.RegisterType(bpmnModelBuilder);
            EscalationEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            EventBasedGatewayImpl.RegisterType(bpmnModelBuilder);
            EventDefinitionImpl.RegisterType(bpmnModelBuilder);
            EventDefinitionRef.RegisterType(bpmnModelBuilder);
            EventImpl.RegisterType(bpmnModelBuilder);
            ExclusiveGatewayImpl.RegisterType(bpmnModelBuilder);
            ExpressionImpl.RegisterType(bpmnModelBuilder);
            ExtensionElementsImpl.RegisterType(bpmnModelBuilder);
            ExtensionImpl.RegisterType(bpmnModelBuilder);
            FlowElementImpl.RegisterType(bpmnModelBuilder);
            FlowNodeImpl.RegisterType(bpmnModelBuilder);
            FlowNodeRef.RegisterType(bpmnModelBuilder);
            FormalExpressionImpl.RegisterType(bpmnModelBuilder);
            From.RegisterType(bpmnModelBuilder);
            GatewayImpl.RegisterType(bpmnModelBuilder);
            GlobalConversationImpl.RegisterType(bpmnModelBuilder);
            HumanPerformerImpl.RegisterType(bpmnModelBuilder);
            ImportImpl.RegisterType(bpmnModelBuilder);
            InclusiveGatewayImpl.RegisterType(bpmnModelBuilder);
            Incoming.RegisterType(bpmnModelBuilder);
            InMessageRef.RegisterType(bpmnModelBuilder);
            InnerParticipantRef.RegisterType(bpmnModelBuilder);
            InputDataItemImpl.RegisterType(bpmnModelBuilder);
            InputSetImpl.RegisterType(bpmnModelBuilder);
            InputSetRefs.RegisterType(bpmnModelBuilder);
            InteractionNodeImpl.RegisterType(bpmnModelBuilder);
            InterfaceImpl.RegisterType(bpmnModelBuilder);
            InterfaceRef.RegisterType(bpmnModelBuilder);
            IntermediateCatchEventImpl.RegisterType(bpmnModelBuilder);
            IntermediateThrowEventImpl.RegisterType(bpmnModelBuilder);
            IoBindingImpl.RegisterType(bpmnModelBuilder);
            IoSpecificationImpl.RegisterType(bpmnModelBuilder);
            ItemAwareElementImpl.RegisterType(bpmnModelBuilder);
            ItemDefinitionImpl.RegisterType(bpmnModelBuilder);
            LaneImpl.RegisterType(bpmnModelBuilder);
            LaneSetImpl.RegisterType(bpmnModelBuilder);
            LinkEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            LoopCardinalityImpl.RegisterType(bpmnModelBuilder);
            LoopCharacteristicsImpl.RegisterType(bpmnModelBuilder);
            LoopDataInputRef.RegisterType(bpmnModelBuilder);
            LoopDataOutputRef.RegisterType(bpmnModelBuilder);
            ManualTaskImpl.RegisterType(bpmnModelBuilder);
            MessageEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            MessageFlowAssociationImpl.RegisterType(bpmnModelBuilder);
            MessageFlowImpl.RegisterType(bpmnModelBuilder);
            MessageFlowRef.RegisterType(bpmnModelBuilder);
            MessageImpl.RegisterType(bpmnModelBuilder);
            MessagePath.RegisterType(bpmnModelBuilder);
            ModelElementInstanceImpl.RegisterType(bpmnModelBuilder);
            MonitoringImpl.RegisterType(bpmnModelBuilder);
            MultiInstanceLoopCharacteristicsImpl.RegisterType(bpmnModelBuilder);
            OperationImpl.RegisterType(bpmnModelBuilder);
            OperationRef.RegisterType(bpmnModelBuilder);
            OptionalInputRefs.RegisterType(bpmnModelBuilder);
            OptionalOutputRefs.RegisterType(bpmnModelBuilder);
            OuterParticipantRef.RegisterType(bpmnModelBuilder);
            OutMessageRef.RegisterType(bpmnModelBuilder);
            Outgoing.RegisterType(bpmnModelBuilder);
            OutputDataItemImpl.RegisterType(bpmnModelBuilder);
            OutputSetImpl.RegisterType(bpmnModelBuilder);
            OutputSetRefs.RegisterType(bpmnModelBuilder);
            ParallelGatewayImpl.RegisterType(bpmnModelBuilder);
            ParticipantAssociationImpl.RegisterType(bpmnModelBuilder);
            ParticipantImpl.RegisterType(bpmnModelBuilder);
            ParticipantMultiplicityImpl.RegisterType(bpmnModelBuilder);
            ParticipantRef.RegisterType(bpmnModelBuilder);
            PartitionElement.RegisterType(bpmnModelBuilder);
            PerformerImpl.RegisterType(bpmnModelBuilder);
            PotentialOwnerImpl.RegisterType(bpmnModelBuilder);
            ProcessImpl.RegisterType(bpmnModelBuilder);
            PropertyImpl.RegisterType(bpmnModelBuilder);
            ReceiveTaskImpl.RegisterType(bpmnModelBuilder);
            RelationshipImpl.RegisterType(bpmnModelBuilder);
            RenderingImpl.RegisterType(bpmnModelBuilder);
            ResourceAssignmentExpressionImpl.RegisterType(bpmnModelBuilder);
            ResourceImpl.RegisterType(bpmnModelBuilder);
            ResourceParameterBindingImpl.RegisterType(bpmnModelBuilder);
            ResourceParameterImpl.RegisterType(bpmnModelBuilder);
            ResourceRef.RegisterType(bpmnModelBuilder);
            ResourceRoleImpl.RegisterType(bpmnModelBuilder);
            RootElementImpl.RegisterType(bpmnModelBuilder);
            ScriptImpl.RegisterType(bpmnModelBuilder);
            ScriptTaskImpl.RegisterType(bpmnModelBuilder);
            SendTaskImpl.RegisterType(bpmnModelBuilder);
            SequenceFlowImpl.RegisterType(bpmnModelBuilder);
            ServiceTaskImpl.RegisterType(bpmnModelBuilder);
            SignalEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            SignalImpl.RegisterType(bpmnModelBuilder);
            Source.RegisterType(bpmnModelBuilder);
            SourceRef.RegisterType(bpmnModelBuilder);
            StartEventImpl.RegisterType(bpmnModelBuilder);
            SubConversationImpl.RegisterType(bpmnModelBuilder);
            SubProcessImpl.RegisterType(bpmnModelBuilder);
            SupportedInterfaceRef.RegisterType(bpmnModelBuilder);
            Supports.RegisterType(bpmnModelBuilder);
            Target.RegisterType(bpmnModelBuilder);
            TargetRef.RegisterType(bpmnModelBuilder);
            TaskImpl.RegisterType(bpmnModelBuilder);
            TerminateEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            TextImpl.RegisterType(bpmnModelBuilder);
            TextAnnotationImpl.RegisterType(bpmnModelBuilder);
            ThrowEventImpl.RegisterType(bpmnModelBuilder);
            TimeCycleImpl.RegisterType(bpmnModelBuilder);
            TimeDateImpl.RegisterType(bpmnModelBuilder);
            TimeDurationImpl.RegisterType(bpmnModelBuilder);
            TimerEventDefinitionImpl.RegisterType(bpmnModelBuilder);
            To.RegisterType(bpmnModelBuilder);
            TransactionImpl.RegisterType(bpmnModelBuilder);
            Transformation.RegisterType(bpmnModelBuilder);
            UserTaskImpl.RegisterType(bpmnModelBuilder);
            WhileExecutingInputRefs.RegisterType(bpmnModelBuilder);
            WhileExecutingOutputRefs.RegisterType(bpmnModelBuilder);

            // DC
            FontImpl.RegisterType(bpmnModelBuilder);
            PointImpl.RegisterType(bpmnModelBuilder);
            BoundsImpl.RegisterType(bpmnModelBuilder);

            // DI
            DiagramImpl.RegisterType(bpmnModelBuilder);
            DiagramElementImpl.RegisterType(bpmnModelBuilder);
            EdgeImpl.RegisterType(bpmnModelBuilder);
            impl.instance.di.ExtensionImpl.RegisterType(bpmnModelBuilder);
            LabelImpl.RegisterType(bpmnModelBuilder);
            LabeledEdgeImpl.RegisterType(bpmnModelBuilder);
            LabeledShapeImpl.RegisterType(bpmnModelBuilder);
            NodeImpl.RegisterType(bpmnModelBuilder);
            PlaneImpl.RegisterType(bpmnModelBuilder);
            ShapeImpl.RegisterType(bpmnModelBuilder);
            StyleImpl.RegisterType(bpmnModelBuilder);
            WaypointImpl.RegisterType(bpmnModelBuilder);

            // BPMNDI
            BpmnDiagramImpl.RegisterType(bpmnModelBuilder);
            BpmnEdgeImpl.RegisterType(bpmnModelBuilder);
            BpmnLabelImpl.RegisterType(bpmnModelBuilder);
            BpmnLabelStyleImpl.RegisterType(bpmnModelBuilder);
            BpmnPlaneImpl.RegisterType(bpmnModelBuilder);
            BpmnShapeImpl.RegisterType(bpmnModelBuilder);

            // camunda extensions
            CamundaConnectorImpl.RegisterType(bpmnModelBuilder);
            CamundaConnectorIdImpl.RegisterType(bpmnModelBuilder);
            CamundaConstraintImpl.RegisterType(bpmnModelBuilder);
            CamundaEntryImpl.RegisterType(bpmnModelBuilder);
            CamundaExecutionListenerImpl.RegisterType(bpmnModelBuilder);
            CamundaExpressionImpl.RegisterType(bpmnModelBuilder);
            CamundaFailedJobRetryTimeCycleImpl.RegisterType(bpmnModelBuilder);
            CamundaFieldImpl.RegisterType(bpmnModelBuilder);
            CamundaFormDataImpl.RegisterType(bpmnModelBuilder);
            CamundaFormFieldImpl.RegisterType(bpmnModelBuilder);
            CamundaFormPropertyImpl.RegisterType(bpmnModelBuilder);
            CamundaInImpl.RegisterType(bpmnModelBuilder);
            CamundaInputOutputImpl.RegisterType(bpmnModelBuilder);
            CamundaInputParameterImpl.RegisterType(bpmnModelBuilder);
            CamundaListImpl.RegisterType(bpmnModelBuilder);
            CamundaMapImpl.RegisterType(bpmnModelBuilder);
            CamundaOutputParameterImpl.RegisterType(bpmnModelBuilder);
            CamundaOutImpl.RegisterType(bpmnModelBuilder);
            CamundaPotentialStarterImpl.RegisterType(bpmnModelBuilder);
            CamundaPropertiesImpl.RegisterType(bpmnModelBuilder);
            CamundaPropertyImpl.RegisterType(bpmnModelBuilder);
            CamundaScriptImpl.RegisterType(bpmnModelBuilder);
            CamundaStringImpl.RegisterType(bpmnModelBuilder);
            CamundaTaskListenerImpl.RegisterType(bpmnModelBuilder);
            CamundaValidationImpl.RegisterType(bpmnModelBuilder);
            CamundaValueImpl.RegisterType(bpmnModelBuilder);
        }