mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Cosmetics.
This commit is contained in:
parent
765363be4a
commit
94ee2bc827
7 changed files with 84 additions and 82 deletions
|
@ -20,7 +20,6 @@ import org.eclipse.cdt.core.dom.ast.IASTInitializerList;
|
|||
* @noimplement This interface is not intended to be implemented by clients.
|
||||
*/
|
||||
public interface ICPPASTInitializerList extends IASTInitializerList, ICPPASTInitializerClause, ICPPASTPackExpandable {
|
||||
|
||||
@Override
|
||||
ICPPASTInitializerList copy();
|
||||
|
||||
|
|
|
@ -157,7 +157,6 @@ public class CArrayType implements ICArrayType, ITypeContainer, ISerializableTyp
|
|||
return ASTTypeUtil.getType(this);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void marshal(ITypeMarshalBuffer buffer) throws CoreException {
|
||||
int firstByte= ITypeMarshalBuffer.ARRAY_TYPE;
|
||||
|
@ -174,14 +173,13 @@ public class CArrayType implements ICArrayType, ITypeContainer, ISerializableTyp
|
|||
firstByte |= ITypeMarshalBuffer.FLAG1;
|
||||
}
|
||||
|
||||
|
||||
val= getSize();
|
||||
if (val != null) {
|
||||
firstByte |= ITypeMarshalBuffer.FLAG2;
|
||||
Long num= val.numericalValue();
|
||||
if (num != null) {
|
||||
long l= num;
|
||||
if (l>=0 && l <= Short.MAX_VALUE) {
|
||||
if (l >= 0 && l <= Short.MAX_VALUE) {
|
||||
nval= (short) l;
|
||||
firstByte |= ITypeMarshalBuffer.FLAG3;
|
||||
}
|
||||
|
|
|
@ -32,10 +32,9 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor;
|
|||
/**
|
||||
* Binding for a non-type template parameter.
|
||||
*/
|
||||
public class CPPTemplateNonTypeParameter extends CPPTemplateParameter implements
|
||||
ICPPTemplateNonTypeParameter {
|
||||
|
||||
private IType type = null;
|
||||
public class CPPTemplateNonTypeParameter extends CPPTemplateParameter
|
||||
implements ICPPTemplateNonTypeParameter {
|
||||
private IType type;
|
||||
|
||||
public CPPTemplateNonTypeParameter(IASTName name) {
|
||||
super(name);
|
||||
|
@ -80,7 +79,7 @@ public class CPPTemplateNonTypeParameter extends CPPTemplateParameter implements
|
|||
d= (IASTExpression) dc;
|
||||
} else if (dc instanceof ICPPASTInitializerList) {
|
||||
ICPPASTInitializerList list= (ICPPASTInitializerList) dc;
|
||||
switch(list.getSize()) {
|
||||
switch (list.getSize()) {
|
||||
case 0:
|
||||
return new CPPTemplateArgument(Value.create(0), getType());
|
||||
case 1:
|
||||
|
@ -123,26 +122,32 @@ public class CPPTemplateNonTypeParameter extends CPPTemplateParameter implements
|
|||
public boolean isStatic() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isExtern() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAuto() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRegister() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IValue getInitialValue() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isExternC() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMutable() {
|
||||
return false;
|
||||
|
|
|
@ -26,15 +26,16 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameter;
|
|||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
|
||||
import org.eclipse.cdt.core.index.IIndexBinding;
|
||||
import org.eclipse.cdt.core.parser.util.ObjectMap;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateArgument;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateTypeArgument;
|
||||
import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding;
|
||||
import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory;
|
||||
|
||||
/**
|
||||
* For implementation re-use in the absence of multiple inheritance
|
||||
* For implementation re-use in the absence of multiple inheritance.
|
||||
*/
|
||||
public class TemplateInstanceUtil {
|
||||
|
||||
public static ICPPTemplateParameterMap getTemplateParameterMap(ICompositesFactory cf, ICPPTemplateInstance rbinding) {
|
||||
ICPPTemplateParameterMap preresult= rbinding.getTemplateParameterMap();
|
||||
Integer[] keys= preresult.getAllParameterPositions();
|
||||
|
@ -50,8 +51,8 @@ public class TemplateInstanceUtil {
|
|||
result.put(key, convert(cf, pack));
|
||||
}
|
||||
}
|
||||
} catch(DOMException de) {
|
||||
CCorePlugin.log(de);
|
||||
} catch (DOMException e) {
|
||||
CCorePlugin.log(e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -105,7 +106,7 @@ public class TemplateInstanceUtil {
|
|||
final IType typeValue = arg.getTypeValue();
|
||||
IType t= cf.getCompositeType(typeValue);
|
||||
if (t != typeValue) {
|
||||
return new CPPTemplateArgument(t);
|
||||
return new CPPTemplateTypeArgument(t);
|
||||
}
|
||||
return arg;
|
||||
}
|
||||
|
@ -113,8 +114,8 @@ public class TemplateInstanceUtil {
|
|||
@Deprecated
|
||||
public static ObjectMap getArgumentMap(ICompositesFactory cf, IIndexBinding rbinding) {
|
||||
ICPPSpecialization specn= (ICPPSpecialization) rbinding;
|
||||
IBinding specd= ((CPPCompositesFactory)cf).findOneBinding(specn.getSpecializedBinding());
|
||||
if(specd == null)
|
||||
IBinding specd= ((CPPCompositesFactory) cf).findOneBinding(specn.getSpecializedBinding());
|
||||
if (specd == null)
|
||||
specd= specn.getSpecializedBinding();
|
||||
|
||||
ObjectMap preresult= specn.getArgumentMap();
|
||||
|
@ -122,14 +123,13 @@ public class TemplateInstanceUtil {
|
|||
Object[] keys= preresult.keyArray();
|
||||
Object[] keysToAdapt= keys;
|
||||
|
||||
if(specd instanceof ICPPTemplateDefinition) {
|
||||
keysToAdapt= ((ICPPTemplateDefinition)specd).getTemplateParameters();
|
||||
if (specd instanceof ICPPTemplateDefinition) {
|
||||
keysToAdapt= ((ICPPTemplateDefinition) specd).getTemplateParameters();
|
||||
}
|
||||
for(int i = 0; i < keys.length && i < keysToAdapt.length; i++) {
|
||||
for (int i= 0; i < keys.length && i < keysToAdapt.length; i++) {
|
||||
IType type= (IType) preresult.get(keys[i]);
|
||||
result.put(
|
||||
cf.getCompositeBinding((IIndexFragmentBinding)keysToAdapt[i]),
|
||||
cf.getCompositeType(type));
|
||||
cf.getCompositeBinding((IIndexFragmentBinding) keysToAdapt[i]), cf.getCompositeType(type));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -144,15 +144,15 @@ public class TemplateInstanceUtil {
|
|||
public static IType[] getArguments(ICompositesFactory cf, ICPPClassTemplatePartialSpecialization rbinding) {
|
||||
try {
|
||||
return getArguments(cf, rbinding.getArguments());
|
||||
} catch(DOMException de) {
|
||||
CCorePlugin.log(de);
|
||||
} catch (DOMException e) {
|
||||
CCorePlugin.log(e);
|
||||
return IType.EMPTY_TYPE_ARRAY;
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
private static IType[] getArguments(ICompositesFactory cf, IType[] result) {
|
||||
for(int i=0; i<result.length; i++) {
|
||||
for (int i= 0; i < result.length; i++) {
|
||||
result[i] = cf.getCompositeType(result[i]);
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -15,7 +15,6 @@ import org.eclipse.cdt.core.dom.ast.IType;
|
|||
import org.eclipse.cdt.core.dom.ast.IValue;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.ProblemType;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateArgument;
|
||||
import org.eclipse.cdt.internal.core.pdom.db.Database;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMLinkage;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode;
|
||||
|
@ -36,17 +35,18 @@ public class PDOMCPPArgumentList {
|
|||
public static long putArguments(PDOMNode parent, ICPPTemplateArgument[] templateArguments) throws CoreException {
|
||||
final PDOMLinkage linkage= parent.getLinkage();
|
||||
final Database db= linkage.getDB();
|
||||
final short len= (short) Math.min(templateArguments.length, (Database.MAX_MALLOC_SIZE-2)/NODE_SIZE);
|
||||
final long block= db.malloc(2+NODE_SIZE*len);
|
||||
final short len= (short) Math.min(templateArguments.length, (Database.MAX_MALLOC_SIZE - 2) / NODE_SIZE);
|
||||
final long block= db.malloc(2 + NODE_SIZE * len);
|
||||
long p= block;
|
||||
|
||||
db.putShort(p, len); p+=2;
|
||||
for (int i=0; i<len; i++, p+=NODE_SIZE) {
|
||||
db.putShort(p, len);
|
||||
p += 2;
|
||||
for (int i= 0; i < len; i++, p += NODE_SIZE) {
|
||||
final ICPPTemplateArgument arg = templateArguments[i];
|
||||
final boolean isNonType= arg.isNonTypeValue();
|
||||
if (isNonType) {
|
||||
linkage.storeType(p, arg.getTypeOfNonTypeValue());
|
||||
linkage.storeValue(p+VALUE_OFFSET, arg.getNonTypeValue());
|
||||
linkage.storeValue(p + VALUE_OFFSET, arg.getNonTypeValue());
|
||||
} else {
|
||||
linkage.storeType(p, arg.getTypeValue());
|
||||
}
|
||||
|
@ -54,7 +54,6 @@ public class PDOMCPPArgumentList {
|
|||
return block;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Restores an array of template arguments from the database.
|
||||
*/
|
||||
|
@ -63,11 +62,11 @@ public class PDOMCPPArgumentList {
|
|||
final Database db= linkage.getDB();
|
||||
final short len= db.getShort(record);
|
||||
|
||||
Assert.isTrue(len >= 0 && len <= (Database.MAX_MALLOC_SIZE-2)/NODE_SIZE);
|
||||
long p= record+2;
|
||||
for (int i=0; i<len; i++) {
|
||||
Assert.isTrue(len >= 0 && len <= (Database.MAX_MALLOC_SIZE - 2) / NODE_SIZE);
|
||||
long p= record + 2;
|
||||
for (int i= 0; i < len; i++) {
|
||||
linkage.storeType(p, null);
|
||||
linkage.storeValue(p+VALUE_OFFSET, null);
|
||||
linkage.storeValue(p + VALUE_OFFSET, null);
|
||||
p+= NODE_SIZE;
|
||||
}
|
||||
db.free(record);
|
||||
|
@ -81,25 +80,25 @@ public class PDOMCPPArgumentList {
|
|||
final Database db= linkage.getDB();
|
||||
final short len= db.getShort(rec);
|
||||
|
||||
Assert.isTrue(len >= 0 && len <= (Database.MAX_MALLOC_SIZE-2)/NODE_SIZE);
|
||||
Assert.isTrue(len >= 0 && len <= (Database.MAX_MALLOC_SIZE - 2) / NODE_SIZE);
|
||||
if (len == 0) {
|
||||
return ICPPTemplateArgument.EMPTY_ARGUMENTS;
|
||||
}
|
||||
|
||||
rec+=2;
|
||||
rec += 2;
|
||||
ICPPTemplateArgument[] result= new ICPPTemplateArgument[len];
|
||||
for (int i=0; i<len; i++) {
|
||||
for (int i= 0; i < len; i++) {
|
||||
IType type= linkage.loadType(rec);
|
||||
if (type == null) {
|
||||
type= new ProblemType(ISemanticProblem.TYPE_NOT_PERSISTED);
|
||||
}
|
||||
IValue val= linkage.loadValue(rec+VALUE_OFFSET);
|
||||
IValue val= linkage.loadValue(rec + VALUE_OFFSET);
|
||||
if (val != null) {
|
||||
result[i]= new CPPTemplateArgument(val, type);
|
||||
} else {
|
||||
result[i]= new CPPTemplateArgument(type);
|
||||
}
|
||||
rec+= NODE_SIZE;
|
||||
rec += NODE_SIZE;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
|
|||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateNonTypeParameter;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameter;
|
||||
import org.eclipse.cdt.internal.core.Util;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateArgument;
|
||||
import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants;
|
||||
import org.eclipse.cdt.internal.core.pdom.db.Database;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.IPDOMMemberOwner;
|
||||
|
@ -35,9 +34,8 @@ import org.eclipse.core.runtime.CoreException;
|
|||
/**
|
||||
* Binding for template non-type parameter in the index.
|
||||
*/
|
||||
class PDOMCPPTemplateNonTypeParameter extends PDOMCPPBinding implements IPDOMMemberOwner,
|
||||
ICPPTemplateNonTypeParameter, IPDOMCPPTemplateParameter {
|
||||
|
||||
class PDOMCPPTemplateNonTypeParameter extends PDOMCPPBinding
|
||||
implements IPDOMMemberOwner, ICPPTemplateNonTypeParameter, IPDOMCPPTemplateParameter {
|
||||
private static final int TYPE_OFFSET= PDOMCPPBinding.RECORD_SIZE;
|
||||
private static final int PARAMETERID= TYPE_OFFSET + Database.TYPE_SIZE;
|
||||
private static final int DEFAULTVAL= PARAMETERID + Database.VALUE_SIZE;
|
||||
|
@ -100,8 +98,8 @@ class PDOMCPPTemplateNonTypeParameter extends PDOMCPPBinding implements IPDOMMem
|
|||
@Override
|
||||
public void forceDelete(PDOMLinkage linkage) throws CoreException {
|
||||
getDBName().delete();
|
||||
linkage.storeType(record+TYPE_OFFSET, null);
|
||||
linkage.storeValue(record+DEFAULTVAL, null);
|
||||
linkage.storeType(record + TYPE_OFFSET, null);
|
||||
linkage.storeValue(record + DEFAULTVAL, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -112,7 +110,7 @@ class PDOMCPPTemplateNonTypeParameter extends PDOMCPPBinding implements IPDOMMem
|
|||
@Override
|
||||
public short getTemplateNestingLevel() {
|
||||
readParamID();
|
||||
return (short)(getParameterID() >> 16);
|
||||
return (short) (getParameterID() >> 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -184,18 +182,22 @@ class PDOMCPPTemplateNonTypeParameter extends PDOMCPPBinding implements IPDOMMem
|
|||
public IValue getInitialValue() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAuto() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isExtern() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRegister() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isStatic() {
|
||||
return false;
|
||||
|
@ -204,6 +206,7 @@ class PDOMCPPTemplateNonTypeParameter extends PDOMCPPBinding implements IPDOMMem
|
|||
public boolean isExternC() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isMutable() {
|
||||
return false;
|
||||
|
@ -213,6 +216,7 @@ class PDOMCPPTemplateNonTypeParameter extends PDOMCPPBinding implements IPDOMMem
|
|||
public Object clone() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
|
@ -221,5 +225,4 @@ class PDOMCPPTemplateNonTypeParameter extends PDOMCPPBinding implements IPDOMMem
|
|||
public IASTExpression getDefault() {
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@ import org.eclipse.cdt.core.dom.ast.IValue;
|
|||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument;
|
||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateParameterMap;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.ProblemType;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateArgument;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateParameterMap;
|
||||
import org.eclipse.cdt.internal.core.pdom.db.Database;
|
||||
import org.eclipse.cdt.internal.core.pdom.dom.PDOMLinkage;
|
||||
|
@ -42,32 +41,32 @@ public class PDOMCPPTemplateParameterMap {
|
|||
int keyLen= 0;
|
||||
int dataSize= 2;
|
||||
for (Integer key : keys) {
|
||||
int delta= 2+4+NODE_SIZE;
|
||||
int delta= 2 + 4 + NODE_SIZE;
|
||||
ICPPTemplateArgument[] packExpansion= map.getPackExpansion(key);
|
||||
if (packExpansion != null) {
|
||||
delta+= (packExpansion.length-1) * NODE_SIZE;
|
||||
delta += (packExpansion.length - 1) * NODE_SIZE;
|
||||
}
|
||||
if (dataSize+delta > Database.MAX_MALLOC_SIZE)
|
||||
if (dataSize + delta > Database.MAX_MALLOC_SIZE)
|
||||
break;
|
||||
dataSize += delta;
|
||||
keyLen++;
|
||||
}
|
||||
final long block= db.malloc(dataSize);
|
||||
long p= block;
|
||||
db.putShort(p, (short)keyLen); p+=2;
|
||||
db.putShort(p, (short) keyLen); p += 2;
|
||||
for (final Integer paramId : keys) {
|
||||
if (--keyLen < 0)
|
||||
break;
|
||||
db.putInt(p, paramId); p+=4;
|
||||
db.putInt(p, paramId); p += 4;
|
||||
final ICPPTemplateArgument arg = map.getArgument(paramId);
|
||||
if (arg != null) {
|
||||
db.putShort(p, (short) -1); p+=2;
|
||||
storeArgument(db, linkage, p, arg); p+= NODE_SIZE;
|
||||
db.putShort(p, (short) -1); p += 2;
|
||||
storeArgument(db, linkage, p, arg); p += NODE_SIZE;
|
||||
} else {
|
||||
final ICPPTemplateArgument[] args = map.getPackExpansion(paramId);
|
||||
db.putShort(p, (short) args.length); p+=2;
|
||||
db.putShort(p, (short) args.length); p += 2;
|
||||
for (ICPPTemplateArgument a : args) {
|
||||
storeArgument(db, linkage, p, a); p+= NODE_SIZE;
|
||||
storeArgument(db, linkage, p, a); p += NODE_SIZE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -93,16 +92,16 @@ public class PDOMCPPTemplateParameterMap {
|
|||
final Database db= linkage.getDB();
|
||||
|
||||
long p= record;
|
||||
final short len= db.getShort(p); p+= 2;
|
||||
final short len= db.getShort(p); p += 2;
|
||||
|
||||
for (int i=0; i<len; i++) {
|
||||
p+= 4; // parameter id
|
||||
short packSize= db.getShort(p); p+= 2;
|
||||
for (int i= 0; i < len; i++) {
|
||||
p += 4; // parameter id
|
||||
short packSize= db.getShort(p); p += 2;
|
||||
if (packSize == -1)
|
||||
packSize= 1;
|
||||
for (int j = 0; j < packSize; j++) {
|
||||
linkage.storeType(p+TYPE_OFFSET, null);
|
||||
linkage.storeValue(p+VALUE_OFFSET, null);
|
||||
linkage.storeType(p + TYPE_OFFSET, null);
|
||||
linkage.storeValue(p + VALUE_OFFSET, null);
|
||||
p+= NODE_SIZE;
|
||||
}
|
||||
}
|
||||
|
@ -121,18 +120,18 @@ public class PDOMCPPTemplateParameterMap {
|
|||
return CPPTemplateParameterMap.EMPTY;
|
||||
}
|
||||
|
||||
rec+=2;
|
||||
rec += 2;
|
||||
CPPTemplateParameterMap result= new CPPTemplateParameterMap(len);
|
||||
for (int i=0; i<len; i++) {
|
||||
final int parPos= db.getInt(rec); rec+= 4;
|
||||
short packSize= db.getShort(rec); rec+= 2;
|
||||
for (int i= 0; i < len; i++) {
|
||||
final int parPos= db.getInt(rec); rec += 4;
|
||||
short packSize= db.getShort(rec); rec += 2;
|
||||
if (packSize == -1) {
|
||||
ICPPTemplateArgument arg = readArgument(rec, linkage, db); rec+= NODE_SIZE;
|
||||
ICPPTemplateArgument arg = readArgument(rec, linkage, db); rec += NODE_SIZE;
|
||||
result.put(parPos, arg);
|
||||
} else {
|
||||
ICPPTemplateArgument[] packExpansion= new ICPPTemplateArgument[packSize];
|
||||
for (int j = 0; j < packExpansion.length; j++) {
|
||||
packExpansion[j]= readArgument(rec, linkage, db); rec+= NODE_SIZE;
|
||||
packExpansion[j]= readArgument(rec, linkage, db); rec += NODE_SIZE;
|
||||
}
|
||||
result.put(parPos, packExpansion);
|
||||
}
|
||||
|
@ -140,7 +139,6 @@ public class PDOMCPPTemplateParameterMap {
|
|||
return result;
|
||||
}
|
||||
|
||||
|
||||
private static ICPPTemplateArgument readArgument(long rec, final PDOMLinkage linkage, final Database db)
|
||||
throws CoreException {
|
||||
IType type= linkage.loadType(rec + TYPE_OFFSET);
|
||||
|
|
Loading…
Add table
Reference in a new issue