/*
 * Copyright 2015 the original author or authors.
 *
 * Licensed 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.
 */
package leap.lang.meta;


public class MComplexTypeRef extends MTypeRef {
	
	public MComplexTypeRef(String refTypeName) {
	    super(refTypeName);
    }

	public MComplexTypeRef(String refTypeName, String refTypeQName) {
	    super(refTypeName, refTypeQName);
    }

	public MComplexTypeRef(String summary, String description, String refTypeName, String refTypeQName) {
		super(summary, description, refTypeName, refTypeQName);
	}

    @Override
    public String getName() {
        return refTypeName;
    }

    @Override
	public MTypeKind getRefTypeKind() {
		return MTypeKind.COMPLEX;
	}

}
@@ -682,16 +682,52 @@
 ypeRef %7B
+%0A%0A    private final Boolean partial;
 %0A%09%0A%09publ
@@ -776,103 +776,387 @@
     
-super(refTypeName);%0A    %7D%0A%0A%09public MComplexTypeRef(String refTypeName, String refTypeQName) %7B%0A%09
+this(refTypeName, false);%0A    %7D%0A%0A    public MComplexTypeRef(String refTypeName, Boolean partial) %7B%0A        super(refTypeName);%0A        this.partial = partial;%0A    %7D%0A%0A%09public MComplexTypeRef(String refTypeName, String refTypeQName) %7B%0A        this(refTypeName, refTypeQName, false);%0A    %7D%0A%0A    public MComplexTypeRef(String refTypeName, String refTypeQName, Boolean partial) %7B%0A    
     
@@ -1185,24 +1185,56 @@
 TypeQName);%0A
+        this.partial = partial;%0A
     %7D%0A%0A%09publ
@@ -1333,16 +1333,213 @@
 me) %7B%0A%09%09
+this(summary, description, refTypeName, refTypeQName, false);%0A%09%7D%0A%0A    public MComplexTypeRef(String summary, String description, String refTypeName, String refTypeQName, Boolean partial) %7B%0A        
 super(su
@@ -1582,25 +1582,60 @@
 TypeQName);%0A
-%09
+        this.partial = partial;%0A    
 %7D%0A%0A    @Over
@@ -1787,9 +1787,73 @@
 EX;%0A%09%7D%0A%0A
+    public Boolean getPartial() %7B%0A        return partial;%0A    %7D%0A
 %7D

add partial at MComplexTypeRef