mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	Merge pull request #2392 from vighnesh1987/apache-thrift
Add Apache thrift support to generated? check
This commit is contained in:
		| @@ -67,6 +67,7 @@ module Linguist | |||||||
|       compiled_cython_file? || |       compiled_cython_file? || | ||||||
|       generated_protocol_buffer_go? || |       generated_protocol_buffer_go? || | ||||||
|       generated_protocol_buffer? || |       generated_protocol_buffer? || | ||||||
|  |       generated_apache_thrift? || | ||||||
|       generated_jni_header? || |       generated_jni_header? || | ||||||
|       generated_unity3d_meta? || |       generated_unity3d_meta? || | ||||||
|       vcr_cassette? |       vcr_cassette? | ||||||
| @@ -249,6 +250,16 @@ module Linguist | |||||||
|  |  | ||||||
|       return lines[0].include?("Generated by the protocol buffer compiler.  DO NOT EDIT!") |       return lines[0].include?("Generated by the protocol buffer compiler.  DO NOT EDIT!") | ||||||
|     end |     end | ||||||
|  |      | ||||||
|  |     # Internal: Is the blob generated by Apache Thrift compiler? | ||||||
|  |     # | ||||||
|  |     # Returns true or false | ||||||
|  |     def generated_apache_thrift? | ||||||
|  |       return false unless ['.rb', '.py', '.go', '.js', '.m', '.java', '.h', '.cc', '.cpp'].include?(extname) | ||||||
|  |       return false unless lines.count > 1 | ||||||
|  |  | ||||||
|  |       return lines[0].include?("Autogenerated by Thrift Compiler") || lines[1].include?("Autogenerated by Thrift Compiler") | ||||||
|  |     end | ||||||
|  |  | ||||||
|     # Internal: Is the blob a C/C++ header generated by the Java JNI tool javah? |     # Internal: Is the blob a C/C++ header generated by the Java JNI tool javah? | ||||||
|     # |     # | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								samples/Go/gen-go-linguist-thrift.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								samples/Go/gen-go-linguist-thrift.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | // Autogenerated by Thrift Compiler (1.0.0-dev) | ||||||
|  | // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||||
|  |  | ||||||
|  | package linguist | ||||||
|  |  | ||||||
|  | import ( | ||||||
|  | 	"bytes" | ||||||
|  | 	"fmt" | ||||||
|  | 	"git.apache.org/thrift.git/lib/go/thrift" | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | // (needed to ensure safety because of naive import list construction.) | ||||||
|  | var _ = thrift.ZERO | ||||||
|  | var _ = fmt.Printf | ||||||
|  | var _ = bytes.Equal | ||||||
|  |  | ||||||
|  | func init() { | ||||||
|  | } | ||||||
							
								
								
									
										396
									
								
								samples/Java/gen-java-linguist-thrift.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										396
									
								
								samples/Java/gen-java-linguist-thrift.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,396 @@ | |||||||
|  | /** | ||||||
|  |  * Autogenerated by Thrift Compiler (1.0.0-dev) | ||||||
|  |  * | ||||||
|  |  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||||
|  |  *  @generated | ||||||
|  |  */ | ||||||
|  | import org.apache.thrift.scheme.IScheme; | ||||||
|  | import org.apache.thrift.scheme.SchemeFactory; | ||||||
|  | import org.apache.thrift.scheme.StandardScheme; | ||||||
|  |  | ||||||
|  | import org.apache.thrift.scheme.TupleScheme; | ||||||
|  | import org.apache.thrift.protocol.TTupleProtocol; | ||||||
|  | import org.apache.thrift.protocol.TProtocolException; | ||||||
|  | import org.apache.thrift.EncodingUtils; | ||||||
|  | import org.apache.thrift.TException; | ||||||
|  | import org.apache.thrift.async.AsyncMethodCallback; | ||||||
|  | import org.apache.thrift.server.AbstractNonblockingServer.*; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.HashMap; | ||||||
|  | import java.util.EnumMap; | ||||||
|  | import java.util.Set; | ||||||
|  | import java.util.HashSet; | ||||||
|  | import java.util.EnumSet; | ||||||
|  | import java.util.Collections; | ||||||
|  | import java.util.BitSet; | ||||||
|  | import java.nio.ByteBuffer; | ||||||
|  | import java.util.Arrays; | ||||||
|  | import javax.annotation.Generated; | ||||||
|  | import org.slf4j.Logger; | ||||||
|  | import org.slf4j.LoggerFactory; | ||||||
|  |  | ||||||
|  | @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) | ||||||
|  | @Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)", date = "2015-5-12") | ||||||
|  | public class PullRequest implements org.apache.thrift.TBase<PullRequest, PullRequest._Fields>, java.io.Serializable, Cloneable, Comparable<PullRequest> { | ||||||
|  |   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PullRequest"); | ||||||
|  |  | ||||||
|  |   private static final org.apache.thrift.protocol.TField TITLE_FIELD_DESC = new org.apache.thrift.protocol.TField("title", org.apache.thrift.protocol.TType.STRING, (short)1); | ||||||
|  |  | ||||||
|  |   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); | ||||||
|  |   static { | ||||||
|  |     schemes.put(StandardScheme.class, new PullRequestStandardSchemeFactory()); | ||||||
|  |     schemes.put(TupleScheme.class, new PullRequestTupleSchemeFactory()); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public String title; // required | ||||||
|  |  | ||||||
|  |   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ | ||||||
|  |   public enum _Fields implements org.apache.thrift.TFieldIdEnum { | ||||||
|  |     TITLE((short)1, "title"); | ||||||
|  |  | ||||||
|  |     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); | ||||||
|  |  | ||||||
|  |     static { | ||||||
|  |       for (_Fields field : EnumSet.allOf(_Fields.class)) { | ||||||
|  |         byName.put(field.getFieldName(), field); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Find the _Fields constant that matches fieldId, or null if its not found. | ||||||
|  |      */ | ||||||
|  |     public static _Fields findByThriftId(int fieldId) { | ||||||
|  |       switch(fieldId) { | ||||||
|  |         case 1: // TITLE | ||||||
|  |           return TITLE; | ||||||
|  |         default: | ||||||
|  |           return null; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Find the _Fields constant that matches fieldId, throwing an exception | ||||||
|  |      * if it is not found. | ||||||
|  |      */ | ||||||
|  |     public static _Fields findByThriftIdOrThrow(int fieldId) { | ||||||
|  |       _Fields fields = findByThriftId(fieldId); | ||||||
|  |       if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); | ||||||
|  |       return fields; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * Find the _Fields constant that matches name, or null if its not found. | ||||||
|  |      */ | ||||||
|  |     public static _Fields findByName(String name) { | ||||||
|  |       return byName.get(name); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private final short _thriftId; | ||||||
|  |     private final String _fieldName; | ||||||
|  |  | ||||||
|  |     _Fields(short thriftId, String fieldName) { | ||||||
|  |       _thriftId = thriftId; | ||||||
|  |       _fieldName = fieldName; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public short getThriftFieldId() { | ||||||
|  |       return _thriftId; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getFieldName() { | ||||||
|  |       return _fieldName; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   // isset id assignments | ||||||
|  |   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; | ||||||
|  |   static { | ||||||
|  |     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); | ||||||
|  |     tmpMap.put(_Fields.TITLE, new org.apache.thrift.meta_data.FieldMetaData("title", org.apache.thrift.TFieldRequirementType.DEFAULT,  | ||||||
|  |         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); | ||||||
|  |     metaDataMap = Collections.unmodifiableMap(tmpMap); | ||||||
|  |     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(PullRequest.class, metaDataMap); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public PullRequest() { | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public PullRequest( | ||||||
|  |     String title) | ||||||
|  |   { | ||||||
|  |     this(); | ||||||
|  |     this.title = title; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** | ||||||
|  |    * Performs a deep copy on <i>other</i>. | ||||||
|  |    */ | ||||||
|  |   public PullRequest(PullRequest other) { | ||||||
|  |     if (other.isSetTitle()) { | ||||||
|  |       this.title = other.title; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public PullRequest deepCopy() { | ||||||
|  |     return new PullRequest(this); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   @Override | ||||||
|  |   public void clear() { | ||||||
|  |     this.title = null; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public String getTitle() { | ||||||
|  |     return this.title; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public PullRequest setTitle(String title) { | ||||||
|  |     this.title = title; | ||||||
|  |     return this; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public void unsetTitle() { | ||||||
|  |     this.title = null; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** Returns true if field title is set (has been assigned a value) and false otherwise */ | ||||||
|  |   public boolean isSetTitle() { | ||||||
|  |     return this.title != null; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public void setTitleIsSet(boolean value) { | ||||||
|  |     if (!value) { | ||||||
|  |       this.title = null; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public void setFieldValue(_Fields field, Object value) { | ||||||
|  |     switch (field) { | ||||||
|  |     case TITLE: | ||||||
|  |       if (value == null) { | ||||||
|  |         unsetTitle(); | ||||||
|  |       } else { | ||||||
|  |         setTitle((String)value); | ||||||
|  |       } | ||||||
|  |       break; | ||||||
|  |  | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public Object getFieldValue(_Fields field) { | ||||||
|  |     switch (field) { | ||||||
|  |     case TITLE: | ||||||
|  |       return getTitle(); | ||||||
|  |  | ||||||
|  |     } | ||||||
|  |     throw new IllegalStateException(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ | ||||||
|  |   public boolean isSet(_Fields field) { | ||||||
|  |     if (field == null) { | ||||||
|  |       throw new IllegalArgumentException(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     switch (field) { | ||||||
|  |     case TITLE: | ||||||
|  |       return isSetTitle(); | ||||||
|  |     } | ||||||
|  |     throw new IllegalStateException(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   @Override | ||||||
|  |   public boolean equals(Object that) { | ||||||
|  |     if (that == null) | ||||||
|  |       return false; | ||||||
|  |     if (that instanceof PullRequest) | ||||||
|  |       return this.equals((PullRequest)that); | ||||||
|  |     return false; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public boolean equals(PullRequest that) { | ||||||
|  |     if (that == null) | ||||||
|  |       return false; | ||||||
|  |  | ||||||
|  |     boolean this_present_title = true && this.isSetTitle(); | ||||||
|  |     boolean that_present_title = true && that.isSetTitle(); | ||||||
|  |     if (this_present_title || that_present_title) { | ||||||
|  |       if (!(this_present_title && that_present_title)) | ||||||
|  |         return false; | ||||||
|  |       if (!this.title.equals(that.title)) | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     return true; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   @Override | ||||||
|  |   public int hashCode() { | ||||||
|  |     List<Object> list = new ArrayList<Object>(); | ||||||
|  |  | ||||||
|  |     boolean present_title = true && (isSetTitle()); | ||||||
|  |     list.add(present_title); | ||||||
|  |     if (present_title) | ||||||
|  |       list.add(title); | ||||||
|  |  | ||||||
|  |     return list.hashCode(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   @Override | ||||||
|  |   public int compareTo(PullRequest other) { | ||||||
|  |     if (!getClass().equals(other.getClass())) { | ||||||
|  |       return getClass().getName().compareTo(other.getClass().getName()); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     int lastComparison = 0; | ||||||
|  |  | ||||||
|  |     lastComparison = Boolean.valueOf(isSetTitle()).compareTo(other.isSetTitle()); | ||||||
|  |     if (lastComparison != 0) { | ||||||
|  |       return lastComparison; | ||||||
|  |     } | ||||||
|  |     if (isSetTitle()) { | ||||||
|  |       lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.title, other.title); | ||||||
|  |       if (lastComparison != 0) { | ||||||
|  |         return lastComparison; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     return 0; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public _Fields fieldForId(int fieldId) { | ||||||
|  |     return _Fields.findByThriftId(fieldId); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { | ||||||
|  |     schemes.get(iprot.getScheme()).getScheme().read(iprot, this); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { | ||||||
|  |     schemes.get(oprot.getScheme()).getScheme().write(oprot, this); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   @Override | ||||||
|  |   public String toString() { | ||||||
|  |     StringBuilder sb = new StringBuilder("PullRequest("); | ||||||
|  |     boolean first = true; | ||||||
|  |  | ||||||
|  |     sb.append("title:"); | ||||||
|  |     if (this.title == null) { | ||||||
|  |       sb.append("null"); | ||||||
|  |     } else { | ||||||
|  |       sb.append(this.title); | ||||||
|  |     } | ||||||
|  |     first = false; | ||||||
|  |     sb.append(")"); | ||||||
|  |     return sb.toString(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public void validate() throws org.apache.thrift.TException { | ||||||
|  |     // check for required fields | ||||||
|  |     // check for sub-struct validity | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { | ||||||
|  |     try { | ||||||
|  |       write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); | ||||||
|  |     } catch (org.apache.thrift.TException te) { | ||||||
|  |       throw new java.io.IOException(te); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { | ||||||
|  |     try { | ||||||
|  |       read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); | ||||||
|  |     } catch (org.apache.thrift.TException te) { | ||||||
|  |       throw new java.io.IOException(te); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private static class PullRequestStandardSchemeFactory implements SchemeFactory { | ||||||
|  |     public PullRequestStandardScheme getScheme() { | ||||||
|  |       return new PullRequestStandardScheme(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private static class PullRequestStandardScheme extends StandardScheme<PullRequest> { | ||||||
|  |  | ||||||
|  |     public void read(org.apache.thrift.protocol.TProtocol iprot, PullRequest struct) throws org.apache.thrift.TException { | ||||||
|  |       org.apache.thrift.protocol.TField schemeField; | ||||||
|  |       iprot.readStructBegin(); | ||||||
|  |       while (true) | ||||||
|  |       { | ||||||
|  |         schemeField = iprot.readFieldBegin(); | ||||||
|  |         if (schemeField.type == org.apache.thrift.protocol.TType.STOP) {  | ||||||
|  |           break; | ||||||
|  |         } | ||||||
|  |         switch (schemeField.id) { | ||||||
|  |           case 1: // TITLE | ||||||
|  |             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { | ||||||
|  |               struct.title = iprot.readString(); | ||||||
|  |               struct.setTitleIsSet(true); | ||||||
|  |             } else {  | ||||||
|  |               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); | ||||||
|  |             } | ||||||
|  |             break; | ||||||
|  |           default: | ||||||
|  |             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); | ||||||
|  |         } | ||||||
|  |         iprot.readFieldEnd(); | ||||||
|  |       } | ||||||
|  |       iprot.readStructEnd(); | ||||||
|  |  | ||||||
|  |       // check for required fields of primitive type, which can't be checked in the validate method | ||||||
|  |       struct.validate(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void write(org.apache.thrift.protocol.TProtocol oprot, PullRequest struct) throws org.apache.thrift.TException { | ||||||
|  |       struct.validate(); | ||||||
|  |  | ||||||
|  |       oprot.writeStructBegin(STRUCT_DESC); | ||||||
|  |       if (struct.title != null) { | ||||||
|  |         oprot.writeFieldBegin(TITLE_FIELD_DESC); | ||||||
|  |         oprot.writeString(struct.title); | ||||||
|  |         oprot.writeFieldEnd(); | ||||||
|  |       } | ||||||
|  |       oprot.writeFieldStop(); | ||||||
|  |       oprot.writeStructEnd(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private static class PullRequestTupleSchemeFactory implements SchemeFactory { | ||||||
|  |     public PullRequestTupleScheme getScheme() { | ||||||
|  |       return new PullRequestTupleScheme(); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   private static class PullRequestTupleScheme extends TupleScheme<PullRequest> { | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public void write(org.apache.thrift.protocol.TProtocol prot, PullRequest struct) throws org.apache.thrift.TException { | ||||||
|  |       TTupleProtocol oprot = (TTupleProtocol) prot; | ||||||
|  |       BitSet optionals = new BitSet(); | ||||||
|  |       if (struct.isSetTitle()) { | ||||||
|  |         optionals.set(0); | ||||||
|  |       } | ||||||
|  |       oprot.writeBitSet(optionals, 1); | ||||||
|  |       if (struct.isSetTitle()) { | ||||||
|  |         oprot.writeString(struct.title); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public void read(org.apache.thrift.protocol.TProtocol prot, PullRequest struct) throws org.apache.thrift.TException { | ||||||
|  |       TTupleProtocol iprot = (TTupleProtocol) prot; | ||||||
|  |       BitSet incoming = iprot.readBitSet(1); | ||||||
|  |       if (incoming.get(0)) { | ||||||
|  |         struct.title = iprot.readString(); | ||||||
|  |         struct.setTitleIsSet(true); | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |  | ||||||
|  | } | ||||||
|  |  | ||||||
							
								
								
									
										60
									
								
								samples/JavaScript/gen-js-linguist-thrift.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								samples/JavaScript/gen-js-linguist-thrift.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | |||||||
|  | // | ||||||
|  | // Autogenerated by Thrift Compiler (1.0.0-dev) | ||||||
|  | // | ||||||
|  | // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||||
|  | // | ||||||
|  |  | ||||||
|  |  | ||||||
|  | PullRequest = function(args) { | ||||||
|  |   this.title = null; | ||||||
|  |   if (args) { | ||||||
|  |     if (args.title !== undefined) { | ||||||
|  |       this.title = args.title; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | PullRequest.prototype = {}; | ||||||
|  | PullRequest.prototype.read = function(input) { | ||||||
|  |   input.readStructBegin(); | ||||||
|  |   while (true) | ||||||
|  |   { | ||||||
|  |     var ret = input.readFieldBegin(); | ||||||
|  |     var fname = ret.fname; | ||||||
|  |     var ftype = ret.ftype; | ||||||
|  |     var fid = ret.fid; | ||||||
|  |     if (ftype == Thrift.Type.STOP) { | ||||||
|  |       break; | ||||||
|  |     } | ||||||
|  |     switch (fid) | ||||||
|  |     { | ||||||
|  |       case 1: | ||||||
|  |       if (ftype == Thrift.Type.STRING) { | ||||||
|  |         this.title = input.readString().value; | ||||||
|  |       } else { | ||||||
|  |         input.skip(ftype); | ||||||
|  |       } | ||||||
|  |       break; | ||||||
|  |       case 0: | ||||||
|  |         input.skip(ftype); | ||||||
|  |         break; | ||||||
|  |       default: | ||||||
|  |         input.skip(ftype); | ||||||
|  |     } | ||||||
|  |     input.readFieldEnd(); | ||||||
|  |   } | ||||||
|  |   input.readStructEnd(); | ||||||
|  |   return; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | PullRequest.prototype.write = function(output) { | ||||||
|  |   output.writeStructBegin('PullRequest'); | ||||||
|  |   if (this.title !== null && this.title !== undefined) { | ||||||
|  |     output.writeFieldBegin('title', Thrift.Type.STRING, 1); | ||||||
|  |     output.writeString(this.title); | ||||||
|  |     output.writeFieldEnd(); | ||||||
|  |   } | ||||||
|  |   output.writeFieldStop(); | ||||||
|  |   output.writeStructEnd(); | ||||||
|  |   return; | ||||||
|  | }; | ||||||
|  |  | ||||||
							
								
								
									
										176
									
								
								samples/Objective-C/gen-cocoa-linguist-thrift.m
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										176
									
								
								samples/Objective-C/gen-cocoa-linguist-thrift.m
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,176 @@ | |||||||
|  | /** | ||||||
|  |  * Autogenerated by Thrift Compiler (1.0.0-dev) | ||||||
|  |  * | ||||||
|  |  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||||
|  |  *  @generated | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #import <Foundation/Foundation.h> | ||||||
|  |  | ||||||
|  | #import "TProtocol.h" | ||||||
|  | #import "TApplicationException.h" | ||||||
|  | #import "TProtocolException.h" | ||||||
|  | #import "TProtocolUtil.h" | ||||||
|  | #import "TProcessor.h" | ||||||
|  | #import "TObjective-C.h" | ||||||
|  | #import "TBase.h" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #import "linguist.h" | ||||||
|  |  | ||||||
|  | @implementation PullRequest | ||||||
|  |  | ||||||
|  | - (id) init | ||||||
|  | { | ||||||
|  |   self = [super init]; | ||||||
|  | #if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) | ||||||
|  | #endif | ||||||
|  |   return self; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (id) initWithTitle: (NSString *) title | ||||||
|  | { | ||||||
|  |   self = [super init]; | ||||||
|  |   __title = [title retain_stub]; | ||||||
|  |   __title_isset = YES; | ||||||
|  |   return self; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (id) initWithCoder: (NSCoder *) decoder | ||||||
|  | { | ||||||
|  |   self = [super init]; | ||||||
|  |   if ([decoder containsValueForKey: @"title"]) | ||||||
|  |   { | ||||||
|  |     __title = [[decoder decodeObjectForKey: @"title"] retain_stub]; | ||||||
|  |     __title_isset = YES; | ||||||
|  |   } | ||||||
|  |   return self; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (void) encodeWithCoder: (NSCoder *) encoder | ||||||
|  | { | ||||||
|  |   if (__title_isset) | ||||||
|  |   { | ||||||
|  |     [encoder encodeObject: __title forKey: @"title"]; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (NSUInteger) hash | ||||||
|  | { | ||||||
|  |   NSUInteger hash = 17; | ||||||
|  |   hash = (hash * 31) ^ __title_isset ? 2654435761 : 0; | ||||||
|  |   if (__title_isset) | ||||||
|  |   { | ||||||
|  |     hash = (hash * 31) ^ [__title hash]; | ||||||
|  |   } | ||||||
|  |   return hash; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (BOOL) isEqual: (id) anObject | ||||||
|  | { | ||||||
|  |   if (self == anObject) { | ||||||
|  |     return YES; | ||||||
|  |   } | ||||||
|  |   if (![anObject isKindOfClass:[PullRequest class]]) { | ||||||
|  |     return NO; | ||||||
|  |   } | ||||||
|  |   PullRequest *other = (PullRequest *)anObject; | ||||||
|  |   if ((__title_isset != other->__title_isset) || | ||||||
|  |       (__title_isset && ((__title || other->__title) && ![__title isEqual:other->__title]))) { | ||||||
|  |     return NO; | ||||||
|  |   } | ||||||
|  |   return YES; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (void) dealloc | ||||||
|  | { | ||||||
|  |   [__title release_stub]; | ||||||
|  |   [super dealloc_stub]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (NSString *) title { | ||||||
|  |   return [[__title retain_stub] autorelease_stub]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (void) setTitle: (NSString *) title { | ||||||
|  |   [title retain_stub]; | ||||||
|  |   [__title release_stub]; | ||||||
|  |   __title = title; | ||||||
|  |   __title_isset = YES; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (BOOL) titleIsSet { | ||||||
|  |   return __title_isset; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (void) unsetTitle { | ||||||
|  |   [__title release_stub]; | ||||||
|  |   __title = nil; | ||||||
|  |   __title_isset = NO; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (void) read: (id <TProtocol>) inProtocol | ||||||
|  | { | ||||||
|  |   NSString * fieldName; | ||||||
|  |   int fieldType; | ||||||
|  |   int fieldID; | ||||||
|  |  | ||||||
|  |   [inProtocol readStructBeginReturningName: NULL]; | ||||||
|  |   while (true) | ||||||
|  |   { | ||||||
|  |     [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID]; | ||||||
|  |     if (fieldType == TType_STOP) {  | ||||||
|  |       break; | ||||||
|  |     } | ||||||
|  |     switch (fieldID) | ||||||
|  |     { | ||||||
|  |       case 1: | ||||||
|  |         if (fieldType == TType_STRING) { | ||||||
|  |           NSString * fieldValue = [inProtocol readString]; | ||||||
|  |           [self setTitle: fieldValue]; | ||||||
|  |         } else {  | ||||||
|  |           [TProtocolUtil skipType: fieldType onProtocol: inProtocol]; | ||||||
|  |         } | ||||||
|  |         break; | ||||||
|  |       default: | ||||||
|  |         [TProtocolUtil skipType: fieldType onProtocol: inProtocol]; | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  |     [inProtocol readFieldEnd]; | ||||||
|  |   } | ||||||
|  |   [inProtocol readStructEnd]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (void) write: (id <TProtocol>) outProtocol { | ||||||
|  |   [outProtocol writeStructBeginWithName: @"PullRequest"]; | ||||||
|  |   if (__title_isset) { | ||||||
|  |     if (__title != nil) { | ||||||
|  |       [outProtocol writeFieldBeginWithName: @"title" type: TType_STRING fieldID: 1]; | ||||||
|  |       [outProtocol writeString: __title]; | ||||||
|  |       [outProtocol writeFieldEnd]; | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  |   [outProtocol writeFieldStop]; | ||||||
|  |   [outProtocol writeStructEnd]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (void) validate { | ||||||
|  |   // check for required fields | ||||||
|  | } | ||||||
|  |  | ||||||
|  | - (NSString *) description { | ||||||
|  |   NSMutableString * ms = [NSMutableString stringWithString: @"PullRequest("]; | ||||||
|  |   [ms appendString: @"title:"]; | ||||||
|  |   [ms appendFormat: @"\"%@\"", __title]; | ||||||
|  |   [ms appendString: @")"]; | ||||||
|  |   return [NSString stringWithString: ms]; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @end | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @implementation linguistConstants | ||||||
|  | + (void) initialize { | ||||||
|  | } | ||||||
|  | @end | ||||||
|  |  | ||||||
							
								
								
									
										83
									
								
								samples/Python/gen-py-linguist-thrift.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								samples/Python/gen-py-linguist-thrift.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | |||||||
|  | # | ||||||
|  | # Autogenerated by Thrift Compiler (1.0.0-dev) | ||||||
|  | # | ||||||
|  | # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||||
|  | # | ||||||
|  | #  options string: py | ||||||
|  | # | ||||||
|  |  | ||||||
|  | from thrift.Thrift import TType, TMessageType, TException, TApplicationException | ||||||
|  |  | ||||||
|  | from thrift.transport import TTransport | ||||||
|  | from thrift.protocol import TBinaryProtocol, TProtocol | ||||||
|  | try: | ||||||
|  |   from thrift.protocol import fastbinary | ||||||
|  | except: | ||||||
|  |   fastbinary = None | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class PullRequest: | ||||||
|  |   """ | ||||||
|  |   Attributes: | ||||||
|  |    - title | ||||||
|  |   """ | ||||||
|  |  | ||||||
|  |   thrift_spec = ( | ||||||
|  |     None, # 0 | ||||||
|  |     (1, TType.STRING, 'title', None, None, ), # 1 | ||||||
|  |   ) | ||||||
|  |  | ||||||
|  |   def __init__(self, title=None,): | ||||||
|  |     self.title = title | ||||||
|  |  | ||||||
|  |   def read(self, iprot): | ||||||
|  |     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: | ||||||
|  |       fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) | ||||||
|  |       return | ||||||
|  |     iprot.readStructBegin() | ||||||
|  |     while True: | ||||||
|  |       (fname, ftype, fid) = iprot.readFieldBegin() | ||||||
|  |       if ftype == TType.STOP: | ||||||
|  |         break | ||||||
|  |       if fid == 1: | ||||||
|  |         if ftype == TType.STRING: | ||||||
|  |           self.title = iprot.readString() | ||||||
|  |         else: | ||||||
|  |           iprot.skip(ftype) | ||||||
|  |       else: | ||||||
|  |         iprot.skip(ftype) | ||||||
|  |       iprot.readFieldEnd() | ||||||
|  |     iprot.readStructEnd() | ||||||
|  |  | ||||||
|  |   def write(self, oprot): | ||||||
|  |     if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: | ||||||
|  |       oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) | ||||||
|  |       return | ||||||
|  |     oprot.writeStructBegin('PullRequest') | ||||||
|  |     if self.title is not None: | ||||||
|  |       oprot.writeFieldBegin('title', TType.STRING, 1) | ||||||
|  |       oprot.writeString(self.title) | ||||||
|  |       oprot.writeFieldEnd() | ||||||
|  |     oprot.writeFieldStop() | ||||||
|  |     oprot.writeStructEnd() | ||||||
|  |  | ||||||
|  |   def validate(self): | ||||||
|  |     return | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   def __hash__(self): | ||||||
|  |     value = 17 | ||||||
|  |     value = (value * 31) ^ hash(self.title) | ||||||
|  |     return value | ||||||
|  |  | ||||||
|  |   def __repr__(self): | ||||||
|  |     L = ['%s=%r' % (key, value) | ||||||
|  |       for key, value in self.__dict__.iteritems()] | ||||||
|  |     return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) | ||||||
|  |  | ||||||
|  |   def __eq__(self, other): | ||||||
|  |     return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ | ||||||
|  |  | ||||||
|  |   def __ne__(self, other): | ||||||
|  |     return not (self == other) | ||||||
							
								
								
									
										9
									
								
								samples/Ruby/gen-rb-linguist-thrift.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								samples/Ruby/gen-rb-linguist-thrift.rb
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | |||||||
|  | # | ||||||
|  | # Autogenerated by Thrift Compiler (1.0.0-dev) | ||||||
|  | # | ||||||
|  | # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING | ||||||
|  | # | ||||||
|  |  | ||||||
|  | require 'thrift' | ||||||
|  | require 'linguist_types' | ||||||
|  |  | ||||||
							
								
								
									
										5
									
								
								samples/Thrift/linguist.thrift
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								samples/Thrift/linguist.thrift
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | |||||||
|  | struct PullRequest { | ||||||
|  |   1: string title | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
| @@ -218,6 +218,14 @@ class TestBlob < Minitest::Test | |||||||
|     assert sample_blob("Python/protocol_buffer_pb2.py").generated? |     assert sample_blob("Python/protocol_buffer_pb2.py").generated? | ||||||
|     assert sample_blob("Go/api.pb.go").generated? |     assert sample_blob("Go/api.pb.go").generated? | ||||||
|  |  | ||||||
|  |     # Apache Thrift generated code | ||||||
|  |     assert sample_blob("Python/gen-py-linguist-thrift.py").generated? | ||||||
|  |     assert sample_blob("Go/gen-go-linguist-thrift.go").generated? | ||||||
|  |     assert sample_blob("Java/gen-java-linguist-thrift.java").generated? | ||||||
|  |     assert sample_blob("JavaScript/gen-js-linguist-thrift.js").generated? | ||||||
|  |     assert sample_blob("Ruby/gen-rb-linguist-thrift.rb").generated? | ||||||
|  |     assert sample_blob("Objective-C/gen-cocoa-linguist-thrift.m").generated? | ||||||
|  |  | ||||||
|     # Generated JNI |     # Generated JNI | ||||||
|     assert sample_blob("C/jni_layer.h").generated? |     assert sample_blob("C/jni_layer.h").generated? | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user