You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2015/02/05 22:05:31 UTC
[10/51] [partial] incubator-reef git commit: [REEF-131] Towards the
new .Net project structure This is to change .Net project structure for Tang,
Wake, REEF utilities, Common and Driver:
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Implementations/Tang/TangImpl.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Implementations/Tang/TangImpl.cs b/lang/cs/Source/TANG/Tang/Implementations/Tang/TangImpl.cs
deleted file mode 100644
index 5e0181b..0000000
--- a/lang/cs/Source/TANG/Tang/Implementations/Tang/TangImpl.cs
+++ /dev/null
@@ -1,201 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using System;
-using System.Collections.Generic;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Exceptions;
-using Org.Apache.Reef.Tang.Formats;
-using Org.Apache.Reef.Tang.Interface;
-using Org.Apache.Reef.Tang.Util;
-
-namespace Org.Apache.Reef.Tang.Implementations
-{
- public class TangImpl : ITang
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(TangImpl));
-
- private static IDictionary<SetValuedKey, ICsClassHierarchy> defaultClassHierarchy = new Dictionary<SetValuedKey, ICsClassHierarchy>();
-
- public IInjector NewInjector()
- {
- try
- {
- return NewInjector(new ConfigurationImpl[] {});
- }
- catch (BindException e)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(e, Level.Error, LOGGER);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new IllegalStateException("Unexpected error from empty configuration", e), LOGGER);
- return null;
- }
- }
-
- public IInjector NewInjector(string[] assemblies, string configurationFileName)
- {
- ITang tang = TangFactory.GetTang();
- ICsConfigurationBuilder cb1 = tang.NewConfigurationBuilder(assemblies);
- ConfigurationFile.AddConfigurationFromFile(cb1, configurationFileName);
- IConfiguration conf = cb1.Build();
-
- IInjector injector = tang.NewInjector(conf);
- return injector;
- }
-
- public ICsConfigurationBuilder NewConfigurationBuilder(IConfiguration conf)
- {
- return NewConfigurationBuilder(new IConfiguration[] { conf });
- }
-
- //public IInjector NewInjector(string[] assemblies, IDictionary<string, string> configurations)
- //{
- // ITang tang = TangFactory.GetTang();
- // ICsConfigurationBuilder cb1 = tang.NewConfigurationBuilder(assemblies);
- // ConfigurationFile.ProcessConfigData(cb1, configurations);
- // IConfiguration conf = cb1.Build();
-
- // IInjector injector = tang.NewInjector(conf);
- // return injector;
- //}
-
- public IInjector NewInjector(string[] assemblies, IDictionary<string, string> configurations)
- {
- IList<KeyValuePair<string, string>> conf = new List<KeyValuePair<string, string>>();
- foreach (KeyValuePair<string, string> kp in configurations)
- {
- conf.Add(kp);
- }
- return NewInjector(assemblies, conf);
- }
-
- public IInjector NewInjector(string[] assemblies, IList<KeyValuePair<string, string>> configurations)
- {
- ITang tang = TangFactory.GetTang();
- ICsConfigurationBuilder cb1 = tang.NewConfigurationBuilder(assemblies);
- ConfigurationFile.ProcessConfigData(cb1, configurations);
- IConfiguration conf = cb1.Build();
-
- IInjector injector = tang.NewInjector(conf);
- return injector;
- }
-
- public IInjector NewInjector(IConfiguration[] confs)
- {
- return new InjectorImpl(new CsConfigurationBuilderImpl(confs).Build());
- }
-
- public IInjector NewInjector(IConfiguration conf)
- {
- //return new InjectorImpl(conf);
- try
- {
- return NewInjector(new ConfigurationImpl[] { (ConfigurationImpl)conf });
- }
- catch (BindException e)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(e, Level.Error, LOGGER);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new IllegalStateException("Unexpected error cloning configuration", e), LOGGER);
- return null;
- }
- }
-
- public IClassHierarchy GetClassHierarchy(string[] assemblies)
- {
- return GetDefaultClassHierarchy(assemblies, new Type[] { });
- }
-
- public ICsClassHierarchy GetDefaultClassHierarchy()
- {
- return GetDefaultClassHierarchy(new string[0], new Type[0]);
- }
-
- public ICsClassHierarchy GetDefaultClassHierarchy(string[] assemblies, Type[] parameterParsers)
- {
- SetValuedKey key = new SetValuedKey(assemblies, parameterParsers);
-
- ICsClassHierarchy ret = null;
- defaultClassHierarchy.TryGetValue(key, out ret);
- if (ret == null)
- {
- ret = new ClassHierarchyImpl(assemblies, parameterParsers);
- defaultClassHierarchy.Add(key, ret);
- }
- return ret;
- }
-
- public ICsConfigurationBuilder NewConfigurationBuilder()
- {
- try
- {
- return NewConfigurationBuilder(new string[0], new IConfiguration[0], new Type[0]);
- }
- catch (BindException e)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(e, Level.Error, LOGGER);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new IllegalStateException(
- "Caught unexpeceted bind exception! Implementation bug.", e), LOGGER);
- return null;
- }
- }
-
- public ICsConfigurationBuilder NewConfigurationBuilder(string[] assemblies)
- {
- try
- {
- return NewConfigurationBuilder(assemblies, new IConfiguration[0], new Type[0]);
- }
- catch (BindException e)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(e, Level.Error, LOGGER);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new IllegalStateException(
- "Caught unexpeceted bind exception! Implementation bug.", e), LOGGER);
- return null;
- }
- }
-
- public IConfigurationBuilder NewConfigurationBuilder(IClassHierarchy classHierarchy)
- {
- return new ConfigurationBuilderImpl(classHierarchy);
- }
-
- public ICsConfigurationBuilder NewConfigurationBuilder(ICsClassHierarchy classHierarchy)
- {
- return new CsConfigurationBuilderImpl(classHierarchy);
- }
-
- public ICsConfigurationBuilder NewConfigurationBuilder(IConfiguration[] confs)
- {
- return NewConfigurationBuilder(new string[0], confs, new Type[0]);
- }
-
- public ICsConfigurationBuilder NewConfigurationBuilder(string[] assemblies, IConfiguration[] confs, Type[] parameterParsers)
- {
- return new CsConfigurationBuilderImpl(assemblies, confs, parameterParsers);
- }
-
- public ICsConfigurationBuilder NewConfigurationBuilder(Type[] parameterParsers)
- {
- return NewConfigurationBuilder(new string[0], new IConfiguration[0], parameterParsers);
- }
-
- public static void Reset()
- {
- defaultClassHierarchy = new Dictionary<SetValuedKey, ICsClassHierarchy>();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/IAspect.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/IAspect.cs b/lang/cs/Source/TANG/Tang/Interface/IAspect.cs
deleted file mode 100644
index 2c19897..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/IAspect.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using System.Reflection;
-using Org.Apache.Reef.Tang.Implementations;
-using Org.Apache.Reef.Tang.Types;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface Aspect
- {
- object Inject(IConstructorDef def, ConstructorInfo constructor, object[] args);
- void InjectionFutureInstantiated<T>(IInjectionFuture<T> f, object t);
- Aspect CreateChildAspect();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/IClassHierarchy.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/IClassHierarchy.cs b/lang/cs/Source/TANG/Tang/Interface/IClassHierarchy.cs
deleted file mode 100644
index 7428942..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/IClassHierarchy.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using Org.Apache.Reef.Tang.Types;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface IClassHierarchy
- {
- INode GetNode(string fullName);
- INode GetNamespace();
- bool IsImplementation(IClassNode inter, IClassNode impl);
- IClassHierarchy Merge(IClassHierarchy ch);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/IConfiguration.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/IConfiguration.cs b/lang/cs/Source/TANG/Tang/Interface/IConfiguration.cs
deleted file mode 100644
index 6903d19..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/IConfiguration.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Org.Apache.Reef.Tang.Types;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface IConfiguration
- {
- IConfigurationBuilder newBuilder();
- string GetNamedParameter(INamedParameterNode np);
- IClassHierarchy GetClassHierarchy();
-
- ISet<Object> GetBoundSet(INamedParameterNode np); //named parameter for a set
- IList<Object> GetBoundList(INamedParameterNode np); //named parameter for a list
-
- IClassNode GetBoundConstructor(IClassNode cn);
- IClassNode GetBoundImplementation(IClassNode cn);
- IConstructorDef GetLegacyConstructor(IClassNode cn);
-
- ICollection<IClassNode> GetBoundImplementations();
- ICollection<IClassNode> GetBoundConstructors();
- ICollection<INamedParameterNode> GetNamedParameters();
- ICollection<IClassNode> GetLegacyConstructors();
-
- IEnumerator<KeyValuePair<INamedParameterNode, object>> GetBoundSets();
- IDictionary<INamedParameterNode, IList<object>> GetBoundList();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/IConfigurationBuilder.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/IConfigurationBuilder.cs b/lang/cs/Source/TANG/Tang/Interface/IConfigurationBuilder.cs
deleted file mode 100644
index 640b11d..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/IConfigurationBuilder.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Org.Apache.Reef.Tang.Types;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface IConfigurationBuilder
- {
- void AddConfiguration(IConfiguration c);
- IClassHierarchy GetClassHierarchy();
- IConfiguration Build();
- void Bind(string iface, string impl);
- void Bind(INode key, INode value);
-
- void BindConstructor(IClassNode k, IClassNode v); //v extended from ExternalConstructor
- string ClassPrettyDefaultString(string longName);
- string ClassPrettyDescriptionString(string longName);
-
- void RegisterLegacyConstructor(IClassNode cn, IList<IClassNode> args);
- void RegisterLegacyConstructor(string cn, IList<string> args);
- void RegisterLegacyConstructor(IClassNode c, IList<IConstructorArg> args);
-
- void BindSetEntry(string iface, string impl);
- void BindSetEntry(string iface, INode impl);
- void BindSetEntry(INamedParameterNode iface, string impl);
- void BindSetEntry(INamedParameterNode iface, INode impl);
-
- void BindList(string iface, IList<string> impl);
- void BindList(string iface, IList<INode> impl);
- void BindList(INamedParameterNode iface, IList<INode> impl);
- void BindList(INamedParameterNode iface, IList<string> impl);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/ICsClassHierarchy.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/ICsClassHierarchy.cs b/lang/cs/Source/TANG/Tang/Interface/ICsClassHierarchy.cs
deleted file mode 100644
index 07c94dc..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/ICsClassHierarchy.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using System;
-using Org.Apache.Reef.Tang.Types;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface ICsClassHierarchy : IClassHierarchy
- {
- INode GetNode(Type c);
- Type ClassForName(string name);
- object Parse(INamedParameterNode name, string value);
- object ParseDefaultValue(INamedParameterNode name);
-
-
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/ICsConfigurationBuilder.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/ICsConfigurationBuilder.cs b/lang/cs/Source/TANG/Tang/Interface/ICsConfigurationBuilder.cs
deleted file mode 100644
index c6e6864..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/ICsConfigurationBuilder.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using System;
-using System.Collections.Generic;
-using Org.Apache.Reef.Tang.Annotations;
-using Org.Apache.Reef.Tang.Util;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface ICsConfigurationBuilder : IConfigurationBuilder
- {
- /// <summary>
- /// Binds the named parameter.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <param name="value">The value.</param>
- ICsConfigurationBuilder BindNamedParameter(Type name, string value); //name must extend from Name<T>
-
- /// <summary>
- /// Binds the class impl as the implementation of the interface iface
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <param name="impl">The impl.</param>
- ICsConfigurationBuilder BindImplementation(Type iface, Type impl);
-
- /// <summary>
- /// Binds the List entry.
- /// </summary>
- /// <param name="iface">The iface. It is a Name of IList</param>
- /// <param name="impl">The impl.</param>
- ICsConfigurationBuilder BindList(Type iface, IList<Type> impl);
-
- /// <summary>
- /// Binds the named parameter.
- /// </summary>
- /// <typeparam name="U"></typeparam>
- /// <typeparam name="T"></typeparam>
- /// <param name="name">The name.</param>
- /// <param name="value">The value.</param>
- ICsConfigurationBuilder BindNamedParameter<U, T>(GenericType<U> name, string value)
- where U : Name<T>;
-
- /// <summary>
- /// Binds the named parameter.
- /// </summary>
- /// <typeparam name="U"></typeparam>
- /// <typeparam name="V"></typeparam>
- /// <typeparam name="T"></typeparam>
- /// <param name="iface">The iface.</param>
- /// <param name="impl">The impl.</param>
- ICsConfigurationBuilder BindNamedParameter<U, V, T>(GenericType<U> iface, GenericType<V> impl)
- where U : Name<T>
- where V : T;
-
- /// <summary>
- /// Binds the implementation.
- /// </summary>
- /// <typeparam name="U"></typeparam>
- /// <typeparam name="T"></typeparam>
- /// <param name="iface">The iface.</param>
- /// <param name="impl">The impl.</param>
- ICsConfigurationBuilder BindImplementation<U, T>(GenericType<U> iface, GenericType<T> impl)
- where T : U;
-
- //public <T> void bindConstructor(Class<T> c, Class<? extends ExternalConstructor<? extends T>> v) throws BindException;
- ICsConfigurationBuilder BindConstructor<T, U>(GenericType<T> c, GenericType<U> v)
- where U : IExternalConstructor<T>;
-
- //public <T> void bindSetEntry(Class<? extends Name<Set<T>>> iface, String value) throws BindException;
- ICsConfigurationBuilder BindSetEntry<U, T>(GenericType<U> iface, string value)
- where U : Name<ISet<T>>;
-
- //public <T> void bindSetEntry(Class<? extends Name<Set<T>>> iface, Class<? extends T> impl) throws BindException;
- ICsConfigurationBuilder BindSetEntry<U, V, T>(GenericType<U> iface, GenericType<V> impl)
- where U : Name<ISet<T>>
- where V : T;
-
- ICsConfigurationBuilder BindList<U, V, T>(GenericType<U> iface, IList<GenericType<V>> impl)
- where U : Name<IList<T>>
- where V : T;
-
- ICsConfigurationBuilder BindList<U, T>(GenericType<U> iface, IList<string> impl)
- where U : Name<IList<T>>;
-
- ICsConfigurationBuilder BindNamedParameter<U, V, T>()
- where U : Name<T>
- where V : T;
-
- ICsConfigurationBuilder BindNamedParam<TName, TType>(string str) where TName : Name<TType>;
-
- ICsConfigurationBuilder BindStringNamedParam<T>(string str) where T : Name<string>;
-
- ICsConfigurationBuilder BindIntNamedParam<T>(string str) where T : Name<int>;
-
- ICsConfigurationBuilder BindImplementation<T1, T2>() where T2 : T1;
-
- ICsConfigurationBuilder BindSetEntry<T1, T2, T3>() where T1 : Name<ISet<T3>> where T2 : T3;
-
- ICsConfigurationBuilder BindSetEntry<U, T>(string value) where U : Name<ISet<T>>;
-
- ICsConfigurationBuilder BindList<U, T>(IList<string> impl) where U : Name<IList<T>>;
-
- ICsConfigurationBuilder BindConstructor<T, U>() where U : IExternalConstructor<T>;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/ICsInternalConfigurationBuilder.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/ICsInternalConfigurationBuilder.cs b/lang/cs/Source/TANG/Tang/Interface/ICsInternalConfigurationBuilder.cs
deleted file mode 100644
index 5386edf..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/ICsInternalConfigurationBuilder.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using System;
-using System.Collections.Generic;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- internal interface ICsInternalConfigurationBuilder : ICsConfigurationBuilder
- {
- /// <summary>
- /// Bind named parameters, implementations or external constructors, depending
- /// on the types of the classes passed in.
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <param name="impl">The impl.</param>
- ICsInternalConfigurationBuilder Bind(Type iface, Type impl);
-
- /// <summary>
- /// Binds the named parameter.
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <param name="impl">The impl.</param>
- ICsInternalConfigurationBuilder BindNamedParameter(Type iface, Type impl);
-
- /// <summary>
- /// Binds an external constructor.
- /// </summary>
- /// <param name="c">The c.</param>
- /// <param name="v">The v.</param>
- ICsInternalConfigurationBuilder BindConstructor(Type c, Type v);
-
- /// <summary>
- /// Binds the set entry.
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <param name="value">The value.</param>
- ICsInternalConfigurationBuilder BindSetEntry(Type iface, string value);
-
- /// <summary>
- /// Binds the set entry.
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <param name="impl">The impl.</param>
- ICsInternalConfigurationBuilder BindSetEntry(Type iface, Type impl);
-
- /// <summary>
- /// Binds the List entry.
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <param name="impl">The impl.</param>
- ICsInternalConfigurationBuilder BindList(Type iface, IList<string> impl);
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/IExternalConstructor.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/IExternalConstructor.cs b/lang/cs/Source/TANG/Tang/Interface/IExternalConstructor.cs
deleted file mode 100644
index eb7bc84..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/IExternalConstructor.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface IExternalConstructor<out T>
- {
- T NewInstance();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/IInjector.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/IInjector.cs b/lang/cs/Source/TANG/Tang/Interface/IInjector.cs
deleted file mode 100644
index 282a9d1..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/IInjector.cs
+++ /dev/null
@@ -1,180 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using System;
-using Org.Apache.Reef.Tang.Annotations;
-using Org.Apache.Reef.Tang.Implementations;
-using Org.Apache.Reef.Tang.Util;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface IInjector
- {
- /// <summary>
- /// Gets an instance of iface, or the implementation that has been bound to it.
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <returns></returns>
- object GetInstance(Type iface);
-
- /// <summary>
- /// Gets the instance for a given class
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <returns></returns>
- T GetInstance<T>() where T : class;
-
- /// <summary>
- /// Gets the instance for a given class name
- /// </summary>
- /// <param name="iface">The iface.</param>
- /// <returns></returns>
- object GetInstance(string iface);
-
- /// <summary>
- /// Get an instance of the named parameter.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <typeparam name="U"></typeparam>
- /// <param name="clazz">The clazz.</param>
- /// <returns></returns>
- U GetNamedInstance<T, U>(GenericType<T> clazz) where T : Name<U>;
-
- /// <summary>
- /// Get an instance of the named parameter.
- /// </summary>
- /// <param name="t">t, it must inherit from Name</param>
- /// <returns></returns>
- object GetNamedInstance(Type t);
-
- /// <summary>
- /// Gets the injection plan.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns></returns>
- InjectionPlan GetInjectionPlan(Type name);
-
- /// <summary>
- /// Gets the injection plan for a given class name
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns></returns>
- InjectionPlan GetInjectionPlan(String name);
-
- /// <summary>
- /// Binds the aspect.
- /// </summary>
- /// <param name="a">A.</param>
- void BindAspect(Aspect a);
-
- /// <summary>
- /// Gets the aspect.
- /// </summary>
- /// <returns></returns>
- Aspect GetAspect();
-
- /// <summary>
- /// Determines whether the specified name is injectable.
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns>
- /// <c>true</c> if the specified name is injectable; otherwise, <c>false</c>.
- /// </returns>
- bool IsInjectable(string name);
-
- /// <summary>
- /// Determines whether [is parameter set] [the specified name].
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns>
- /// <c>true</c> if [is parameter set] [the specified name]; otherwise, <c>false</c>.
- /// </returns>
- bool IsParameterSet(String name);
-
- /// <summary>
- /// Determines whether the specified clazz is injectable.
- /// </summary>
- /// <param name="clazz">The clazz.</param>
- /// <returns>
- /// <c>true</c> if the specified clazz is injectable; otherwise, <c>false</c>.
- /// </returns>
- bool IsInjectable(Type clazz);
-
- /// <summary>
- /// Determines whether [is parameter set] [the specified name].
- /// </summary>
- /// <param name="name">The name.</param>
- /// <returns>
- /// <c>true</c> if [is parameter set] [the specified name]; otherwise, <c>false</c>.
- /// </returns>
- bool IsParameterSet(Type name);
-
- /// <summary>
- /// Forks the injector.
- /// </summary>
- /// <returns></returns>
- IInjector ForkInjector();
-
- /// <summary>
- /// Forks the injector.
- /// </summary>
- /// <param name="configurations">The configurations.</param>
- /// <returns></returns>
- IInjector ForkInjector(IConfiguration[] configurations);
-
- /// <summary>
- /// Binds the volatile instance.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="iface">The iface.</param>
- /// <param name="inst">The inst.</param>
- void BindVolatileInstance<T>(GenericType<T> iface, T inst);
-
- /// <summary>
- /// Binds the volatile parameter.
- /// </summary>
- /// <typeparam name="U"></typeparam>
- /// <typeparam name="T"></typeparam>
- /// <param name="iface">The iface.</param>
- /// <param name="inst">The inst.</param>
- void BindVolatileParameter<U, T>(GenericType<U> iface, T inst) where U : Name<T>;
-
- /// <summary>
- /// Gets the named instance.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <typeparam name="U"></typeparam>
- /// <returns></returns>
- U GetNamedInstance<T, U>() where T : Name<U>;
-
- /// <summary>
- /// Binds the volatile instance.
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="inst">The inst.</param>
- void BindVolatileInstance<T>(T inst);
-
- /// <summary>
- /// Binds the volatile parameter.
- /// </summary>
- /// <typeparam name="U"></typeparam>
- /// <typeparam name="T"></typeparam>
- /// <param name="inst">The inst.</param>
- void BindVolatileParameter<U, T>(T inst) where U : Name<T>;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Interface/ITang.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Interface/ITang.cs b/lang/cs/Source/TANG/Tang/Interface/ITang.cs
deleted file mode 100644
index 673662f..0000000
--- a/lang/cs/Source/TANG/Tang/Interface/ITang.cs
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-using System;
-using System.Collections.Generic;
-
-namespace Org.Apache.Reef.Tang.Interface
-{
- public interface ITang
- {
- IInjector NewInjector();
- IInjector NewInjector(IConfiguration[] confs);
- IInjector NewInjector(IConfiguration confs);
- IInjector NewInjector(string[] assemblies, string configurationFileName);
- IInjector NewInjector(string[] assemblies, IDictionary<string, string> configurations);
- IInjector NewInjector(string[] assemblies, IList<KeyValuePair<string, string>> configurations);
- IClassHierarchy GetClassHierarchy(string[] assemblies);
- ICsClassHierarchy GetDefaultClassHierarchy();
- ICsClassHierarchy GetDefaultClassHierarchy(string[] assemblies, Type[] parameterParsers);
-
- ICsConfigurationBuilder NewConfigurationBuilder();
- ICsConfigurationBuilder NewConfigurationBuilder(string[] assemblies);
- ICsConfigurationBuilder NewConfigurationBuilder(IConfiguration[] confs);
- ICsConfigurationBuilder NewConfigurationBuilder(IConfiguration conf);
- ICsConfigurationBuilder NewConfigurationBuilder(string[] assemblies, IConfiguration[] confs, Type[] parameterParsers);
- IConfigurationBuilder NewConfigurationBuilder(IClassHierarchy classHierarchy);
- ICsConfigurationBuilder NewConfigurationBuilder(ICsClassHierarchy classHierarchy);
-
- ICsConfigurationBuilder NewConfigurationBuilder(Type[] parameterParsers);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Properties/AssemblyInfo.cs b/lang/cs/Source/TANG/Tang/Properties/AssemblyInfo.cs
deleted file mode 100644
index eb9116c..0000000
--- a/lang/cs/Source/TANG/Tang/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Tang")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Tang")]
-[assembly: AssemblyCopyright("Copyright © 2015")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("9be5f89c-7b7e-4236-ac54-10fda8eef58e")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Protobuf/ProtocolBufferClassHierarchy.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Protobuf/ProtocolBufferClassHierarchy.cs b/lang/cs/Source/TANG/Tang/Protobuf/ProtocolBufferClassHierarchy.cs
deleted file mode 100644
index 15ae379..0000000
--- a/lang/cs/Source/TANG/Tang/Protobuf/ProtocolBufferClassHierarchy.cs
+++ /dev/null
@@ -1,473 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Exceptions;
-using Org.Apache.Reef.Tang.Implementations;
-using Org.Apache.Reef.Tang.Interface;
-using Org.Apache.Reef.Tang.Types;
-using ProtoBuf;
-
-namespace Org.Apache.Reef.Tang.Protobuf
-{
- public class ProtocolBufferClassHierarchy : IClassHierarchy
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(ProtocolBufferClassHierarchy));
-
- private IPackageNode rootNode;
- private IDictionary<string, INode> lookupTable = new Dictionary<string, INode>();
-
- public static void Serialize(string fileName, IClassHierarchy classHierarchy)
- {
- ClassHierarchyProto.Node node = Serialize(classHierarchy);
-
- using (var file = File.Create(fileName))
- {
- Serializer.Serialize<ClassHierarchyProto.Node>(file, node);
- }
- }
-
- public static ClassHierarchyProto.Node Serialize(IClassHierarchy classHierarchy)
- {
- return SerializeNode(classHierarchy.GetNamespace());
- }
-
- private static ClassHierarchyProto.Node SerializeNode(INode n)
- {
- IList<ClassHierarchyProto.Node> children = new List<ClassHierarchyProto.Node>();
-
- foreach (INode child in n.GetChildren())
- {
- children.Add(SerializeNode(child));
- }
-
- if (n is IClassNode)
- {
- IClassNode cn = (IClassNode)n;
- IList<IConstructorDef> injectable = cn.GetInjectableConstructors();
- IList<IConstructorDef> all = cn.GetAllConstructors();
- IList<IConstructorDef> others = new List<IConstructorDef>(all);
-
- foreach (var c in injectable)
- {
- others.Remove(c);
- }
-
- IList<ClassHierarchyProto.ConstructorDef> injectableConstructors = new List<ClassHierarchyProto.ConstructorDef>();
- foreach (IConstructorDef inj in injectable)
- {
- injectableConstructors.Add(SerializeConstructorDef(inj));
- }
-
- IList<ClassHierarchyProto.ConstructorDef> otherConstructors = new List<ClassHierarchyProto.ConstructorDef>();
- foreach (IConstructorDef other in others)
- {
- otherConstructors.Add(SerializeConstructorDef(other));
- }
-
- List<string> implFullNames = new List<string>();
- foreach (IClassNode impl in cn.GetKnownImplementations())
- {
- implFullNames.Add(impl.GetFullName()); //we use class fully qualifed name
- }
-
- return NewClassNode(cn.GetName(), cn.GetFullName(),
- cn.IsInjectionCandidate(), cn.IsExternalConstructor(), cn.IsUnit(),
- injectableConstructors, otherConstructors, implFullNames, children);
- }
- if (n is INamedParameterNode)
- {
- INamedParameterNode np = (INamedParameterNode)n;
- return NewNamedParameterNode(np.GetName(), np.GetFullName(),
- np.GetSimpleArgName(), np.GetFullArgName(), np.IsSet(), np.IsList(), np.GetDocumentation(),
- np.GetShortName(), np.GetDefaultInstanceAsStrings(), children);
- }
- if (n is IPackageNode)
- {
- return NewPackageNode(n.GetName(), n.GetFullName(), children);
- }
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new IllegalStateException("Encountered unknown type of Node: " + n), LOGGER);
- return null;
- }
-
- private static ClassHierarchyProto.ConstructorDef SerializeConstructorDef(IConstructorDef def)
- {
- IList<ClassHierarchyProto.ConstructorArg> args = new List<ClassHierarchyProto.ConstructorArg>();
- foreach (IConstructorArg arg in def.GetArgs())
- {
- args.Add(NewConstructorArg(arg.Gettype(), arg.GetNamedParameterName(), arg.IsInjectionFuture()));
- }
- return newConstructorDef(def.GetClassName(), args);
- }
-
- private static ClassHierarchyProto.ConstructorArg NewConstructorArg(
- string fullArgClassName, string namedParameterName, bool isFuture)
- {
- ClassHierarchyProto.ConstructorArg constArg = new ClassHierarchyProto.ConstructorArg();
- constArg.full_arg_class_name = fullArgClassName;
- constArg.named_parameter_name = namedParameterName;
- constArg.is_injection_future = isFuture;
- return constArg;
- }
-
- private static ClassHierarchyProto.ConstructorDef newConstructorDef(
- String fullClassName, IList<ClassHierarchyProto.ConstructorArg> args)
- {
- ClassHierarchyProto.ConstructorDef constDef = new ClassHierarchyProto.ConstructorDef();
- constDef.full_class_name = fullClassName;
- foreach (ClassHierarchyProto.ConstructorArg arg in args)
- {
- constDef.args.Add(arg);
- }
-
- return constDef;
- }
-
- private static ClassHierarchyProto.Node NewClassNode(String name,
- String fullName, bool isInjectionCandidate,
- bool isExternalConstructor, bool isUnit,
- IList<ClassHierarchyProto.ConstructorDef> injectableConstructors,
- IList<ClassHierarchyProto.ConstructorDef> otherConstructors,
- IList<String> implFullNames, IList<ClassHierarchyProto.Node> children)
- {
- ClassHierarchyProto.ClassNode classNode = new ClassHierarchyProto.ClassNode();
- classNode.is_injection_candidate = isInjectionCandidate;
- foreach (var ic in injectableConstructors)
- {
- classNode.InjectableConstructors.Add(ic);
- }
-
- foreach (var oc in otherConstructors)
- {
- classNode.OtherConstructors.Add(oc);
- }
- foreach (var implFullName in implFullNames)
- {
- classNode.impl_full_names.Add(implFullName);
- }
-
- ClassHierarchyProto.Node n = new ClassHierarchyProto.Node();
- n.name = name;
- n.full_name = fullName;
- n.class_node = classNode;
-
- foreach (var c in children)
- {
- n.children.Add(c);
- }
-
- return n;
- }
-
- private static ClassHierarchyProto.Node NewNamedParameterNode(string name,
- string fullName, string simpleArgClassName, string fullArgClassName,
- bool isSet, bool isList, string documentation, // can be null
- string shortName, // can be null
- string[] instanceDefault, // can be null
- IList<ClassHierarchyProto.Node> children)
- {
- ClassHierarchyProto.NamedParameterNode namedParameterNode = new ClassHierarchyProto.NamedParameterNode();
- namedParameterNode.simple_arg_class_name = simpleArgClassName;
- namedParameterNode.full_arg_class_name = fullArgClassName;
- namedParameterNode.is_set = isSet;
- namedParameterNode.is_list = isList;
-
- if (documentation != null)
- {
- namedParameterNode.documentation = documentation;
- }
-
- if (shortName != null)
- {
- namedParameterNode.short_name = shortName;
- }
-
- foreach (var id in instanceDefault)
- {
- namedParameterNode.instance_default.Add(id);
- }
-
- ClassHierarchyProto.Node n = new ClassHierarchyProto.Node();
- n.name = name;
- n.full_name = fullName;
- n.named_parameter_node = namedParameterNode;
-
- foreach (var c in children)
- {
- n.children.Add(c);
- }
-
- return n;
- }
-
- private static ClassHierarchyProto.Node NewPackageNode(string name,
- string fullName, IList<ClassHierarchyProto.Node> children)
- {
- ClassHierarchyProto.PackageNode packageNode = new ClassHierarchyProto.PackageNode();
- ClassHierarchyProto.Node n = new ClassHierarchyProto.Node();
- n.name = name;
- n.full_name = fullName;
- n.package_node = packageNode;
-
- foreach (var c in children)
- {
- n.children.Add(c);
- }
-
- return n;
- }
-
- public static IClassHierarchy DeSerialize(string fileName)
- {
- ClassHierarchyProto.Node root;
-
- using (var file = File.OpenRead(fileName))
- {
- root = Serializer.Deserialize<ClassHierarchyProto.Node>(file);
- }
-
- return new ProtocolBufferClassHierarchy(root);
- }
-
- public ProtocolBufferClassHierarchy() //create a ProtocolBufferClassHierarchy with empty nodes and lookup table. It can be used to merge other class hierarchy to it
- {
- this.rootNode = new PackageNodeImpl();
- }
-
- public ProtocolBufferClassHierarchy(ClassHierarchyProto.Node root)
- {
- this.rootNode = new PackageNodeImpl();
- if (root.package_node == null)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new ArgumentException("Expected a package node. Got: " + root), LOGGER);
- }
- // Register all the classes.
- foreach (ClassHierarchyProto.Node child in root.children)
- {
- ParseSubHierarchy(rootNode, child);
- }
-
- BuildHashTable(rootNode);
-
- foreach (ClassHierarchyProto.Node child in root.children)
- {
- WireUpInheritanceRelationships(child);
- }
- }
-
- public void BuildHashTable(INode n)
- {
- foreach (INode child in n.GetChildren())
- {
- lookupTable.Add(child.GetFullName(), child);
- BuildHashTable(child);
- }
- }
-
- private static void ParseSubHierarchy(INode parent, ClassHierarchyProto.Node n)
- {
- INode parsed = null;
- if (n.package_node != null)
- {
- parsed = new PackageNodeImpl(parent, n.name, n.full_name);
- }
- else if (n.named_parameter_node != null)
- {
- ClassHierarchyProto.NamedParameterNode np = n.named_parameter_node;
- parsed = new NamedParameterNodeImpl(parent, n.name,
- n.full_name, np.full_arg_class_name, np.simple_arg_class_name,
- np.is_set, np.is_list, np.documentation, np.short_name,
- np.instance_default.ToArray());
- }
- else if (n.class_node != null)
- {
- ClassHierarchyProto.ClassNode cn = n.class_node;
- IList<IConstructorDef> injectableConstructors = new List<IConstructorDef>();
- IList<IConstructorDef> allConstructors = new List<IConstructorDef>();
-
- foreach (ClassHierarchyProto.ConstructorDef injectable in cn.InjectableConstructors)
- {
- IConstructorDef def = ParseConstructorDef(injectable, true);
- injectableConstructors.Add(def);
- allConstructors.Add(def);
- }
- foreach (ClassHierarchyProto.ConstructorDef other in cn.OtherConstructors)
- {
- IConstructorDef def = ParseConstructorDef(other, false);
- allConstructors.Add(def);
-
- }
-
- IConstructorDef[] dummy = new ConstructorDefImpl[0];
- parsed = new ClassNodeImpl(parent, n.name, n.full_name,
- cn.is_unit, cn.is_injection_candidate,
- cn.is_external_constructor, injectableConstructors,
- allConstructors, cn.default_implementation);
- }
- else
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new IllegalStateException("Bad protocol buffer: got abstract node" + n), LOGGER);
- }
-
- foreach (ClassHierarchyProto.Node child in n.children)
- {
- ParseSubHierarchy(parsed, child);
- }
- }
-
- private static IConstructorDef ParseConstructorDef(ClassHierarchyProto.ConstructorDef def, bool isInjectable)
- {
- IList<IConstructorArg> args = new List<IConstructorArg>();
- foreach (ClassHierarchyProto.ConstructorArg arg in def.args)
- {
- args.Add(new ConstructorArgImpl(arg.full_arg_class_name, arg.named_parameter_name, arg.is_injection_future));
- }
- return new ConstructorDefImpl(def.full_class_name, args.ToArray(), isInjectable);
- }
-
- private void WireUpInheritanceRelationships(ClassHierarchyProto.Node n)
- {
- if (n.class_node != null)
- {
- ClassHierarchyProto.ClassNode cn = n.class_node;
- IClassNode iface = null;
- try
- {
- iface = (IClassNode)GetNode(n.full_name);
- }
- catch (NameResolutionException e)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(e, Level.Error, LOGGER);
- var ex = new IllegalStateException("When reading protocol buffer node "
- + n.full_name + " does not exist. Full record is " + n, e);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- foreach (String impl in cn.impl_full_names)
- {
- try
- {
- iface.PutImpl((IClassNode)GetNode(impl));
- }
- catch (NameResolutionException e)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(e, Level.Error, LOGGER);
- var ex = new IllegalStateException("When reading protocol buffer node "
- + n + " refers to non-existent implementation:" + impl);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
-
- }
- catch (InvalidCastException e)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(e, Level.Error, LOGGER);
- try
- {
- var ex = new IllegalStateException(
- "When reading protocol buffer node " + n
- + " found implementation" + GetNode(impl)
- + " which is not a ClassNode!");
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- catch (NameResolutionException ne)
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Caught(ne, Level.Error, LOGGER);
- var ex = new IllegalStateException(
- "Got 'cant happen' exception when producing error message for " + e);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- }
- }
- }
- }
-
- public INode GetNode(String fullName)
- {
- INode ret;
- lookupTable.TryGetValue(fullName, out ret);
- if (ret == null)
- {
- var ex = new NameResolutionException(fullName, "Cannot resolve the name from the class hierarchy during deserialization: " + fullName);
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(ex, LOGGER);
- }
- return ret;
- }
-
- public INode GetNamespace()
- {
- return rootNode;
- }
-
- public bool IsImplementation(IClassNode inter, IClassNode impl)
- {
- return impl.IsImplementationOf(inter);
- }
-
- public IClassHierarchy Merge(IClassHierarchy ch)
- {
- if (this == ch)
- {
- return this;
- }
-
- if (!(ch is ProtocolBufferClassHierarchy))
- {
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new NotSupportedException(
- "Cannot merge ExternalClassHierarchies yet!"), LOGGER);
- }
-
- ProtocolBufferClassHierarchy pch = (ProtocolBufferClassHierarchy)ch;
- foreach (var pair in pch.lookupTable)
- {
- if (!this.lookupTable.ContainsKey(pair.Key))
- {
- this.lookupTable.Add(pair);
- }
- }
-
- foreach (INode n in ch.GetNamespace().GetChildren())
- {
- if (!rootNode.Contains(n.GetFullName()))
- {
- if (n is INamedParameterNode)
- {
- INamedParameterNode np = (INamedParameterNode) n;
- new NamedParameterNodeImpl(this.rootNode, np.GetName(),
- np.GetFullName(), np.GetFullArgName(), np.GetSimpleArgName(),
- np.IsSet(), np.IsList(), np.GetDocumentation(), np.GetShortName(),
- np.GetDefaultInstanceAsStrings().ToArray());
- }
- else if (n is IClassNode)
- {
- IClassNode cn = (IClassNode) n;
- new ClassNodeImpl(rootNode, cn.GetName(), cn.GetFullName(),
- cn.IsUnit(), cn.IsInjectionCandidate(),
- cn.IsExternalConstructor(), cn.GetInjectableConstructors(),
- cn.GetAllConstructors(), cn.GetDefaultImplementation());
- }
- }
- }
-
- return this;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Protobuf/ProtocolBufferInjectionPlan.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Protobuf/ProtocolBufferInjectionPlan.cs b/lang/cs/Source/TANG/Tang/Protobuf/ProtocolBufferInjectionPlan.cs
deleted file mode 100644
index 8d503ae..0000000
--- a/lang/cs/Source/TANG/Tang/Protobuf/ProtocolBufferInjectionPlan.cs
+++ /dev/null
@@ -1,204 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using Org.Apache.Reef.Utilities.Logging;
-using Org.Apache.Reef.Tang.Exceptions;
-using Org.Apache.Reef.Tang.Implementations;
-using Org.Apache.Reef.Tang.Interface;
-using Org.Apache.Reef.Tang.Types;
-using ProtoBuf;
-
-namespace Org.Apache.Reef.Tang.Protobuf
-{
- public class ProtocolBufferInjectionPlan
- {
- private static readonly Logger LOGGER = Logger.GetLogger(typeof(ProtocolBufferInjectionPlan));
-
- private static InjectionPlanProto.InjectionPlan NewConstructor(string fullName, List<InjectionPlanProto.InjectionPlan> plans)
- {
- InjectionPlanProto.Constructor cconstr = new InjectionPlanProto.Constructor();
- foreach (InjectionPlanProto.InjectionPlan p in plans)
- {
- cconstr.args.Add(p);
- }
-
- InjectionPlanProto.InjectionPlan plan = new InjectionPlanProto.InjectionPlan();
- plan.name = fullName;
- plan.constructor = cconstr;
- return plan;
- }
-
- private static InjectionPlanProto.InjectionPlan NewSubplan(string fullName, int selectedPlan, List<InjectionPlanProto.InjectionPlan> plans)
- {
- InjectionPlanProto.Subplan subPlan = new InjectionPlanProto.Subplan();
-
- subPlan.selected_plan = selectedPlan;
- foreach (InjectionPlanProto.InjectionPlan p in plans)
- {
- subPlan.plans.Add(p);
- }
-
- InjectionPlanProto.InjectionPlan plan = new InjectionPlanProto.InjectionPlan();
- plan.name = fullName;
- plan.subplan = subPlan;
- return plan;
- }
-
- private static InjectionPlanProto.InjectionPlan NewInstance(string fullName, string value)
- {
- InjectionPlanProto.Instance instance = new InjectionPlanProto.Instance();
- instance.value = value;
-
- InjectionPlanProto.InjectionPlan plan = new InjectionPlanProto.InjectionPlan();
- plan.name = fullName;
- plan.instance = instance;
- return plan;
-
- }
-
- public static void Serialize(string fileName, InjectionPlan ip)
- {
- InjectionPlanProto.InjectionPlan plan = Serialize(ip);
-
- using (var file = File.Create(fileName))
- {
- Serializer.Serialize<InjectionPlanProto.InjectionPlan>(file, plan);
- }
- }
-
- public static InjectionPlanProto.InjectionPlan Serialize(InjectionPlan ip)
- {
- if (ip is Constructor)
- {
- Constructor cons = (Constructor) ip;
- InjectionPlan[] args = cons.GetArgs();
- InjectionPlanProto.InjectionPlan[] protoArgs = new InjectionPlanProto.InjectionPlan[args.Length];
- for (int i = 0; i < args.Length; i++)
- {
- protoArgs[i] = Serialize(args[i]);
- }
- return NewConstructor(ip.GetNode().GetFullName(), protoArgs.ToList<InjectionPlanProto.InjectionPlan>());
- }
- if (ip is Subplan)
- {
- Subplan sp = (Subplan) ip;
- InjectionPlan[] args = sp.GetPlans();
- InjectionPlanProto.InjectionPlan[] subPlans = new InjectionPlanProto.InjectionPlan[args.Length];
- for (int i = 0; i < args.Length; i++)
- {
- subPlans[i] = Serialize(args[i]);
- }
- return NewSubplan(ip.GetNode().GetFullName(), sp.GetSelectedIndex(), subPlans.ToList<InjectionPlanProto.InjectionPlan>());
-
- }
- if (ip is CsInstance)
- {
- CsInstance ji = (CsInstance) ip;
- return NewInstance(ip.GetNode().GetFullName(), ji.GetInstanceAsString());
- }
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new IllegalStateException(
- "Encountered unknown type of InjectionPlan: " + ip), LOGGER);
- return null;
- }
-
- public static InjectionPlan DeSerialize(string fileName, IClassHierarchy ch)
- {
- InjectionPlanProto.InjectionPlan protoPlan;
-
- using (var file = File.OpenRead(fileName))
- {
- protoPlan = Serializer.Deserialize<InjectionPlanProto.InjectionPlan>(file);
- }
-
- return Deserialize(ch, protoPlan);
- }
-
- public static InjectionPlan Deserialize(IClassHierarchy ch, InjectionPlanProto.InjectionPlan ip)
- {
- string fullName = ip.name;
- if (ip.constructor != null)
- {
- InjectionPlanProto.Constructor cons = ip.constructor;
- IClassNode cn = (IClassNode) ch.GetNode(fullName);
-
- InjectionPlanProto.InjectionPlan[] protoBufArgs = cons.args.ToArray();
-
- IClassNode[] cnArgs = new IClassNode[protoBufArgs.Length];
-
- for (int i = 0; i < protoBufArgs.Length; i++)
- {
- INode no = ch.GetNode(protoBufArgs[i].name);
- if (no is IClassNode)
- {
- cnArgs[i] = (IClassNode)no;
- }
- else if (no is INamedParameterNode)
- {
- INamedParameterNode np = (INamedParameterNode)no;
- cnArgs[i] = (IClassNode)ch.GetNode(np.GetFullArgName());
- }
- }
-
- InjectionPlan[] ipArgs = new InjectionPlan[protoBufArgs.Length];
-
- for (int i = 0; i < protoBufArgs.Length; i++)
- {
- ipArgs[i] = (InjectionPlan) Deserialize(ch, protoBufArgs[i]);
- }
-
- IConstructorDef constructor = cn.GetConstructorDef(cnArgs);
- return new Constructor(cn, constructor, ipArgs);
- }
- if (ip.instance != null)
- {
- InjectionPlanProto.Instance ins = ip.instance;
- object instance = Parse(ip.name, ins.value);
- return new CsInstance(ch.GetNode(ip.name), instance);
- }
- if (ip.subplan != null)
- {
- InjectionPlanProto.Subplan subplan = ip.subplan;
- InjectionPlanProto.InjectionPlan[] protoBufPlans = subplan.plans.ToArray();
-
- InjectionPlan[] subPlans = new InjectionPlan[protoBufPlans.Length];
- for (int i = 0; i < protoBufPlans.Length; i++)
- {
- subPlans[i] = (InjectionPlan) Deserialize(ch, protoBufPlans[i]);
- }
- INode n = ch.GetNode(fullName);
- return new Subplan(n, subPlans);
- }
- Org.Apache.Reef.Utilities.Diagnostics.Exceptions.Throw(new IllegalStateException("Encountered unknown type of InjectionPlan: " + ip), LOGGER);
- return null;
- }
-
- private static object Parse(String type, String value)
- {
- // XXX this is a placeholder for now. We need a parser API that will
- // either produce a live java object or (partially) validate stuff to
- // see if it looks like the target language will be able to handle this
- // type + value.
- return value;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/c1b5200f/lang/cs/Source/TANG/Tang/Protobuf/class_hierarchy.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/TANG/Tang/Protobuf/class_hierarchy.cs b/lang/cs/Source/TANG/Tang/Protobuf/class_hierarchy.cs
deleted file mode 100644
index 62ffa08..0000000
--- a/lang/cs/Source/TANG/Tang/Protobuf/class_hierarchy.cs
+++ /dev/null
@@ -1,274 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-//------------------------------------------------------------------------------
-// <auto-generated>
-// This code was generated by a tool.
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-// Generated from: class_hierarchy.proto
-namespace ClassHierarchyProto
-{
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"Node")]
- public partial class Node : global::ProtoBuf.IExtensible
- {
- public Node() {}
-
- private string _name;
- [global::ProtoBuf.ProtoMember(1, IsRequired = true, Name=@"name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public string name
- {
- get { return _name; }
- set { _name = value; }
- }
- private string _full_name;
- [global::ProtoBuf.ProtoMember(2, IsRequired = true, Name=@"full_name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public string full_name
- {
- get { return _full_name; }
- set { _full_name = value; }
- }
- private ClassNode _class_node = null;
- [global::ProtoBuf.ProtoMember(3, IsRequired = false, Name=@"class_node", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue(null)]
- public ClassNode class_node
- {
- get { return _class_node; }
- set { _class_node = value; }
- }
- private NamedParameterNode _named_parameter_node = null;
- [global::ProtoBuf.ProtoMember(4, IsRequired = false, Name=@"named_parameter_node", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue(null)]
- public NamedParameterNode named_parameter_node
- {
- get { return _named_parameter_node; }
- set { _named_parameter_node = value; }
- }
- private PackageNode _package_node = null;
- [global::ProtoBuf.ProtoMember(5, IsRequired = false, Name=@"package_node", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue(null)]
- public PackageNode package_node
- {
- get { return _package_node; }
- set { _package_node = value; }
- }
- private readonly global::System.Collections.Generic.List<Node> _children = new global::System.Collections.Generic.List<Node>();
- [global::ProtoBuf.ProtoMember(6, Name=@"children", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public global::System.Collections.Generic.List<Node> children
- {
- get { return _children; }
- }
-
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"ClassNode")]
- public partial class ClassNode : global::ProtoBuf.IExtensible
- {
- public ClassNode() {}
-
- private bool _is_injection_candidate;
- [global::ProtoBuf.ProtoMember(1, IsRequired = true, Name=@"is_injection_candidate", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public bool is_injection_candidate
- {
- get { return _is_injection_candidate; }
- set { _is_injection_candidate = value; }
- }
- private bool _is_external_constructor;
- [global::ProtoBuf.ProtoMember(2, IsRequired = true, Name=@"is_external_constructor", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public bool is_external_constructor
- {
- get { return _is_external_constructor; }
- set { _is_external_constructor = value; }
- }
- private bool _is_unit;
- [global::ProtoBuf.ProtoMember(3, IsRequired = true, Name=@"is_unit", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public bool is_unit
- {
- get { return _is_unit; }
- set { _is_unit = value; }
- }
- private readonly global::System.Collections.Generic.List<ConstructorDef> _InjectableConstructors = new global::System.Collections.Generic.List<ConstructorDef>();
- [global::ProtoBuf.ProtoMember(4, Name=@"InjectableConstructors", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public global::System.Collections.Generic.List<ConstructorDef> InjectableConstructors
- {
- get { return _InjectableConstructors; }
- }
-
- private readonly global::System.Collections.Generic.List<ConstructorDef> _OtherConstructors = new global::System.Collections.Generic.List<ConstructorDef>();
- [global::ProtoBuf.ProtoMember(5, Name=@"OtherConstructors", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public global::System.Collections.Generic.List<ConstructorDef> OtherConstructors
- {
- get { return _OtherConstructors; }
- }
-
- private readonly global::System.Collections.Generic.List<string> _impl_full_names = new global::System.Collections.Generic.List<string>();
- [global::ProtoBuf.ProtoMember(6, Name=@"impl_full_names", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public global::System.Collections.Generic.List<string> impl_full_names
- {
- get { return _impl_full_names; }
- }
-
- private string _default_implementation = "";
- [global::ProtoBuf.ProtoMember(7, IsRequired = false, Name=@"default_implementation", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue("")]
- public string default_implementation
- {
- get { return _default_implementation; }
- set { _default_implementation = value; }
- }
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"NamedParameterNode")]
- public partial class NamedParameterNode : global::ProtoBuf.IExtensible
- {
- public NamedParameterNode() {}
-
- private string _simple_arg_class_name;
- [global::ProtoBuf.ProtoMember(1, IsRequired = true, Name=@"simple_arg_class_name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public string simple_arg_class_name
- {
- get { return _simple_arg_class_name; }
- set { _simple_arg_class_name = value; }
- }
- private string _full_arg_class_name;
- [global::ProtoBuf.ProtoMember(2, IsRequired = true, Name=@"full_arg_class_name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public string full_arg_class_name
- {
- get { return _full_arg_class_name; }
- set { _full_arg_class_name = value; }
- }
- private bool _is_set;
- [global::ProtoBuf.ProtoMember(3, IsRequired = true, Name=@"is_set", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public bool is_set
- {
- get { return _is_set; }
- set { _is_set = value; }
- }
- private bool _is_list;
- [global::ProtoBuf.ProtoMember(4, IsRequired = true, Name=@"is_list", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public bool is_list
- {
- get { return _is_list; }
- set { _is_list = value; }
- }
- private string _documentation = "";
- [global::ProtoBuf.ProtoMember(5, IsRequired = false, Name=@"documentation", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue("")]
- public string documentation
- {
- get { return _documentation; }
- set { _documentation = value; }
- }
- private string _short_name = "";
- [global::ProtoBuf.ProtoMember(6, IsRequired = false, Name=@"short_name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue("")]
- public string short_name
- {
- get { return _short_name; }
- set { _short_name = value; }
- }
- private readonly global::System.Collections.Generic.List<string> _instance_default = new global::System.Collections.Generic.List<string>();
- [global::ProtoBuf.ProtoMember(7, Name=@"instance_default", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public global::System.Collections.Generic.List<string> instance_default
- {
- get { return _instance_default; }
- }
-
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"PackageNode")]
- public partial class PackageNode : global::ProtoBuf.IExtensible
- {
- public PackageNode() {}
-
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"ConstructorDef")]
- public partial class ConstructorDef : global::ProtoBuf.IExtensible
- {
- public ConstructorDef() {}
-
- private string _full_class_name;
- [global::ProtoBuf.ProtoMember(1, IsRequired = true, Name=@"full_class_name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public string full_class_name
- {
- get { return _full_class_name; }
- set { _full_class_name = value; }
- }
- private readonly global::System.Collections.Generic.List<ConstructorArg> _args = new global::System.Collections.Generic.List<ConstructorArg>();
- [global::ProtoBuf.ProtoMember(2, Name=@"args", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public global::System.Collections.Generic.List<ConstructorArg> args
- {
- get { return _args; }
- }
-
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
- [global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"ConstructorArg")]
- public partial class ConstructorArg : global::ProtoBuf.IExtensible
- {
- public ConstructorArg() {}
-
- private string _full_arg_class_name;
- [global::ProtoBuf.ProtoMember(1, IsRequired = true, Name=@"full_arg_class_name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public string full_arg_class_name
- {
- get { return _full_arg_class_name; }
- set { _full_arg_class_name = value; }
- }
- private string _named_parameter_name = "";
- [global::ProtoBuf.ProtoMember(2, IsRequired = false, Name=@"named_parameter_name", DataFormat = global::ProtoBuf.DataFormat.Default)]
- [global::System.ComponentModel.DefaultValue("")]
- public string named_parameter_name
- {
- get { return _named_parameter_name; }
- set { _named_parameter_name = value; }
- }
- private bool _is_injection_future;
- [global::ProtoBuf.ProtoMember(3, IsRequired = true, Name=@"is_injection_future", DataFormat = global::ProtoBuf.DataFormat.Default)]
- public bool is_injection_future
- {
- get { return _is_injection_future; }
- set { _is_injection_future = value; }
- }
- private global::ProtoBuf.IExtension extensionObject;
- global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
- { return global::ProtoBuf.Extensible.GetExtensionObject(ref extensionObject, createIfMissing); }
- }
-
-}
\ No newline at end of file